Browse Source

需求单No.138142

master
wugang 8 years ago
parent
commit
899659c0ba
7 changed files with 110 additions and 51 deletions
  1. +3
    -1
      BWP.B3_YunKen.Web/BWP.B3_YunKen.Web.csproj
  2. +8
    -3
      BWP.B3_YunKen.Web/Pages/B3YunKen/B3YunKenSaleOutStoreToCustomerAccept.cs
  3. +9
    -0
      BWP.B3_YunKen.Web/Pages/B3YunKen/ProductTask_/SaleOrderToProductNoticePage.cs
  4. +61
    -0
      BWP.B3_YunKen/BLActions/CusAcceptUpdateAcceptInfoBLAction.cs
  5. +0
    -46
      BWP.B3_YunKen/BLActions/CustomerWithDealerBLAction.cs
  6. +2
    -1
      BWP.B3_YunKen/BWP.B3_YunKen.csproj
  7. +27
    -0
      BWP.B3_YunKen/TypeIoc/CheckDealerInfoTypeIOC.cs

+ 3
- 1
BWP.B3_YunKen.Web/BWP.B3_YunKen.Web.csproj View File

@ -121,7 +121,9 @@
<Compile Include="Pages\B3YunKen\Overlays\SaleOutStoreEdit_Ext.cs">
<SubType>ASPXCodeBehind</SubType>
</Compile>
<Compile Include="Pages\B3YunKen\Overlays\SelectProductNoticeDialog_Ext.cs" />
<Compile Include="Pages\B3YunKen\Overlays\SelectProductNoticeDialog_Ext.cs">
<SubType>ASPXCodeBehind</SubType>
</Compile>
<Compile Include="Pages\B3YunKen\ProductTask_\SaleOrderToProductNoticePage.cs">
<SubType>ASPXCodeBehind</SubType>
</Compile>


+ 8
- 3
BWP.B3_YunKen.Web/Pages/B3YunKen/B3YunKenSaleOutStoreToCustomerAccept.cs View File

@ -212,10 +212,13 @@ namespace BWP.Web.Pages.B3YunKen {
var deliverAddressInput = hPanel2.Add(new DFTextBox() { Width=300});
hPanel2.Add(buildButton);
buildButton.Click += delegate {
var ids = _grid.GetSelectedItems().Select(row => (long)row["ID"]);
if (!ids.Any())
var items = _grid.GetSelectedItems().Select(row => new Tuple<long,bool>((long)row["ID"],(bool)row["IsSplitCreatedCustomerAccept"]));
if (!items.Any())
throw new ApplicationException("请选择单据!");
BIFactory.Create<ISaleOutStoreBL>().CreateCustomerAccept(ids, dateInput.Value, loadTimeInput.Value, orderTimeInput.Value, deliverAddressInput.Text);
var resultList = items.Where(x => x.Item2);
if (resultList.Count() > 0)
throw new ApplicationException("出库单No."+string.Join("、",resultList.Select(x=>x.Item1))+"已经拆分过,不得勾选");
BIFactory.Create<ISaleOutStoreBL>().CreateCustomerAccept(items.Select(x=>x.Item1), dateInput.Value, loadTimeInput.Value, orderTimeInput.Value, deliverAddressInput.Text);
AspUtil.Alert(this, BIFactory.GetLastMessage());
_grid.DataBind();
};
@ -240,6 +243,7 @@ namespace BWP.Web.Pages.B3YunKen {
_grid.Columns.EAdd(new DFBrowseGridColumn("已验收数量")).SumMode = SumMode.Sum;
_grid.Columns.EAdd(new DFBrowseGridColumn("Remark"));
_grid.ValueColumns.Add("ID");
_grid.ValueColumns.Add("IsSplitCreatedCustomerAccept");
_grid.SingleSelection += GridSingleSelection;
}
@ -327,6 +331,7 @@ namespace BWP.Web.Pages.B3YunKen {
query.Columns.Add(DQSelectColumn.Field("CustomerAcceptID"));
}
query.Columns.Add(DQSelectColumn.Field("ID",bill));
query.Columns.Add(DQSelectColumn.Field("IsSplitCreatedCustomerAccept", bill));
query.Where.Conditions.Add(DQCondition.EQ("BillState", .));
query.Where.Conditions.Add(DQCondition.EQ("Domain_ID", DomainContext.Current.ID));
return query;


+ 9
- 0
BWP.B3_YunKen.Web/Pages/B3YunKen/ProductTask_/SaleOrderToProductNoticePage.cs View File

@ -120,6 +120,14 @@ namespace BWP.Web.Pages.B3YunKen.ProductTask_
var remark = (string)row["Remark"];
var brandItem = Convert.ToInt64(row["BrandItem_ID"]);
var unitNum = (Money<decimal>?)row["本次生产数量"];
if(unitNum!=null){
var num = (Money<decimal>?)row["Number"];
if (unitNum > num) {
var id = (long)row["ID"];
var goodsName = (string)row["Goods_Name"];
throw new ApplicationException("销售订单NO."+id+"的["+goodsName+"]生产数量不能大于订单数量’");
}
}
var secondNumber = (Money<decimal>?)row["本次生产辅数量"];
var dmoid = (long?)row["DmoID"];
var dmotypeid = (short?)row["DmoTypeID"];
@ -254,6 +262,7 @@ namespace BWP.Web.Pages.B3YunKen.ProductTask_
grid.ValueColumns.Add("BrandItem_ID");
grid.ValueColumns.Add("DmoID");
grid.ValueColumns.Add("DmoTypeID");
grid.ValueColumns.Add("ID");
}
public void CreateQueryPanel(TitlePanel panel)


