From f9a5863dd719d6036e28391b0d4f39b2d349f3e9 Mon Sep 17 00:00:00 2001
From: yangle <admin@YINMOU>
Date: 星期一, 24 四月 2023 08:30:19 +0800
Subject: [PATCH] Merge branch 'master' of http://101.37.171.70:10101/r/MES-WEB-API

---
 PayM/bin/x86/Debug/SQLHelper.dll                                  |    0 
 PayM/obj/x86/Debug/PayM.csproj.GenerateResource.cache             |    0 
 LMES/ClsShowMod.cs                                                |    7 
 PayM/bin/x86/Debug/DAL.dll                                        |    0 
 PayM/obj/x86/Debug/PayM.csproj.ResolveComReference.cache          |    0 
 WebAPI/Controllers/BaseSet/Gy_MaterialController.cs               |   36 +
 PayM/bin/x86/Debug/DBUtility.pdb                                  |    0 
 PayM/bin/x86/Debug/Pub_Control.pdb                                |    0 
 PayM/obj/x86/Debug/PayM.csproj.CoreCompileInputs.cache            |    2 
 PayM/obj/x86/Debug/DesignTimeResolveAssemblyReferencesInput.cache |    0 
 PayM/obj/x86/Debug/Interop.gregn6Lib.dll                          |    0 
 PayM/obj/x86/Debug/PayM.csprojAssemblyReference.cache             |    0 
 WarM/条码打印/Kf_WeighToBarCode.cs                                    |   10 
 PayM/bin/x86/Debug/AxInterop.gregn6Lib.dll                        |    0 
 PayM/bin/x86/Debug/Pub_Class.pdb                                  |    0 
 PayM/obj/x86/Debug/PayM.pdb                                       |    0 
 PayM/bin/x86/Debug/Pub_Control.dll                                |    0 
 PayM/obj/x86/Debug/PayM.dll                                       |    0 
 PayM/bin/x86/Debug/Model.dll                                      |    0 
 PayM/bin/x86/Debug/Pub_Class.dll                                  |    0 
 PayM/bin/x86/Debug/SQLHelper.pdb                                  |    0 
 PayM/bin/x86/Debug/Interop.gregn6Lib.dll                          |    0 
 WorkM/WorkM.csproj                                                |    9 
 PayM/bin/x86/Debug/Model.pdb                                      |    0 
 WorkM/报表分析/Sc_OverProdReport.Designer.cs                          |  532 ++++++++++++++++++++++++
 WorkM/报表分析/Sc_OverProdReport.resx                                 |  129 +++++
 PayM/bin/x86/Debug/BLL.dll                                        |    0 
 WebAPI/Controllers/CJGL/Cj_StationOutBillController.cs            |   23 
 PayM/obj/x86/Debug/AxInterop.gregn6Lib.dll                        |    0 
 WorkM/报表分析/Sc_WareHouseReport.cs                                  |    8 
 PayM/bin/x86/Debug/BLL.pdb                                        |    0 
 Model/仓库管理/条码管理/ClsGy_BarCodeEdit_Model.cs                        |    2 
 PayM/bin/x86/Debug/DAL.pdb                                        |    0 
 WebAPI/ListModels.cs                                              |   12 
 WebAPI/Models/ClsGy_ProcPrice.cs                                  |    2 
 WebAPI/Controllers/SellOutController.cs                           |    2 
 PayM/bin/x86/Debug/PayM.dll                                       |    0 
 PayM/bin/x86/Debug/PayM.pdb                                       |    0 
 WebAPI/Controllers/仓存管理/条码生成/Gy_SplitBarCodeController.cs         |  200 +++++++++
 WebAPI/WebAPI.csproj                                              |    2 
 PayM/bin/x86/Debug/DBUtility.dll                                  |    0 
 WorkM/报表分析/Sc_OverProdReport.cs                                   |  342 +++++++++++++++
 42 files changed, 1,303 insertions(+), 15 deletions(-)

diff --git a/LMES/ClsShowMod.cs b/LMES/ClsShowMod.cs
index c33dc1b..e25e5e0 100644
--- a/LMES/ClsShowMod.cs
+++ b/LMES/ClsShowMod.cs
@@ -7960,6 +7960,13 @@
                         oSc_WorkShopReport.Show();
                         oMainForm.AddTabPage(oSc_WorkShopReport);
                         break;
+                    case "sc_overprodreport":
+                        Sc_OverProdReport oSc_OverProdReport = new Sc_OverProdReport();
+                        oSc_OverProdReport.MdiParent = oMain;
+                        oSc_OverProdReport.ModCaption = gnmc;
+                        oSc_OverProdReport.Show();
+                        oMainForm.AddTabPage(oSc_OverProdReport);
+                        break;
                     case "sc_warehousereport":
                         Sc_WareHouseReport oSc_WareHouseReport = new Sc_WareHouseReport();
                         oSc_WareHouseReport.MdiParent = oMain;
diff --git "a/Model/\344\273\223\345\272\223\347\256\241\347\220\206/\346\235\241\347\240\201\347\256\241\347\220\206/ClsGy_BarCodeEdit_Model.cs" "b/Model/\344\273\223\345\272\223\347\256\241\347\220\206/\346\235\241\347\240\201\347\256\241\347\220\206/ClsGy_BarCodeEdit_Model.cs"
index 6a94241..814a594 100644
--- "a/Model/\344\273\223\345\272\223\347\256\241\347\220\206/\346\235\241\347\240\201\347\256\241\347\220\206/ClsGy_BarCodeEdit_Model.cs"
+++ "b/Model/\344\273\223\345\272\223\347\256\241\347\220\206/\346\235\241\347\240\201\347\256\241\347\220\206/ClsGy_BarCodeEdit_Model.cs"
@@ -45,5 +45,7 @@
         public DateTime HBarCodeDate;
         public string HInnerBillNo;
         public double HMZ;
+
+        public double HSplitNum; //拆码数量
     }
 }
