From a05018727c284e1d24967e0cf120a934796191b8 Mon Sep 17 00:00:00 2001
From: 王 垚 <1402714037@qq.com>
Date: 星期二, 02 三月 2021 16:02:05 +0800
Subject: [PATCH] 更改

---
 src/BLL/Demo.BillView/PRD/Pro_WorkBillPlatform.cs |  113 +++++++++++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 99 insertions(+), 14 deletions(-)

diff --git a/src/BLL/Demo.BillView/PRD/Pro_WorkBillPlatform.cs b/src/BLL/Demo.BillView/PRD/Pro_WorkBillPlatform.cs
index aa2d76b..9e6587e 100644
--- a/src/BLL/Demo.BillView/PRD/Pro_WorkBillPlatform.cs
+++ b/src/BLL/Demo.BillView/PRD/Pro_WorkBillPlatform.cs
@@ -2,11 +2,13 @@
 using Demo.Model.Model.PODemandPlan;
 using K3Cloud.Extend.Utils;
 using Kingdee.BOS.Core;
+using Kingdee.BOS.Core.Bill;
 using Kingdee.BOS.Core.Const;
 using Kingdee.BOS.Core.DynamicForm;
 using Kingdee.BOS.Core.DynamicForm.PlugIn;
 using Kingdee.BOS.Core.DynamicForm.PlugIn.Args;
 using Kingdee.BOS.Core.DynamicForm.PlugIn.ControlModel;
+using Kingdee.BOS.Core.Metadata;
 using Kingdee.BOS.Core.Metadata.EntityElement;
 using Kingdee.BOS.JSON;
 using Kingdee.BOS.KDThread;
@@ -66,6 +68,7 @@
             base.BarItemClick(e);
             try
             {
+                LogHelper.Info("鐢熶骇璁″垝骞冲彴鎸夐挳");
                 if (e.BarItemKey.ToUpper() == "BTEXPORT")
                 {
                     ExportExcel();
@@ -158,6 +161,44 @@
             }
         }
         /// <summary>
+        /// button鎸夐挳鐐瑰嚮浜嬩欢
+        /// </summary>
+        /// <param name="e"></param>
+        public override void ButtonClick(ButtonClickEventArgs e)
+        {
+            base.ButtonClick(e);
+            if (e.Key.ToUpper() == "FTBXNQT")
+            {
+                try
+                {
+                    List<string> sqlList = new List<string>();
+                    string sql = $"truncate table Sc_WorkBillMainXnqt";
+                    sqlList.Add(sql);
+                    sql = $"truncate table Sc_WorkBillSubXnqt";
+                    sqlList.Add(sql);
+                    string columnName = DBServiceHelper.ExecuteScalar<string>(Context, "/*dialect*/ select stuff((select ',' + name  from syscolumns Where id = object_Id('Sc_WorkBillMainXnqt') for xml path('')),1,1,'') as name ", "");
+                    sql = $"insert into  Sc_WorkBillMainXnqt({columnName}) select {columnName} from  Sc_WorkBillSortBillMain";
+                    LogHelper.Info("娴嬭瘯1锛�" + sql);
+                    sqlList.Add(sql);
+                    columnName = DBServiceHelper.ExecuteScalar<string>(Context, "/*dialect*/ select stuff((select ',' + name  from syscolumns Where id = object_Id('Sc_WorkBillSubXnqt') for xml path('')),1,1,'') as name ", "");
+                    sql = $"insert into  Sc_WorkBillSubXnqt({columnName}) select {columnName} from  Sc_WorkBillSortBillSub";
+                    LogHelper.Info("娴嬭瘯1锛�" + sql);
+
+                    sqlList.Add(sql);
+                    sql = $"update Sc_WorkBillSubXnqt set  FComplete=''";
+                    sqlList.Add(sql);
+
+                    DBServiceHelper.ExecuteBatch(Context, sqlList);
+                }
+                catch (Exception ex)
+                {
+                    this.View.ShowErrMessage(ex.Message);
+                    return;
+                }
+                this.View.ShowMessage("鎿嶄綔鎴愬姛");
+            }
+        }
+        /// <summary>
         /// 琛屽弻鍑� 璺冲嚭榻愬鍒嗘瀽鏄庣粏鍒楄〃
         /// </summary>
         /// <param name="e"></param>    