+ 61
- 0
BWP.B3_YunKen/BLActions/CusAcceptUpdateAcceptInfoBLAction.cs View File

@ -0,0 +1,61 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using BWP.B3Sale.BL;
using BWP.B3Sale.BO;
using Forks.EnterpriseServices.BusinessInterfaces;
using Forks.EnterpriseServices.DomainObjects2;
using Forks.EnterpriseServices.DomainObjects2.DQuery;
using Forks.EnterpriseServices.SqlDoms;
using TSingSoft.WebPluginFramework.BIPlugins.BLEvents;
namespace BWP.B3_YunKen.BLActions
{
public class CusAcceptUpdateAcceptInfoBLAction : IBLMethodAction
{
public string Description
{
get { return "【客户验收单】删除或者作废时更新验收数量"; }
}
public void Execute(Forks.EnterpriseServices.BusinessInterfaces.IDmoContext context, object dmo, object parameter)
{
var customer = dmo as CustomerAccept;
if (customer == null)
return;
var details = customer.Details.Where(x => x.BillType == DmoTypeIDAttribute.GetID(typeof(SaleOutStore)) && x.SourceBillDetailID != null && x.BillID != null);
var dom = new DmoQuery(typeof(SaleOutStore_DetailToCustomerAcceptNumber));
dom.Where.Conditions.Add(DQCondition.InList(DQExpression.Field("SaleOutStore_Detail_ID"), details.Select(x=> DQExpression.Value(x.SourceBillDetailID)).ToArray()));
var acceptNumberList = context.Session.ExecuteList(dom).Cast<SaleOutStore_DetailToCustomerAcceptNumber>();
foreach (var detail in details) {
var accDetail = acceptNumberList.FirstOrDefault(x => x.SaleOutStore_Detail_ID == detail.SourceBillDetailID.Value);
bool isNew = false;
if (accDetail == null) {
accDetail = new SaleOutStore_DetailToCustomerAcceptNumber();
accDetail.SaleOutStore_Detail_ID = detail.SourceBillDetailID.Value;
accDetail.SaleOutStore_ID = detail.BillID.Value;
isNew = true;
}
accDetail.AlreadyAcceptNumber = (accDetail.AlreadyAcceptNumber ?? 0) - (detail.AcceptNum ?? 0);
accDetail.AlreadyAcceptUnitNum = (accDetail.AlreadyAcceptUnitNum ?? 0) - (detail.AcceptNum ?? 0);
accDetail.AlreadyAcceptSecondNumber = (accDetail.AlreadyAcceptSecondNumber ?? 0) - (detail.AcceptSecondNumber ?? 0);
if (isNew)
context.Session.Insert(accDetail);
else {
context.Session.Update(accDetail);
}
}
}
public IList<string> Features
{
get { return new List<string>(); }
}
public string Name
{
get { return "B3_YunKen.【客户验收单】删除或者作废时更新验收数量"; }
}
}
}

+ 0
- 46
BWP.B3_YunKen/BLActions/CustomerWithDealerBLAction.cs View File