diff --git a/PayM/bin/x86/Debug/AxInterop.gregn6Lib.dll b/PayM/bin/x86/Debug/AxInterop.gregn6Lib.dll
index 391619e..ea7fb7e 100644
--- a/PayM/bin/x86/Debug/AxInterop.gregn6Lib.dll
+++ b/PayM/bin/x86/Debug/AxInterop.gregn6Lib.dll
Binary files differ
diff --git a/PayM/bin/x86/Debug/BLL.dll b/PayM/bin/x86/Debug/BLL.dll
index 8178fad..f788982 100644
--- a/PayM/bin/x86/Debug/BLL.dll
+++ b/PayM/bin/x86/Debug/BLL.dll
Binary files differ
diff --git a/PayM/bin/x86/Debug/BLL.pdb b/PayM/bin/x86/Debug/BLL.pdb
index efb8d6f..28be49a 100644
--- a/PayM/bin/x86/Debug/BLL.pdb
+++ b/PayM/bin/x86/Debug/BLL.pdb
Binary files differ
diff --git a/PayM/bin/x86/Debug/DAL.dll b/PayM/bin/x86/Debug/DAL.dll
index c8b5670..714a9bd 100644
--- a/PayM/bin/x86/Debug/DAL.dll
+++ b/PayM/bin/x86/Debug/DAL.dll
Binary files differ
diff --git a/PayM/bin/x86/Debug/DAL.pdb b/PayM/bin/x86/Debug/DAL.pdb
index 8aa4b8a..cb648f1 100644
--- a/PayM/bin/x86/Debug/DAL.pdb
+++ b/PayM/bin/x86/Debug/DAL.pdb
Binary files differ
diff --git a/PayM/bin/x86/Debug/DBUtility.dll b/PayM/bin/x86/Debug/DBUtility.dll
index 39209f8..36931cf 100644
--- a/PayM/bin/x86/Debug/DBUtility.dll
+++ b/PayM/bin/x86/Debug/DBUtility.dll
Binary files differ
diff --git a/PayM/bin/x86/Debug/DBUtility.pdb b/PayM/bin/x86/Debug/DBUtility.pdb
index 3ac388f..852ffaa 100644
--- a/PayM/bin/x86/Debug/DBUtility.pdb
+++ b/PayM/bin/x86/Debug/DBUtility.pdb
Binary files differ
diff --git a/PayM/bin/x86/Debug/Interop.gregn6Lib.dll b/PayM/bin/x86/Debug/Interop.gregn6Lib.dll
index a687382..4a4b555 100644
--- a/PayM/bin/x86/Debug/Interop.gregn6Lib.dll
+++ b/PayM/bin/x86/Debug/Interop.gregn6Lib.dll
Binary files differ
diff --git a/PayM/bin/x86/Debug/Model.dll b/PayM/bin/x86/Debug/Model.dll
index afbf0c0..3e600a2 100644
--- a/PayM/bin/x86/Debug/Model.dll
+++ b/PayM/bin/x86/Debug/Model.dll
Binary files differ
diff --git a/PayM/bin/x86/Debug/Model.pdb b/PayM/bin/x86/Debug/Model.pdb
index 36b8967..c54e2cc 100644
--- a/PayM/bin/x86/Debug/Model.pdb
+++ b/PayM/bin/x86/Debug/Model.pdb
Binary files differ
diff --git a/PayM/bin/x86/Debug/PayM.dll b/PayM/bin/x86/Debug/PayM.dll
index 2743211..e5f48fc 100644
--- a/PayM/bin/x86/Debug/PayM.dll
+++ b/PayM/bin/x86/Debug/PayM.dll
Binary files differ
diff --git a/PayM/bin/x86/Debug/PayM.pdb b/PayM/bin/x86/Debug/PayM.pdb
index bd60727..13dd89d 100644
--- a/PayM/bin/x86/Debug/PayM.pdb
+++ b/PayM/bin/x86/Debug/PayM.pdb
Binary files differ
diff --git a/PayM/bin/x86/Debug/Pub_Class.dll b/PayM/bin/x86/Debug/Pub_Class.dll
index db3be79..7f3d98e 100644
--- a/PayM/bin/x86/Debug/Pub_Class.dll
+++ b/PayM/bin/x86/Debug/Pub_Class.dll
Binary files differ
diff --git a/PayM/bin/x86/Debug/Pub_Class.pdb b/PayM/bin/x86/Debug/Pub_Class.pdb
index 80f11c5..c41be17 100644
--- a/PayM/bin/x86/Debug/Pub_Class.pdb
+++ b/PayM/bin/x86/Debug/Pub_Class.pdb
Binary files differ
diff --git a/PayM/bin/x86/Debug/Pub_Control.dll b/PayM/bin/x86/Debug/Pub_Control.dll
index fe03985..b745eea 100644
--- a/PayM/bin/x86/Debug/Pub_Control.dll
+++ b/PayM/bin/x86/Debug/Pub_Control.dll
Binary files differ
diff --git a/PayM/bin/x86/Debug/Pub_Control.pdb b/PayM/bin/x86/Debug/Pub_Control.pdb
index 10c4473..fcf15ca 100644
--- a/PayM/bin/x86/Debug/Pub_Control.pdb
+++ b/PayM/bin/x86/Debug/Pub_Control.pdb
Binary files differ
diff --git a/PayM/bin/x86/Debug/SQLHelper.dll b/PayM/bin/x86/Debug/SQLHelper.dll
index 6a89192..0ef1c29 100644
--- a/PayM/bin/x86/Debug/SQLHelper.dll
+++ b/PayM/bin/x86/Debug/SQLHelper.dll
Binary files differ
diff --git a/PayM/bin/x86/Debug/SQLHelper.pdb b/PayM/bin/x86/Debug/SQLHelper.pdb
index 2e0f7be..548d70e 100644
--- a/PayM/bin/x86/Debug/SQLHelper.pdb
+++ b/PayM/bin/x86/Debug/SQLHelper.pdb
Binary files differ
diff --git a/PayM/obj/x86/Debug/AxInterop.gregn6Lib.dll b/PayM/obj/x86/Debug/AxInterop.gregn6Lib.dll
index 391619e..ea7fb7e 100644
--- a/PayM/obj/x86/Debug/AxInterop.gregn6Lib.dll
+++ b/PayM/obj/x86/Debug/AxInterop.gregn6Lib.dll
Binary files differ
diff --git a/PayM/obj/x86/Debug/DesignTimeResolveAssemblyReferencesInput.cache b/PayM/obj/x86/Debug/DesignTimeResolveAssemblyReferencesInput.cache
index 1f18748..142e63f 100644
--- a/PayM/obj/x86/Debug/DesignTimeResolveAssemblyReferencesInput.cache
+++ b/PayM/obj/x86/Debug/DesignTimeResolveAssemblyReferencesInput.cache
Binary files differ
diff --git a/PayM/obj/x86/Debug/Interop.gregn6Lib.dll b/PayM/obj/x86/Debug/Interop.gregn6Lib.dll
index a687382..4a4b555 100644
--- a/PayM/obj/x86/Debug/Interop.gregn6Lib.dll
+++ b/PayM/obj/x86/Debug/Interop.gregn6Lib.dll
Binary files differ
diff --git a/PayM/obj/x86/Debug/PayM.csproj.CoreCompileInputs.cache b/PayM/obj/x86/Debug/PayM.csproj.CoreCompileInputs.cache
index ead15dd..fc1ea80 100644
--- a/PayM/obj/x86/Debug/PayM.csproj.CoreCompileInputs.cache
+++ b/PayM/obj/x86/Debug/PayM.csproj.CoreCompileInputs.cache
@@ -1 +1 @@
-b14f4fcc24537f5a4b1d1021595a00930f37f5f5
+2b98949b87d39f3f48ff12a0b7c639d4a4168873
diff --git a/PayM/obj/x86/Debug/PayM.csproj.GenerateResource.cache b/PayM/obj/x86/Debug/PayM.csproj.GenerateResource.cache
index 75bbb95..51d8269 100644
--- a/PayM/obj/x86/Debug/PayM.csproj.GenerateResource.cache
+++ b/PayM/obj/x86/Debug/PayM.csproj.GenerateResource.cache
Binary files differ
diff --git a/PayM/obj/x86/Debug/PayM.csproj.ResolveComReference.cache b/PayM/obj/x86/Debug/PayM.csproj.ResolveComReference.cache
index 5f84df1..2a45d75 100644
--- a/PayM/obj/x86/Debug/PayM.csproj.ResolveComReference.cache
+++ b/PayM/obj/x86/Debug/PayM.csproj.ResolveComReference.cache
Binary files differ
diff --git a/PayM/obj/x86/Debug/PayM.csprojAssemblyReference.cache b/PayM/obj/x86/Debug/PayM.csprojAssemblyReference.cache
index 494f615..306e553 100644
--- a/PayM/obj/x86/Debug/PayM.csprojAssemblyReference.cache
+++ b/PayM/obj/x86/Debug/PayM.csprojAssemblyReference.cache
Binary files differ
diff --git a/PayM/obj/x86/Debug/PayM.dll b/PayM/obj/x86/Debug/PayM.dll
index 2743211..e5f48fc 100644
--- a/PayM/obj/x86/Debug/PayM.dll
+++ b/PayM/obj/x86/Debug/PayM.dll
Binary files differ
diff --git a/PayM/obj/x86/Debug/PayM.pdb b/PayM/obj/x86/Debug/PayM.pdb
index bd60727..13dd89d 100644
--- a/PayM/obj/x86/Debug/PayM.pdb
+++ b/PayM/obj/x86/Debug/PayM.pdb
Binary files differ
diff --git "a/WarM/\346\235\241\347\240\201\346\211\223\345\215\260/Kf_WeighToBarCode.cs" "b/WarM/\346\235\241\347\240\201\346\211\223\345\215\260/Kf_WeighToBarCode.cs"
index 8c0d3cf..2d1d3ef 100644
--- "a/WarM/\346\235\241\347\240\201\346\211\223\345\215\260/Kf_WeighToBarCode.cs"
+++ "b/WarM/\346\235\241\347\240\201\346\211\223\345\215\260/Kf_WeighToBarCode.cs"
@@ -35,6 +35,8 @@
         public Int64 HSourceEntryID = 0;
         public string HSourceBillNo = "";
         public string HSourceBillType = "";
+        public Int64 ProcessExchangeInterID = 0;
+        public Int64 HSupID = 0;
         public double HSourceQty = 0;
         public string HMaker = DBUtility.ClsPub.CurUserName;
         public Int64 HStockOrgID = DBUtility.ClsPub.HOrgID;
@@ -565,6 +567,7 @@
             string HRemark = "";
             string HMaterName = "";
             string HMaterModel = "";
+            string ProcessExchangeBillNo = "";
 
             HBarCode = TM;
             HBarCodeType = DBUtility.ClsPub.isStrNull(cmbHBarCodeType.Text);
@@ -575,6 +578,7 @@
             HRemark = DBUtility.ClsPub.isStrNull(txtHRemark.Text);
             HMaterName = DBUtility.ClsPub.isStrNull(txtHMaterName.Text);
             HMaterModel = DBUtility.ClsPub.isStrNull(txtHMaterModel.Text);
+            ProcessExchangeBillNo = DBUtility.ClsPub.isStrNull(txtHBillNo.Text);
 
             try
             {
@@ -587,14 +591,16 @@
                 ",HBarcodeQtys,HBarcodeNo,HDeptID,HWhID,HSPID,HRemark " +
                 ",HCusID,HCusType,HEndDate,HWorkLineName,HBarCodeDate,HMaterialJQty,HMaterialMQty " +
                 ",HSTOCKORGID,HOWNERID,HSeOrderBillNo,HInterID,HGiveAwayFlag " +
+                ",HOrderInterID,HOrderEntryID,HOrderBillNo " +
                 ",HMaterName,HMaterModel,HPinfan,HAuxPropID,HMTONo,HInnerBillNo " +
                 ") Values ("
                 + "'" + HBarCode + "','" + HBarCodeType + "'," + HMaterID.ToString() + "," + HUnitID.ToString() + "," + HQty.ToString()
-                + ",'" + HBatchNo + "',0,0,'" + HMaker + "',getdate(),0," + HQty.ToString()
+                + ",'" + HBatchNo + "'," + HSupID.ToString() + ",0,'" + HMaker + "',getdate(),0," + HQty.ToString()
                 + ", " + HSourceInterID.ToString() + "," + HSourceEntryID.ToString() + ",'" + HSourceBillNo + "','" + HSourceBillType + "',''"
                 + ", 1,1," + HDeptID.ToString() + "," + HWhID.ToString() + "," + HSPID.ToString() + ",'" + HRemark + "'"
                 + ", 0,'',getdate(),'','" + sDate + "'," + HMaterialJQty.ToString() + "," + HMaterialMQty.ToString()
                 + ", " + HStockOrgID.ToString() + "," + HStockOrgID.ToString() + ",''," + HInterID.ToString() + ",0"
+                + ", " + ProcessExchangeInterID.ToString() + ",0,'" + ProcessExchangeBillNo + "'"
                 + ",'" + HMaterName + "','" + HMaterModel + "',''," + HAuxPropID.ToString() + ",'','')");
 
                 //鍥炲~鏈�澶ф祦姘村彿
@@ -655,6 +661,8 @@
             HSourceBillNo = DBUtility.ClsPub.isStrNull(grdSub.SelectedRows[0].Cells[Fun_GetSubCol("鐢熶骇璁㈠崟")].Value);
             HSourceBillType = DBUtility.ClsPub.isStrNull(grdSub.SelectedRows[0].Cells[Fun_GetSubCol("HSourceBillType")].Value);
             HSourceQty = DBUtility.ClsPub.isDoule(grdSub.SelectedRows[0].Cells[Fun_GetSubCol("鏁伴噺")].Value);
+            ProcessExchangeInterID = DBUtility.ClsPub.isLong(grdSub.SelectedRows[0].Cells[Fun_GetSubCol("ProcessExchangeInterID")].Value);
+            HSupID = DBUtility.ClsPub.isLong(grdSub.SelectedRows[0].Cells[Fun_GetSubCol("HSupID")].Value);
         }
 
         //杩斿洖婧愬崟鍒楄〃淇℃伅
diff --git a/WebAPI/Controllers/BaseSet/Gy_MaterialController.cs b/WebAPI/Controllers/BaseSet/Gy_MaterialController.cs
index 44a29f5..53f1366 100644
--- a/WebAPI/Controllers/BaseSet/Gy_MaterialController.cs
+++ b/WebAPI/Controllers/BaseSet/Gy_MaterialController.cs
@@ -607,6 +607,8 @@
             string HInter = sArray[0].ToString();
             string HInterID = HInter.Replace("\"", "");
             string user = sArray[1].ToString();
+            string HBarCode = sArray[2].ToString().Replace("\"","");
+            string HComputerName = SystemInformation.ComputerName; //璁惧鍚嶇О
 
             //缂栬緫鏉冮檺
             if (!DBUtility.ClsPub.Security_Log("Gy_BarCodeBillList_Edit", 1, false, user))
@@ -620,6 +622,32 @@
 
             try
             {
+                DataSet Ds;
+
+                string[] NewBarCode;
+                NewBarCode = HBarCode.Split(Convert.ToChar(","));
+
+                //鍒犻櫎鏉$爜鍓嶈繘琛屽垽鏂�
+                Ds = oCN.RunProcReturn("exec h_p_Gy_BarCodeBill_MulDelete_Before '" + HInterID + "','" + HBarCode + "'", "h_p_Gy_BarCodeBill_MulDelete_Before", ref DBUtility.ClsPub.sExeReturnInfo);
+                if (Ds == null || Ds.Tables[0].Rows.Count <= 0)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鍒犻櫎鏉$爜鍓嶅垽鏂彂鐢熼敊璇紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                else
+                {
+                    if (DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0][0]) == "1")
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HRemark"]);
+                        objJsonResult.data = null;
+                        return objJsonResult;                       
+                    }
+                }
                 //Int64 lngBillKey = 0;
                 //lngBillKey = DBUtility.ClsPub.isLong(HInterID);
                 if (HInterID == "")