@@ -172,14 +213,30 @@
                 //鐢熶骇璁″垝骞冲彴鎷栨湡鏄庣粏璺宠浆
                 formPa.FormId = "paez_TardinessDetails";
                 formPa.CustomParams.Add("FID", Convert.ToString(this.View.Model.GetValue("FDayPlanWorkID", e.Row).ToString()));
+                this.View.ShowForm(formPa);
+            }
+            else if (e.ColKey == "FQTYLS")
+            {
+                //鐢熶骇璁″垝骞冲彴
+                string pageId = Guid.NewGuid().ToString();
+                BillShowParameter showParameter = new BillShowParameter();
+                showParameter.FormId = "Paez_Sc_WorkBillAutoSortBill";
+                showParameter.OpenStyle.ShowType = ShowType.MainNewTabPage;
+                showParameter.PageId = pageId;
+                showParameter.Status = OperationStatus.EDIT;
+                // 浼犲叆闇�瑕佷慨鏀圭殑鏃ヨ鍒掑伐鍗曞唴鐮侊紝 
+                showParameter.PKey = Convert.ToString(this.View.Model.GetValue("FDayPlanWorkID", e.Row).ToString());
+                this.View.ShowForm(showParameter);
+
             }
             else
             {
                 //榻愬鍒嗘瀽鏄庣粏鍒楄〃璺宠浆
                 formPa.FormId = "paez_CompleteAnalysisDetail";
                 formPa.CustomParams.Add("FHICMOInterID", Convert.ToString(this.View.Model.GetValue("FDayPlanWorkID", e.Row).ToString()));
+                this.View.ShowForm(formPa);
             }
-            this.View.ShowForm(formPa);
+
         }
         /// <summary>
         /// 鏌ョ湅铏氭嫙榻愬
