public override void EndOperationTransaction(Kingdee.BOS.Core.DynamicForm.PlugIn.Args.EndOperationTransactionArgs e) { base.EndOperationTransaction(e); if (e.DataEntitys == null || e.DataEntitys.Count() <= 0) { return; } List <long> lstFids = new List <long>(); foreach (DynamicObject data in e.DataEntitys) { lstFids.Add(Convert.ToInt64(data["ID"])); } if (lstFids.Count() <= 0) { return; } SqlParam param = new SqlParam("@FID", KDDbType.udt_inttable, lstFids.ToArray()); //更新销售结余后台表 DynamicObjectCollection dycInsertForecastBack = UpdateForecastBack(param); //插入销售结余日志表 DynamicObjectCollection dycInsertForecastLog = UpdateForecastLog(param); //调用插入方法 JNCommonServices.UpdateForecastBackAndLog(this.Context, dycInsertForecastBack, dycInsertForecastLog); }
public override void EndOperationTransaction(Kingdee.BOS.Core.DynamicForm.PlugIn.Args.EndOperationTransactionArgs e) { base.EndOperationTransaction(e); if (e.DataEntitys == null || e.DataEntitys.Count() <= 0) { return; } List <long> lstFids = new List <long>(); foreach (DynamicObject data in e.DataEntitys) { lstFids.Add(Convert.ToInt64(data["ID"])); DynamicObjectCollection dycEntitys = data["SaleOrderEntry"] as DynamicObjectCollection; foreach (var dycEntity in dycEntitys) { string sql = string.Empty; // 更新销售结余后台表 12月20日赵成杰 string entityid = Convert.ToString(dycEntity["ID"]); sql = string.Format(@"Update JN_T_SAL_ForecastBack as t0 set (FQTY)=(select a.FQTY-c.FBASEUNITQTY from JN_T_SAL_ForecastBack a inner join T_SAL_ORDER b on a.FSALEORGID=b.FSALEORGID and a.FSALERID=b.FSALERID and a.FSaleDeptId=b.FSALEDEPTID inner join T_SAL_ORDERENTRY c on b.FID=c.FID and a.FMATERIALID=c.FMATERIALID and c.FEntryID={0} and a.FAUXPROPID=c.FAUXPROPID and c.FBaseUnitID=a.FUnitID inner join t_BD_Stock d on c.FSTOCKID_MX=d.FStockId where a.FID=t0.FID and d.FMasterId in (100313,100328) ) ", entityid); DBUtils.Execute(this.Context, sql); } } if (lstFids.Count() <= 0) { return; } SqlParam param = new SqlParam("@FID", KDDbType.udt_inttable, lstFids.ToArray()); //查找需要更新的销售预测结余后台表 存在出现同一张单出现表体出现相同物料时导致重复创建结余后台表,停用 // DynamicObjectCollection dycSelectForecastBack = JNCommonServices.SelectForecastBack(this.Context, param, "A"); //更新销售结余后台表 存在出现同一张单出现表体出现相同物料时导致重复创建结余后台表,停用 //DynamicObjectCollection dycInsertForecastBack = UpdateForecastBack(dycSelectForecastBack, param); DynamicObjectCollection dycInsertForecastBack = null; //插入销售结余日志表 DynamicObjectCollection dycInsertForecastLog = UpdateForecastLog(param); //调用插入方法 JNCommonServices.UpdateForecastBackAndLog(this.Context, dycInsertForecastBack, dycInsertForecastLog); }
public override void EndOperationTransaction(Kingdee.BOS.Core.DynamicForm.PlugIn.Args.EndOperationTransactionArgs e) { base.EndOperationTransaction(e); if (e.DataEntitys == null || e.DataEntitys.Count() <= 0) { return; } List <long> lstFids = new List <long>(); foreach (DynamicObject data in e.DataEntitys) { lstFids.Add(Convert.ToInt64(data["ID"])); DynamicObjectCollection dycEntitys = data["FEntity"] as DynamicObjectCollection; foreach (var dycEntity in dycEntitys) { // 更新销售结余后台表 12月20日赵成杰 string entityid = Convert.ToString(dycEntity["ID"]); string sql = string.Format(@"Update JN_T_SAL_ForecastBack as t0 set (FQTY)=(select case when b.FDirection='A' then a.FQTY-c.FJNBaseUnitQty else a.FQTY+c.FJNBaseUnitQty end from JN_T_SAL_ForecastBack a inner join JN_T_SAL_ForecastChange b on a.FSALEORGID=b.FJNSALEORGID and a.FSALERID=b.FJNSALERID and a.FSaleDeptId=b.FJNSaleDeptId inner join JN_T_SAL_ForecastChangeEntry c on b.FID=c.FID and a.FMATERIALID=c.FJNMATERIALID and c.FEntryID={0} and a.FAUXPROPID=c.FJNAUXPROP and a.FUnitID=c.FJNBASEUNITID where a.FID=t0.FID )", entityid); DBUtils.Execute(this.Context, sql); } } if (lstFids.Count() <= 0) { return; } SqlParam param = new SqlParam("@FID", KDDbType.udt_inttable, lstFids.ToArray()); //更新销售结余后台表 DynamicObjectCollection dycInsertForecastBack = null; //DynamicObjectCollection dycInsertForecastBack = UpdateForecastBack(param); //插入销售结余日志表 DynamicObjectCollection dycInsertForecastLog = UpdateForecastLog(param); //调用插入方法 JNCommonServices.UpdateForecastBackAndLog(this.Context, dycInsertForecastBack, dycInsertForecastLog); }
public override void EndOperationTransaction(Kingdee.BOS.Core.DynamicForm.PlugIn.Args.EndOperationTransactionArgs e) { base.EndOperationTransaction(e); if (e.DataEntitys == null || e.DataEntitys.Count() <= 0) { return; } List <long> lstFids = new List <long>(); foreach (DynamicObject data in e.DataEntitys) { lstFids.Add(Convert.ToInt64(data["ID"])); DynamicObjectCollection ForecastEntitys = data["SAL_ForecastEntity"] as DynamicObjectCollection; foreach (var ForecastEntity in ForecastEntitys) { string entityid = Convert.ToString(ForecastEntity["ID"]); string sql = string.Format(@"Update JN_T_SAL_ForecastBack as t0 set (FQTY)=(select a.FQTY-c.FBaseUnitQty from JN_T_SAL_ForecastBack a inner join JN_T_SAL_Forecast b on a.FSALEORGID=b.FJNSALEORGID and a.FSALERID=b.FJNSALERID and a.FSaleDeptId=b.FJNSaleDeptId inner join JN_T_SAL_ForecastEntity c on b.FID=c.FID and a.FMATERIALID=c.FJNMATERIALID and c.FEntryID={0} and a.FAUXPROPID=c.FJNAUXPROP and a.FUnitID=c.FBaseUnitID where a.FID=t0.FID )", entityid); DBUtils.Execute(this.Context, sql); } } if (lstFids.Count() <= 0) { return; } SqlParam param = new SqlParam("@FID", KDDbType.udt_inttable, lstFids.ToArray()); //查找需要更新的销售预测结余后台表,存在出现同一张单出现表体出现相同物料时导致重复创建结余后台表,停用 //DynamicObjectCollection dycSelectForecastBack = JNCommonServices.SelectForecastBack(this.Context, param, "D"); DynamicObjectCollection dycInsertForecastBack = null; //更新销售结余后台表存在出现同一张单出现表体出现相同物料时导致重复创建结余后台表,停用 // DynamicObjectCollection dycInsertForecastBack = UpdateForecastBack(dycSelectForecastBack, param); //插入销售结余日志表 DynamicObjectCollection dycInsertForecastLog = UpdateForecastLog(param); //调用插入方法 JNCommonServices.UpdateForecastBackAndLog(this.Context, dycInsertForecastBack, dycInsertForecastLog); }
public override void EndOperationTransaction(Kingdee.BOS.Core.DynamicForm.PlugIn.Args.EndOperationTransactionArgs e) { base.EndOperationTransaction(e); if (e.DataEntitys == null || e.DataEntitys.Count() <= 0) { return; } List <long> lstFids = new List <long>(); List <ListSelectedRow> lstSelect = new List <ListSelectedRow>(); List <long> AddSelect = new List <long>();//下推增加预测选择 foreach (DynamicObject data in e.DataEntitys) { lstFids.Add(Convert.ToInt64(data["ID"])); DynamicObjectCollection dycEntitys = data["FEntity"] as DynamicObjectCollection; string FDirection = Convert.ToString(data["FDirection"]); if (dycEntitys == null || dycEntitys.Count() <= 0) { continue; } foreach (var dycEntity in dycEntitys) { ListSelectedRow convertItem = new ListSelectedRow( Convert.ToString(data["ID"]), Convert.ToString(dycEntity["ID"]), Convert.ToInt32(dycEntity["ID"]), "BillHead"); convertItem.EntryEntityKey = "FEntity"; lstSelect.Add(convertItem); if (FDirection == "A") { AddSelect.Add(Convert.ToInt32(convertItem.PrimaryKeyValue)); } // 更新销售结余后台表 12月20日赵成杰 string entityid = Convert.ToString(dycEntity["ID"]); string sql = string.Format(@"Update JN_T_SAL_ForecastBack as t0 set (FQTY)=(select case when b.FDirection='A' then a.FQTY+c.FJNBaseUnitQty else a.FQTY-c.FJNBaseUnitQty end from JN_T_SAL_ForecastBack a inner join JN_T_SAL_ForecastChange b on a.FSALEORGID=b.FJNSALEORGID and a.FSALERID=b.FJNSALERID and a.FSaleDeptId=b.FJNSaleDeptId inner join JN_T_SAL_ForecastChangeEntry c on b.FID=c.FID and a.FMATERIALID=c.FJNMATERIALID and c.FEntryID={0} and a.FAUXPROPID=c.FJNAUXPROP and a.FUnitID=c.FJNBASEUNITID where a.FID=t0.FID )", entityid); DBUtils.Execute(this.Context, sql); } } if (lstFids.Count() <= 0) { return; } SqlParam param = new SqlParam("@FID", KDDbType.udt_inttable, lstFids.ToArray()); //更新销售结余后台表 DynamicObjectCollection dycInsertForecastBack = UpdateForecastBack(param); //插入销售结余日志表 DynamicObjectCollection dycInsertForecastLog = UpdateForecastLog(param); //调用插入方法 JNCommonServices.UpdateForecastBackAndLog(this.Context, dycInsertForecastBack, dycInsertForecastLog); if (AddSelect == null || AddSelect.Count <= 0) { return; } //审核自动生成预测单 //销售预测单变更单-预测单 List <IOperationResult> results = new List <IOperationResult>(); IOperationResult result = new OperationResult(); result = this.DoPushNotAudit("JN_YDL_SAL_ForecastChange", "PLN_FORECAST", AddSelect); results.Add(result); InItOperateResult(results, "生成预测单成功", "生成预测单失败"); }