diff --git a/SAL_OUTSTOCK/AuditSal_Order.cs b/SAL_OUTSTOCK/AuditSal_Order.cs new file mode 100644 index 0000000..6d70940 --- /dev/null +++ b/SAL_OUTSTOCK/AuditSal_Order.cs @@ -0,0 +1,36 @@ +using Kingdee.BOS.Core.DynamicForm.PlugIn; +using Kingdee.BOS.Core.DynamicForm.PlugIn.Args; +using Kingdee.BOS.Util; +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace GZ_LTHPilot_ORDER.SAL_OUTSTOCK +{ + [Description("审核服务插件:销售出库单审核和反审核反写销售订单明细新旧系统未出库数量#字段"), HotUpdate] + public class AuditSal_Order : AbstractOperationServicePlugIn + { + public override void AfterExecuteOperationTransaction(AfterExecuteOperationTransaction e) + { + base.AfterExecuteOperationTransaction(e); + foreach (var Row in e.SelectedRows) + { + //获取单据信息 + var Billobj = Row.DataEntity; + //根据销售出库单的FID,查询销售订单的FID和FentryId + var Sal_OrderS = SqlManage.SqlManage.GetSal_ORderFEntryIdAndFid(this.Context, Convert.ToString(Billobj["ID"])); + if (Sal_OrderS.Count != 0) { + //根据销售订单的FID和FENTRYID,计算新旧系统未出库数量=云星空剩余未出数量-K3已发货数量# + foreach (var Sal_Order in Sal_OrderS) + { + SqlManage.SqlManage.UpdateSal_OrderF_notoutQty(this.Context, Convert.ToString(Sal_Order["FID"]), + Convert.ToString(Sal_Order["FENTRYID"])); + } + } + } + } + } +} diff --git a/SAL_RETURNSTOCK/AuditSal_Order.cs b/SAL_RETURNSTOCK/AuditSal_Order.cs new file mode 100644 index 0000000..0e231ac --- /dev/null +++ b/SAL_RETURNSTOCK/AuditSal_Order.cs @@ -0,0 +1,38 @@ +using Kingdee.BOS.Core.DynamicForm.PlugIn; +using Kingdee.BOS.Core.DynamicForm.PlugIn.Args; +using Kingdee.BOS.Util; +using Kingdee.K3.Core; +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace GZ_LTHPilot_ORDER.SAL_RETURNSTOCK +{ + [Description("审核服务插件:销售退货单审核和反审核反写销售订单明细新旧系统未出库数量#字段"), HotUpdate] + public class AuditSal_Order : AbstractOperationServicePlugIn + { + public override void AfterExecuteOperationTransaction(AfterExecuteOperationTransaction e) + { + base.AfterExecuteOperationTransaction(e); + foreach (var Row in e.SelectedRows) + { + //获取单据信息 + var Billobj = Row.DataEntity; + //根据销售退货单的FID,查询销售订单的FID和FentryId + var Sal_Orders = SqlManage.SqlManage.GETRETURNSTOCKSal_ORDERFidAndFentryid(this.Context, + Convert.ToString(Billobj["ID"])); + if (Sal_Orders.Count != 0) + { + foreach (var Sal_Order in Sal_Orders) + { + SqlManage.SqlManage.UpdateSal_OrderF_notoutQty(this.Context, Convert.ToString(Sal_Order["FID"]), + Convert.ToString(Sal_Order["FENTRYID"])); + } + } + } + } + } +} diff --git a/SQL/SqlManage.cs b/SQL/SqlManage.cs index 6eae04f..6bd0c15 100644 --- a/SQL/SqlManage.cs +++ b/SQL/SqlManage.cs @@ -253,5 +253,33 @@ namespace GZ_LTHPilot_ORDER.SqlManage //执行SQL return DBServiceHelper.ExecuteDynamicObject(ctx, sql.ToString(), null, null, CommandType.Text, null) as DynamicObjectCollection; } + + //根据销售出库单的FID,获取销售订单的FID和FENTRYID + public static DynamicObjectCollection GetSal_ORderFEntryIdAndFid(Context ctx,string FID) + { + string sql = string.Format(@"/*dialect*/ + EXEC GETSAL_ORDERFidAndFENTRYID_GZTH '{0}' + ",FID); + //执行SQL + return DBServiceHelper.ExecuteDynamicObject(ctx, sql.ToString(), null, null, CommandType.Text, null) as DynamicObjectCollection; + } + + //根据销售出库单的FID,反写销售订单新旧系统未出库数量 + public static void UpdateSal_OrderF_notoutQty(Context ctx,string FID,string FENTRYID) + { + string sql = string.Format(@"/*dialect*/ + EXEC UpdateSAL_ORDERF_notoutQty '{0}','{1}' + ", FID,FENTRYID); + DBServiceHelper.ExecuteDynamicObject(ctx, sql.ToString(), null, null, CommandType.Text, null); + } + + //根据销售退货单的FID,反写销售订单新旧系统未出库数量 + public static DynamicObjectCollection GETRETURNSTOCKSal_ORDERFidAndFentryid(Context ctx,string FID) + { + string sql = string.Format(@"/*dialect* + EXEC GETRETURNSTOCKSal_ORDERFidAndFentryid_GZTH '{0}' + /",FID); + return DBServiceHelper.ExecuteDynamicObject(ctx, sql.ToString(), null, null, CommandType.Text, null) as DynamicObjectCollection; + } } }