@@ -630,13 +658,19 @@
                     objJsonResult.data = null;
                     return objJsonResult;
                 }
-                DataSet Ds;
+                
                 Ds = oCN.RunProcReturn("Select * from h_v_IF_BarCodeBillList Where HItemID in (" + HInterID + ")", "h_v_IF_BarCodeBillList");
                 if (Ds.Tables[0].Rows.Count != 0)
                 {
                     oCN.BeginTran();
                     oCN.RunProc("Delete from Gy_BarCodeBill Where HItemID in (" + HInterID + ")");
 
+                    //鍐欏叆绯荤粺鏃ュ織
+                    for (int i = 0; i <= NewBarCode.Length - 1; i++)
+                    {
+                        oCN.RunProc("Insert into System_log (GeginDate, userid, WorkstationName, WorkList, SystemName, NetuserName, State) select GETDATE(),'" + user + "','" + HComputerName + "','" + "缃戦〉鐗堝垹闄ゆ潯鐮侊細" + NewBarCode[i] + "','WMS绯荤粺-鏉$爜妗f鍒楄〃妯″潡','" + DBUtility.ClsPub.IPAddress + "','鍒犻櫎鏉$爜'", ref DBUtility.ClsPub.sExeReturnInfo);                     
+                    }
+
                     oCN.Commit();
                     objJsonResult.code = "1";
                     objJsonResult.count = 1;
diff --git a/WebAPI/Controllers/CJGL/Cj_StationOutBillController.cs b/WebAPI/Controllers/CJGL/Cj_StationOutBillController.cs
index 79fcc6f..c16c7e4 100644
--- a/WebAPI/Controllers/CJGL/Cj_StationOutBillController.cs
+++ b/WebAPI/Controllers/CJGL/Cj_StationOutBillController.cs
@@ -192,13 +192,24 @@
                 //    objJsonResult.data = null;
                 //    return objJsonResult;
                 //}
-                if (HSourceID == 0)
+
+                //鑾峰彇绯荤粺鍙傛暟
+                string Ret = "";
+                if (oSystemParameter.ShowBill(ref Ret))
                 {
-                    objJsonResult.code = "0";
-                    objJsonResult.count = 0;
-                    objJsonResult.Message = "鐢熶骇璧勬簮娌℃湁閫夋嫨锛�";
-                    objJsonResult.data = null;
-                    return objJsonResult;
+                    //鍒ゆ柇瀹㈡埛
+                    if (oSystemParameter.omodel.WMS_CampanyName != "榫欏北姹介厤") //绯荤粺鍙傛暟   
+                    {
+                        if (HSourceID == 0)
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鐢熶骇璧勬簮娌℃湁閫夋嫨锛�";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+
                 }
                 //if (HCenterID == 0)
                 //{
diff --git a/WebAPI/Controllers/SellOutController.cs b/WebAPI/Controllers/SellOutController.cs
index 0cbc00b..bc3d0b1 100644
--- a/WebAPI/Controllers/SellOutController.cs
+++ b/WebAPI/Controllers/SellOutController.cs
@@ -395,7 +395,7 @@
                 objJsonResult.code = "0";
                 objJsonResult.count = 1;
                 objJsonResult.Message = DBUtility.ClsPub.sErrInfo;
-                objJsonResult.data = oBar;
+                objJsonResult.data = WebSoBar;
                 return objJsonResult;
             }
         }
diff --git "a/WebAPI/Controllers/\344\273\223\345\255\230\347\256\241\347\220\206/\346\235\241\347\240\201\347\224\237\346\210\220/Gy_SplitBarCodeController.cs" "b/WebAPI/Controllers/\344\273\223\345\255\230\347\256\241\347\220\206/\346\235\241\347\240\201\347\224\237\346\210\220/Gy_SplitBarCodeController.cs"
new file mode 100644
index 0000000..8e3c7cb
--- /dev/null
+++ "b/WebAPI/Controllers/\344\273\223\345\255\230\347\256\241\347\220\206/\346\235\241\347\240\201\347\224\237\346\210\220/Gy_SplitBarCodeController.cs"
@@ -0,0 +1,200 @@
+锘縰sing Model;
+using Newtonsoft.Json;
+using Newtonsoft.Json.Linq;
+using Pub_Class;
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using System.Data;
+using System.Data.SqlClient;
+using System.IO;
+using System.Web;
+using System.Web.Http;
+using WebAPI.Models;
+
+namespace WebAPI.Controllers
+{
+    public class Gy_SplitBarCodeController : ApiController
+    {
+        //鑾峰彇绯荤粺鍙傛暟
+        Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();
+        public DBUtility.ClsPub.Enum_BillStatus BillStatus;
+        public DAL.ClsGy_BarCodeBill_ChaiMa BillNew = new DAL.ClsGy_BarCodeBill_ChaiMa();   //瀵瑰簲鍗曟嵁绫�
+
+        private json objJsonResult = new json();
+        SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
+        DataSet ds;
+
+        /// <summary>
+        /// 杩斿洖鏉$爜淇℃伅
+        ///鍙傛暟锛歴tring sql銆�
+        ///杩斿洖鍊硷細object銆�
+        /// </summary>
+        [Route("Gy_SplitBarCode/Info")]
+        [HttpGet]
+        public object BarCodeInfo(string HBarCodeNo, string HSplitBarNum)
+        {
+            try
+            {
+                //鍒ゆ柇鏄惁鏈夋煡璇㈡潈闄�
+
+                //if (!DBUtility.ClsPub.Security_Log("Cg_POOrderBillQuery", 1, false, user))
+                //{
+                //    objJsonResult.code = "0";
+                //    objJsonResult.count = 0;
+                //    objJsonResult.Message = "鏃犳潈闄愭煡鐪�!";
+                //    objJsonResult.data = null;
+                //    return objJsonResult;
+                //}
+                
+                //鏌ヨ鏉$爜淇℃伅
+                if(HBarCodeNo != null && HSplitBarNum != null)
+                {
+                    SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
+                    ds = oCn.RunProcReturn("select top 1 * from h_v_Gy_SplitBarCode where HBarCode='" + HBarCodeNo + "'", "h_v_Gy_SplitBarCode");
+                }
+                else
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "璇疯緭鍏ユ潯鐮佺紪鍙锋垨鎷嗗垎鏉$爜鏁�";
+                    objJsonResult.data = ds.Tables[0];
+                    return objJsonResult;
+                }
+                //鍒ゆ柇鏄惁瀛樺湪姝ゆ潯鐮�
+                if (ds == null || ds.Tables[0].Rows.Count == 0)
+                {                   
+                    objJsonResult.code = "1";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "鏉$爜缂栧彿涓嶅瓨鍦�, 鎻愮ず";
+                    objJsonResult.data = ds.Tables[0];
+                    return objJsonResult;
+                }
+                else
+                {
+                    objJsonResult.code = "1";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "Sucess锛�";
+                    objJsonResult.data = ds.Tables[0];
+                    return objJsonResult;
+                }               
+            }
+            catch (Exception e) //鎶涘嚭寮傚父
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "Exception锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+
+        #region 鎷嗙爜鏉$爜鐢熸垚
+        [Route("Sc_BarCode/Save_SplitBarCode")]
+        [HttpPost]
+        public object Save_SplitBarCode([FromBody] JObject msg)
+        {
+            try
+            {
+                ListModels oListModels = new ListModels();                 
+                BillNew = new DAL.ClsGy_BarCodeBill_ChaiMa();
+                var _value = msg["msg"].ToString();
+                string msg1 = _value.ToString();
+
+                string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
+                string barcode = sArray[0].ToString(); //鏉$爜缂栧彿
+                Int64 splitnum = Convert.ToInt64(sArray[1]); //鎷嗙爜琛屾暟
+                string data = sArray[2].ToString(); //琛ㄤ綋鏁版嵁
+                string user = sArray[3].ToString(); //鐢ㄦ埛鍚�
+
+                data = data.Replace("\\", "");
+                data = data.Replace("\n", "");  //\n
+
+                List<Model.ClsGy_BarCodeEdit_Model> lsmain = new List<Model.ClsGy_BarCodeEdit_Model>();
+                lsmain = oListModels.getObjectByJson_Gy_SplitBarCode(data);
+
+                oCN.BeginTran();
+
+                ds = oCN.RunProcReturn("select top 1* from Gy_BarCodeBill where HBarCode='" + barcode + "'", "Gy_BarCodeBill");
+
+                bool bResult = true;
+
+                if (ds != null || ds.Tables[0].Rows.Count > 0) 
+                {
+                    Model.ClsGy_BarCodeEdit_Model model = new Model.ClsGy_BarCodeEdit_Model();
+                    for (Int64 i = 0; i < splitnum; i++)
+                    {
+                        model.HEntryID = i + 1;
+                        model.HInterID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[0]["HInterID"].ToString());
+                        model.HBarCode = DBUtility.ClsPub.isStrNull(lsmain[Convert.ToInt32(i)].HBarCode);
+                        model.HQty = DBUtility.ClsPub.isLong(lsmain[Convert.ToInt32(i)].HSplitNum);
+                        model.HQty = DBUtility.ClsPub.isInt(lsmain[Convert.ToInt32(i)].HSplitNum);
+                        model.HBatchNo = DBUtility.ClsPub.isStrNull(lsmain[Convert.ToInt32(i)].HBatchNo);
+                        model.HMaterID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[0]["HMaterID"].ToString());
+                        model.HUnitID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[0]["HUnitID"].ToString());
+                        model.HSupID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[0]["HSupID"].ToString());
+                        model.HDeptID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[0]["HDeptID"].ToString());
+                        model.HEmpID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[0]["HEmpID"].ToString());
+                        model.HBarCodeType = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBarCodeType"].ToString());
+                        model.HItemSubID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[0]["HItemSubID"].ToString());
+                        model.HGroupID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[0]["HGroupID"].ToString());
+                        model.HSourceInterID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[0]["HSourceInterID"].ToString());
+                        model.HSourceEntryID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[0]["HSourceEntryID"].ToString());
+                        model.HSourceBillNo = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HSourceBillNo"].ToString());
+                        model.HSourceBillType = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HSourceBillType"].ToString());
+                        model.HUseFlag = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HUseFlag"].ToString());
+                        model.HInitQty = DBUtility.ClsPub.isDoule(ds.Tables[0].Rows[0]["HInitQty"].ToString());
+                        model.HSourceID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[0]["HInitQty"].ToString());
+                        model.HCusID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[0]["HCusID"].ToString());
+                        model.HSTOCKORGID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[0]["HSTOCKORGID"].ToString());
+                        model.HOWNERID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[0]["HOWNERID"].ToString());
+                        model.HBarCodeDate = DBUtility.ClsPub.isDate(ds.Tables[0].Rows[0]["HBarCodeDate"].ToString());
+                        model.HInnerBillNo = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HInnerBillNo"].ToString());
+                        model.HMZ = DBUtility.ClsPub.isDoule(ds.Tables[0].Rows[0]["HMZ"].ToString());
+
+                        model.HMakeDate = DateTime.Now;
+                        model.HMaker = user;
+
+                        BillNew.DetailColl_Mater.Add(model);
+
+                        //淇濆瓨
+                        bResult = BillNew.AddBill(ref ClsPub.sExeReturnInfo, barcode);
+
+                        BillNew.DetailColl_Mater.Remove(model);
+                    }
+
+                }
+               
+                if (bResult)
+                {
+                    oCN.Commit();
+                    objJsonResult.code = "1";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "淇濆瓨鎴愬姛锛�";
+                    objJsonResult.data = 1;
+                    return objJsonResult;
+                }
+                else
+                {
+                    oCN.RollBack();
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "淇濆瓨澶辫触锛�" + DBUtility.ClsPub.sExeReturnInfo;
+                    objJsonResult.data = 1;
+                    return objJsonResult;
+                }               
+            }
+            catch (Exception e)
+            {
+                oCN.RollBack();
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "淇濆瓨澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+    }
+}
\ No newline at end of file
diff --git a/WebAPI/ListModels.cs b/WebAPI/ListModels.cs
index 45d8ac3..b091113 100644
--- a/WebAPI/ListModels.cs
+++ b/WebAPI/ListModels.cs
@@ -959,6 +959,18 @@
         }
 
         /// <summary>
