Browse Source

需求单No.136603

master
xueyingcheng 8 years ago
parent
commit
0e1bd3c0ba
2 changed files with 44 additions and 17 deletions
  1. +31
    -8
      BWP.B3_YunKen/TypeIoc/SaleForecastBeforeSaveTypeIoc.cs
  2. +13
    -9
      BWP.B3_YunKen/TypeIoc/SaleOutStoreBeforeSaveTypeIoc.cs

+ 31
- 8
BWP.B3_YunKen/TypeIoc/SaleForecastBeforeSaveTypeIoc.cs View File

@ -12,6 +12,7 @@ using Forks.EnterpriseServices.DomainObjects2;
using Forks.EnterpriseServices.DomainObjects2.DQuery;
using Forks.Utils;
using TSingSoft.WebPluginFramework;
using Forks.EnterpriseServices.SqlDoms;
namespace BWP.B3_YunKen.TypeIoc
{
@ -24,7 +25,7 @@ namespace BWP.B3_YunKen.TypeIoc
foreach (var detail in dmo.Details)
{
var list = GetGoods_PackageCount(detail.SaleGoods_ID);
var list = GetGoods_PackageCount(detail.SaleGoods_ID,dmo.AccountingUnit_ID);
if (list.Count <= 0)
{
string msg = "存货【" + detail.Goods_Name + "】没有在【产品包装物设置】界面设置包装物";
@ -35,19 +36,41 @@ namespace BWP.B3_YunKen.TypeIoc
////根据存货查找【包装物设置】中对应的存货设置
//private List<Tuple<long?, int?>> GetGoods_PackageCount(long? goodID)
//{
// var main = new JoinAlias(typeof(Goods_Package));
// var query = new DQueryDom(main);
// query.Columns.Add(DQSelectColumn.Field("Package_ID", main));
// query.Columns.Add(DQSelectColumn.Create(DQExpression.Count(), "Count"));
// query.GroupBy.Expressions.Add(DQExpression.Field(main, "Package_ID"));
// query.Where.Conditions.Add(DQCondition.EQ(main, "Goods_ID", goodID));
// //query.Where.Conditions.Add(DQCondition.EQ(main, "Stopped", 0));
// return query.EExecuteList<long?, int?>();
//}
//根据存货查找【包装物设置】中对应的存货设置
private List<Tuple<long?, int?>> GetGoods_PackageCount(long? goodID)
private List<Tuple<long?, int?>> GetGoods_PackageCount(long? goodID, long? accID)
{
var main = new JoinAlias(typeof(Goods_Package));
var gpackage = new JoinAlias(typeof(Goods_Package));
var package = new JoinAlias(typeof(Wrappage));
var query = new DQueryDom(gpackage);
var query = new DQueryDom(main);
query.From.AddJoin(JoinType.Left, new DQDmoSource(package), DQCondition.EQ(package, "ID", gpackage, "Package_ID"));
query.Columns.Add(DQSelectColumn.Field("Package_ID", main));
query.Columns.Add(DQSelectColumn.Field("Package_ID", gpackage));
query.Columns.Add(DQSelectColumn.Create(DQExpression.Count(), "Count"));
query.GroupBy.Expressions.Add(DQExpression.Field(main, "Package_ID"));
query.GroupBy.Expressions.Add(DQExpression.Field(gpackage, "Package_ID"));
query.Where.Conditions.Add(DQCondition.EQ(main, "Goods_ID", goodID));
//query.Where.Conditions.Add(DQCondition.EQ(main, "Stopped", 0));
query.Where.Conditions.Add(DQCondition.EQ(gpackage, "Goods_ID", goodID));
query.Where.Conditions.Add(DQCondition.EQ(package, "AccountingUnit_ID", accID));
return query.EExecuteList<long?, int?>();


+ 13
- 9
BWP.B3_YunKen/TypeIoc/SaleOutStoreBeforeSaveTypeIoc.cs View File

@ -6,6 +6,7 @@ using BWP.B3Sale.BO;
using Forks.EnterpriseServices.BusinessInterfaces;
using Forks.EnterpriseServices.DomainObjects2;
using Forks.EnterpriseServices.DomainObjects2.DQuery;
using Forks.EnterpriseServices.SqlDoms;
using Forks.Utils;
using System;
using System.Collections.Generic;
@ -20,10 +21,10 @@ namespace BWP.B3_YunKen.TypeIoc
{
public void Invoke(IDmoContext context, SaleOutStore dmo)
{
foreach (var detail in dmo.Details)
{
var list=GetGoods_PackageCount(detail.SaleGoods_ID);
var list = GetGoods_PackageCount(detail.SaleGoods_ID, dmo.AccountingUnit_ID);
if (list.Count <= 0)
{
string msg = "存货【" + detail.Goods_Name + "】没有在【产品包装物设置】界面设置包装物";
@ -35,18 +36,21 @@ namespace BWP.B3_YunKen.TypeIoc
//根据存货查找【包装物设置】中对应的存货设置
private List<Tuple<long?, int?>> GetGoods_PackageCount(long? goodID)
private List<Tuple<long?, int?>> GetGoods_PackageCount(long? goodID, long? accID)
{
var main = new JoinAlias(typeof(Goods_Package));
var gpackage = new JoinAlias(typeof(Goods_Package));
var package = new JoinAlias(typeof(Wrappage));
var query = new DQueryDom(gpackage);
var query = new DQueryDom(main);
query.From.AddJoin(JoinType.Left, new DQDmoSource(package), DQCondition.EQ(package, "ID", gpackage, "Package_ID"));
query.Columns.Add(DQSelectColumn.Field("Package_ID", main));
query.Columns.Add(DQSelectColumn.Field("Package_ID", gpackage));
query.Columns.Add(DQSelectColumn.Create(DQExpression.Count(), "Count"));
query.GroupBy.Expressions.Add(DQExpression.Field(main, "Package_ID"));
query.GroupBy.Expressions.Add(DQExpression.Field(gpackage, "Package_ID"));
query.Where.Conditions.Add(DQCondition.EQ(main, "Goods_ID", goodID));
//query.Where.Conditions.Add(DQCondition.EQ(main, "Stopped", 0));
query.Where.Conditions.Add(DQCondition.EQ(gpackage, "Goods_ID", goodID));
query.Where.Conditions.Add(DQCondition.EQ(package, "AccountingUnit_ID", accID));
return query.EExecuteList<long?,int?>();


Loading…
Cancel
Save