@@ -980,7 +1037,6 @@
             {
                 Stopwatch sw = new Stopwatch();
                 sw.Start();//寮�濮嬭鏃�
-                LogHelper.Info("榻愬鍒嗘瀽寮�濮嬪噯澶囨暟鎹細" + sw.Elapsed);
                 //娓呯┖榻愬涓存椂琛�
                 DBServiceHelper.Execute(Context, "/*dialect*/  delete JIT_MOMaterReadysBill ");
                 //鏇存柊鐘舵��
@@ -1052,9 +1108,9 @@
                 int i = 1;
                 //鍒涘缓瀛楀吀 鐢ㄤ簬鍌ㄥ瓨鐗╂枡 + 鍗犵敤鏁伴噺
                 Dictionary<string, decimal> occupyDic = new Dictionary<string, decimal>();
+                LogHelper.Info("榻愬鍒嗘瀽鍑嗗鏁版嵁瀹屾垚锛�" + sw.Elapsed);
                 foreach (var item in DatePlanList)
                 {
-
                     //绛涢�夊嚭褰撴棩璁″垝鏁版嵁
                     var _BomList = BomList.Where(x => x.FHMASTERDATE == item.FHMASTERDATE && x.FPRDMOENTYID == item.FPRDMOENTYID).ToList();
                     foreach (var _item in _BomList)
@@ -1070,7 +1126,6 @@
                             decimal _fLackCount = _item.PlanCount > sjkcList.FBASEQTY ? (_item.PlanCount - sjkcList.FBASEQTY) : 0;//缂烘枡鏁伴噺
                             foreach (var Inventory in _ListInventory)
                             {
-
                                 if (need == 0)
                                     break;
                                 decimal fCompleteCount = need >= Inventory.FBASEQTY ? Inventory.FBASEQTY : need;//榻愬鏁伴噺
@@ -1408,7 +1463,7 @@
             }
             catch (Exception ex)
             {
-                this.View.ShowErrMessage("寮傚父锛�"+ ex.Message.ToString());
+                this.View.ShowErrMessage("寮傚父锛�" + ex.Message.ToString());
                 LogHelper.Error("铏氭嫙榻愬鍒嗘瀽璺冲嚭锛�" + ex.Message.ToString());
             }
             finally
@@ -1462,6 +1517,7 @@
                 {
                     this.Model.CreateNewEntryRow("FEntity");
                     this.Model.SetValue("FSEQ", i + 1, i);//搴忓彿
+                    this.Model.SetValue("FMOFBILLTYPE", Convert.ToString(dt.Rows[i]["FMOFBILLTYPE"]), i);//鐢熶骇璁㈠崟鍗曟嵁绫诲瀷
                     this.Model.SetValue("FCompleteSetCount", "", i);//鎬婚綈濂楁暟閲�
                     this.Model.SetValue("FProOrderCount", dt.Rows[i]["FHOrderNeedQty"].ToString(), i);//鐢熶骇璁㈠崟鏁伴噺 
                     this.Model.SetValue("FSRCBILLENTRYSEQ", dt.Rows[i]["FSRCBILLENTRYSEQ"].ToString(), i);//  
@@ -1586,6 +1642,7 @@
                 {
                     this.Model.CreateNewEntryRow("FEntity");
                     this.Model.SetValue("FSEQ", i + 1, i);//搴忓彿
+                    this.Model.SetValue("FMOFBILLTYPE", Convert.ToString(dt.Rows[i]["FMOFBILLTYPE"]), i);//鐢熶骇璁㈠崟鍗曟嵁绫诲瀷
                     this.Model.SetValue("FCompleteSetCount", "", i);//鎬婚綈濂楁暟閲�
                     this.Model.SetValue("FProOrderCount", dt.Rows[i]["FHOrderNeedQty"].ToString(), i);//鐢熶骇璁㈠崟鏁伴噺 
                     this.Model.SetValue("FSRCBILLENTRYSEQ", dt.Rows[i]["FSRCBILLENTRYSEQ"].ToString(), i);//  
@@ -1788,8 +1845,8 @@
             {
                 string sql = string.Format(@"
 /*dialect*/
- select t1.FID,t1.FSEQ FDayPlanFSEQ,t1.FEntryID,T2.FBILLNO AS FDayPlanFBILLNO,t3.FMATERIALID,T5.FNUMBER,t1.FHMASTERDATE,t1.FHQTY,t4.FMATERIALID FMATERIALID2,T6.FNUMBER FNUMBER2,T7.FNUMBER FUNITNUMBER,FNumerator,FDenominator,convert(decimal(18,2),(FNumerator/FDenominator) *t1.FHQTY) FHQtyMust,T4.FUnitID,t8.FNUMBER FUNITNUMBER2,T3.FID FPPBOM,T4.FENTRYID FPPBOMENTRYID,isnull(T9.FBillNo,'')FBillNo,t10.FNUMBER FORGNUMBER,t11.FNUMBER FHSOURCENUMBER,FSCRAPRATE,FFIXSCRAPQTY,T9.FID AS DayPlanFID,t2.FSCORDERNO,
-t3.FMOENTRYID,t3.FBILLNO FPPBOMBILLNO,T4.FSEQ,tc.FOWNERTYPEID,tc.FOWNERID,tc.FEntrustPickOrgId,torg.FNUMBER as FORGNUMBER,t3.FMOID,FIssueType,FMaterialType
+ select t1.FID,t1.FSEQ FDayPlanFSEQ,t1.FEntryID,T2.FBILLNO AS FDayPlanFBILLNO,t3.FMATERIALID,T5.FNUMBER,t1.FHMASTERDATE,t1.FHQTY,t4.FMATERIALID FMATERIALID2,T6.FNUMBER FNUMBER2,T7.FNUMBER FUNITNUMBER,FNumerator,FDenominator,convert(decimal(18,2),(t4.FMustQty/T3.FQTY) *t1.FHQTY) FHQtyMust,T4.FUnitID,t8.FNUMBER FUNITNUMBER2,T3.FID FPPBOM,T4.FENTRYID FPPBOMENTRYID,isnull(T9.FBillNo,'')FBillNo,t10.FNUMBER FORGNUMBER,t11.FNUMBER FHSOURCENUMBER,FSCRAPRATE,FFIXSCRAPQTY,T9.FID AS DayPlanFID,t2.FSCORDERNO,
+t3.FMOENTRYID,t3.FBILLNO FPPBOMBILLNO,T4.FSEQ,tc.FOWNERTYPEID,tc.FOWNERID,tc.FEntrustPickOrgId,torg.FNUMBER as FORGNUMBER,t3.FMOID,FIssueType,FMaterialType,td.FNUMBER as FWORKSHOPID,t4.FReplaceGroup,t4.FUseRate
 FROM Sc_WorkBillSortBillSub t1
 JOIN Sc_WorkBillSortBillMAIN t2 on t1.FID = t2.FID
 JOIN T_PRD_PPBOM T3 on T2.FPRDMOMAINID=t3.FMOID AND T2.FPRDMOENTYID=T3.FMOENTRYID
@@ -1803,7 +1860,16 @@
  LEFT JOIN Sc_DayPlanPPBomBillMain T9 ON T1.FEntryID=T9.FDayPlanFID
  LEFT join T_ORG_Organizations t10 on t2.FHPRDORGID = t10.FORGID
  LEFT join T_ENG_WORKCENTER t11 on t2.FHSOURCEID = t11.FID
- WHERE t1.FHQTY>0
+ left join T_BD_DEPARTMENT td on t3.FWORKSHOPID=td.FDEPTID
+ WHERE t1.FEntryID not in 
+(
+select distinct FDAYPLANFID from Sc_DayPlanPPBomBillMain where FID IN (
+select distinct FDAYPLANFID from T_PRD_PICKMTRLDATA)
+)
+-- and T4.FMustQty>0
+-- (
+-- select  FDayPlanFID FROM Sc_DayPlanPPBomBillMain WHERE FID IN ( select distinct FID from  Sc_DayPlanPPBomBillSub WHERE FTranslateQty >0 or FPickedQty >0)
+-- )
 "
 );
                 LogHelper.Info("鐢熸垚鏃ヨ鍒掔敤鏂欐竻鍗曞噯澶囨暟鎹畇ql:" + sql);
@@ -1847,7 +1913,10 @@
                             FIssueType = dr["FIssueType"].ToString(),
                             FMaterialType = dr["FMaterialType"].ToString(),
                             FDayPlanFSEQ = dr["FDayPlanFSEQ"].ToString(),
-                            FDayPlanFBILLNO = dr["FDayPlanFBILLNO"].ToString()
+                            FDayPlanFBILLNO = dr["FDayPlanFBILLNO"].ToString(),
+                            FWORKSHOPID = dr["FWORKSHOPID"].ToString(),
+                            FReplaceGroup = dr["FReplaceGroup"].ToString(),
+                            FUseRate = dr["FUseRate"].ToString()
                         });
                     }
                     LogHelper.Info($"鏃ヨ鍒掔敤鏂欐竻鍗曪紝鏁版嵁鍑嗗瀹屾垚锛屼繚瀛樺埌Model瀹炰綋锛屾�昏鏁帮細{DayPlanMaterial.Count}锛岃�楁椂锛�" + sw.Elapsed);
@@ -1897,10 +1966,11 @@
                             ModelEnty.Add("FMOID", _item.FMOID);//  
                             ModelEnty.Add("FISSUETYPE", _item.FIssueType);//  
                             ModelEnty.Add("FMaterialType", _item.FMaterialType);//  
-                                                                                // ModelEnty.Add("FSEQ", FSEQ);//  
+                            ModelEnty.Add("FWORKSHOPID", new JObject() { ["Fnumber"] = _item.FWORKSHOPID });// 
+                            ModelEnty.Add("FReplaceGroup", _item.FReplaceGroup);// 
+                            ModelEnty.Add("FUseRate",_item.FUseRate);// 
                             Entry.Add(ModelEnty);
                             FSEQ++;
-
                         }
                         model.Add("FEntity", Entry);
 
@@ -1922,9 +1992,24 @@
                             var result = cloudClient.BatchSave("Paez_Sc_DayPlanPPBomBill", jsonRoot.ToString());
                             JObject saveObj = JObject.Parse(result);
                             string saveIsSuc = saveObj["Result"]["ResponseStatus"]["IsSuccess"].ToString().ToUpper();
+                            if (saveIsSuc == "TRUE")
+                            {
+                                var Success = saveObj["Result"]["ResponseStatus"]["SuccessEntitys"].ToString().TrimStart('{').TrimEnd('}');
+                                var allList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Dictionary<string, string>>>(Success);
+                                List<string> ls = new List<string>();
+                                foreach (var it in allList)
+                                {
+                                    it.TryGetValue("Id", out string value);
+                                    ls.Add(value);
+                                }
+                                var resultAA = String.Join(",", ls.ToArray());
+                                string resSql = string.Format(@"/*dialect*/ update Sc_WorkBillSortBillSub set Sc_WorkBillSortBillSub.FDAYPLANPPBOMBILLNO = Sc_DayPlanPPBomBillMain.FBILLNO from Sc_WorkBillSortBillSub   join Sc_DayPlanPPBomBillMain   on Sc_WorkBillSortBillSub.FEntryID = Sc_DayPlanPPBomBillMain.FDayPlanFID where Sc_DayPlanPPBomBillMain.FID in ({0})", resultAA);
+                                DBServiceHelper.Execute(Context, resSql);
+                            }
                             if (saveIsSuc != "TRUE")
                             {
-                                LogHelper.Error(saveObj.ToString());
+                                LogHelper.Error("鏃ヨ鍒掔敤鏂欐竻鍗曞垪琛ㄧ敓鎴愬け璐�:" + jsonRoot.ToString());
+                                this.View.ShowMessage(saveObj["Result"]["ResponseStatus"]["Errors"][0]["Message"].ToString());
                             }
                             Fentity = new JArray();
                         }