+        /// 澶勭悊鏂板鏉$爜鎷嗙爜鐨刯son
+        /// </summary>
+        /// <param name="jsonString"></param>
+        /// <returns></returns>
+        public List<Model.ClsGy_BarCodeEdit_Model> getObjectByJson_Gy_SplitBarCode(string jsonString)
+        {
+            //jsonString = "[" + jsonString.ToString() + "]";
+            List<Model.ClsGy_BarCodeEdit_Model> list = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Model.ClsGy_BarCodeEdit_Model>>(jsonString);
+            return list;
+        }
+
+        /// <summary>
         /// 澶勭悊搴撳瓨鐘舵�佽〃鐨刯son
         /// </summary>
         /// <param name="jsonString"></param>
diff --git a/WebAPI/Models/ClsGy_ProcPrice.cs b/WebAPI/Models/ClsGy_ProcPrice.cs
index 176a764..c45aa5c 100644
--- a/WebAPI/Models/ClsGy_ProcPrice.cs
+++ b/WebAPI/Models/ClsGy_ProcPrice.cs
@@ -10,7 +10,7 @@
         public long HMaterIDCol { get; set; }
         public long HProcIDCol { get; set; }
         public long HSourceIDCol { get; set; }
-        public long HPriceCol { get; set; }
+        public decimal HPriceCol { get; set; }
 
         public DateTime HBeginDateCol { get; set; }
 
diff --git a/WebAPI/WebAPI.csproj b/WebAPI/WebAPI.csproj
index d4467a4..1706d0b 100644
--- a/WebAPI/WebAPI.csproj
+++ b/WebAPI/WebAPI.csproj
@@ -464,6 +464,7 @@
     <Compile Include="Controllers\浠撳瓨绠$悊\鏉$爜鍑哄叆搴撹褰昞Kf_ICStockInOutBillController.cs" />
     <Compile Include="Controllers\浠撳瓨绠$悊\鏉$爜搴撳瓨\KF_ICInventoryList_WMSBillController.cs" />
     <Compile Include="Controllers\浠撳瓨绠$悊\鏉$爜鐢熸垚\Gy_BarCodeBill_OutController.cs" />
+    <Compile Include="Controllers\浠撳瓨绠$悊\鏉$爜鐢熸垚\Gy_SplitBarCodeController.cs" />
     <Compile Include="Controllers\浠撳瓨绠$悊\鏉$爜鐢熸垚\KF_BarCodeStatusChangeBillController.cs" />
     <Compile Include="Controllers\浠撳瓨绠$悊\鏉$爜鐢熸垚\Sc_BarCodeController.cs" />
     <Compile Include="Controllers\浠撳瓨绠$悊\璋冩嫧鐩樼偣\Kf_MoveStockRequestBillController.cs" />
@@ -946,6 +947,7 @@
     <Folder Include="Views\Gy_RoutingGroup\" />
     <Folder Include="Views\Gy_SettleStyle\" />
     <Folder Include="Views\Gy_SOPBill\" />
+    <Folder Include="Views\Gy_SplitBarCode\" />
     <Folder Include="Views\Gy_Staff\" />
     <Folder Include="Views\Gy_StdMinPickQty\" />
     <Folder Include="Views\Gy_StockPlace_\" />
diff --git a/WorkM/WorkM.csproj b/WorkM/WorkM.csproj
index e33ea83..1a5def4 100644
--- a/WorkM/WorkM.csproj
+++ b/WorkM/WorkM.csproj
@@ -227,6 +227,12 @@
     <Compile Include="鎶ヨ〃鍒嗘瀽\Sc_WareHouseReport.Designer.cs">
       <DependentUpon>Sc_WareHouseReport.cs</DependentUpon>
     </Compile>
+    <Compile Include="鎶ヨ〃鍒嗘瀽\Sc_OverProdReport.cs">
+      <SubType>Form</SubType>
+    </Compile>
+    <Compile Include="鎶ヨ〃鍒嗘瀽\Sc_OverProdReport.Designer.cs">
+      <DependentUpon>Sc_OverProdReport.cs</DependentUpon>
+    </Compile>
     <Compile Include="鎶ヨ〃鍒嗘瀽\Sc_WorkShopReport.cs">
       <SubType>Form</SubType>
     </Compile>
@@ -986,6 +992,9 @@
     <EmbeddedResource Include="鎶ヨ〃鍒嗘瀽\Sc_WareHouseReport.resx">
       <DependentUpon>Sc_WareHouseReport.cs</DependentUpon>
     </EmbeddedResource>
+    <EmbeddedResource Include="鎶ヨ〃鍒嗘瀽\Sc_OverProdReport.resx">
+      <DependentUpon>Sc_OverProdReport.cs</DependentUpon>
+    </EmbeddedResource>
     <EmbeddedResource Include="鎶ヨ〃鍒嗘瀽\Sc_WorkShopReport.resx">
       <DependentUpon>Sc_WorkShopReport.cs</DependentUpon>
     </EmbeddedResource>
