王 垚
2021-11-12 0ce538e3c3dc01153ce1bfc2d75276881206c222
src/BLL/Demo.TimedTaskPlugIn/PRD/StockChangeDynamicAlignment.cs
@@ -3,14 +3,13 @@
using Kingdee.BOS.Core;
using Kingdee.BOS.ServiceHelper;
using System.Data;
using ZD.Cloud.Logger;
using Newtonsoft.Json.Linq;
using System;
using Kingdee.BOS.Util;
using System.Linq;
using Demo.Model.Model;
using Demo.Model.Model.PODemandPlan;
using System.Diagnostics;
using System.Collections.Generic;
using ZD.Share.Common;
using ZD.Cloud.WebApi;
@@ -56,7 +55,7 @@
            }
            catch (System.Exception ex)
            {
                LogHelper.Error(ex.Message.ToString());
                //LogHelper.Error(ex.Message.ToString());
            }
        }
@@ -67,8 +66,6 @@
        {
            try
            {
                Stopwatch sw = new Stopwatch();
                sw.Start();//开始计时
                //清空齐套临时表
                DBServiceHelper.Execute(Context, "/*dialect*/  delete JIT_MOMaterReadysBill ");
                //更新状态
@@ -265,23 +262,33 @@
                    string saveIsSuc = saveObj["Result"]["ResponseStatus"]["IsSuccess"].ToString().ToUpper();
                    if (saveIsSuc != "TRUE")
                    {
                        LogHelper.Error(jsonRoot.ToString());
                        //LogHelper.Error(jsonRoot.ToString());
                    }
                    i++;
                }
//                //执行完成后 更新日计划工单状态
//                DBServiceHelper.Execute(Context, @"
///*dialect*/update Sc_WorkBillSortBillSub set FComplete = '未齐套' where FEntryID IN (select distinct FHICMOEntryID from JIT_MOMaterReadysBill where isnull(FCOMPLETE,'未齐套') ='未齐套')
//");
//                DBServiceHelper.Execute(Context, @"
///*dialect*/update Sc_WorkBillSortBillSub set FComplete = '齐套' where FEntryID NOT IN (select distinct FHICMOEntryID from JIT_MOMaterReadysBill where isnull(FCOMPLETE,'未齐套') ='未齐套')
//");
                //执行完成后 更新日计划工单状态
                DBServiceHelper.Execute(Context, @"
/*dialect*/update Sc_WorkBillSortBillSub set FComplete = '未齐套' where FEntryID IN (select distinct FHICMOEntryID from JIT_MOMaterReadysBill where isnull(FCOMPLETE,'未齐套') ='未齐套')
/*dialect*/update Sc_WorkBillSortBillSub set FComplete = '未齐套' where
  exists (select distinct FHICMOEntryID from JIT_MOMaterReadysBill v where isnull(FCOMPLETE,'未齐套') ='未齐套' and v.FHICMOENTRYID = Sc_WorkBillSortBillSub.FEntryID)
");
                DBServiceHelper.Execute(Context, @"
/*dialect*/update Sc_WorkBillSortBillSub set FComplete = '齐套' where FEntryID NOT IN (select distinct FHICMOEntryID from JIT_MOMaterReadysBill where isnull(FCOMPLETE,'未齐套') ='未齐套')
/*dialect*/update Sc_WorkBillSortBillSub set FComplete = '齐套' where
   not exists
   (select distinct FHICMOEntryID from JIT_MOMaterReadysBill v where isnull(FCOMPLETE,'未齐套') ='未齐套' and v.FHICMOENTRYID = Sc_WorkBillSortBillSub.FEntryID )
");
                sw.Stop();//结束计时
                LogHelper.Info("运行总时长:" + sw.Elapsed);
            }
            catch (Exception ex)
            {
                LogHelper.Error(ex.Message.ToString());
                //LogHelper.Error(ex.Message.ToString());
            }
        }
@@ -386,14 +393,14 @@
                        var result = cloudClient.Save("Paez_Sc_DayPlanPPBomBill", jsonRoot.ToString());
                        JObject saveObj = JObject.Parse(result);
                        string saveIsSuc = saveObj["Result"]["ResponseStatus"]["IsSuccess"].ToString().ToUpper();
                        if (saveIsSuc != "TRUE")
                            LogHelper.Error(saveIsSuc);
                        //if (saveIsSuc != "TRUE")
                            //LogHelper.Error(saveIsSuc);
                    }
                }
            }
            catch (Exception ex)
            {
                LogHelper.Error(ex.Message.ToString());
                //LogHelper.Error(ex.Message.ToString());
            }
        }
        /// <summary>
