1
This commit is contained in:
parent
2066763c90
commit
e3cf45c336
@ -1,20 +1,17 @@
|
||||
using Kingdee.BOS.Core.DynamicForm.PlugIn;
|
||||
using Kingdee.BOS.BusinessEntity.BusinessFlow;
|
||||
using Kingdee.BOS.Core.DynamicForm.PlugIn;
|
||||
using Kingdee.BOS.Core.DynamicForm.PlugIn.Args;
|
||||
using Kingdee.BOS.Core.List.PlugIn;
|
||||
using Kingdee.BOS.ServiceHelper;
|
||||
using Kingdee.BOS.Util;
|
||||
using Kingdee.K3.SCM.Common.BusinessEntity.Sales;
|
||||
using Newtonsoft.Json;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using Kingdee.BOS.Core.DynamicForm.PlugIn.Args;
|
||||
using Kingdee.BOS.Core.Bill.PlugIn;
|
||||
using Kingdee.BOS.Core.Bill.PlugIn.Args;
|
||||
using static System.Net.WebRequestMethods;
|
||||
using Newtonsoft.Json;
|
||||
using Kingdee.BOS.ServiceHelper;
|
||||
using Kingdee.BOS;
|
||||
|
||||
namespace NoPackageMachine
|
||||
{
|
||||
@ -25,61 +22,56 @@ namespace NoPackageMachine
|
||||
{
|
||||
base.BeforeExecuteOperationTransaction(e);
|
||||
var formId = this.BusinessInfo.GetForm().Id;
|
||||
try
|
||||
// 获取销售订单信息
|
||||
foreach (var rows in e.SelectedRows)
|
||||
{
|
||||
// 获取销售订单信息
|
||||
foreach (var entry in e.DataEntitys)
|
||||
var entry = rows.DataEntity;
|
||||
var s = JsonConvert.SerializeObject(entry);
|
||||
var order = JsonConvert.DeserializeObject<SalOrderModel>(s);
|
||||
foreach (var item in order.SaleOrderEntry)
|
||||
{
|
||||
var s = JsonConvert.SerializeObject(entry);
|
||||
var order = JsonConvert.DeserializeObject<SalOrderModel>(s);
|
||||
foreach (var item in order.SaleOrderEntry)
|
||||
string sql = string.Format("/*dialect*/select m0.FNUMBER PMaterialCode,m.FMATERIALID,m.FNUMBER MaterialCode,t.FSPECIFICATION FModel,sum(isnull(i.FBASEQTY,0)) AS Qty from T_ENG_BOM a left jOIN T_ORG_ORGANIZATIONS O ON O.FORGID = a.FUSEORGID " +
|
||||
"left join T_ENG_BOMCHILD b on a.FID=b.FID " +
|
||||
"left join T_BD_MATERIAL m0 on m0.FMATERIALID=a.FMATERIALID " +
|
||||
"left join T_BD_MATERIAL m on m.FMATERIALID=b.FMATERIALID " +
|
||||
"left join T_BD_MATERIAL_L t on t.FMATERIALID=m.FMATERIALID " +
|
||||
"left join T_BD_MATERIALBASE s on s.FMATERIALID=m.FMATERIALID " +
|
||||
"left join t_BD_MaterialStock ms on ms.fmaterialid=m.fmaterialid " +
|
||||
"left join T_STK_INVENTORY i on i.FMATERIALID=m.FMASTERID and i.fstockorgid=m0.fuseorgid " +
|
||||
"left JOIN T_BD_Stock invSIC ON invSIC.FSTOCKID = i.FSTOCKID " +
|
||||
"left JOIN T_BD_Stock SIC ON SIC.FSTOCKID = ms.FSTOCKID " +
|
||||
"where a.FDOCUMENTSTATUS='C' and a.FFORBIDSTATUS='A' and O.fnumber='PL' and m0.FMATERIALID='{0}' and (m.fnumber like 'N.%' or m.fnumber like 'M.%') group by m0.FNUMBER,m.FNUMBER,t.FSPECIFICATION,m.FMATERIALID", item.MaterialId_Id);
|
||||
var data = DBServiceHelper.ExecuteDynamicObject(this.Context, sql);
|
||||
if (data != null && data.Count > 0)
|
||||
{
|
||||
string sql = string.Format("/*dialect*/select m0.FNUMBER PMaterialCode,m.FMATERIALID,m.FNUMBER MaterialCode,t.FSPECIFICATION FModel,sum(isnull(i.FBASEQTY,0)) AS Qty from T_ENG_BOM a left jOIN T_ORG_ORGANIZATIONS O ON O.FORGID = a.FUSEORGID " +
|
||||
"left join T_ENG_BOMCHILD b on a.FID=b.FID " +
|
||||
"left join T_BD_MATERIAL m0 on m0.FMATERIALID=a.FMATERIALID " +
|
||||
"left join T_BD_MATERIAL m on m.FMATERIALID=b.FMATERIALID " +
|
||||
"left join T_BD_MATERIAL_L t on t.FMATERIALID=m.FMATERIALID " +
|
||||
"left join T_BD_MATERIALBASE s on s.FMATERIALID=m.FMATERIALID " +
|
||||
"left join t_BD_MaterialStock ms on ms.fmaterialid=m.fmaterialid " +
|
||||
"left join T_STK_INVENTORY i on i.FMATERIALID=m.FMASTERID and i.fstockorgid=m0.fuseorgid " +
|
||||
"left JOIN T_BD_Stock invSIC ON invSIC.FSTOCKID = i.FSTOCKID " +
|
||||
"left JOIN T_BD_Stock SIC ON SIC.FSTOCKID = ms.FSTOCKID " +
|
||||
"where a.FDOCUMENTSTATUS='C' and a.FFORBIDSTATUS='A' and O.fnumber='PL' and m0.FMATERIALID='{0}' and (m.fnumber like 'N.%' or m.fnumber like 'M.%') group by m0.FNUMBER,m.FNUMBER,t.FSPECIFICATION,m.FMATERIALID", item.MaterialId_Id);
|
||||
var data = DBServiceHelper.ExecuteDynamicObject(this.Context, sql);
|
||||
if (data != null && data.Count > 0)
|
||||
if (formId == "SAL_SaleOrder")
|
||||
{
|
||||
if (formId == "SAL_SaleOrder")
|
||||
if (data.Count > 1)
|
||||
{
|
||||
if (data.Count > 1)
|
||||
{
|
||||
sql = string.Format("/*dialect*/update t_sal_orderentry set F_ISLUOJI='是' where FENTRYID={0}", item.Id);
|
||||
}
|
||||
else
|
||||
{
|
||||
sql = string.Format("/*dialect*/update t_sal_orderentry set F_ISLUOJI='否',F_LJBM='{0}',F_LUOJIDESC='{1}' where FENTRYID={2}", data[0]["FMATERIALID"].ToString(), data[0]["FModel"].ToString(), item.Id);
|
||||
}
|
||||
sql = string.Format("/*dialect*/update t_sal_orderentry set F_ISLUOJI='是' where FENTRYID={0}", item.Id);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (data.Count > 1)
|
||||
{
|
||||
sql = string.Format("/*dialect*/update t_sal_xorderentry set F_ISLUOJI='是' where FENTRYID={0}", item.Id);
|
||||
}
|
||||
else
|
||||
{
|
||||
sql = string.Format("/*dialect*/update t_sal_xorderentry set F_ISLUOJI='否',F_LJBM='{0}',F_LUOJIDESC='{1}' where FENTRYID={2}", data[0]["FMATERIALID"].ToString(), data[0]["FModel"].ToString(), item.Id);
|
||||
}
|
||||
sql = string.Format("/*dialect*/update t_sal_orderentry set F_ISLUOJI='否',F_LUOJICODE='{0}',F_LUOJIDESC='{1}',F_LJBM='{2}' where FENTRYID={3}", data[0]["MaterialCode"].ToString(), data[0]["FModel"].ToString(), data[0]["FMATERIALID"].ToString(), item.Id);
|
||||
}
|
||||
DBServiceHelper.Execute(this.Context, sql);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (data.Count > 1)
|
||||
{
|
||||
sql = string.Format("/*dialect*/update t_sal_xorderentry set F_ISLUOJI='是' where FENTRYID={0}", item.Id);
|
||||
}
|
||||
else
|
||||
{
|
||||
sql = string.Format("/*dialect*/update t_sal_xorderentry set F_ISLUOJI='否',F_LUOJICODE='{0}',F_LUOJIDESC='{1}',F_LJBM='{2}' where FENTRYID={3}", data[0]["MaterialCode"].ToString(), data[0]["FModel"].ToString(), data[0]["FMATERIALID"].ToString(), item.Id);
|
||||
}
|
||||
}
|
||||
DBServiceHelper.Execute(this.Context, sql);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
catch(Exception ex)
|
||||
{
|
||||
throw new KDBusinessException("",ex.Message);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -113,16 +113,15 @@ namespace Pilot_KD_Parino.Sal_Order
|
||||
IOperationResult result = new OperationResult();
|
||||
//获取单据转换规则
|
||||
ConvertRuleElement ruleElement;
|
||||
|
||||
|
||||
var ruleElementList = ServiceHelper.GetService<IConvertService>().GetConvertRules(this.Context, source, target).ToList();
|
||||
if (target == "PUR_PurchaseOrder")
|
||||
{
|
||||
var ruleMetaData = ConvertServiceHelper.GetConvertRule(this.Context, "d124a6be-5f97-4d1f-b5fd-e20e53e0ed2a");
|
||||
ruleElement = ruleMetaData.Rule;
|
||||
ruleElement = ruleElementList.Where(t => t.OriginKey == "d124a6be-5f97-4d1f-b5fd-e20e53e0ed2a").FirstOrDefault();
|
||||
}
|
||||
else if (target == "SAL_SaleOrder")
|
||||
{
|
||||
var ruleMetaData = ConvertServiceHelper.GetConvertRule(this.Context, "8ee74811-5784-40a8-80c4-a94cd43eed70");
|
||||
ruleElement = ruleMetaData.Rule;
|
||||
ruleElement = ruleElementList.Where(t => t.OriginKey == "8ee74811-5784-40a8-80c4-a94cd43eed70").FirstOrDefault();
|
||||
}
|
||||
else
|
||||
ruleElement = ServiceHelper.GetService<IConvertService>().GetConvertRules(this.Context, source, target).FirstOrDefault();
|
||||
|
||||
@ -582,8 +582,30 @@ namespace Pilot_KD_Parino.Sal_Order
|
||||
{
|
||||
IOperationResult result = new OperationResult();
|
||||
//获取单据转换规则
|
||||
ConvertRuleElement ruleElement = ServiceHelper.GetService<IConvertService>().GetConvertRules(this.Context, source, target).FirstOrDefault();
|
||||
|
||||
ConvertRuleElement ruleElement;
|
||||
var ruleElementList = ServiceHelper.GetService<IConvertService>().GetConvertRules(this.Context, source, target).ToList();
|
||||
if (source == "PUR_PurchaseOrder" && target== "PUR_ReceiveBill")
|
||||
{
|
||||
ruleElement = ruleElementList.Where(t => t.OriginKey == "cc8862d6-9368-4f7d-bc83-38ce217b6ba1").FirstOrDefault();
|
||||
|
||||
}
|
||||
else if (source == "PUR_ReceiveBill" && target == "STK_InStock")
|
||||
{
|
||||
ruleElement = ruleElementList.Where(t => t.OriginKey == "e51ffa3e-3a6f-4084-8868-9370f5977bcc").FirstOrDefault();
|
||||
|
||||
}
|
||||
else if (source == "SAL_SaleOrder" && target == "SAL_DELIVERYNOTICE")
|
||||
{
|
||||
ruleElement = ruleElementList.Where(t => t.OriginKey == "9090ab67-7255-4a33-a457-a70fa2d90536").FirstOrDefault();
|
||||
|
||||
}
|
||||
else if (source == "SAL_DELIVERYNOTICE" && target == "SAL_OUTSTOCK")
|
||||
{
|
||||
ruleElement = ruleElementList.Where(t => t.OriginKey == "59bef03a-5c03-426b-8cc3-7631d11a951b").FirstOrDefault();
|
||||
|
||||
}
|
||||
else
|
||||
ruleElement = ServiceHelper.GetService<IConvertService>().GetConvertRules(this.Context, source, target).FirstOrDefault();
|
||||
//如下代码 直接通过查询数据库获取单据转换源单数据
|
||||
ListSelectedRowCollection rows = new ListSelectedRowCollection();
|
||||
int i = 0;
|
||||
|
||||
@ -153,10 +153,16 @@ namespace Pilot_KD_Parino.Sal_Order
|
||||
try
|
||||
{
|
||||
IOperationResult result = new OperationResult();
|
||||
//获取单据转换规则
|
||||
ConvertRuleElement ruleElement = ServiceHelper.GetService<IConvertService>().GetConvertRules(this.Context, source, target).FirstOrDefault();
|
||||
//获取单据转换规则
|
||||
ConvertRuleElement ruleElement;
|
||||
var ruleElementList = ServiceHelper.GetService<IConvertService>().GetConvertRules(this.Context, source, target).ToList();
|
||||
var akdos = JsonHelper.ToJson(ruleElementList);
|
||||
Logger.Error("获取单据转换规则", akdos, new Exception());
|
||||
|
||||
//如下代码 直接通过查询数据库获取单据转换源单数据
|
||||
ruleElement = ruleElementList.Where(t => t.OriginKey == "9090ab67-7255-4a33-a457-a70fa2d90536").FirstOrDefault();
|
||||
//var ruleMetaData = ConvertServiceHelper.GetConvertRule(this.Context, "9090ab67-7255-4a33-a457-a70fa2d90536");
|
||||
//ruleElement = ruleMetaData.Rule;
|
||||
//如下代码 直接通过查询数据库获取单据转换源单数据 9090ab67-7255-4a33-a457-a70fa2d90536
|
||||
ListSelectedRowCollection rows = new ListSelectedRowCollection();
|
||||
int i = 0;
|
||||
ListSelectedRow row = new ListSelectedRow(tempFid, string.Empty, i++, source);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user