diff --git "a/WorkM/\346\212\245\350\241\250\345\210\206\346\236\220/Sc_OverProdReport.Designer.cs" "b/WorkM/\346\212\245\350\241\250\345\210\206\346\236\220/Sc_OverProdReport.Designer.cs"
new file mode 100644
index 0000000..e1696ff
--- /dev/null
+++ "b/WorkM/\346\212\245\350\241\250\345\210\206\346\236\220/Sc_OverProdReport.Designer.cs"
@@ -0,0 +1,532 @@
+锘縩amespace WorkM
+{
+    partial class Sc_OverProdReport
+    {
+        /// <summary>
+        /// 蹇呴渶鐨勮璁″櫒鍙橀噺銆�
+        /// </summary>
+        private System.ComponentModel.IContainer components = null;
+
+        /// <summary>
+        /// 娓呯悊鎵�鏈夋鍦ㄤ娇鐢ㄧ殑璧勬簮銆�
+        /// </summary>
+        /// <param name="disposing">濡傛灉搴旈噴鏀炬墭绠¤祫婧愶紝涓� true锛涘惁鍒欎负 false銆�</param>
+        protected override void Dispose(bool disposing)
+        {
+            if (disposing && (components != null))
+            {
+                components.Dispose();
+            }
+            base.Dispose(disposing);
+        }
+
+        #region Windows 绐椾綋璁捐鍣ㄧ敓鎴愮殑浠g爜
+
+        /// <summary>
+        /// 璁捐鍣ㄦ敮鎸佹墍闇�鐨勬柟娉� - 涓嶈
+        /// 浣跨敤浠g爜缂栬緫鍣ㄤ慨鏀规鏂规硶鐨勫唴瀹广��
+        /// </summary>
+        private void InitializeComponent()
+        {
+            this.components = new System.ComponentModel.Container();
+            System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Sc_ProcExchListReport));
+            this.timer1 = new System.Windows.Forms.Timer(this.components);
+            this.Tool = new System.Windows.Forms.ToolStrip();
+            this.yl = new System.Windows.Forms.ToolStripButton();
+            this.toolStripSeparator4 = new System.Windows.Forms.ToolStripSeparator();
+            this.dy = new System.Windows.Forms.ToolStripButton();
+            this.view = new System.Windows.Forms.ToolStripButton();
+            this.toolStripSeparator2 = new System.Windows.Forms.ToolStripSeparator();
+            this.cx = new System.Windows.Forms.ToolStripButton();
+            this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator();
+            this.tc = new System.Windows.Forms.ToolStripButton();
+            this.toolStripSeparator3 = new System.Windows.Forms.ToolStripSeparator();
+            this.toolStripSeparator8 = new System.Windows.Forms.ToolStripSeparator();
+            this.mrlk = new System.Windows.Forms.ToolStripButton();
+            this.toolStripSeparator7 = new System.Windows.Forms.ToolStripSeparator();
+            this.bclk = new System.Windows.Forms.ToolStripButton();
+            this.toolStripSeparator9 = new System.Windows.Forms.ToolStripSeparator();
+            this.pPic = new System.Windows.Forms.Panel();
+            this.dataGridView1 = new System.Windows.Forms.DataGridView();
+            //this.cmdHEDeptID = new System.Windows.Forms.Button();
+            //this.cmdHBDeptID = new System.Windows.Forms.Button();
+            //this.label6 = new System.Windows.Forms.Label();
+            //this.txtHEDeptID = new System.Windows.Forms.TextBox();
+            //this.txtHBDeptID = new System.Windows.Forms.TextBox();
+            //this.label1 = new System.Windows.Forms.Label();
+            //this.dtpHEDate = new System.Windows.Forms.DateTimePicker();
+            //this.label3 = new System.Windows.Forms.Label();
+            //this.dtpHBDate = new System.Windows.Forms.DateTimePicker();
+            //this.label4 = new System.Windows.Forms.Label();
+            this.lblCaption = new System.Windows.Forms.Label();
+            this.timer2 = new System.Windows.Forms.Timer(this.components);
+            this.grdMain = new System.Windows.Forms.DataGridView();
+            this.grdSum = new System.Windows.Forms.DataGridView();
+            this.toolStripDropDownButton1 = new System.Windows.Forms.ToolStripDropDownButton();
+            this.eXCELToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+            this.cSVToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+            this.Tool.SuspendLayout();
+            this.pPic.SuspendLayout();
+            ((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.grdMain)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.grdSum)).BeginInit();
+            this.SuspendLayout();
+            // 
+            // timer1
+            // 
+            this.timer1.Tick += new System.EventHandler(this.timer1_Tick);
+            // 
+            // Tool
+            // 
+            this.Tool.AutoSize = false;
+            this.Tool.BackColor = System.Drawing.SystemColors.Control;
+            this.Tool.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("Tool.BackgroundImage")));
+            this.Tool.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch;
+            this.Tool.ImageScalingSize = new System.Drawing.Size(22, 22);
+            this.Tool.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
+            this.toolStripDropDownButton1,
+            this.yl,
+            this.toolStripSeparator4,
+            this.dy,
+            this.view,
+            this.toolStripSeparator2,
+            this.cx,
+            this.toolStripSeparator1,
+            this.tc,
+            this.toolStripSeparator3,
+            this.toolStripSeparator8,
+            this.mrlk,
+            this.toolStripSeparator7,
+            this.bclk,
+            this.toolStripSeparator9});
+            this.Tool.Location = new System.Drawing.Point(0, 0);
+            this.Tool.Name = "Tool";
+            this.Tool.Padding = new System.Windows.Forms.Padding(0);
+            this.Tool.Size = new System.Drawing.Size(1257, 59);
+            this.Tool.Stretch = true;
+            this.Tool.TabIndex = 16;
+            this.Tool.Text = "toolStrip1";
+            // 
+            // yl
+            // 
+            this.yl.AutoSize = false;
+            this.yl.Image = ((System.Drawing.Image)(resources.GetObject("yl.Image")));
+            this.yl.ImageAlign = System.Drawing.ContentAlignment.BottomCenter;
+            this.yl.ImageScaling = System.Windows.Forms.ToolStripItemImageScaling.None;
+            this.yl.ImageTransparentColor = System.Drawing.Color.Magenta;
+            this.yl.Name = "yl";
+            this.yl.Size = new System.Drawing.Size(35, 42);
+            this.yl.Text = "寮曞嚭";
+            this.yl.TextAlign = System.Drawing.ContentAlignment.BottomCenter;
+            this.yl.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageAboveText;
+            this.yl.Visible = false;
+            this.yl.Click += new System.EventHandler(this.yc_Click);
+            // 
+            // toolStripSeparator4
+            // 
+            this.toolStripSeparator4.Name = "toolStripSeparator4";
+            this.toolStripSeparator4.Size = new System.Drawing.Size(6, 59);
+            this.toolStripSeparator4.Visible = false;
+            // 
+            // dy
+            // 
+            this.dy.AutoSize = false;
+            this.dy.Image = ((System.Drawing.Image)(resources.GetObject("dy.Image")));
+            this.dy.ImageAlign = System.Drawing.ContentAlignment.BottomCenter;
+            this.dy.ImageScaling = System.Windows.Forms.ToolStripItemImageScaling.None;
+            this.dy.ImageTransparentColor = System.Drawing.Color.Magenta;
+            this.dy.Name = "dy";
+            this.dy.Size = new System.Drawing.Size(35, 42);
+            this.dy.Text = "鎵撳嵃";
+            this.dy.TextAlign = System.Drawing.ContentAlignment.BottomCenter;
+            this.dy.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageAboveText;
+            this.dy.Visible = false;
+            this.dy.Click += new System.EventHandler(this.dy_Click);
+            // 
+            // view
+            // 
+            this.view.AutoSize = false;
+            this.view.Image = ((System.Drawing.Image)(resources.GetObject("view.Image")));
+            this.view.ImageAlign = System.Drawing.ContentAlignment.BottomCenter;
+            this.view.ImageScaling = System.Windows.Forms.ToolStripItemImageScaling.None;
+            this.view.ImageTransparentColor = System.Drawing.Color.Magenta;
+            this.view.Name = "view";
+            this.view.Size = new System.Drawing.Size(35, 42);
+            this.view.Text = "棰勮";
+            this.view.TextAlign = System.Drawing.ContentAlignment.BottomCenter;
+            this.view.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageAboveText;
+            this.view.Visible = false;
+            this.view.Click += new System.EventHandler(this.view_Click);
+            // 
+            // toolStripSeparator2
+            // 
+            this.toolStripSeparator2.Name = "toolStripSeparator2";
+            this.toolStripSeparator2.Size = new System.Drawing.Size(6, 59);
+            // 
+            // cx
+            // 
+            this.cx.AutoSize = false;
+            this.cx.Image = ((System.Drawing.Image)(resources.GetObject("cx.Image")));
+            this.cx.ImageAlign = System.Drawing.ContentAlignment.BottomCenter;
+            this.cx.ImageScaling = System.Windows.Forms.ToolStripItemImageScaling.None;
+            this.cx.ImageTransparentColor = System.Drawing.Color.White;
+            this.cx.Name = "cx";
+            this.cx.Size = new System.Drawing.Size(35, 42);
+            this.cx.Text = "鏌ヨ";
+            this.cx.TextAlign = System.Drawing.ContentAlignment.BottomCenter;
+            this.cx.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageAboveText;
+            this.cx.Click += new System.EventHandler(this.cx_Click);
+            // 
+            // toolStripSeparator1
+            // 
+            this.toolStripSeparator1.Name = "toolStripSeparator1";
+            this.toolStripSeparator1.Size = new System.Drawing.Size(6, 59);
+            // 
+            // tc
+            // 
+            this.tc.AutoSize = false;
+            this.tc.Image = ((System.Drawing.Image)(resources.GetObject("tc.Image")));
+            this.tc.ImageAlign = System.Drawing.ContentAlignment.BottomCenter;
+            this.tc.ImageScaling = System.Windows.Forms.ToolStripItemImageScaling.None;
+            this.tc.ImageTransparentColor = System.Drawing.Color.White;
+            this.tc.Name = "tc";
+            this.tc.Size = new System.Drawing.Size(35, 42);
+            this.tc.Text = "閫�鍑�";
+            this.tc.TextAlign = System.Drawing.ContentAlignment.BottomCenter;
+            this.tc.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageAboveText;
+            this.tc.Click += new System.EventHandler(this.tc_Click);
+            // 
+            // toolStripSeparator3
+            // 
+            this.toolStripSeparator3.Name = "toolStripSeparator3";
+            this.toolStripSeparator3.Size = new System.Drawing.Size(6, 59);
+            // 
+            // toolStripSeparator8
+            // 
+            this.toolStripSeparator8.Alignment = System.Windows.Forms.ToolStripItemAlignment.Right;
+            this.toolStripSeparator8.Name = "toolStripSeparator8";
+            this.toolStripSeparator8.Size = new System.Drawing.Size(6, 59);
+            // 
+            // mrlk
+            // 
+            this.mrlk.Alignment = System.Windows.Forms.ToolStripItemAlignment.Right;
+            this.mrlk.Image = ((System.Drawing.Image)(resources.GetObject("mrlk.Image")));
+            this.mrlk.ImageAlign = System.Drawing.ContentAlignment.BottomCenter;
+            this.mrlk.ImageScaling = System.Windows.Forms.ToolStripItemImageScaling.None;
+            this.mrlk.ImageTransparentColor = System.Drawing.Color.White;
+            this.mrlk.Name = "mrlk";
+            this.mrlk.Size = new System.Drawing.Size(73, 56);
+            this.mrlk.Text = "榛樿鍒楀";
+            this.mrlk.TextAlign = System.Drawing.ContentAlignment.BottomCenter;
+            this.mrlk.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageAboveText;
+            this.mrlk.Click += new System.EventHandler(this.mrlk_Click);
+            // 
+            // toolStripSeparator7
+            // 
+            this.toolStripSeparator7.Alignment = System.Windows.Forms.ToolStripItemAlignment.Right;
+            this.toolStripSeparator7.Name = "toolStripSeparator7";
+            this.toolStripSeparator7.Size = new System.Drawing.Size(6, 59);
+            // 
+            // bclk
+            // 
+            this.bclk.Alignment = System.Windows.Forms.ToolStripItemAlignment.Right;
+            this.bclk.Image = ((System.Drawing.Image)(resources.GetObject("bclk.Image")));
+            this.bclk.ImageAlign = System.Drawing.ContentAlignment.BottomCenter;
+            this.bclk.ImageScaling = System.Windows.Forms.ToolStripItemImageScaling.None;
+            this.bclk.ImageTransparentColor = System.Drawing.Color.White;
+            this.bclk.Name = "bclk";
+            this.bclk.Size = new System.Drawing.Size(73, 56);
+            this.bclk.Text = "淇濆瓨鍒楀";
+            this.bclk.TextAlign = System.Drawing.ContentAlignment.BottomCenter;
+            this.bclk.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageAboveText;
+            this.bclk.Click += new System.EventHandler(this.bclk_Click);
+            // 
+            // toolStripSeparator9
+            // 
+            this.toolStripSeparator9.Alignment = System.Windows.Forms.ToolStripItemAlignment.Right;
+            this.toolStripSeparator9.Name = "toolStripSeparator9";
+            this.toolStripSeparator9.Size = new System.Drawing.Size(6, 59);
+            // 
+            // pPic
+            // 
+            this.pPic.BackColor = System.Drawing.Color.White;
+            this.pPic.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("pPic.BackgroundImage")));
+            this.pPic.BackgroundImageLayout = System.Windows.Forms.ImageLayout.None;
+            this.pPic.Controls.Add(this.dataGridView1);
+            //this.pPic.Controls.Add(this.cmdHEDeptID);
+            //this.pPic.Controls.Add(this.cmdHBDeptID);
+            //this.pPic.Controls.Add(this.label6);
+            //this.pPic.Controls.Add(this.txtHEDeptID);
+            //this.pPic.Controls.Add(this.txtHBDeptID);
+            //this.pPic.Controls.Add(this.label1);
+            //this.pPic.Controls.Add(this.dtpHEDate);
+            //this.pPic.Controls.Add(this.label3);
+            //this.pPic.Controls.Add(this.dtpHBDate);
+            //this.pPic.Controls.Add(this.label4);
+            this.pPic.Controls.Add(this.lblCaption);
+            this.pPic.Dock = System.Windows.Forms.DockStyle.Top;
+            this.pPic.Location = new System.Drawing.Point(0, 59);
+            this.pPic.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
+            this.pPic.Name = "pPic";
+            this.pPic.Size = new System.Drawing.Size(1257, 69);
+            this.pPic.TabIndex = 17;
+            // 
+            // dataGridView1
+            // 
+            this.dataGridView1.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
+            this.dataGridView1.Location = new System.Drawing.Point(1217, 6);
+            this.dataGridView1.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
+            this.dataGridView1.Name = "dataGridView1";
+            this.dataGridView1.RowTemplate.Height = 23;
+            this.dataGridView1.Size = new System.Drawing.Size(36, 19);
+            this.dataGridView1.TabIndex = 68;
+            this.dataGridView1.Visible = false;
+            //// 
+            //// cmdHEDeptID
+            //// 
+            //this.cmdHEDeptID.Image = ((System.Drawing.Image)(resources.GetObject("cmdHEDeptID.Image")));
+            //this.cmdHEDeptID.ImageAlign = System.Drawing.ContentAlignment.TopRight;
+            //this.cmdHEDeptID.Location = new System.Drawing.Point(733, 32);
+            //this.cmdHEDeptID.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
+            //this.cmdHEDeptID.Name = "cmdHEDeptID";
+            //this.cmdHEDeptID.Size = new System.Drawing.Size(29, 28);
+            //this.cmdHEDeptID.TabIndex = 67;
+            //this.cmdHEDeptID.UseVisualStyleBackColor = true;
+            //this.cmdHEDeptID.Click += new System.EventHandler(this.cmdHEDeptID_Click);
+            //// 
+            //// cmdHBDeptID
+            //// 
+            //this.cmdHBDeptID.Image = ((System.Drawing.Image)(resources.GetObject("cmdHBDeptID.Image")));
+            //this.cmdHBDeptID.ImageAlign = System.Drawing.ContentAlignment.TopRight;
+            //this.cmdHBDeptID.Location = new System.Drawing.Point(733, 4);
+            //this.cmdHBDeptID.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
+            //this.cmdHBDeptID.Name = "cmdHBDeptID";
+            //this.cmdHBDeptID.Size = new System.Drawing.Size(29, 28);
+            //this.cmdHBDeptID.TabIndex = 66;
+            //this.cmdHBDeptID.UseVisualStyleBackColor = true;
+            //this.cmdHBDeptID.Click += new System.EventHandler(this.cmdHBDeptID_Click);
+            //// 
+            //// label6
+            //// 
+            //this.label6.AutoSize = true;
+            //this.label6.BackColor = System.Drawing.Color.Transparent;
+            //this.label6.Location = new System.Drawing.Point(543, 39);
+            //this.label6.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
+            //this.label6.Name = "label6";
+            //this.label6.Size = new System.Drawing.Size(22, 15);
+            //this.label6.TabIndex = 65;
+            //this.label6.Text = "鑷�";
+            //// 
+            //// txtHEDeptID
+            //// 
+            //this.txtHEDeptID.Location = new System.Drawing.Point(579, 34);
+            //this.txtHEDeptID.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
+            //this.txtHEDeptID.Name = "txtHEDeptID";
+            //this.txtHEDeptID.Size = new System.Drawing.Size(160, 25);
+            //this.txtHEDeptID.TabIndex = 64;
+            //// 
+            //// txtHBDeptID
+            //// 
+            //this.txtHBDeptID.Location = new System.Drawing.Point(579, 5);
+            //this.txtHBDeptID.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
+            //this.txtHBDeptID.Name = "txtHBDeptID";
+            //this.txtHBDeptID.Size = new System.Drawing.Size(160, 25);
+            //this.txtHBDeptID.TabIndex = 63;
+            //// 
+            //// label1
+            //// 
+            //this.label1.AutoSize = true;
+            //this.label1.BackColor = System.Drawing.Color.Transparent;
+            //this.label1.Location = new System.Drawing.Point(512, 10);
+            //this.label1.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
+            //this.label1.Name = "label1";
+            //this.label1.Size = new System.Drawing.Size(61, 15);
+            //this.label1.TabIndex = 62;
+            //this.label1.Text = "閮�   闂�";
+            //// 
+            //// dtpHEDate
+            //// 
+            //this.dtpHEDate.Format = System.Windows.Forms.DateTimePickerFormat.Short;
+            //this.dtpHEDate.Location = new System.Drawing.Point(352, 35);
+            //this.dtpHEDate.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
+            //this.dtpHEDate.Name = "dtpHEDate";
+            //this.dtpHEDate.Size = new System.Drawing.Size(147, 25);
+            //this.dtpHEDate.TabIndex = 61;
+            //// 
+            //// label3
+            //// 
+            //this.label3.AutoSize = true;
+            //this.label3.BackColor = System.Drawing.Color.Transparent;
+            //this.label3.Location = new System.Drawing.Point(276, 39);
+            //this.label3.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
+            //this.label3.Name = "label3";
+            //this.label3.Size = new System.Drawing.Size(67, 15);
+            //this.label3.TabIndex = 60;
+            //this.label3.Text = "缁撴潫鏃ユ湡";
+            //// 
+            //// dtpHBDate
+            //// 
+            //this.dtpHBDate.Format = System.Windows.Forms.DateTimePickerFormat.Short;
+            //this.dtpHBDate.Location = new System.Drawing.Point(352, 6);
+            //this.dtpHBDate.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
+            //this.dtpHBDate.Name = "dtpHBDate";
+            //this.dtpHBDate.Size = new System.Drawing.Size(147, 25);
+            //this.dtpHBDate.TabIndex = 59;
+            //// 
+            //// label4
+            //// 
+            //this.label4.AutoSize = true;
+            //this.label4.BackColor = System.Drawing.Color.Transparent;
+            //this.label4.Location = new System.Drawing.Point(276, 10);
+            //this.label4.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
+            //this.label4.Name = "label4";
+            //this.label4.Size = new System.Drawing.Size(67, 15);
+            //this.label4.TabIndex = 58;
+            //this.label4.Text = "寮�濮嬫棩鏈�";
+            // 
+            // lblCaption
+            // 
+            this.lblCaption.AutoSize = true;
+            this.lblCaption.BackColor = System.Drawing.Color.Transparent;
+            this.lblCaption.Cursor = System.Windows.Forms.Cursors.No;
+            this.lblCaption.Font = new System.Drawing.Font("瀹嬩綋", 14.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.lblCaption.Location = new System.Drawing.Point(16, 20);
+            this.lblCaption.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
+            this.lblCaption.Name = "lblCaption";
+            this.lblCaption.Size = new System.Drawing.Size(179, 24);
+            this.lblCaption.TabIndex = 4;
+            this.lblCaption.Text = "ReportTemplet";
+            // 
+            // timer2
+            // 
+            this.timer2.Tick += new System.EventHandler(this.timer2_Tick);
+            // 
+            // grdMain
+            // 
+            this.grdMain.AllowUserToAddRows = false;
+            this.grdMain.AllowUserToDeleteRows = false;
+            this.grdMain.BackgroundColor = System.Drawing.Color.White;
+            this.grdMain.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
+            this.grdMain.Dock = System.Windows.Forms.DockStyle.Fill;
+            this.grdMain.Location = new System.Drawing.Point(0, 128);
+            this.grdMain.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
+            this.grdMain.Name = "grdMain";
+            this.grdMain.ReadOnly = true;
+            this.grdMain.RowTemplate.Height = 23;
+            this.grdMain.Size = new System.Drawing.Size(1257, 414);
+            this.grdMain.TabIndex = 54;
+            this.grdMain.CellMouseUp += new System.Windows.Forms.DataGridViewCellMouseEventHandler(this.grdMain_CellMouseUp);
+            this.grdMain.Paint += new System.Windows.Forms.PaintEventHandler(this.grdMain_Paint);
+            this.grdMain.ColumnWidthChanged += new System.Windows.Forms.DataGridViewColumnEventHandler(this.grdMain_ColumnWidthChanged);
+            // 
+            // grdSum
+            // 
+            this.grdSum.AllowUserToAddRows = false;
+            this.grdSum.AllowUserToDeleteRows = false;
+            this.grdSum.BackgroundColor = System.Drawing.SystemColors.Control;
+            this.grdSum.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
+            this.grdSum.Dock = System.Windows.Forms.DockStyle.Bottom;
+            this.grdSum.Location = new System.Drawing.Point(0, 542);
+            this.grdSum.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
+            this.grdSum.Name = "grdSum";
+            this.grdSum.ReadOnly = true;
+            this.grdSum.RowTemplate.Height = 23;
+            this.grdSum.ScrollBars = System.Windows.Forms.ScrollBars.None;
+            this.grdSum.Size = new System.Drawing.Size(1257, 24);
+            this.grdSum.TabIndex = 55;
+            // 
+            // toolStripDropDownButton1
+            // 
+            this.toolStripDropDownButton1.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
+            this.eXCELToolStripMenuItem,
+            this.cSVToolStripMenuItem});
+            this.toolStripDropDownButton1.Image = ((System.Drawing.Image)(resources.GetObject("toolStripDropDownButton1.Image")));
+            this.toolStripDropDownButton1.ImageScaling = System.Windows.Forms.ToolStripItemImageScaling.None;
+            this.toolStripDropDownButton1.ImageTransparentColor = System.Drawing.Color.Magenta;
+            this.toolStripDropDownButton1.Name = "toolStripDropDownButton1";
+            this.toolStripDropDownButton1.Size = new System.Drawing.Size(52, 56);
+            this.toolStripDropDownButton1.Text = "寮曞嚭";
+            this.toolStripDropDownButton1.TextAlign = System.Drawing.ContentAlignment.BottomCenter;
+            this.toolStripDropDownButton1.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageAboveText;
+            // 
+            // eXCELToolStripMenuItem
+            // 
+            this.eXCELToolStripMenuItem.Name = "eXCELToolStripMenuItem";
+            this.eXCELToolStripMenuItem.Size = new System.Drawing.Size(152, 24);
+            this.eXCELToolStripMenuItem.Text = "EXCEL";
+            this.eXCELToolStripMenuItem.Click += new System.EventHandler(this.eXCELToolStripMenuItem_Click);
+            // 
+            // cSVToolStripMenuItem
+            // 
+            this.cSVToolStripMenuItem.Name = "cSVToolStripMenuItem";
+            this.cSVToolStripMenuItem.Size = new System.Drawing.Size(152, 24);
+            this.cSVToolStripMenuItem.Text = "CSV";
+            this.cSVToolStripMenuItem.Click += new System.EventHandler(this.cSVToolStripMenuItem_Click);
+            // 
+            // Sc_ProcExchListReport
+            // 
+            this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 15F);
+            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+            this.ClientSize = new System.Drawing.Size(1257, 566);
+            this.Controls.Add(this.grdMain);
+            this.Controls.Add(this.grdSum);
+            this.Controls.Add(this.pPic);
+            this.Controls.Add(this.Tool);
+            this.KeyPreview = true;
+            this.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
+            this.Name = "Sc_ProcExchListReport";
+            this.Text = "ReportTemplet";
+            this.WindowState = System.Windows.Forms.FormWindowState.Maximized;
+            this.Load += new System.EventHandler(this.Frm_EasyReport_Load);
+            this.KeyUp += new System.Windows.Forms.KeyEventHandler(this.Sc_ProcExchListReport_KeyUp);
+            this.KeyDown += new System.Windows.Forms.KeyEventHandler(this.Sc_ProcExchListReport_KeyDown);
+            this.Tool.ResumeLayout(false);
+            this.Tool.PerformLayout();
+            this.pPic.ResumeLayout(false);
+            this.pPic.PerformLayout();
+            ((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.grdMain)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.grdSum)).EndInit();
+            this.ResumeLayout(false);
+
+        }
+
+        #endregion
+
+        public System.Windows.Forms.Timer timer1;
+        private System.Windows.Forms.ToolStrip Tool;
+        private System.Windows.Forms.ToolStripButton yl;
+        private System.Windows.Forms.ToolStripSeparator toolStripSeparator4;
+        private System.Windows.Forms.ToolStripButton dy;
+        private System.Windows.Forms.ToolStripButton view;
+        private System.Windows.Forms.ToolStripSeparator toolStripSeparator2;
+        private System.Windows.Forms.ToolStripButton cx;
+        private System.Windows.Forms.ToolStripSeparator toolStripSeparator1;
+        private System.Windows.Forms.ToolStripButton tc;
+        private System.Windows.Forms.ToolStripSeparator toolStripSeparator3;
+        private System.Windows.Forms.ToolStripSeparator toolStripSeparator8;
+        private System.Windows.Forms.ToolStripButton mrlk;
+        private System.Windows.Forms.ToolStripSeparator toolStripSeparator7;
+        private System.Windows.Forms.ToolStripButton bclk;
+        private System.Windows.Forms.ToolStripSeparator toolStripSeparator9;
+        private System.Windows.Forms.Panel pPic;
+        private System.Windows.Forms.Label lblCaption;
+        private System.Windows.Forms.DateTimePicker dtpHEDate;
+        private System.Windows.Forms.Label label3;
+        private System.Windows.Forms.DateTimePicker dtpHBDate;
+        private System.Windows.Forms.Label label4;
+        private System.Windows.Forms.Timer timer2;
+        private System.Windows.Forms.DataGridView grdMain;
+        private System.Windows.Forms.DataGridView grdSum;
+        private System.Windows.Forms.Button cmdHEDeptID;
+        private System.Windows.Forms.Button cmdHBDeptID;
+        private System.Windows.Forms.Label label6;
+        public System.Windows.Forms.TextBox txtHEDeptID;
+        public System.Windows.Forms.TextBox txtHBDeptID;
+        private System.Windows.Forms.Label label1;
+        private System.Windows.Forms.DataGridView dataGridView1;
+        private System.Windows.Forms.ToolStripDropDownButton toolStripDropDownButton1;
+        private System.Windows.Forms.ToolStripMenuItem eXCELToolStripMenuItem;
+        private System.Windows.Forms.ToolStripMenuItem cSVToolStripMenuItem;
+    }
+}
\ No newline at end of file
diff --git "a/WorkM/\346\212\245\350\241\250\345\210\206\346\236\220/Sc_OverProdReport.cs" "b/WorkM/\346\212\245\350\241\250\345\210\206\346\236\220/Sc_OverProdReport.cs"
new file mode 100644
index 0000000..4f33691
--- /dev/null
+++ "b/WorkM/\346\212\245\350\241\250\345\210\206\346\236\220/Sc_OverProdReport.cs"
@@ -0,0 +1,342 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Data;
+using System.Drawing;
+using System.Text;
+using System.Windows.Forms;
+using System.Runtime.InteropServices;
+using gregn6Lib;
+using DBUtility;
+using SQLHelper;
+
+namespace WorkM
+{
+    public partial class Sc_OverProdReport : Form
+    {
+        public Sc_OverProdReport()
+        {
+            InitializeComponent();
+        }
+
+        public string ModName = "";
+        public string ModCaption = "瓒呬骇鎶ヨ〃";
+        Pub_Class.ClsGridListSum oSumGrid = new Pub_Class.ClsGridListSum();
+
+
+        #region 鍥哄畾浠g爜 
+
+        private void initGrid()
+        {
+            DBUtility.Xt_BaseBillFun.initGridRpt(grdMain, this.Name);
+        }
+
+        //寰楀埌瀵瑰簲鍒�
+        private Int32 Fun_GetCol(string sCol)
+        {
+            return DBUtility.Xt_BaseBillFun.Fun_GetCol(sCol, grdMain);
+        }
+
+        private void tc_Click(object sender, EventArgs e)
+        {
+            this.Close();
+        }
+        private void TotalAll()
+        {
+            if (grdMain.Rows.Count > 0 && grdMain.ColumnCount > 0)
+            {
+                oSumGrid.SetGridsum();
+                oSumGrid.TotalAll();
+            }
+        }
+
+        //Sc_ProcExchListReportDlg oDlg = new Sc_ProcExchListReportDlg();
+        private void cx_Click(object sender, EventArgs e)
+        {
+            //oDlg.ShowDialog();
+            //if (oDlg.IsOk == 1)
+            //{
+            timer1.Enabled = true;
+            //}
+        }
+        //璁剧疆鎶ヨ〃鍚嶇О
+        private void SetFormCaption()
+        {
+            this.Text = ModCaption;
+            lblCaption.Text = this.Text;
+            initGrid();//缃戞牸鏍囬鍒濆鍖�
+            initHeadCaption();//琛ㄥご鍒濆鍖�
+        }
+
+
+        private void Frm_EasyReport_Load(object sender, EventArgs e)
+        {
+            SetFormCaption();
+            oSumGrid.ogrdMain = grdMain;  //鍒濆鍖� new
+            oSumGrid.oGridsum = grdSum;
+        }
+
+
+        private void timer1_Tick(object sender, EventArgs e)
+        {
+            timer1.Enabled = false;
+            if (Fun_AllowQuery())
+            {
+                initGrid();
+                Xt_Wait oFrm = new Xt_Wait();
+                oFrm.Show();
+                System.Windows.Forms.Application.DoEvents();
+                Display();
+                System.Windows.Forms.Application.DoEvents();
+                oFrm.Close();
+                oFrm.Dispose();
+            }
+        }
+
+        private void Sc_ProcExchListReport_KeyUp(object sender, KeyEventArgs e)
+        {
+            if (e.KeyValue == 13)
+                timer1.Enabled = true;
+        }
+
+        private void mrlk_Click(object sender, EventArgs e)
+        {
+            DBUtility.Xt_BaseBillFun.DefaultGridView(grdMain, this.Name);
+        }
+
+        private void bclk_Click(object sender, EventArgs e)
+        {
+            //淇濆瓨鍒楀
+            DBUtility.Xt_BaseBillFun.SaveGrid(grdMain, this.Name);
+        }
+
+        //鎵撳嵃
+        private void dy_Click(object sender, EventArgs e)
+        {
+            Sub_SetReport();
+            Report.Print(true);
+        }
+        //棰勮
+        private void view_Click(object sender, EventArgs e)
+        {
+            Sub_SetReport();
+            Report.PrintPreview(true);
+        }
+
+        #endregion
+
+        #region 鐣岄潰澶勭悊
+        //鍒濆鍖栬〃澶存樉绀�
+        private void initHeadCaption()
+        {
+            //dtpHBDate.Value = DateTime.Today;
+            //dtpHEDate.Value = DateTime.Today;
+        }
+
+        private bool Fun_AllowQuery()//瀹℃牳鏌ヨ鏉′欢
+        {
+            //if (txtHBDeptID.Text.Trim().Length == 0)
+            //{
+            //    MessageBox.Show(this, "璇烽�夋嫨寮�濮嬮儴闂紒", "鎻愮ず");
+            //    return false;
+            //}
+            return true;
+        }
+
+        private void Display()
+        {
+            ClsCN SubCn = new ClsCN();
+            DataSet DSet;
+            DataSet DsHead;
+            DataSet DsQty;
+            int BCol = 7;
+            long HDeptID = 0;
+            long HMaterID = 0;
+            long HEmpID = 0;
+            long HProcID = 0;
+            //鏄剧ず鎶ヨ〃澶� 鏍囬
+
+            //鍋滄GRID鍒锋柊 鍔犲揩閫熷害
+
+            //杩囨护鏉′欢Dlg
+            //string sDlgWhere = "";
+            //sDlgWhere = sDlgWhere + ",'" + txtHBDeptID.Text.Trim() + "'";
+
+            //if (sDlgWhere.Trim().Length > 0)
+            //{
+            //    sDlgWhere = sDlgWhere.Substring(1, sDlgWhere.Length - 1);
+            //}
+            //
+            DSet = SubCn.RunProcReturn("exec h_p_CCBB " , "Gy_Czygl");
+            //鐢熸垚棣栬鏍囬
+            if (DSet == null)
+            {
+                MessageBox.Show("娌℃湁杩斿洖浠讳綍缁撴灉,灏濊瘯鍐嶆鏌ヨ锛�" + DBUtility.ClsPub.sExeReturnInfo);
+                return;
+            }
+            //
+            grdMain.DataSource = DSet.Tables[0].DefaultView;
+            //鑾峰彇鍔ㄦ�佸垪 锛堢墿鏂欎俊鎭級
+
+            //DsHead = SubCn.RunProcReturn("exec h_p_Sc_GetProcExchReportHead " + sDlgWhere, "Gy_Czygl");
+
+            //for (int a = 0; a < DsHead.Tables[0].Rows.Count; a++)
+            //{
+            //    if (ClsPub.isLong(DsHead.Tables[0].Rows[a]["HMaterID"]) != 0)
+            //    {
+            //        grdMain.Columns.Add(ClsPub.isStrNull(DsHead.Tables[0].Rows[a]["HMaterID"]), ClsPub.isStrNull(DsHead.Tables[0].Rows[a]["HName"]));
+            //        grdMain.Columns[BCol].Tag = ClsPub.isLong(DsHead.Tables[0].Rows[a]["HMaterID"]);
+            //        BCol = BCol + 1;
+            //    }
+            //}
+            BCol = 7;
+            //鑾峰彇鍔ㄦ�佸唴瀹�  锛堟暟閲忎俊鎭級
+            for (int row = 0; row <= grdMain.RowCount - 1; row++)
+            {
+                for (int col = BCol; col <= grdMain.ColumnCount - 1; col++)
+                {
+                    //HDeptID = DBUtility.ClsPub.isLong(grdMain.Rows[row].Cells[Fun_GetCol("HDeptID")].Value);
+                    //HMaterID = DBUtility.ClsPub.isLong(grdMain.Columns[col].Tag);
+                    //HEmpID = DBUtility.ClsPub.isLong(grdMain.Rows[row].Cells[Fun_GetCol("HEmpID")].Value);
+                    //HProcID = DBUtility.ClsPub.isLong(grdMain.Rows[row].Cells[Fun_GetCol("HProcID")].Value);
+                    DsQty = SubCn.RunProcReturn("exec h_p_CCBB", "Gy_Czygl");
+                    if (DsQty != null && DsQty.Tables[0].Rows.Count > 0)
+                    {
+                        //grdMain.Rows[row].Cells[col].Value = DBUtility.ClsPub.isDoule(DsQty.Tables[0].Rows[0]["HQty"], 2);
+                    }
+                }
+            }
+
+            //璁剧疆鍚堣鍒�
+            string sTotalCol = "";
+            sTotalCol = DBUtility.Gy_BaseFun.GetTotalCols(DSet);
+            string[] sT;
+            sT = sTotalCol.Split(Convert.ToChar(","));
+            oSumGrid.BuildTotalCols(sT);
+            //  
+            DBUtility.Xt_BaseBillFun.DisplayGrid(grdMain, this.Name, "鏄�", 0);
+            //
+            DBUtility.Xt_BaseBillFun.GetGrid(grdMain, this.Name);
+            Total();
+        }
+
+        #endregion
+
+        #region 鎵撳嵃璁剧疆
+
+        //鎵撳嵃璁剧疆
+        GridppReport Report;
+        //璁剧疆鎵撳嵃妯$増璺緞
+        private void Sub_SetReport()
+        {
+            Report = new GridppReport();
+            Report.LoadFromFile(ClsPub.AppPath + @"\Report\搴旀敹娆炬槑缁嗚〃.grf");  //here .
+            Report.BeforePostRecord += new _IGridppReportEvents_BeforePostRecordEventHandler(ReportBeforePostRecord);
+            Report.FetchRecord += new _IGridppReportEvents_FetchRecordEventHandler(ReportFetchRecordByDataTable);
+        }
+        //濉叆鍗曟嵁琛ㄥご淇℃伅
+        private void ReportBeforePostRecord()//your report?kao
+        {
+            //Report.FieldByName("HDateItemID").AsString = lblHDateItemID.Text;
+            //Report.FieldByName("CusNumber").AsString = lblHCusNumber.Text;
+            //Report.FieldByName("CusName").AsString = lblHCusName.Text;
+            //Report.FieldByName("BeginBalance").AsString = lblHBeginBalance.Text;
+        }
+        //濉叆鍗曟嵁鏄庣粏淇℃伅
+        private void ReportFetchRecordByDataTable()
+        {
+            //Utility.FillRecordToReport(Report, grdMain, false);
+        }
+        #endregion
+
+        #region 鏁版嵁瀵煎嚭
+
+        private void yc_Click(object sender, EventArgs e)
+        {
+            //DBUtility.Gy_BaseFun.DataToExcel(this.Text, grdMain);
+            //DBUtility.Gy_BaseFun.Data2Excel(this.Text, grdMain, this.Name);
+            DBUtility.Gy_BaseFun.DataToExcel(this.Text, grdMain);
+
+        }
+        #endregion
+
+        private void timer2_Tick(object sender, EventArgs e)
+        {
+            timer2.Enabled = false;
+            //oDlg.ShowDialog();
+            //if (oDlg.IsOk == 1)
+            //{
+            timer1.Enabled = true;
+            //}
+        }
+
+
+        private void Total()
+        {
+            if (grdMain.Rows.Count > 0 && grdMain.ColumnCount > 0)
+            {
+                oSumGrid.SetGridsum();
+                oSumGrid.Total();
+            }
+        }
+
+        private void grdMain_CellMouseUp(object sender, DataGridViewCellMouseEventArgs e)
+        {
+            Total();
+        }
+
+        private void grdMain_ColumnWidthChanged(object sender, DataGridViewColumnEventArgs e)
+        {
+            Total();
+        }
+
+        private void grdMain_Paint(object sender, PaintEventArgs e)
+        {
+            DBUtility.Xt_BaseBillFun.GraphicsGrid(grdMain);
+        }
+
+        private void cmdHBDeptID_Click(object sender, EventArgs e)
+        {
+            BLL.ClsBaseSelect.SetTextByDept(txtHBDeptID, true);
+            if (txtHEDeptID.Text.Trim() == "")
+            {
+                txtHEDeptID.Text = txtHBDeptID.Text;
+            }
+        }
+
+        private void cmdHEDeptID_Click(object sender, EventArgs e)
+        {
+            BLL.ClsBaseSelect.SetTextByDept(txtHEDeptID, true);
+        }
+
+        private void yc_Click_1(object sender, EventArgs e)
+        {
+            BLL.Gy_GridView_Hide oHide = new BLL.Gy_GridView_Hide();
+            oHide.KeyItem = this.Name;
+            oHide.oGrd = grdMain;
+            oHide.ShowDialog();
+            //
+            DBUtility.ClsPub.HideGridView(grdMain, Name, DBUtility.ClsPub.AppPath);//璁剧疆闅愯棌鍒�
+
+        }
+
+        private void Sc_ProcExchListReport_KeyDown(object sender, KeyEventArgs e)
+        {
+            if (e.KeyCode == Keys.F7)
+            {
+                TotalAll();
+            }
+        }
+
+        private void eXCELToolStripMenuItem_Click(object sender, EventArgs e)
+        {
+            //DBUtility.Gy_BaseFun.Data2Excel(this.Text, grdMain, this.Name);
+            DBUtility.Gy_BaseFun.DataToExcel(this.Text, grdMain);
+        }
+
+        private void cSVToolStripMenuItem_Click(object sender, EventArgs e)
+        {
+            DBUtility.Gy_BaseFun.DataGridViewToExcel2(grdMain, this.Text, this.Text);
+        }
+    }
+}
diff --git "a/WorkM/\346\212\245\350\241\250\345\210\206\346\236\220/Sc_OverProdReport.resx" "b/WorkM/\346\212\245\350\241\250\345\210\206\346\236\220/Sc_OverProdReport.resx"
new file mode 100644
index 0000000..3955877
--- /dev/null
+++ "b/WorkM/\346\212\245\350\241\250\345\210\206\346\236\220/Sc_OverProdReport.resx"
@@ -0,0 +1,129 @@
+锘�<?xml version="1.0" encoding="utf-8"?>
+<root>
+  <!-- 
+    Microsoft ResX Schema 
+    
+    Version 2.0
+    
+    The primary goals of this format is to allow a simple XML format 
+    that is mostly human readable. The generation and parsing of the 
+    various data types are done through the TypeConverter classes 
+    associated with the data types.
+    
+    Example:
+    
+    ... ado.net/XML headers & schema ...
+    <resheader name="resmimetype">text/microsoft-resx</resheader>
+    <resheader name="version">2.0</resheader>
+    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+        <value>[base64 mime encoded serialized .NET Framework object]</value>
+    </data>
+    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+        <comment>This is a comment</comment>
+    </data>
+                
+    There are any number of "resheader" rows that contain simple 
+    name/value pairs.
+    
+    Each data row contains a name, and value. The row also contains a 
+    type or mimetype. Type corresponds to a .NET class that support 
+    text/value conversion through the TypeConverter architecture. 
+    Classes that don't support this are serialized and stored with the 
+    mimetype set.
+    
+    The mimetype is used for serialized objects, and tells the 
+    ResXResourceReader how to depersist the object. This is currently not 
+    extensible. For a given mimetype the value must be set accordingly:
+    
+    Note - application/x-microsoft.net.object.binary.base64 is the format 
+    that the ResXResourceWriter will generate, however the reader can 
+    read any of the formats listed below.
+    
+    mimetype: application/x-microsoft.net.object.binary.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
+            : and then encoded with base64 encoding.
+    
+    mimetype: application/x-microsoft.net.object.soap.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+            : and then encoded with base64 encoding.
+
+    mimetype: application/x-microsoft.net.object.bytearray.base64
+    value   : The object must be serialized into a byte array 
+            : using a System.ComponentModel.TypeConverter
+            : and then encoded with base64 encoding.
+    -->
+  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+    <xsd:element name="root" msdata:IsDataSet="true">
+      <xsd:complexType>
+        <xsd:choice maxOccurs="unbounded">
+          <xsd:element name="metadata">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" />
+              </xsd:sequence>
+              <xsd:attribute name="name" use="required" type="xsd:string" />
+              <xsd:attribute name="type" type="xsd:string" />
+              <xsd:attribute name="mimetype" type="xsd:string" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="assembly">
+            <xsd:complexType>
+              <xsd:attribute name="alias" type="xsd:string" />
+              <xsd:attribute name="name" type="xsd:string" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="data">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="resheader">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" />
+            </xsd:complexType>
+          </xsd:element>
+        </xsd:choice>
+      </xsd:complexType>
+    </xsd:element>
+  </xsd:schema>
+  <resheader name="resmimetype">
+    <value>text/microsoft-resx</value>
+  </resheader>
+  <resheader name="version">
+    <value>2.0</value>
+  </resheader>
+  <resheader name="reader">
+    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <resheader name="writer">
+    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <metadata name="timer1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+    <value>17, 17</value>
+  </metadata>
+  <metadata name="Tool.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+    <value>122, 17</value>
+  </metadata>
+  <metadata name="timer2.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+    <value>211, 17</value>
+  </metadata>
+</root>
\ No newline at end of file
diff --git "a/WorkM/\346\212\245\350\241\250\345\210\206\346\236\220/Sc_WareHouseReport.cs" "b/WorkM/\346\212\245\350\241\250\345\210\206\346\236\220/Sc_WareHouseReport.cs"
index db6f737..79ee693 100644
--- "a/WorkM/\346\212\245\350\241\250\345\210\206\346\236\220/Sc_WareHouseReport.cs"
+++ "b/WorkM/\346\212\245\350\241\250\345\210\206\346\236\220/Sc_WareHouseReport.cs"
@@ -20,7 +20,7 @@
         }
 
         public string ModName = "";