@@ -428,7 +435,7 @@
 and FCloseStatus in('A') and FMRPCLOSESTATUS in('A')
";
            List<PurchaseInventory> PurchaseInventory = DBServiceHelper.ExecuteDataSet(Context, sql).ToModelList<PurchaseInventory>();
            LogHelper.Info("采购订单数据" + sql);
            //LogHelper.Info("采购订单数据" + sql);
            sql = string.Format(@"
 /*dialect*/
@@ -447,14 +454,14 @@
AND T1.FID in ({0}) 
order by FHMASTERDATE
", FDayPlanWorkID);
            LogHelper.Info("提料数据" + sql);
            //LogHelper.Info("提料数据" + sql);
            DataSet ds = DBServiceHelper.ExecuteDataSet(Context, sql);
            List<DayPlanPpbom> DayPlanPpbom = ds.ToModelList<DayPlanPpbom>();
            var MaterialIDList = DayPlanPpbom.GroupBy(p => new { p.FMATERIALID, p.FStockOrgId }).Select(x => new PODemandPlanTemp { FMATERIALID = x.Key.FMATERIALID, FStockOrgId = x.Key.FStockOrgId }).ToList();
            var _MaterialIDList = MaterialIDList.Where(p => p.FMATERIALID == "105773").ToList();
            LogHelper.Info("物料行数" + MaterialIDList.Count);
            //LogHelper.Info("物料行数" + MaterialIDList.Count);
            //提料计划数据集临时存储集合
            List<PODemandPlanTemp> PODemandPlanTemp = new List<PODemandPlanTemp>();
@@ -463,7 +470,7 @@
            //MaterialIDList = new List<string> { "105773" };
            foreach (var item in MaterialIDList)
            {
                LogHelper.Info(item.FMATERIALID.ToString());
                //LogHelper.Info(item.FMATERIALID.ToString());
                List<DayPlanPpbom> _DayPlanPpbom = DayPlanPpbom.Where(x => x.FMATERIALID == item.FMATERIALID && x.FStockOrgId == item.FStockOrgId).ToList();
                decimal FMINPOQTY = _DayPlanPpbom.FirstOrDefault().FMINPOQTY;//最小起订量
@@ -494,8 +501,8 @@
                        }
                        foreach (var Purchase in _PurchaseInventory)
                        {
                            LogHelper.Info("Purchase");
                            LogHelper.Info("物料:" + Purchase.FMATERIALID + ",数量:" + Purchase.FQTY);
                            //LogHelper.Info("Purchase");
                            //LogHelper.Info("物料:" + Purchase.FMATERIALID + ",数量:" + Purchase.FQTY);
                            if (Purchase.FQTY >= NeedQty)
                            {
                                List<int> mmm = new List<int>();
@@ -759,10 +766,10 @@
                var result = cloudClient.Save("paez_PODemandPlan", jsonRoot.ToString());
                JObject saveObj = JObject.Parse(result);
                string saveIsSuc = saveObj["Result"]["ResponseStatus"]["IsSuccess"].ToString().ToUpper();
                LogHelper.Info("最后");
                LogHelper.Info(jsonRoot.ToString());
                if (saveIsSuc != "TRUE")
                    LogHelper.Error(saveIsSuc);
                //LogHelper.Info("最后");
                //LogHelper.Info(jsonRoot.ToString());
                //if (saveIsSuc != "TRUE")
                    //LogHelper.Error(saveIsSuc);
            }
            DBServiceHelper.ExecuteBatch(Context, sqlList);
        }