@@ -2053,7 +2138,7 @@
                         _PurchaseInventory = PurchaseInventory.Where(x => x.FMATERIALID == item.FMATERIALID && x.FStockOrgId == item.FStockOrgId && x.FQTY > 0).OrderBy(x => x.FENTRYID).ToList();
                         if (_PurchaseInventory.Count == 0)
                         {
-                            LogHelper.Info("[鎻愭枡璁″垝寮�濮媇褰撳墠鐗╂枡鏄庣粏鏃犻噰璐俊鎭細" + item.FMATERIALID + " 搴撳瓨缁勭粐锛�" + item.FStockOrgId);
+                            //LogHelper.Info("[鎻愭枡璁″垝寮�濮媇褰撳墠鐗╂枡鏄庣粏鏃犻噰璐俊鎭細" + item.FMATERIALID + " 搴撳瓨缁勭粐锛�" + item.FStockOrgId);
                             break;
                         }
 
@@ -2077,7 +2162,7 @@
                         //{
                         foreach (var Purchase in _PurchaseInventory)
                         {
-                            LogHelper.Info("閲囪喘璁㈠崟鍙锋祴璇曪細" + Purchase.FBillNo);
+                            //LogHelper.Info("閲囪喘璁㈠崟鍙锋祴璇曪細" + Purchase.FBillNo);
                             //LogHelper.Info("鐗╂枡锛�" + Purchase.FMATERIALID + ",閲囪喘璁㈠崟鏁伴噺锛�" + Purchase.FQTY);
                             if (Purchase.FQTY >= NeedQty)
                             {

--
Gitblit v1.9.1