@ -1,46 +0,0 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using BWP.B3Frameworks.Utils;
using BWP.B3Sale.BL;
using BWP.B3Sale.BO;
using Forks.EnterpriseServices.BusinessInterfaces;
using Forks.EnterpriseServices.DomainObjects2;
using Forks.EnterpriseServices.DomainObjects2.DQuery;
using TSingSoft.WebPluginFramework.BIPlugins.BLEvents;
namespace BWP.B3_YunKen.BLActions
{
public class CustomerWithDealerBLAction : IBLMethodAction
{
public string Description
{
get { return @"1、【客户档案】保存增加业务逻辑:若该客户同时为经销商档案,则{是否经销商}选择为否,不能保存,提示:该客户是经销商客户是否经销商不能选择为否(客户名称查询【经销商】档案基本属性的‘经销商’)
2**"; }
}
public void Execute(Forks.EnterpriseServices.BusinessInterfaces.IDmoContext context, object dmo, object parameter)
{
var customer = dmo as Customer;
if (customer != null) {
var id = InnerBLUtil.GetDmoProperty<Dealer, long?>(context.Session, "ID", new Tuple<string, object>("Customer_ID", customer.ID));
if (id != null && !customer.IsDealers)
throw new ApplicationException("该客户是经销商客户是否经销商不能选择为否(客户名称查询【经销商】档案基本属性的‘经销商’)");
var dealerID = InnerBLUtil.GetDmoProperty<Dealer_Detail, long?>(context.Session, "Dealer_ID", new Tuple<string, object>("Customer_ID", customer.ID));
if (dealerID != null && customer.IsDealers)
throw new ApplicationException("该客户属于【经销商】档案No." + dealerID + ",请先维护经销商档案");
}
}
public IList<string> Features
{
get { return new List<string>(); }
}
public string Name
{
get { return "B3_YunKen.【客户】档案与【经销商】档案逻辑控制"; }
}
}
}

+ 2
- 1
BWP.B3_YunKen/BWP.B3_YunKen.csproj View File

@ -63,8 +63,8 @@
</ItemGroup>
<ItemGroup>
<Compile Include="B3YunKenOnlineConfiguration.cs" />
<Compile Include="BLActions\CusAcceptUpdateAcceptInfoBLAction.cs" />
<Compile Include="BLActions\CustomerCreditPolicyBLAction.cs" />
<Compile Include="BLActions\CustomerWithDealerBLAction.cs" />
<Compile Include="BLActions\OrderBLIsSetWrappageActions.cs" />
<Compile Include="BLActions\SaleForecastBLIsSetWrappageActions.cs" />
<Compile Include="BLActions\SaleOutStoreBLIsSetWrappageActions.c.cs" />
@ -75,6 +75,7 @@
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="Rpcs\DriverRpc.cs" />
<Compile Include="TimerTask\NullifyCustomerTask.cs" />
<Compile Include="TypeIoc\CheckDealerInfoTypeIOC.cs" />
<Compile Include="TypeIoc\DriverBeforeSaveTypeIoc.cs" />
<Compile Include="TypeIoc\SaleOrderCustomerPhoneTypeIoc.cs" />
<Compile Include="TypeIoc\SaleOutStoreFreightBearTypeIoc.cs" />


+ 27
- 0
BWP.B3_YunKen/TypeIoc/CheckDealerInfoTypeIOC.cs View File

@ -0,0 +1,27 @@
using BWP.B3Sale.BL;
using System;
using BWP.B3Sale.BO;
using Forks.EnterpriseServices.BusinessInterfaces;
using BWP.B3Frameworks;
using Forks.EnterpriseServices.DomainObjects2.DQuery;
using Forks.EnterpriseServices.DomainObjects2;
using BWP.B3Frameworks.Utils;
namespace BWP.B3_YunKen.TypeIocs
{
[TypeIOC(typeof(CustomerBL), typeof(CustomerBL.ICheckDealerInfo))]
public class CheckDealerInfoTypeIOC : CustomerBL.ICheckDealerInfo
{
public void Invoke(Customer customer,IDmoSession session)
{
if (customer != null) {
var id = InnerBLUtil.GetDmoProperty<Dealer, long?>(session, "ID", new Tuple<string, object>("Customer_ID", customer.ID));
if (id != null && !customer.IsDealers)
throw new ApplicationException("该客户是经销商客户是否经销商不能选择为否(客户名称查询【经销商】档案基本属性的‘经销商’)");
var dealerID = InnerBLUtil.GetDmoProperty<Dealer_Detail, long?>(session, "Dealer_ID", new Tuple<string, object>("Customer_ID", customer.ID));
if (dealerID != null && customer.IsDealers)
throw new ApplicationException("该客户属于【经销商】档案No." + dealerID + ",请先维护经销商档案");
}
}
}
}

Loading…
Cancel
Save