-        public string ModCaption = "瓒呬骇鎶ヨ〃";
+        public string ModCaption = "浠撳簱鎶ヨ〃";
         Pub_Class.ClsGridListSum oSumGrid = new Pub_Class.ClsGridListSum();
 
 
@@ -167,7 +167,7 @@
             //    sDlgWhere = sDlgWhere.Substring(1, sDlgWhere.Length - 1);
             //}
             //
-            DSet = SubCn.RunProcReturn("exec h_p_CCBB " , "Gy_Czygl");
+            DSet = SubCn.RunProcReturn("exec h_p_CKBB", "h_p_CKBB");
             //鐢熸垚棣栬鏍囬
             if (DSet == null)
             {
@@ -199,10 +199,10 @@
                     //HMaterID = DBUtility.ClsPub.isLong(grdMain.Columns[col].Tag);
                     //HEmpID = DBUtility.ClsPub.isLong(grdMain.Rows[row].Cells[Fun_GetCol("HEmpID")].Value);
                     //HProcID = DBUtility.ClsPub.isLong(grdMain.Rows[row].Cells[Fun_GetCol("HProcID")].Value);
-                    DsQty = SubCn.RunProcReturn("exec h_p_CCBB", "Gy_Czygl");
+                    DsQty = SubCn.RunProcReturn("exec h_p_CKBB", "h_p_CKBB");
                     if (DsQty != null && DsQty.Tables[0].Rows.Count > 0)
                     {
-                        grdMain.Rows[row].Cells[col].Value = DBUtility.ClsPub.isDoule(DsQty.Tables[0].Rows[0]["HQty"], 2);
+                        //grdMain.Rows[row].Cells[col].Value = DBUtility.ClsPub.isDoule(DsQty.Tables[0].Rows[0]["HQty"], 2);
                     }
                 }
             }

--
Gitblit v1.9.1