From c423a61ae9ee84f71a75ac793dac083fbd590eb1 Mon Sep 17 00:00:00 2001
From: duhe <226547893@qq.com>
Date: 星期三, 05 六月 2024 20:48:53 +0800
Subject: [PATCH] 1

---
 NETERPNoWin/obj/x86/Debug/Interop.gregn6Lib.dll                        |    0 
 WebAPI/Controllers/仓存管理/验收入库/Kf_EntrustOutBackBillController.cs        |  146 
 WebAPI/Controllers/JHGL/Gy_RoutingBillController.cs                    |    4 
 PayM/obj/Debug/PayM.Pay_YearToCashBillReportDlg.resources              |    0 
 Model/obj/x86/Release/Model.csproj.AssemblyReference.cache             |    0 
 WebAPI/Controllers/生产管理/质量汇报单/Sc_QualityReportBillController.cs        |   31 
 DAL/车间管理/ClsSc_MaterToSourceBill.cs                                    |  152 
 PayM/obj/Debug/CostM.Pay_AccPayMentDayBill2.resources                  |    0 
 WebAPI/Controllers/CJGL/Gy_MaterPreventErrMouldBillController.cs       |  763 +
 DAL/生产管理/模具管理/ClsSc_MouldMaintainBill.cs                               |   10 
 BLL/BLL.csproj.user                                                    |    2 
 DAL/生产管理/模具管理/ClsSc_MouldProdOutBill.cs                                |   26 
 DAL/生产管理/模具管理/ClsSc_MouldScrapInBill.cs                                |  283 
 PayM/obj/Debug/CostM.Pay_AccPayMentDayBill.resources                   |    0 
 WebAPI/Properties/PublishProfiles/FolderProfile8.pubxml                |   17 
 Model/基础资料/基础资料/ClsGy_CheckNoteItem_Model.cs                           |   11 
 PayM/bin/Debug/Pub_Class.dll                                           |    0 
 WebAPI/Controllers/仓存管理/条码生成/Gy_BarCodeBill_OutController.cs           |   25 
 PayM/obj/Debug/PayM.Pay_PayMentDeptYearReport.resources                |    0 
 WebAPI/Controllers/CJGL/Sc_ProcessExchangeBillController.cs            |    2 
 PayM/obj/x86/Debug/PayM.csproj.AssemblyReference.cache                 |    0 
 PayM/obj/Debug/PayM.HR_WorkStoryBillList.resources                     |    0 
 PayM/obj/Debug/PayM.Pay_MonthExpenseEntryBill1.resources               |    0 
 PayM/obj/Debug/PayM.Pay_OtherBalBillList.resources                     |    0 
 PayM/obj/Debug/PayM.dll                                                |    0 
 DAL/ClsGy_MaterialMouldBillMain.cs                                     |   10 
 DAL/生产管理/模具管理/ClsSc_MouldProdBackBill.cs                               |  235 
 WorkM/报表分析/Sc_OverProdReport.cs                                        |   30 
 PayM/obj/Debug/PayM.HR_InsuranceBookBillList.resources                 |    0 
 PayM/obj/Debug/PayM.HR_PaperPhotoBill.resources                        |    0 
 PayM/obj/Debug/PayM.HR_WorkInjuryBillList.resources                    |    0 
 PayM/obj/Debug/PayM.Pay_WorkTimesCardBill2.resources                   |    0 
 WebAPI/Controllers/CJGL/Cj_SingleStationController.cs                  |   37 
 PayM/obj/Debug/PayM.pdb                                                |    0 
 WebAPI/Controllers/MJGL/Sc_MouldLifeUseBillController.cs               |  306 
 PayM/obj/Debug/PayM.HR_WorkSkillBillList.resources                     |    0 
 PayM/obj/Debug/PayM.Pay_OverApplyBillList.resources                    |    0 
 Model/生产管理/模具管理/ClsSc_MouldMaintainBillMain.cs                         |    5 
 PayM/obj/Debug/PayM.csproj.ResolveComReference.cache                   |    0 
 DBUtility/obj/Release/DBUtility.csproj.ResolveComReference.cache       |    0 
 NETERPNoWin/bin/Debug/OAM.pdb                                          |    0 
 WebAPI/Controllers/Kf_EntrustInBillController.cs                       |   97 
 NETERPNoWin/bin/Debug/OAM.dll                                          |    0 
 PayM/obj/Debug/CostM.Pay_AccPayMentDayBill4.resources                  |    0 
 PayM/obj/Debug/PayM.HR_EmpDimissionBill.resources                      |    0 
 PayM/bin/Debug/Pub_Class.pdb                                           |    0 
 PayM/obj/Debug/PayM.Pay_OtherBalBill.resources                         |    0 
 PayM/obj/Debug/PayM.Pay_ErrWorkTimesRequestBill.resources              |    0 
 PayM/obj/Debug/PayM.Pay_SingleBalBill.resources                        |    0 
 Model/obj/Release/Model.csproj.AssemblyReference.cache                 |    0 
 WebAPI/Controllers/CGGL/Cg_POOrderBillController.cs                    |  159 
 PayM/obj/Debug/PayM.HR_WorkSkillBill.resources                         |    0 
 NETERPNoWin/obj/Debug/NETERPNoWin.csproj.GenerateResource.Cache        |    0 
 PayM/obj/Debug/PayM.HR_FamilyMemberBillList.resources                  |    0 
 NETERPNoWin/obj/Debug/Interop.gregn6Lib.dll                            |    0 
 PayM/obj/Debug/PayM.Pay_GetNeedCheckErrWorkTimesSendBillList.resources |    0 
 PayM/obj/Debug/PayM.Pay_WorkTimesListDlg.resources                     |    0 
 PayM/obj/Debug/PayM.Pay_MonthExpenseEntryBill3.resources               |    0 
 PayM/obj/Debug/PayM.Pay_MonthSubsidyEntryBillReportMX.resources        |    0 
 PayM/obj/Debug/PayM.HR_PaperPhotoBillList.resources                    |    0 
 PayM/obj/Debug/PayM.Pay_SubsidyChangeBillList.resources                |    0 
 DAL/车间管理/ClsQc_PreventErrMouldCheckBillMain.cs                         |  256 
 Model/生产管理/模具管理/ClsSc_MouldProdInBillMain.cs                           |    2 
 NETERPNoWin/bin/Debug/WorkM.pdb                                        |    0 
 PayM/obj/Debug/PayM.Pay_WorkTimesBillList.resources                    |    0 
 DAL/生产管理/模具管理/ClsSc_MouldScrapOutBill.cs                               |  255 
 WebAPI/Controllers/仓存管理/领料发货/Kf_MateOutBackBillController.cs           |   30 
 Model/工资管理/ClsHR_PostSkillBillMain.cs                                  |    2 
 NETERPNoWin/bin/Debug/WorkM.dll                                        |    0 
 PayM/obj/Debug/PayM.Pay_SingleBalBill_KS.resources                     |    0 
 WebAPI/Controllers/XSGL/Xs_SeOrderBillController.cs                    |   43 
 DAL/DAL.csproj                                                         |    8 
 PayM/obj/Debug/PayM.Pay_PayMentBillList.resources                      |    0 
 PayM/obj/Debug/PayM.Pay_MonthWriteBillReportMX.resources               |    0 
 Model/质检管理/ClsQC_WorkSelfCheckBillSub.cs                               |   71 
 PayM/bin/Debug/BLL.pdb                                                 |    0 
 PayM/obj/Debug/PayM.Pay_EmpWorkQtyEntryReportDlg.resources             |    0 
 PayM/obj/Debug/PayM.csproj.GenerateResource.Cache                      |    0 
 WebAPI/Controllers/仓存管理/条码生成/KF_BarCodeStatusChangeBillController.cs   |   21 
 WebAPI/Controllers/基础资料/基础资料/Gy_MaintainBillController.cs              |  106 
 PayM/obj/Debug/PayM.Pay_PayMentDayBill.resources                       |    0 
 PayM/bin/Debug/BLL.dll                                                 |    0 
 PayM/obj/Debug/PayM.Form2.resources                                    |    0 
 Model/质检管理/ClsQC_StockCheckBillSub_ValueGrid.cs                        |   16 
 WebAPI/Properties/PublishProfiles/FolderProfile8.pubxml.user           |  450 +
 WebAPI/Properties/PublishProfiles/FolderProfile9.pubxml                |   17 
 PayM/obj/Debug/PayM.Pay_CarOutApplyBill.resources                      |    0 
 WebAPI/Controllers/CGGL/Sup_QuotePriceBillController.cs                |   11 
 PayM/obj/Debug/OAM.HR_EmpEngageRequestBill.resources                   |    0 
 WebAPI/Controllers/CGGL/YF_PayMentOtherBillController.cs               |   45 
 WebAPI/Controllers/CJGL/Cj_StationInBillController.cs                  |   57 
 NETERPNoWin/obj/Debug/NETERPNoWin.pdb                                  |    0 
 DAL/基础资料/公用基础资料/ClsGy_MouldFile.cs                                     |    4 
 WebAPI/Controllers/Sc_ProcessMangementController.cs                    |   35 
 Model/基础资料/基础资料/ClsGy_PostSkill_Model.cs                               |    8 
 WebAPI/Models/ClsSb_EquipMaintainRuleBillMain.cs                       |    4 
 DAL/生产管理/模具管理/ClsSc_MouldRepairOutBill.cs                              |  272 
 NETERPNoWin/bin/Debug/PlanM.pdb                                        |    0 
 WebAPI/DLL/ClsSc_MESBeginWorkBill.cs                                   |   20 
 PayM/obj/Debug/PayM.Pay_SingleBalBill_Enter.resources                  |    0 
 Model/车间管理/ClsQc_PreventErrMouldCheckBillSub.cs                        |   16 
 PayM/obj/Debug/CostM.Pay_PayMentBillAutoAddnew2.resources              |    0 
 PayM/obj/Debug/Interop.gregn6Lib.dll                                   |    0 
 NETERPNoWin/obj/Debug/NETERPNoWin.OA_MessageBox.resources              |    0 
 DAL/生产管理/设备管理/ClsSb_EquipMaintainPlanBill.cs                           |    7 
 WebAPI/Controllers/CGGL/Sup_AskPriceBillController.cs                  |   12 
 WebAPI/Controllers/生产管理/生产任务单/Sc_ICMOBillController.cs                 |    4 
 Model/质检管理/ClsQC_StockCheckBillMain.cs                                 |   57 
 WebAPI/ListModels.cs                                                   |  132 
 PayM/obj/Debug/PayM.Pay_PayMentPrintReportDlg.resources                |    0 
 WebAPI/DLL/ClsGy_PostSkill_Ctl.cs                                      |    6 
 WebAPI/Models/ClsGy_EquipFileMain.cs                                   |    3 
 PayM/obj/Debug/PayM.HR_EmpChangeBillList.resources                     |    0 
 PayM/obj/Debug/PayM.Pay_OuterScrap.resources                           |    0 
 PayM/bin/Debug/Pub_Control.pdb                                         |    0 
 WebAPI/Controllers/XSGL/Xs_ContractBillController.cs                   | 1258 ++
 NETERPNoWin/bin/Debug/SQLHelper.dll                                    |    0 
 WebAPI/Controllers/条码管理/WEBSController.cs                              |  641 +
 DAL/车间管理/ClsGy_WorkBeginDotCheckListBillMain.cs                        |  250 
 NETERPNoWin/bin/Debug/SQLHelper.pdb                                    |    0 
 PayM/obj/Debug/PayM.Pay_SingleBalBillList.resources                    |    0 
 PayM/bin/Debug/Pub_Control.dll                                         |    0 
 WebAPI/Controllers/基础资料/基础资料/Gy_SOPBillController.cs                   |   37 
 PayM/obj/Debug/PayM.Pay_InnerScrapDlg.resources                        |    0 
 PayM/obj/Debug/PayM.Pay_GroupBalBill.resources                         |    0 
 WebAPI/Controllers/CGGL/Kf_POStockInBillController.cs                  |   39 
 PayM/obj/Debug/PayM.HR_LearnHistoryBillList.resources                  |    0 
 PayM/bin/Debug/Model.dll                                               |    0 
 DAL/生产管理/模具管理/ClsSc_MouldOtherOutBill.cs                               |  262 
 NETERPNoWin/obj/x86/Debug/NETERPNoWin.csproj.ResolveComReference.cache |    0 
 PayM/obj/Debug/BaseSet.Gy_DataInTmp_DuSubsidyItem.resources            |    0 
 WebAPI/Controllers/PlateBindingController.cs                           |   43 
 NETERPNoWin/bin/Debug/NETERPNoWin.exe                                  |    0 
 PayM/bin/Debug/Model.pdb                                               |    0 
 NETERPNoWin/obj/Debug/NETERPNoWin.Properties.Resources.resources       |    0 
 PayM/obj/Debug/CostM.Pay_PayMentBillAutoAddnew1.resources              |    0 
 PayM/obj/Debug/PayM.Pay_MonthSubsidyEntryBillAdd.resources             |    0 
 PayM/obj/Debug/PayM.Pay_PayMentDeptSendListDlg.resources               |    0 
 WebAPI/Controllers/CGGL/Cg_POInStockBackBillController.cs              |   43 
 WebAPI/Controllers/品质管理/车间自检单/QC_WorkSelfCheckBillController.cs        | 1041 ++
 PayM/obj/Debug/OAM.HR_EmpEngageRequestBillList.resources               |    0 
 PayM/obj/Debug/PayM.Pay_YearToCashBillReport.resources                 |    0 
 PayM/obj/Debug/PayM.Pay_OtherMoney_Dlg.resources                       |    0 
 PayM/obj/Debug/PayM.Pay_InnerScrap.resources                           |    0 
 WebAPI/Controllers/XSGL/YS_ReceiveBillController.cs                    |   42 
 WebAPI/Controllers/SBGL/Sb_EquipDotCheckBillController.cs              |   43 
 DAL/生产管理/模具管理/ClsSc_MouldMaintainRuleBill.cs                           |   13 
 PayM/obj/Debug/CostM.Pay_AccPayMentDayBillList.resources               |    0 
 Model/车间管理/ClsGy_WorkBeginDotCheckListBillMain.cs                      |   15 
 WebAPI/Controllers/BaseSet/Gy_BadReasonController.cs                   |  242 
 PayM/obj/Debug/PayM.Pay_ErrWorkTimesSendBill.resources                 |    0 
 WebAPI/Controllers/XSGL/Xs_SellOutChangeBillController.cs              |   42 
 PayM/obj/Debug/PayM.Pay_PayMentBill.resources                          |    0 
 WebAPI/Controllers/CGGL/Cg_POInStockBillController.cs                  |   48 
 WebAPI/Controllers/CGGL/Cg_PayableBillController.cs                    |   41 
 PayM/bin/Debug/PayM.dll                                                |    0 
 Model/车间管理/ClsGy_MaterPreventErrMouldBillMain.cs                       |   13 
 PayM/obj/Debug/PayM.HR_WorkStoryBill.resources                         |    0 
 PayM/obj/Debug/PayM.Pay_MonthExpenseEntryBill4.resources               |    0 
 WebAPI/Controllers/仓存管理/验收入库/Kf_ProductInBillController.cs             |   36 
 Model/工资管理/ClsHR_EmployeeSkillBillMain.cs                              |    2 
 WebAPI/Controllers/仓存管理/调拨盘点/Kf_MoveStockRequestBillController.cs      |   34 
 WebAPI/Controllers/品质管理/库存检验单/QC_StockCheckBillController.cs           | 1041 ++
 WebAPI/Models/Gy_Mould.cs                                              |    2 
 Model/车间管理/ClsQc_PreventErrMouldCheckBillMain.cs                       |   15 
 DAL/质检管理/ClsQC_WorkSelfCheckBill.cs                                    |  420 
 PayM/obj/Debug/PayM.Pay_MonthWriteBillReportMX2.resources              |    0 
 Model/工位看板/ClsGy_SOPBillSub.cs                                         |    4 
 PayM/bin/Debug/PayM.pdb                                                |    0 
 PayM/obj/Debug/PayM.Pay_ErrWorkTimesRequestBillList.resources          |    0 
 WebAPI/Controllers/BaseSet/Gy_ModelTypeController.cs                   |  104 
 WebAPI/Controllers/仓存管理/条码生成/Sc_BarCodeController.cs                   |   11 
 PayM/obj/Debug/PayM.Pay_MonthExpenseEntryBill5.resources               |    0 
 DAL/项目管理/ClsGy_WorkTaskMoneyBOMBill.cs                                |  261 
 PayM/obj/Debug/PayM.Pay_ProcPriceRequestBillList.resources             |    0 
 PayM/obj/Debug/PayM.Pay_MonthSubsidyEntryBillReport.resources          |    0 
 WebAPI/Service/LuBaoSevice.cs                                          |   21 
 NETERPNoWin/obj/Debug/NETERPNoWin.Xt_Wait.resources                    |    0 
 WebAPI/DLL/ClsSb_EquipMaintainRuleBill.cs                              |    8 
 WebAPI/Controllers/项目管理/工程项目/PM_ProjectBillController.cs               |  945 ++
 WebAPI/Controllers/SBGL/Gy_EquipTypeController.cs                      |   32 
 PayM/obj/Debug/PayM.Err_MonthExpenseEntryBill.resources                |    0 
 PayM/obj/Debug/PayM.Pay_PayMentDeptSendList.resources                  |    0 
 PayM/obj/Debug/CostM.Pay_AccPayMentDayBill3.resources                  |    0 
 Pub_Class/CustomerCls/ClsXt_SystemParameterMain.cs                     |   81 
 WebAPI/Properties/PublishProfiles/FolderProfile9.pubxml.user           |  450 +
 WebAPI/Controllers/仓存管理/验收入库/Kf_StepFoldinBillController.cs            |   39 
 PayM/obj/Debug/PayM.Pay_DuSubsidyItemBill.resources                    |    0 
 NETERPNoWin/bin/Debug/PlanM.dll                                        |    0 
 WebAPI/Controllers/XSGL/YS_ReceiveOtherBillController.cs               |   43 
 WebAPI/Controllers/XSGL/Xs_ExceptiveCheckRequestBillController.cs      |   43 
 PayM/obj/Debug/PayM.Pay_MonthExpenseEntryBillReportDlg.resources       |    0 
 NETERPNoWin/bin/Debug/DBUtility.dll                                    |    0 
 PayM/obj/Debug/PayM.Pay_OutApplyBillList.resources                     |    0 
 PayM/obj/Debug/PayM.Pay_OverApplyBill.resources                        |    0 
 NETERPNoWin/bin/Debug/NETERPNoWin.pdb                                  |    0 
 WebAPI/Controllers/SBGL/Sb_EquipStopBillController.cs                  |   57 
 PayM/obj/Debug/PayM.Pay_OutApplyBill.resources                         |    0 
 PayM/obj/x86/Debug/PayM.csproj.ResolveComReference.cache               |    0 
 PayM/obj/Debug/PayM.Pay_PayMentDeptYearReportDlg.resources             |    0 
 WebAPI/Controllers/CGGL/Kf_POStockInBackBillController.cs              |   43 
 WebAPI/Controllers/基础资料/基础资料/Gy_RepairBillController.cs                |  104 
 WebAPI/WebAPI.csproj.user                                              |    2 
 Model/生产管理/模具管理/ClsSc_MouldProdMoveBillSub.cs                          |   63 
 PayM/obj/Debug/PayM.Pay_PayMentYearReport.resources                    |    0 
 WebAPI/Controllers/SCGL/日计划管理/JIT_Cg_PODemandPlanBillController.cs     |  113 
 DAL/生产管理/模具管理/ClsSc_MouldProdMoveBill.cs                               |  187 
 WebAPI/Controllers/仓存管理/领料发货/Kf_StepFoldOutBillController.cs           |   38 
 Model/质检管理/ClsQC_WorkSelfCheckBillSub_ValueGrid.cs                     |   16 
 NETERPNoWin/bin/Debug/DBUtility.pdb                                    |    0 
 PayM/obj/Debug/PayM.Pay_ErrWorkTimesSendBillList.resources             |    0 
 DAL/项目管理/ClsGy_ProjectMoneyBOMBill.cs                                 |  264 
 PayM/obj/Debug/PayM.Pay_WorkTimesCardBill1.resources                   |    0 
 WebAPI/Controllers/项目管理/工作任务/PM_WorkTaskBillController.cs              |  966 ++
 WebAPI/Controllers/XSGL/Xs_ReceivableBillController.cs                 |   44 
 Model/生产管理/模具管理/ClsSc_MouldProdMoveBillMain.cs                         |    5 
 Model/质检管理/ClsQC_WorkSelfCheckBillMain.cs                              |   57 
 PayM/obj/Debug/PayM.KQ_sourceReportDlg.resources                       |    0 
 PayM/obj/Debug/PayM.Pay_MonthSubsidyEntryBillReportDlg.resources       |    0 
 Pub_Control/bin/Release/Pub_Control.dll                                |    0 
 NETERPNoWin/bin/Debug/BLL.dll                                          |    0 
 PayM/obj/x86/Debug/Interop.gregn6Lib.dll                               |    0 
 DAL/工资管理/ClsHR_EmployeeSkillBill.cs                                    |   10 
 WebAPI/Web.config                                                      |   11 
 NETERPNoWin/obj/Debug/NETERPNoWin.Frm_MESSetIni.resources              |    0 
 Pub_Control/bin/Release/Pub_Control.pdb                                |    0 
 WebAPI/Controllers/CGGL/Cg_ContractBillController.cs                   | 1574 +++
 WebAPI/Controllers/CJGL/Cj_StationEntrustInBillController.cs           |   76 
 WebAPI/Controllers/品质管理/首件检验单/QC_FirstPieceCheckBillController.cs      |   56 
 WebAPI/Controllers/SCGL/Sc_ProductionReturnBillController.cs           |   31 
 PayM/obj/Debug/PayM.Pay_MonthSubsidyYearReport.resources               |    0 
 DBUtility/业务单据/ClsXt_BaseBill.cs                                       |   62 
 WebAPI/Controllers/CGGL/YF_PayMentBillController.cs                    |  306 
 WebAPI/DLL/ClsGy_CheckNoteItem_Ctl.cs                                  |  103 
 DAL/工位看板/ClsGy_SOPBill.cs                                              |    5 
 Model/采购管理/ClsCg_ContractBillMain.cs                                   |   22 
 WebAPI/Controllers/SBGL/Sb_EquipMaintainRuleBillController.cs          |   11 
 NETERPNoWin/bin/Debug/BLL.pdb                                          |    0 
 PayM/obj/Debug/PayM.HR_LearnHistoryBill.resources                      |    0 
 Model/生产管理/模具管理/ClsSc_MouldMaintainRuleBillMain.cs                     |    6 
 WebAPI/Controllers/仓存管理/领料发货/Kf_MateOutBillController.cs               |   35 
 PayM/obj/Debug/PayM.Pay_PayMentYearReportDlg.resources                 |    0 
 NETERPNoWin/bin/Debug/Interop.gregn6Lib.dll                            |    0 
 DAL/生产管理/模具管理/ClsSc_MouldMaintainPlanBill.cs                           |   24 
 WebAPI/Controllers/SBGL/Gy_EquipFileMainController.cs                  |   39 
 WebAPI/Controllers/MJGL/Sc_MouldUpperBillController.cs                 |   94 
 NETERPNoWin/bin/Debug/DAL.pdb                                          |    0 
 PayM/bin/Debug/DBUtility.dll                                           |    0 
 Model/车间管理/ClsSc_WorkBeginDotCheckBillMain.cs                          |   23 
 PayM/obj/Debug/PayM.Pay_EmpPayMentSumReportDlg.resources               |    0 
 DAL/车间管理/ClsGy_MaterPreventErrMouldBillMain.cs                         |  250 
 PayM/obj/Debug/PayM.HR_FamilyMemberBill.resources                      |    0 
 NETERPNoWin/bin/Debug/DAL.dll                                          |    0 
 PayM/obj/Debug/PayM.Pay_ProdWorkQtySumReport.resources                 |    0 
 DAL/生产管理/模具管理/ClsSc_MouldRepairInBill.cs                               |  260 
 WebAPI/Controllers/Sc_MouldRepairInBillListController.cs               |  864 ++
 WebAPI/Controllers/WebAPIController.cs                                 |  326 
 PayM/obj/Debug/PayM.Pay_WorkTimesCardBillList.resources                |    0 
 PayM/obj/Debug/PayM.HR_RewardsPunishBill.resources                     |    0 
 WebAPI/Controllers/仓存管理/领料发货/Kf_StockOutRequestBillController.cs       |   21 
 Model/生产管理/模具管理/ClsSc_MouldMaintainPlanBillMain.cs                     |    3 
 WebAPI/Controllers/CGGL/YF_PayMentBackBillController.cs                |   41 
 PayM/bin/Debug/DBUtility.pdb                                           |    0 
 PayM/obj/Debug/CostM.Pay_AccPayMentDayBill5.resources                  |    0 
 DAL/工资管理/ClsHR_PostSkillBill.cs                                        |    7 
 NETERPNoWin/bin/Debug/WarM.dll                                         |    0 
 WebAPI/Controllers/仓存管理/领料发货/Kf_MateOutRequestBillController.cs        |   21 
 WebAPI/Controllers/LMESController.cs                                   |  228 
 DAL/生产管理/设备管理/ClsSb_EquipMaintainBill.cs                               |    7 
 PayM/obj/Debug/PayM.HR_EmpChangeBill.resources                         |    0 
 WebAPI/Controllers/XSGL/Xs_OutDoorCheckBillController.cs               |   35 
 PayM/obj/Debug/PayM.Pay_GroupBalBillList.resources                     |    0 
 DAL/车间管理/ClsSc_StationOutBill.cs                                       |    2 
 WebAPI/Controllers/XSGL/YS_ReceiveBackBillController.cs                |   42 
 Model/生产管理/设备管理/ClsSb_EquipMaintainPlanBillMain.cs                     |    5 
 PayM/obj/Debug/PayM.Pay_MonthExpenseEntryBill2.resources               |    0 
 PayM/obj/Debug/PayM.Pay_MonthWriteBillReport.resources                 |    0 
 PayM/obj/Debug/PayM.HR_InsuranceBookBill.resources                     |    0 
 NETERPNoWin/obj/Debug/NETERPNoWin.Form1.resources                      |    0 
 NETERPNoWin/obj/Debug/NETERPNoWin.csproj.ResolveComReference.cache     |    0 
 PayM/obj/Debug/PayM.Pay_NoWorkTimesReportDlg.resources                 |    0 
 Pub_Class/CustomerCls/ClsXt_SystemParameter.cs                         |  304 
 Model/项目管理/ClsGy_WorkTaskMoneyBOMBillSub.cs                            |   11 
 PayM/obj/Debug/PayM.HR_WorkInjuryBill.resources                        |    0 
 NETERPNoWin/bin/Debug/AxInterop.gregn6Lib.dll                          |    0 
 NETERPNoWin/obj/Debug/NETERPNoWin.Frm_Show.resources                   |    0 
 DAL/应付管理/ClsYF_PayMentOtherBill.cs                                     |    8 
 NETERPNoWin/bin/Debug/WarM.pdb                                         |    0 
 WebAPI/Controllers/SBGL/Sb_EquipBeginBillController.cs                 |   57 
 WebAPI/Models/Gy_RoutingBillSub.cs                                     |    1 
 PayM/bin/Debug/Interop.gregn6Lib.dll                                   |    0 
 PayM/obj/Debug/PayM.Properties.Resources.resources                     |    0 
 PayM/obj/Debug/PayM.HR_RewardsPunishBillList.resources                 |    0 
 PayM/obj/Debug/PayM.Pay_PayMentSendListDlg.resources                   |    0 
 PayM/obj/Debug/PayM.Pay_PayMentDayBillList.resources                   |    0 
 PayM/bin/Debug/DAL.pdb                                                 |    0 
 PayM/obj/Debug/PayM.HR_ContractBookBill.resources                      |    0 
 WebAPI/Controllers/XSGL/Xs_SeOrderChangeBillController.cs              |   42 
 PayM/obj/Debug/PayM.Pay_SubsidyChangeBill.resources                    |    0 
 WebAPI/Controllers/XSGL/Kf_ICStockBackBillController.cs                |   52 
 NETERPNoWin/obj/Debug/NETERPNoWin.MESMain.resources                    |    0 
 PayM/obj/Debug/PayM.Pay_ProcPriceRequestBill.resources                 |    0 
 PayM/obj/Debug/PayM.Pay_ProdWorkQtyEntryReport.resources               |    0 
 NETERPNoWin/bin/Debug/Pub_Control.dll                                  |    0 
 PayM/obj/Debug/CostM.Pay_PayMentBillAutoAddnew3.resources              |    0 
 WebAPI/Controllers/XSGL/Xs_SeOutStockBackBillController.cs             |   34 
 NETERPNoWin/bin/Debug/Pub_Control.pdb                                  |    0 
 WebAPI/Controllers/条码管理/MouldController.cs                             | 1665 +++
 DAL/车间管理/ClsSc_WorkBeginDotCheckBillMain.cs                            |  270 
 Model/项目管理/ClsGy_MaterialMouldBillMain.cs                              |    1 
 Model/车间管理/ClsSc_WorkBeginDotCheckBillSub.cs                           |   14 
 Model/项目管理/ClsGy_ProjectMoneyBOMBillSub.cs                             |   11 
 PayM/obj/Debug/PayM.Pay_NoWorkTimesReport.resources                    |    0 
 WebAPI/WebAPI.csproj                                                   |    9 
 Model/车间管理/ClsGy_MaterPreventErrMouldBillSub.cs                        |   15 
 PayM/obj/Debug/PayM.Err_MonthExpenseEntryBillDlg.resources             |    0 
 Model/项目管理/ClsGy_ProjectMoneyBOMBillMain.cs                            |   15 
 PayM/obj/Debug/CostM.Pay_PayMentBillAutoAddnew4.resources              |    0 
 PayM/obj/Debug/PayM.Pay_WorkTimesBill.resources                        |    0 
 Model/Model.csproj                                                     |   19 
 WebAPI/Controllers/CGGL/Cg_PORequestBillController.cs                  |   36 
 PayM/obj/Debug/PayM.Pay_MonthWriteBillReportDlg.resources              |    0 
 WebAPI/Controllers/MJGL/Sc_MouldMaintainRuleBillController.cs          |  159 
 PayM/obj/Debug/PayM.Pay_MonthExpenseEntryBillList.resources            |    0 
 WebAPI/Controllers/BaseSet/Gy_SourceController.cs                      |    2 
 DBUtility/obj/Release/DBUtility.csproj.GenerateResource.Cache          |    0 
 DAL/采购管理/ClsCg_ContractBill.cs                                         |   92 
 PayM/obj/Debug/PayM.FrmChangeDate.resources                            |    0 
 WebAPI/Models/Gy_MouldFileSub_SubMater.cs                              |   29 
 WebAPI/Controllers/XSGL/Xs_CusRatingChangeBillController.cs            |   43 
 Model/应付管理/ClsYF_PayMentOtherBillMain.cs                               |    2 
 PayM/obj/Debug/PayM.Pay_WorkTimesCardBill5.resources                   |    0 
 DAL/生产管理/模具管理/ClsSc_MouldProdInBill.cs                                 |  224 
 PayM/bin/Debug/DAL.dll                                                 |    0 
 WebAPI/Controllers/SCGL/Sc_MESBeginWorkBillController.cs               |   86 
 NETERPNoWin/bin/Debug/Kanban.dll                                       |    0 
 PayM/obj/Debug/PayM.HR_EmpDimissionBillList.resources                  |    0 
 NETERPNoWin/bin/Debug/Kanban.pdb                                       |    0 
 PayM/obj/Debug/PayM.HR_ContractBookBillList.resources                  |    0 
 PayM/obj/Debug/PayM.Pay_WorkTimesCardBill4.resources                   |    0 
 WebAPI/DLL/ClsGy_MaintainLev_Ctl.cs                                    |    2 
 NETERPNoWin/bin/Debug/BaseSet.dll                                      |    0 
 NETERPNoWin/bin/Debug/Model.pdb                                        |    0 
 WebAPI/Controllers/QC_ManagementController.cs                          |    6 
 PayM/obj/Debug/PayM.Pay_DuSubsidyItemBillList.resources                |    0 
 PayM/obj/Debug/PayM.KQ_sourceReport.resources                          |    0 
 NETERPNoWin/bin/Debug/Model.dll                                        |    0 
 NETERPNoWin/bin/Debug/BaseSet.pdb                                      |    0 
 NETERPNoWin/obj/Debug/NETERPNoWin.MDIMain.resources                    |    0 
 NETERPNoWin/obj/Debug/NETERPNoWin.exe                                  |    0 
 PayM/obj/Debug/PayM.Pay_EmpPayMentSumReport.resources                  |    0 
 PayM/obj/Debug/CostM.Pay_PayMentBillAutoAddnew.resources               |    0 
 PayM/obj/Debug/PayM.Pay_EmpWorkQtyEntryReport.resources                |    0 
 WebAPI/Controllers/Kf_ICStockBillMainController.cs                     |   18 
 WebAPI/Controllers/XSGL/Kf_SellOutBillController.cs                    |   26 
 PayM/obj/Debug/PayM.Pay_CarOutApplyBillList.resources                  |    0 
 WebAPI/Controllers/CJGL/Cj_StationOutBillController.cs                 |   62 
 PayM/obj/Debug/PayM.Pay_ProdWorkQtySumReportDlg.resources              |    0 
 Model/项目管理/ClsGy_WorkTaskMoneyBOMBillMain.cs                           |   14 
 WebAPI/Controllers/CJGL/Qc_PreventErrMouldCheckBillController.cs       |  858 ++
 WebAPI/Controllers/CJGL/Sc_WorkBeginDotCheckBillController.cs          | 1564 +++
 WebAPI/Controllers/XSGL/Xs_SeOutStockBillController.cs                 |   44 
 PayM/obj/Debug/PayM.Pay_ProdWorkQtyEntryReportDlg.resources            |    0 
 PayM/bin/Debug/SQLHelper.dll                                           |    0 
 WebAPI/Properties/PublishProfiles/FolderProfile.pubxml.user            |  160 
 WebAPI/Controllers/BaseSet/Gy_MaterialController.cs                    |   78 
 PayM/bin/Debug/SQLHelper.pdb                                           |    0 
 Model/车间管理/ClsGy_WorkBeginDotCheckListBillSub.cs                       |   13 
 PayM/obj/Debug/PayM.Pay_PayMentSendList.resources                      |    0 
 PayM/obj/Debug/PayM.Pay_OuterScrapDlg.resources                        |    0 
 PayM/obj/Debug/PayM.Pay_MonthExpenseEntryBillReport.resources          |    0 
 WebAPI/Controllers/SBGL/Sb_EquipMaintainPlanBillController.cs          |   14 
 PayM/obj/Debug/PayM.Pay_WorkTimesCardBill3.resources                   |    0 
 Model/生产管理/设备管理/ClsSb_EquipMaintainBillMain.cs                         |    2 
 Model/质检管理/ClsQC_StockCheckBillSub.cs                                  |   71 
 PayM/obj/Debug/PayM.Pay_SingleBalBillDlg.resources                     |    0 
 WebAPI/Controllers/仓存管理/委外用料/WW_PPBomBillController.cs                 |   32 
 PayM/obj/Debug/PayM.Pay_WorkTimesList.resources                        |    0 
 DAL/质检管理/ClsQC_StockCheckBill.cs                                       |  420 
 NETERPNoWin/bin/Debug/Pub_Class.dll                                    |    0 
 PayM/obj/Debug/CostM.Pay_PayMentBillAutoAddnew5.resources              |    0 
 /dev/null                                                              |    0 
 PayM/obj/Debug/PayM.Pay_PayMentPrintReport.resources                   |    0 
 DAL/生产管理/模具管理/ClsSc_MouldOtherInBill.cs                                |  287 
 WebAPI/Controllers/SBGL/Sb_EquipDotCheckRuleBillController.cs          |    5 
 NETERPNoWin/bin/Debug/Pub_Class.pdb                                    |    0 
 386 files changed, 24,155 insertions(+), 1,307 deletions(-)

diff --git a/BLL/BLL.csproj.user b/BLL/BLL.csproj.user
index 19ad28c..0d5f65d 100644
--- a/BLL/BLL.csproj.user
+++ b/BLL/BLL.csproj.user
@@ -1,7 +1,7 @@
 锘�<?xml version="1.0" encoding="utf-8"?>
 <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="12.0">
   <PropertyGroup>
-    <ProjectView>ShowAllFiles</ProjectView>
+    <ProjectView>ProjectFiles</ProjectView>
     <PublishUrlHistory />
     <InstallUrlHistory />
     <SupportUrlHistory />
diff --git a/DAL/ClsGy_MaterialMouldBillMain.cs b/DAL/ClsGy_MaterialMouldBillMain.cs
index 8841048..51bb32b 100644
--- a/DAL/ClsGy_MaterialMouldBillMain.cs
+++ b/DAL/ClsGy_MaterialMouldBillMain.cs
@@ -53,7 +53,8 @@
                     "', HWorkCenterID = '" + omodel.HWorkCenterID +
                     "', HEquipID  = '" + omodel.HEquipID +
                     "', HOrgID	  = '" + omodel.HOrgID +
-                    "' where HInterID = " + omodel.HInterID;
+                    "', HProcID	  = " + omodel.HProcID +
+                    " where HInterID = " + omodel.HInterID;
 
                 oCn.RunProc(mainSql);
                 //鍒犻櫎鍏宠仈
@@ -126,7 +127,7 @@
                 //鎻掑叆涓昏〃
                 string mainSql = "insert into Gy_MaterialMouldBillMain" +
                     "(HYear,HPeriod,HBillType,HBillSubType,HInterID,HDate,HBillNo,HRemark,HMaker,HMakeDate" +
-                    ",HDeptID,HEmpID,HMaterID,HWorkCenterID,HEquipID,HOrgID ) " +
+                    ",HDeptID,HEmpID,HMaterID,HWorkCenterID,HEquipID,HOrgID,HProcID) " +
                     "values(" +
                     "" + omodel.HYear.ToString() +
                     "," + omodel.HPeriod.ToString() +
@@ -143,8 +144,9 @@
                     ",'" + omodel.HMaterID +
                     "','" + omodel.HWorkCenterID +
                     "','" + omodel.HEquipID +
-                     "','" + omodel.HOrgID +
-                    "')";
+                    "','" + omodel.HOrgID +
+                    "'," + omodel.HProcID +
+                    ")";
 
                 oCn.RunProc(mainSql);
 
diff --git a/DAL/DAL.csproj b/DAL/DAL.csproj
index dfe4fc2..450f852 100644
--- a/DAL/DAL.csproj
+++ b/DAL/DAL.csproj
@@ -659,6 +659,8 @@
     <Compile Include="绯荤粺鍏敤\ClsXt_SystemParameter_Ctl.cs" />
     <Compile Include="绯荤粺鍏敤\ClsXt_BillSubType_Ctl.cs" />
     <Compile Include="璁″垝绠$悊\ClsGy_MaterialTechParamBillMain.cs" />
+    <Compile Include="璐ㄦ绠$悊\ClsQC_WorkSelfCheckBill.cs" />
+    <Compile Include="璐ㄦ绠$悊\ClsQC_StockCheckBill.cs" />
     <Compile Include="璐ㄦ绠$悊\ClsQC_NoPassProdConclusionBill.cs" />
     <Compile Include="璐ㄦ绠$悊\ClsQC_NoPassProdDisposeCheckBill.cs" />
     <Compile Include="璐ㄦ绠$悊\ClsQC_NoPassProdDisposeBill.cs" />
@@ -672,6 +674,10 @@
     <Compile Include="璐ㄦ绠$悊\ClsQC_ProcessCheckBill.cs" />
     <Compile Include="璐ㄦ绠$悊\ClsQC_ProdReportCheckBill.cs" />
     <Compile Include="璐ㄦ绠$悊\ClsCrm_CustomerAppealBill.cs" />
+    <Compile Include="杞﹂棿绠$悊\ClsGy_MaterPreventErrMouldBillMain.cs" />
+    <Compile Include="杞﹂棿绠$悊\ClsQc_PreventErrMouldCheckBillMain.cs" />
+    <Compile Include="杞﹂棿绠$悊\ClsGy_WorkBeginDotCheckListBillMain.cs" />
+    <Compile Include="杞﹂棿绠$悊\ClsSc_WorkBeginDotCheckBillMain.cs" />
     <Compile Include="杞﹂棿绠$悊\ClsSc_ProcExchRecordBackBill.cs" />
     <Compile Include="杞﹂棿绠$悊\ClsSc_ProcExchSendWorkBill.cs" />
     <Compile Include="杞﹂棿绠$悊\ClsSc_ProcExchWorkBackBill.cs" />
@@ -1172,6 +1178,8 @@
     <Compile Include="閿�鍞鐞哱ClsXs_SeOrderBill.cs" />
     <Compile Include="閿�鍞鐞哱ClsXs_SeOutStockBackBill.cs" />
     <Compile Include="閿�鍞鐞哱ClsXs_SeOutStockBill.cs" />
+    <Compile Include="椤圭洰绠$悊\Cls锘縂y_ProjectMoneyBOMBill.cs" />
+    <Compile Include="椤圭洰绠$悊\Cls锘縂y_WorkTaskMoneyBOMBill.cs" />
   </ItemGroup>
   <ItemGroup>
     <COMReference Include="stdole">
diff --git "a/DAL/\345\237\272\347\241\200\350\265\204\346\226\231/\345\205\254\347\224\250\345\237\272\347\241\200\350\265\204\346\226\231/ClsGy_MouldFile.cs" "b/DAL/\345\237\272\347\241\200\350\265\204\346\226\231/\345\205\254\347\224\250\345\237\272\347\241\200\350\265\204\346\226\231/ClsGy_MouldFile.cs"
index 3c90b08..38062c5 100644
--- "a/DAL/\345\237\272\347\241\200\350\265\204\346\226\231/\345\205\254\347\224\250\345\237\272\347\241\200\350\265\204\346\226\231/ClsGy_MouldFile.cs"
+++ "b/DAL/\345\237\272\347\241\200\350\265\204\346\226\231/\345\205\254\347\224\250\345\237\272\347\241\200\350\265\204\346\226\231/ClsGy_MouldFile.cs"
@@ -15,7 +15,7 @@
         {
             base.MvarItemKeySub = "Gy_MouldFileSub";
             base.MvarItemKeySub2 = "Gy_MouldFileSub2";
-            base.MvarItemKeySub3 = "";
+            base.MvarItemKeySub3 = "Gy_MouldFileSub_SubMater";
             base.MvarItemKeySub4 = "";
             base.MvarItemKey="Gy_MouldFileMain";
             base.MvarReportTitle="妯″叿妗f";
@@ -420,7 +420,7 @@
                 string HCheckDate = DBUtility.ClsPub.GetServerDate(-1);
                 oCn.BeginTran();
                 //杩樺師鍗曟嵁鐘舵�佷负鏈鏍哥姸鎬�
-                oCn.RunProc(" Update " + MvarItemKey + " set HBillStatus='1',HChecker='',HCheckDate='' Where HInterID=" + lngBillKey.ToString());
+                oCn.RunProc(" Update " + MvarItemKey + " set HBillStatus='1',HChecker='',HCheckDate=null Where HInterID=" + lngBillKey.ToString());
                 sReturn = "鍙嶅鏍稿崟鎹垚鍔燂紒";
                 oCn.Commit();
                 return true;
diff --git "a/DAL/\345\267\245\344\275\215\347\234\213\346\235\277/ClsGy_SOPBill.cs" "b/DAL/\345\267\245\344\275\215\347\234\213\346\235\277/ClsGy_SOPBill.cs"
index 521d38e..1c0c52b 100644
--- "a/DAL/\345\267\245\344\275\215\347\234\213\346\235\277/ClsGy_SOPBill.cs"
+++ "b/DAL/\345\267\245\344\275\215\347\234\213\346\235\277/ClsGy_SOPBill.cs"
@@ -111,10 +111,11 @@
                 {
                     oCn.RunProc("Insert into Gy_SOPBillSub " +
                           "(HInterID,HEntryID,HProcID,HProcNO" +
-                          ",HWorkStationID,HCenterID,HRemark" +
+                          ",HWorkStationID,HCenterID,HRemark,HSourceID,HMouldID" +
                           ") values("
                           + omodel.HInterID.ToString() + "," + oSub.HEntryID.ToString() + "," + oSub.HProcID.ToString() + "," + oSub.HProcNo.ToString() +
-                          "," + oSub.HWorkStationID.ToString() + "," + oSub.HCenterID.ToString() + ",'" + oSub.HRemark.ToString() + "'" +
+                          "," + oSub.HWorkStationID.ToString() + "," + oSub.HCenterID.ToString() + ",'" + oSub.HRemark.ToString() + "'," + oSub.HSourceID +
+                          "," + oSub.HMouldID +
                           ") ");
                 }
                 sReturn = "鏂板鍗曟嵁鎴愬姛锛�";
diff --git "a/DAL/\345\267\245\350\265\204\347\256\241\347\220\206/ClsHR_EmployeeSkillBill.cs" "b/DAL/\345\267\245\350\265\204\347\256\241\347\220\206/ClsHR_EmployeeSkillBill.cs"
index 8c225f1..b67b9b5 100644
--- "a/DAL/\345\267\245\350\265\204\347\256\241\347\220\206/ClsHR_EmployeeSkillBill.cs"
+++ "b/DAL/\345\267\245\350\265\204\347\256\241\347\220\206/ClsHR_EmployeeSkillBill.cs"
@@ -49,7 +49,13 @@
                 ",HUpDateDate=getdate()" +
                 //========================================
                 ",HDeptID='" + omodel.HDeptID.ToString() +
+                "',HEmpID='" + omodel.HEmpID.ToString() +
                 "',HPostID='" + omodel.HPostID.ToString() +
+                "',HCheckEmpID='" + omodel.HCheckEmpID.ToString() +
+                "',HManagerEmpID ='" + omodel.HManagerEmpID.ToString() +
+                "',HInnerBillNo='" + omodel.HInnerBillNo +
+                "',HMaterID='" + omodel.HMaterID.ToString() +
+                "',HProcID='" + omodel.HProcID.ToString() +
                 "',HOrgID='" + omodel.HOrgID.ToString() + "'" +
                 " where HInterID=" + lngBillKey.ToString());
                 //鍒犻櫎鍏宠仈
@@ -95,13 +101,13 @@
                 oCn.RunProc("Insert Into HR_EmployeeSkillBillMain   " +
                 "(HBillType,HBillSubType,HInterID,HBillNo,HDate" +
                 ",HYear,HPeriod,HRemark,HMaker,HMakeDate" +
-                ",HDeptID,HPostID,HOrgID,HEmpID,HCheckEmpID,HManagerEmpID,HInnerBillNo" +
+                ",HDeptID,HPostID,HOrgID,HEmpID,HCheckEmpID,HManagerEmpID,HInnerBillNo,HMaterID,HProcID" +
                
                 ") " +
                 " values('" + this.BillType + "','" + this.HBillSubType + "'," + omodel.HInterID.ToString() + ",'" + omodel.HBillNo + "','" + omodel.HDate + "'" +
                 ", " + omodel.HYear.ToString() + "," + omodel.HPeriod.ToString() + ",'" + omodel.HRemark + "','" + DBUtility.ClsPub.CurUserName + "',getdate()" +
                 ",'" + omodel.HDeptID.ToString() + "'," + omodel.HPostID.ToString() + "," + omodel.HOrgID.ToString() + ",'" + omodel.HEmpID.ToString() + 
-                "','"+omodel.HCheckEmpID.ToString() + "','"+omodel.HManagerEmpID.ToString() + "','"+omodel.HInnerBillNo.ToString() +
+                "','"+omodel.HCheckEmpID.ToString() + "','"+omodel.HManagerEmpID.ToString() + "','"+omodel.HInnerBillNo.ToString() + "','" + omodel.HMaterID.ToString() + "','" + omodel.HProcID.ToString() +
 
                 "') ");
 
diff --git "a/DAL/\345\267\245\350\265\204\347\256\241\347\220\206/ClsHR_PostSkillBill.cs" "b/DAL/\345\267\245\350\265\204\347\256\241\347\220\206/ClsHR_PostSkillBill.cs"
index 7401cd1..0ce92a5 100644
--- "a/DAL/\345\267\245\350\265\204\347\256\241\347\220\206/ClsHR_PostSkillBill.cs"
+++ "b/DAL/\345\267\245\350\265\204\347\256\241\347\220\206/ClsHR_PostSkillBill.cs"
@@ -50,6 +50,8 @@
                 //========================================
                 ",HDeptID='" + omodel.HDeptID.ToString() +
                 "',HPostID='" + omodel.HPostID.ToString() +
+                "',HMaterID='" + omodel.HMaterID.ToString() +
+                "',HProcID='" + omodel.HProcID.ToString() +
                 "',HOrgID='" + omodel.HOrgID.ToString() + "'" +
                 " where HInterID=" + lngBillKey.ToString());
                 //鍒犻櫎鍏宠仈
@@ -95,13 +97,12 @@
                 oCn.RunProc("Insert Into HR_PostSkillBillMain   " +
                 "(HBillType,HBillSubType,HInterID,HBillNo,HDate" +
                 ",HYear,HPeriod,HRemark,HMaker,HMakeDate" +
-                ",HDeptID,HPostID,HOrgID" +
+                ",HDeptID,HPostID,HOrgID,HMaterID,HProcID" +
                
                 ") " +
                 " values('" + this.BillType + "','" + this.HBillSubType + "'," + omodel.HInterID.ToString() + ",'" + omodel.HBillNo + "','" + omodel.HDate + "'" +
                 ", " + omodel.HYear.ToString() + "," + omodel.HPeriod.ToString() + ",'" + omodel.HRemark + "','" + DBUtility.ClsPub.CurUserName + "',getdate()" +
-                ",'" + omodel.HDeptID.ToString() + "'," + omodel.HPostID.ToString() + "," + omodel.HOrgID.ToString() + 
-          
+                ",'" + omodel.HDeptID.ToString() + "'," + omodel.HPostID.ToString() + "," + omodel.HOrgID.ToString() + "," + omodel.HMaterID.ToString() + "," + omodel.HProcID.ToString() +
                 ") ");
                 //鎻掑叆瀛愯〃
                 foreach (Model.ClsHR_PostSkillBillSub oSub in DetailColl)
diff --git "a/DAL/\345\272\224\344\273\230\347\256\241\347\220\206/ClsYF_PayMentOtherBill.cs" "b/DAL/\345\272\224\344\273\230\347\256\241\347\220\206/ClsYF_PayMentOtherBill.cs"
index 9122602..f64f07a 100644
--- "a/DAL/\345\272\224\344\273\230\347\256\241\347\220\206/ClsYF_PayMentOtherBill.cs"
+++ "b/DAL/\345\272\224\344\273\230\347\256\241\347\220\206/ClsYF_PayMentOtherBill.cs"
@@ -49,7 +49,7 @@
                 ",HUpDateDate=getdate()" +
                 //========================================
                 ",HAccDate='" + omodel.HAccDate.ToShortDateString() + "'" +
-                ",HCusID=" + omodel.HCusID.ToString() +
+                ",HSupID=" + omodel.HSupID.ToString() +
                 ",HCurID=" + omodel.HCurID.ToString() +
                 ",HExRate=" + omodel.HExRate.ToString() +
                 ",HDeptID=" + omodel.HDeptID.ToString() +
@@ -115,12 +115,12 @@
                 oCn.RunProc("Insert Into YF_PayMentOtherBillMain   " +
                "(HBillType,HBillSubType,HInterID,HBillNo,HDate" +
                ",HYear,HPeriod,HRemark,HMaker,HMakeDate" +
-               ",HAccDate,HCusID,HCurID,HExRate" +
+               ",HAccDate,HSupID,HCurID,HExRate" +
                ",HDeptID,HEmpID,HProjectMoneyID,HType,HMoney,HTaxRate,HSumMoney,HExplanation,HInnerBillNo,HOrgID" +
                ") " +
                " values('" + this.BillType + "','" + this.HBillSubType + "'," + omodel.HInterID.ToString() + ",'" + omodel.HBillNo + "','" + omodel.HDate + "'" +
                ", " + omodel.HYear.ToString() + "," + omodel.HPeriod.ToString() + ",'" + omodel.HRemark + "','" + DBUtility.ClsPub.CurUserName + "',getdate()" +
-               ",'" + omodel.HAccDate.ToShortDateString() + "'," + omodel.HCusID.ToString() + "," + omodel.HCurID.ToString() + "," + omodel.HExRate.ToString() +
+               ",'" + omodel.HAccDate.ToShortDateString() + "'," + omodel.HSupID.ToString() + "," + omodel.HCurID.ToString() + "," + omodel.HExRate.ToString() +
                ", '" + omodel.HDeptID.ToString() + "','" + omodel.HEmpID.ToString() + "','" + omodel.HProjectMoneyID.ToString() + "','" + omodel.HType + "','" + omodel.HMoney + "','" + omodel.HTaxRate + "','" + omodel.HSumMoney + "','" + omodel.HExplanation + "','" + omodel.HInnerBillNo + "','" + omodel.HOrgID + "'" +
                ") ");
                 //鎻掑叆瀛愯〃
@@ -200,7 +200,7 @@
                 omodel.HDeleteMan = Ds.Tables[0].Rows[0]["HDeleteMan"].ToString().Trim();
                 //========================================================
                 omodel.HAccDate = DBUtility.ClsPub.isDate(Ds.Tables[0].Rows[0]["HAccDate"]);
-                omodel.HCusID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HCusID"]);
+                omodel.HSupID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HSupID"]);
                 omodel.HCurID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HCurID"]);
                 omodel.HExRate = DBUtility.ClsPub.isSingle(Ds.Tables[0].Rows[0]["HExRate"]);
                 omodel.HDeptID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HDeptID"]);
diff --git "a/DAL/\347\224\237\344\272\247\347\256\241\347\220\206/\346\250\241\345\205\267\347\256\241\347\220\206/ClsSc_MouldMaintainBill.cs" "b/DAL/\347\224\237\344\272\247\347\256\241\347\220\206/\346\250\241\345\205\267\347\256\241\347\220\206/ClsSc_MouldMaintainBill.cs"
index c4a8d5e..a158a91 100644
--- "a/DAL/\347\224\237\344\272\247\347\256\241\347\220\206/\346\250\241\345\205\267\347\256\241\347\220\206/ClsSc_MouldMaintainBill.cs"
+++ "b/DAL/\347\224\237\344\272\247\347\256\241\347\220\206/\346\250\241\345\205\267\347\256\241\347\220\206/ClsSc_MouldMaintainBill.cs"
@@ -57,7 +57,8 @@
                 ",HEndDate='" + omodel.HEndDate + "'" +
                 ",HExplanation='" + omodel.HExplanation + "'" +
                 ",HInnerBillNo='" + omodel.HInnerBillNo + "'" +
-                ",HMouldMaintainRuleInterID="+omodel.HMouldMaintainRuleInterID.ToString()+
+                ",HMouldMaintainRuleInterID=" + omodel.HMouldMaintainRuleInterID.ToString() +
+                ",HMaintainLevID=" + omodel.HMaintainLevID +
                 //",HDeptID=" + omodel.HDeptID.ToString() +
                 //",HDeptNumber='" + omodel.HDeptNumber +"'"+
                 //",HEmpID=" + omodel.HEmpID.ToString() +
@@ -146,13 +147,13 @@
                 ",HYear,HPeriod,HRemark" +
                 ",HPlanNo,HPlanInterID,HMouldID,HBeginDate"+
                 ",HEndDate"+
-                ",HInnerBillNo,HExplanation,HMouldMaintainRuleInterID" +
+                ",HInnerBillNo,HExplanation,HMouldMaintainRuleInterID,HMaintainLevID" +
                 ") " +
                 " values('" + this.BillType + "','"  + this.HBillSubType + "'," +omodel.HInterID.ToString() + ",'" + omodel.HBillNo + "','" + omodel.HDate + "','" + DBUtility.ClsPub.CurUserName + "',getdate()" +
                 "," + omodel.HYear.ToString() + "," + omodel.HPeriod.ToString() + ",'" + omodel.HRemark + "'"+
                 ",'" + omodel.HPlanNo + "'," + omodel.HPlanInterID.ToString() + "," + omodel.HMouldID.ToString() + ",'" + omodel.HBeginDate + "'" +
                 ",'" + omodel.HEndDate + "'"+
-                ",'" + omodel.HInnerBillNo + "','" + omodel.HExplanation + "'," +omodel.HMouldMaintainRuleInterID.ToString()+
+                ",'" + omodel.HInnerBillNo + "','" + omodel.HExplanation + "'," +omodel.HMouldMaintainRuleInterID.ToString() + "," + omodel.HMaintainLevID +
                 ") ");
 
                 if (DetailCol.Count > 0)
@@ -208,6 +209,9 @@
                 //    }
                 //}
                 //
+
+                //淇濆吇瀹屾垚锛屽弽鍐欒澶囦繚鍏昏鍒掑崟瀛愯〃鏄惁鐐规鏍囪
+                oCn.RunProc("exec h_p_Sc_MouldMaintain_AfterSaveCtrl " + omodel.HMouldMaintainPlanInterID + "," + omodel.HMouldMaintainPlanEntryID);
                 sReturn = "鏂板鍗曟嵁鎴愬姛锛�";
                 oCn.Commit();
                 return true;
diff --git "a/DAL/\347\224\237\344\272\247\347\256\241\347\220\206/\346\250\241\345\205\267\347\256\241\347\220\206/ClsSc_MouldMaintainPlanBill.cs" "b/DAL/\347\224\237\344\272\247\347\256\241\347\220\206/\346\250\241\345\205\267\347\256\241\347\220\206/ClsSc_MouldMaintainPlanBill.cs"
index b8529c8..f54c039 100644
--- "a/DAL/\347\224\237\344\272\247\347\256\241\347\220\206/\346\250\241\345\205\267\347\256\241\347\220\206/ClsSc_MouldMaintainPlanBill.cs"
+++ "b/DAL/\347\224\237\344\272\247\347\256\241\347\220\206/\346\250\241\345\205\267\347\256\241\347\220\206/ClsSc_MouldMaintainPlanBill.cs"
@@ -64,7 +64,9 @@
                 ",HEndDate='" + omodel.HEndDate + "'" +
                 ",HExplanation='" + omodel.HExplanation + "'" +
                 ",HInnerBillNo='" + omodel.HInnerBillNo + "'" +
-
+                ",HMaintainLevID=" + omodel.HMaintainLevID +
+                ",HMainSourceInterID=" + omodel.HMainSourceInterID +
+                ",HMainSourceBillNo='" + omodel.HMainSourceBillNo + "'" +
                 " where HInterID=" + lngBillKey.ToString());
                 //鍒犻櫎鍏宠仈
                 DeleteRelation(ref sReturn, lngBillKey);
@@ -143,12 +145,13 @@
                 "(HBillType,HBillSubType,HInterID,HBillNo,HDate,HMaker,HMakeDate" + 
                 ",HYear,HPeriod,HRemark" +
                 ",HCycleUnit,HCheckCycle,HBeginDate,HEndDate"+
-                ",HInnerBillNo,HExplanation,HMouldMaintainRuleID" +
+                ",HInnerBillNo,HExplanation,HMouldMaintainRuleID,HMaintainLevID,HMainSourceInterID,HMainSourceBillNo" +
                 ") " +
                 " values('" + this.BillType + "','"  + this.HBillSubType + "'," +omodel.HInterID.ToString() + ",'" + omodel.HBillNo + "','" + omodel.HDate + "','" + DBUtility.ClsPub.CurUserName + "',getdate()" +
                 "," + omodel.HYear.ToString() + "," + omodel.HPeriod.ToString() + ",'" + omodel.HRemark + "'"+
                 ",'" + omodel.HCycleUnit + "'," + omodel.HCheckCycle.ToString() + ",'" + omodel.HBeginDate + "','" + omodel.HEndDate + "'" +
-                ",'" + omodel.HInnerBillNo + "','" + omodel.HExplanation + "'" + "','" + omodel.HMouldMaintainRuleID + "'" +
+                ",'" + omodel.HInnerBillNo + "','" + omodel.HExplanation  + "','" + omodel.HMouldMaintainRuleID + "'," + omodel.HMaintainLevID +
+                "," + omodel.HMainSourceInterID + ",'" + omodel.HMainSourceBillNo + "'" +
                 ") ");
                 //鎻掑叆瀛愯〃閰嶄欢淇℃伅
                 foreach (Model.ClsSc_MouldMaintainPlanBillSub oSub in DetailColl)
@@ -180,7 +183,7 @@
                           ",'" + Item.HMaintainPart.ToString() + "','" + Item.HClaim.ToString() + "'" +
                           "," + Item.HManagerID.ToString() +
                           ",'" + Item.HCloseMan + "'," + Convert.ToString(Item.HCloseType ? 1 : 0) + ",'" + Item.HRemark + "'" +
-                          "," + Item.HSourceInterID.ToString() + "," + Item.HSourceEntryID.ToString() + ",'" + Item.HSourceBillNo + "','" + Item.HSourceBillType + "'," + Item.HRelationQty.ToString() + "," + Item.HRelationMoney.ToString()  +"," + Item.HMaintainItem.ToString() +
+                          "," + Item.HSourceInterID.ToString() + "," + Item.HSourceEntryID.ToString() + ",'" + Item.HSourceBillNo + "','" + Item.HSourceBillType + "'," + Item.HRelationQty.ToString() + "," + Item.HRelationMoney.ToString()  +",'" + Item.HMaintainItem.ToString() + "'" +
                           ") ");
                 }
                 //
@@ -312,12 +315,13 @@
             {
                 string HChecker = DBUtility.ClsPub.CurUserName;
                 string HCheckDate = DBUtility.ClsPub.GetServerDate(-1);
-                oCn.RunProc(" Update " + MvarItemKey + " set HChecker='" + HChecker + "',HCheckDate='" + HCheckDate + "' Where HInterID=" + lngBillKey.ToString());
-                //鐢熸垚璋冩嫧鍗�
-                //寰楀埌璋冩嫧鍗� mainid 鍗曟嵁鍙�
-                long NewInterID = DBUtility.ClsPub.CreateBillID("1207", ref DBUtility.ClsPub.sExeReturnInfo);
-                string NewBillNo = DBUtility.ClsPub.CreateBillCode("1207", ref DBUtility.ClsPub.sExeReturnInfo, true);//寰楀埌鏂板崟鍙�
-                oCn.RunProc("exec h_p_Kf_MoveStockBill_Add " + lngBillKey.ToString() + "," + NewInterID.ToString() + ",'" + NewBillNo + "','" + HChecker + "'");
+                //鏇存柊鍗曟嵁鐘舵��
+                oCn.RunProc(" Update " + MvarItemKey + " set HChecker='" + HChecker + "',HCheckDate='" + HCheckDate + "',HBillStatus=2 Where HInterID=" + lngBillKey.ToString());
+                ////鐢熸垚璋冩嫧鍗�
+                ////寰楀埌璋冩嫧鍗� mainid 鍗曟嵁鍙�
+                //long NewInterID = DBUtility.ClsPub.CreateBillID("1207", ref DBUtility.ClsPub.sExeReturnInfo);
+                //string NewBillNo = DBUtility.ClsPub.CreateBillCode("1207", ref DBUtility.ClsPub.sExeReturnInfo, true);//寰楀埌鏂板崟鍙�
+                //oCn.RunProc("exec h_p_Kf_MoveStockBill_Add " + lngBillKey.ToString() + "," + NewInterID.ToString() + ",'" + NewBillNo + "','" + HChecker + "'");
                 //
                 sReturn = "";
                 return true;
diff --git "a/DAL/\347\224\237\344\272\247\347\256\241\347\220\206/\346\250\241\345\205\267\347\256\241\347\220\206/ClsSc_MouldMaintainRuleBill.cs" "b/DAL/\347\224\237\344\272\247\347\256\241\347\220\206/\346\250\241\345\205\267\347\256\241\347\220\206/ClsSc_MouldMaintainRuleBill.cs"
index 85324c8..bf22111 100644
--- "a/DAL/\347\224\237\344\272\247\347\256\241\347\220\206/\346\250\241\345\205\267\347\256\241\347\220\206/ClsSc_MouldMaintainRuleBill.cs"
+++ "b/DAL/\347\224\237\344\272\247\347\256\241\347\220\206/\346\250\241\345\205\267\347\256\241\347\220\206/ClsSc_MouldMaintainRuleBill.cs"
@@ -45,9 +45,9 @@
                 //鏇存柊涓昏〃
                 oCn.RunProc("UpDate Sc_MouldMaintainRuleBillMain set  " +
                 " HBillNo='" + omodel.HBillNo + "'" +  //鍥哄畾璧嬪��===============
-                ",HDate='" + omodel.HDate + "'" +
-                ",HYear='" + omodel.HYear.ToString() + "'" +
-                ",HPeriod='" + omodel.HPeriod.ToString() + "'" +
+                //",HDate='" + omodel.HDate + "'" +
+                //",HYear='" + omodel.HYear.ToString() + "'" +
+                //",HPeriod='" + omodel.HPeriod.ToString() + "'" +
                 ",HRemark='" + omodel.HRemark + "'" +
                 ",HUpDater='" + DBUtility.ClsPub.CurUserName + "'" +
                 ",HUpDateDate=getdate()" +
@@ -56,6 +56,9 @@
                 ",HCheckCycle=" + omodel.HCheckCycle.ToString() +
                 ",HExplanation='" + omodel.HExplanation + "'" +
                 ",HInnerBillNo='" + omodel.HInnerBillNo + "'" +
+                ",HMaintainLevID=" + omodel.HMaintainLevID +
+                ",HUseQtys=" + omodel.HUseQtys +
+                ",HSafeDays=" + omodel.HSafeDays +
                 " where HInterID=" + lngBillKey.ToString());                
                 //鍒犻櫎鍏宠仈
                 //DeleteRelation(ref sReturn, lngBillKey);
@@ -116,11 +119,11 @@
                 oCn.RunProc("Insert Into Sc_MouldMaintainRuleBillMain" +
                  "(HBillType,HBillSubType,HInterID,HBillNo,HDate" +
                 ",HYear,HPeriod,HRemark,HMaker,HMakeDate" +
-                ",HCycleUnit,HCheckCycle,HExplanation,HInnerBillNo" +
+                ",HCycleUnit,HCheckCycle,HExplanation,HInnerBillNo,HMaintainLevID,HUseQtys,HSafeDays" +
                 ") " +
                 " values('" + this.BillType + "','" + this.HBillSubType + "'," + omodel.HInterID.ToString() + ",'" + omodel.HBillNo + "','" + omodel.HDate + "'" +
                 ", " + omodel.HYear.ToString() + "," + omodel.HPeriod.ToString() + ",'" + omodel.HRemark + "','" + DBUtility.ClsPub.CurUserName + "',getdate()" +
-                ",'" + omodel.HCycleUnit + "'," + omodel.HCheckCycle.ToString() + ",'" + omodel.HExplanation + "','" + omodel.HInnerBillNo + "'" +
+                ",'" + omodel.HCycleUnit + "'," + omodel.HCheckCycle.ToString() + ",'" + omodel.HExplanation + "','" + omodel.HInnerBillNo + "'," + omodel.HMaintainLevID + "," + omodel.HUseQtys + "," + omodel.HSafeDays +
                 ") ");
                 ////鎻掑叆瀛愯〃
                 foreach (Model.ClsSc_MouldMaintainRuleBillSub oSub in DetailColl_Mater)
diff --git "a/DAL/\347\224\237\344\272\247\347\256\241\347\220\206/\346\250\241\345\205\267\347\256\241\347\220\206/ClsSc_MouldOtherInBill.cs" "b/DAL/\347\224\237\344\272\247\347\256\241\347\220\206/\346\250\241\345\205\267\347\256\241\347\220\206/ClsSc_MouldOtherInBill.cs"
index b483b94..552a468 100644
--- "a/DAL/\347\224\237\344\272\247\347\256\241\347\220\206/\346\250\241\345\205\267\347\256\241\347\220\206/ClsSc_MouldOtherInBill.cs"
+++ "b/DAL/\347\224\237\344\272\247\347\256\241\347\220\206/\346\250\241\345\205\267\347\256\241\347\220\206/ClsSc_MouldOtherInBill.cs"
@@ -29,8 +29,63 @@
         {
             DetailColl = null;
         }
-       
+
         #endregion   鑷畾涔夋柟娉�
+
+        //淇濆瓨鍓嶆帶鍒�
+        public bool BeforeSave(Int64 HInterID, string HBillNo, Int64 HSecManagerID, Int64 HKeeperID, Int64 HSupID, Int64 OperationType, ref string sReturn)
+        {
+            try
+            {
+                DataSet Ds = oCn.RunProcReturn("Exec h_p_Sc_MouldOtherInBill_BeforeSaveCtrl " + HInterID.ToString() + ",'" + HBillNo + "'," + HSecManagerID.ToString() + "," + HKeeperID.ToString() + "," + HSupID.ToString() + "," + OperationType.ToString(), "h_p_Sc_MouldOtherInBill_BeforeSaveCtrl");
+                if (Ds == null || Ds.Tables[0].Rows.Count == 0)
+                {
+                    sReturn = "淇濆瓨鍓嶅垽鏂け璐ワ紒";
+                    return false;
+                }
+                else
+                {
+                    if (DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HBack"]) == 1)
+                    {
+                        sReturn = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HRemark"]);
+                        return false;
+                    }
+                }
+                return true;
+            }
+            catch (Exception e)
+            {
+                throw (e);
+            }
+        }
+
+        //淇濆瓨鍚庢帶鍒�
+        public bool AfterSave(Int64 HInterID, string HBillNo, Int64 OperationType, ref string sReturn)
+        {
+            try
+            {
+                DataSet Ds = oCn.RunProcReturn("Exec h_p_Sc_MouldOtherInBill_AfterSaveCtrl " + HInterID.ToString() + ",'" + HBillNo + "'," + OperationType.ToString(), "h_p_Sc_MouldOtherInBill_AfterSaveCtrl");
+                if (Ds == null || Ds.Tables[0].Rows.Count == 0)
+                {
+                    sReturn = "淇濆瓨鍚庡垽鏂け璐ワ紒";
+                    return false;
+                }
+                else
+                {
+                    if (DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HBack"]) == 1)
+                    {
+                        sReturn = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HRemark"]);
+                        return false;
+                    }
+                }
+                return true;
+            }
+            catch (Exception e)
+            {
+                throw (e);
+            }
+        }
+
         //淇敼鍗曟嵁
         public override bool ModifyBill(Int64 lngBillKey, ref string sReturn)
         {
@@ -38,6 +93,12 @@
             {
                 //
                 oCn.BeginTran();
+                //淇濆瓨鍓嶆帶鍒�
+                if (!BeforeSave(lngBillKey, omodel.HBillNo, omodel.HSecManagerID, omodel.HKeeperID, omodel.HSupID, 2, ref sReturn))
+                {
+                    oCn.RollBack();
+                    return false;
+                }
                 //鏇存柊涓昏〃
                 oCn.RunProc("UpDate Sc_MouldStockBillMain set  " +
                 " HBillNo='" + omodel.HBillNo + "'" +  //鍥哄畾璧嬪��===============
@@ -49,17 +110,17 @@
                 ",HUpDateDate=getdate()" +
                 //========================================
                 ",HSupID=" + omodel.HSupID.ToString() +
-                ",HWHID=" + omodel.HWHID.ToString() +
-                ",HSCWHID=" + omodel.HSCWHID.ToString() +
                 ",HEmpID=" + omodel.HEmpID.ToString() +
                 ",HManagerID=" + omodel.HManagerID.ToString() +
                 ",HSecManagerID=" + omodel.HSecManagerID.ToString() +
                 ",HKeeperID=" + omodel.HKeeperID.ToString() +
                 ",HDeptID=" + omodel.HDeptID.ToString() +
-                ",HExplanation='" + omodel.HExplanation + "'" + 
-                ",HInnerBillNo='" + omodel.HInnerBillNo + "'" +               
+                ",HWHID=" + omodel.HWHID.ToString() +
+                ",HSCWHID=" + omodel.HSCWHID.ToString() +
+                ",HExplanation='" + omodel.HExplanation + "'" +
+                ",HInnerBillNo='" + omodel.HInnerBillNo + "'" +
                 ",HRedBlueFlag=" + DBUtility.ClsPub.BoolToString(omodel.HRedBlueFlag) +
-
+                ",HStockOrgID=" + omodel.HSTOCKORGID.ToString() +
                 " where HInterID=" + lngBillKey.ToString());
                 //鍒犻櫎鍏宠仈
                 DeleteRelation(ref sReturn, lngBillKey);
@@ -70,28 +131,29 @@
                 foreach (Model.ClsSc_MouldStockBillSub oSub in DetailColl)
                 {
                     oCn.RunProc("Insert into Sc_MouldStockBillSub " +
-                            " (HInterID,HEntryID,HCloseMan,HEntryCloseDate,HCloseType,HRemark" +
-                         ",HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HRelationQty,HRelationMoney" +
-                         ",HMaterID,HPropertyID,HSecUnitID,HSecUnitRate,HUnitID,HQtyMust" +
-                         ",HQty,HPrice,HMoney,HWHID,HSCWHID,HSPID" +
-                         ",HDesignLife,HLeaveLife,HUseLife,HUseLifeQty" +
-                         ",HSCSPID,HSPGroupID,HBatchNo" +
-                         ",HNewModel,HWallThickness,HHardness,HLastProdModel,HDiameter,HBackFlag" +
-                           ",HQtyRel,HNewLifeQty,HNowModel,HNowLife" +
-                           ",HMouldType,HInitModel,HInitDesignLife,HLifeUnitID" +
-                            ") values("
-                           + omodel.HInterID.ToString() + "," + oSub.HEntryID.ToString() + ",'" + oSub.HCloseMan + "','" + oSub.HEntryCloseDate.ToShortDateString() + "'," + Convert.ToString(oSub.HCloseType ? 1 : 0) + ",'" + oSub.HRemark + "'" +
-                         "," + oSub.HSourceInterID.ToString() + "," + oSub.HSourceEntryID.ToString() + ",'" + oSub.HSourceBillNo + "','" + oSub.HSourceBillType + "'," + oSub.HRelationQty.ToString() + "," + oSub.HRelationMoney.ToString() +
-                         "," + oSub.HMaterID.ToString() + "," + oSub.HPropertyID.ToString() + "," + oSub.HSecUnitID.ToString() + "," + oSub.HSecUnitRate.ToString() + "," + oSub.HUnitID.ToString() + "," + oSub.HQtyMust.ToString() +
-                         "," + oSub.HQty.ToString() + "," + oSub.HPrice.ToString() + "," + oSub.HMoney.ToString() + "," + oSub.HWHID.ToString() + "," + oSub.HSCWHID.ToString() + "," + oSub.HSPID.ToString() +
-                         "," + oSub.HDesignLife.ToString() + "," + oSub.HLeaveLife.ToString() + "," + oSub.HUseLife.ToString() + "," + oSub.HUseLifeQty.ToString() +
-                         "," + oSub.HSCSPID.ToString() + "," + oSub.HSPGroupID.ToString() + ",'" + oSub.HBatchNo + "'" +
-                        //"," + oSub.HPOOrderInterID.ToString() + "," + oSub.HPOOrderEntryID.ToString() + ",'" + oSub.HPOOrderBillNo + "'" +
-                        //"," + oSub.HSeOrderInterID.ToString() + "," + oSub.HSeOrderEntryID.ToString() + ",'" + oSub.HSeOrderBillNo + "'" +
-                         ",'" + oSub.HNewModel + "','" + oSub.HWallThickness + "','" + oSub.HHardness + "','" + oSub.HLastProdModel + "','" + oSub.HDiameter + "','" + oSub.HBackFlag + "'" +
-                         "," + 0 + "," + oSub.HNewLifeQty.ToString() + ",'" + oSub.HNowModel + "'," + oSub.HNowLife.ToString() +
-                         "," + oSub.HMouldType.ToString() + ",'" + oSub.HInitModel + "'," + oSub.HInitDesignLife.ToString() + "," + oSub.HLifeUnitID.ToString() +
-                         ") ");
+                      " (HInterID,HEntryID,HRemark,HRelationQty,HRelationMoney" +
+                      ",HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType" +
+                      ",HMaterID,HPropertyID,HSecUnitID,HSecUnitRate,HUnitID,HBatchNo" +
+                      ",HQtyMust,HQtyRel,HQty,HPrice,HMoney,HDesignLife" +
+                      ",HLeaveLife,HUseLife,HUseLifeQty,HNewLifeQty,HWHID,HSCWHID" +
+                      ",HSPID,HSCSPID,HSPGroupID,HBarCode,HCorrespondentTypeID,HCorrespondentID" +
+                      ",HPOOrderInterID,HPOOrderEntryID,HPOOrderBillNo,HSeOrderInterID,HSeOrderEntryID,HSeOrderBillNo" +
+                      ",HStockOrgID,HOWNERID,HOtherOrgID,HOWNERTYPEID" +
+                      ",HNowModel,HNowLife,HNewModel,HLastProdModel,HWallThickness,HHardness" +
+                      ",HDiameter,HMouldType,HInitModel,HInitDesignLife,HLifeUnitID,HBackFlag" +
+                      ") values("
+                      + omodel.HInterID.ToString() + "," + oSub.HEntryID.ToString() + ",'" + oSub.HRemark + "'," + oSub.HRelationQty.ToString() + "," + oSub.HRelationMoney.ToString() +
+                      "," + oSub.HSourceInterID.ToString() + "," + oSub.HSourceEntryID.ToString() + ",'" + oSub.HSourceBillNo + "','" + oSub.HSourceBillType + "'" +
+                      "," + oSub.HMaterID.ToString() + "," + oSub.HPropertyID.ToString() + "," + oSub.HSecUnitID.ToString() + "," + oSub.HSecUnitRate.ToString() + "," + oSub.HUnitID.ToString() + ",'" + oSub.HBatchNo + "'" +
+                      "," + oSub.HQtyMust.ToString() + "," + oSub.HQtyRel.ToString() + "," + oSub.HQty.ToString() + "," + oSub.HPrice.ToString() + "," + oSub.HMoney.ToString() + "," + oSub.HDesignLife.ToString() +
+                      "," + oSub.HLeaveLife.ToString() + "," + oSub.HUseLife.ToString() + "," + oSub.HUseLifeQty.ToString() + "," + oSub.HNewLifeQty.ToString() + "," + oSub.HWHID.ToString() + "," + oSub.HSCWHID.ToString() +
+                      "," + oSub.HSPID.ToString() + "," + oSub.HSCSPID.ToString() + "," + oSub.HSPGroupID.ToString() + ",'" + oSub.HBarCode + "'," + oSub.HCorrespondentTypeID.ToString() + "," + oSub.HCorrespondentID.ToString() +
+                      "," + oSub.HPOOrderInterID.ToString() + "," + oSub.HPOOrderEntryID.ToString() + ",'" + oSub.HPOOrderBillNo + "'," + oSub.HSeOrderInterID.ToString() + "," + oSub.HSeOrderEntryID.ToString() + ",'" + oSub.HSeOrderBillNo + "'" +
+                      "," + oSub.HStockOrgID.ToString() + "," + oSub.HOWNERID.ToString() + "," + oSub.HOtherOrgID.ToString() + ",'" + oSub.HOWNERTYPEID + "'" +
+                      ",'" + oSub.HNowModel + "'," + oSub.HNowLife.ToString() + ",'" + oSub.HNewModel + "','" + oSub.HLastProdModel + "','" + oSub.HWallThickness + "','" + oSub.HHardness + "'" +
+                      ",'" + oSub.HDiameter + "'," + oSub.HMouldType.ToString() + ",'" + oSub.HInitModel + "'," + oSub.HInitDesignLife.ToString() + "," + oSub.HLifeUnitID.ToString() + ",'" + oSub.HBackFlag + "'" +
+                      ") ");
+
                     if (oSub.HBackFlag == "鎶ュ簾鍏ュ簱")
                     {
                         oCn.RunProc("exec h_p_Sc_MouldFileChangeStatus " + oSub.HMaterID.ToString() + ",'" + oSub.HNewModel.ToString() + "'," + oSub.HNewLifeQty.ToString() + ",'鎶ュ簾'");
@@ -101,19 +163,6 @@
                         oCn.RunProc("exec h_p_Sc_MouldFileChangeStatus " + oSub.HMaterID.ToString() + ",'" + oSub.HNewModel.ToString() + "'," + oSub.HNewLifeQty.ToString() + ",'鍦ㄥ簱'");
                     }
                 }
-                //
-                //oCn.RunProcReturn("exec h_p_Sc_MouldFileChangeStatus " + omodel.HInterID.ToString() + ",'鍦ㄥ簱'", "gy_czygl");
-                //foreach (Model.ClsSc_MouldOtherInBillSub oSub in DetailColl)
-                //{
-                //    Ds = oCn.RunProcReturn("exec h_p_Sc_MouldOtherInBill_Qty " + oSub.HICMOInterID, "");
-                //    if (Ds.Tables[0].Rows.Count == 0)
-                //        return;
-                //    if (DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HBool"]) == "Y")
-                //    {
-                //        sReturn = "姹囨姤鏁伴噺瓒呰繃璁″垝鏁伴噺锛佷笉鍏佽淇濆瓨";
-                //        return false;
-                //    }
-                //}
                 DataSet Ds;
                 foreach (Model.ClsSc_MouldStockBillSub oSub in DetailColl)
                 {
@@ -130,7 +179,13 @@
                         return false;
                     }
                 }
-                sReturn = "淇敼鍗曟嵁鎴愬姛锛�";
+                //淇濆瓨鍚庢帶鍒�
+                if (!AfterSave(lngBillKey, omodel.HBillNo, 2, ref sReturn))
+                {
+                    oCn.RollBack();
+                    return false;
+                }
+                sReturn = "鍗曟嵁鍙凤細" + omodel.HBillNo + " 淇敼鎴愬姛锛�";
                 oCn.Commit();
                 return true;
             }
@@ -146,91 +201,115 @@
         {
             try
             {
+                //鑾峰彇绯荤粺鍙傛暟
+                Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();
+                if (oSystemParameter.ShowBillByOrgID(omodel.HSTOCKORGID, ref sReturn) == false)
+                {
+                    sReturn = "鑾峰彇绯荤粺鍙傛暟澶辫触锛� " + sReturn;
+                    return false;
+                }
                 //寰楀埌mainid
-                omodel.HInterID = DBUtility.ClsPub.CreateBillID(BillType, ref DBUtility.ClsPub.sExeReturnInfo);
-                //鑻AINDI閲嶅鍒欓噸鏂拌幏鍙�
+                if (omodel.HInterID == 0)
+                {
+                    omodel.HInterID = DBUtility.ClsPub.CreateBillID_Prod(BillType, ref DBUtility.ClsPub.sExeReturnInfo);
+                }
+                //淇濆瓨鍓嶆帶鍒�
+                if (!BeforeSave(omodel.HInterID, omodel.HBillNo, omodel.HSecManagerID, omodel.HKeeperID, omodel.HSupID, 1, ref sReturn))
+                {
+                    return false;
+                }
+
                 oCn.BeginTran();
                 //涓昏〃
                 oCn.RunProc("Insert Into Sc_MouldStockBillMain   " +
                 "(HBillType,HBillSubType,HInterID,HBillNo,HDate" +
                 ",HYear,HPeriod,HRemark,HMaker,HMakeDate" +
-                ",HSupID,HWHID,HSCWHID,HEmpID,HManagerID,HSecManagerID" +
-                ",HKeeperID,HDeptID,HExplanation,HInnerBillNo,HRedBlueFlag" +
+                ",HSupID,HSupTypeID,HEmpID,HManagerID,HSecManagerID" +
+                ",HKeeperID,HDeptID,HWHID,HSCWHID,HRedBlueFlag" +
+                ",HExplanation,HInnerBillNo,HStockOrgID" +
                 ") " +
-                " values('" + this.BillType + "','"  + this.HBillSubType + "'," +omodel.HInterID.ToString() + ",'" + omodel.HBillNo + "','" + omodel.HDate + "'" +
-                ", " + omodel.HYear.ToString() + "," + omodel.HPeriod.ToString() + ",'" + omodel.HRemark + "','" + omodel.HMaker + "',getdate()" +
-                ", " + omodel.HSupID.ToString() + "," + omodel.HWHID.ToString() + "," + omodel.HSCWHID.ToString() + "," + omodel.HEmpID.ToString() + "," + omodel.HManagerID.ToString() + "," + omodel.HSecManagerID.ToString() +
-                ", " + omodel.HKeeperID.ToString() + "," + omodel.HDeptID.ToString() + ",'" + omodel.HExplanation + "','" + omodel.HInnerBillNo + "'," + DBUtility.ClsPub.BoolToString(omodel.HRedBlueFlag) +
-          
+                " values('" + this.BillType + "','" + this.HBillSubType + "'," + omodel.HInterID.ToString() + ",'" + omodel.HBillNo + "','" + omodel.HDate.ToShortDateString() + "'" +
+                ", " + omodel.HYear.ToString() + "," + omodel.HPeriod.ToString() + ",'" + omodel.HRemark + "','" + DBUtility.ClsPub.CurUserName + "',getdate()" +
+                ", " + omodel.HSupID.ToString() + "," + omodel.HSupTypeID.ToString() + "," + omodel.HEmpID.ToString() + "," + omodel.HManagerID.ToString() + "," + omodel.HSecManagerID.ToString() +
+                ", " + omodel.HKeeperID.ToString() + "," + omodel.HDeptID.ToString() + "," + omodel.HWHID.ToString() + "," + omodel.HSCWHID.ToString() + "," + DBUtility.ClsPub.BoolToString(omodel.HRedBlueFlag) +
+                ",'" + omodel.HExplanation + "','" + omodel.HInnerBillNo + "'," + omodel.HSTOCKORGID.ToString() +
                 ") ");
                 //鎻掑叆瀛愯〃
                 foreach (Model.ClsSc_MouldStockBillSub oSub in DetailColl)
                 {
                     oCn.RunProc("Insert into Sc_MouldStockBillSub " +
-                         " (HInterID,HEntryID,HCloseMan,HEntryCloseDate,HCloseType,HRemark" +
-                      ",HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HRelationQty,HRelationMoney" +
-                      ",HMaterID,HPropertyID,HSecUnitID,HSecUnitRate,HUnitID,HQtyMust" +
-                      ",HQty,HPrice,HMoney,HWHID,HSCWHID,HSPID" +
-                      ",HDesignLife,HLeaveLife,HUseLife,HUseLifeQty" +
-                      ",HSCSPID,HSPGroupID,HBatchNo"+
-                      ",HNewModel,HWallThickness,HHardness,HLastProdModel,HDiameter,HBackFlag" +
-                        ",HQtyRel,HNewLifeQty,HNowModel,HNowLife" +
-                        ",HMouldType,HInitModel,HInitDesignLife,HLifeUnitID,HBarCode" +
-                         ") values("
-                        + omodel.HInterID.ToString() + "," + oSub.HEntryID.ToString() + ",'" + oSub.HCloseMan + "','" + oSub.HEntryCloseDate.ToShortDateString() + "'," + Convert.ToString(oSub.HCloseType ? 1 : 0) + ",'" + oSub.HRemark + "'" +
-                      "," + oSub.HSourceInterID.ToString() + "," + oSub.HSourceEntryID.ToString() + ",'" + oSub.HSourceBillNo + "','" + oSub.HSourceBillType + "'," + oSub.HRelationQty.ToString() + "," + oSub.HRelationMoney.ToString() +
-                      "," + oSub.HMaterID.ToString() + "," + oSub.HPropertyID.ToString() + "," + oSub.HSecUnitID.ToString() + "," + oSub.HSecUnitRate.ToString() + "," + oSub.HUnitID.ToString() + "," + oSub.HQtyMust.ToString() +
-                      "," + oSub.HQty.ToString() + "," + oSub.HPrice.ToString() + "," + oSub.HMoney.ToString() + "," + oSub.HWHID.ToString() + "," + oSub.HSCWHID.ToString() + "," + oSub.HSPID.ToString() +
-                      "," + oSub.HDesignLife.ToString() + "," + oSub.HLeaveLife.ToString() + "," + oSub.HUseLife.ToString() + "," + oSub.HUseLifeQty.ToString() +
-                      "," + oSub.HSCSPID.ToString() + "," + oSub.HSPGroupID.ToString() + ",'" + oSub.HBatchNo + "'"+
-                      //"," + oSub.HPOOrderInterID.ToString() + "," + oSub.HPOOrderEntryID.ToString() + ",'" + oSub.HPOOrderBillNo + "'" +
-                      //"," + oSub.HSeOrderInterID.ToString() + "," + oSub.HSeOrderEntryID.ToString() + ",'" + oSub.HSeOrderBillNo + "'" +
-                      ",'" + oSub.HNewModel + "','" + oSub.HWallThickness + "','" + oSub.HHardness + "','" + oSub.HLastProdModel + "','" + oSub.HDiameter + "','" + oSub.HBackFlag + "'" +
-                      "," + 0 + "," + oSub.HNewLifeQty.ToString() + ",'" + oSub.HNowModel + "'," + oSub.HNowLife.ToString() +
-                      "," + oSub.HMouldType.ToString() + ",'" + oSub.HInitModel + "'," + oSub.HInitDesignLife.ToString() + "," + oSub.HLifeUnitID.ToString() + ",'" + oSub.HBarCode.ToString() + "'" +
+                      " (HInterID,HEntryID,HRemark,HRelationQty,HRelationMoney" +
+                      ",HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType" +
+                      ",HMaterID,HPropertyID,HSecUnitID,HSecUnitRate,HUnitID,HBatchNo" +
+                      ",HQtyMust,HQtyRel,HQty,HPrice,HMoney,HDesignLife" +
+                      ",HLeaveLife,HUseLife,HUseLifeQty,HNewLifeQty,HWHID,HSCWHID" +
+                      ",HSPID,HSCSPID,HSPGroupID,HBarCode,HCorrespondentTypeID,HCorrespondentID" +
+                      ",HPOOrderInterID,HPOOrderEntryID,HPOOrderBillNo,HSeOrderInterID,HSeOrderEntryID,HSeOrderBillNo" +
+                      ",HStockOrgID,HOWNERID,HOtherOrgID,HOWNERTYPEID" +
+                      ",HNowModel,HNowLife,HNewModel,HLastProdModel,HWallThickness,HHardness" +
+                      ",HDiameter,HMouldType,HInitModel,HInitDesignLife,HLifeUnitID" +
+                      ") values("
+                      + omodel.HInterID.ToString() + "," + oSub.HEntryID.ToString() + ",'" + oSub.HRemark + "'," + oSub.HRelationQty.ToString() + "," + oSub.HRelationMoney.ToString() +
+                      "," + oSub.HSourceInterID.ToString() + "," + oSub.HSourceEntryID.ToString() + ",'" + oSub.HSourceBillNo + "','" + oSub.HSourceBillType + "'" +
+                      "," + oSub.HMaterID.ToString() + "," + oSub.HPropertyID.ToString() + "," + oSub.HSecUnitID.ToString() + "," + oSub.HSecUnitRate.ToString() + "," + oSub.HUnitID.ToString() + ",'" + oSub.HBatchNo + "'" +
+                      "," + oSub.HQtyMust.ToString() + "," + oSub.HQtyRel.ToString() + "," + oSub.HQty.ToString() + "," + oSub.HPrice.ToString() + "," + oSub.HMoney.ToString() + "," + oSub.HDesignLife.ToString() +
+                      "," + oSub.HLeaveLife.ToString() + "," + oSub.HUseLife.ToString() + "," + oSub.HUseLifeQty.ToString() + "," + oSub.HNewLifeQty.ToString() + "," + oSub.HWHID.ToString() + "," + oSub.HSCWHID.ToString() +
+                      "," + oSub.HSPID.ToString() + "," + oSub.HSCSPID.ToString() + "," + oSub.HSPGroupID.ToString() + ",'" + oSub.HBarCode + "'," + oSub.HCorrespondentTypeID.ToString() + "," + oSub.HCorrespondentID.ToString() +
+                      "," + oSub.HPOOrderInterID.ToString() + "," + oSub.HPOOrderEntryID.ToString() + ",'" + oSub.HPOOrderBillNo + "'," + oSub.HSeOrderInterID.ToString() + "," + oSub.HSeOrderEntryID.ToString() + ",'" + oSub.HSeOrderBillNo + "'" +
+                      "," + oSub.HStockOrgID.ToString() + "," + oSub.HOWNERID.ToString() + "," + oSub.HOtherOrgID.ToString() + ",'" + oSub.HOWNERTYPEID + "'" +
+                      ",'" + oSub.HNowModel + "'," + oSub.HNowLife.ToString() + ",'" + oSub.HNewModel + "','" + oSub.HLastProdModel + "','" + oSub.HWallThickness + "','" + oSub.HHardness + "'" +
+                      ",'" + oSub.HDiameter + "'," + oSub.HMouldType.ToString() + ",'" + oSub.HInitModel + "'," + oSub.HInitDesignLife.ToString() + "," + oSub.HLifeUnitID.ToString() +
                       ") ");
 
-                    
-                    //
-                    if (oSub.HBackFlag == "鎶ュ簾鍏ュ簱")
+                    if (oSub.HBarCode == "")
                     {
-                        oCn.RunProc("exec h_p_Sc_MouldFileChangeStatus " + oSub.HMaterID.ToString() + ",'" + oSub.HNewModel.ToString() + "'," + oSub.HNewLifeQty.ToString() + ",'鎶ュ簾'");
-                    }
-                    else
-                    {
-                        oCn.RunProc("exec h_p_Sc_MouldFileChangeStatus " + oSub.HMaterID.ToString() + ",'" + oSub.HNewModel.ToString() + "'," + oSub.HNewLifeQty.ToString() + ",'鍦ㄥ簱'");
+                        if (oSub.HBackFlag == "鎶ュ簾鍏ュ簱")
+                        {
+                            oCn.RunProc("exec h_p_Sc_MouldFileChangeStatus " + oSub.HMaterID.ToString() + ",'" + oSub.HNewModel.ToString() + "'," + oSub.HNewLifeQty.ToString() + ",'鎶ュ簾'");
+                        }
+                        else
+                        {
+                            oCn.RunProc("exec h_p_Sc_MouldFileChangeStatus " + oSub.HMaterID.ToString() + ",'" + oSub.HNewModel.ToString() + "'," + oSub.HNewLifeQty.ToString() + ",'鍦ㄥ簱'");
+                        }
                     }
                 }
-                //
-                //foreach (Model.ClsSc_MouldOtherInBillSub oSub in DetailColl)
-                //{
-                //    Ds = oCn.RunProcReturn("exec h_p_Sc_MouldOtherInBill_Qty " + oSub.HICMOInterID, "");
-                //    if (Ds.Tables[0].Rows.Count == 0)
-                //        return;
-                //    if (DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HBool"]) == "Y")
-                //    {
-                //        sReturn = "姹囨姤鏁伴噺瓒呰繃璁″垝鏁伴噺锛佷笉鍏佽淇濆瓨";
-                //        return false;
-                //    }
-                //}
-                //
+
                 DataSet Ds;
                 foreach (Model.ClsSc_MouldStockBillSub oSub in DetailColl)
                 {
-                    Ds = oCn.RunProcReturn("exec h_p_Kf_ICStockBill_CheckKF " + omodel.HInterID + "," + oSub.HMaterID + "," + oSub.HWHID + "," + oSub.HSPID + ", 1", "gy_czygl");
-                    if (Ds.Tables[0].Rows.Count == 0)
+                    if (oSub.HBarCode == "")
                     {
-                        oCn.RollBack();
-                        return false;
-                    }
-                    if (DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0][0]) == "N")
-                    {
-                        sReturn = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0][1]) + ", 涓嶅厑璁镐繚瀛橈紒";
-                        oCn.RollBack();
-                        return false;
+                        Ds = oCn.RunProcReturn("exec h_p_Kf_ICStockBill_CheckKF " + omodel.HInterID + "," + oSub.HMaterID + "," + oSub.HWHID + "," + oSub.HSPID + ", 1", "gy_czygl");
+                        if (Ds.Tables[0].Rows.Count == 0)
+                        {
+                            oCn.RollBack();
+                            return false;
+                        }
+                        if (DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0][0]) == "N")
+                        {
+                            sReturn = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0][1]) + ", 涓嶅厑璁镐繚瀛橈紒";
+                            oCn.RollBack();
+                            return false;
+                        }
                     }
                 }
-                sReturn = "鏂板鍗曟嵁鎴愬姛锛�";
+                //淇濆瓨鍚庢帶鍒�
+                if (!AfterSave(omodel.HInterID, omodel.HBillNo, 1, ref sReturn))
+                {
+                    oCn.RollBack();
+                    return false;
+                }
+
+                if (oSystemParameter.omodel.Sc_MouldOtherInBill_AutoCheck.ToUpper() == "Y") //绯荤粺鍙傛暟  鑷姩瀹℃牳 
+                {
+                    //瀹℃牳鍗曟嵁
+                    oCn.RunProc("Update Sc_MouldStockBillMain Set HChecker='" + DBUtility.ClsPub.CurUserName + "',HCheckDate=getdate(),HBillStatus=2 where HInterID= " + omodel.HInterID.ToString());
+                    sReturn = "鍗曟嵁鍙凤細" + omodel.HBillNo + " 鏂板瀹℃牳鎴愬姛锛�";
+                }
+                else
+                {
+                    sReturn = "鍗曟嵁鍙凤細" + omodel.HBillNo + " 鏂板鎴愬姛锛�";
+                }
                 oCn.Commit();
                 return true;
             }
diff --git "a/DAL/\347\224\237\344\272\247\347\256\241\347\220\206/\346\250\241\345\205\267\347\256\241\347\220\206/ClsSc_MouldOtherOutBill.cs" "b/DAL/\347\224\237\344\272\247\347\256\241\347\220\206/\346\250\241\345\205\267\347\256\241\347\220\206/ClsSc_MouldOtherOutBill.cs"
index d4fb5a0..cfa5c09 100644
--- "a/DAL/\347\224\237\344\272\247\347\256\241\347\220\206/\346\250\241\345\205\267\347\256\241\347\220\206/ClsSc_MouldOtherOutBill.cs"
+++ "b/DAL/\347\224\237\344\272\247\347\256\241\347\220\206/\346\250\241\345\205\267\347\256\241\347\220\206/ClsSc_MouldOtherOutBill.cs"
@@ -29,8 +29,63 @@
         {
             DetailColl = null;
         }
-       
+
         #endregion   鑷畾涔夋柟娉�
+
+        //淇濆瓨鍓嶆帶鍒�
+        public bool BeforeSave(Int64 HInterID, string HBillNo, Int64 HSecManagerID, Int64 HKeeperID, Int64 HSupID, Int64 OperationType, ref string sReturn)
+        {
+            try
+            {
+                DataSet Ds = oCn.RunProcReturn("Exec h_p_Sc_MouldOtherOutBill_BeforeSaveCtrl " + HInterID.ToString() + ",'" + HBillNo + "'," + HSecManagerID.ToString() + "," + HKeeperID.ToString() + "," + HSupID.ToString() + "," + OperationType.ToString(), "h_p_Sc_MouldOtherOutBill_BeforeSaveCtrl");
+                if (Ds == null || Ds.Tables[0].Rows.Count == 0)
+                {
+                    sReturn = "淇濆瓨鍓嶅垽鏂け璐ワ紒";
+                    return false;
+                }
+                else
+                {
+                    if (DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HBack"]) == 1)
+                    {
+                        sReturn = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HRemark"]);
+                        return false;
+                    }
+                }
+                return true;
+            }
+            catch (Exception e)
+            {
+                throw (e);
+            }
+        }
+
+        //淇濆瓨鍚庢帶鍒�
+        public bool AfterSave(Int64 HInterID, string HBillNo, Int64 OperationType, ref string sReturn)
+        {
+            try
+            {
+                DataSet Ds = oCn.RunProcReturn("Exec h_p_Sc_MouldOtherOutBill_AfterSaveCtrl " + HInterID.ToString() + ",'" + HBillNo + "'," + OperationType.ToString(), "h_p_Sc_MouldOtherOutBill_AfterSaveCtrl");
+                if (Ds == null || Ds.Tables[0].Rows.Count == 0)
+                {
+                    sReturn = "淇濆瓨鍚庡垽鏂け璐ワ紒";
+                    return false;
+                }
+                else
+                {
+                    if (DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HBack"]) == 1)
+                    {
+                        sReturn = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HRemark"]);
+                        return false;
+                    }
+                }
+                return true;
+            }
+            catch (Exception e)
+            {
+                throw (e);
+            }
+        }
+
         //淇敼鍗曟嵁
         public override bool ModifyBill(Int64 lngBillKey, ref string sReturn)
         {
@@ -38,6 +93,12 @@
             {
                 //
                 oCn.BeginTran();
+                //淇濆瓨鍓嶆帶鍒�
+                if (!BeforeSave(lngBillKey, omodel.HBillNo, omodel.HSecManagerID, omodel.HKeeperID, omodel.HSupID, 2, ref sReturn))
+                {
+                    oCn.RollBack();
+                    return false;
+                }
                 //鏇存柊涓昏〃
                 oCn.RunProc("UpDate Sc_MouldStockBillMain set  " +
                 " HBillNo='" + omodel.HBillNo + "'" +  //鍥哄畾璧嬪��===============
@@ -49,16 +110,17 @@
                 ",HUpDateDate=getdate()" +
                 //========================================
                 ",HSupID=" + omodel.HSupID.ToString() +
-                ",HWHID=" + omodel.HWHID.ToString() +
-                ",HSCWHID=" + omodel.HSCWHID.ToString() +
                 ",HEmpID=" + omodel.HEmpID.ToString() +
                 ",HManagerID=" + omodel.HManagerID.ToString() +
                 ",HSecManagerID=" + omodel.HSecManagerID.ToString() +
                 ",HKeeperID=" + omodel.HKeeperID.ToString() +
                 ",HDeptID=" + omodel.HDeptID.ToString() +
+                ",HWHID=" + omodel.HWHID.ToString() +
+                ",HSCWHID=" + omodel.HSCWHID.ToString() +
                 ",HExplanation='" + omodel.HExplanation + "'" +
-                ",HInnerBillNo='" + omodel.HInnerBillNo + "'" +                
+                ",HInnerBillNo='" + omodel.HInnerBillNo + "'" +
                 ",HRedBlueFlag=" + DBUtility.ClsPub.BoolToString(omodel.HRedBlueFlag) +
+                ",HStockOrgID=" + omodel.HSTOCKORGID.ToString() +
                 " where HInterID=" + lngBillKey.ToString());
                 //鍒犻櫎鍏宠仈
                 DeleteRelation(ref sReturn, lngBillKey);
@@ -69,38 +131,31 @@
                 foreach (Model.ClsSc_MouldStockBillSub oSub in DetailColl)
                 {
                     oCn.RunProc("Insert into Sc_MouldStockBillSub " +
-                      " (HInterID,HEntryID,HCloseMan,HEntryCloseDate,HCloseType,HRemark" +
-                      ",HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HRelationQty,HRelationMoney" +
-                      ",HMaterID,HPropertyID,HSecUnitID,HSecUnitRate,HUnitID,HQtyMust" +
-                      ",HQty,HPrice,HMoney,HWHID,HSCWHID,HSPID" +
-                      ",HDesignLife,HLeaveLife,HUseLife,HNowModel,HNowLife" +
-                      ",HSCSPID,HSPGroupID,HBatchNo" +
-                        ",HMouldType,HInitModel,HInitDesignLife,HLifeUnitID" +
-                       ") values("
-                      + omodel.HInterID.ToString() + "," + oSub.HEntryID.ToString() + ",'" + oSub.HCloseMan + "','" + oSub.HEntryCloseDate.ToShortDateString() + "'," + Convert.ToString(oSub.HCloseType ? 1 : 0) + ",'" + oSub.HRemark + "'" +
-                      "," + oSub.HSourceInterID.ToString() + "," + oSub.HSourceEntryID.ToString() + ",'" + oSub.HSourceBillNo + "','" + oSub.HSourceBillType + "'," + oSub.HRelationQty.ToString() + "," + oSub.HRelationMoney.ToString() +
-                      "," + oSub.HMaterID.ToString() + "," + oSub.HPropertyID.ToString() + "," + oSub.HSecUnitID.ToString() + "," + oSub.HSecUnitRate.ToString() + "," + oSub.HUnitID.ToString() + "," + oSub.HQtyMust.ToString() +
-                      "," + oSub.HQty.ToString() + "," + oSub.HPrice.ToString() + "," + oSub.HMoney.ToString() + "," + oSub.HWHID.ToString() + "," + oSub.HSCWHID.ToString() + "," + oSub.HSPID.ToString() +
-                      "," + oSub.HDesignLife.ToString() + "," + oSub.HLeaveLife.ToString() + "," + oSub.HUseLife.ToString() + ",'" + oSub.HNowModel + "'," + oSub.HNowLife.ToString() +
-                      "," + oSub.HSCSPID.ToString() + "," + oSub.HSPGroupID.ToString() + ",'" + oSub.HBatchNo + "'" +
+                      " (HInterID,HEntryID,HRemark,HRelationQty,HRelationMoney" +
+                      ",HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType" +
+                      ",HMaterID,HPropertyID,HSecUnitID,HSecUnitRate,HUnitID,HBatchNo" +
+                      ",HQtyMust,HQtyRel,HQty,HPrice,HMoney,HDesignLife" +
+                      ",HLeaveLife,HUseLife,HUseLifeQty,HNewLifeQty,HWHID,HSCWHID" +
+                      ",HSPID,HSCSPID,HSPGroupID,HBarCode,HCorrespondentTypeID,HCorrespondentID" +
+                      ",HPOOrderInterID,HPOOrderEntryID,HPOOrderBillNo,HSeOrderInterID,HSeOrderEntryID,HSeOrderBillNo" +
+                      ",HStockOrgID,HOWNERID,HOtherOrgID,HOWNERTYPEID" +
+                      ",HNowModel,HNowLife,HNewModel,HLastProdModel,HWallThickness,HHardness" +
+                      ",HDiameter,HMouldType,HInitModel,HInitDesignLife,HLifeUnitID,HBackFlag" +
+                      ") values("
+                      + omodel.HInterID.ToString() + "," + oSub.HEntryID.ToString() + ",'" + oSub.HRemark + "'," + oSub.HRelationQty.ToString() + "," + oSub.HRelationMoney.ToString() +
+                      "," + oSub.HSourceInterID.ToString() + "," + oSub.HSourceEntryID.ToString() + ",'" + oSub.HSourceBillNo + "','" + oSub.HSourceBillType + "'" +
+                      "," + oSub.HMaterID.ToString() + "," + oSub.HPropertyID.ToString() + "," + oSub.HSecUnitID.ToString() + "," + oSub.HSecUnitRate.ToString() + "," + oSub.HUnitID.ToString() + ",'" + oSub.HBatchNo + "'" +
+                      "," + oSub.HQtyMust.ToString() + "," + oSub.HQtyRel.ToString() + "," + oSub.HQty.ToString() + "," + oSub.HPrice.ToString() + "," + oSub.HMoney.ToString() + "," + oSub.HDesignLife.ToString() +
+                      "," + oSub.HLeaveLife.ToString() + "," + oSub.HUseLife.ToString() + "," + oSub.HUseLifeQty.ToString() + "," + oSub.HNewLifeQty.ToString() + "," + oSub.HWHID.ToString() + "," + oSub.HSCWHID.ToString() +
+                      "," + oSub.HSPID.ToString() + "," + oSub.HSCSPID.ToString() + "," + oSub.HSPGroupID.ToString() + ",'" + oSub.HBarCode + "'," + oSub.HCorrespondentTypeID.ToString() + "," + oSub.HCorrespondentID.ToString() +
+                      "," + oSub.HPOOrderInterID.ToString() + "," + oSub.HPOOrderEntryID.ToString() + ",'" + oSub.HPOOrderBillNo + "'," + oSub.HSeOrderInterID.ToString() + "," + oSub.HSeOrderEntryID.ToString() + ",'" + oSub.HSeOrderBillNo + "'" +
+                      "," + oSub.HStockOrgID.ToString() + "," + oSub.HOWNERID.ToString() + "," + oSub.HOtherOrgID.ToString() + ",'" + oSub.HOWNERTYPEID + "'" +
+                      ",'" + oSub.HNowModel + "'," + oSub.HNowLife.ToString() + ",'" + oSub.HNewModel + "','" + oSub.HLastProdModel + "','" + oSub.HWallThickness + "','" + oSub.HHardness + "'" +
+                      ",'" + oSub.HDiameter + "'," + oSub.HMouldType.ToString() + ",'" + oSub.HInitModel + "'," + oSub.HInitDesignLife.ToString() + "," + oSub.HLifeUnitID.ToString() + ",'" + oSub.HBackFlag + "'" +
+                      ") ");
 
-                        "," + oSub.HMouldType.ToString() + ",'" + oSub.HInitModel + "'," + oSub.HInitDesignLife.ToString() + "," + oSub.HLifeUnitID.ToString() +
-                        ") ");
                     oCn.RunProc("exec h_p_Sc_MouldFileChangeStatus " + oSub.HMaterID.ToString() + ",'" + DBUtility.ClsPub.isStrNull(oSub.HNowModel) + "'," + oSub.HNowLife.ToString() + ",'鐢熶骇涓�'");
                 }
-                //
-                //oCn.RunProcReturn("exec h_p_Sc_MouldFileChangeStatus " + omodel.HInterID.ToString() + ",'鐢熶骇涓�'", "gy_czygl");
-                //foreach (Model.ClsSc_MouldStockBillSub oSub in DetailColl)
-                //{
-                //    Ds = oCn.RunProcReturn("exec h_p_Sc_MouldOtherOutBill_Qty " + oSub.HICMOInterID, "");
-                //    if (Ds.Tables[0].Rows.Count == 0)
-                //        return;
-                //    if (DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HBool"]) == "Y")
-                //    {
-                //        sReturn = "姹囨姤鏁伴噺瓒呰繃璁″垝鏁伴噺锛佷笉鍏佽淇濆瓨";
-                //        return false;
-                //    }
-                //}
                 DataSet Ds;
                 foreach (Model.ClsSc_MouldStockBillSub oSub in DetailColl)
                 {
@@ -117,7 +172,13 @@
                         return false;
                     }
                 }
-                sReturn = "淇敼鍗曟嵁鎴愬姛锛�";
+                //淇濆瓨鍚庢帶鍒�
+                if (!AfterSave(lngBillKey, omodel.HBillNo, 2, ref sReturn))
+                {
+                    oCn.RollBack();
+                    return false;
+                }
+                sReturn = "鍗曟嵁鍙凤細" + omodel.HBillNo + " 淇敼鎴愬姛锛�";
                 oCn.Commit();
                 return true;
             }
@@ -133,77 +194,108 @@
         {
             try
             {
+                //鑾峰彇绯荤粺鍙傛暟
+                Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();
+                if (oSystemParameter.ShowBillByOrgID(omodel.HSTOCKORGID, ref sReturn) == false)
+                {
+                    sReturn = "鑾峰彇绯荤粺鍙傛暟澶辫触锛� " + sReturn;
+                    return false;
+                }
                 //寰楀埌mainid
-                omodel.HInterID = DBUtility.ClsPub.CreateBillID(BillType, ref DBUtility.ClsPub.sExeReturnInfo);
-                //鑻AINDI閲嶅鍒欓噸鏂拌幏鍙�
+                if (omodel.HInterID == 0)
+                {
+                    omodel.HInterID = DBUtility.ClsPub.CreateBillID_Prod(BillType, ref DBUtility.ClsPub.sExeReturnInfo);
+                }
+                //淇濆瓨鍓嶆帶鍒�
+                if (!BeforeSave(omodel.HInterID, omodel.HBillNo, omodel.HSecManagerID, omodel.HKeeperID, omodel.HSupID, 1, ref sReturn))
+                {
+                    return false;
+                }
+
                 oCn.BeginTran();
                 //涓昏〃
                 oCn.RunProc("Insert Into Sc_MouldStockBillMain   " +
                 "(HBillType,HBillSubType,HInterID,HBillNo,HDate" +
                 ",HYear,HPeriod,HRemark,HMaker,HMakeDate" +
-                ",HSupID,HWHID,HSCWHID,HEmpID,HManagerID,HSecManagerID" +
-                ",HKeeperID,HDeptID,HExplanation,HInnerBillNo,HRedBlueFlag" +
-                ""+
+                ",HSupID,HSupTypeID,HEmpID,HManagerID,HSecManagerID" +
+                ",HKeeperID,HDeptID,HWHID,HSCWHID,HRedBlueFlag" +
+                ",HExplanation,HInnerBillNo,HStockOrgID" +
                 ") " +
-                " values('" + this.BillType + "','"  + this.HBillSubType + "'," +omodel.HInterID.ToString() + ",'" + omodel.HBillNo + "','" + omodel.HDate + "'" +
-                ", " + omodel.HYear.ToString() + "," + omodel.HPeriod.ToString() + ",'" + omodel.HRemark + "','" + omodel.HMaker + "',getdate()" +
-                ", " + omodel.HSupID.ToString() + "," + omodel.HWHID.ToString() + "," + omodel.HSCWHID.ToString() + "," + omodel.HEmpID.ToString() + "," + omodel.HManagerID.ToString() + "," + omodel.HSecManagerID.ToString() +
-                ", " + omodel.HKeeperID.ToString() + "," + omodel.HDeptID.ToString() + ",'" + omodel.HExplanation + "','" + omodel.HInnerBillNo + "'," + DBUtility.ClsPub.BoolToString(omodel.HRedBlueFlag) +
+                " values('" + this.BillType + "','" + this.HBillSubType + "'," + omodel.HInterID.ToString() + ",'" + omodel.HBillNo + "','" + omodel.HDate.ToShortDateString() + "'" +
+                ", " + omodel.HYear.ToString() + "," + omodel.HPeriod.ToString() + ",'" + omodel.HRemark + "','" + DBUtility.ClsPub.CurUserName + "',getdate()" +
+                ", " + omodel.HSupID.ToString() + "," + omodel.HSupTypeID.ToString() + "," + omodel.HEmpID.ToString() + "," + omodel.HManagerID.ToString() + "," + omodel.HSecManagerID.ToString() +
+                ", " + omodel.HKeeperID.ToString() + "," + omodel.HDeptID.ToString() + "," + omodel.HWHID.ToString() + "," + omodel.HSCWHID.ToString() + "," + DBUtility.ClsPub.BoolToString(omodel.HRedBlueFlag) +
+                ",'" + omodel.HExplanation + "','" + omodel.HInnerBillNo + "'," + omodel.HSTOCKORGID.ToString() +
                 ") ");
                 //鎻掑叆瀛愯〃
                 foreach (Model.ClsSc_MouldStockBillSub oSub in DetailColl)
                 {
                     oCn.RunProc("Insert into Sc_MouldStockBillSub " +
-                      " (HInterID,HEntryID,HCloseMan,HEntryCloseDate,HCloseType,HRemark" +
-                      ",HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HRelationQty,HRelationMoney" +
-                      ",HMaterID,HPropertyID,HSecUnitID,HSecUnitRate,HUnitID,HQtyMust" +
-                      ",HQty,HPrice,HMoney,HWHID,HSCWHID,HSPID" +
-                      ",HDesignLife,HLeaveLife,HUseLife,HNowModel,HNowLife" +
-                      ",HSCSPID,HSPGroupID,HBatchNo" +
-                        ",HMouldType,HInitModel,HInitDesignLife,HLifeUnitID,HBarCode" +
-                       ") values("
-                      + omodel.HInterID.ToString() + "," + oSub.HEntryID.ToString() + ",'" + oSub.HCloseMan + "','" + oSub.HEntryCloseDate.ToShortDateString() + "'," + Convert.ToString(oSub.HCloseType ? 1 : 0) + ",'" + oSub.HRemark + "'" +
-                      "," + oSub.HSourceInterID.ToString() + "," + oSub.HSourceEntryID.ToString() + ",'" + oSub.HSourceBillNo + "','" + oSub.HSourceBillType + "'," + oSub.HRelationQty.ToString() + "," + oSub.HRelationMoney.ToString() +
-                      "," + oSub.HMaterID.ToString() + "," + oSub.HPropertyID.ToString() + "," + oSub.HSecUnitID.ToString() + "," + oSub.HSecUnitRate.ToString() + "," + oSub.HUnitID.ToString() + "," + oSub.HQtyMust.ToString() +
-                      "," + oSub.HQty.ToString() + "," + oSub.HPrice.ToString() + "," + oSub.HMoney.ToString() + "," + oSub.HWHID.ToString() + "," + oSub.HSCWHID.ToString() + "," + oSub.HSPID.ToString() +
-                      "," + oSub.HDesignLife.ToString() + "," + oSub.HLeaveLife.ToString() + "," + oSub.HUseLife.ToString() + ",'" + oSub.HNowModel + "'," + oSub.HNowLife.ToString() +
-                      "," + oSub.HSCSPID.ToString() + "," + oSub.HSPGroupID.ToString() + ",'" + oSub.HBatchNo + "' " +
+                      " (HInterID,HEntryID,HRemark,HRelationQty,HRelationMoney" +
+                      ",HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType" +
+                      ",HMaterID,HPropertyID,HSecUnitID,HSecUnitRate,HUnitID,HBatchNo" +
+                      ",HQtyMust,HQtyRel,HQty,HPrice,HMoney,HDesignLife" +
+                      ",HLeaveLife,HUseLife,HUseLifeQty,HNewLifeQty,HWHID,HSCWHID" +
+                      ",HSPID,HSCSPID,HSPGroupID,HBarCode,HCorrespondentTypeID,HCorrespondentID" +
+                      ",HPOOrderInterID,HPOOrderEntryID,HPOOrderBillNo,HSeOrderInterID,HSeOrderEntryID,HSeOrderBillNo" +
+                      ",HStockOrgID,HOWNERID,HOtherOrgID,HOWNERTYPEID" +
+                      ",HNowModel,HNowLife,HNewModel,HLastProdModel,HWallThickness,HHardness" +
+                      ",HDiameter,HMouldType,HInitModel,HInitDesignLife,HLifeUnitID" +
+                      ") values("
+                      + omodel.HInterID.ToString() + "," + oSub.HEntryID.ToString() + ",'" + oSub.HRemark + "'," + oSub.HRelationQty.ToString() + "," + oSub.HRelationMoney.ToString() +
+                      "," + oSub.HSourceInterID.ToString() + "," + oSub.HSourceEntryID.ToString() + ",'" + oSub.HSourceBillNo + "','" + oSub.HSourceBillType + "'" +
+                      "," + oSub.HMaterID.ToString() + "," + oSub.HPropertyID.ToString() + "," + oSub.HSecUnitID.ToString() + "," + oSub.HSecUnitRate.ToString() + "," + oSub.HUnitID.ToString() + ",'" + oSub.HBatchNo + "'" +
+                      "," + oSub.HQtyMust.ToString() + "," + oSub.HQtyRel.ToString() + "," + oSub.HQty.ToString() + "," + oSub.HPrice.ToString() + "," + oSub.HMoney.ToString() + "," + oSub.HDesignLife.ToString() +
+                      "," + oSub.HLeaveLife.ToString() + "," + oSub.HUseLife.ToString() + "," + oSub.HUseLifeQty.ToString() + "," + oSub.HNewLifeQty.ToString() + "," + oSub.HWHID.ToString() + "," + oSub.HSCWHID.ToString() +
+                      "," + oSub.HSPID.ToString() + "," + oSub.HSCSPID.ToString() + "," + oSub.HSPGroupID.ToString() + ",'" + oSub.HBarCode + "'," + oSub.HCorrespondentTypeID.ToString() + "," + oSub.HCorrespondentID.ToString() +
+                      "," + oSub.HPOOrderInterID.ToString() + "," + oSub.HPOOrderEntryID.ToString() + ",'" + oSub.HPOOrderBillNo + "'," + oSub.HSeOrderInterID.ToString() + "," + oSub.HSeOrderEntryID.ToString() + ",'" + oSub.HSeOrderBillNo + "'" +
+                      "," + oSub.HStockOrgID.ToString() + "," + oSub.HOWNERID.ToString() + "," + oSub.HOtherOrgID.ToString() + ",'" + oSub.HOWNERTYPEID + "'" +
+                      ",'" + oSub.HNowModel + "'," + oSub.HNowLife.ToString() + ",'" + oSub.HNewModel + "','" + oSub.HLastProdModel + "','" + oSub.HWallThickness + "','" + oSub.HHardness + "'" +
+                      ",'" + oSub.HDiameter + "'," + oSub.HMouldType.ToString() + ",'" + oSub.HInitModel + "'," + oSub.HInitDesignLife.ToString() + "," + oSub.HLifeUnitID.ToString() +
+                      ") ");
 
-                        "," + oSub.HMouldType.ToString() + ",'" + oSub.HInitModel + "'," + oSub.HInitDesignLife.ToString() + "," + oSub.HLifeUnitID.ToString() + ",'" + oSub.HBarCode.ToString() + "'" +
-                         ") ");
-
-                    oCn.RunProc("exec h_p_Sc_MouldFileChangeStatus " + oSub.HMaterID.ToString() + ",'" + DBUtility.ClsPub.isStrNull(oSub.HNowModel) + "'," + oSub.HNowLife.ToString() + ",'鐢熶骇涓�'");
+                    if (oSub.HBarCode == "")
+                    {
+                        oCn.RunProc("exec h_p_Sc_MouldFileChangeStatus " + oSub.HMaterID.ToString() + ",'" + DBUtility.ClsPub.isStrNull(oSub.HNowModel) + "'," + oSub.HNowLife.ToString() + ",'鐢熶骇涓�'");
+                    }
                 }
-                // 
-                //foreach (Model.ClsSc_MouldStockBillSub oSub in DetailColl)
-                //{
-                //    Ds = oCn.RunProcReturn("exec h_p_Sc_MouldOtherOutBill_Qty " + oSub.HICMOInterID, "");
-                //    if (Ds.Tables[0].Rows.Count == 0)
-                //        return;
-                //    if (DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HBool"]) == "Y")
-                //    {
-                //        sReturn = "姹囨姤鏁伴噺瓒呰繃璁″垝鏁伴噺锛佷笉鍏佽淇濆瓨";
-                //        return false;
-                //    }
-                //}
+
                 DataSet Ds;
                 foreach (Model.ClsSc_MouldStockBillSub oSub in DetailColl)
                 {
-                    Ds = oCn.RunProcReturn("exec h_p_Kf_ICStockBill_CheckKF " + omodel.HInterID + "," + oSub.HMaterID + "," + oSub.HWHID + "," + oSub.HSPID + ", -1", "gy_czygl");
-                    if (Ds.Tables[0].Rows.Count == 0)
+                    if (oSub.HBarCode == "")
                     {
-                        oCn.RollBack();
-                        return false;
-                    }
-                    if (DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0][0]) == "N")
-                    {
-                        sReturn = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0][1]) + ", 涓嶅厑璁镐繚瀛橈紒";
-                        oCn.RollBack();
-                        return false;
+                        Ds = oCn.RunProcReturn("exec h_p_Kf_ICStockBill_CheckKF " + omodel.HInterID + "," + oSub.HMaterID + "," + oSub.HWHID + "," + oSub.HSPID + ", -1", "gy_czygl");
+                        if (Ds.Tables[0].Rows.Count == 0)
+                        {
+                            oCn.RollBack();
+                            return false;
+                        }
+                        if (DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0][0]) == "N")
+                        {
+                            sReturn = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0][1]) + ", 涓嶅厑璁镐繚瀛橈紒";
+                            oCn.RollBack();
+                            return false;
+                        }
                     }
                 }
-                //
-                sReturn = "鏂板鍗曟嵁鎴愬姛锛�";
+                //淇濆瓨鍚庢帶鍒�
+                if (!AfterSave(omodel.HInterID, omodel.HBillNo, 1, ref sReturn))
+                {
+                    oCn.RollBack();
+                    return false;
+                }
+
+                if (oSystemParameter.omodel.Sc_MouldOtherOutBill_AutoCheck.ToUpper() == "Y") //绯荤粺鍙傛暟  鑷姩瀹℃牳 
+                {
+                    //瀹℃牳鍗曟嵁
+                    oCn.RunProc("Update Sc_MouldStockBillMain Set HChecker='" + DBUtility.ClsPub.CurUserName + "',HCheckDate=getdate(),HBillStatus=2 where HInterID= " + omodel.HInterID.ToString());
+                    sReturn = "鍗曟嵁鍙凤細" + omodel.HBillNo + " 鏂板瀹℃牳鎴愬姛锛�";
+                }
+                else
+                {
+                    sReturn = "鍗曟嵁鍙凤細" + omodel.HBillNo + " 鏂板鎴愬姛锛�";
+                }
                 oCn.Commit();
                 return true;
             }
diff --git "a/DAL/\347\224\237\344\272\247\347\256\241\347\220\206/\346\250\241\345\205\267\347\256\241\347\220\206/ClsSc_MouldProdBackBill.cs" "b/DAL/\347\224\237\344\272\247\347\256\241\347\220\206/\346\250\241\345\205\267\347\256\241\347\220\206/ClsSc_MouldProdBackBill.cs"
index 5f36f68..70765e0 100644
--- "a/DAL/\347\224\237\344\272\247\347\256\241\347\220\206/\346\250\241\345\205\267\347\256\241\347\220\206/ClsSc_MouldProdBackBill.cs"
+++ "b/DAL/\347\224\237\344\272\247\347\256\241\347\220\206/\346\250\241\345\205\267\347\256\241\347\220\206/ClsSc_MouldProdBackBill.cs"
@@ -17,7 +17,7 @@
             base.MvarItemKeySub3 = "";
             base.MvarItemKeySub4 = "";
             base.MvarItemKey="Sc_MouldStockBillMain";
-            base.MvarReportTitle = "妯″叿閫�搴撳崟";
+            base.MvarReportTitle = "妯″叿棰嗙敤閫�搴撳崟";
             base.BillType = "3803";
             base.HBillSubType = "3803";
 
@@ -29,8 +29,63 @@
         {
             DetailColl = null;
         }
-       
+
         #endregion   鑷畾涔夋柟娉�
+
+        //淇濆瓨鍓嶆帶鍒�
+        public bool BeforeSave(Int64 HInterID, string HBillNo, Int64 HSecManagerID, Int64 HKeeperID, Int64 HSupID, Int64 OperationType, ref string sReturn)
+        {
+            try
+            {
+                DataSet Ds = oCn.RunProcReturn("Exec h_p_Sc_MouldProdBackBill_BeforeSaveCtrl " + HInterID.ToString() + ",'" + HBillNo + "'," + HSecManagerID.ToString() + "," + HKeeperID.ToString() + "," + HSupID.ToString() + "," + OperationType.ToString(), "h_p_Sc_MouldProdBackBill_BeforeSaveCtrl");
+                if (Ds == null || Ds.Tables[0].Rows.Count == 0)
+                {
+                    sReturn = "淇濆瓨鍓嶅垽鏂け璐ワ紒";
+                    return false;
+                }
+                else
+                {
+                    if (DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HBack"]) == 1)
+                    {
+                        sReturn = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HRemark"]);
+                        return false;
+                    }
+                }
+                return true;
+            }
+            catch (Exception e)
+            {
+                throw (e);
+            }
+        }
+
+        //淇濆瓨鍚庢帶鍒�
+        public bool AfterSave(Int64 HInterID, string HBillNo, Int64 OperationType, ref string sReturn)
+        {
+            try
+            {
+                DataSet Ds = oCn.RunProcReturn("Exec h_p_Sc_MouldProdBackBill_AfterSaveCtrl " + HInterID.ToString() + ",'" + HBillNo + "'," + OperationType.ToString(), "h_p_Sc_MouldProdBackBill_AfterSaveCtrl");
+                if (Ds == null || Ds.Tables[0].Rows.Count == 0)
+                {
+                    sReturn = "淇濆瓨鍚庡垽鏂け璐ワ紒";
+                    return false;
+                }
+                else
+                {
+                    if (DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HBack"]) == 1)
+                    {
+                        sReturn = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HRemark"]);
+                        return false;
+                    }
+                }
+                return true;
+            }
+            catch (Exception e)
+            {
+                throw (e);
+            }
+        }
+
         //淇敼鍗曟嵁
         public override bool ModifyBill(Int64 lngBillKey, ref string sReturn)
         {
@@ -38,6 +93,12 @@
             {
                 //
                 oCn.BeginTran();
+                //淇濆瓨鍓嶆帶鍒�
+                if (!BeforeSave(lngBillKey, omodel.HBillNo, omodel.HSecManagerID, omodel.HKeeperID, omodel.HSupID, 2, ref sReturn))
+                {
+                    oCn.RollBack();
+                    return false;
+                }
                 //鏇存柊涓昏〃
                 oCn.RunProc("UpDate Sc_MouldStockBillMain set  " +
                 " HBillNo='" + omodel.HBillNo + "'" +  //鍥哄畾璧嬪��===============
@@ -49,16 +110,18 @@
                 ",HUpDateDate=getdate()" +
                 //========================================
                 ",HSupID=" + omodel.HSupID.ToString() +
-                ",HWHID=" + omodel.HWHID.ToString() +
-                ",HSCWHID=" + omodel.HSCWHID.ToString() +
+                ",HSupTypeID=" + omodel.HSupTypeID.ToString() +
                 ",HEmpID=" + omodel.HEmpID.ToString() +
                 ",HManagerID=" + omodel.HManagerID.ToString() +
                 ",HSecManagerID=" + omodel.HSecManagerID.ToString() +
                 ",HKeeperID=" + omodel.HKeeperID.ToString() +
                 ",HDeptID=" + omodel.HDeptID.ToString() +
+                ",HWHID=" + omodel.HWHID.ToString() +
+                ",HSCWHID=" + omodel.HSCWHID.ToString() +
                 ",HExplanation='" + omodel.HExplanation + "'" +
-                ",HInnerBillNo='" + omodel.HInnerBillNo + "'" +                
+                ",HInnerBillNo='" + omodel.HInnerBillNo + "'" +
                 ",HRedBlueFlag=" + DBUtility.ClsPub.BoolToString(omodel.HRedBlueFlag) +
+                ",HStockOrgID=" + omodel.HSTOCKORGID.ToString() +
                 " where HInterID=" + lngBillKey.ToString());
                 //鍒犻櫎鍏宠仈
                 DeleteRelation(ref sReturn, lngBillKey);
@@ -69,43 +132,32 @@
                 foreach (Model.ClsSc_MouldStockBillSub oSub in DetailColl)
                 {
                     oCn.RunProc("Insert into Sc_MouldStockBillSub " +
-                        " (HInterID,HEntryID,HCloseMan,HEntryCloseDate,HCloseType,HRemark" +
-                        ",HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HRelationQty,HRelationMoney" +
-                        ",HMaterID,HPropertyID,HSecUnitID,HSecUnitRate,HUnitID,HQtyMust" +
-                        ",HQty,HPrice,HMoney,HWHID,HSCWHID,HSPID" +
-                        ",HDesignLife,HLeaveLife,HUseLife" +
-                        ",HSCSPID,HSPGroupID,HBatchNo" +
-                        //",HPOOrderInterID,HPOOrderEntryID,HPOOrderBillNo" +
-                        //",HSeOrderInterID,HSeOrderEntryID,HSeOrderBillNo" +
-                        ",HNewModel,HWallThickness,HHardness,HLastProdModel,HDiameter,HBackFlag" +
-                        ",HQtyRel" +
-
-                        ") values("
-                        + omodel.HInterID.ToString() + "," + oSub.HEntryID.ToString() + ",'" + oSub.HCloseMan + "','" + oSub.HEntryCloseDate.ToShortDateString() + "'," + Convert.ToString(oSub.HCloseType ? 1 : 0) + ",'" + oSub.HRemark + "'" +
-                        "," + oSub.HSourceInterID.ToString() + "," + oSub.HSourceEntryID.ToString() + ",'" + oSub.HSourceBillNo + "','" + oSub.HSourceBillType + "'," + oSub.HRelationQty.ToString() + "," + oSub.HRelationMoney.ToString() +
-                        "," + oSub.HMaterID.ToString() + "," + oSub.HPropertyID.ToString() + "," + oSub.HSecUnitID.ToString() + "," + oSub.HSecUnitRate.ToString() + "," + oSub.HUnitID.ToString() + "," + oSub.HQtyMust.ToString() +
-                        "," + oSub.HQty.ToString() + "," + oSub.HPrice.ToString() + "," + oSub.HMoney.ToString() + "," + oSub.HWHID.ToString() + "," + oSub.HSCWHID.ToString() + "," + oSub.HSPID.ToString() +
-                        "," + oSub.HDesignLife.ToString() + "," + oSub.HLeaveLife.ToString() + "," + oSub.HUseLife.ToString() +
-                        "," + oSub.HSCSPID.ToString() + "," + oSub.HSPGroupID.ToString() + ",'" + oSub.HBatchNo + "'" +
-                        //"," + oSub.HPOOrderInterID.ToString() + "," + oSub.HPOOrderEntryID.ToString() + ",'" + oSub.HPOOrderBillNo + "'" +
-                        //"," + oSub.HSeOrderInterID.ToString() + "," + oSub.HSeOrderEntryID.ToString() + ",'" + oSub.HSeOrderBillNo + "'" +
-                        ",'" + oSub.HNewModel + "','" + oSub.HWallThickness + "','" + oSub.HHardness + "','" + oSub.HLastProdModel + "','" + oSub.HDiameter + "','" + oSub.HBackFlag + "'" +
-                        "," + 0 +
-                        ") ");
+                      " (HInterID,HEntryID,HRemark,HRelationQty,HRelationMoney" +
+                      ",HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType" +
+                      ",HMaterID,HPropertyID,HSecUnitID,HSecUnitRate,HUnitID,HBatchNo" +
+                      ",HQtyMust,HQtyRel,HQty,HPrice,HMoney,HDesignLife" +
+                      ",HLeaveLife,HUseLife,HUseLifeQty,HNewLifeQty,HWHID,HSCWHID" +
+                      ",HSPID,HSCSPID,HSPGroupID,HBarCode,HCorrespondentTypeID,HCorrespondentID" +
+                      ",HPOOrderInterID,HPOOrderEntryID,HPOOrderBillNo,HSeOrderInterID,HSeOrderEntryID,HSeOrderBillNo" +
+                      ",HStockOrgID,HOWNERID,HOtherOrgID,HOWNERTYPEID" +
+                      ") values("
+                      + omodel.HInterID.ToString() + "," + oSub.HEntryID.ToString() + ",'" + oSub.HRemark + "'," + oSub.HRelationQty.ToString() + "," + oSub.HRelationMoney.ToString() +
+                      "," + oSub.HSourceInterID.ToString() + "," + oSub.HSourceEntryID.ToString() + ",'" + oSub.HSourceBillNo + "','" + oSub.HSourceBillType + "'" +
+                      "," + oSub.HMaterID.ToString() + "," + oSub.HPropertyID.ToString() + "," + oSub.HSecUnitID.ToString() + "," + oSub.HSecUnitRate.ToString() + "," + oSub.HUnitID.ToString() + ",'" + oSub.HBatchNo + "'" +
+                      "," + oSub.HQtyMust.ToString() + "," + oSub.HQtyRel.ToString() + "," + oSub.HQty.ToString() + "," + oSub.HPrice.ToString() + "," + oSub.HMoney.ToString() + "," + oSub.HDesignLife.ToString() +
+                      "," + oSub.HLeaveLife.ToString() + "," + oSub.HUseLife.ToString() + "," + oSub.HUseLifeQty.ToString() + "," + oSub.HNewLifeQty.ToString() + "," + oSub.HWHID.ToString() + "," + oSub.HSCWHID.ToString() +
+                      "," + oSub.HSPID.ToString() + "," + oSub.HSCSPID.ToString() + "," + oSub.HSPGroupID.ToString() + ",'" + oSub.HBarCode + "'," + oSub.HCorrespondentTypeID.ToString() + "," + oSub.HCorrespondentID.ToString() +
+                      "," + oSub.HPOOrderInterID.ToString() + "," + oSub.HPOOrderEntryID.ToString() + ",'" + oSub.HPOOrderBillNo + "'," + oSub.HSeOrderInterID.ToString() + "," + oSub.HSeOrderEntryID.ToString() + ",'" + oSub.HSeOrderBillNo + "'" +
+                      "," + oSub.HStockOrgID.ToString() + "," + oSub.HOWNERID.ToString() + "," + oSub.HOtherOrgID.ToString() + ",'" + oSub.HOWNERTYPEID + "'" +
+                      ") ");
                 }
-                //
-                //foreach (Model.ClsSc_MouldProdBackBillSub oSub in DetailColl)
-                //{
-                //    Ds = oCn.RunProcReturn("exec h_p_Sc_MouldProdBackBill_Qty " + oSub.HICMOInterID, "");
-                //    if (Ds.Tables[0].Rows.Count == 0)
-                //        return;
-                //    if (DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HBool"]) == "Y")
-                //    {
-                //        sReturn = "姹囨姤鏁伴噺瓒呰繃璁″垝鏁伴噺锛佷笉鍏佽淇濆瓨";
-                //        return false;
-                //    }
-                //}
-                sReturn = "淇敼鍗曟嵁鎴愬姛锛�";
+                //淇濆瓨鍚庢帶鍒�
+                if (!AfterSave(lngBillKey, omodel.HBillNo, 2, ref sReturn))
+                {
+                    oCn.RollBack();
+                    return false;
+                }
+                sReturn = "鍗曟嵁鍙凤細" + omodel.HBillNo + " 淇敼鎴愬姛锛�";
                 oCn.Commit();
                 return true;
             }
@@ -158,66 +210,79 @@
         {
             try
             {
+                //鑾峰彇绯荤粺鍙傛暟
+                Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();
+                if (oSystemParameter.ShowBillByOrgID(omodel.HSTOCKORGID, ref sReturn) == false)
+                {
+                    sReturn = "鑾峰彇绯荤粺鍙傛暟澶辫触锛� " + sReturn;
+                    return false;
+                }
                 //寰楀埌mainid
-                omodel.HInterID = DBUtility.ClsPub.CreateBillID(BillType, ref DBUtility.ClsPub.sExeReturnInfo);
-                //鑻AINDI閲嶅鍒欓噸鏂拌幏鍙�
+                if (omodel.HInterID == 0)
+                {
+                    omodel.HInterID = DBUtility.ClsPub.CreateBillID_Prod(BillType, ref DBUtility.ClsPub.sExeReturnInfo);
+                }
+                //淇濆瓨鍓嶆帶鍒�
+                if (!BeforeSave(omodel.HInterID, omodel.HBillNo, omodel.HSecManagerID, omodel.HKeeperID, omodel.HSupID, 1, ref sReturn))
+                {
+                    return false;
+                }
+
                 oCn.BeginTran();
                 //涓昏〃
                 oCn.RunProc("Insert Into Sc_MouldStockBillMain   " +
                 "(HBillType,HBillSubType,HInterID,HBillNo,HDate" +
                 ",HYear,HPeriod,HRemark,HMaker,HMakeDate" +
-                ",HSupID,HWHID,HSCWHID,HEmpID,HManagerID,HSecManagerID" +
-                ",HKeeperID,HDeptID,HExplanation,HInnerBillNo,HRedBlueFlag" +
+                ",HSupID,HSupTypeID,HEmpID,HManagerID,HSecManagerID" +
+                ",HKeeperID,HDeptID,HWHID,HSCWHID,HRedBlueFlag" +
+                ",HExplanation,HInnerBillNo,HStockOrgID" +
                 ") " +
-                " values('" + this.BillType + "','"  + this.HBillSubType + "'," +omodel.HInterID.ToString() + ",'" + omodel.HBillNo + "','" + omodel.HDate + "'" +
+                " values('" + this.BillType + "','" + this.HBillSubType + "'," + omodel.HInterID.ToString() + ",'" + omodel.HBillNo + "','" + omodel.HDate.ToShortDateString() + "'" +
                 ", " + omodel.HYear.ToString() + "," + omodel.HPeriod.ToString() + ",'" + omodel.HRemark + "','" + DBUtility.ClsPub.CurUserName + "',getdate()" +
-                ", " + omodel.HSupID.ToString() + "," + omodel.HWHID.ToString() + "," + omodel.HSCWHID.ToString() + "," + omodel.HEmpID.ToString() + "," + omodel.HManagerID.ToString() + "," + omodel.HSecManagerID.ToString() +
-                ", " + omodel.HKeeperID.ToString() + "," + omodel.HDeptID.ToString() + ",'" + omodel.HExplanation + "','" + omodel.HInnerBillNo + "'," + DBUtility.ClsPub.BoolToString(omodel.HRedBlueFlag) +
-          
+                ", " + omodel.HSupID.ToString() + "," + omodel.HSupTypeID.ToString() + "," + omodel.HEmpID.ToString() + "," + omodel.HManagerID.ToString() + "," + omodel.HSecManagerID.ToString() +
+                ", " + omodel.HKeeperID.ToString() + "," + omodel.HDeptID.ToString() + "," + omodel.HWHID.ToString() + "," + omodel.HSCWHID.ToString() + "," + DBUtility.ClsPub.BoolToString(omodel.HRedBlueFlag) +
+                ",'" + omodel.HExplanation + "','" + omodel.HInnerBillNo + "'," + omodel.HSTOCKORGID.ToString() +
                 ") ");
                 //鎻掑叆瀛愯〃
                 foreach (Model.ClsSc_MouldStockBillSub oSub in DetailColl)
                 {
-
                     oCn.RunProc("Insert into Sc_MouldStockBillSub " +
-                      " (HInterID,HEntryID,HCloseMan,HEntryCloseDate,HCloseType,HRemark" +
-                      ",HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HRelationQty,HRelationMoney" +
-                      ",HMaterID,HPropertyID,HSecUnitID,HSecUnitRate,HUnitID,HQtyMust" +
-                      ",HQty,HPrice,HMoney,HWHID,HSCWHID,HSPID" +
-                      ",HDesignLife,HLeaveLife,HUseLife" +
-                      ",HSCSPID,HSPGroupID,HBatchNo"+
-                      //",HPOOrderInterID,HPOOrderEntryID,HPOOrderBillNo" +
-                      //",HSeOrderInterID,HSeOrderEntryID,HSeOrderBillNo" +
-                      ",HNewModel,HWallThickness,HHardness,HLastProdModel,HDiameter,HBackFlag" +
-                      ",HQtyRel"+
-
+                      " (HInterID,HEntryID,HRemark,HRelationQty,HRelationMoney" +
+                      ",HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType" +
+                      ",HMaterID,HPropertyID,HSecUnitID,HSecUnitRate,HUnitID,HBatchNo" +
+                      ",HQtyMust,HQtyRel,HQty,HPrice,HMoney,HDesignLife" +
+                      ",HLeaveLife,HUseLife,HUseLifeQty,HNewLifeQty,HWHID,HSCWHID" +
+                      ",HSPID,HSCSPID,HSPGroupID,HBarCode,HCorrespondentTypeID,HCorrespondentID" +
+                      ",HPOOrderInterID,HPOOrderEntryID,HPOOrderBillNo,HSeOrderInterID,HSeOrderEntryID,HSeOrderBillNo" +
+                      ",HStockOrgID,HOWNERID,HOtherOrgID,HOWNERTYPEID" +
                       ") values("
-                      + omodel.HInterID.ToString() + "," + oSub.HEntryID.ToString() + ",'" + oSub.HCloseMan + "','" + oSub.HEntryCloseDate.ToShortDateString() + "'," + Convert.ToString(oSub.HCloseType ? 1 : 0) + ",'" + oSub.HRemark + "'" +
-                      "," + oSub.HSourceInterID.ToString() + "," + oSub.HSourceEntryID.ToString() + ",'" + oSub.HSourceBillNo + "','" + oSub.HSourceBillType + "'," + oSub.HRelationQty.ToString() + "," + oSub.HRelationMoney.ToString() +
-                      "," + oSub.HMaterID.ToString() + "," + oSub.HPropertyID.ToString() + "," + oSub.HSecUnitID.ToString() + "," + oSub.HSecUnitRate.ToString() + "," + oSub.HUnitID.ToString() + "," + oSub.HQtyMust.ToString() +
-                      "," + oSub.HQty.ToString() + "," + oSub.HPrice.ToString() + "," + oSub.HMoney.ToString() + "," + oSub.HWHID.ToString() + "," + oSub.HSCWHID.ToString() + "," + oSub.HSPID.ToString() +
-                      "," + oSub.HDesignLife.ToString() + "," + oSub.HLeaveLife.ToString() + "," + oSub.HUseLife.ToString() +
-                      "," + oSub.HSCSPID.ToString() + "," + oSub.HSPGroupID.ToString() + ",'" + oSub.HBatchNo + "'"+
-                      //"," + oSub.HPOOrderInterID.ToString() + "," + oSub.HPOOrderEntryID.ToString() + ",'" + oSub.HPOOrderBillNo + "'" +
-                      //"," + oSub.HSeOrderInterID.ToString() + "," + oSub.HSeOrderEntryID.ToString() + ",'" + oSub.HSeOrderBillNo + "'" +
-                      ",'" + oSub.HNewModel + "','" + oSub.HWallThickness + "','" + oSub.HHardness + "','" + oSub.HLastProdModel + "','" + oSub.HDiameter + "','" + oSub.HBackFlag + "'" +
-                      ","+0+
+                      + omodel.HInterID.ToString() + "," + oSub.HEntryID.ToString() + ",'" + oSub.HRemark + "'," + oSub.HRelationQty.ToString() + "," + oSub.HRelationMoney.ToString() +
+                      "," + oSub.HSourceInterID.ToString() + "," + oSub.HSourceEntryID.ToString() + ",'" + oSub.HSourceBillNo + "','" + oSub.HSourceBillType + "'" +
+                      "," + oSub.HMaterID.ToString() + "," + oSub.HPropertyID.ToString() + "," + oSub.HSecUnitID.ToString() + "," + oSub.HSecUnitRate.ToString() + "," + oSub.HUnitID.ToString() + ",'" + oSub.HBatchNo + "'" +
+                      "," + oSub.HQtyMust.ToString() + "," + oSub.HQtyRel.ToString() + "," + oSub.HQty.ToString() + "," + oSub.HPrice.ToString() + "," + oSub.HMoney.ToString() + "," + oSub.HDesignLife.ToString() +
+                      "," + oSub.HLeaveLife.ToString() + "," + oSub.HUseLife.ToString() + "," + oSub.HUseLifeQty.ToString() + "," + oSub.HNewLifeQty.ToString() + "," + oSub.HWHID.ToString() + "," + oSub.HSCWHID.ToString() +
+                      "," + oSub.HSPID.ToString() + "," + oSub.HSCSPID.ToString() + "," + oSub.HSPGroupID.ToString() + ",'" + oSub.HBarCode + "'," + oSub.HCorrespondentTypeID.ToString() + "," + oSub.HCorrespondentID.ToString() +
+                      "," + oSub.HPOOrderInterID.ToString() + "," + oSub.HPOOrderEntryID.ToString() + ",'" + oSub.HPOOrderBillNo + "'," + oSub.HSeOrderInterID.ToString() + "," + oSub.HSeOrderEntryID.ToString() + ",'" + oSub.HSeOrderBillNo + "'" +
+                      "," + oSub.HStockOrgID.ToString() + "," + oSub.HOWNERID.ToString() + "," + oSub.HOtherOrgID.ToString() + ",'" + oSub.HOWNERTYPEID + "'" +
                       ") ");
                 }
-                //
-                //foreach (Model.ClsSc_MouldProdBackBillSub oSub in DetailColl)
-                //{
-                //    Ds = oCn.RunProcReturn("exec h_p_Sc_MouldProdBackBill_Qty " + oSub.HICMOInterID, "");
-                //    if (Ds.Tables[0].Rows.Count == 0)
-                //        return;
-                //    if (DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HBool"]) == "Y")
-                //    {
-                //        sReturn = "姹囨姤鏁伴噺瓒呰繃璁″垝鏁伴噺锛佷笉鍏佽淇濆瓨";
-                //        return false;
-                //    }
-                //}
-                //
-                sReturn = "鏂板鍗曟嵁鎴愬姛锛�";
+                //淇濆瓨鍚庢帶鍒�
+                if (!AfterSave(omodel.HInterID, omodel.HBillNo, 1, ref sReturn))
+                {
+                    oCn.RollBack();
+                    return false;
+                }
+
+                if (oSystemParameter.omodel.Sc_MouldProdBackBill_AutoCheck.ToUpper() == "Y") //绯荤粺鍙傛暟  鑷姩瀹℃牳 
+                {
+                    //瀹℃牳鍗曟嵁
+                    oCn.RunProc("Update Sc_MouldStockBillMain Set HChecker='" + DBUtility.ClsPub.CurUserName + "',HCheckDate=getdate(),HBillStatus=2 where HInterID= " + omodel.HInterID.ToString());
+                    sReturn = "鍗曟嵁鍙凤細" + omodel.HBillNo + " 鏂板瀹℃牳鎴愬姛锛�";
+                }
+                else
+                {
+                    sReturn = "鍗曟嵁鍙凤細" + omodel.HBillNo + " 鏂板鎴愬姛锛�";
+                }
                 oCn.Commit();
                 return true;
             }
diff --git "a/DAL/\347\224\237\344\272\247\347\256\241\347\220\206/\346\250\241\345\205\267\347\256\241\347\220\206/ClsSc_MouldProdInBill.cs" "b/DAL/\347\224\237\344\272\247\347\256\241\347\220\206/\346\250\241\345\205\267\347\256\241\347\220\206/ClsSc_MouldProdInBill.cs"
index 17f750a..16ec0f0 100644
--- "a/DAL/\347\224\237\344\272\247\347\256\241\347\220\206/\346\250\241\345\205\267\347\256\241\347\220\206/ClsSc_MouldProdInBill.cs"
+++ "b/DAL/\347\224\237\344\272\247\347\256\241\347\220\206/\346\250\241\345\205\267\347\256\241\347\220\206/ClsSc_MouldProdInBill.cs"
@@ -17,9 +17,9 @@
             base.MvarItemKeySub3 = "";
             base.MvarItemKeySub4 = "";
             base.MvarItemKey="Sc_MouldStockBillMain";
-            base.MvarReportTitle = "妯″叿鍏ュ簱鍗�";
-            base.BillType="3795";
-            base.HBillSubType = "3795";
+            base.MvarReportTitle = "妯″叿閲囪喘鍏ュ簱鍗�";
+            base.BillType="3801";
+            base.HBillSubType = "3801";
 
         }
 
@@ -29,8 +29,63 @@
         {
             DetailColl = null;
         }
-       
+
         #endregion   鑷畾涔夋柟娉�
+
+        //淇濆瓨鍓嶆帶鍒�
+        public bool BeforeSave(Int64 HInterID, string HBillNo, Int64 HSecManagerID, Int64 HKeeperID, Int64 HSupID, Int64 OperationType, ref string sReturn)
+        {
+            try
+            {
+                DataSet Ds = oCn.RunProcReturn("Exec h_p_Sc_MouldProdInBill_BeforeSaveCtrl " + HInterID.ToString() + ",'" + HBillNo + "'," + HSecManagerID.ToString() + "," + HKeeperID.ToString() + "," + HSupID.ToString() + "," + OperationType.ToString(), "h_p_Sc_MouldProdInBill_BeforeSaveCtrl");
+                if (Ds == null || Ds.Tables[0].Rows.Count == 0)
+                {
+                    sReturn = "淇濆瓨鍓嶅垽鏂け璐ワ紒";
+                    return false;
+                }
+                else
+                {
+                    if (DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HBack"]) == 1)
+                    {
+                        sReturn = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HRemark"]);
+                        return false;
+                    }
+                }
+                return true;
+            }
+            catch (Exception e)
+            {
+                throw (e);
+            }
+        }
+
+        //淇濆瓨鍚庢帶鍒�
+        public bool AfterSave(Int64 HInterID, string HBillNo, Int64 OperationType, ref string sReturn)
+        {
+            try
+            {
+                DataSet Ds = oCn.RunProcReturn("Exec h_p_Sc_MouldProdInBill_AfterSaveCtrl " + HInterID.ToString() + ",'" + HBillNo + "'," + OperationType.ToString(), "h_p_Sc_MouldProdInBill_AfterSaveCtrl");
+                if (Ds == null || Ds.Tables[0].Rows.Count == 0)
+                {
+                    sReturn = "淇濆瓨鍚庡垽鏂け璐ワ紒";
+                    return false;
+                }
+                else
+                {
+                    if (DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HBack"]) == 1)
+                    {
+                        sReturn = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HRemark"]);
+                        return false;
+                    }
+                }
+                return true;
+            }
+            catch (Exception e)
+            {
+                throw (e);
+            }
+        }
+
         //淇敼鍗曟嵁
         public override bool ModifyBill(Int64 lngBillKey, ref string sReturn)
         {
@@ -38,6 +93,12 @@
             {
                 //
                 oCn.BeginTran();
+                //淇濆瓨鍓嶆帶鍒�
+                if (!BeforeSave(lngBillKey, omodel.HBillNo, omodel.HSecManagerID, omodel.HKeeperID, omodel.HSupID, 2, ref sReturn))
+                {
+                    oCn.RollBack();
+                    return false;
+                }
                 //鏇存柊涓昏〃
                 oCn.RunProc("UpDate Sc_MouldStockBillMain set  " +
                 " HBillNo='" + omodel.HBillNo + "'" +  //鍥哄畾璧嬪��===============
@@ -49,16 +110,17 @@
                 ",HUpDateDate=getdate()" +
                 //========================================
                 ",HSupID=" + omodel.HSupID.ToString() +
-                ",HWHID=" + omodel.HWHID.ToString() +
-                ",HSCWHID=" + omodel.HSCWHID.ToString() +
                 ",HEmpID=" + omodel.HEmpID.ToString() +
                 ",HManagerID=" + omodel.HManagerID.ToString() +
                 ",HSecManagerID=" + omodel.HSecManagerID.ToString() +
                 ",HKeeperID=" + omodel.HKeeperID.ToString() +
                 ",HDeptID=" + omodel.HDeptID.ToString() +
+                ",HWHID=" + omodel.HWHID.ToString() +
+                ",HSCWHID=" + omodel.HSCWHID.ToString() +
                 ",HExplanation='" + omodel.HExplanation + "'" +
-                ",HInnerBillNo='" + omodel.HInnerBillNo + "'" +                
+                ",HInnerBillNo='" + omodel.HInnerBillNo + "'" +
                 ",HRedBlueFlag=" + DBUtility.ClsPub.BoolToString(omodel.HRedBlueFlag) +
+                ",HStockOrgID=" + omodel.HSTOCKORGID.ToString() +
                 " where HInterID=" + lngBillKey.ToString());
                 //鍒犻櫎鍏宠仈
                 DeleteRelation(ref sReturn, lngBillKey);
@@ -69,36 +131,32 @@
                 foreach (Model.ClsSc_MouldStockBillSub oSub in DetailColl)
                 {
                     oCn.RunProc("Insert into Sc_MouldStockBillSub " +
-                      " (HInterID,HEntryID,HCloseMan,HEntryCloseDate,HCloseType,HRemark" +
-                      ",HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HRelationQty,HRelationMoney" +
-                      ",HMaterID,HPropertyID,HSecUnitID,HSecUnitRate,HUnitID,HQtyMust" +
-                      ",HQty,HPrice,HMoney,HWHID,HSCWHID,HSPID" +
-                      ",HDesignLife,HLeaveLife,HUseLife" +
-                      ",HSCSPID,HSPGroupID,HBatchNo,HPOOrderInterID,HPOOrderEntryID,HPOOrderBillNo" +
-                      ",HSeOrderInterID,HSeOrderEntryID,HSeOrderBillNo" +
+                      " (HInterID,HEntryID,HRemark,HRelationQty,HRelationMoney" +
+                      ",HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType" +
+                      ",HMaterID,HPropertyID,HSecUnitID,HSecUnitRate,HUnitID,HBatchNo" +
+                      ",HQtyMust,HQtyRel,HQty,HPrice,HMoney,HDesignLife" +
+                      ",HLeaveLife,HUseLife,HUseLifeQty,HNewLifeQty,HWHID,HSCWHID" +
+                      ",HSPID,HSCSPID,HSPGroupID,HBarCode,HCorrespondentTypeID,HCorrespondentID" +
+                      ",HPOOrderInterID,HPOOrderEntryID,HPOOrderBillNo,HSeOrderInterID,HSeOrderEntryID,HSeOrderBillNo" +
+                      ",HStockOrgID,HOWNERID,HOtherOrgID,HOWNERTYPEID" +
                       ") values("
-                      + omodel.HInterID.ToString() + "," + oSub.HEntryID.ToString() + ",'" + oSub.HCloseMan + "','" + oSub.HEntryCloseDate.ToShortDateString() + "'," + Convert.ToString(oSub.HCloseType ? 1 : 0) + ",'" + oSub.HRemark + "'" +
-                      "," + oSub.HSourceInterID.ToString() + "," + oSub.HSourceEntryID.ToString() + ",'" + oSub.HSourceBillNo + "','" + oSub.HSourceBillType + "'," + oSub.HRelationQty.ToString() + "," + oSub.HRelationMoney.ToString() +
-                      "," + oSub.HMaterID.ToString() + "," + oSub.HPropertyID.ToString() + "," + oSub.HSecUnitID.ToString() + "," + oSub.HSecUnitRate.ToString() + "," + oSub.HUnitID.ToString() + "," + oSub.HQtyMust.ToString() +
-                      "," + oSub.HQty.ToString() + "," + oSub.HPrice.ToString() + "," + oSub.HMoney.ToString() + "," + oSub.HWHID.ToString() + "," + oSub.HSCWHID.ToString() + "," + oSub.HSPID.ToString() +
-                      "," + oSub.HDesignLife.ToString() + "," + oSub.HLeaveLife.ToString() + "," + oSub.HUseLife.ToString() +
-                      "," + oSub.HSCSPID.ToString() + "," + oSub.HSPGroupID.ToString() + ",'" + oSub.HBatchNo + "'," + oSub.HPOOrderInterID.ToString() + "," + oSub.HPOOrderEntryID.ToString() + ",'" + oSub.HPOOrderBillNo + "'" +
-                      "," + oSub.HSeOrderInterID.ToString() + "," + oSub.HSeOrderEntryID.ToString() + ",'" + oSub.HSeOrderBillNo + "'"+
+                      + omodel.HInterID.ToString() + "," + oSub.HEntryID.ToString() + ",'" + oSub.HRemark + "'," + oSub.HRelationQty.ToString() + "," + oSub.HRelationMoney.ToString() +
+                      "," + oSub.HSourceInterID.ToString() + "," + oSub.HSourceEntryID.ToString() + ",'" + oSub.HSourceBillNo + "','" + oSub.HSourceBillType + "'" +
+                      "," + oSub.HMaterID.ToString() + "," + oSub.HPropertyID.ToString() + "," + oSub.HSecUnitID.ToString() + "," + oSub.HSecUnitRate.ToString() + "," + oSub.HUnitID.ToString() + ",'" + oSub.HBatchNo + "'" +
+                      "," + oSub.HQtyMust.ToString() + "," + oSub.HQtyRel.ToString() + "," + oSub.HQty.ToString() + "," + oSub.HPrice.ToString() + "," + oSub.HMoney.ToString() + "," + oSub.HDesignLife.ToString() +
+                      "," + oSub.HLeaveLife.ToString() + "," + oSub.HUseLife.ToString() + "," + oSub.HUseLifeQty.ToString() + "," + oSub.HNewLifeQty.ToString() + "," + oSub.HWHID.ToString() + "," + oSub.HSCWHID.ToString() +
+                      "," + oSub.HSPID.ToString() + "," + oSub.HSCSPID.ToString() + "," + oSub.HSPGroupID.ToString() + ",'" + oSub.HBarCode + "'," + oSub.HCorrespondentTypeID.ToString() + "," + oSub.HCorrespondentID.ToString() +
+                      "," + oSub.HPOOrderInterID.ToString() + "," + oSub.HPOOrderEntryID.ToString() + ",'" + oSub.HPOOrderBillNo + "'," + oSub.HSeOrderInterID.ToString() + "," + oSub.HSeOrderEntryID.ToString() + ",'" + oSub.HSeOrderBillNo + "'" +
+                      "," + oSub.HStockOrgID.ToString() + "," + oSub.HOWNERID.ToString() + "," + oSub.HOtherOrgID.ToString() + ",'" + oSub.HOWNERTYPEID + "'" +
                       ") ");
                 }
-                //
-                //foreach (Model.ClsSc_MouldProdInBillSub oSub in DetailColl)
-                //{
-                //    Ds = oCn.RunProcReturn("exec h_p_Sc_MouldProdInBill_Qty " + oSub.HICMOInterID, "");
-                //    if (Ds.Tables[0].Rows.Count == 0)
-                //        return;
-                //    if (DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HBool"]) == "Y")
-                //    {
-                //        sReturn = "姹囨姤鏁伴噺瓒呰繃璁″垝鏁伴噺锛佷笉鍏佽淇濆瓨";
-                //        return false;
-                //    }
-                //}
-                sReturn = "淇敼鍗曟嵁鎴愬姛锛�";
+                //淇濆瓨鍚庢帶鍒�
+                if (!AfterSave(lngBillKey, omodel.HBillNo, 2, ref sReturn))
+                {
+                    oCn.RollBack();
+                    return false;
+                }
+                sReturn = "鍗曟嵁鍙凤細" + omodel.HBillNo + " 淇敼鎴愬姛锛�";
                 oCn.Commit();
                 return true;
             }
@@ -114,59 +172,79 @@
         {
             try
             {
+                //鑾峰彇绯荤粺鍙傛暟
+                Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();
+                if (oSystemParameter.ShowBillByOrgID(omodel.HSTOCKORGID, ref sReturn) == false)
+                {
+                    sReturn = "鑾峰彇绯荤粺鍙傛暟澶辫触锛� " + sReturn;
+                    return false;
+                }
                 //寰楀埌mainid
-                omodel.HInterID = DBUtility.ClsPub.CreateBillID(BillType, ref DBUtility.ClsPub.sExeReturnInfo);
-                //鑻AINDI閲嶅鍒欓噸鏂拌幏鍙�
+                if (omodel.HInterID == 0)
+                {
+                    omodel.HInterID = DBUtility.ClsPub.CreateBillID_Prod(BillType, ref DBUtility.ClsPub.sExeReturnInfo);
+                }
+                //淇濆瓨鍓嶆帶鍒�
+                if (!BeforeSave(omodel.HInterID, omodel.HBillNo, omodel.HSecManagerID, omodel.HKeeperID, omodel.HSupID, 1, ref sReturn))
+                {
+                    return false;
+                }
+
                 oCn.BeginTran();
                 //涓昏〃
                 oCn.RunProc("Insert Into Sc_MouldStockBillMain   " +
                 "(HBillType,HBillSubType,HInterID,HBillNo,HDate" +
                 ",HYear,HPeriod,HRemark,HMaker,HMakeDate" +
-                ",HSupID,HWHID,HSCWHID,HEmpID,HManagerID,HSecManagerID" +
-                ",HKeeperID,HDeptID,HExplanation,HInnerBillNo,HRedBlueFlag" +
-                ",HProcID"+
+                ",HSupID,HSupTypeID,HEmpID,HManagerID,HSecManagerID" +
+                ",HKeeperID,HDeptID,HWHID,HSCWHID,HRedBlueFlag" +
+                ",HExplanation,HInnerBillNo,HStockOrgID" +
                 ") " +
-                " values('" + this.BillType + "','" + this.HBillSubType + "'," + omodel.HInterID.ToString() + ",'" + omodel.HBillNo + "','" + omodel.HDate + "'" +
+                " values('" + this.BillType + "','" + this.HBillSubType + "'," + omodel.HInterID.ToString() + ",'" + omodel.HBillNo + "','" + omodel.HDate.ToShortDateString() + "'" +
                 ", " + omodel.HYear.ToString() + "," + omodel.HPeriod.ToString() + ",'" + omodel.HRemark + "','" + DBUtility.ClsPub.CurUserName + "',getdate()" +
-                ", " + omodel.HSupID.ToString() + "," + omodel.HWHID.ToString() + "," + omodel.HSCWHID.ToString() + "," + omodel.HEmpID.ToString() + "," + omodel.HManagerID.ToString() + "," + omodel.HSecManagerID.ToString() +
-                ", " + omodel.HKeeperID.ToString() + "," + omodel.HDeptID.ToString() + ",'" + omodel.HExplanation + "','" + omodel.HInnerBillNo + "'," + DBUtility.ClsPub.BoolToString(omodel.HRedBlueFlag) +
-                ","+ '0' +
+                ", " + omodel.HSupID.ToString() + "," + omodel.HSupTypeID.ToString() + "," + omodel.HEmpID.ToString() + "," + omodel.HManagerID.ToString() + "," + omodel.HSecManagerID.ToString() +
+                ", " + omodel.HKeeperID.ToString() + "," + omodel.HDeptID.ToString() + "," + omodel.HWHID.ToString() + "," + omodel.HSCWHID.ToString() + "," + DBUtility.ClsPub.BoolToString(omodel.HRedBlueFlag) +
+                ",'" + omodel.HExplanation + "','" + omodel.HInnerBillNo + "'," + omodel.HSTOCKORGID.ToString() +
                 ") ");
                 //鎻掑叆瀛愯〃
                 foreach (Model.ClsSc_MouldStockBillSub oSub in DetailColl)
                 {
                     oCn.RunProc("Insert into Sc_MouldStockBillSub " +
-                    " (HInterID,HEntryID,HCloseMan,HEntryCloseDate,HCloseType,HRemark" +
-                    ",HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HRelationQty,HRelationMoney" +
-                    ",HMaterID,HPropertyID,HSecUnitID,HSecUnitRate,HUnitID,HQtyMust" +
-                    ",HQty,HPrice,HMoney,HWHID,HSCWHID,HSPID" +
-                     ",HDesignLife,HLeaveLife,HUseLife" +
-                    ",HSCSPID,HSPGroupID,HBatchNo,HPOOrderInterID,HPOOrderEntryID,HPOOrderBillNo" +
-                    ",HSeOrderInterID,HSeOrderEntryID,HSeOrderBillNo" +
-                    ") values("
-                    + omodel.HInterID.ToString() + "," + oSub.HEntryID.ToString() + ",'" + oSub.HCloseMan + "','" + oSub.HEntryCloseDate.ToShortDateString() + "'," + Convert.ToString(oSub.HCloseType ? 1 : 0) + ",'" + oSub.HRemark + "'" +
-                    "," + oSub.HSourceInterID.ToString() + "," + oSub.HSourceEntryID.ToString() + ",'" + oSub.HSourceBillNo + "','" + oSub.HSourceBillType + "'," + oSub.HRelationQty.ToString() + "," + oSub.HRelationMoney.ToString() +
-                    "," + oSub.HMaterID.ToString() + "," + oSub.HPropertyID.ToString() + "," + oSub.HSecUnitID.ToString() + "," + oSub.HSecUnitRate.ToString() + "," + oSub.HUnitID.ToString() + "," + oSub.HQtyMust.ToString() +
-                    "," + oSub.HQty.ToString() + "," + oSub.HPrice.ToString() + "," + oSub.HMoney.ToString() + "," + oSub.HWHID.ToString() + "," + oSub.HSCWHID.ToString() + "," + oSub.HSPID.ToString() +
-                      "," + oSub.HDesignLife.ToString() + "," + oSub.HLeaveLife.ToString() + "," + oSub.HUseLife.ToString() +
-                    "," + oSub.HSCSPID.ToString() + "," + oSub.HSPGroupID.ToString() + ",'" + oSub.HBatchNo + "'," + oSub.HPOOrderInterID.ToString() + "," + oSub.HPOOrderEntryID.ToString() + ",'" + oSub.HPOOrderBillNo + "'" +
-                    "," + oSub.HSeOrderInterID.ToString() + "," + oSub.HSeOrderEntryID.ToString() + ",'" + oSub.HSeOrderBillNo + "'" +
-                    ") ");
+                      " (HInterID,HEntryID,HRemark,HRelationQty,HRelationMoney" +
+                      ",HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType" +
+                      ",HMaterID,HPropertyID,HSecUnitID,HSecUnitRate,HUnitID,HBatchNo" +
+                      ",HQtyMust,HQtyRel,HQty,HPrice,HMoney,HDesignLife" +
+                      ",HLeaveLife,HUseLife,HUseLifeQty,HNewLifeQty,HWHID,HSCWHID" +
+                      ",HSPID,HSCSPID,HSPGroupID,HBarCode,HCorrespondentTypeID,HCorrespondentID" +
+                      ",HPOOrderInterID,HPOOrderEntryID,HPOOrderBillNo,HSeOrderInterID,HSeOrderEntryID,HSeOrderBillNo" +
+                      ",HStockOrgID,HOWNERID,HOtherOrgID,HOWNERTYPEID" +
+                      ") values("
+                      + omodel.HInterID.ToString() + "," + oSub.HEntryID.ToString() + ",'" + oSub.HRemark + "'," + oSub.HRelationQty.ToString() + "," + oSub.HRelationMoney.ToString() +
+                      "," + oSub.HSourceInterID.ToString() + "," + oSub.HSourceEntryID.ToString() + ",'" + oSub.HSourceBillNo + "','" + oSub.HSourceBillType + "'" +
+                      "," + oSub.HMaterID.ToString() + "," + oSub.HPropertyID.ToString() + "," + oSub.HSecUnitID.ToString() + "," + oSub.HSecUnitRate.ToString() + "," + oSub.HUnitID.ToString() + ",'" + oSub.HBatchNo + "'" +
+                      "," + oSub.HQtyMust.ToString() + "," + oSub.HQtyRel.ToString() + "," + oSub.HQty.ToString() + "," + oSub.HPrice.ToString() + "," + oSub.HMoney.ToString() + "," + oSub.HDesignLife.ToString() +
+                      "," + oSub.HLeaveLife.ToString() + "," + oSub.HUseLife.ToString() + "," + oSub.HUseLifeQty.ToString() + "," + oSub.HNewLifeQty.ToString() + "," + oSub.HWHID.ToString() + "," + oSub.HSCWHID.ToString() +
+                      "," + oSub.HSPID.ToString() + "," + oSub.HSCSPID.ToString() + "," + oSub.HSPGroupID.ToString() + ",'" + oSub.HBarCode + "'," + oSub.HCorrespondentTypeID.ToString() + "," + oSub.HCorrespondentID.ToString() +
+                      "," + oSub.HPOOrderInterID.ToString() + "," + oSub.HPOOrderEntryID.ToString() + ",'" + oSub.HPOOrderBillNo + "'," + oSub.HSeOrderInterID.ToString() + "," + oSub.HSeOrderEntryID.ToString() + ",'" + oSub.HSeOrderBillNo + "'" +
+                      "," + oSub.HStockOrgID.ToString() + "," + oSub.HOWNERID.ToString() + "," + oSub.HOtherOrgID.ToString() + ",'" + oSub.HOWNERTYPEID + "'" +
+                      ") ");
                 }
-                
-                //foreach (Model.ClsSc_MouldProdInBillSub oSub in DetailColl)
-                //{
-                //    Ds = oCn.RunProcReturn("exec h_p_Sc_MouldProdInBill_Qty " + oSub.HICMOInterID, "");
-                //    if (Ds.Tables[0].Rows.Count == 0)
-                //        return;
-                //    if (DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HBool"]) == "Y")
-                //    {
-                //        sReturn = "姹囨姤鏁伴噺瓒呰繃璁″垝鏁伴噺锛佷笉鍏佽淇濆瓨";
-                //        return false;
-                //    }
-                //}
-                //
-                sReturn = "鏂板鍗曟嵁鎴愬姛锛�";
+                //淇濆瓨鍚庢帶鍒�
+                if (!AfterSave(omodel.HInterID, omodel.HBillNo, 1, ref sReturn))
+                {
+                    oCn.RollBack();
+                    return false;
+                }
+
+                if (oSystemParameter.omodel.Sc_MouldProdInBill_AutoCheck.ToUpper() == "Y") //绯荤粺鍙傛暟  鑷姩瀹℃牳 
+                {
+                    //瀹℃牳鍗曟嵁
+                    oCn.RunProc("Update Sc_MouldStockBillMain Set HChecker='" + DBUtility.ClsPub.CurUserName + "',HCheckDate=getdate(),HBillStatus=2 where HInterID= " + omodel.HInterID.ToString());
+                    sReturn = "鍗曟嵁鍙凤細" + omodel.HBillNo + " 鏂板瀹℃牳鎴愬姛锛�";
+                }
+                else
+                {
+                    sReturn = "鍗曟嵁鍙凤細" + omodel.HBillNo + " 鏂板鎴愬姛锛�";
+                }
                 oCn.Commit();
                 return true;
             }
diff --git "a/DAL/\347\224\237\344\272\247\347\256\241\347\220\206/\346\250\241\345\205\267\347\256\241\347\220\206/ClsSc_MouldProdMoveBill.cs" "b/DAL/\347\224\237\344\272\247\347\256\241\347\220\206/\346\250\241\345\205\267\347\256\241\347\220\206/ClsSc_MouldProdMoveBill.cs"
index 67f216b..2a26939 100644
--- "a/DAL/\347\224\237\344\272\247\347\256\241\347\220\206/\346\250\241\345\205\267\347\256\241\347\220\206/ClsSc_MouldProdMoveBill.cs"
+++ "b/DAL/\347\224\237\344\272\247\347\256\241\347\220\206/\346\250\241\345\205\267\347\256\241\347\220\206/ClsSc_MouldProdMoveBill.cs"
@@ -29,8 +29,63 @@
         {
             DetailColl = null;
         }
-       
+
         #endregion   鑷畾涔夋柟娉�
+
+        //淇濆瓨鍓嶆帶鍒�
+        public bool BeforeSave(Int64 HInterID, string HBillNo, Int64 HSecManagerID, Int64 HKeeperID, Int64 HSupID, Int64 OperationType, ref string sReturn)
+        {
+            try
+            {
+                DataSet Ds = oCn.RunProcReturn("Exec h_p_Sc_MouldProdMoveBill_BeforeSaveCtrl " + HInterID.ToString() + ",'" + HBillNo + "'," + HSecManagerID.ToString() + "," + HKeeperID.ToString() + "," + HSupID.ToString() + "," + OperationType.ToString(), "h_p_Sc_MouldProdMoveBill_BeforeSaveCtrl");
+                if (Ds == null || Ds.Tables[0].Rows.Count == 0)
+                {
+                    sReturn = "淇濆瓨鍓嶅垽鏂け璐ワ紒";
+                    return false;
+                }
+                else
+                {
+                    if (DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HBack"]) == 1)
+                    {
+                        sReturn = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HRemark"]);
+                        return false;
+                    }
+                }
+                return true;
+            }
+            catch (Exception e)
+            {
+                throw (e);
+            }
+        }
+
+        //淇濆瓨鍚庢帶鍒�
+        public bool AfterSave(Int64 HInterID, string HBillNo, Int64 OperationType, ref string sReturn)
+        {
+            try
+            {
+                DataSet Ds = oCn.RunProcReturn("Exec h_p_Sc_MouldProdMoveBill_AfterSaveCtrl " + HInterID.ToString() + ",'" + HBillNo + "'," + OperationType.ToString(), "h_p_Sc_MouldProdMoveBill_AfterSaveCtrl");
+                if (Ds == null || Ds.Tables[0].Rows.Count == 0)
+                {
+                    sReturn = "淇濆瓨鍚庡垽鏂け璐ワ紒";
+                    return false;
+                }
+                else
+                {
+                    if (DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HBack"]) == 1)
+                    {
+                        sReturn = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HRemark"]);
+                        return false;
+                    }
+                }
+                return true;
+            }
+            catch (Exception e)
+            {
+                throw (e);
+            }
+        }
+
         //淇敼鍗曟嵁
         public override bool ModifyBill(Int64 lngBillKey, ref string sReturn)
         {
@@ -38,6 +93,12 @@
             {
                 //
                 oCn.BeginTran();
+                //淇濆瓨鍓嶆帶鍒�
+                if (!BeforeSave(lngBillKey, omodel.HBillNo, omodel.HSecManagerID, omodel.HKeeperID, omodel.HSupID, 2, ref sReturn))
+                {
+                    oCn.RollBack();
+                    return false;
+                }
                 //鏇存柊涓昏〃
                 oCn.RunProc("UpDate Sc_MouldStockBillMain set  " +
                 " HBillNo='" + omodel.HBillNo + "'" +  //鍥哄畾璧嬪��===============
@@ -49,16 +110,21 @@
                 ",HUpDateDate=getdate()" +
                 //========================================
                 ",HSupID=" + omodel.HSupID.ToString() +
-                ",HWHID=" + omodel.HWHID.ToString() +
-                ",HSCWHID=" + omodel.HSCWHID.ToString() +
+                ",HSupTypeID=" + omodel.HSupTypeID.ToString() +
                 ",HEmpID=" + omodel.HEmpID.ToString() +
                 ",HManagerID=" + omodel.HManagerID.ToString() +
                 ",HSecManagerID=" + omodel.HSecManagerID.ToString() +
                 ",HKeeperID=" + omodel.HKeeperID.ToString() +
                 ",HDeptID=" + omodel.HDeptID.ToString() +
+                ",HWHID=" + omodel.HWHID.ToString() +
+                ",HSCWHID=" + omodel.HSCWHID.ToString() +
                 ",HExplanation='" + omodel.HExplanation + "'" +
-                ",HInnerBillNo='" + omodel.HInnerBillNo + "'" +                
+                ",HInnerBillNo='" + omodel.HInnerBillNo + "'" +
                 ",HRedBlueFlag=" + DBUtility.ClsPub.BoolToString(omodel.HRedBlueFlag) +
+                ",HStockOrgID=" + omodel.HSTOCKORGID.ToString() +
+                ",HStockStyle='" + omodel.HStockStyle + "'" +
+                ",HStockInOrgID=" + omodel.HStockInOrgID.ToString() +
+                ",HStockOutOrgID=" + omodel.HStockOutOrgID.ToString() +
                 " where HInterID=" + lngBillKey.ToString());
                 //鍒犻櫎鍏宠仈
                 DeleteRelation(ref sReturn, lngBillKey);
@@ -69,22 +135,32 @@
                 foreach (Model.ClsSc_MouldProdMoveBillSub oSub in DetailColl)
                 {
                     oCn.RunProc("Insert into Sc_MouldStockBillSub " +
-                      " (HInterID,HEntryID,HCloseMan,HEntryCloseDate,HCloseType,HRemark" +
-                      ",HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HRelationQty,HRelationMoney" +
-                      ",HMaterID,HPropertyID,HSecUnitID,HSecUnitRate,HUnitID,HQtyMust" +
-                      ",HQty,HPrice,HMoney,HWHID,HSCWHID,HSPID" +
-                      ",HDesignLife,HLeaveLife,HUseLife" +
-                      ",HSCSPID,HSPGroupID,HBatchNo" +
+                      " (HInterID,HEntryID,HRemark,HRelationQty,HRelationMoney" +
+                      ",HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType" +
+                      ",HMaterID,HPropertyID,HSecUnitID,HSecUnitRate,HUnitID,HBatchNo" +
+                      ",HQtyMust,HQtyRel,HQty,HPrice,HMoney,HDesignLife" +
+                      ",HLeaveLife,HUseLife,HUseLifeQty,HNewLifeQty,HWHID,HSCWHID" +
+                      ",HSPID,HSCSPID,HSPGroupID,HBarCode,HCorrespondentTypeID,HCorrespondentID" +
+                      ",HPOOrderInterID,HPOOrderEntryID,HPOOrderBillNo,HSeOrderInterID,HSeOrderEntryID,HSeOrderBillNo" +
+                      ",HStockOrgID,HOWNERID,HOtherOrgID,HOWNERTYPEID" +
                       ") values("
-                      + omodel.HInterID.ToString() + "," + oSub.HEntryID.ToString() + ",'" + oSub.HCloseMan + "','" + oSub.HEntryCloseDate.ToShortDateString() + "'," + Convert.ToString(oSub.HCloseType ? 1 : 0) + ",'" + oSub.HRemark + "'" +
-                      "," + oSub.HSourceInterID.ToString() + "," + oSub.HSourceEntryID.ToString() + ",'" + oSub.HSourceBillNo + "','" + oSub.HSourceBillType + "'," + oSub.HRelationQty.ToString() + "," + oSub.HRelationMoney.ToString() +
-                      "," + oSub.HMaterID.ToString() + "," + oSub.HPropertyID.ToString() + "," + oSub.HSecUnitID.ToString() + "," + oSub.HSecUnitRate.ToString() + "," + oSub.HUnitID.ToString() + "," + oSub.HQtyMust.ToString() +
-                      "," + oSub.HQty.ToString() + "," + oSub.HPrice.ToString() + "," + oSub.HMoney.ToString() + "," + oSub.HWHID.ToString() + "," + oSub.HSCWHID.ToString() + "," + oSub.HSPID.ToString() +
-                      "," + oSub.HDesignLife.ToString() + "," + oSub.HLeaveLife.ToString() + "," + oSub.HUseLife.ToString() +
-                      "," + oSub.HSCSPID.ToString() + "," + oSub.HSPGroupID.ToString() + ",'" + oSub.HBatchNo + "'" +
+                      + omodel.HInterID.ToString() + "," + oSub.HEntryID.ToString() + ",'" + oSub.HRemark + "'," + oSub.HRelationQty.ToString() + "," + oSub.HRelationMoney.ToString() +
+                      "," + oSub.HSourceInterID.ToString() + "," + oSub.HSourceEntryID.ToString() + ",'" + oSub.HSourceBillNo + "','" + oSub.HSourceBillType + "'" +
+                      "," + oSub.HMaterID.ToString() + "," + oSub.HPropertyID.ToString() + "," + oSub.HSecUnitID.ToString() + "," + oSub.HSecUnitRate.ToString() + "," + oSub.HUnitID.ToString() + ",'" + oSub.HBatchNo + "'" +
+                      "," + oSub.HQtyMust.ToString() + "," + oSub.HQtyRel.ToString() + "," + oSub.HQty.ToString() + "," + oSub.HPrice.ToString() + "," + oSub.HMoney.ToString() + "," + oSub.HDesignLife.ToString() +
+                      "," + oSub.HLeaveLife.ToString() + "," + oSub.HUseLife.ToString() + "," + oSub.HUseLifeQty.ToString() + "," + oSub.HNewLifeQty.ToString() + "," + oSub.HWHID.ToString() + "," + oSub.HSCWHID.ToString() +
+                      "," + oSub.HSPID.ToString() + "," + oSub.HSCSPID.ToString() + "," + oSub.HSPGroupID.ToString() + ",'" + oSub.HBarCode + "'," + oSub.HCorrespondentTypeID.ToString() + "," + oSub.HCorrespondentID.ToString() +
+                      "," + oSub.HPOOrderInterID.ToString() + "," + oSub.HPOOrderEntryID.ToString() + ",'" + oSub.HPOOrderBillNo + "'," + oSub.HSeOrderInterID.ToString() + "," + oSub.HSeOrderEntryID.ToString() + ",'" + oSub.HSeOrderBillNo + "'" +
+                      "," + oSub.HStockOrgID.ToString() + "," + oSub.HOWNERID.ToString() + "," + oSub.HOtherOrgID.ToString() + ",'" + oSub.HOWNERTYPEID + "'" +
                       ") ");
                 }
-                sReturn = "淇敼鍗曟嵁鎴愬姛锛�";
+                //淇濆瓨鍚庢帶鍒�
+                if (!AfterSave(lngBillKey, omodel.HBillNo, 2, ref sReturn))
+                {
+                    oCn.RollBack();
+                    return false;
+                }
+                sReturn = "鍗曟嵁鍙凤細" + omodel.HBillNo + " 淇敼鎴愬姛锛�";
                 oCn.Commit();
                 return true;
             }
@@ -100,42 +176,79 @@
         {
             try
             {
+                //鑾峰彇绯荤粺鍙傛暟
+                Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();
+                if (oSystemParameter.ShowBillByOrgID(omodel.HSTOCKORGID, ref sReturn) == false)
+                {
+                    sReturn = "鑾峰彇绯荤粺鍙傛暟澶辫触锛� " + sReturn;
+                    return false;
+                }
                 //寰楀埌mainid
-                omodel.HInterID = DBUtility.ClsPub.CreateBillID(BillType, ref DBUtility.ClsPub.sExeReturnInfo);
-                //鑻AINDI閲嶅鍒欓噸鏂拌幏鍙�
+                if (omodel.HInterID == 0)
+                {
+                    omodel.HInterID = DBUtility.ClsPub.CreateBillID_Prod(BillType, ref DBUtility.ClsPub.sExeReturnInfo);
+                }
+                //淇濆瓨鍓嶆帶鍒�
+                if (!BeforeSave(omodel.HInterID, omodel.HBillNo, omodel.HSecManagerID, omodel.HKeeperID, omodel.HSupID, 1, ref sReturn))
+                {
+                    return false;
+                }
+
                 oCn.BeginTran();
                 //涓昏〃
                 oCn.RunProc("Insert Into Sc_MouldStockBillMain   " +
                 "(HBillType,HBillSubType,HInterID,HBillNo,HDate" +
                 ",HYear,HPeriod,HRemark,HMaker,HMakeDate" +
-                ",HSupID,HWHID,HSCWHID,HEmpID,HManagerID,HSecManagerID" +
-                ",HKeeperID,HDeptID,HExplanation,HInnerBillNo,HRedBlueFlag" +
+                ",HSupID,HSupTypeID,HEmpID,HManagerID,HSecManagerID" +
+                ",HKeeperID,HDeptID,HWHID,HSCWHID,HRedBlueFlag" +
+                ",HExplanation,HInnerBillNo,HStockOrgID,HStockStyle,HStockInOrgID,HStockOutOrgID" +
                 ") " +
-                " values('" + this.BillType + "','"  + this.HBillSubType + "'," +omodel.HInterID.ToString() + ",'" + omodel.HBillNo + "','" + omodel.HDate + "'" +
+                " values('" + this.BillType + "','" + this.HBillSubType + "'," + omodel.HInterID.ToString() + ",'" + omodel.HBillNo + "','" + omodel.HDate.ToShortDateString() + "'" +
                 ", " + omodel.HYear.ToString() + "," + omodel.HPeriod.ToString() + ",'" + omodel.HRemark + "','" + DBUtility.ClsPub.CurUserName + "',getdate()" +
-                ", " + omodel.HSupID.ToString() + "," + omodel.HWHID.ToString() + "," + omodel.HSCWHID.ToString() + "," + omodel.HEmpID.ToString() + "," + omodel.HManagerID.ToString() + "," + omodel.HSecManagerID.ToString() +
-                ", " + omodel.HKeeperID.ToString() + "," + omodel.HDeptID.ToString() + ",'" + omodel.HExplanation + "','" + omodel.HInnerBillNo + "'," + DBUtility.ClsPub.BoolToString(omodel.HRedBlueFlag) +
+                ", " + omodel.HSupID.ToString() + "," + omodel.HSupTypeID.ToString() + "," + omodel.HEmpID.ToString() + "," + omodel.HManagerID.ToString() + "," + omodel.HSecManagerID.ToString() +
+                ", " + omodel.HKeeperID.ToString() + "," + omodel.HDeptID.ToString() + "," + omodel.HWHID.ToString() + "," + omodel.HSCWHID.ToString() + "," + DBUtility.ClsPub.BoolToString(omodel.HRedBlueFlag) +
+                ",'" + omodel.HExplanation + "','" + omodel.HInnerBillNo + "'," + omodel.HSTOCKORGID.ToString() + ",'" + omodel.HStockStyle + "'," + omodel.HStockInOrgID.ToString() + "," + omodel.HStockOutOrgID.ToString() +
                 ") ");
                 //鎻掑叆瀛愯〃
                 foreach (Model.ClsSc_MouldProdMoveBillSub oSub in DetailColl)
                 {
                     oCn.RunProc("Insert into Sc_MouldStockBillSub " +
-                      " (HInterID,HEntryID,HCloseMan,HEntryCloseDate,HCloseType,HRemark" +
-                      ",HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HRelationQty,HRelationMoney" +
-                      ",HMaterID,HPropertyID,HSecUnitID,HSecUnitRate,HUnitID,HQtyMust" +
-                      ",HQty,HPrice,HMoney,HWHID,HSCWHID,HSPID" +
-                      ",HDesignLife,HLeaveLife,HUseLife" +
-                      ",HSCSPID,HSPGroupID,HBatchNo" +
+                      " (HInterID,HEntryID,HRemark,HRelationQty,HRelationMoney" +
+                      ",HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType" +
+                      ",HMaterID,HPropertyID,HSecUnitID,HSecUnitRate,HUnitID,HBatchNo" +
+                      ",HQtyMust,HQtyRel,HQty,HPrice,HMoney,HDesignLife" +
+                      ",HLeaveLife,HUseLife,HUseLifeQty,HNewLifeQty,HWHID,HSCWHID" +
+                      ",HSPID,HSCSPID,HSPGroupID,HBarCode,HCorrespondentTypeID,HCorrespondentID" +
+                      ",HPOOrderInterID,HPOOrderEntryID,HPOOrderBillNo,HSeOrderInterID,HSeOrderEntryID,HSeOrderBillNo" +
+                      ",HStockOrgID,HOWNERID,HOtherOrgID,HOWNERTYPEID" +
                       ") values("
-                      + omodel.HInterID.ToString() + "," + oSub.HEntryID.ToString() + ",'" + oSub.HCloseMan + "','" + oSub.HEntryCloseDate.ToShortDateString() + "'," + Convert.ToString(oSub.HCloseType ? 1 : 0) + ",'" + oSub.HRemark + "'" +
-                      "," + oSub.HSourceInterID.ToString() + "," + oSub.HSourceEntryID.ToString() + ",'" + oSub.HSourceBillNo + "','" + oSub.HSourceBillType + "'," + oSub.HRelationQty.ToString() + "," + oSub.HRelationMoney.ToString() +
-                      "," + oSub.HMaterID.ToString() + "," + oSub.HPropertyID.ToString() + "," + oSub.HSecUnitID.ToString() + "," + oSub.HSecUnitRate.ToString() + "," + oSub.HUnitID.ToString() + "," + oSub.HQtyMust.ToString() +
-                      "," + oSub.HQty.ToString() + "," + oSub.HPrice.ToString() + "," + oSub.HMoney.ToString() + "," + oSub.HWHID.ToString() + "," + oSub.HSCWHID.ToString() + "," + oSub.HSPID.ToString() +
-                      "," + oSub.HDesignLife.ToString() + "," + oSub.HLeaveLife.ToString() + "," + oSub.HUseLife.ToString() +
-                      "," + oSub.HSCSPID.ToString() + "," + oSub.HSPGroupID.ToString() + ",'" + oSub.HBatchNo + "'" +
+                      + omodel.HInterID.ToString() + "," + oSub.HEntryID.ToString() + ",'" + oSub.HRemark + "'," + oSub.HRelationQty.ToString() + "," + oSub.HRelationMoney.ToString() +
+                      "," + oSub.HSourceInterID.ToString() + "," + oSub.HSourceEntryID.ToString() + ",'" + oSub.HSourceBillNo + "','" + oSub.HSourceBillType + "'" +
+                      "," + oSub.HMaterID.ToString() + "," + oSub.HPropertyID.ToString() + "," + oSub.HSecUnitID.ToString() + "," + oSub.HSecUnitRate.ToString() + "," + oSub.HUnitID.ToString() + ",'" + oSub.HBatchNo + "'" +
+                      "," + oSub.HQtyMust.ToString() + "," + oSub.HQtyRel.ToString() + "," + oSub.HQty.ToString() + "," + oSub.HPrice.ToString() + "," + oSub.HMoney.ToString() + "," + oSub.HDesignLife.ToString() +
+                      "," + oSub.HLeaveLife.ToString() + "," + oSub.HUseLife.ToString() + "," + oSub.HUseLifeQty.ToString() + "," + oSub.HNewLifeQty.ToString() + "," + oSub.HWHID.ToString() + "," + oSub.HSCWHID.ToString() +
+                      "," + oSub.HSPID.ToString() + "," + oSub.HSCSPID.ToString() + "," + oSub.HSPGroupID.ToString() + ",'" + oSub.HBarCode + "'," + oSub.HCorrespondentTypeID.ToString() + "," + oSub.HCorrespondentID.ToString() +
+                      "," + oSub.HPOOrderInterID.ToString() + "," + oSub.HPOOrderEntryID.ToString() + ",'" + oSub.HPOOrderBillNo + "'," + oSub.HSeOrderInterID.ToString() + "," + oSub.HSeOrderEntryID.ToString() + ",'" + oSub.HSeOrderBillNo + "'" +
+                      "," + oSub.HStockOrgID.ToString() + "," + oSub.HOWNERID.ToString() + "," + oSub.HOtherOrgID.ToString() + ",'" + oSub.HOWNERTYPEID + "'" +
                       ") ");
                 }
-                sReturn = "鏂板鍗曟嵁鎴愬姛锛�";
+                //淇濆瓨鍚庢帶鍒�
+                if (!AfterSave(omodel.HInterID, omodel.HBillNo, 1, ref sReturn))
+                {
+                    oCn.RollBack();
+                    return false;
+                }
+
+                if (oSystemParameter.omodel.Sc_MouldProdMoveBill_AutoCheck.ToUpper() == "Y") //绯荤粺鍙傛暟  鑷姩瀹℃牳 
+                {
+                    //瀹℃牳鍗曟嵁
+                    oCn.RunProc("Update Sc_MouldStockBillMain Set HChecker='" + DBUtility.ClsPub.CurUserName + "',HCheckDate=getdate(),HBillStatus=2 where HInterID= " + omodel.HInterID.ToString());
+                    sReturn = "鍗曟嵁鍙凤細" + omodel.HBillNo + " 鏂板瀹℃牳鎴愬姛锛�";
+                }
+                else
+                {
+                    sReturn = "鍗曟嵁鍙凤細" + omodel.HBillNo + " 鏂板鎴愬姛锛�";
+                }
                 oCn.Commit();
                 return true;
             }
diff --git "a/DAL/\347\224\237\344\272\247\347\256\241\347\220\206/\346\250\241\345\205\267\347\256\241\347\220\206/ClsSc_MouldProdOutBill.cs" "b/DAL/\347\224\237\344\272\247\347\256\241\347\220\206/\346\250\241\345\205\267\347\256\241\347\220\206/ClsSc_MouldProdOutBill.cs"
index d199719..8cf3e26 100644
--- "a/DAL/\347\224\237\344\272\247\347\256\241\347\220\206/\346\250\241\345\205\267\347\256\241\347\220\206/ClsSc_MouldProdOutBill.cs"
+++ "b/DAL/\347\224\237\344\272\247\347\256\241\347\220\206/\346\250\241\345\205\267\347\256\241\347\220\206/ClsSc_MouldProdOutBill.cs"
@@ -173,19 +173,25 @@
         {
             try
             {
+                //鑾峰彇绯荤粺鍙傛暟
+                Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();
+                if (oSystemParameter.ShowBillByOrgID(omodel.HSTOCKORGID, ref sReturn) == false)
+                {
+                    sReturn = "鑾峰彇绯荤粺鍙傛暟澶辫触锛� " + sReturn;
+                    return false;
+                }
                 //寰楀埌mainid
-                if(omodel.HInterID==0)
+                if (omodel.HInterID==0)
                 {
                     omodel.HInterID = DBUtility.ClsPub.CreateBillID_Prod(BillType, ref DBUtility.ClsPub.sExeReturnInfo);
                 }
-                //鑻AINDI閲嶅鍒欓噸鏂拌幏鍙�
-                oCn.BeginTran();
                 //淇濆瓨鍓嶆帶鍒�
                 if (!BeforeSave(omodel.HInterID, omodel.HBillNo, omodel.HSecManagerID, omodel.HKeeperID, omodel.HSupID, 1, ref sReturn))
                 {
-                    oCn.RollBack();
                     return false;
                 }
+
+                oCn.BeginTran();
                 //涓昏〃
                 oCn.RunProc("Insert Into Sc_MouldStockBillMain   " +
                 "(HBillType,HBillSubType,HInterID,HBillNo,HDate" +
@@ -229,7 +235,17 @@
                     oCn.RollBack();
                     return false;
                 }
-                sReturn = "鍗曟嵁鍙凤細" + omodel.HBillNo + " 鏂板鎴愬姛锛�";
+
+                if (oSystemParameter.omodel.Sc_MouldProdOutBill_AutoCheck.ToUpper() == "Y") //绯荤粺鍙傛暟  鑷姩瀹℃牳 
+                {
+                    //瀹℃牳鍗曟嵁
+                    oCn.RunProc("Update Sc_MouldStockBillMain Set HChecker='" + DBUtility.ClsPub.CurUserName + "',HCheckDate=getdate(),HBillStatus=2 where HInterID= " + omodel.HInterID.ToString());
+                    sReturn = "鍗曟嵁鍙凤細" + omodel.HBillNo + " 鏂板瀹℃牳鎴愬姛锛�";
+                }
+                else
+                {
+                    sReturn = "鍗曟嵁鍙凤細" + omodel.HBillNo + " 鏂板鎴愬姛锛�";
+                }
                 oCn.Commit();
                 return true;
             }
diff --git "a/DAL/\347\224\237\344\272\247\347\256\241\347\220\206/\346\250\241\345\205\267\347\256\241\347\220\206/ClsSc_MouldRepairInBill.cs" "b/DAL/\347\224\237\344\272\247\347\256\241\347\220\206/\346\250\241\345\205\267\347\256\241\347\220\206/ClsSc_MouldRepairInBill.cs"
index 858a7bd..47bf27f 100644
--- "a/DAL/\347\224\237\344\272\247\347\256\241\347\220\206/\346\250\241\345\205\267\347\256\241\347\220\206/ClsSc_MouldRepairInBill.cs"
+++ "b/DAL/\347\224\237\344\272\247\347\256\241\347\220\206/\346\250\241\345\205\267\347\256\241\347\220\206/ClsSc_MouldRepairInBill.cs"
@@ -29,8 +29,63 @@
         {
             DetailColl = null;
         }
-       
+
         #endregion   鑷畾涔夋柟娉�
+
+        //淇濆瓨鍓嶆帶鍒�
+        public bool BeforeSave(Int64 HInterID, string HBillNo, Int64 HSecManagerID, Int64 HKeeperID, Int64 HSupID, Int64 OperationType, ref string sReturn)
+        {
+            try
+            {
+                DataSet Ds = oCn.RunProcReturn("Exec h_p_Sc_MouldRepairInBill_BeforeSaveCtrl " + HInterID.ToString() + ",'" + HBillNo + "'," + HSecManagerID.ToString() + "," + HKeeperID.ToString() + "," + HSupID.ToString() + "," + OperationType.ToString(), "h_p_Sc_MouldRepairInBill_BeforeSaveCtrl");
+                if (Ds == null || Ds.Tables[0].Rows.Count == 0)
+                {
+                    sReturn = "淇濆瓨鍓嶅垽鏂け璐ワ紒";
+                    return false;
+                }
+                else
+                {
+                    if (DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HBack"]) == 1)
+                    {
+                        sReturn = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HRemark"]);
+                        return false;
+                    }
+                }
+                return true;
+            }
+            catch (Exception e)
+            {
+                throw (e);
+            }
+        }
+
+        //淇濆瓨鍚庢帶鍒�
+        public bool AfterSave(Int64 HInterID, string HBillNo, Int64 OperationType, ref string sReturn)
+        {
+            try
+            {
+                DataSet Ds = oCn.RunProcReturn("Exec h_p_Sc_MouldRepairInBill_AfterSaveCtrl " + HInterID.ToString() + ",'" + HBillNo + "'," + OperationType.ToString(), "h_p_Sc_MouldRepairInBill_AfterSaveCtrl");
+                if (Ds == null || Ds.Tables[0].Rows.Count == 0)
+                {
+                    sReturn = "淇濆瓨鍚庡垽鏂け璐ワ紒";
+                    return false;
+                }
+                else
+                {
+                    if (DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HBack"]) == 1)
+                    {
+                        sReturn = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HRemark"]);
+                        return false;
+                    }
+                }
+                return true;
+            }
+            catch (Exception e)
+            {
+                throw (e);
+            }
+        }
+
         //淇敼鍗曟嵁
         public override bool ModifyBill(Int64 lngBillKey, ref string sReturn)
         {
@@ -38,6 +93,12 @@
             {
                 //
                 oCn.BeginTran();
+                //淇濆瓨鍓嶆帶鍒�
+                if (!BeforeSave(lngBillKey, omodel.HBillNo, omodel.HSecManagerID, omodel.HKeeperID, omodel.HSupID, 2, ref sReturn))
+                {
+                    oCn.RollBack();
+                    return false;
+                }
                 //鏇存柊涓昏〃
                 oCn.RunProc("UpDate Sc_MouldStockBillMain set  " +
                 " HBillNo='" + omodel.HBillNo + "'" +  //鍥哄畾璧嬪��===============
@@ -49,16 +110,17 @@
                 ",HUpDateDate=getdate()" +
                 //========================================
                 ",HSupID=" + omodel.HSupID.ToString() +
-                ",HWHID=" + omodel.HWHID.ToString() +
-                ",HSCWHID=" + omodel.HSCWHID.ToString() +
                 ",HEmpID=" + omodel.HEmpID.ToString() +
                 ",HManagerID=" + omodel.HManagerID.ToString() +
                 ",HSecManagerID=" + omodel.HSecManagerID.ToString() +
                 ",HKeeperID=" + omodel.HKeeperID.ToString() +
                 ",HDeptID=" + omodel.HDeptID.ToString() +
+                ",HWHID=" + omodel.HWHID.ToString() +
+                ",HSCWHID=" + omodel.HSCWHID.ToString() +
                 ",HExplanation='" + omodel.HExplanation + "'" +
-                ",HInnerBillNo='" + omodel.HInnerBillNo + "'" +                
+                ",HInnerBillNo='" + omodel.HInnerBillNo + "'" +
                 ",HRedBlueFlag=" + DBUtility.ClsPub.BoolToString(omodel.HRedBlueFlag) +
+                ",HStockOrgID=" + omodel.HSTOCKORGID.ToString() +
                 " where HInterID=" + lngBillKey.ToString());
                 //鍒犻櫎鍏宠仈
                 DeleteRelation(ref sReturn, lngBillKey);
@@ -69,39 +131,31 @@
                 foreach (Model.ClsSc_MouldStockBillSub oSub in DetailColl)
                 {
                     oCn.RunProc("Insert into Sc_MouldStockBillSub " +
-                      " (HInterID,HEntryID,HCloseMan,HEntryCloseDate,HCloseType,HRemark" +
-                      ",HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HRelationQty,HRelationMoney" +
-                      ",HMaterID,HPropertyID,HSecUnitID,HSecUnitRate,HUnitID,HQtyMust" +
-                      ",HQty,HPrice,HMoney,HWHID,HSCWHID,HSPID" +
-                      ",HDesignLife,HLeaveLife,HUseLife,HNewLifeQty" +
-                      ",HSCSPID,HSPGroupID,HBatchNo,HBackFlag,HNowModel,HNowLife" +
-                      ",HNewModel,HLastProdModel,HWallThickness,HHardness,HDiameter,HQtyRel" +
-                        ",HMouldType,HInitModel,HInitDesignLife,HLifeUnitID" +
+                      " (HInterID,HEntryID,HRemark,HRelationQty,HRelationMoney" +
+                      ",HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType" +
+                      ",HMaterID,HPropertyID,HSecUnitID,HSecUnitRate,HUnitID,HBatchNo" +
+                      ",HQtyMust,HQtyRel,HQty,HPrice,HMoney,HDesignLife" +
+                      ",HLeaveLife,HUseLife,HUseLifeQty,HNewLifeQty,HWHID,HSCWHID" +
+                      ",HSPID,HSCSPID,HSPGroupID,HBarCode,HCorrespondentTypeID,HCorrespondentID" +
+                      ",HPOOrderInterID,HPOOrderEntryID,HPOOrderBillNo,HSeOrderInterID,HSeOrderEntryID,HSeOrderBillNo" +
+                      ",HStockOrgID,HOWNERID,HOtherOrgID,HOWNERTYPEID" +
+                      ",HNowModel,HNowLife,HNewModel,HLastProdModel,HWallThickness,HHardness" +
+                      ",HDiameter,HMouldType,HInitModel,HInitDesignLife,HLifeUnitID,HBackFlag" +
                       ") values("
-                      + omodel.HInterID.ToString() + "," + oSub.HEntryID.ToString() + ",'" + oSub.HCloseMan + "','" + oSub.HEntryCloseDate.ToShortDateString() + "'," + Convert.ToString(oSub.HCloseType ? 1 : 0) + ",'" + oSub.HRemark + "'" +
-                      "," + oSub.HSourceInterID.ToString() + "," + oSub.HSourceEntryID.ToString() + ",'" + oSub.HSourceBillNo + "','" + oSub.HSourceBillType + "'," + oSub.HRelationQty.ToString() + "," + oSub.HRelationMoney.ToString() +
-                      "," + oSub.HMaterID.ToString() + "," + oSub.HPropertyID.ToString() + "," + oSub.HSecUnitID.ToString() + "," + oSub.HSecUnitRate.ToString() + "," + oSub.HUnitID.ToString() + "," + oSub.HQtyMust.ToString() +
-                      "," + oSub.HQty.ToString() + "," + oSub.HPrice.ToString() + "," + oSub.HMoney.ToString() + "," + oSub.HWHID.ToString() + "," + oSub.HSCWHID.ToString() + "," + oSub.HSPID.ToString() +
-                      "," + oSub.HDesignLife.ToString() + "," + oSub.HLeaveLife.ToString() + "," + oSub.HUseLife.ToString() + "," + oSub.HNewLifeQty.ToString() +
-                      "," + oSub.HSCSPID.ToString() + "," + oSub.HSPGroupID.ToString() + ",'" + oSub.HBatchNo + "','" + oSub.HBackFlag + "','" + oSub.HNowModel + "'," + oSub.HNowLife.ToString() +
-                      ",'" + oSub.HNewModel + "','" + oSub.HLastProdModel + "','" + oSub.HWallThickness + "','" + oSub.HHardness + "','" + oSub.HDiameter + "'," + oSub.HQtyRel.ToString() +
-                        "," + oSub.HMouldType.ToString() + ",'" + oSub.HInitModel + "'," + oSub.HInitDesignLife.ToString() + "," + oSub.HLifeUnitID.ToString() +
+                      + omodel.HInterID.ToString() + "," + oSub.HEntryID.ToString() + ",'" + oSub.HRemark + "'," + oSub.HRelationQty.ToString() + "," + oSub.HRelationMoney.ToString() +
+                      "," + oSub.HSourceInterID.ToString() + "," + oSub.HSourceEntryID.ToString() + ",'" + oSub.HSourceBillNo + "','" + oSub.HSourceBillType + "'" +
+                      "," + oSub.HMaterID.ToString() + "," + oSub.HPropertyID.ToString() + "," + oSub.HSecUnitID.ToString() + "," + oSub.HSecUnitRate.ToString() + "," + oSub.HUnitID.ToString() + ",'" + oSub.HBatchNo + "'" +
+                      "," + oSub.HQtyMust.ToString() + "," + oSub.HQtyRel.ToString() + "," + oSub.HQty.ToString() + "," + oSub.HPrice.ToString() + "," + oSub.HMoney.ToString() + "," + oSub.HDesignLife.ToString() +
+                      "," + oSub.HLeaveLife.ToString() + "," + oSub.HUseLife.ToString() + "," + oSub.HUseLifeQty.ToString() + "," + oSub.HNewLifeQty.ToString() + "," + oSub.HWHID.ToString() + "," + oSub.HSCWHID.ToString() +
+                      "," + oSub.HSPID.ToString() + "," + oSub.HSCSPID.ToString() + "," + oSub.HSPGroupID.ToString() + ",'" + oSub.HBarCode + "'," + oSub.HCorrespondentTypeID.ToString() + "," + oSub.HCorrespondentID.ToString() +
+                      "," + oSub.HPOOrderInterID.ToString() + "," + oSub.HPOOrderEntryID.ToString() + ",'" + oSub.HPOOrderBillNo + "'," + oSub.HSeOrderInterID.ToString() + "," + oSub.HSeOrderEntryID.ToString() + ",'" + oSub.HSeOrderBillNo + "'" +
+                      "," + oSub.HStockOrgID.ToString() + "," + oSub.HOWNERID.ToString() + "," + oSub.HOtherOrgID.ToString() + ",'" + oSub.HOWNERTYPEID + "'" +
+                      ",'" + oSub.HNowModel + "'," + oSub.HNowLife.ToString() + ",'" + oSub.HNewModel + "','" + oSub.HLastProdModel + "','" + oSub.HWallThickness + "','" + oSub.HHardness + "'" +
+                      ",'" + oSub.HDiameter + "'," + oSub.HMouldType.ToString() + ",'" + oSub.HInitModel + "'," + oSub.HInitDesignLife.ToString() + "," + oSub.HLifeUnitID.ToString() + ",'" + oSub.HBackFlag + "'" +
                       ") ");
+
                     oCn.RunProc("exec h_p_Sc_MouldFileChangeStatus " + oSub.HMaterID.ToString() + ",'" + oSub.HNewModel.ToString() + "'," + oSub.HNewLifeQty.ToString() + ",'鍦ㄥ簱'");
                 }
-                //
-                //oCn.RunProcReturn("exec h_p_Sc_MouldFileChangeStatus " + omodel.HInterID.ToString() + ",'鍦ㄥ簱'", "gy_czygl");
-                //foreach (Model.ClsSc_MouldStockBillSub oSub in DetailColl)
-                //{
-                //    Ds = oCn.RunProcReturn("exec h_p_Sc_MouldRepairInBill_Qty " + oSub.HICMOInterID, "");
-                //    if (Ds.Tables[0].Rows.Count == 0)
-                //        return;
-                //    if (DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HBool"]) == "Y")
-                //    {
-                //        sReturn = "姹囨姤鏁伴噺瓒呰繃璁″垝鏁伴噺锛佷笉鍏佽淇濆瓨";
-                //        return false;
-                //    }
-                //}
                 DataSet Ds;
                 foreach (Model.ClsSc_MouldStockBillSub oSub in DetailColl)
                 {
@@ -118,7 +172,13 @@
                         return false;
                     }
                 }
-                sReturn = "淇敼鍗曟嵁鎴愬姛锛�";
+                //淇濆瓨鍚庢帶鍒�
+                if (!AfterSave(lngBillKey, omodel.HBillNo, 2, ref sReturn))
+                {
+                    oCn.RollBack();
+                    return false;
+                }
+                sReturn = "鍗曟嵁鍙凤細" + omodel.HBillNo + " 淇敼鎴愬姛锛�";
                 oCn.Commit();
                 return true;
             }
@@ -134,78 +194,108 @@
         {
             try
             {
+                //鑾峰彇绯荤粺鍙傛暟
+                Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();
+                if (oSystemParameter.ShowBillByOrgID(omodel.HSTOCKORGID, ref sReturn) == false)
+                {
+                    sReturn = "鑾峰彇绯荤粺鍙傛暟澶辫触锛� " + sReturn;
+                    return false;
+                }
                 //寰楀埌mainid
-                omodel.HInterID = DBUtility.ClsPub.CreateBillID(BillType, ref DBUtility.ClsPub.sExeReturnInfo);
-                //鑻AINDI閲嶅鍒欓噸鏂拌幏鍙�
+                if (omodel.HInterID == 0)
+                {
+                    omodel.HInterID = DBUtility.ClsPub.CreateBillID_Prod(BillType, ref DBUtility.ClsPub.sExeReturnInfo);
+                }
+                //淇濆瓨鍓嶆帶鍒�
+                if (!BeforeSave(omodel.HInterID, omodel.HBillNo, omodel.HSecManagerID, omodel.HKeeperID, omodel.HSupID, 1, ref sReturn))
+                {
+                    return false;
+                }
+
                 oCn.BeginTran();
                 //涓昏〃
                 oCn.RunProc("Insert Into Sc_MouldStockBillMain   " +
                 "(HBillType,HBillSubType,HInterID,HBillNo,HDate" +
                 ",HYear,HPeriod,HRemark,HMaker,HMakeDate" +
-                ",HSupID,HWHID,HSCWHID,HEmpID,HManagerID,HSecManagerID" +
-                ",HKeeperID,HDeptID,HExplanation,HInnerBillNo,HRedBlueFlag" +
-                ""+
+                ",HSupID,HSupTypeID,HEmpID,HManagerID,HSecManagerID" +
+                ",HKeeperID,HDeptID,HWHID,HSCWHID,HRedBlueFlag" +
+                ",HExplanation,HInnerBillNo,HStockOrgID" +
                 ") " +
-                " values('" + this.BillType + "','" + this.HBillSubType + "'," + omodel.HInterID.ToString() + ",'" + omodel.HBillNo + "','" + omodel.HDate + "'" +
+                " values('" + this.BillType + "','" + this.HBillSubType + "'," + omodel.HInterID.ToString() + ",'" + omodel.HBillNo + "','" + omodel.HDate.ToShortDateString() + "'" +
                 ", " + omodel.HYear.ToString() + "," + omodel.HPeriod.ToString() + ",'" + omodel.HRemark + "','" + DBUtility.ClsPub.CurUserName + "',getdate()" +
-                ", " + omodel.HSupID.ToString() + "," + omodel.HWHID.ToString() + "," + omodel.HSCWHID.ToString() + "," + omodel.HEmpID.ToString() + "," + omodel.HManagerID.ToString() + "," + omodel.HSecManagerID.ToString() +
-                ", " + omodel.HKeeperID.ToString() + "," + omodel.HDeptID.ToString() + ",'" + omodel.HExplanation + "','" + omodel.HInnerBillNo + "'," + DBUtility.ClsPub.BoolToString(omodel.HRedBlueFlag) +
+                ", " + omodel.HSupID.ToString() + "," + omodel.HSupTypeID.ToString() + "," + omodel.HEmpID.ToString() + "," + omodel.HManagerID.ToString() + "," + omodel.HSecManagerID.ToString() +
+                ", " + omodel.HKeeperID.ToString() + "," + omodel.HDeptID.ToString() + "," + omodel.HWHID.ToString() + "," + omodel.HSCWHID.ToString() + "," + DBUtility.ClsPub.BoolToString(omodel.HRedBlueFlag) +
+                ",'" + omodel.HExplanation + "','" + omodel.HInnerBillNo + "'," + omodel.HSTOCKORGID.ToString() +
                 ") ");
                 //鎻掑叆瀛愯〃
                 foreach (Model.ClsSc_MouldStockBillSub oSub in DetailColl)
                 {
                     oCn.RunProc("Insert into Sc_MouldStockBillSub " +
-                     " (HInterID,HEntryID,HCloseMan,HEntryCloseDate,HCloseType,HRemark" +
-                     ",HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HRelationQty,HRelationMoney" +
-                     ",HMaterID,HPropertyID,HSecUnitID,HSecUnitRate,HUnitID,HQtyMust" +
-                     ",HQty,HPrice,HMoney,HWHID,HSCWHID,HSPID" +
-                     ",HDesignLife,HLeaveLife,HUseLife,HNewLifeQty" +
-                     ",HSCSPID,HSPGroupID,HBatchNo,HBackFlag,HNowModel,HNowLife" +
-                     ",HNewModel,HLastProdModel,HWallThickness,HHardness,HDiameter,HQtyRel" +
-                        ",HMouldType,HInitModel,HInitDesignLife,HLifeUnitID" +
-                     ") values("
-                     + omodel.HInterID.ToString() + "," + oSub.HEntryID.ToString() + ",'" + oSub.HCloseMan + "','" + oSub.HEntryCloseDate.ToShortDateString() + "'," + Convert.ToString(oSub.HCloseType ? 1 : 0) + ",'" + oSub.HRemark + "'" +
-                     "," + oSub.HSourceInterID.ToString() + "," + oSub.HSourceEntryID.ToString() + ",'" + oSub.HSourceBillNo + "','" + oSub.HSourceBillType + "'," + oSub.HRelationQty.ToString() + "," + oSub.HRelationMoney.ToString() +
-                     "," + oSub.HMaterID.ToString() + "," + oSub.HPropertyID.ToString() + "," + oSub.HSecUnitID.ToString() + "," + oSub.HSecUnitRate.ToString() + "," + oSub.HUnitID.ToString() + "," + oSub.HQtyMust.ToString() +
-                     "," + oSub.HQty.ToString() + "," + oSub.HPrice.ToString() + "," + oSub.HMoney.ToString() + "," + oSub.HWHID.ToString() + "," + oSub.HSCWHID.ToString() + "," + oSub.HSPID.ToString() +
-                     "," + oSub.HDesignLife.ToString() + "," + oSub.HLeaveLife.ToString() + "," + oSub.HUseLife.ToString() + "," + oSub.HNewLifeQty.ToString() +
-                     "," + oSub.HSCSPID.ToString() + "," + oSub.HSPGroupID.ToString() + ",'" + oSub.HBatchNo + "','" + oSub.HBackFlag + "','" + oSub.HNowModel + "'," + oSub.HNowLife.ToString() +
-                     ",'" + oSub.HNewModel + "','" + oSub.HLastProdModel + "','" + oSub.HWallThickness + "','" + oSub.HHardness + "','" + oSub.HDiameter + "'," + oSub.HQtyRel.ToString() +
-                        "," + oSub.HMouldType.ToString() + ",'" + oSub.HInitModel + "'," + oSub.HInitDesignLife.ToString() + "," + oSub.HLifeUnitID.ToString() +
-                     ") ");
-                    oCn.RunProc("exec h_p_Sc_MouldFileChangeStatus " + oSub.HMaterID.ToString() + ",'" + oSub.HNewModel.ToString() + "'," + oSub.HNewLifeQty.ToString() + ",'鍦ㄥ簱'");
-                } 
+                      " (HInterID,HEntryID,HRemark,HRelationQty,HRelationMoney" +
+                      ",HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType" +
+                      ",HMaterID,HPropertyID,HSecUnitID,HSecUnitRate,HUnitID,HBatchNo" +
+                      ",HQtyMust,HQtyRel,HQty,HPrice,HMoney,HDesignLife" +
+                      ",HLeaveLife,HUseLife,HUseLifeQty,HNewLifeQty,HWHID,HSCWHID" +
+                      ",HSPID,HSCSPID,HSPGroupID,HBarCode,HCorrespondentTypeID,HCorrespondentID" +
+                      ",HPOOrderInterID,HPOOrderEntryID,HPOOrderBillNo,HSeOrderInterID,HSeOrderEntryID,HSeOrderBillNo" +
+                      ",HStockOrgID,HOWNERID,HOtherOrgID,HOWNERTYPEID" +
+                      ",HNowModel,HNowLife,HNewModel,HLastProdModel,HWallThickness,HHardness" +
+                      ",HDiameter,HMouldType,HInitModel,HInitDesignLife,HLifeUnitID" +
+                      ") values("
+                      + omodel.HInterID.ToString() + "," + oSub.HEntryID.ToString() + ",'" + oSub.HRemark + "'," + oSub.HRelationQty.ToString() + "," + oSub.HRelationMoney.ToString() +
+                      "," + oSub.HSourceInterID.ToString() + "," + oSub.HSourceEntryID.ToString() + ",'" + oSub.HSourceBillNo + "','" + oSub.HSourceBillType + "'" +
+                      "," + oSub.HMaterID.ToString() + "," + oSub.HPropertyID.ToString() + "," + oSub.HSecUnitID.ToString() + "," + oSub.HSecUnitRate.ToString() + "," + oSub.HUnitID.ToString() + ",'" + oSub.HBatchNo + "'" +
+                      "," + oSub.HQtyMust.ToString() + "," + oSub.HQtyRel.ToString() + "," + oSub.HQty.ToString() + "," + oSub.HPrice.ToString() + "," + oSub.HMoney.ToString() + "," + oSub.HDesignLife.ToString() +
+                      "," + oSub.HLeaveLife.ToString() + "," + oSub.HUseLife.ToString() + "," + oSub.HUseLifeQty.ToString() + "," + oSub.HNewLifeQty.ToString() + "," + oSub.HWHID.ToString() + "," + oSub.HSCWHID.ToString() +
+                      "," + oSub.HSPID.ToString() + "," + oSub.HSCSPID.ToString() + "," + oSub.HSPGroupID.ToString() + ",'" + oSub.HBarCode + "'," + oSub.HCorrespondentTypeID.ToString() + "," + oSub.HCorrespondentID.ToString() +
+                      "," + oSub.HPOOrderInterID.ToString() + "," + oSub.HPOOrderEntryID.ToString() + ",'" + oSub.HPOOrderBillNo + "'," + oSub.HSeOrderInterID.ToString() + "," + oSub.HSeOrderEntryID.ToString() + ",'" + oSub.HSeOrderBillNo + "'" +
+                      "," + oSub.HStockOrgID.ToString() + "," + oSub.HOWNERID.ToString() + "," + oSub.HOtherOrgID.ToString() + ",'" + oSub.HOWNERTYPEID + "'" +
+                      ",'" + oSub.HNowModel + "'," + oSub.HNowLife.ToString() + ",'" + oSub.HNewModel + "','" + oSub.HLastProdModel + "','" + oSub.HWallThickness + "','" + oSub.HHardness + "'" +
+                      ",'" + oSub.HDiameter + "'," + oSub.HMouldType.ToString() + ",'" + oSub.HInitModel + "'," + oSub.HInitDesignLife.ToString() + "," + oSub.HLifeUnitID.ToString() +
+                      ") ");
 
+                    if (oSub.HBarCode == "")
+                    {
+                        oCn.RunProc("exec h_p_Sc_MouldFileChangeStatus " + oSub.HMaterID.ToString() + ",'" + oSub.HNewModel.ToString() + "'," + oSub.HNewLifeQty.ToString() + ",'鍦ㄥ簱'");
+                    }
+                }
 
-                //foreach (Model.ClsSc_MouldStockBillSub oSub in DetailColl)
-                //{
-                //    Ds = oCn.RunProcReturn("exec h_p_Sc_MouldRepairInBill_Qty " + oSub.HICMOInterID, "");
-                //    if (Ds.Tables[0].Rows.Count == 0)
-                //        return;
-                //    if (DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HBool"]) == "Y")
-                //    {
-                //        sReturn = "姹囨姤鏁伴噺瓒呰繃璁″垝鏁伴噺锛佷笉鍏佽淇濆瓨";
-                //        return false;
-                //    }
-                //}
                 DataSet Ds;
                 foreach (Model.ClsSc_MouldStockBillSub oSub in DetailColl)
                 {
-                    Ds = oCn.RunProcReturn("exec h_p_Kf_ICStockBill_CheckKF " + omodel.HInterID + "," + oSub.HMaterID + "," + oSub.HWHID + "," + oSub.HSPID + ", 1", "gy_czygl");
-                    if (Ds.Tables[0].Rows.Count == 0)
+                    if (oSub.HBarCode == "")
                     {
-                        oCn.RollBack();
-                        return false;
-                    }
-                    if (DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0][0]) == "N")
-                    {
-                        sReturn = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0][1]) + ", 涓嶅厑璁镐繚瀛橈紒";
-                        oCn.RollBack();
-                        return false;
+                        Ds = oCn.RunProcReturn("exec h_p_Kf_ICStockBill_CheckKF " + omodel.HInterID + "," + oSub.HMaterID + "," + oSub.HWHID + "," + oSub.HSPID + ", 1", "gy_czygl");
+                        if (Ds.Tables[0].Rows.Count == 0)
+                        {
+                            oCn.RollBack();
+                            return false;
+                        }
+                        if (DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0][0]) == "N")
+                        {
+                            sReturn = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0][1]) + ", 涓嶅厑璁镐繚瀛橈紒";
+                            oCn.RollBack();
+                            return false;
+                        }
                     }
                 }
-                //
-                sReturn = "鏂板鍗曟嵁鎴愬姛锛�";
+                //淇濆瓨鍚庢帶鍒�
+                if (!AfterSave(omodel.HInterID, omodel.HBillNo, 1, ref sReturn))
+                {
+                    oCn.RollBack();
+                    return false;
+                }
+
+                if (oSystemParameter.omodel.Sc_MouldRepairInBill_AutoCheck.ToUpper() == "Y") //绯荤粺鍙傛暟  鑷姩瀹℃牳 
+                {
+                    //瀹℃牳鍗曟嵁
+                    oCn.RunProc("Update Sc_MouldStockBillMain Set HChecker='" + DBUtility.ClsPub.CurUserName + "',HCheckDate=getdate(),HBillStatus=2 where HInterID= " + omodel.HInterID.ToString());
+                    sReturn = "鍗曟嵁鍙凤細" + omodel.HBillNo + " 鏂板瀹℃牳鎴愬姛锛�";
+                }
+                else
+                {
+                    sReturn = "鍗曟嵁鍙凤細" + omodel.HBillNo + " 鏂板鎴愬姛锛�";
+                }
                 oCn.Commit();
                 return true;
             }
diff --git "a/DAL/\347\224\237\344\272\247\347\256\241\347\220\206/\346\250\241\345\205\267\347\256\241\347\220\206/ClsSc_MouldRepairOutBill.cs" "b/DAL/\347\224\237\344\272\247\347\256\241\347\220\206/\346\250\241\345\205\267\347\256\241\347\220\206/ClsSc_MouldRepairOutBill.cs"
index dfb88ac..5f5f9e0 100644
--- "a/DAL/\347\224\237\344\272\247\347\256\241\347\220\206/\346\250\241\345\205\267\347\256\241\347\220\206/ClsSc_MouldRepairOutBill.cs"
+++ "b/DAL/\347\224\237\344\272\247\347\256\241\347\220\206/\346\250\241\345\205\267\347\256\241\347\220\206/ClsSc_MouldRepairOutBill.cs"
@@ -29,8 +29,63 @@
         {
             DetailColl = null;
         }
-       
+
         #endregion   鑷畾涔夋柟娉�
+
+        //淇濆瓨鍓嶆帶鍒�
+        public bool BeforeSave(Int64 HInterID, string HBillNo, Int64 HSecManagerID, Int64 HKeeperID, Int64 HSupID, Int64 OperationType, ref string sReturn)
+        {
+            try
+            {
+                DataSet Ds = oCn.RunProcReturn("Exec h_p_Sc_MouldRepairOutBill_BeforeSaveCtrl " + HInterID.ToString() + ",'" + HBillNo + "'," + HSecManagerID.ToString() + "," + HKeeperID.ToString() + "," + HSupID.ToString() + "," + OperationType.ToString(), "h_p_Sc_MouldRepairOutBill_BeforeSaveCtrl");
+                if (Ds == null || Ds.Tables[0].Rows.Count == 0)
+                {
+                    sReturn = "淇濆瓨鍓嶅垽鏂け璐ワ紒";
+                    return false;
+                }
+                else
+                {
+                    if (DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HBack"]) == 1)
+                    {
+                        sReturn = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HRemark"]);
+                        return false;
+                    }
+                }
+                return true;
+            }
+            catch (Exception e)
+            {
+                throw (e);
+            }
+        }
+
+        //淇濆瓨鍚庢帶鍒�
+        public bool AfterSave(Int64 HInterID, string HBillNo, Int64 OperationType, ref string sReturn)
+        {
+            try
+            {
+                DataSet Ds = oCn.RunProcReturn("Exec h_p_Sc_MouldRepairOutBill_AfterSaveCtrl " + HInterID.ToString() + ",'" + HBillNo + "'," + OperationType.ToString(), "h_p_Sc_MouldRepairOutBill_AfterSaveCtrl");
+                if (Ds == null || Ds.Tables[0].Rows.Count == 0)
+                {
+                    sReturn = "淇濆瓨鍚庡垽鏂け璐ワ紒";
+                    return false;
+                }
+                else
+                {
+                    if (DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HBack"]) == 1)
+                    {
+                        sReturn = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HRemark"]);
+                        return false;
+                    }
+                }
+                return true;
+            }
+            catch (Exception e)
+            {
+                throw (e);
+            }
+        }
+
         //淇敼鍗曟嵁
         public override bool ModifyBill(Int64 lngBillKey, ref string sReturn)
         {
@@ -38,6 +93,12 @@
             {
                 //
                 oCn.BeginTran();
+                //淇濆瓨鍓嶆帶鍒�
+                if (!BeforeSave(lngBillKey, omodel.HBillNo, omodel.HSecManagerID, omodel.HKeeperID, omodel.HSupID, 2, ref sReturn))
+                {
+                    oCn.RollBack();
+                    return false;
+                }
                 //鏇存柊涓昏〃
                 oCn.RunProc("UpDate Sc_MouldStockBillMain set  " +
                 " HBillNo='" + omodel.HBillNo + "'" +  //鍥哄畾璧嬪��===============
@@ -49,17 +110,17 @@
                 ",HUpDateDate=getdate()" +
                 //========================================
                 ",HSupID=" + omodel.HSupID.ToString() +
-                ",HWHID=" + omodel.HWHID.ToString() +
-                ",HSCWHID=" + omodel.HSCWHID.ToString() +
                 ",HEmpID=" + omodel.HEmpID.ToString() +
                 ",HManagerID=" + omodel.HManagerID.ToString() +
                 ",HSecManagerID=" + omodel.HSecManagerID.ToString() +
                 ",HKeeperID=" + omodel.HKeeperID.ToString() +
                 ",HDeptID=" + omodel.HDeptID.ToString() +
+                ",HWHID=" + omodel.HWHID.ToString() +
+                ",HSCWHID=" + omodel.HSCWHID.ToString() +
                 ",HExplanation='" + omodel.HExplanation + "'" +
-                ",HInnerBillNo='" + omodel.HInnerBillNo + "'" +    
-                ",HRepairType='"+omodel.HRepairType+"'"+
+                ",HInnerBillNo='" + omodel.HInnerBillNo + "'" +
                 ",HRedBlueFlag=" + DBUtility.ClsPub.BoolToString(omodel.HRedBlueFlag) +
+                ",HStockOrgID=" + omodel.HSTOCKORGID.ToString() +
                 " where HInterID=" + lngBillKey.ToString());
                 //鍒犻櫎鍏宠仈
                 DeleteRelation(ref sReturn, lngBillKey);
@@ -70,39 +131,31 @@
                 foreach (Model.ClsSc_MouldStockBillSub oSub in DetailColl)
                 {
                     oCn.RunProc("Insert into Sc_MouldStockBillSub " +
-                      " (HInterID,HEntryID,HCloseMan,HEntryCloseDate,HCloseType,HRemark" +
-                      ",HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HRelationQty,HRelationMoney" +
-                      ",HMaterID,HPropertyID,HSecUnitID,HSecUnitRate,HUnitID,HQtyMust" +
-                      ",HQty,HPrice,HMoney,HWHID,HSCWHID,HSPID" +
-                      ",HDesignLife,HLeaveLife,HUseLife,HNowModel,HNowLife" +
-                      ",HSCSPID,HSPGroupID,HBatchNo" +
-                      ",HNewModel,HLastProdModel,HWallThickness,HHardness,HDiameter,HQtyRel" +
-                        ",HMouldType,HInitModel,HInitDesignLife,HLifeUnitID" +
+                      " (HInterID,HEntryID,HRemark,HRelationQty,HRelationMoney" +
+                      ",HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType" +
+                      ",HMaterID,HPropertyID,HSecUnitID,HSecUnitRate,HUnitID,HBatchNo" +
+                      ",HQtyMust,HQtyRel,HQty,HPrice,HMoney,HDesignLife" +
+                      ",HLeaveLife,HUseLife,HUseLifeQty,HNewLifeQty,HWHID,HSCWHID" +
+                      ",HSPID,HSCSPID,HSPGroupID,HBarCode,HCorrespondentTypeID,HCorrespondentID" +
+                      ",HPOOrderInterID,HPOOrderEntryID,HPOOrderBillNo,HSeOrderInterID,HSeOrderEntryID,HSeOrderBillNo" +
+                      ",HStockOrgID,HOWNERID,HOtherOrgID,HOWNERTYPEID" +
+                      ",HNowModel,HNowLife,HNewModel,HLastProdModel,HWallThickness,HHardness" +
+                      ",HDiameter,HMouldType,HInitModel,HInitDesignLife,HLifeUnitID" +
                       ") values("
-                      + omodel.HInterID.ToString() + "," + oSub.HEntryID.ToString() + ",'" + oSub.HCloseMan + "','" + oSub.HEntryCloseDate.ToShortDateString() + "'," + Convert.ToString(oSub.HCloseType ? 1 : 0) + ",'" + oSub.HRemark + "'" +
-                      "," + oSub.HSourceInterID.ToString() + "," + oSub.HSourceEntryID.ToString() + ",'" + oSub.HSourceBillNo + "','" + oSub.HSourceBillType + "'," + oSub.HRelationQty.ToString() + "," + oSub.HRelationMoney.ToString() +
-                      "," + oSub.HMaterID.ToString() + "," + oSub.HPropertyID.ToString() + "," + oSub.HSecUnitID.ToString() + "," + oSub.HSecUnitRate.ToString() + "," + oSub.HUnitID.ToString() + "," + oSub.HQtyMust.ToString() +
-                      "," + oSub.HQty.ToString() + "," + oSub.HPrice.ToString() + "," + oSub.HMoney.ToString() + "," + oSub.HWHID.ToString() + "," + oSub.HSCWHID.ToString() + "," + oSub.HSPID.ToString() +
-                      "," + oSub.HDesignLife.ToString() + "," + oSub.HLeaveLife.ToString() + "," + oSub.HUseLife.ToString() + ",'" + oSub.HNowModel + "'," + oSub.HNowLife.ToString() +
-                      "," + oSub.HSCSPID.ToString() + "," + oSub.HSPGroupID.ToString() + ",'" + oSub.HBatchNo + "'" +
-                      ",'" + oSub.HNewModel + "','" + oSub.HLastProdModel + "','" + oSub.HWallThickness + "','" + oSub.HHardness + "','" + oSub.HDiameter + "'," + oSub.HQtyRel.ToString() +
-                      "," + oSub.HMouldType.ToString() + ",'" + oSub.HInitModel + "'," + oSub.HInitDesignLife.ToString() + "," + oSub.HLifeUnitID.ToString() +
-                        ") ");
+                      + omodel.HInterID.ToString() + "," + oSub.HEntryID.ToString() + ",'" + oSub.HRemark + "'," + oSub.HRelationQty.ToString() + "," + oSub.HRelationMoney.ToString() +
+                      "," + oSub.HSourceInterID.ToString() + "," + oSub.HSourceEntryID.ToString() + ",'" + oSub.HSourceBillNo + "','" + oSub.HSourceBillType + "'" +
+                      "," + oSub.HMaterID.ToString() + "," + oSub.HPropertyID.ToString() + "," + oSub.HSecUnitID.ToString() + "," + oSub.HSecUnitRate.ToString() + "," + oSub.HUnitID.ToString() + ",'" + oSub.HBatchNo + "'" +
+                      "," + oSub.HQtyMust.ToString() + "," + oSub.HQtyRel.ToString() + "," + oSub.HQty.ToString() + "," + oSub.HPrice.ToString() + "," + oSub.HMoney.ToString() + "," + oSub.HDesignLife.ToString() +
+                      "," + oSub.HLeaveLife.ToString() + "," + oSub.HUseLife.ToString() + "," + oSub.HUseLifeQty.ToString() + "," + oSub.HNewLifeQty.ToString() + "," + oSub.HWHID.ToString() + "," + oSub.HSCWHID.ToString() +
+                      "," + oSub.HSPID.ToString() + "," + oSub.HSCSPID.ToString() + "," + oSub.HSPGroupID.ToString() + ",'" + oSub.HBarCode + "'," + oSub.HCorrespondentTypeID.ToString() + "," + oSub.HCorrespondentID.ToString() +
+                      "," + oSub.HPOOrderInterID.ToString() + "," + oSub.HPOOrderEntryID.ToString() + ",'" + oSub.HPOOrderBillNo + "'," + oSub.HSeOrderInterID.ToString() + "," + oSub.HSeOrderEntryID.ToString() + ",'" + oSub.HSeOrderBillNo + "'" +
+                      "," + oSub.HStockOrgID.ToString() + "," + oSub.HOWNERID.ToString() + "," + oSub.HOtherOrgID.ToString() + ",'" + oSub.HOWNERTYPEID + "'" +
+                      ",'" + oSub.HNowModel + "'," + oSub.HNowLife.ToString() + ",'" + oSub.HNewModel + "','" + oSub.HLastProdModel + "','" + oSub.HWallThickness + "','" + oSub.HHardness + "'" +
+                      ",'" + oSub.HDiameter + "'," + oSub.HMouldType.ToString() + ",'" + oSub.HInitModel + "'," + oSub.HInitDesignLife.ToString() + "," + oSub.HLifeUnitID.ToString() +
+                      ") ");
+
                     oCn.RunProc("exec h_p_Sc_MouldFileChangeStatus " + oSub.HMaterID.ToString() + ",'" + oSub.HNowModel.ToString() + "'," + oSub.HNowLife.ToString() + ",'鏀瑰埗涓�'");
                 }
-                //
-                //oCn.RunProcReturn("exec h_p_Sc_MouldFileChangeStatus " + omodel.HInterID.ToString() + ",'鏀瑰埗涓�'", "gy_czygl");
-                //foreach (Model.ClsSc_MouldStockBillSub oSub in DetailColl)
-                //{
-                //    Ds = oCn.RunProcReturn("exec h_p_Sc_MouldRepairOutBill_Qty " + oSub.HICMOInterID, "");
-                //    if (Ds.Tables[0].Rows.Count == 0)
-                //        return;
-                //    if (DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HBool"]) == "Y")
-                //    {
-                //        sReturn = "姹囨姤鏁伴噺瓒呰繃璁″垝鏁伴噺锛佷笉鍏佽淇濆瓨";
-                //        return false;
-                //    }
-                //}
                 DataSet Ds;
                 foreach (Model.ClsSc_MouldStockBillSub oSub in DetailColl)
                 {
@@ -119,7 +172,13 @@
                         return false;
                     }
                 }
-                sReturn = "淇敼鍗曟嵁鎴愬姛锛�";
+                //淇濆瓨鍚庢帶鍒�
+                if (!AfterSave(lngBillKey, omodel.HBillNo, 2, ref sReturn))
+                {
+                    oCn.RollBack();
+                    return false;
+                }
+                sReturn = "鍗曟嵁鍙凤細" + omodel.HBillNo + " 淇敼鎴愬姛锛�";
                 oCn.Commit();
                 return true;
             }
@@ -135,79 +194,108 @@
         {
             try
             {
+                //鑾峰彇绯荤粺鍙傛暟
+                Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();
+                if (oSystemParameter.ShowBillByOrgID(omodel.HSTOCKORGID, ref sReturn) == false)
+                {
+                    sReturn = "鑾峰彇绯荤粺鍙傛暟澶辫触锛� " + sReturn;
+                    return false;
+                }
                 //寰楀埌mainid
-                omodel.HInterID = DBUtility.ClsPub.CreateBillID(BillType, ref DBUtility.ClsPub.sExeReturnInfo);
-                //鑻AINDI閲嶅鍒欓噸鏂拌幏鍙�
+                if (omodel.HInterID == 0)
+                {
+                    omodel.HInterID = DBUtility.ClsPub.CreateBillID_Prod(BillType, ref DBUtility.ClsPub.sExeReturnInfo);
+                }
+                //淇濆瓨鍓嶆帶鍒�
+                if (!BeforeSave(omodel.HInterID, omodel.HBillNo, omodel.HSecManagerID, omodel.HKeeperID, omodel.HSupID, 1, ref sReturn))
+                {
+                    return false;
+                }
+
                 oCn.BeginTran();
                 //涓昏〃
                 oCn.RunProc("Insert Into Sc_MouldStockBillMain   " +
-              "(HBillType,HBillSubType,HInterID,HBillNo,HDate" +
-              ",HYear,HPeriod,HRemark,HMaker,HMakeDate" +
-              ",HSupID,HWHID,HSCWHID,HEmpID,HManagerID,HSecManagerID" +
-              ",HKeeperID,HDeptID,HExplanation,HInnerBillNo,HRedBlueFlag" +
-              "" +
-              ") " +
-              " values('" + this.BillType + "','" + this.HBillSubType + "'," + omodel.HInterID.ToString() + ",'" + omodel.HBillNo + "','" + omodel.HDate + "'" +
-              ", " + omodel.HYear.ToString() + "," + omodel.HPeriod.ToString() + ",'" + omodel.HRemark + "','" + DBUtility.ClsPub.CurUserName + "',getdate()" +
-              ", " + omodel.HSupID.ToString() + "," + omodel.HWHID.ToString() + "," + omodel.HSCWHID.ToString() + "," + omodel.HEmpID.ToString() + "," + omodel.HManagerID.ToString() + "," + omodel.HSecManagerID.ToString() +
-              ", " + omodel.HKeeperID.ToString() + "," + omodel.HDeptID.ToString() + ",'" + omodel.HExplanation + "','" + omodel.HInnerBillNo + "'," + DBUtility.ClsPub.BoolToString(omodel.HRedBlueFlag) +
-              ") ");
+                "(HBillType,HBillSubType,HInterID,HBillNo,HDate" +
+                ",HYear,HPeriod,HRemark,HMaker,HMakeDate" +
+                ",HSupID,HSupTypeID,HEmpID,HManagerID,HSecManagerID" +
+                ",HKeeperID,HDeptID,HWHID,HSCWHID,HRedBlueFlag" +
+                ",HExplanation,HInnerBillNo,HStockOrgID" +
+                ") " +
+                " values('" + this.BillType + "','" + this.HBillSubType + "'," + omodel.HInterID.ToString() + ",'" + omodel.HBillNo + "','" + omodel.HDate.ToShortDateString() + "'" +
+                ", " + omodel.HYear.ToString() + "," + omodel.HPeriod.ToString() + ",'" + omodel.HRemark + "','" + DBUtility.ClsPub.CurUserName + "',getdate()" +
+                ", " + omodel.HSupID.ToString() + "," + omodel.HSupTypeID.ToString() + "," + omodel.HEmpID.ToString() + "," + omodel.HManagerID.ToString() + "," + omodel.HSecManagerID.ToString() +
+                ", " + omodel.HKeeperID.ToString() + "," + omodel.HDeptID.ToString() + "," + omodel.HWHID.ToString() + "," + omodel.HSCWHID.ToString() + "," + DBUtility.ClsPub.BoolToString(omodel.HRedBlueFlag) +
+                ",'" + omodel.HExplanation + "','" + omodel.HInnerBillNo + "'," + omodel.HSTOCKORGID.ToString() +
+                ") ");
                 //鎻掑叆瀛愯〃
                 foreach (Model.ClsSc_MouldStockBillSub oSub in DetailColl)
                 {
                     oCn.RunProc("Insert into Sc_MouldStockBillSub " +
-                     " (HInterID,HEntryID,HCloseMan,HEntryCloseDate,HCloseType,HRemark" +
-                     ",HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HRelationQty,HRelationMoney" +
-                     ",HMaterID,HPropertyID,HSecUnitID,HSecUnitRate,HUnitID,HQtyMust" +
-                     ",HQty,HPrice,HMoney,HWHID,HSCWHID,HSPID" +
-                     ",HDesignLife,HLeaveLife,HUseLife,HNewLifeQty" +
-                     ",HSCSPID,HSPGroupID,HBatchNo,HBackFlag,HNowModel,HNowLife" +
-                     ",HNewModel,HLastProdModel,HWallThickness,HHardness,HDiameter,HQtyRel" +
-                        ",HMouldType,HInitModel,HInitDesignLife,HLifeUnitID" +
-                     ") values("
-                     + omodel.HInterID.ToString() + "," + oSub.HEntryID.ToString() + ",'" + oSub.HCloseMan + "','" + oSub.HEntryCloseDate.ToShortDateString() + "'," + Convert.ToString(oSub.HCloseType ? 1 : 0) + ",'" + oSub.HRemark + "'" +
-                     "," + oSub.HSourceInterID.ToString() + "," + oSub.HSourceEntryID.ToString() + ",'" + oSub.HSourceBillNo + "','" + oSub.HSourceBillType + "'," + oSub.HRelationQty.ToString() + "," + oSub.HRelationMoney.ToString() +
-                     "," + oSub.HMaterID.ToString() + "," + oSub.HPropertyID.ToString() + "," + oSub.HSecUnitID.ToString() + "," + oSub.HSecUnitRate.ToString() + "," + oSub.HUnitID.ToString() + "," + oSub.HQtyMust.ToString() +
-                     "," + oSub.HQty.ToString() + "," + oSub.HPrice.ToString() + "," + oSub.HMoney.ToString() + "," + oSub.HWHID.ToString() + "," + oSub.HSCWHID.ToString() + "," + oSub.HSPID.ToString() +
-                     "," + oSub.HDesignLife.ToString() + "," + oSub.HLeaveLife.ToString() + "," + oSub.HUseLife.ToString() + "," + oSub.HNewLifeQty.ToString() +
-                     "," + oSub.HSCSPID.ToString() + "," + oSub.HSPGroupID.ToString() + ",'" + oSub.HBatchNo + "','" + oSub.HBackFlag + "','" + oSub.HNowModel + "'," + oSub.HNowLife.ToString() +
-                     ",'" + oSub.HNewModel + "','" + oSub.HLastProdModel + "','" + oSub.HWallThickness + "','" + oSub.HHardness + "','" + oSub.HDiameter + "'," + oSub.HQtyRel.ToString() +
-                        "," + oSub.HMouldType.ToString() + ",'" + oSub.HInitModel + "'," + oSub.HInitDesignLife.ToString() + "," + oSub.HLifeUnitID.ToString() +
-                     ") ");
+                      " (HInterID,HEntryID,HRemark,HRelationQty,HRelationMoney" +
+                      ",HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType" +
+                      ",HMaterID,HPropertyID,HSecUnitID,HSecUnitRate,HUnitID,HBatchNo" +
+                      ",HQtyMust,HQtyRel,HQty,HPrice,HMoney,HDesignLife" +
+                      ",HLeaveLife,HUseLife,HUseLifeQty,HNewLifeQty,HWHID,HSCWHID" +
+                      ",HSPID,HSCSPID,HSPGroupID,HBarCode,HCorrespondentTypeID,HCorrespondentID" +
+                      ",HPOOrderInterID,HPOOrderEntryID,HPOOrderBillNo,HSeOrderInterID,HSeOrderEntryID,HSeOrderBillNo" +
+                      ",HStockOrgID,HOWNERID,HOtherOrgID,HOWNERTYPEID" +
+                      ",HNowModel,HNowLife,HNewModel,HLastProdModel,HWallThickness,HHardness" +
+                      ",HDiameter,HMouldType,HInitModel,HInitDesignLife,HLifeUnitID" +
+                      ") values("
+                      + omodel.HInterID.ToString() + "," + oSub.HEntryID.ToString() + ",'" + oSub.HRemark + "'," + oSub.HRelationQty.ToString() + "," + oSub.HRelationMoney.ToString() +
+                      "," + oSub.HSourceInterID.ToString() + "," + oSub.HSourceEntryID.ToString() + ",'" + oSub.HSourceBillNo + "','" + oSub.HSourceBillType + "'" +
+                      "," + oSub.HMaterID.ToString() + "," + oSub.HPropertyID.ToString() + "," + oSub.HSecUnitID.ToString() + "," + oSub.HSecUnitRate.ToString() + "," + oSub.HUnitID.ToString() + ",'" + oSub.HBatchNo + "'" +
+                      "," + oSub.HQtyMust.ToString() + "," + oSub.HQtyRel.ToString() + "," + oSub.HQty.ToString() + "," + oSub.HPrice.ToString() + "," + oSub.HMoney.ToString() + "," + oSub.HDesignLife.ToString() +
+                      "," + oSub.HLeaveLife.ToString() + "," + oSub.HUseLife.ToString() + "," + oSub.HUseLifeQty.ToString() + "," + oSub.HNewLifeQty.ToString() + "," + oSub.HWHID.ToString() + "," + oSub.HSCWHID.ToString() +
+                      "," + oSub.HSPID.ToString() + "," + oSub.HSCSPID.ToString() + "," + oSub.HSPGroupID.ToString() + ",'" + oSub.HBarCode + "'," + oSub.HCorrespondentTypeID.ToString() + "," + oSub.HCorrespondentID.ToString() +
+                      "," + oSub.HPOOrderInterID.ToString() + "," + oSub.HPOOrderEntryID.ToString() + ",'" + oSub.HPOOrderBillNo + "'," + oSub.HSeOrderInterID.ToString() + "," + oSub.HSeOrderEntryID.ToString() + ",'" + oSub.HSeOrderBillNo + "'" +
+                      "," + oSub.HStockOrgID.ToString() + "," + oSub.HOWNERID.ToString() + "," + oSub.HOtherOrgID.ToString() + ",'" + oSub.HOWNERTYPEID + "'" +
+                      ",'" + oSub.HNowModel + "'," + oSub.HNowLife.ToString() + ",'" + oSub.HNewModel + "','" + oSub.HLastProdModel + "','" + oSub.HWallThickness + "','" + oSub.HHardness + "'" +
+                      ",'" + oSub.HDiameter + "'," + oSub.HMouldType.ToString() + ",'" + oSub.HInitModel + "'," + oSub.HInitDesignLife.ToString() + "," + oSub.HLifeUnitID.ToString() +
+                      ") ");
 
-
-                    oCn.RunProc("exec h_p_Sc_MouldFileChangeStatus " + oSub.HMaterID.ToString() + ",'" + oSub.HNowModel.ToString() + "'," + oSub.HNowLife.ToString() + ",'鏀瑰埗涓�'");
+                    if (oSub.HBarCode == "")
+                    {
+                        oCn.RunProc("exec h_p_Sc_MouldFileChangeStatus " + oSub.HMaterID.ToString() + ",'" + oSub.HNowModel + "'," + oSub.HNowLife.ToString() + ",'鏀瑰埗涓�'");
+                    }
                 }
 
-                //foreach (Model.ClsSc_MouldStockBillSub oSub in DetailColl)
-                //{
-                //    Ds = oCn.RunProcReturn("exec h_p_Sc_MouldRepairOutBill_Qty " + oSub.HICMOInterID, "");
-                //    if (Ds.Tables[0].Rows.Count == 0)
-                //        return;
-                //    if (DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HBool"]) == "Y")
-                //    {
-                //        sReturn = "姹囨姤鏁伴噺瓒呰繃璁″垝鏁伴噺锛佷笉鍏佽淇濆瓨";
-                //        return false;
-                //    }
-                //}
-                //
                 DataSet Ds;
                 foreach (Model.ClsSc_MouldStockBillSub oSub in DetailColl)
                 {
-                    Ds = oCn.RunProcReturn("exec h_p_Kf_ICStockBill_CheckKF " + omodel.HInterID + "," + oSub.HMaterID + "," + oSub.HWHID + "," + oSub.HSPID + ", 1", "gy_czygl");
-                    if (Ds.Tables[0].Rows.Count == 0)
+                    if (oSub.HBarCode == "")
                     {
-                        oCn.RollBack();
-                        return false;
-                    }
-                    if (DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0][0]) == "N")
-                    {
-                        sReturn = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0][1]) + ", 涓嶅厑璁镐繚瀛橈紒";
-                        oCn.RollBack();
-                        return false;
+                        Ds = oCn.RunProcReturn("exec h_p_Kf_ICStockBill_CheckKF " + omodel.HInterID.ToString() + "," + oSub.HMaterID.ToString() + "," + oSub.HWHID.ToString() + "," + oSub.HSPID.ToString() + ", 1", "h_p_Kf_ICStockBill_CheckKF");
+                        if (Ds.Tables[0].Rows.Count == 0)
+                        {
+                            oCn.RollBack();
+                            return false;
+                        }
+                        if (DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0][0]) == "N")
+                        {
+                            sReturn = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0][1]) + ", 涓嶅厑璁镐繚瀛橈紒";
+                            oCn.RollBack();
+                            return false;
+                        }
                     }
                 }
-                sReturn = "鏂板鍗曟嵁鎴愬姛锛�";
+                //淇濆瓨鍚庢帶鍒�
+                if (!AfterSave(omodel.HInterID, omodel.HBillNo, 1, ref sReturn))
+                {
+                    oCn.RollBack();
+                    return false;
+                }
+
+                if (oSystemParameter.omodel.Sc_MouldRepairOutBill_AutoCheck.ToUpper() == "Y") //绯荤粺鍙傛暟  鑷姩瀹℃牳 
+                {
+                    //瀹℃牳鍗曟嵁
+                    oCn.RunProc("Update Sc_MouldStockBillMain Set HChecker='" + DBUtility.ClsPub.CurUserName + "',HCheckDate=getdate(),HBillStatus=2 where HInterID= " + omodel.HInterID.ToString());
+                    sReturn = "鍗曟嵁鍙凤細" + omodel.HBillNo + " 鏂板瀹℃牳鎴愬姛锛�";
+                }
+                else
+                {
+                    sReturn = "鍗曟嵁鍙凤細" + omodel.HBillNo + " 鏂板鎴愬姛锛�";
+                }
                 oCn.Commit();
                 return true;
             }
diff --git "a/DAL/\347\224\237\344\272\247\347\256\241\347\220\206/\346\250\241\345\205\267\347\256\241\347\220\206/ClsSc_MouldScrapInBill.cs" "b/DAL/\347\224\237\344\272\247\347\256\241\347\220\206/\346\250\241\345\205\267\347\256\241\347\220\206/ClsSc_MouldScrapInBill.cs"
index 82486b7..7598dec 100644
--- "a/DAL/\347\224\237\344\272\247\347\256\241\347\220\206/\346\250\241\345\205\267\347\256\241\347\220\206/ClsSc_MouldScrapInBill.cs"
+++ "b/DAL/\347\224\237\344\272\247\347\256\241\347\220\206/\346\250\241\345\205\267\347\256\241\347\220\206/ClsSc_MouldScrapInBill.cs"
@@ -29,8 +29,63 @@
         {
             DetailColl = null;
         }
-       
+
         #endregion   鑷畾涔夋柟娉�
+
+        //淇濆瓨鍓嶆帶鍒�
+        public bool BeforeSave(Int64 HInterID, string HBillNo, Int64 HSecManagerID, Int64 HKeeperID, Int64 HSupID, Int64 OperationType, ref string sReturn)
+        {
+            try
+            {
+                DataSet Ds = oCn.RunProcReturn("Exec h_p_Sc_MouldScrapInBill_BeforeSaveCtrl " + HInterID.ToString() + ",'" + HBillNo + "'," + HSecManagerID.ToString() + "," + HKeeperID.ToString() + "," + HSupID.ToString() + "," + OperationType.ToString(), "h_p_Sc_MouldScrapInBill_BeforeSaveCtrl");
+                if (Ds == null || Ds.Tables[0].Rows.Count == 0)
+                {
+                    sReturn = "淇濆瓨鍓嶅垽鏂け璐ワ紒";
+                    return false;
+                }
+                else
+                {
+                    if (DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HBack"]) == 1)
+                    {
+                        sReturn = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HRemark"]);
+                        return false;
+                    }
+                }
+                return true;
+            }
+            catch (Exception e)
+            {
+                throw (e);
+            }
+        }
+
+        //淇濆瓨鍚庢帶鍒�
+        public bool AfterSave(Int64 HInterID, string HBillNo, Int64 OperationType, ref string sReturn)
+        {
+            try
+            {
+                DataSet Ds = oCn.RunProcReturn("Exec h_p_Sc_MouldScrapInBill_AfterSaveCtrl " + HInterID.ToString() + ",'" + HBillNo + "'," + OperationType.ToString(), "h_p_Sc_MouldScrapInBill_AfterSaveCtrl");
+                if (Ds == null || Ds.Tables[0].Rows.Count == 0)
+                {
+                    sReturn = "淇濆瓨鍚庡垽鏂け璐ワ紒";
+                    return false;
+                }
+                else
+                {
+                    if (DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HBack"]) == 1)
+                    {
+                        sReturn = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HRemark"]);
+                        return false;
+                    }
+                }
+                return true;
+            }
+            catch (Exception e)
+            {
+                throw (e);
+            }
+        }
+
         //淇敼鍗曟嵁
         public override bool ModifyBill(Int64 lngBillKey, ref string sReturn)
         {
@@ -38,6 +93,12 @@
             {
                 //
                 oCn.BeginTran();
+                //淇濆瓨鍓嶆帶鍒�
+                if (!BeforeSave(lngBillKey, omodel.HBillNo, omodel.HSecManagerID, omodel.HKeeperID, omodel.HSupID, 2, ref sReturn))
+                {
+                    oCn.RollBack();
+                    return false;
+                }
                 //鏇存柊涓昏〃
                 oCn.RunProc("UpDate Sc_MouldStockBillMain set  " +
                 " HBillNo='" + omodel.HBillNo + "'" +  //鍥哄畾璧嬪��===============
@@ -49,17 +110,17 @@
                 ",HUpDateDate=getdate()" +
                 //========================================
                 ",HSupID=" + omodel.HSupID.ToString() +
-                ",HWHID=" + omodel.HWHID.ToString() +
-                ",HSCWHID=" + omodel.HSCWHID.ToString() +
                 ",HEmpID=" + omodel.HEmpID.ToString() +
                 ",HManagerID=" + omodel.HManagerID.ToString() +
                 ",HSecManagerID=" + omodel.HSecManagerID.ToString() +
                 ",HKeeperID=" + omodel.HKeeperID.ToString() +
                 ",HDeptID=" + omodel.HDeptID.ToString() +
-                ",HExplanation='" + omodel.HExplanation + "'" + 
-                ",HInnerBillNo='" + omodel.HInnerBillNo + "'" +               
+                ",HWHID=" + omodel.HWHID.ToString() +
+                ",HSCWHID=" + omodel.HSCWHID.ToString() +
+                ",HExplanation='" + omodel.HExplanation + "'" +
+                ",HInnerBillNo='" + omodel.HInnerBillNo + "'" +
                 ",HRedBlueFlag=" + DBUtility.ClsPub.BoolToString(omodel.HRedBlueFlag) +
-
+                ",HStockOrgID=" + omodel.HSTOCKORGID.ToString() +
                 " where HInterID=" + lngBillKey.ToString());
                 //鍒犻櫎鍏宠仈
                 DeleteRelation(ref sReturn, lngBillKey);
@@ -70,52 +131,25 @@
                 foreach (Model.ClsSc_MouldStockBillSub oSub in DetailColl)
                 {
                     oCn.RunProc("Insert into Sc_MouldStockBillSub " +
-                        " (HInterID,HEntryID,HCloseMan,HEntryCloseDate,HCloseType,HRemark" +
-                        ",HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HRelationQty,HRelationMoney" +
-                        ",HMaterID,HPropertyID,HSecUnitID,HSecUnitRate,HUnitID,HQtyMust" +
-                        ",HQty,HPrice,HMoney,HWHID,HSCWHID,HSPID" +
-                        ",HDesignLife,HLeaveLife,HUseLife" +
-                        ",HSCSPID,HSPGroupID,HBatchNo" +
-                        //",HPOOrderInterID,HPOOrderEntryID,HPOOrderBillNo" +
-                        //",HSeOrderInterID,HSeOrderEntryID,HSeOrderBillNo" +
-                        //",HNewModel,HWallThickness,HHardness,HLastProdModel,HDiameter,HBackFlag" +
-                        //",HQtyRel,HNewLifeQty,HNowModel,HNowLife" +
-                        //",HMouldType,HInitModel,HInitDesignLife,HLifeUnitID" +
-                        ") values("
-                        + omodel.HInterID.ToString() + "," + oSub.HEntryID.ToString() + ",'" + oSub.HCloseMan + "','" + oSub.HEntryCloseDate.ToShortDateString() + "'," + Convert.ToString(oSub.HCloseType ? 1 : 0) + ",'" + oSub.HRemark + "'" +
-                        "," + oSub.HSourceInterID.ToString() + "," + oSub.HSourceEntryID.ToString() + ",'" + oSub.HSourceBillNo + "','" + oSub.HSourceBillType + "'," + oSub.HRelationQty.ToString() + "," + oSub.HRelationMoney.ToString() +
-                        "," + oSub.HMaterID.ToString() + "," + oSub.HPropertyID.ToString() + "," + oSub.HSecUnitID.ToString() + "," + oSub.HSecUnitRate.ToString() + "," + oSub.HUnitID.ToString() + "," + oSub.HQtyMust.ToString() +
-                        "," + oSub.HQty.ToString() + "," + oSub.HPrice.ToString() + "," + oSub.HMoney.ToString() + "," + oSub.HWHID.ToString() + "," + oSub.HSCWHID.ToString() + "," + oSub.HSPID.ToString() +
-                        "," + oSub.HDesignLife.ToString() + "," + oSub.HLeaveLife.ToString() + "," + oSub.HUseLife.ToString() + 
-                        "," + oSub.HSCSPID.ToString() + "," + oSub.HSPGroupID.ToString() + ",'" + oSub.HBatchNo + "'" +
-                        //"," + oSub.HPOOrderInterID.ToString() + "," + oSub.HPOOrderEntryID.ToString() + ",'" + oSub.HPOOrderBillNo + "'" +
-                        //"," + oSub.HSeOrderInterID.ToString() + "," + oSub.HSeOrderEntryID.ToString() + ",'" + oSub.HSeOrderBillNo + "'" +
-                        //",'" + oSub.HNewModel + "','" + oSub.HWallThickness + "','" + oSub.HHardness + "','" + oSub.HLastProdModel + "','" + oSub.HDiameter + "','" + oSub.HBackFlag + "'" +
-                        //"," + 0 + "," + oSub.HNewLifeQty.ToString() + ",'" + oSub.HNowModel + "'," + oSub.HNowLife.ToString() +
-                        //"," + oSub.HMouldType.ToString() + ",'" + oSub.HInitModel + "'," + oSub.HInitDesignLife.ToString() + "," + oSub.HLifeUnitID.ToString() +
-                        ") ");
-                    //if (oSub.HBackFlag == "鎶ュ簾鍏ュ簱")
-                    //{
-                    //    oCn.RunProc("exec h_p_Sc_MouldFileChangeStatus " + oSub.HMaterID.ToString() + ",'" + oSub.HNewModel.ToString() + "'," + oSub.HNewLifeQty.ToString() + ",'鎶ュ簾'");
-                    //}
-                    //else
-                    //{
-                    //    oCn.RunProc("exec h_p_Sc_MouldFileChangeStatus " + oSub.HMaterID.ToString() + ",'" + oSub.HNewModel.ToString() + "'," + oSub.HNewLifeQty.ToString() + ",'鍦ㄥ簱'");
-                    //}
+                      " (HInterID,HEntryID,HRemark,HRelationQty,HRelationMoney" +
+                      ",HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType" +
+                      ",HMaterID,HPropertyID,HSecUnitID,HSecUnitRate,HUnitID,HBatchNo" +
+                      ",HQtyMust,HQtyRel,HQty,HPrice,HMoney,HDesignLife" +
+                      ",HLeaveLife,HUseLife,HUseLifeQty,HNewLifeQty,HWHID,HSCWHID" +
+                      ",HSPID,HSCSPID,HSPGroupID,HBarCode,HCorrespondentTypeID,HCorrespondentID" +
+                      ",HPOOrderInterID,HPOOrderEntryID,HPOOrderBillNo,HSeOrderInterID,HSeOrderEntryID,HSeOrderBillNo" +
+                      ",HStockOrgID,HOWNERID,HOtherOrgID,HOWNERTYPEID" +
+                      ") values("
+                      + omodel.HInterID.ToString() + "," + oSub.HEntryID.ToString() + ",'" + oSub.HRemark + "'," + oSub.HRelationQty.ToString() + "," + oSub.HRelationMoney.ToString() +
+                      "," + oSub.HSourceInterID.ToString() + "," + oSub.HSourceEntryID.ToString() + ",'" + oSub.HSourceBillNo + "','" + oSub.HSourceBillType + "'" +
+                      "," + oSub.HMaterID.ToString() + "," + oSub.HPropertyID.ToString() + "," + oSub.HSecUnitID.ToString() + "," + oSub.HSecUnitRate.ToString() + "," + oSub.HUnitID.ToString() + ",'" + oSub.HBatchNo + "'" +
+                      "," + oSub.HQtyMust.ToString() + "," + oSub.HQtyRel.ToString() + "," + oSub.HQty.ToString() + "," + oSub.HPrice.ToString() + "," + oSub.HMoney.ToString() + "," + oSub.HDesignLife.ToString() +
+                      "," + oSub.HLeaveLife.ToString() + "," + oSub.HUseLife.ToString() + "," + oSub.HUseLifeQty.ToString() + "," + oSub.HNewLifeQty.ToString() + "," + oSub.HWHID.ToString() + "," + oSub.HSCWHID.ToString() +
+                      "," + oSub.HSPID.ToString() + "," + oSub.HSCSPID.ToString() + "," + oSub.HSPGroupID.ToString() + ",'" + oSub.HBarCode + "'," + oSub.HCorrespondentTypeID.ToString() + "," + oSub.HCorrespondentID.ToString() +
+                      "," + oSub.HPOOrderInterID.ToString() + "," + oSub.HPOOrderEntryID.ToString() + ",'" + oSub.HPOOrderBillNo + "'," + oSub.HSeOrderInterID.ToString() + "," + oSub.HSeOrderEntryID.ToString() + ",'" + oSub.HSeOrderBillNo + "'" +
+                      "," + oSub.HStockOrgID.ToString() + "," + oSub.HOWNERID.ToString() + "," + oSub.HOtherOrgID.ToString() + ",'" + oSub.HOWNERTYPEID + "'" +
+                      ") ");
                 }
-                //
-                //oCn.RunProcReturn("exec h_p_Sc_MouldFileChangeStatus " + omodel.HInterID.ToString() + ",'鍦ㄥ簱'", "gy_czygl");
-                //foreach (Model.ClsSc_MouldScrapInBillSub oSub in DetailColl)
-                //{
-                //    Ds = oCn.RunProcReturn("exec h_p_Sc_MouldScrapInBill_Qty " + oSub.HICMOInterID, "");
-                //    if (Ds.Tables[0].Rows.Count == 0)
-                //        return;
-                //    if (DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HBool"]) == "Y")
-                //    {
-                //        sReturn = "姹囨姤鏁伴噺瓒呰繃璁″垝鏁伴噺锛佷笉鍏佽淇濆瓨";
-                //        return false;
-                //    }
-                //}
                 DataSet Ds;
                 foreach (Model.ClsSc_MouldStockBillSub oSub in DetailColl)
                 {
@@ -132,7 +166,13 @@
                         return false;
                     }
                 }
-                sReturn = "淇敼鍗曟嵁鎴愬姛锛�";
+                //淇濆瓨鍚庢帶鍒�
+                if (!AfterSave(lngBillKey, omodel.HBillNo, 2, ref sReturn))
+                {
+                    oCn.RollBack();
+                    return false;
+                }
+                sReturn = "鍗曟嵁鍙凤細" + omodel.HBillNo + " 淇敼鎴愬姛锛�";
                 oCn.Commit();
                 return true;
             }
@@ -148,92 +188,99 @@
         {
             try
             {
+                //鑾峰彇绯荤粺鍙傛暟
+                Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();
+                if (oSystemParameter.ShowBillByOrgID(omodel.HSTOCKORGID, ref sReturn) == false)
+                {
+                    sReturn = "鑾峰彇绯荤粺鍙傛暟澶辫触锛� " + sReturn;
+                    return false;
+                }
                 //寰楀埌mainid
-                omodel.HInterID = DBUtility.ClsPub.CreateBillID(BillType, ref DBUtility.ClsPub.sExeReturnInfo);
-                //鑻AINDI閲嶅鍒欓噸鏂拌幏鍙�
+                if (omodel.HInterID == 0)
+                {
+                    omodel.HInterID = DBUtility.ClsPub.CreateBillID_Prod(BillType, ref DBUtility.ClsPub.sExeReturnInfo);
+                }
+                //淇濆瓨鍓嶆帶鍒�
+                if (!BeforeSave(omodel.HInterID, omodel.HBillNo, omodel.HSecManagerID, omodel.HKeeperID, omodel.HSupID, 1, ref sReturn))
+                {
+                    return false;
+                }
+
                 oCn.BeginTran();
                 //涓昏〃
                 oCn.RunProc("Insert Into Sc_MouldStockBillMain   " +
                 "(HBillType,HBillSubType,HInterID,HBillNo,HDate" +
                 ",HYear,HPeriod,HRemark,HMaker,HMakeDate" +
-                ",HSupID,HWHID,HSCWHID,HEmpID,HManagerID,HSecManagerID" +
-                ",HKeeperID,HDeptID,HExplanation,HInnerBillNo,HRedBlueFlag" +
+                ",HSupID,HSupTypeID,HEmpID,HManagerID,HSecManagerID" +
+                ",HKeeperID,HDeptID,HWHID,HSCWHID,HRedBlueFlag" +
+                ",HExplanation,HInnerBillNo,HStockOrgID" +
                 ") " +
-                " values('" + this.BillType + "','"  + this.HBillSubType + "'," +omodel.HInterID.ToString() + ",'" + omodel.HBillNo + "','" + omodel.HDate + "'" +
+                " values('" + this.BillType + "','" + this.HBillSubType + "'," + omodel.HInterID.ToString() + ",'" + omodel.HBillNo + "','" + omodel.HDate.ToShortDateString() + "'" +
                 ", " + omodel.HYear.ToString() + "," + omodel.HPeriod.ToString() + ",'" + omodel.HRemark + "','" + DBUtility.ClsPub.CurUserName + "',getdate()" +
-                ", " + omodel.HSupID.ToString() + "," + omodel.HWHID.ToString() + "," + omodel.HSCWHID.ToString() + "," + omodel.HEmpID.ToString() + "," + omodel.HManagerID.ToString() + "," + omodel.HSecManagerID.ToString() +
-                ", " + omodel.HKeeperID.ToString() + "," + omodel.HDeptID.ToString() + ",'" + omodel.HExplanation + "','" + omodel.HInnerBillNo + "'," + DBUtility.ClsPub.BoolToString(omodel.HRedBlueFlag) +
-          
+                ", " + omodel.HSupID.ToString() + "," + omodel.HSupTypeID.ToString() + "," + omodel.HEmpID.ToString() + "," + omodel.HManagerID.ToString() + "," + omodel.HSecManagerID.ToString() +
+                ", " + omodel.HKeeperID.ToString() + "," + omodel.HDeptID.ToString() + "," + omodel.HWHID.ToString() + "," + omodel.HSCWHID.ToString() + "," + DBUtility.ClsPub.BoolToString(omodel.HRedBlueFlag) +
+                ",'" + omodel.HExplanation + "','" + omodel.HInnerBillNo + "'," + omodel.HSTOCKORGID.ToString() +
                 ") ");
                 //鎻掑叆瀛愯〃
                 foreach (Model.ClsSc_MouldStockBillSub oSub in DetailColl)
                 {
-
                     oCn.RunProc("Insert into Sc_MouldStockBillSub " +
-                          " (HInterID,HEntryID,HCloseMan,HEntryCloseDate,HCloseType,HRemark" +
-                          ",HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HRelationQty,HRelationMoney" +
-                          ",HMaterID,HPropertyID,HSecUnitID,HSecUnitRate,HUnitID,HQtyMust" +
-                          ",HQty,HPrice,HMoney,HWHID,HSCWHID,HSPID" +
-                          ",HDesignLife,HLeaveLife,HUseLife" +
-                          ",HSCSPID,HSPGroupID,HBatchNo" +
-                        //",HPOOrderInterID,HPOOrderEntryID,HPOOrderBillNo" +
-                        //",HSeOrderInterID,HSeOrderEntryID,HSeOrderBillNo" +
-                        //",HNewModel,HWallThickness,HHardness,HLastProdModel,HDiameter,HBackFlag" +
-                        //",HQtyRel,HNewLifeQty,HNowModel,HNowLife" +
-                        //",HMouldType,HInitModel,HInitDesignLife,HLifeUnitID" +
-                          ") values("
-                          + omodel.HInterID.ToString() + "," + oSub.HEntryID.ToString() + ",'" + oSub.HCloseMan + "','" + oSub.HEntryCloseDate.ToShortDateString() + "'," + Convert.ToString(oSub.HCloseType ? 1 : 0) + ",'" + oSub.HRemark + "'" +
-                          "," + oSub.HSourceInterID.ToString() + "," + oSub.HSourceEntryID.ToString() + ",'" + oSub.HSourceBillNo + "','" + oSub.HSourceBillType + "'," + oSub.HRelationQty.ToString() + "," + oSub.HRelationMoney.ToString() +
-                          "," + oSub.HMaterID.ToString() + "," + oSub.HPropertyID.ToString() + "," + oSub.HSecUnitID.ToString() + "," + oSub.HSecUnitRate.ToString() + "," + oSub.HUnitID.ToString() + "," + oSub.HQtyMust.ToString() +
-                          "," + oSub.HQty.ToString() + "," + oSub.HPrice.ToString() + "," + oSub.HMoney.ToString() + "," + oSub.HWHID.ToString() + "," + oSub.HSCWHID.ToString() + "," + oSub.HSPID.ToString() +
-                          "," + oSub.HDesignLife.ToString() + "," + oSub.HLeaveLife.ToString() + "," + oSub.HUseLife.ToString() +
-                          "," + oSub.HSCSPID.ToString() + "," + oSub.HSPGroupID.ToString() + ",'" + oSub.HBatchNo + "'" +
-                        //"," + oSub.HPOOrderInterID.ToString() + "," + oSub.HPOOrderEntryID.ToString() + ",'" + oSub.HPOOrderBillNo + "'" +
-                        //"," + oSub.HSeOrderInterID.ToString() + "," + oSub.HSeOrderEntryID.ToString() + ",'" + oSub.HSeOrderBillNo + "'" +
-                        //",'" + oSub.HNewModel + "','" + oSub.HWallThickness + "','" + oSub.HHardness + "','" + oSub.HLastProdModel + "','" + oSub.HDiameter + "','" + oSub.HBackFlag + "'" +
-                        //"," + 0 + "," + oSub.HNewLifeQty.ToString() + ",'" + oSub.HNowModel + "'," + oSub.HNowLife.ToString() +
-                        //"," + oSub.HMouldType.ToString() + ",'" + oSub.HInitModel + "'," + oSub.HInitDesignLife.ToString() + "," + oSub.HLifeUnitID.ToString() +
-                          ") ");
-                    //
-                    //if (oSub.HBackFlag == "鎶ュ簾鍏ュ簱")
-                    //{
-                    //    oCn.RunProc("exec h_p_Sc_MouldFileChangeStatus " + oSub.HMaterID.ToString() + ",'" + oSub.HNewModel.ToString() + "'," + oSub.HNewLifeQty.ToString() + ",'鎶ュ簾'");
-                    //}
-                    //else
-                    //{
-                    //    oCn.RunProc("exec h_p_Sc_MouldFileChangeStatus " + oSub.HMaterID.ToString() + ",'" + oSub.HNewModel.ToString() + "'," + oSub.HNewLifeQty.ToString() + ",'鍦ㄥ簱'");
-                    //}
+                      " (HInterID,HEntryID,HRemark,HRelationQty,HRelationMoney" +
+                      ",HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType" +
+                      ",HMaterID,HPropertyID,HSecUnitID,HSecUnitRate,HUnitID,HBatchNo" +
+                      ",HQtyMust,HQtyRel,HQty,HPrice,HMoney,HDesignLife" +
+                      ",HLeaveLife,HUseLife,HUseLifeQty,HNewLifeQty,HWHID,HSCWHID" +
+                      ",HSPID,HSCSPID,HSPGroupID,HBarCode,HCorrespondentTypeID,HCorrespondentID" +
+                      ",HPOOrderInterID,HPOOrderEntryID,HPOOrderBillNo,HSeOrderInterID,HSeOrderEntryID,HSeOrderBillNo" +
+                      ",HStockOrgID,HOWNERID,HOtherOrgID,HOWNERTYPEID" +
+                      ") values("
+                      + omodel.HInterID.ToString() + "," + oSub.HEntryID.ToString() + ",'" + oSub.HRemark + "'," + oSub.HRelationQty.ToString() + "," + oSub.HRelationMoney.ToString() +
+                      "," + oSub.HSourceInterID.ToString() + "," + oSub.HSourceEntryID.ToString() + ",'" + oSub.HSourceBillNo + "','" + oSub.HSourceBillType + "'" +
+                      "," + oSub.HMaterID.ToString() + "," + oSub.HPropertyID.ToString() + "," + oSub.HSecUnitID.ToString() + "," + oSub.HSecUnitRate.ToString() + "," + oSub.HUnitID.ToString() + ",'" + oSub.HBatchNo + "'" +
+                      "," + oSub.HQtyMust.ToString() + "," + oSub.HQtyRel.ToString() + "," + oSub.HQty.ToString() + "," + oSub.HPrice.ToString() + "," + oSub.HMoney.ToString() + "," + oSub.HDesignLife.ToString() +
+                      "," + oSub.HLeaveLife.ToString() + "," + oSub.HUseLife.ToString() + "," + oSub.HUseLifeQty.ToString() + "," + oSub.HNewLifeQty.ToString() + "," + oSub.HWHID.ToString() + "," + oSub.HSCWHID.ToString() +
+                      "," + oSub.HSPID.ToString() + "," + oSub.HSCSPID.ToString() + "," + oSub.HSPGroupID.ToString() + ",'" + oSub.HBarCode + "'," + oSub.HCorrespondentTypeID.ToString() + "," + oSub.HCorrespondentID.ToString() +
+                      "," + oSub.HPOOrderInterID.ToString() + "," + oSub.HPOOrderEntryID.ToString() + ",'" + oSub.HPOOrderBillNo + "'," + oSub.HSeOrderInterID.ToString() + "," + oSub.HSeOrderEntryID.ToString() + ",'" + oSub.HSeOrderBillNo + "'" +
+                      "," + oSub.HStockOrgID.ToString() + "," + oSub.HOWNERID.ToString() + "," + oSub.HOtherOrgID.ToString() + ",'" + oSub.HOWNERTYPEID + "'" +
+                      ") ");
                 }
-                //
-                //foreach (Model.ClsSc_MouldScrapInBillSub oSub in DetailColl)
-                //{
-                //    Ds = oCn.RunProcReturn("exec h_p_Sc_MouldScrapInBill_Qty " + oSub.HICMOInterID, "");
-                //    if (Ds.Tables[0].Rows.Count == 0)
-                //        return;
-                //    if (DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HBool"]) == "Y")
-                //    {
-                //        sReturn = "姹囨姤鏁伴噺瓒呰繃璁″垝鏁伴噺锛佷笉鍏佽淇濆瓨";
-                //        return false;
-                //    }
-                //}
-                //
+
                 DataSet Ds;
                 foreach (Model.ClsSc_MouldStockBillSub oSub in DetailColl)
                 {
-                    Ds = oCn.RunProcReturn("exec h_p_Kf_ICStockBill_CheckKF " + omodel.HInterID + "," + oSub.HMaterID + "," + oSub.HWHID + "," + oSub.HSPID + ", 1", "gy_czygl");
-                    if (Ds.Tables[0].Rows.Count == 0)
+                    if (oSub.HBarCode == "")
                     {
-                        oCn.RollBack();
-                        return false;
-                    }
-                    if (DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0][0]) == "N")
-                    {
-                        sReturn = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0][1]) + ", 涓嶅厑璁镐繚瀛橈紒";
-                        oCn.RollBack();
-                        return false;
+                        Ds = oCn.RunProcReturn("exec h_p_Kf_ICStockBill_CheckKF " + omodel.HInterID + "," + oSub.HMaterID + "," + oSub.HWHID + "," + oSub.HSPID + ", 1", "gy_czygl");
+                        if (Ds.Tables[0].Rows.Count == 0)
+                        {
+                            oCn.RollBack();
+                            return false;
+                        }
+                        if (DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0][0]) == "N")
+                        {
+                            sReturn = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0][1]) + ", 涓嶅厑璁镐繚瀛橈紒";
+                            oCn.RollBack();
+                            return false;
+                        }
                     }
                 }
-                sReturn = "鏂板鍗曟嵁鎴愬姛锛�";
+                //淇濆瓨鍚庢帶鍒�
+                if (!AfterSave(omodel.HInterID, omodel.HBillNo, 1, ref sReturn))
+                {
+                    oCn.RollBack();
+                    return false;
+                }
+
+                if (oSystemParameter.omodel.Sc_MouldScrapInBill_AutoCheck.ToUpper() == "Y") //绯荤粺鍙傛暟  鑷姩瀹℃牳 
+                {
+                    //瀹℃牳鍗曟嵁
+                    oCn.RunProc("Update Sc_MouldStockBillMain Set HChecker='" + DBUtility.ClsPub.CurUserName + "',HCheckDate=getdate(),HBillStatus=2 where HInterID= " + omodel.HInterID.ToString());
+                    sReturn = "鍗曟嵁鍙凤細" + omodel.HBillNo + " 鏂板瀹℃牳鎴愬姛锛�";
+                }
+                else
+                {
+                    sReturn = "鍗曟嵁鍙凤細" + omodel.HBillNo + " 鏂板鎴愬姛锛�";
+                }
                 oCn.Commit();
                 return true;
             }
diff --git "a/DAL/\347\224\237\344\272\247\347\256\241\347\220\206/\346\250\241\345\205\267\347\256\241\347\220\206/ClsSc_MouldScrapOutBill.cs" "b/DAL/\347\224\237\344\272\247\347\256\241\347\220\206/\346\250\241\345\205\267\347\256\241\347\220\206/ClsSc_MouldScrapOutBill.cs"
index d60925b..981ab32 100644
--- "a/DAL/\347\224\237\344\272\247\347\256\241\347\220\206/\346\250\241\345\205\267\347\256\241\347\220\206/ClsSc_MouldScrapOutBill.cs"
+++ "b/DAL/\347\224\237\344\272\247\347\256\241\347\220\206/\346\250\241\345\205\267\347\256\241\347\220\206/ClsSc_MouldScrapOutBill.cs"
@@ -17,7 +17,7 @@
             base.MvarItemKeySub3 = "";
             base.MvarItemKeySub4 = "";
             base.MvarItemKey="Sc_MouldStockBillMain";
-            base.MvarReportTitle = "妯″叿澶勭悊鍑哄簱鍗�";
+            base.MvarReportTitle = "妯″叿鎶ュ簾鍑哄簱鍗�";
             base.BillType="3832";
             base.HBillSubType = "3832";
 
@@ -29,8 +29,63 @@
         {
             DetailColl = null;
         }
-       
+
         #endregion   鑷畾涔夋柟娉�
+
+        //淇濆瓨鍓嶆帶鍒�
+        public bool BeforeSave(Int64 HInterID, string HBillNo, Int64 HSecManagerID, Int64 HKeeperID, Int64 HSupID, Int64 OperationType, ref string sReturn)
+        {
+            try
+            {
+                DataSet Ds = oCn.RunProcReturn("Exec h_p_Sc_MouldScrapOutBill_BeforeSaveCtrl " + HInterID.ToString() + ",'" + HBillNo + "'," + HSecManagerID.ToString() + "," + HKeeperID.ToString() + "," + HSupID.ToString() + "," + OperationType.ToString(), "h_p_Sc_MouldScrapOutBill_BeforeSaveCtrl");
+                if (Ds == null || Ds.Tables[0].Rows.Count == 0)
+                {
+                    sReturn = "淇濆瓨鍓嶅垽鏂け璐ワ紒";
+                    return false;
+                }
+                else
+                {
+                    if (DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HBack"]) == 1)
+                    {
+                        sReturn = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HRemark"]);
+                        return false;
+                    }
+                }
+                return true;
+            }
+            catch (Exception e)
+            {
+                throw (e);
+            }
+        }
+
+        //淇濆瓨鍚庢帶鍒�
+        public bool AfterSave(Int64 HInterID, string HBillNo, Int64 OperationType, ref string sReturn)
+        {
+            try
+            {
+                DataSet Ds = oCn.RunProcReturn("Exec h_p_Sc_MouldScrapOutBill_AfterSaveCtrl " + HInterID.ToString() + ",'" + HBillNo + "'," + OperationType.ToString(), "h_p_Sc_MouldScrapOutBill_AfterSaveCtrl");
+                if (Ds == null || Ds.Tables[0].Rows.Count == 0)
+                {
+                    sReturn = "淇濆瓨鍚庡垽鏂け璐ワ紒";
+                    return false;
+                }
+                else
+                {
+                    if (DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HBack"]) == 1)
+                    {
+                        sReturn = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HRemark"]);
+                        return false;
+                    }
+                }
+                return true;
+            }
+            catch (Exception e)
+            {
+                throw (e);
+            }
+        }
+
         //淇敼鍗曟嵁
         public override bool ModifyBill(Int64 lngBillKey, ref string sReturn)
         {
@@ -38,6 +93,12 @@
             {
                 //
                 oCn.BeginTran();
+                //淇濆瓨鍓嶆帶鍒�
+                if (!BeforeSave(lngBillKey, omodel.HBillNo, omodel.HSecManagerID, omodel.HKeeperID, omodel.HSupID, 2, ref sReturn))
+                {
+                    oCn.RollBack();
+                    return false;
+                }
                 //鏇存柊涓昏〃
                 oCn.RunProc("UpDate Sc_MouldStockBillMain set  " +
                 " HBillNo='" + omodel.HBillNo + "'" +  //鍥哄畾璧嬪��===============
@@ -49,16 +110,17 @@
                 ",HUpDateDate=getdate()" +
                 //========================================
                 ",HSupID=" + omodel.HSupID.ToString() +
-                ",HWHID=" + omodel.HWHID.ToString() +
-                //",HSCWHID=" + omodel.HSCWHID.ToString() +
-                //",HEmpID=" + omodel.HEmpID.ToString() +
+                ",HEmpID=" + omodel.HEmpID.ToString() +
                 ",HManagerID=" + omodel.HManagerID.ToString() +
-                //",HSecManagerID=" + omodel.HSecManagerID.ToString() +
+                ",HSecManagerID=" + omodel.HSecManagerID.ToString() +
                 ",HKeeperID=" + omodel.HKeeperID.ToString() +
                 ",HDeptID=" + omodel.HDeptID.ToString() +
+                ",HWHID=" + omodel.HWHID.ToString() +
+                ",HSCWHID=" + omodel.HSCWHID.ToString() +
                 ",HExplanation='" + omodel.HExplanation + "'" +
-                ",HInnerBillNo='" + omodel.HInnerBillNo + "'" +                
+                ",HInnerBillNo='" + omodel.HInnerBillNo + "'" +
                 ",HRedBlueFlag=" + DBUtility.ClsPub.BoolToString(omodel.HRedBlueFlag) +
+                ",HStockOrgID=" + omodel.HSTOCKORGID.ToString() +
                 " where HInterID=" + lngBillKey.ToString());
                 //鍒犻櫎鍏宠仈
                 DeleteRelation(ref sReturn, lngBillKey);
@@ -68,39 +130,26 @@
                 omodel.HInterID = lngBillKey;
                 foreach (Model.ClsSc_MouldStockBillSub oSub in DetailColl)
                 {
-
                     oCn.RunProc("Insert into Sc_MouldStockBillSub " +
-                         " (HInterID,HEntryID,HCloseMan,HEntryCloseDate,HCloseType,HRemark" +
-                         ",HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HRelationQty,HRelationMoney" +
-                         ",HMaterID,HPropertyID,HSecUnitID,HSecUnitRate,HUnitID,HQtyMust" +
-                         ",HQty,HPrice,HMoney,HWHID,HSCWHID,HSPID" +
-                         ",HDesignLife,HLeaveLife" +
-                         ",HSCSPID,HSPGroupID,HBatchNo,HUseLife" +
-                          ") values("
-                         + omodel.HInterID.ToString() + "," + oSub.HEntryID.ToString() + ",'" + oSub.HCloseMan + "','" + oSub.HEntryCloseDate.ToShortDateString() + "'," + Convert.ToString(oSub.HCloseType ? 1 : 0) + ",'" + oSub.HRemark + "'" +
-                         "," + oSub.HSourceInterID.ToString() + "," + oSub.HSourceEntryID.ToString() + ",'" + oSub.HSourceBillNo + "','" + oSub.HSourceBillType + "'," + oSub.HRelationQty.ToString() + "," + oSub.HRelationMoney.ToString() +
-                         "," + oSub.HMaterID.ToString() + "," + oSub.HPropertyID.ToString() + "," + oSub.HSecUnitID.ToString() + "," + oSub.HSecUnitRate.ToString() + "," + oSub.HUnitID.ToString() + "," + oSub.HQtyMust.ToString() +
-                         "," + oSub.HQty.ToString() + "," + oSub.HPrice.ToString() + "," + oSub.HMoney.ToString() + "," + oSub.HWHID.ToString() + "," + oSub.HSCWHID.ToString() + "," + oSub.HSPID.ToString() +
-                         "," + oSub.HDesignLife.ToString() + "," + oSub.HLeaveLife.ToString() +
-                         "," + oSub.HSCSPID.ToString() + "," + oSub.HSPGroupID.ToString() + ",'" + oSub.HBatchNo + "'," + oSub.HUseLife.ToString() +
-
-                           ") ");
-
-                    //oCn.RunProc("exec h_p_Sc_MouldFileChangeStatus " + oSub.HMaterID.ToString() + ",'" + oSub.HNowModel.ToString() + "'," + oSub.HNowLife.ToString() + ",'鐢熶骇涓�'");
+                      " (HInterID,HEntryID,HRemark,HRelationQty,HRelationMoney" +
+                      ",HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType" +
+                      ",HMaterID,HPropertyID,HSecUnitID,HSecUnitRate,HUnitID,HBatchNo" +
+                      ",HQtyMust,HQtyRel,HQty,HPrice,HMoney,HDesignLife" +
+                      ",HLeaveLife,HUseLife,HUseLifeQty,HNewLifeQty,HWHID,HSCWHID" +
+                      ",HSPID,HSCSPID,HSPGroupID,HBarCode,HCorrespondentTypeID,HCorrespondentID" +
+                      ",HPOOrderInterID,HPOOrderEntryID,HPOOrderBillNo,HSeOrderInterID,HSeOrderEntryID,HSeOrderBillNo" +
+                      ",HStockOrgID,HOWNERID,HOtherOrgID,HOWNERTYPEID" +
+                      ") values("
+                      + omodel.HInterID.ToString() + "," + oSub.HEntryID.ToString() + ",'" + oSub.HRemark + "'," + oSub.HRelationQty.ToString() + "," + oSub.HRelationMoney.ToString() +
+                      "," + oSub.HSourceInterID.ToString() + "," + oSub.HSourceEntryID.ToString() + ",'" + oSub.HSourceBillNo + "','" + oSub.HSourceBillType + "'" +
+                      "," + oSub.HMaterID.ToString() + "," + oSub.HPropertyID.ToString() + "," + oSub.HSecUnitID.ToString() + "," + oSub.HSecUnitRate.ToString() + "," + oSub.HUnitID.ToString() + ",'" + oSub.HBatchNo + "'" +
+                      "," + oSub.HQtyMust.ToString() + "," + oSub.HQtyRel.ToString() + "," + oSub.HQty.ToString() + "," + oSub.HPrice.ToString() + "," + oSub.HMoney.ToString() + "," + oSub.HDesignLife.ToString() +
+                      "," + oSub.HLeaveLife.ToString() + "," + oSub.HUseLife.ToString() + "," + oSub.HUseLifeQty.ToString() + "," + oSub.HNewLifeQty.ToString() + "," + oSub.HWHID.ToString() + "," + oSub.HSCWHID.ToString() +
+                      "," + oSub.HSPID.ToString() + "," + oSub.HSCSPID.ToString() + "," + oSub.HSPGroupID.ToString() + ",'" + oSub.HBarCode + "'," + oSub.HCorrespondentTypeID.ToString() + "," + oSub.HCorrespondentID.ToString() +
+                      "," + oSub.HPOOrderInterID.ToString() + "," + oSub.HPOOrderEntryID.ToString() + ",'" + oSub.HPOOrderBillNo + "'," + oSub.HSeOrderInterID.ToString() + "," + oSub.HSeOrderEntryID.ToString() + ",'" + oSub.HSeOrderBillNo + "'" +
+                      "," + oSub.HStockOrgID.ToString() + "," + oSub.HOWNERID.ToString() + "," + oSub.HOtherOrgID.ToString() + ",'" + oSub.HOWNERTYPEID + "'" +
+                      ") ");
                 }
-                //
-                //oCn.RunProcReturn("exec h_p_Sc_MouldFileChangeStatus " + omodel.HInterID.ToString() + ",'鐢熶骇涓�'", "gy_czygl");
-                //foreach (Model.ClsSc_MouldStockBillSub oSub in DetailColl)
-                //{
-                //    Ds = oCn.RunProcReturn("exec h_p_Sc_MouldScrapOutBill_Qty " + oSub.HICMOInterID, "");
-                //    if (Ds.Tables[0].Rows.Count == 0)
-                //        return;
-                //    if (DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HBool"]) == "Y")
-                //    {
-                //        sReturn = "姹囨姤鏁伴噺瓒呰繃璁″垝鏁伴噺锛佷笉鍏佽淇濆瓨";
-                //        return false;
-                //    }
-                //}
                 DataSet Ds;
                 foreach (Model.ClsSc_MouldStockBillSub oSub in DetailColl)
                 {
@@ -117,7 +166,13 @@
                         return false;
                     }
                 }
-                sReturn = "淇敼鍗曟嵁鎴愬姛锛�";
+                //淇濆瓨鍚庢帶鍒�
+                if (!AfterSave(lngBillKey, omodel.HBillNo, 2, ref sReturn))
+                {
+                    oCn.RollBack();
+                    return false;
+                }
+                sReturn = "鍗曟嵁鍙凤細" + omodel.HBillNo + " 淇敼鎴愬姛锛�";
                 oCn.Commit();
                 return true;
             }
@@ -133,75 +188,99 @@
         {
             try
             {
+                //鑾峰彇绯荤粺鍙傛暟
+                Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();
+                if (oSystemParameter.ShowBillByOrgID(omodel.HSTOCKORGID, ref sReturn) == false)
+                {
+                    sReturn = "鑾峰彇绯荤粺鍙傛暟澶辫触锛� " + sReturn;
+                    return false;
+                }
                 //寰楀埌mainid
-                omodel.HInterID = DBUtility.ClsPub.CreateBillID(BillType, ref DBUtility.ClsPub.sExeReturnInfo);
-                //鑻AINDI閲嶅鍒欓噸鏂拌幏鍙�
+                if (omodel.HInterID == 0)
+                {
+                    omodel.HInterID = DBUtility.ClsPub.CreateBillID_Prod(BillType, ref DBUtility.ClsPub.sExeReturnInfo);
+                }
+                //淇濆瓨鍓嶆帶鍒�
+                if (!BeforeSave(omodel.HInterID, omodel.HBillNo, omodel.HSecManagerID, omodel.HKeeperID, omodel.HSupID, 1, ref sReturn))
+                {
+                    return false;
+                }
+
                 oCn.BeginTran();
                 //涓昏〃
                 oCn.RunProc("Insert Into Sc_MouldStockBillMain   " +
                 "(HBillType,HBillSubType,HInterID,HBillNo,HDate" +
                 ",HYear,HPeriod,HRemark,HMaker,HMakeDate" +
-                ",HSupID,HWHID,HManagerID,HSCWHID,HEmpID,HSecManagerID" +
-                ",HKeeperID,HDeptID,HExplanation,HInnerBillNo,HRedBlueFlag" +
-                ""+
+                ",HSupID,HSupTypeID,HEmpID,HManagerID,HSecManagerID" +
+                ",HKeeperID,HDeptID,HWHID,HSCWHID,HRedBlueFlag" +
+                ",HExplanation,HInnerBillNo,HStockOrgID" +
                 ") " +
-                " values('" + this.BillType + "','"  + this.HBillSubType + "'," +omodel.HInterID.ToString() + ",'" + omodel.HBillNo + "','" + omodel.HDate + "'" +
+                " values('" + this.BillType + "','" + this.HBillSubType + "'," + omodel.HInterID.ToString() + ",'" + omodel.HBillNo + "','" + omodel.HDate.ToShortDateString() + "'" +
                 ", " + omodel.HYear.ToString() + "," + omodel.HPeriod.ToString() + ",'" + omodel.HRemark + "','" + DBUtility.ClsPub.CurUserName + "',getdate()" +
-                ", " + omodel.HSupID.ToString() + "," + omodel.HWHID.ToString() + "," + omodel.HManagerID.ToString() + "," + omodel.HSCWHID.ToString() + "," + omodel.HEmpID.ToString() + "," + omodel.HSecManagerID.ToString() + 
-                ", " + omodel.HKeeperID.ToString() + "," + omodel.HDeptID.ToString() + ",'" + omodel.HExplanation + "','" + omodel.HInnerBillNo + "'," + DBUtility.ClsPub.BoolToString(omodel.HRedBlueFlag) +
+                ", " + omodel.HSupID.ToString() + "," + omodel.HSupTypeID.ToString() + "," + omodel.HEmpID.ToString() + "," + omodel.HManagerID.ToString() + "," + omodel.HSecManagerID.ToString() +
+                ", " + omodel.HKeeperID.ToString() + "," + omodel.HDeptID.ToString() + "," + omodel.HWHID.ToString() + "," + omodel.HSCWHID.ToString() + "," + DBUtility.ClsPub.BoolToString(omodel.HRedBlueFlag) +
+                ",'" + omodel.HExplanation + "','" + omodel.HInnerBillNo + "'," + omodel.HSTOCKORGID.ToString() +
                 ") ");
                 //鎻掑叆瀛愯〃
                 foreach (Model.ClsSc_MouldStockBillSub oSub in DetailColl)
                 {
                     oCn.RunProc("Insert into Sc_MouldStockBillSub " +
-                         " (HInterID,HEntryID,HCloseMan,HEntryCloseDate,HCloseType,HRemark" +
-                         ",HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HRelationQty,HRelationMoney" +
-                         ",HMaterID,HPropertyID,HSecUnitID,HSecUnitRate,HUnitID,HQtyMust" +
-                         ",HQty,HPrice,HMoney,HWHID,HSCWHID,HSPID" +
-                         ",HDesignLife,HLeaveLife" +
-                         ",HSCSPID,HSPGroupID,HBatchNo,HUseLife" +
-                          ") values("
-                         + omodel.HInterID.ToString() + "," + oSub.HEntryID.ToString() + ",'" + oSub.HCloseMan + "','" + oSub.HEntryCloseDate.ToShortDateString() + "'," + Convert.ToString(oSub.HCloseType ? 1 : 0) + ",'" + oSub.HRemark + "'" +
-                         "," + oSub.HSourceInterID.ToString() + "," + oSub.HSourceEntryID.ToString() + ",'" + oSub.HSourceBillNo + "','" + oSub.HSourceBillType + "'," + oSub.HRelationQty.ToString() + "," + oSub.HRelationMoney.ToString() +
-                         "," + oSub.HMaterID.ToString() + "," + oSub.HPropertyID.ToString() + "," + oSub.HSecUnitID.ToString() + "," + oSub.HSecUnitRate.ToString() + "," + oSub.HUnitID.ToString() + "," + oSub.HQtyMust.ToString() +
-                         "," + oSub.HQty.ToString() + "," + oSub.HPrice.ToString() + "," + oSub.HMoney.ToString() + "," + oSub.HWHID.ToString() + "," + oSub.HSCWHID.ToString() + "," + oSub.HSPID.ToString() +
-                         "," + oSub.HDesignLife.ToString() + "," + oSub.HLeaveLife.ToString() +
-                         "," + oSub.HSCSPID.ToString() + "," + oSub.HSPGroupID.ToString() + ",'" + oSub.HBatchNo + "'," + oSub.HUseLife.ToString() +
-
-                           ") ");
-
-                    //oCn.RunProc("exec h_p_Sc_MouldFileChangeStatus " + oSub.HMaterID.ToString() + ",'" + oSub.HNowModel.ToString() + "'," + oSub.HNowLife.ToString() + ",'鐢熶骇涓�'");
+                      " (HInterID,HEntryID,HRemark,HRelationQty,HRelationMoney" +
+                      ",HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType" +
+                      ",HMaterID,HPropertyID,HSecUnitID,HSecUnitRate,HUnitID,HBatchNo" +
+                      ",HQtyMust,HQtyRel,HQty,HPrice,HMoney,HDesignLife" +
+                      ",HLeaveLife,HUseLife,HUseLifeQty,HNewLifeQty,HWHID,HSCWHID" +
+                      ",HSPID,HSCSPID,HSPGroupID,HBarCode,HCorrespondentTypeID,HCorrespondentID" +
+                      ",HPOOrderInterID,HPOOrderEntryID,HPOOrderBillNo,HSeOrderInterID,HSeOrderEntryID,HSeOrderBillNo" +
+                      ",HStockOrgID,HOWNERID,HOtherOrgID,HOWNERTYPEID" +
+                      ") values("
+                      + omodel.HInterID.ToString() + "," + oSub.HEntryID.ToString() + ",'" + oSub.HRemark + "'," + oSub.HRelationQty.ToString() + "," + oSub.HRelationMoney.ToString() +
+                      "," + oSub.HSourceInterID.ToString() + "," + oSub.HSourceEntryID.ToString() + ",'" + oSub.HSourceBillNo + "','" + oSub.HSourceBillType + "'" +
+                      "," + oSub.HMaterID.ToString() + "," + oSub.HPropertyID.ToString() + "," + oSub.HSecUnitID.ToString() + "," + oSub.HSecUnitRate.ToString() + "," + oSub.HUnitID.ToString() + ",'" + oSub.HBatchNo + "'" +
+                      "," + oSub.HQtyMust.ToString() + "," + oSub.HQtyRel.ToString() + "," + oSub.HQty.ToString() + "," + oSub.HPrice.ToString() + "," + oSub.HMoney.ToString() + "," + oSub.HDesignLife.ToString() +
+                      "," + oSub.HLeaveLife.ToString() + "," + oSub.HUseLife.ToString() + "," + oSub.HUseLifeQty.ToString() + "," + oSub.HNewLifeQty.ToString() + "," + oSub.HWHID.ToString() + "," + oSub.HSCWHID.ToString() +
+                      "," + oSub.HSPID.ToString() + "," + oSub.HSCSPID.ToString() + "," + oSub.HSPGroupID.ToString() + ",'" + oSub.HBarCode + "'," + oSub.HCorrespondentTypeID.ToString() + "," + oSub.HCorrespondentID.ToString() +
+                      "," + oSub.HPOOrderInterID.ToString() + "," + oSub.HPOOrderEntryID.ToString() + ",'" + oSub.HPOOrderBillNo + "'," + oSub.HSeOrderInterID.ToString() + "," + oSub.HSeOrderEntryID.ToString() + ",'" + oSub.HSeOrderBillNo + "'" +
+                      "," + oSub.HStockOrgID.ToString() + "," + oSub.HOWNERID.ToString() + "," + oSub.HOtherOrgID.ToString() + ",'" + oSub.HOWNERTYPEID + "'" +
+                      ") ");
                 }
-                // 
-                //foreach (Model.ClsSc_MouldStockBillSub oSub in DetailColl)
-                //{
-                //    Ds = oCn.RunProcReturn("exec h_p_Sc_MouldScrapOutBill_Qty " + oSub.HICMOInterID, "");
-                //    if (Ds.Tables[0].Rows.Count == 0)
-                //        return;
-                //    if (DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HBool"]) == "Y")
-                //    {
-                //        sReturn = "姹囨姤鏁伴噺瓒呰繃璁″垝鏁伴噺锛佷笉鍏佽淇濆瓨";
-                //        return false;
-                //    }
-                //}
+
                 DataSet Ds;
                 foreach (Model.ClsSc_MouldStockBillSub oSub in DetailColl)
                 {
-                    Ds = oCn.RunProcReturn("exec h_p_Kf_ICStockBill_CheckKF " + omodel.HInterID + "," + oSub.HMaterID + "," + oSub.HWHID + "," + oSub.HSPID + ", -1", "gy_czygl");
-                    if (Ds.Tables[0].Rows.Count == 0)
+                    if (oSub.HBarCode == "")
                     {
-                        oCn.RollBack();
-                        return false;
-                    }
-                    if (DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0][0]) == "N")
-                    {
-                        sReturn = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0][1]) + ", 涓嶅厑璁镐繚瀛橈紒";
-                        oCn.RollBack();
-                        return false;
+                        Ds = oCn.RunProcReturn("exec h_p_Kf_ICStockBill_CheckKF " + omodel.HInterID + "," + oSub.HMaterID + "," + oSub.HWHID + "," + oSub.HSPID + ", -1", "gy_czygl");
+                        if (Ds.Tables[0].Rows.Count == 0)
+                        {
+                            oCn.RollBack();
+                            return false;
+                        }
+                        if (DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0][0]) == "N")
+                        {
+                            sReturn = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0][1]) + ", 涓嶅厑璁镐繚瀛橈紒";
+                            oCn.RollBack();
+                            return false;
+                        }
                     }
                 }
-                //
-                sReturn = "鏂板鍗曟嵁鎴愬姛锛�";
+                //淇濆瓨鍚庢帶鍒�
+                if (!AfterSave(omodel.HInterID, omodel.HBillNo, 1, ref sReturn))
+                {
+                    oCn.RollBack();
+                    return false;
+                }
+
+                if (oSystemParameter.omodel.Sc_MouldScrapOutBill_AutoCheck.ToUpper() == "Y") //绯荤粺鍙傛暟  鑷姩瀹℃牳 
+                {
+                    //瀹℃牳鍗曟嵁
+                    oCn.RunProc("Update Sc_MouldStockBillMain Set HChecker='" + DBUtility.ClsPub.CurUserName + "',HCheckDate=getdate(),HBillStatus=2 where HInterID= " + omodel.HInterID.ToString());
+                    sReturn = "鍗曟嵁鍙凤細" + omodel.HBillNo + " 鏂板瀹℃牳鎴愬姛锛�";
+                }
+                else
+                {
+                    sReturn = "鍗曟嵁鍙凤細" + omodel.HBillNo + " 鏂板鎴愬姛锛�";
+                }
                 oCn.Commit();
                 return true;
             }
diff --git "a/DAL/\347\224\237\344\272\247\347\256\241\347\220\206/\350\256\276\345\244\207\347\256\241\347\220\206/ClsSb_EquipMaintainBill.cs" "b/DAL/\347\224\237\344\272\247\347\256\241\347\220\206/\350\256\276\345\244\207\347\256\241\347\220\206/ClsSb_EquipMaintainBill.cs"
index 3f86948..c16e3e8 100644
--- "a/DAL/\347\224\237\344\272\247\347\256\241\347\220\206/\350\256\276\345\244\207\347\256\241\347\220\206/ClsSb_EquipMaintainBill.cs"
+++ "b/DAL/\347\224\237\344\272\247\347\256\241\347\220\206/\350\256\276\345\244\207\347\256\241\347\220\206/ClsSb_EquipMaintainBill.cs"
@@ -69,7 +69,8 @@
                 ",HPlanNo='" + omodel.HPlanNo + "'" +
                 ",HExplanation='" + omodel.HExplanation+"'" +
                 ",HInnerBillNo='" + omodel.HInnerBillNo+"'" +
-                ",HEquipMaintainRuleInterID="+omodel.HEquipMaintainRuleInterID.ToString()+
+                ",HEquipMaintainRuleInterID=" + omodel.HEquipMaintainRuleInterID.ToString()+
+                ",HMaintainLevID=" + omodel.HMaintainLevID +
                 " where HInterID=" + lngBillKey.ToString());
                 //鍒犻櫎鍏宠仈
                 DeleteRelation(ref sReturn, lngBillKey);
@@ -173,11 +174,11 @@
                 "(HBillType,HBillSubType,HInterID,HBillNo,HDate,HMaker,HMakeDate" +
                 ",HYear,HPeriod,HRemark,HEquipID" +
                 ",HBeginDate,HEndDate,HPlanNo,HExplanation,HInnerBillNo,HEquipMaintainRuleInterID" +
-                ",HDeptID" + 
+                ",HDeptID,HMaintainLevID" + 
                 ") " +
                 " values('" + this.BillType + "','"  + this.HBillSubType + "'," +omodel.HInterID.ToString() + ",'" + omodel.HBillNo + "','" + omodel.HDate + "','" + DBUtility.ClsPub.CurUserName + "',getdate()" +
                 "," + omodel.HYear.ToString() + "," + omodel.HPeriod.ToString() + ",'" + omodel.HRemark + "'," + omodel.HEquipID.ToString() +
-                ",'" + omodel.HBeginDate + "','" + omodel.HEndDate + "','" + omodel.HPlanNo + "','" + omodel.HExplanation + "','" + omodel.HInnerBillNo + "'," +omodel.HEquipMaintainRuleInterID.ToString() + "," + omodel.HDeptID + 
+                ",'" + omodel.HBeginDate + "','" + omodel.HEndDate + "','" + omodel.HPlanNo + "','" + omodel.HExplanation + "','" + omodel.HInnerBillNo + "'," +omodel.HEquipMaintainRuleInterID.ToString() + "," + omodel.HDeptID + "," + omodel.HMaintainLevID +
                 ") ");
                 //鎻掑叆閰嶄欢瀛愯〃
                 foreach (Model.ClsSb_EquipMaintainBillSub oSub in DetailColl)
diff --git "a/DAL/\347\224\237\344\272\247\347\256\241\347\220\206/\350\256\276\345\244\207\347\256\241\347\220\206/ClsSb_EquipMaintainPlanBill.cs" "b/DAL/\347\224\237\344\272\247\347\256\241\347\220\206/\350\256\276\345\244\207\347\256\241\347\220\206/ClsSb_EquipMaintainPlanBill.cs"
index b4c6d51..2cd1bfd 100644
--- "a/DAL/\347\224\237\344\272\247\347\256\241\347\220\206/\350\256\276\345\244\207\347\256\241\347\220\206/ClsSb_EquipMaintainPlanBill.cs"
+++ "b/DAL/\347\224\237\344\272\247\347\256\241\347\220\206/\350\256\276\345\244\207\347\256\241\347\220\206/ClsSb_EquipMaintainPlanBill.cs"
@@ -55,6 +55,9 @@
                 ",HCheckCycle=" + omodel.HCheckCycle.ToString() +
                 ",HExplanation='" + omodel.HExplanation+"'" +
                 ",HInnerBillNo='" + omodel.HInnerBillNo+"'" +
+                ",HMaintainLevID=" + omodel.HMaintainLevID +
+                ",HMainSourceInterID=" + omodel.HMainSourceInterID +
+                ",HMainSourceBillNo='" + omodel.HMainSourceBillNo + "'" +
                 " where HInterID=" + lngBillKey.ToString());
                 //鍒犻櫎鍏宠仈
                 DeleteRelation(ref sReturn, lngBillKey);
@@ -121,11 +124,11 @@
                 oCn.RunProc("Insert Into Sb_EquipMaintainPlanBillMain   " +
                 "(HBillType,HBillSubType,HInterID,HBillNo,HDate,HMaker,HMakeDate" +
                 ",HYear,HPeriod,HRemark,HEquipID" +
-                ",HBeginDate,HEndDate,HCheckCycle,HCycleUnit,HExplanation,HInnerBillNo,HMouldMaintainRuleID" +
+                ",HBeginDate,HEndDate,HCheckCycle,HCycleUnit,HExplanation,HInnerBillNo,HMouldMaintainRuleID,HMaintainLevID,HMainSourceInterID,HMainSourceBillNo" +
                 ") "+
                 " values('" + this.BillType + "','"  + this.HBillSubType + "'," +omodel.HInterID.ToString() + ",'" + omodel.HBillNo + "','" + omodel.HDate + "','" + omodel.HMaker + "',getdate()" +
                 "," + omodel.HYear.ToString() + "," + omodel.HPeriod.ToString() + ",'" + omodel.HRemark + "'," + omodel.HEquipID.ToString() +
-                ",'" + omodel.HBeginDate +"','" +omodel.HEndDate + "'," + omodel.HCheckCycle.ToString() +",'"+ omodel.HCycleUnit + "','" + omodel.HExplanation + "','" + omodel.HInnerBillNo +"','" + omodel.HMouldMaintainRuleID + "'" +
+                ",'" + omodel.HBeginDate +"','" +omodel.HEndDate + "'," + omodel.HCheckCycle.ToString() +",'"+ omodel.HCycleUnit + "','" + omodel.HExplanation + "','" + omodel.HInnerBillNo +"','" + omodel.HMouldMaintainRuleID + "'," + omodel.HMaintainLevID + "," + omodel.HMainSourceInterID + ",'" + omodel.HMainSourceBillNo + "'" +
                 ") ");
                 if (DetailColl != null)
                 {
diff --git "a/DAL/\350\264\250\346\243\200\347\256\241\347\220\206/ClsQC_StockCheckBill.cs" "b/DAL/\350\264\250\346\243\200\347\256\241\347\220\206/ClsQC_StockCheckBill.cs"
new file mode 100644
index 0000000..30cc822
--- /dev/null
+++ "b/DAL/\350\264\250\346\243\200\347\256\241\347\220\206/ClsQC_StockCheckBill.cs"
@@ -0,0 +1,420 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Text;
+using System.Data;
+
+namespace DAL
+{
+    public  class ClsQC_StockCheckBill:DBUtility.ClsXt_BaseBill
+    {
+        public Model.ClsQC_StockCheckBillMain omodel = new Model.ClsQC_StockCheckBillMain();
+        public List<Model.ClsQC_StockCheckBillSub> DetailColl = new List<Model.ClsQC_StockCheckBillSub>();
+        public List<Model.ClsQC_StockCheckBillSub_ValueGrid> DetailColl_Value = new List<Model.ClsQC_StockCheckBillSub_ValueGrid>();   
+        public ClsQC_StockCheckBill()
+        {
+            base.MvarItemKeySub = "QC_StockCheckBillSub";
+            base.MvarItemKeySub2 = "QC_StockCheckBillSub_ValueGrid";
+            base.MvarItemKeySub3 = "";
+            base.MvarItemKeySub4 = "";
+            base.MvarItemKey="QC_StockCheckBillMain";
+            base.MvarReportTitle="搴撳瓨妫�楠屽崟";
+            base.BillType= "7519";
+            base.HBillSubType = "7519";
+
+        }
+
+        #region 鍥哄畾浠g爜
+
+        ~ClsQC_StockCheckBill()
+        {
+            DetailColl = null;
+        }
+       
+        #endregion   鑷畾涔夋柟娉�
+        //淇敼鍗曟嵁
+        public override bool ModifyBill(Int64 lngBillKey, ref string sReturn)
+        {
+            try
+            {
+              
+                oCn.BeginTran();
+                //鏇存柊涓昏〃
+                oCn.RunProc("UpDate QC_StockCheckBillMain set  " +
+                " HBillNo='" + omodel.HBillNo + "'" +  //鍥哄畾璧嬪��===============
+                ",HDate='" + omodel.HDate + "'" +
+                ",HYear='" + omodel.HYear.ToString() + "'" +
+                ",HPeriod='" + omodel.HPeriod.ToString() + "'" +
+                ",HBillStatus='" + omodel.HBillStatus + "'" +
+                ",HRemark='" + omodel.HRemark + "'" +
+                ",HUpDater='" + DBUtility.ClsPub.CurUserName + "'" +
+                ",HUpDateDate=getdate()" +
+                //========================================
+                ",HSourceID=" + omodel.HSourceID.ToString() +
+                ",HICMOInterID=" + omodel.HICMOInterID.ToString() +
+                ",HICMOBillNo='" + omodel.HICMOBillNo + "'" +
+                ",HICMOQty=" + omodel.HICMOQty.ToString() +
+                ",HProcExchInterID=" + omodel.HProcExchInterID.ToString() +
+                ",HProcExchEntryID=" + omodel.HProcExchEntryID.ToString() +
+                ",HProcExchBillNo='" + omodel.HProcExchBillNo + "'" +
+                ",HProcExchQty=" + omodel.HProcExchQty.ToString() +
+                ",HMaterID=" + omodel.HMaterID.ToString() +
+                ",HFirstCheckEmp=" + omodel.HFirstCheckEmp.ToString() +
+                ",HLastResult=" + DBUtility.ClsPub.BoolToString(omodel.HLastResult) +
+                ",HShiftsID=" + omodel.HShiftsID.ToString() +
+                ",HErrTreatment='" + omodel.HErrTreatment + "'" +
+                " where HInterID=" + lngBillKey.ToString());
+                //鍒犻櫎鍏宠仈
+                
+                DeleteRelation(ref sReturn, lngBillKey);
+                //鍒犻櫎瀛愯〃
+                DeleteBillSub(lngBillKey);
+                //鎻掑叆瀛愯〃
+                omodel.HInterID = lngBillKey;
+                //鎻掑叆瀛愯〃
+                foreach (Model.ClsQC_StockCheckBillSub oSub in DetailColl)
+                {
+                    oCn.RunProc("Insert into QC_StockCheckBillSub " +
+                      " (HInterID,HBillNo_bak,HEntryID,HCloseMan" +
+                      ",HEntryCloseDate,HCloseType,HRemark,HSourceInterID" +
+                      ",HSourceEntryID,HSourceBillNo,HSourceBillType,HRelationQty,HRelationMoney" +
+                      ",HQCCheckItemID,HQCStd,HUnit,HQCNote,HResult" +
+                      ",HMax,HMin,HAvg,HSampleSchemeID,HSampleQty,HSampleDamageQty,HAcceptQty" +
+                      ",HRejectQty,HSampleUnRightQty,HStatus,HUnitID,HInspectValB,HInspectVal,HTargetValB,HTargetVal" +
+                      ",HUpLimit,HDownLimit,HUpOffSet,HDownOffSet,HKeyInspect,HAnalysisMethod,HInspectInstruMentID,HInspectResult" +
+                      ") values("
+                      + omodel.HInterID.ToString() + ",'" + oSub.HBillNo_bak + "'," + oSub.HEntryID.ToString() + ",'" + oSub.HCloseMan + "'" +
+                      ",getdate()," + Convert.ToString(oSub.HCloseType ? 1 : 0) + ",'" + oSub.HRemark + "'," + oSub.HSourceInterID.ToString() +
+                      "," + oSub.HSourceEntryID.ToString() + ",'" + oSub.HSourceBillNo + "','" + oSub.HSourceBillType + "'," + oSub.HRelationQty.ToString() + "," + oSub.HRelationMoney.ToString() +
+                      "," + oSub.HQCCheckItemID.ToString() + ",'" + oSub.HQCStd + "','" + oSub.HUnit + "','" + oSub.HQCNote + "','" + oSub.HResult + "'" +
+                      ",'" + oSub.HMax + "','" + oSub.HMin + "','" + oSub.HAvg + "'" + "," + oSub.HSampleSchemeID + "," + oSub.HSampleQty +
+                      "," + oSub.HSampleDamageQty + "," + oSub.HAcceptQty + "," + oSub.HRejectQty + "," + oSub.HSampleUnRightQty + ",'" + oSub.HStatus +
+                      "'," + oSub.HUnitID + ",'" + oSub.HInspectValB + "','" + oSub.HInspectVal + "','" + oSub.HTargetValB + "','" + oSub.HTargetVal + "','" + oSub.HUpLimit + "','" + oSub.HDownLimit +
+                      "','" + oSub.HUpOffSet + "','" + oSub.HDownOffSet + "'," + oSub.HKeyInspect + ",'" + oSub.HAnalysisMethod + "'," + oSub.HInspectInstruMentID + ",'" + oSub.HInspectResult + "'" + ") ");
+                }
+
+
+                sReturn = "淇敼鍗曟嵁鎴愬姛锛�";
+                oCn.Commit();
+                return true;
+            }
+            catch (Exception e)
+            {
+                sReturn = e.Message;
+                oCn.RollBack();
+                throw (e);
+            }
+        }
+        //鏂板鍗曟嵁
+        public override bool AddBill(ref string sReturn)
+        {
+            try
+            {
+                //寰楀埌mainid
+                //omodel.HInterID = DBUtility.ClsPub.CreateBillID(BillType, ref DBUtility.ClsPub.sExeReturnInfo);
+                //鑻AINDI閲嶅鍒欓噸鏂拌幏鍙�
+
+              
+                oCn.BeginTran();
+                //涓昏〃
+                oCn.RunProc("Insert Into QC_StockCheckBillMain " +
+                "(HBillType,HBillSubType,HInterID,HBillNo,HBillStatus,HDate,HMaker,HMakeDate" +
+                ",HYear,HPeriod,HRemark" +
+                ",HSourceID,HICMOInterID,HICMOBillNo,HICMOQty,HProcExchInterID,HProcExchEntryID" +
+                ",HProcExchBillNo,HProcExchQty,HMaterID,HFirstCheckEmp,HLastResult" +
+                ",HMainSourceInterID,HMainSourceEntryID,HMainSourceBillNo,HMainSourceBillType,HICMOEntryID,HQCSchemeID,HShiftsID,HErrTreatment" +
+                ") " +
+                " values('" + this.BillType + "','" + this.HBillSubType + "'," + omodel.HInterID.ToString() + ",'" + omodel.HBillNo + "'," + omodel.HBillStatus.ToString() + ",'" + omodel.HDate + "','" + omodel.HMaker + "',getdate()" +
+                "," + omodel.HYear.ToString() + "," + omodel.HPeriod.ToString() + ",'" + omodel.HRemark + "'" +
+                "," + omodel.HSourceID.ToString() + "," + omodel.HICMOInterID.ToString() + ",'" + omodel.HICMOBillNo + "'," + omodel.HICMOQty.ToString() + "," + omodel.HProcExchInterID.ToString() + "," + omodel.HProcExchEntryID.ToString() +
+                ",'" + omodel.HProcExchBillNo + "'," + omodel.HProcExchQty.ToString() + "," + omodel.HMaterID.ToString() + "," + omodel.HFirstCheckEmp.ToString() + ", " + DBUtility.ClsPub.BoolToString(omodel.HLastResult) +
+                "," + omodel.HMainSourceInterID + "," + omodel.HMainSourceEntryID + ",'" + omodel.HMainSourceBillNo + "','" + omodel.HMainSourceBillType  + "'," + omodel.HICMOEntryID + "," + omodel.HQCSchemeID + "," + omodel.HShiftsID + ",'" + omodel.HErrTreatment + "'" +
+                ") ");
+                //鎻掑叆瀛愯〃
+                foreach (Model.ClsQC_StockCheckBillSub oSub in DetailColl)
+                {
+                    oCn.RunProc("Insert into QC_StockCheckBillSub " +
+                      " (HInterID,HBillNo_bak,HEntryID,HCloseMan" +
+                      ",HEntryCloseDate,HCloseType,HRemark,HSourceInterID" +
+                      ",HSourceEntryID,HSourceBillNo,HSourceBillType,HRelationQty,HRelationMoney" +
+                      ",HQCCheckItemID,HQCStd,HUnit,HQCNote,HResult" +
+                      ",HMax,HMin,HAvg,HSampleSchemeID,HSampleQty,HSampleDamageQty,HAcceptQty" +
+                      ",HRejectQty,HSampleUnRightQty,HStatus,HUnitID,HInspectValB,HInspectVal,HTargetValB,HTargetVal" +
+                      ",HUpLimit,HDownLimit,HUpOffSet,HDownOffSet,HKeyInspect,HAnalysisMethod,HInspectInstruMentID,HInspectResult" +
+                      ") values("
+                      + omodel.HInterID.ToString() + ",'" + oSub.HBillNo_bak + "'," + oSub.HEntryID.ToString() + ",'" + oSub.HCloseMan + "'" +
+                      ",getdate()," + Convert.ToString(oSub.HCloseType ? 1 : 0) + ",'" + oSub.HRemark + "'," + oSub.HSourceInterID.ToString() +
+                      "," + oSub.HSourceEntryID.ToString() + ",'" + oSub.HSourceBillNo + "','" + oSub.HSourceBillType + "'," + oSub.HRelationQty.ToString() + "," + oSub.HRelationMoney.ToString() +
+                      "," + oSub.HQCCheckItemID.ToString() + ",'" + oSub.HQCStd + "','" + oSub.HUnit + "','" + oSub.HQCNote + "','" + oSub.HResult + "'" +
+                      ",'" + oSub.HMax + "','" + oSub.HMin + "','" + oSub.HAvg + "'" + "," + oSub.HSampleSchemeID + "," + oSub.HSampleQty + 
+                      "," + oSub.HSampleDamageQty + "," + oSub.HAcceptQty + "," + oSub.HRejectQty + "," + oSub.HSampleUnRightQty + ",'" + oSub.HStatus +
+                      "'," + oSub.HUnitID + ",'" + oSub.HInspectValB + "','" + oSub.HInspectVal + "','" + oSub.HTargetValB + "','" + oSub.HTargetVal + "','" + oSub.HUpLimit + "','" + oSub.HDownLimit +
+                      "','" + oSub.HUpOffSet + "','" + oSub.HDownOffSet + "'," + oSub.HKeyInspect + ",'" + oSub.HAnalysisMethod + "'," + oSub.HInspectInstruMentID + ",'" + oSub.HInspectResult + "'" + ") ");
+                }
+              
+                sReturn = "鏂板鍗曟嵁鎴愬姛锛�";
+                oCn.Commit();
+                return true;
+            }
+            catch (Exception e)
+            {
+                sReturn = e.Message;
+                oCn.RollBack();
+                throw (e);
+            }
+        }
+
+        //鏂板妫�楠屽��
+        public virtual bool AddValue(ref string sReturn,ref long HInterID, ref long HEntryID)
+        {
+            try
+            {
+                oCn.BeginTran();
+
+                oCn.RunProc("delete from QC_StockCheckBillSub_ValueGrid where HInterID = " + HInterID + " and HEntryID = " + HEntryID);
+
+                //鎻掑叆瀛愯〃
+                foreach (Model.ClsQC_StockCheckBillSub_ValueGrid value in DetailColl_Value)
+                {
+                    oCn.RunProc("Insert into QC_StockCheckBillSub_ValueGrid " +
+                      " (HInterID,HEntryID,HSEQ,HInSpectResult" +
+                      ",HInSpectValue,HInSpectValueB,HInSpectValueT" +
+                      ") values("
+                      + HInterID + "," + HEntryID + "," + value.HSEQ + ",'" + value.HInSpectResult + "'," +
+                      value.HInSpectValue + "," + value.HInSpectValueB + ",'" + value.HInSpectValueT + "'" +
+                      ") ");
+                }
+                sReturn = "鏂板妫�楠屽�兼垚鍔燂紒";
+                oCn.Commit();
+                return true;
+            }
+            catch (Exception e)
+            {
+                sReturn = e.Message;
+                oCn.RollBack();
+                throw (e);
+            }           
+        }
+       
+        //鏄剧ず鍗曟嵁
+        public override bool ShowBill(Int64 lngBillKey, ref string sReturn)
+        {
+            try
+            {
+                //鏌ヨ涓昏〃
+                DataSet Ds ;
+                Ds = oCn.RunProcReturn("Select * from QC_StockCheckBillMain Where HInterID=" + lngBillKey.ToString(), "QC_StockCheckBillMain");
+                if(Ds.Tables[0].Rows.Count==0)
+                {
+                    sReturn = "鍗曟嵁鏈壘鍒帮紒";
+                    return false;
+                }
+                //鍥哄畾璧嬪��===========================================
+                omodel.HInterID =DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HInterID"]);
+                omodel.HBillNo = Ds.Tables[0].Rows[0]["HBillNo"].ToString().Trim();
+                omodel.HDate =DBUtility.ClsPub.isDate(Ds.Tables[0].Rows[0]["HDate"]);
+                omodel.HYear = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HYear"]);
+                omodel.HPeriod = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HPeriod"]);
+                omodel.HCheckItemNowID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HCheckItemNowID"]);
+                omodel.HCheckItemNextID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HCheckItemNextID"]);
+                omodel.HCheckFlowID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HCheckFlowID"]);
+                omodel.HRemark = Ds.Tables[0].Rows[0]["HRemark"].ToString().Trim();
+                omodel.HBillStatus = DBUtility.ClsPub.isInt(Ds.Tables[0].Rows[0]["HBillStatus"]);
+                omodel.HBillType = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HBillType"]);
+                omodel.HBillSubType = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HBillSubType"]);
+                omodel.HMaker = Ds.Tables[0].Rows[0]["HMaker"].ToString().Trim();
+                omodel.HMakeDate = Ds.Tables[0].Rows[0]["HMakeDate"].ToString().Trim();
+                omodel.HUpDateDate = Ds.Tables[0].Rows[0]["HUpDateDate"].ToString().Trim();
+                omodel.HUpDater = Ds.Tables[0].Rows[0]["HUpDater"].ToString().Trim();
+                omodel.HBackDate = Ds.Tables[0].Rows[0]["HBackDate"].ToString().Trim();
+                omodel.HBacker = Ds.Tables[0].Rows[0]["HBacker"].ToString().Trim();
+                omodel.HCheckDate = Ds.Tables[0].Rows[0]["HCheckDate"].ToString().Trim();
+                omodel.HChecker = Ds.Tables[0].Rows[0]["HChecker"].ToString().Trim();
+                omodel.HCloseDate = Ds.Tables[0].Rows[0]["HCloseDate"].ToString().Trim();
+                omodel.HCloseMan = Ds.Tables[0].Rows[0]["HCloseMan"].ToString().Trim();
+                omodel.HDeleteDate = Ds.Tables[0].Rows[0]["HDeleteDate"].ToString().Trim();
+                omodel.HDeleteMan = Ds.Tables[0].Rows[0]["HDeleteMan"].ToString().Trim();
+                //========================================================
+                ////==
+                //omodel.HWHID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HWHID"]);
+                //omodel.HSCWHID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HSCWHID"]);
+                //omodel.HSupID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HSupID"]);
+                //omodel.HEmpID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HEmpID"]);
+                //omodel.HMangerID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HMangerID"]);
+                omodel.HSourceID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HSourceID"]);
+                omodel.HICMOInterID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HICMOInterID"]);
+                omodel.HICMOBillNo = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HICMOBillNo"]);
+                omodel.HICMOQty = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HICMOQty"]);;
+                omodel.HProcExchInterID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HProcExchInterID"]);
+                omodel.HProcExchEntryID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HProcExchEntryID"]);
+                omodel.HProcExchBillNo = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HProcExchBillNo"]);
+                omodel.HProcExchQty = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HProcExchQty"]);
+                omodel.HMaterID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HMaterID"]);
+                omodel.HFirstCheckEmp = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HFirstCheckEmp"]);
+                omodel.HLastResult = DBUtility.ClsPub.isBool(Ds.Tables[0].Rows[0]["HLastResult"]);
+
+                //omodel.HRedBlueFlag = DBUtility.ClsPub.isBool(Ds.Tables[0].Rows[0]["HRedBlueFlag"]);
+                //
+                
+                //寰幆
+                DataSet DsSub ;
+                DsSub = oCn.RunProcReturn("Select * from QC_StockCheckBillSub Where HInterID=" + lngBillKey.ToString() + " order by HEntryID ", "QC_StockCheckBillSub");
+                DetailColl.Clear();//娓呯┖
+                for (int i = 0; i < DsSub.Tables[0].Rows.Count; i++)
+                {
+                    Model.ClsQC_StockCheckBillSub oSub = new Model.ClsQC_StockCheckBillSub();
+                    // 鍥哄畾璧嬪��===============================================
+                    oSub.HInterID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HInterID"]);
+                    oSub.HBillNo_bak = DBUtility.ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HBillNo_bak"]);
+                    oSub.HEntryID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HEntryID"]);
+                    oSub.HCloseMan = DBUtility.ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HCloseMan"]);
+                    oSub.HEntryCloseDate = DBUtility.ClsPub.isDate(DsSub.Tables[0].Rows[i]["HEntryCloseDate"]);
+                    oSub.HCloseType = DBUtility.ClsPub.isBool(DsSub.Tables[0].Rows[i]["HCloseType"]);
+                    oSub.HRemark = DsSub.Tables[0].Rows[i]["HRemark"].ToString().Trim();
+                    oSub.HSourceInterID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HSourceInterID"]);
+                    oSub.HSourceEntryID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HSourceEntryID"]);
+                    oSub.HSourceBillType = DsSub.Tables[0].Rows[i]["HSourceBillType"].ToString().Trim();
+                    oSub.HSourceBillNo = DsSub.Tables[0].Rows[i]["HSourceBillNo"].ToString().Trim();
+                    oSub.HRelationQty = DBUtility.ClsPub.isDoule(DsSub.Tables[0].Rows[i]["HRelationQty"]);
+                    oSub.HRelationMoney = DBUtility.ClsPub.isDoule(DsSub.Tables[0].Rows[i]["HRelationMoney"]);
+                    //===================================================
+                    oSub.HQCCheckItemID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HQCCheckItemID"]);
+                    oSub.HQCStd = DBUtility.ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HQCStd"]);
+                    oSub.HUnit = DBUtility.ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HUnit"]);
+                    oSub.HQCNote = DBUtility.ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HQCNote"]);
+                    oSub.HResult = DBUtility.ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HResult"]);
+                    oSub.HMax = DBUtility.ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HMax"]);
+                    oSub.HMin = DBUtility.ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HMin"]);
+                    oSub.HAvg = DBUtility.ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HAvg"]);
+                    //oSub.HDotCheckItemID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HDotCheckItemID"]);
+                    //oSub.HDotCheckItem = DBUtility.ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HDotCheckItem"]);
+                    //oSub.HDotCheckPart = DBUtility.ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HDotCheckPart"]);
+                    //oSub.HClaim = DBUtility.ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HClaim"]);
+                    //oSub.HManagerID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HManagerID"]);
+                    //oSub.HWorkerID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HWorkerID"]);
+                    //oSub.HWorkerNumber = DsSub.Tables[0].Rows[i]["HWorkerNumber"].ToString().Trim();
+                    //oSub.HSourceID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HSourceID"]);
+                    //oSub.HMaterID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HMaterID"]);
+                    //oSub.HPropertyID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HPropertyID"]);
+                    //oSub.HSecUnitID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HSecUnitID"]);
+                    //oSub.HSecUnitRate = DBUtility.ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HSecUnitRate"]);
+                    //oSub.HUnitID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HUnitID"]);
+                    //oSub.HBatchNo = DBUtility.ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HBatchNo"]);
+                    //oSub.HQtyMust = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HQtyMust"]);
+                    //oSub.HQty = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HQty"]);
+                    //oSub.HPrice = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HPrice"]);
+                    //oSub.HMoney = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HMoney"]);
+                    //oSub.HDesignLife = DBUtility.ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HDesignLife"]);
+                    //oSub.HLeaveLife = DBUtility.ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HLeaveLife"]);
+                    //oSub.HUseLife = DBUtility.ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HUseLife"]);
+                    //oSub.HWHID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HWHID"]);
+                    //oSub.HSPID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HSPID"]);
+                    //oSub.HSCWHID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HSCWHID"]);
+                    //oSub.HSCSPID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HSCSPID"]);
+                    //oSub.HSPGroupID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HSPGroupID"]);
+
+                    //oSub.HQtyMust = DBUtility.ClsPub.isDoule(DsSub.Tables[0].Rows[i]["HQtyMust"]);
+                    //oSub.HBadCount = DBUtility.ClsPub.isDoule(DsSub.Tables[0].Rows[i]["HBadCount"]);
+                    //oSub.HWasterQty = DBUtility.ClsPub.isDoule(DsSub.Tables[0].Rows[i]["HWasterQty"]);
+                    //oSub.HSeOrderInterID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HSeOrderInterID"]);
+                    //oSub.HSeOrderEntryID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HSeOrderEntryID"]);
+                    //oSub.HSeOrderBillNo = DsSub.Tables[0].Rows[i]["HSeOrderBillNo"].ToString().Trim();
+                    
+                    DetailColl.Add(oSub);
+                }
+                //DataSet DsSub2;
+                //DsSub2 = oCn.RunProcReturn("Select * from QC_StockCheckBillSub_Item Where HInterID=" + lngBillKey.ToString() + " order by HEntryID ", "QC_StockCheckBillSub_Item");
+                //DetailColl1.Clear();//娓呯┖
+                //for (int i = 0; i < DsSub2.Tables[0].Rows.Count; i++)
+                //{
+                //    Model.ClsQC_StockCheckBillSub_Item oSub2 = new Model.ClsQC_StockCheckBillSub_Item();
+                //    // 鍥哄畾璧嬪��===============================================
+                //    oSub2.HInterID = DBUtility.ClsPub.isLong(DsSub2.Tables[0].Rows[i]["HInterID"]);
+                //    oSub2.HEntryID = DBUtility.ClsPub.isLong(DsSub2.Tables[0].Rows[i]["HEntryID"]);
+                //    oSub2.HBillNo_bak = DBUtility.ClsPub.isStrNull(DsSub2.Tables[0].Rows[i]["HBillNo_bak"]);
+                //    oSub2.HCloseMan = DBUtility.ClsPub.isStrNull(DsSub2.Tables[0].Rows[i]["HCloseMan"]);
+                //    oSub2.HEntryCloseDate = DBUtility.ClsPub.isDate(DsSub2.Tables[0].Rows[i]["HEntryCloseDate"]);
+                //    oSub2.HCloseType = DBUtility.ClsPub.isBool(DsSub2.Tables[0].Rows[i]["HCloseType"]);
+                //    oSub2.HRemark = DBUtility.ClsPub.isStrNull(DsSub2.Tables[0].Rows[i]["HRemark"]);
+                //    oSub2.HSourceInterID = DBUtility.ClsPub.isLong(DsSub2.Tables[0].Rows[i]["HSourceInterID"]);
+                //    oSub2.HSourceEntryID = DBUtility.ClsPub.isLong(DsSub2.Tables[0].Rows[i]["HSourceEntryID"]);
+                //    oSub2.HSourceBillType = DsSub2.Tables[0].Rows[i]["HSourceBillType"].ToString().Trim();
+                //    oSub2.HSourceBillNo = DsSub2.Tables[0].Rows[i]["HSourceBillNo"].ToString().Trim();
+                //    oSub2.HRelationQty = DBUtility.ClsPub.isDoule(DsSub2.Tables[0].Rows[i]["HRelationQty"]);
+                //    oSub2.HRelationMoney = DBUtility.ClsPub.isDoule(DsSub2.Tables[0].Rows[i]["HRelationMoney"]);
+                //    //===================================================
+                //    //oSub.HWorkerID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HWorkerID"]);
+                //    //oSub.HWorkerNumber = DsSub.Tables[0].Rows[i]["HWorkerNumber"].ToString().Trim();
+                //    //oSub.HSourceID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HSourceID"]);
+                //    //oSub.HMaterID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HMaterID"]);
+                //    //oSub.HPropertyID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HPropertyID"]);
+                //    //oSub.HSecUnitID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HSecUnitID"]);
+                //    //oSub.HSecUnitRate = DBUtility.ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HSecUnitRate"]);
+                //    //oSub.HUnitID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HUnitID"]);
+                //    //oSub.HBatchNo = DBUtility.ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HBatchNo"]);
+                //    //oSub.HQtyMust = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HQtyMust"]);
+                //    //oSub.HQty = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HQty"]);
+                //    //oSub.HPrice = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HPrice"]);
+                //    //oSub.HMoney = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HMoney"]);
+                //    //oSub.HDesignLife = DBUtility.ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HDesignLife"]);
+                //    //oSub.HLeaveLife = DBUtility.ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HLeaveLife"]);
+                //    //oSub.HUseLife = DBUtility.ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HUseLife"]);
+                //    //oSub.HWHID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HWHID"]);
+                //    //oSub.HSPID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HSPID"]);
+                //    //oSub.HSCWHID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HSCWHID"]);
+                //    //oSub.HSCSPID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HSCSPID"]);
+                //    //oSub.HSPGroupID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HSPGroupID"]);
+                //    oSub2.HMaintainItemID = DBUtility.ClsPub.isLong(DsSub2.Tables[0].Rows[i]["HMaintainItemID"]);
+                //    oSub2.HMaintainItem = DBUtility.ClsPub.isStrNull(DsSub2.Tables[0].Rows[i]["HMaintainItem"]);
+                //    oSub2.HMaintainPart = DBUtility.ClsPub.isStrNull(DsSub2.Tables[0].Rows[i]["HMaintainPart"]);
+                //    oSub2.HClaim = DBUtility.ClsPub.isStrNull(DsSub2.Tables[0].Rows[i]["HClaim"]);
+                //    oSub2.HManagerID = DBUtility.ClsPub.isLong(DsSub2.Tables[0].Rows[i]["HManagerID"]);
+                //    //oSub.HQtyMust = DBUtility.ClsPub.isDoule(DsSub.Tables[0].Rows[i]["HQtyMust"]);
+                //    //oSub.HBadCount = DBUtility.ClsPub.isDoule(DsSub.Tables[0].Rows[i]["HBadCount"]);
+                //    //oSub.HWasterQty = DBUtility.ClsPub.isDoule(DsSub.Tables[0].Rows[i]["HWasterQty"]);
+                //    //oSub.HSeOrderInterID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HSeOrderInterID"]);
+                //    //oSub.HSeOrderEntryID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HSeOrderEntryID"]);
+                //    //oSub.HSeOrderBillNo = DsSub.Tables[0].Rows[i]["HSeOrderBillNo"].ToString().Trim();
+
+                //    DetailColl1.Add(oSub2);
+                //}
+                sReturn = "鏄剧ず鍗曟嵁鎴愬姛锛�";
+                return true;
+            }
+            catch (Exception e)
+            {
+                sReturn = e.Message;
+                throw (e);
+            }
+        }
+
+        //瀹℃牳
+        public bool CheckBill(Int64 lngBillKey, ref string sReturn)
+        {
+
+            try
+            {
+                string HChecker = DBUtility.ClsPub.CurUserName;
+                string HCheckDate = DBUtility.ClsPub.GetServerDate(-1);
+                oCn.RunProc(" Update " + MvarItemKey + " set HChecker='" + HChecker + "',HCheckDate='" + HCheckDate + "' Where HInterID=" + lngBillKey.ToString());
+                //鐢熸垚璋冩嫧鍗�
+                //寰楀埌璋冩嫧鍗� mainid 鍗曟嵁鍙�
+                //long NewInterID = DBUtility.ClsPub.CreateBillID("1207", ref DBUtility.ClsPub.sExeReturnInfo);
+                //string NewBillNo = DBUtility.ClsPub.CreateBillCode("1207", ref DBUtility.ClsPub.sExeReturnInfo, true);//寰楀埌鏂板崟鍙�
+                //oCn.RunProc("exec h_p_Kf_MoveStockBill_Add " + lngBillKey.ToString() + "," + NewInterID.ToString() + ",'" + NewBillNo + "','" + HChecker + "'");
+                //
+                sReturn = "";
+                return true;
+            }
+            catch (Exception e)
+            {
+                sReturn = e.Message;
+                throw (e);
+            }
+        }
+
+
+
+
+        
+    }
+}
diff --git "a/DAL/\350\264\250\346\243\200\347\256\241\347\220\206/ClsQC_WorkSelfCheckBill.cs" "b/DAL/\350\264\250\346\243\200\347\256\241\347\220\206/ClsQC_WorkSelfCheckBill.cs"
new file mode 100644
index 0000000..b4124cd
--- /dev/null
+++ "b/DAL/\350\264\250\346\243\200\347\256\241\347\220\206/ClsQC_WorkSelfCheckBill.cs"
@@ -0,0 +1,420 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Text;
+using System.Data;
+
+namespace DAL
+{
+    public  class ClsQC_WorkSelfCheckBill:DBUtility.ClsXt_BaseBill
+    {
+        public Model.ClsQC_WorkSelfCheckBillMain omodel = new Model.ClsQC_WorkSelfCheckBillMain();
+        public List<Model.ClsQC_WorkSelfCheckBillSub> DetailColl = new List<Model.ClsQC_WorkSelfCheckBillSub>();
+        public List<Model.ClsQC_WorkSelfCheckBillSub_ValueGrid> DetailColl_Value = new List<Model.ClsQC_WorkSelfCheckBillSub_ValueGrid>();   
+        public ClsQC_WorkSelfCheckBill()
+        {
+            base.MvarItemKeySub = "QC_WorkSelfCheckBillSub";
+            base.MvarItemKeySub2 = "QC_WorkSelfCheckBillSub_ValueGrid";
+            base.MvarItemKeySub3 = "";
+            base.MvarItemKeySub4 = "";
+            base.MvarItemKey="QC_WorkSelfCheckBillMain";
+            base.MvarReportTitle="杞﹂棿鑷鍗�";
+            base.BillType= "7518";
+            base.HBillSubType = "7518";
+
+        }
+
+        #region 鍥哄畾浠g爜
+
+        ~ClsQC_WorkSelfCheckBill()
+        {
+            DetailColl = null;
+        }
+       
+        #endregion   鑷畾涔夋柟娉�
+        //淇敼鍗曟嵁
+        public override bool ModifyBill(Int64 lngBillKey, ref string sReturn)
+        {
+            try
+            {
+              
+                oCn.BeginTran();
+                //鏇存柊涓昏〃
+                oCn.RunProc("UpDate QC_WorkSelfCheckBillMain set  " +
+                " HBillNo='" + omodel.HBillNo + "'" +  //鍥哄畾璧嬪��===============
+                ",HDate='" + omodel.HDate + "'" +
+                ",HYear='" + omodel.HYear.ToString() + "'" +
+                ",HPeriod='" + omodel.HPeriod.ToString() + "'" +
+                ",HBillStatus='" + omodel.HBillStatus + "'" +
+                ",HRemark='" + omodel.HRemark + "'" +
+                ",HUpDater='" + DBUtility.ClsPub.CurUserName + "'" +
+                ",HUpDateDate=getdate()" +
+                //========================================
+                ",HSourceID=" + omodel.HSourceID.ToString() +
+                ",HICMOInterID=" + omodel.HICMOInterID.ToString() +
+                ",HICMOBillNo='" + omodel.HICMOBillNo + "'" +
+                ",HICMOQty=" + omodel.HICMOQty.ToString() +
+                ",HProcExchInterID=" + omodel.HProcExchInterID.ToString() +
+                ",HProcExchEntryID=" + omodel.HProcExchEntryID.ToString() +
+                ",HProcExchBillNo='" + omodel.HProcExchBillNo + "'" +
+                ",HProcExchQty=" + omodel.HProcExchQty.ToString() +
+                ",HMaterID=" + omodel.HMaterID.ToString() +
+                ",HFirstCheckEmp=" + omodel.HFirstCheckEmp.ToString() +
+                ",HLastResult=" + DBUtility.ClsPub.BoolToString(omodel.HLastResult) +
+                ",HShiftsID=" + omodel.HShiftsID.ToString() +
+                ",HErrTreatment='" + omodel.HErrTreatment + "'" +
+                " where HInterID=" + lngBillKey.ToString());
+                //鍒犻櫎鍏宠仈
+                
+                DeleteRelation(ref sReturn, lngBillKey);
+                //鍒犻櫎瀛愯〃
+                DeleteBillSub(lngBillKey);
+                //鎻掑叆瀛愯〃
+                omodel.HInterID = lngBillKey;
+                //鎻掑叆瀛愯〃
+                foreach (Model.ClsQC_WorkSelfCheckBillSub oSub in DetailColl)
+                {
+                    oCn.RunProc("Insert into QC_WorkSelfCheckBillSub " +
+                      " (HInterID,HBillNo_bak,HEntryID,HCloseMan" +
+                      ",HEntryCloseDate,HCloseType,HRemark,HSourceInterID" +
+                      ",HSourceEntryID,HSourceBillNo,HSourceBillType,HRelationQty,HRelationMoney" +
+                      ",HQCCheckItemID,HQCStd,HUnit,HQCNote,HResult" +
+                      ",HMax,HMin,HAvg,HSampleSchemeID,HSampleQty,HSampleDamageQty,HAcceptQty" +
+                      ",HRejectQty,HSampleUnRightQty,HStatus,HUnitID,HInspectValB,HInspectVal,HTargetValB,HTargetVal" +
+                      ",HUpLimit,HDownLimit,HUpOffSet,HDownOffSet,HKeyInspect,HAnalysisMethod,HInspectInstruMentID,HInspectResult" +
+                      ") values("
+                      + omodel.HInterID.ToString() + ",'" + oSub.HBillNo_bak + "'," + oSub.HEntryID.ToString() + ",'" + oSub.HCloseMan + "'" +
+                      ",getdate()," + Convert.ToString(oSub.HCloseType ? 1 : 0) + ",'" + oSub.HRemark + "'," + oSub.HSourceInterID.ToString() +
+                      "," + oSub.HSourceEntryID.ToString() + ",'" + oSub.HSourceBillNo + "','" + oSub.HSourceBillType + "'," + oSub.HRelationQty.ToString() + "," + oSub.HRelationMoney.ToString() +
+                      "," + oSub.HQCCheckItemID.ToString() + ",'" + oSub.HQCStd + "','" + oSub.HUnit + "','" + oSub.HQCNote + "','" + oSub.HResult + "'" +
+                      ",'" + oSub.HMax + "','" + oSub.HMin + "','" + oSub.HAvg + "'" + "," + oSub.HSampleSchemeID + "," + oSub.HSampleQty +
+                      "," + oSub.HSampleDamageQty + "," + oSub.HAcceptQty + "," + oSub.HRejectQty + "," + oSub.HSampleUnRightQty + ",'" + oSub.HStatus +
+                      "'," + oSub.HUnitID + ",'" + oSub.HInspectValB + "','" + oSub.HInspectVal + "','" + oSub.HTargetValB + "','" + oSub.HTargetVal + "','" + oSub.HUpLimit + "','" + oSub.HDownLimit +
+                      "','" + oSub.HUpOffSet + "','" + oSub.HDownOffSet + "'," + oSub.HKeyInspect + ",'" + oSub.HAnalysisMethod + "'," + oSub.HInspectInstruMentID + ",'" + oSub.HInspectResult + "'" + ") ");
+                }
+
+
+                sReturn = "淇敼鍗曟嵁鎴愬姛锛�";
+                oCn.Commit();
+                return true;
+            }
+            catch (Exception e)
+            {
+                sReturn = e.Message;
+                oCn.RollBack();
+                throw (e);
+            }
+        }
+        //鏂板鍗曟嵁
+        public override bool AddBill(ref string sReturn)
+        {
+            try
+            {
+                //寰楀埌mainid
+                //omodel.HInterID = DBUtility.ClsPub.CreateBillID(BillType, ref DBUtility.ClsPub.sExeReturnInfo);
+                //鑻AINDI閲嶅鍒欓噸鏂拌幏鍙�
+
+              
+                oCn.BeginTran();
+                //涓昏〃
+                oCn.RunProc("Insert Into QC_WorkSelfCheckBillMain " +
+                "(HBillType,HBillSubType,HInterID,HBillNo,HBillStatus,HDate,HMaker,HMakeDate" +
+                ",HYear,HPeriod,HRemark" +
+                ",HSourceID,HICMOInterID,HICMOBillNo,HICMOQty,HProcExchInterID,HProcExchEntryID" +
+                ",HProcExchBillNo,HProcExchQty,HMaterID,HFirstCheckEmp,HLastResult" +
+                ",HMainSourceInterID,HMainSourceEntryID,HMainSourceBillNo,HMainSourceBillType,HICMOEntryID,HQCSchemeID,HShiftsID,HErrTreatment" +
+                ") " +
+                " values('" + this.BillType + "','" + this.HBillSubType + "'," + omodel.HInterID.ToString() + ",'" + omodel.HBillNo + "'," + omodel.HBillStatus.ToString() + ",'" + omodel.HDate + "','" + omodel.HMaker + "',getdate()" +
+                "," + omodel.HYear.ToString() + "," + omodel.HPeriod.ToString() + ",'" + omodel.HRemark + "'" +
+                "," + omodel.HSourceID.ToString() + "," + omodel.HICMOInterID.ToString() + ",'" + omodel.HICMOBillNo + "'," + omodel.HICMOQty.ToString() + "," + omodel.HProcExchInterID.ToString() + "," + omodel.HProcExchEntryID.ToString() +
+                ",'" + omodel.HProcExchBillNo + "'," + omodel.HProcExchQty.ToString() + "," + omodel.HMaterID.ToString() + "," + omodel.HFirstCheckEmp.ToString() + ", " + DBUtility.ClsPub.BoolToString(omodel.HLastResult) +
+                "," + omodel.HMainSourceInterID + "," + omodel.HMainSourceEntryID + ",'" + omodel.HMainSourceBillNo + "','" + omodel.HMainSourceBillType  + "'," + omodel.HICMOEntryID + "," + omodel.HQCSchemeID + "," + omodel.HShiftsID + ",'" + omodel.HErrTreatment + "'" +
+                ") ");
+                //鎻掑叆瀛愯〃
+                foreach (Model.ClsQC_WorkSelfCheckBillSub oSub in DetailColl)
+                {
+                    oCn.RunProc("Insert into QC_WorkSelfCheckBillSub " +
+                      " (HInterID,HBillNo_bak,HEntryID,HCloseMan" +
+                      ",HEntryCloseDate,HCloseType,HRemark,HSourceInterID" +
+                      ",HSourceEntryID,HSourceBillNo,HSourceBillType,HRelationQty,HRelationMoney" +
+                      ",HQCCheckItemID,HQCStd,HUnit,HQCNote,HResult" +
+                      ",HMax,HMin,HAvg,HSampleSchemeID,HSampleQty,HSampleDamageQty,HAcceptQty" +
+                      ",HRejectQty,HSampleUnRightQty,HStatus,HUnitID,HInspectValB,HInspectVal,HTargetValB,HTargetVal" +
+                      ",HUpLimit,HDownLimit,HUpOffSet,HDownOffSet,HKeyInspect,HAnalysisMethod,HInspectInstruMentID,HInspectResult" +
+                      ") values("
+                      + omodel.HInterID.ToString() + ",'" + oSub.HBillNo_bak + "'," + oSub.HEntryID.ToString() + ",'" + oSub.HCloseMan + "'" +
+                      ",getdate()," + Convert.ToString(oSub.HCloseType ? 1 : 0) + ",'" + oSub.HRemark + "'," + oSub.HSourceInterID.ToString() +
+                      "," + oSub.HSourceEntryID.ToString() + ",'" + oSub.HSourceBillNo + "','" + oSub.HSourceBillType + "'," + oSub.HRelationQty.ToString() + "," + oSub.HRelationMoney.ToString() +
+                      "," + oSub.HQCCheckItemID.ToString() + ",'" + oSub.HQCStd + "','" + oSub.HUnit + "','" + oSub.HQCNote + "','" + oSub.HResult + "'" +
+                      ",'" + oSub.HMax + "','" + oSub.HMin + "','" + oSub.HAvg + "'" + "," + oSub.HSampleSchemeID + "," + oSub.HSampleQty + 
+                      "," + oSub.HSampleDamageQty + "," + oSub.HAcceptQty + "," + oSub.HRejectQty + "," + oSub.HSampleUnRightQty + ",'" + oSub.HStatus +
+                      "'," + oSub.HUnitID + ",'" + oSub.HInspectValB + "','" + oSub.HInspectVal + "','" + oSub.HTargetValB + "','" + oSub.HTargetVal + "','" + oSub.HUpLimit + "','" + oSub.HDownLimit +
+                      "','" + oSub.HUpOffSet + "','" + oSub.HDownOffSet + "'," + oSub.HKeyInspect + ",'" + oSub.HAnalysisMethod + "'," + oSub.HInspectInstruMentID + ",'" + oSub.HInspectResult + "'" + ") ");
+                }
+              
+                sReturn = "鏂板鍗曟嵁鎴愬姛锛�";
+                oCn.Commit();
+                return true;
+            }
+            catch (Exception e)
+            {
+                sReturn = e.Message;
+                oCn.RollBack();
+                throw (e);
+            }
+        }
+
+        //鏂板妫�楠屽��
+        public virtual bool AddValue(ref string sReturn,ref long HInterID, ref long HEntryID)
+        {
+            try
+            {
+                oCn.BeginTran();
+
+                oCn.RunProc("delete from QC_WorkSelfCheckBillSub_ValueGrid where HInterID = " + HInterID + " and HEntryID = " + HEntryID);
+
+                //鎻掑叆瀛愯〃
+                foreach (Model.ClsQC_WorkSelfCheckBillSub_ValueGrid value in DetailColl_Value)
+                {
+                    oCn.RunProc("Insert into QC_WorkSelfCheckBillSub_ValueGrid " +
+                      " (HInterID,HEntryID,HSEQ,HInSpectResult" +
+                      ",HInSpectValue,HInSpectValueB,HInSpectValueT" +
+                      ") values("
+                      + HInterID + "," + HEntryID + "," + value.HSEQ + ",'" + value.HInSpectResult + "'," +
+                      value.HInSpectValue + "," + value.HInSpectValueB + ",'" + value.HInSpectValueT + "'" +
+                      ") ");
+                }
+                sReturn = "鏂板妫�楠屽�兼垚鍔燂紒";
+                oCn.Commit();
+                return true;
+            }
+            catch (Exception e)
+            {
+                sReturn = e.Message;
+                oCn.RollBack();
+                throw (e);
+            }           
+        }
+       
+        //鏄剧ず鍗曟嵁
+        public override bool ShowBill(Int64 lngBillKey, ref string sReturn)
+        {
+            try
+            {
+                //鏌ヨ涓昏〃
+                DataSet Ds ;
+                Ds = oCn.RunProcReturn("Select * from QC_WorkSelfCheckBillMain Where HInterID=" + lngBillKey.ToString(), "QC_WorkSelfCheckBillMain");
+                if(Ds.Tables[0].Rows.Count==0)
+                {
+                    sReturn = "鍗曟嵁鏈壘鍒帮紒";
+                    return false;
+                }
+                //鍥哄畾璧嬪��===========================================
+                omodel.HInterID =DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HInterID"]);
+                omodel.HBillNo = Ds.Tables[0].Rows[0]["HBillNo"].ToString().Trim();
+                omodel.HDate =DBUtility.ClsPub.isDate(Ds.Tables[0].Rows[0]["HDate"]);
+                omodel.HYear = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HYear"]);
+                omodel.HPeriod = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HPeriod"]);
+                omodel.HCheckItemNowID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HCheckItemNowID"]);
+                omodel.HCheckItemNextID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HCheckItemNextID"]);
+                omodel.HCheckFlowID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HCheckFlowID"]);
+                omodel.HRemark = Ds.Tables[0].Rows[0]["HRemark"].ToString().Trim();
+                omodel.HBillStatus = DBUtility.ClsPub.isInt(Ds.Tables[0].Rows[0]["HBillStatus"]);
+                omodel.HBillType = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HBillType"]);
+                omodel.HBillSubType = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HBillSubType"]);
+                omodel.HMaker = Ds.Tables[0].Rows[0]["HMaker"].ToString().Trim();
+                omodel.HMakeDate = Ds.Tables[0].Rows[0]["HMakeDate"].ToString().Trim();
+                omodel.HUpDateDate = Ds.Tables[0].Rows[0]["HUpDateDate"].ToString().Trim();
+                omodel.HUpDater = Ds.Tables[0].Rows[0]["HUpDater"].ToString().Trim();
+                omodel.HBackDate = Ds.Tables[0].Rows[0]["HBackDate"].ToString().Trim();
+                omodel.HBacker = Ds.Tables[0].Rows[0]["HBacker"].ToString().Trim();
+                omodel.HCheckDate = Ds.Tables[0].Rows[0]["HCheckDate"].ToString().Trim();
+                omodel.HChecker = Ds.Tables[0].Rows[0]["HChecker"].ToString().Trim();
+                omodel.HCloseDate = Ds.Tables[0].Rows[0]["HCloseDate"].ToString().Trim();
+                omodel.HCloseMan = Ds.Tables[0].Rows[0]["HCloseMan"].ToString().Trim();
+                omodel.HDeleteDate = Ds.Tables[0].Rows[0]["HDeleteDate"].ToString().Trim();
+                omodel.HDeleteMan = Ds.Tables[0].Rows[0]["HDeleteMan"].ToString().Trim();
+                //========================================================
+                ////==
+                //omodel.HWHID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HWHID"]);
+                //omodel.HSCWHID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HSCWHID"]);
+                //omodel.HSupID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HSupID"]);
+                //omodel.HEmpID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HEmpID"]);
+                //omodel.HMangerID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HMangerID"]);
+                omodel.HSourceID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HSourceID"]);
+                omodel.HICMOInterID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HICMOInterID"]);
+                omodel.HICMOBillNo = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HICMOBillNo"]);
+                omodel.HICMOQty = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HICMOQty"]);;
+                omodel.HProcExchInterID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HProcExchInterID"]);
+                omodel.HProcExchEntryID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HProcExchEntryID"]);
+                omodel.HProcExchBillNo = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HProcExchBillNo"]);
+                omodel.HProcExchQty = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HProcExchQty"]);
+                omodel.HMaterID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HMaterID"]);
+                omodel.HFirstCheckEmp = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HFirstCheckEmp"]);
+                omodel.HLastResult = DBUtility.ClsPub.isBool(Ds.Tables[0].Rows[0]["HLastResult"]);
+
+                //omodel.HRedBlueFlag = DBUtility.ClsPub.isBool(Ds.Tables[0].Rows[0]["HRedBlueFlag"]);
+                //
+                
+                //寰幆
+                DataSet DsSub ;
+                DsSub = oCn.RunProcReturn("Select * from QC_WorkSelfCheckBillSub Where HInterID=" + lngBillKey.ToString() + " order by HEntryID ", "QC_WorkSelfCheckBillSub");
+                DetailColl.Clear();//娓呯┖
+                for (int i = 0; i < DsSub.Tables[0].Rows.Count; i++)
+                {
+                    Model.ClsQC_WorkSelfCheckBillSub oSub = new Model.ClsQC_WorkSelfCheckBillSub();
+                    // 鍥哄畾璧嬪��===============================================
+                    oSub.HInterID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HInterID"]);
+                    oSub.HBillNo_bak = DBUtility.ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HBillNo_bak"]);
+                    oSub.HEntryID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HEntryID"]);
+                    oSub.HCloseMan = DBUtility.ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HCloseMan"]);
+                    oSub.HEntryCloseDate = DBUtility.ClsPub.isDate(DsSub.Tables[0].Rows[i]["HEntryCloseDate"]);
+                    oSub.HCloseType = DBUtility.ClsPub.isBool(DsSub.Tables[0].Rows[i]["HCloseType"]);
+                    oSub.HRemark = DsSub.Tables[0].Rows[i]["HRemark"].ToString().Trim();
+                    oSub.HSourceInterID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HSourceInterID"]);
+                    oSub.HSourceEntryID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HSourceEntryID"]);
+                    oSub.HSourceBillType = DsSub.Tables[0].Rows[i]["HSourceBillType"].ToString().Trim();
+                    oSub.HSourceBillNo = DsSub.Tables[0].Rows[i]["HSourceBillNo"].ToString().Trim();
+                    oSub.HRelationQty = DBUtility.ClsPub.isDoule(DsSub.Tables[0].Rows[i]["HRelationQty"]);
+                    oSub.HRelationMoney = DBUtility.ClsPub.isDoule(DsSub.Tables[0].Rows[i]["HRelationMoney"]);
+                    //===================================================
+                    oSub.HQCCheckItemID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HQCCheckItemID"]);
+                    oSub.HQCStd = DBUtility.ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HQCStd"]);
+                    oSub.HUnit = DBUtility.ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HUnit"]);
+                    oSub.HQCNote = DBUtility.ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HQCNote"]);
+                    oSub.HResult = DBUtility.ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HResult"]);
+                    oSub.HMax = DBUtility.ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HMax"]);
+                    oSub.HMin = DBUtility.ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HMin"]);
+                    oSub.HAvg = DBUtility.ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HAvg"]);
+                    //oSub.HDotCheckItemID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HDotCheckItemID"]);
+                    //oSub.HDotCheckItem = DBUtility.ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HDotCheckItem"]);
+                    //oSub.HDotCheckPart = DBUtility.ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HDotCheckPart"]);
+                    //oSub.HClaim = DBUtility.ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HClaim"]);
+                    //oSub.HManagerID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HManagerID"]);
+                    //oSub.HWorkerID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HWorkerID"]);
+                    //oSub.HWorkerNumber = DsSub.Tables[0].Rows[i]["HWorkerNumber"].ToString().Trim();
+                    //oSub.HSourceID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HSourceID"]);
+                    //oSub.HMaterID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HMaterID"]);
+                    //oSub.HPropertyID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HPropertyID"]);
+                    //oSub.HSecUnitID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HSecUnitID"]);
+                    //oSub.HSecUnitRate = DBUtility.ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HSecUnitRate"]);
+                    //oSub.HUnitID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HUnitID"]);
+                    //oSub.HBatchNo = DBUtility.ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HBatchNo"]);
+                    //oSub.HQtyMust = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HQtyMust"]);
+                    //oSub.HQty = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HQty"]);
+                    //oSub.HPrice = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HPrice"]);
+                    //oSub.HMoney = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HMoney"]);
+                    //oSub.HDesignLife = DBUtility.ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HDesignLife"]);
+                    //oSub.HLeaveLife = DBUtility.ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HLeaveLife"]);
+                    //oSub.HUseLife = DBUtility.ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HUseLife"]);
+                    //oSub.HWHID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HWHID"]);
+                    //oSub.HSPID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HSPID"]);
+                    //oSub.HSCWHID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HSCWHID"]);
+                    //oSub.HSCSPID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HSCSPID"]);
+                    //oSub.HSPGroupID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HSPGroupID"]);
+
+                    //oSub.HQtyMust = DBUtility.ClsPub.isDoule(DsSub.Tables[0].Rows[i]["HQtyMust"]);
+                    //oSub.HBadCount = DBUtility.ClsPub.isDoule(DsSub.Tables[0].Rows[i]["HBadCount"]);
+                    //oSub.HWasterQty = DBUtility.ClsPub.isDoule(DsSub.Tables[0].Rows[i]["HWasterQty"]);
+                    //oSub.HSeOrderInterID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HSeOrderInterID"]);
+                    //oSub.HSeOrderEntryID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HSeOrderEntryID"]);
+                    //oSub.HSeOrderBillNo = DsSub.Tables[0].Rows[i]["HSeOrderBillNo"].ToString().Trim();
+                    
+                    DetailColl.Add(oSub);
+                }
+                //DataSet DsSub2;
+                //DsSub2 = oCn.RunProcReturn("Select * from QC_WorkSelfCheckBillSub_Item Where HInterID=" + lngBillKey.ToString() + " order by HEntryID ", "QC_WorkSelfCheckBillSub_Item");
+                //DetailColl1.Clear();//娓呯┖
+                //for (int i = 0; i < DsSub2.Tables[0].Rows.Count; i++)
+                //{
+                //    Model.ClsQC_WorkSelfCheckBillSub_Item oSub2 = new Model.ClsQC_WorkSelfCheckBillSub_Item();
+                //    // 鍥哄畾璧嬪��===============================================
+                //    oSub2.HInterID = DBUtility.ClsPub.isLong(DsSub2.Tables[0].Rows[i]["HInterID"]);
+                //    oSub2.HEntryID = DBUtility.ClsPub.isLong(DsSub2.Tables[0].Rows[i]["HEntryID"]);
+                //    oSub2.HBillNo_bak = DBUtility.ClsPub.isStrNull(DsSub2.Tables[0].Rows[i]["HBillNo_bak"]);
+                //    oSub2.HCloseMan = DBUtility.ClsPub.isStrNull(DsSub2.Tables[0].Rows[i]["HCloseMan"]);
+                //    oSub2.HEntryCloseDate = DBUtility.ClsPub.isDate(DsSub2.Tables[0].Rows[i]["HEntryCloseDate"]);
+                //    oSub2.HCloseType = DBUtility.ClsPub.isBool(DsSub2.Tables[0].Rows[i]["HCloseType"]);
+                //    oSub2.HRemark = DBUtility.ClsPub.isStrNull(DsSub2.Tables[0].Rows[i]["HRemark"]);
+                //    oSub2.HSourceInterID = DBUtility.ClsPub.isLong(DsSub2.Tables[0].Rows[i]["HSourceInterID"]);
+                //    oSub2.HSourceEntryID = DBUtility.ClsPub.isLong(DsSub2.Tables[0].Rows[i]["HSourceEntryID"]);
+                //    oSub2.HSourceBillType = DsSub2.Tables[0].Rows[i]["HSourceBillType"].ToString().Trim();
+                //    oSub2.HSourceBillNo = DsSub2.Tables[0].Rows[i]["HSourceBillNo"].ToString().Trim();
+                //    oSub2.HRelationQty = DBUtility.ClsPub.isDoule(DsSub2.Tables[0].Rows[i]["HRelationQty"]);
+                //    oSub2.HRelationMoney = DBUtility.ClsPub.isDoule(DsSub2.Tables[0].Rows[i]["HRelationMoney"]);
+                //    //===================================================
+                //    //oSub.HWorkerID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HWorkerID"]);
+                //    //oSub.HWorkerNumber = DsSub.Tables[0].Rows[i]["HWorkerNumber"].ToString().Trim();
+                //    //oSub.HSourceID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HSourceID"]);
+                //    //oSub.HMaterID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HMaterID"]);
+                //    //oSub.HPropertyID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HPropertyID"]);
+                //    //oSub.HSecUnitID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HSecUnitID"]);
+                //    //oSub.HSecUnitRate = DBUtility.ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HSecUnitRate"]);
+                //    //oSub.HUnitID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HUnitID"]);
+                //    //oSub.HBatchNo = DBUtility.ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HBatchNo"]);
+                //    //oSub.HQtyMust = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HQtyMust"]);
+                //    //oSub.HQty = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HQty"]);
+                //    //oSub.HPrice = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HPrice"]);
+                //    //oSub.HMoney = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HMoney"]);
+                //    //oSub.HDesignLife = DBUtility.ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HDesignLife"]);
+                //    //oSub.HLeaveLife = DBUtility.ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HLeaveLife"]);
+                //    //oSub.HUseLife = DBUtility.ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HUseLife"]);
+                //    //oSub.HWHID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HWHID"]);
+                //    //oSub.HSPID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HSPID"]);
+                //    //oSub.HSCWHID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HSCWHID"]);
+                //    //oSub.HSCSPID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HSCSPID"]);
+                //    //oSub.HSPGroupID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HSPGroupID"]);
+                //    oSub2.HMaintainItemID = DBUtility.ClsPub.isLong(DsSub2.Tables[0].Rows[i]["HMaintainItemID"]);
+                //    oSub2.HMaintainItem = DBUtility.ClsPub.isStrNull(DsSub2.Tables[0].Rows[i]["HMaintainItem"]);
+                //    oSub2.HMaintainPart = DBUtility.ClsPub.isStrNull(DsSub2.Tables[0].Rows[i]["HMaintainPart"]);
+                //    oSub2.HClaim = DBUtility.ClsPub.isStrNull(DsSub2.Tables[0].Rows[i]["HClaim"]);
+                //    oSub2.HManagerID = DBUtility.ClsPub.isLong(DsSub2.Tables[0].Rows[i]["HManagerID"]);
+                //    //oSub.HQtyMust = DBUtility.ClsPub.isDoule(DsSub.Tables[0].Rows[i]["HQtyMust"]);
+                //    //oSub.HBadCount = DBUtility.ClsPub.isDoule(DsSub.Tables[0].Rows[i]["HBadCount"]);
+                //    //oSub.HWasterQty = DBUtility.ClsPub.isDoule(DsSub.Tables[0].Rows[i]["HWasterQty"]);
+                //    //oSub.HSeOrderInterID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HSeOrderInterID"]);
+                //    //oSub.HSeOrderEntryID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HSeOrderEntryID"]);
+                //    //oSub.HSeOrderBillNo = DsSub.Tables[0].Rows[i]["HSeOrderBillNo"].ToString().Trim();
+
+                //    DetailColl1.Add(oSub2);
+                //}
+                sReturn = "鏄剧ず鍗曟嵁鎴愬姛锛�";
+                return true;
+            }
+            catch (Exception e)
+            {
+                sReturn = e.Message;
+                throw (e);
+            }
+        }
+
+        //瀹℃牳
+        public bool CheckBill(Int64 lngBillKey, ref string sReturn)
+        {
+
+            try
+            {
+                string HChecker = DBUtility.ClsPub.CurUserName;
+                string HCheckDate = DBUtility.ClsPub.GetServerDate(-1);
+                oCn.RunProc(" Update " + MvarItemKey + " set HChecker='" + HChecker + "',HCheckDate='" + HCheckDate + "' Where HInterID=" + lngBillKey.ToString());
+                //鐢熸垚璋冩嫧鍗�
+                //寰楀埌璋冩嫧鍗� mainid 鍗曟嵁鍙�
+                //long NewInterID = DBUtility.ClsPub.CreateBillID("1207", ref DBUtility.ClsPub.sExeReturnInfo);
+                //string NewBillNo = DBUtility.ClsPub.CreateBillCode("1207", ref DBUtility.ClsPub.sExeReturnInfo, true);//寰楀埌鏂板崟鍙�
+                //oCn.RunProc("exec h_p_Kf_MoveStockBill_Add " + lngBillKey.ToString() + "," + NewInterID.ToString() + ",'" + NewBillNo + "','" + HChecker + "'");
+                //
+                sReturn = "";
+                return true;
+            }
+            catch (Exception e)
+            {
+                sReturn = e.Message;
+                throw (e);
+            }
+        }
+
+
+
+
+        
+    }
+}
diff --git "a/DAL/\350\275\246\351\227\264\347\256\241\347\220\206/ClsGy_MaterPreventErrMouldBillMain.cs" "b/DAL/\350\275\246\351\227\264\347\256\241\347\220\206/ClsGy_MaterPreventErrMouldBillMain.cs"
new file mode 100644
index 0000000..9da5edf
--- /dev/null
+++ "b/DAL/\350\275\246\351\227\264\347\256\241\347\220\206/ClsGy_MaterPreventErrMouldBillMain.cs"
@@ -0,0 +1,250 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Text;
+using System.Data;
+
+namespace DAL
+{
+    public  class ClsGy_MaterPreventErrMouldBillMain : DBUtility.ClsXt_BaseBill
+    {
+        public Model.ClsGy_MaterPreventErrMouldBillMain omodel = new Model.ClsGy_MaterPreventErrMouldBillMain();
+        public List<Model.ClsGy_MaterPreventErrMouldBillSub> DetailColl = new List<Model.ClsGy_MaterPreventErrMouldBillSub>();
+
+        public ClsGy_MaterPreventErrMouldBillMain()
+        {
+            base.MvarItemKeySub = "Gy_MaterPreventErrMouldBillSub";
+            base.MvarItemKeySub2 = "";
+            base.MvarItemKeySub3 = "";
+            base.MvarItemKeySub4 = "";
+            base.MvarItemKey= "Gy_MaterPreventErrMouldBillMain";
+            base.MvarReportTitle="浜у搧闃查敊楠岃瘉娓呭崟";
+            base.BillType = "7516";
+            base.HBillSubType = "7516";
+
+        }
+
+        #region 鍥哄畾浠g爜
+
+        ~ClsGy_MaterPreventErrMouldBillMain()
+        {
+            DetailColl = null;
+        }
+       
+        #endregion   鑷畾涔夋柟娉�
+        //淇敼鍗曟嵁
+        public override bool ModifyBill(Int64 lngBillKey, ref string sReturn)
+        {
+            try
+            {
+
+                oCn.BeginTran();
+                //鏇存柊涓昏〃
+                oCn.RunProc("UpDate Gy_MaterPreventErrMouldBillMain set  " +
+                " HBillNo='" + omodel.HBillNo + "'" +  
+                ",HYear='" + omodel.HYear.ToString() + "'" +
+                ",HPeriod='" + omodel.HPeriod.ToString() + "'" +
+                ",HRemark='" + omodel.HRemark + "'" +
+                ",HUpDater='" + omodel.HMaker + "'" +
+                ",HUpDateDate=getdate()" +
+                //========================================
+               
+                ",HMaterID =" + omodel.HMaterID.ToString() +
+              
+                " where HInterID=" + lngBillKey.ToString());
+                //鍒犻櫎鍏宠仈
+                DeleteRelation(ref sReturn, lngBillKey);
+                //鍒犻櫎瀛愯〃
+                DeleteBillSub(lngBillKey);
+
+                //鎻掑叆瀛愯〃
+                omodel.HInterID = lngBillKey;
+                foreach (Model.ClsGy_MaterPreventErrMouldBillSub oSub in DetailColl)
+                {
+                    string subSql = "insert into Gy_MaterPreventErrMouldBillSub " +
+                        "(HInterID,HEntryID,HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HRemark" +
+                        ",HPreventErrMouldID,HPreventErrNote,HLoseMode,HLoseCheck) " +
+                        " values(" +
+                        "" + omodel.HInterID.ToString() +
+                        "," + oSub.HEntryID.ToString() +
+                        "," + oSub.HSourceInterID +
+                        "," + oSub.HSourceEntryID +
+                        ",'" + oSub.HSourceBillNo +
+                        "','" + oSub.HSourceBillType +
+                        "','" + oSub.HRemark +
+                        "','" + oSub.HPreventErrMouldID +
+                        "','" + oSub.HPreventErrNote +
+                        "','" + oSub.HLoseMode +
+                        "','" + oSub.HLoseCheck +
+                        "')";
+                    oCn.RunProc(subSql);
+                }
+
+
+                sReturn = "淇敼鍗曟嵁鎴愬姛锛�";
+                oCn.Commit();
+                return true;
+            }
+            catch (Exception e)
+            {
+                sReturn = e.Message;
+                oCn.RollBack();
+                throw (e);
+            }
+        }
+        //鏂板鍗曟嵁
+        public override bool AddBill(ref string sReturn)
+        {
+            try
+            {
+
+                DataSet ds;
+
+                oCn.BeginTran();
+
+                //妫�鏌ヤ富琛ㄥ唴鐮佹槸鍚﹂噸澶嶏紝鑻ラ噸澶嶅垯閲嶆柊鐢熸垚骞剁户缁鏌ワ紝鐩村埌涓嶅啀閲嶅
+                while (true)
+                {
+                    ds = oCn.RunProcReturn("select * from Gy_MaterPreventErrMouldBillMain where HInterID = " + omodel.HInterID, "Gy_MaterPreventErrMouldBillMain");
+                    if (ds != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        omodel.HInterID = DBUtility.ClsPub.CreateBillID(BillType, ref DBUtility.ClsPub.sExeReturnInfo);
+                    }
+                    else
+                    {
+                        break;
+                    }
+                }
+
+                //涓昏〃
+                string mainSql = "insert into Gy_MaterPreventErrMouldBillMain" +
+                    "(HYear,HPeriod,HBillType,HBillSubType,HInterID,HDate,HBillNo,HRemark,HMaker,HMakeDate" +
+                    ",HMaterID) " +
+                    "values(" +
+                    "" + (omodel.HYear.ToString() != "0" ? omodel.HYear.ToString() : DateTime.Now.Year.ToString()) +
+                    "," + omodel.HPeriod.ToString() +
+                    ",'" + this.BillType +
+                    "','" + this.HBillSubType +
+                    "'," + omodel.HInterID +
+                    ",'" + omodel.HDate +
+                    "','" + omodel.HBillNo +
+                    "','" + omodel.HRemark +
+                    "','" + omodel.HMaker +
+                    "','" + omodel.HMakeDate +                  
+                    "','" + omodel.HMaterID +                  
+                    "')";
+
+                oCn.RunProc(mainSql);
+
+                //鎻掑叆瀛愯〃
+                foreach (Model.ClsGy_MaterPreventErrMouldBillSub oSub in DetailColl)
+                {
+                    string subSql = "insert into Gy_MaterPreventErrMouldBillSub " +
+                        "(HInterID,HEntryID,HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HRemark" +
+                        ",HPreventErrMouldID,HPreventErrNote,HLoseMode,HLoseCheck) " +
+                        " values(" +
+                        "" + omodel.HInterID.ToString() +
+                        "," + oSub.HEntryID.ToString() +
+                        "," + oSub.HSourceInterID +
+                        "," + oSub.HSourceEntryID +
+                        ",'" + oSub.HSourceBillNo +
+                        "','" + oSub.HSourceBillType +
+                        "','" + oSub.HRemark +
+                        "','" + oSub.HPreventErrMouldID +
+                        "','" + oSub.HPreventErrNote +
+                        "','" + oSub.HLoseMode +
+                        "','" + oSub.HLoseCheck +
+                        "')";
+                    oCn.RunProc(subSql);
+                }
+
+                sReturn = "鏂板鍗曟嵁鎴愬姛锛�";
+                oCn.Commit();
+                return true;
+            }
+            catch (Exception e)
+            {
+                sReturn = e.Message;
+                oCn.RollBack();
+                throw (e);
+            }
+        }
+        //鏄剧ず鍗曟嵁
+        public override bool ShowBill(Int64 lngBillKey, ref string sReturn)
+        {
+            try
+            {
+                //鏌ヨ涓昏〃
+                DataSet Ds ;
+                Ds = oCn.RunProcReturn("Select * from Gy_MaterPreventErrMouldBillMain Where HInterID=" + lngBillKey.ToString(), "Gy_MaterPreventErrMouldBillMain");
+                if(Ds.Tables[0].Rows.Count==0)
+                {
+                    sReturn = "鍗曟嵁鏈壘鍒帮紒";
+                    return false;
+                }
+                //鍥哄畾璧嬪��===========================================
+                omodel.HInterID =DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HInterID"]);
+                omodel.HBillNo = Ds.Tables[0].Rows[0]["HBillNo"].ToString().Trim();
+                omodel.HDate =DBUtility.ClsPub.isDate(Ds.Tables[0].Rows[0]["HDate"]);
+                omodel.HYear = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HYear"]);
+                omodel.HPeriod = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HPeriod"]);
+                omodel.HCheckItemNowID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HCheckItemNowID"]);
+                omodel.HCheckItemNextID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HCheckItemNextID"]);
+                omodel.HCheckFlowID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HCheckFlowID"]);
+                omodel.HRemark = Ds.Tables[0].Rows[0]["HRemark"].ToString().Trim();
+                omodel.HBillStatus = DBUtility.ClsPub.isInt(Ds.Tables[0].Rows[0]["HBillStatus"]);
+                omodel.HBillType = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HBillType"]);
+                omodel.HBillSubType = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HBillSubType"]);
+                omodel.HMaker = Ds.Tables[0].Rows[0]["HMaker"].ToString().Trim();
+                omodel.HMakeDate = Ds.Tables[0].Rows[0]["HMakeDate"].ToString().Trim();
+                omodel.HUpDateDate = Ds.Tables[0].Rows[0]["HUpDateDate"].ToString().Trim();
+                omodel.HUpDater = Ds.Tables[0].Rows[0]["HUpDater"].ToString().Trim();
+                omodel.HBackDate = Ds.Tables[0].Rows[0]["HBackDate"].ToString().Trim();
+                omodel.HBacker = Ds.Tables[0].Rows[0]["HBacker"].ToString().Trim();
+                omodel.HCheckDate = Ds.Tables[0].Rows[0]["HCheckDate"].ToString().Trim();
+                omodel.HChecker = Ds.Tables[0].Rows[0]["HChecker"].ToString().Trim();
+                omodel.HCloseDate = Ds.Tables[0].Rows[0]["HCloseDate"].ToString().Trim();
+                omodel.HCloseMan = Ds.Tables[0].Rows[0]["HCloseMan"].ToString().Trim();
+                omodel.HDeleteDate = Ds.Tables[0].Rows[0]["HDeleteDate"].ToString().Trim();
+                omodel.HDeleteMan = Ds.Tables[0].Rows[0]["HDeleteMan"].ToString().Trim();
+                //========================================================
+              
+                //
+                
+                //寰幆
+                DataSet DsSub ;
+                DsSub = oCn.RunProcReturn("Select * from Gy_MaterPreventErrMouldBillSub Where HInterID=" + lngBillKey.ToString() + " order by HEntryID ", "Sc_WorkBeginDotCheckBillSub");
+                DetailColl.Clear();//娓呯┖
+                for (int i = 0; i < DsSub.Tables[0].Rows.Count; i++)
+                {
+                    Model.ClsGy_MaterPreventErrMouldBillSub oSub = new Model.ClsGy_MaterPreventErrMouldBillSub();
+                    // 鍥哄畾璧嬪��===============================================
+                    oSub.HInterID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HInterID"]);
+                    oSub.HEntryID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HEntryID"]);
+                    oSub.HSourceInterID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HSourceInterID"]);
+                    oSub.HSourceEntryID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HSourceEntryID"]);
+                    oSub.HSourceBillType = DsSub.Tables[0].Rows[i]["HSourceBillType"].ToString().Trim();
+                    oSub.HSourceBillNo = DsSub.Tables[0].Rows[i]["HSourceBillNo"].ToString().Trim();
+                    oSub.HRelationQty = DBUtility.ClsPub.isDoule(DsSub.Tables[0].Rows[i]["HRelationQty"]);
+                    oSub.HRelationMoney = DBUtility.ClsPub.isDoule(DsSub.Tables[0].Rows[i]["HRelationMoney"]); 
+                    oSub.HCloseMan =  DBUtility.ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HCloseMan"]);
+                    oSub.HCloseType = DBUtility.ClsPub.isBool(DsSub.Tables[0].Rows[i]["HCloseType"]);
+                    oSub.HEntryCloseDate = DBUtility.ClsPub.isDate(DsSub.Tables[0].Rows[i]["HEntryCloseDate"]);
+                    oSub.HRemark = DsSub.Tables[0].Rows[i]["HRemark"].ToString().Trim();
+                    //===================================================
+                  
+                    DetailColl.Add(oSub);
+                }
+                sReturn = "鏄剧ず鍗曟嵁鎴愬姛锛�";
+                return true;
+            }
+            catch (Exception e)
+            {
+                sReturn = e.Message;
+                throw (e);
+            }
+        }
+       
+        
+    }
+
+}
diff --git "a/DAL/\350\275\246\351\227\264\347\256\241\347\220\206/ClsGy_WorkBeginDotCheckListBillMain.cs" "b/DAL/\350\275\246\351\227\264\347\256\241\347\220\206/ClsGy_WorkBeginDotCheckListBillMain.cs"
new file mode 100644
index 0000000..7150798
--- /dev/null
+++ "b/DAL/\350\275\246\351\227\264\347\256\241\347\220\206/ClsGy_WorkBeginDotCheckListBillMain.cs"
@@ -0,0 +1,250 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Text;
+using System.Data;
+
+namespace DAL
+{
+    public  class ClsGy_WorkBeginDotCheckListBillMain : DBUtility.ClsXt_BaseBill
+    {
+        public Model.ClsGy_WorkBeginDotCheckListBillMain omodel = new Model.ClsGy_WorkBeginDotCheckListBillMain();
+        public List<Model.ClsGy_WorkBeginDotCheckListBillSub> DetailColl = new List<Model.ClsGy_WorkBeginDotCheckListBillSub>();
+
+        public ClsGy_WorkBeginDotCheckListBillMain()
+        {
+            base.MvarItemKeySub = "Gy_WorkBeginDotCheckListBillSub";
+            base.MvarItemKeySub2 = "";
+            base.MvarItemKeySub3 = "";
+            base.MvarItemKeySub4 = "";
+            base.MvarItemKey= "Gy_WorkBeginDotCheckListBillMain";
+            base.MvarReportTitle="璁惧鍚姩鐐规娓呭崟";
+            base.BillType = "3744";
+            base.HBillSubType = "3744";
+
+        }
+
+        #region 鍥哄畾浠g爜
+
+        ~ClsGy_WorkBeginDotCheckListBillMain()
+        {
+            DetailColl = null;
+        }
+       
+        #endregion   鑷畾涔夋柟娉�
+        //淇敼鍗曟嵁
+        public override bool ModifyBill(Int64 lngBillKey, ref string sReturn)
+        {
+            try
+            {
+
+                oCn.BeginTran();
+                //鏇存柊涓昏〃
+                oCn.RunProc("UpDate Gy_WorkBeginDotCheckListBillMain set  " +
+                " HBillNo='" + omodel.HBillNo + "'" +  
+                ",HYear='" + omodel.HYear.ToString() + "'" +
+                ",HPeriod='" + omodel.HPeriod.ToString() + "'" +
+                ",HRemark='" + omodel.HRemark + "'" +
+                ",HUpDater='" + omodel.HMaker + "'" +
+                ",HUpDateDate=getdate()" +
+                //========================================              
+                ",HMaterID =" + omodel.HMaterID.ToString() +
+                ",HSourceID ='" + omodel.HSourceID.ToString() + "'" +
+                ",HProcID ='" + omodel.HProcID.ToString() + "'" +
+                ",HNote ='" + omodel.HNote + "'" +
+                " where HInterID=" + lngBillKey.ToString());
+                //鍒犻櫎鍏宠仈
+                DeleteRelation(ref sReturn, lngBillKey);
+                //鍒犻櫎瀛愯〃
+                DeleteBillSub(lngBillKey);
+
+                //鎻掑叆瀛愯〃
+                omodel.HInterID = lngBillKey;
+                foreach (Model.ClsGy_WorkBeginDotCheckListBillSub oSub in DetailColl)
+                {
+                    string subSql = "insert into Gy_WorkBeginDotCheckListBillSub " +
+                        "(HInterID,HEntryID,HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HRemark" +
+                        ",HCheckNoteItemID,HCheckPostID) " +
+                        " values(" +
+                        "" + omodel.HInterID.ToString() +
+                        "," + oSub.HEntryID.ToString() +
+                        "," + oSub.HSourceInterID +
+                        "," + oSub.HSourceEntryID +
+                        ",'" + oSub.HSourceBillNo +
+                        "','" + oSub.HSourceBillType +
+                        "','" + oSub.HRemark +
+                        "','" + oSub.HCheckNoteItemID +
+                        "','" + oSub.HCheckPostID +
+                        "')";
+                    oCn.RunProc(subSql);
+                }
+
+
+                sReturn = "淇敼鍗曟嵁鎴愬姛锛�";
+                oCn.Commit();
+                return true;
+            }
+            catch (Exception e)
+            {
+                sReturn = e.Message;
+                oCn.RollBack();
+                throw (e);
+            }
+        }
+        //鏂板鍗曟嵁
+        public override bool AddBill(ref string sReturn)
+        {
+            try
+            {
+
+                DataSet ds;
+
+                oCn.BeginTran();
+
+                //妫�鏌ヤ富琛ㄥ唴鐮佹槸鍚﹂噸澶嶏紝鑻ラ噸澶嶅垯閲嶆柊鐢熸垚骞剁户缁鏌ワ紝鐩村埌涓嶅啀閲嶅
+                while (true)
+                {
+                    ds = oCn.RunProcReturn("select * from Gy_WorkBeginDotCheckListBillMain where HInterID = " + omodel.HInterID, "Gy_WorkBeginDotCheckListBillMain");
+                    if (ds != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        omodel.HInterID = DBUtility.ClsPub.CreateBillID(BillType, ref DBUtility.ClsPub.sExeReturnInfo);
+                    }
+                    else
+                    {
+                        break;
+                    }
+                }
+
+                //涓昏〃
+                string mainSql = "insert into Gy_WorkBeginDotCheckListBillMain" +
+                    "(HYear,HPeriod,HBillType,HBillSubType,HInterID,HDate,HBillNo,HRemark,HMaker,HMakeDate" +
+                    ",HMaterID,HSourceID,HProcID,HNote) " +
+                    "values(" +
+                    "" + (omodel.HYear.ToString() != "0" ? omodel.HYear.ToString() : DateTime.Now.Year.ToString()) +
+                    "," + omodel.HPeriod.ToString() +
+                    ",'" + this.BillType +
+                    "','" + this.HBillSubType +
+                    "'," + omodel.HInterID +
+                    ",'" + omodel.HDate +
+                    "','" + omodel.HBillNo +
+                    "','" + omodel.HRemark +
+                    "','" + omodel.HMaker +
+                    "','" + omodel.HMakeDate +                 
+                    "','" + omodel.HMaterID +
+                    "','" + omodel.HSourceID +
+                    "','" + omodel.HProcID +                   
+                    "','" + omodel.HNote +
+                    "')";
+
+                oCn.RunProc(mainSql);
+
+                //鎻掑叆瀛愯〃
+                foreach (Model.ClsGy_WorkBeginDotCheckListBillSub oSub in DetailColl)
+                {
+                    string subSql = "insert into Gy_WorkBeginDotCheckListBillSub " +
+                        "(HInterID,HEntryID,HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HRemark" +
+                        ",HCheckNoteItemID,HCheckPostID) " +
+                        " values(" +
+                        "" + omodel.HInterID.ToString() +
+                        "," + oSub.HEntryID.ToString() +
+                        "," + oSub.HSourceInterID +
+                        "," + oSub.HSourceEntryID +
+                        ",'" + oSub.HSourceBillNo +
+                        "','" + oSub.HSourceBillType +
+                        "','" + oSub.HRemark +
+                        "','" + oSub.HCheckNoteItemID +
+                        "','" + oSub.HCheckPostID +
+                        "')";
+                    oCn.RunProc(subSql);
+                }
+
+                sReturn = "鏂板鍗曟嵁鎴愬姛锛�";
+                oCn.Commit();
+                return true;
+            }
+            catch (Exception e)
+            {
+                sReturn = e.Message;
+                oCn.RollBack();
+                throw (e);
+            }
+        }
+        //鏄剧ず鍗曟嵁
+        public override bool ShowBill(Int64 lngBillKey, ref string sReturn)
+        {
+            try
+            {
+                //鏌ヨ涓昏〃
+                DataSet Ds ;
+                Ds = oCn.RunProcReturn("Select * from Gy_WorkBeginDotCheckListBillMain Where HInterID=" + lngBillKey.ToString(), "Gy_WorkBeginDotCheckListBillMain");
+                if(Ds.Tables[0].Rows.Count==0)
+                {
+                    sReturn = "鍗曟嵁鏈壘鍒帮紒";
+                    return false;
+                }
+                //鍥哄畾璧嬪��===========================================
+                omodel.HInterID =DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HInterID"]);
+                omodel.HBillNo = Ds.Tables[0].Rows[0]["HBillNo"].ToString().Trim();
+                omodel.HDate =DBUtility.ClsPub.isDate(Ds.Tables[0].Rows[0]["HDate"]);
+                omodel.HYear = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HYear"]);
+                omodel.HPeriod = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HPeriod"]);
+                omodel.HCheckItemNowID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HCheckItemNowID"]);
+                omodel.HCheckItemNextID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HCheckItemNextID"]);
+                omodel.HCheckFlowID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HCheckFlowID"]);
+                omodel.HRemark = Ds.Tables[0].Rows[0]["HRemark"].ToString().Trim();
+                omodel.HBillStatus = DBUtility.ClsPub.isInt(Ds.Tables[0].Rows[0]["HBillStatus"]);
+                omodel.HBillType = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HBillType"]);
+                omodel.HBillSubType = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HBillSubType"]);
+                omodel.HMaker = Ds.Tables[0].Rows[0]["HMaker"].ToString().Trim();
+                omodel.HMakeDate = Ds.Tables[0].Rows[0]["HMakeDate"].ToString().Trim();
+                omodel.HUpDateDate = Ds.Tables[0].Rows[0]["HUpDateDate"].ToString().Trim();
+                omodel.HUpDater = Ds.Tables[0].Rows[0]["HUpDater"].ToString().Trim();
+                omodel.HBackDate = Ds.Tables[0].Rows[0]["HBackDate"].ToString().Trim();
+                omodel.HBacker = Ds.Tables[0].Rows[0]["HBacker"].ToString().Trim();
+                omodel.HCheckDate = Ds.Tables[0].Rows[0]["HCheckDate"].ToString().Trim();
+                omodel.HChecker = Ds.Tables[0].Rows[0]["HChecker"].ToString().Trim();
+                omodel.HCloseDate = Ds.Tables[0].Rows[0]["HCloseDate"].ToString().Trim();
+                omodel.HCloseMan = Ds.Tables[0].Rows[0]["HCloseMan"].ToString().Trim();
+                omodel.HDeleteDate = Ds.Tables[0].Rows[0]["HDeleteDate"].ToString().Trim();
+                omodel.HDeleteMan = Ds.Tables[0].Rows[0]["HDeleteMan"].ToString().Trim();
+                //========================================================
+              
+                //
+                
+                //寰幆
+                DataSet DsSub ;
+                DsSub = oCn.RunProcReturn("Select * from Gy_WorkBeginDotCheckListBillSub Where HInterID=" + lngBillKey.ToString() + " order by HEntryID ", "Gy_WorkBeginDotCheckListBillSub");
+                DetailColl.Clear();//娓呯┖
+                for (int i = 0; i < DsSub.Tables[0].Rows.Count; i++)
+                {
+                    Model.ClsGy_WorkBeginDotCheckListBillSub oSub = new Model.ClsGy_WorkBeginDotCheckListBillSub();
+                    // 鍥哄畾璧嬪��===============================================
+                    oSub.HInterID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HInterID"]);
+                    oSub.HEntryID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HEntryID"]);
+                    oSub.HSourceInterID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HSourceInterID"]);
+                    oSub.HSourceEntryID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HSourceEntryID"]);
+                    oSub.HSourceBillType = DsSub.Tables[0].Rows[i]["HSourceBillType"].ToString().Trim();
+                    oSub.HSourceBillNo = DsSub.Tables[0].Rows[i]["HSourceBillNo"].ToString().Trim();
+                    oSub.HRelationQty = DBUtility.ClsPub.isDoule(DsSub.Tables[0].Rows[i]["HRelationQty"]);
+                    oSub.HRelationMoney = DBUtility.ClsPub.isDoule(DsSub.Tables[0].Rows[i]["HRelationMoney"]); 
+                    oSub.HCloseMan =  DBUtility.ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HCloseMan"]);
+                    oSub.HCloseType = DBUtility.ClsPub.isBool(DsSub.Tables[0].Rows[i]["HCloseType"]);
+                    oSub.HEntryCloseDate = DBUtility.ClsPub.isDate(DsSub.Tables[0].Rows[i]["HEntryCloseDate"]);
+                    oSub.HRemark = DsSub.Tables[0].Rows[i]["HRemark"].ToString().Trim();
+                    //===================================================
+                  
+                    DetailColl.Add(oSub);
+                }
+                sReturn = "鏄剧ず鍗曟嵁鎴愬姛锛�";
+                return true;
+            }
+            catch (Exception e)
+            {
+                sReturn = e.Message;
+                throw (e);
+            }
+        }
+       
+        
+    }
+
+}
diff --git "a/DAL/\350\275\246\351\227\264\347\256\241\347\220\206/ClsQc_PreventErrMouldCheckBillMain.cs" "b/DAL/\350\275\246\351\227\264\347\256\241\347\220\206/ClsQc_PreventErrMouldCheckBillMain.cs"
new file mode 100644
index 0000000..71f34fa
--- /dev/null
+++ "b/DAL/\350\275\246\351\227\264\347\256\241\347\220\206/ClsQc_PreventErrMouldCheckBillMain.cs"
@@ -0,0 +1,256 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Text;
+using System.Data;
+
+namespace DAL
+{
+    public  class ClsQc_PreventErrMouldCheckBillMain : DBUtility.ClsXt_BaseBill
+    {
+        public Model.ClsQc_PreventErrMouldCheckBillMain omodel = new Model.ClsQc_PreventErrMouldCheckBillMain();
+        public List<Model.ClsQc_PreventErrMouldCheckBillSub> DetailColl = new List<Model.ClsQc_PreventErrMouldCheckBillSub>();
+
+        public ClsQc_PreventErrMouldCheckBillMain()
+        {
+            base.MvarItemKeySub = "Qc_PreventErrMouldCheckBillSub";
+            base.MvarItemKeySub2 = "";
+            base.MvarItemKeySub3 = "";
+            base.MvarItemKeySub4 = "";
+            base.MvarItemKey= "Qc_PreventErrMouldCheckBillMain";
+            base.MvarReportTitle="闃查敊楠岃瘉妫�鏌�";
+            base.BillType = "7517";
+            base.HBillSubType = "7517";
+
+        }
+
+        #region 鍥哄畾浠g爜
+
+        ~ClsQc_PreventErrMouldCheckBillMain()
+        {
+            DetailColl = null;
+        }
+       
+        #endregion   鑷畾涔夋柟娉�
+        //淇敼鍗曟嵁
+        public override bool ModifyBill(Int64 lngBillKey, ref string sReturn)
+        {
+            try
+            {
+
+                oCn.BeginTran();
+                //鏇存柊涓昏〃
+                oCn.RunProc("UpDate Qc_PreventErrMouldCheckBillMain set  " +
+                " HBillNo='" + omodel.HBillNo + "'" +  
+                ",HYear='" + omodel.HYear.ToString() + "'" +
+                ",HPeriod='" + omodel.HPeriod.ToString() + "'" +
+                ",HRemark='" + omodel.HRemark + "'" +
+                ",HUpDater='" + omodel.HMaker + "'" +
+                ",HUpDateDate=getdate()" +
+                //========================================
+                ",HMaterID =" + omodel.HMaterID.ToString() +
+                ",HCheckEmpID ='" + omodel.HCheckEmpID.ToString() + "'" +
+                ",HNote ='" + omodel.HNote + "'" +
+                ",HLastResult ='" + omodel.HLastResult + "'" +
+                " where HInterID=" + lngBillKey.ToString());
+                //鍒犻櫎鍏宠仈
+                DeleteRelation(ref sReturn, lngBillKey);
+                //鍒犻櫎瀛愯〃
+                DeleteBillSub(lngBillKey);
+
+                //鎻掑叆瀛愯〃
+                omodel.HInterID = lngBillKey;
+                foreach (Model.ClsQc_PreventErrMouldCheckBillSub oSub in DetailColl)
+                {
+                    string subSql = "insert into Qc_PreventErrMouldCheckBillSub " +
+                        "(HInterID,HEntryID,HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HRemark" +
+                        ",HPreventErrMouldID,HPreventErrNote,HLoseMode,HLoseCheck,HCheckResult) " +
+                        " values(" +
+                        "" + omodel.HInterID.ToString() +
+                        "," + oSub.HEntryID.ToString() +
+                        "," + oSub.HSourceInterID +
+                        "," + oSub.HSourceEntryID +
+                        ",'" + oSub.HSourceBillNo +
+                        "','" + oSub.HSourceBillType +
+                        "','" + oSub.HRemark +
+                        "','" + oSub.HPreventErrMouldID +
+                        "','" + oSub.HPreventErrNote +
+                        "','" + oSub.HLoseMode +
+                        "','" + oSub.HLoseCheck +
+                        "','" + oSub.HCheckResult +
+                        "')";
+                    oCn.RunProc(subSql);
+                }
+
+
+                sReturn = "淇敼鍗曟嵁鎴愬姛锛�";
+                oCn.Commit();
+                return true;
+            }
+            catch (Exception e)
+            {
+                sReturn = e.Message;
+                oCn.RollBack();
+                throw (e);
+            }
+        }
+        //鏂板鍗曟嵁
+        public override bool AddBill(ref string sReturn)
+        {
+            try
+            {
+
+                DataSet ds;
+
+                oCn.BeginTran();
+
+                //妫�鏌ヤ富琛ㄥ唴鐮佹槸鍚﹂噸澶嶏紝鑻ラ噸澶嶅垯閲嶆柊鐢熸垚骞剁户缁鏌ワ紝鐩村埌涓嶅啀閲嶅
+                while (true)
+                {
+                    ds = oCn.RunProcReturn("select * from Qc_PreventErrMouldCheckBillMain where HInterID = " + omodel.HInterID, "Qc_PreventErrMouldCheckBillMain");
+                    if (ds != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        omodel.HInterID = DBUtility.ClsPub.CreateBillID(BillType, ref DBUtility.ClsPub.sExeReturnInfo);
+                    }
+                    else
+                    {
+                        break;
+                    }
+                }
+
+                //涓昏〃
+                string mainSql = "insert into Qc_PreventErrMouldCheckBillMain" +
+                    "(HYear,HPeriod,HBillType,HBillSubType,HInterID,HDate,HBillNo,HRemark,HMaker,HMakeDate" +
+                    ",HMaterID,HCheckEmpID,HNote,HLastResult) " +
+                    "values(" +
+                    "" + (omodel.HYear.ToString() != "0" ? omodel.HYear.ToString() : DateTime.Now.Year.ToString()) +
+                    "," + omodel.HPeriod.ToString() +
+                    ",'" + this.BillType +
+                    "','" + this.HBillSubType +
+                    "'," + omodel.HInterID +
+                    ",'" + omodel.HDate +
+                    "','" + omodel.HBillNo +
+                    "','" + omodel.HRemark +
+                    "','" + omodel.HMaker +
+                    "','" + omodel.HMakeDate +
+                    "','" + omodel.HMaterID +                  
+                    "','" + omodel.HCheckEmpID +                  
+                    "','" + omodel.HNote +
+                    "','" + omodel.HLastResult +
+                    "')";
+
+                oCn.RunProc(mainSql);
+
+                //鎻掑叆瀛愯〃
+                foreach (Model.ClsQc_PreventErrMouldCheckBillSub oSub in DetailColl)
+                {
+                    string subSql = "insert into Qc_PreventErrMouldCheckBillSub " +
+                        "(HInterID,HEntryID,HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HRemark" +
+                        ",HPreventErrMouldID,HPreventErrNote,HLoseMode,HLoseCheck,HCheckResult) " +
+                        " values(" +
+                        "" + omodel.HInterID.ToString() +
+                        "," + oSub.HEntryID.ToString() +
+                        "," + oSub.HSourceInterID +
+                        "," + oSub.HSourceEntryID +
+                        ",'" + oSub.HSourceBillNo +
+                        "','" + oSub.HSourceBillType +
+                        "','" + oSub.HRemark +
+                        "','" + oSub.HPreventErrMouldID +
+                        "','" + oSub.HPreventErrNote +
+                        "','" + oSub.HLoseMode +
+                        "','" + oSub.HLoseCheck +
+                        "','" + oSub.HCheckResult +
+                        "')";
+                    oCn.RunProc(subSql);
+                }
+
+                sReturn = "鏂板鍗曟嵁鎴愬姛锛�";
+                oCn.Commit();
+                return true;
+            }
+            catch (Exception e)
+            {
+                sReturn = e.Message;
+                oCn.RollBack();
+                throw (e);
+            }
+        }
+        //鏄剧ず鍗曟嵁
+        public override bool ShowBill(Int64 lngBillKey, ref string sReturn)
+        {
+            try
+            {
+                //鏌ヨ涓昏〃
+                DataSet Ds ;
+                Ds = oCn.RunProcReturn("Select * from Qc_PreventErrMouldCheckBillMain Where HInterID=" + lngBillKey.ToString(), "Qc_PreventErrMouldCheckBillMain");
+                if(Ds.Tables[0].Rows.Count==0)
+                {
+                    sReturn = "鍗曟嵁鏈壘鍒帮紒";
+                    return false;
+                }
+                //鍥哄畾璧嬪��===========================================
+                omodel.HInterID =DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HInterID"]);
+                omodel.HBillNo = Ds.Tables[0].Rows[0]["HBillNo"].ToString().Trim();
+                omodel.HDate =DBUtility.ClsPub.isDate(Ds.Tables[0].Rows[0]["HDate"]);
+                omodel.HYear = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HYear"]);
+                omodel.HPeriod = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HPeriod"]);
+                omodel.HCheckItemNowID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HCheckItemNowID"]);
+                omodel.HCheckItemNextID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HCheckItemNextID"]);
+                omodel.HCheckFlowID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HCheckFlowID"]);
+                omodel.HRemark = Ds.Tables[0].Rows[0]["HRemark"].ToString().Trim();
+                omodel.HBillStatus = DBUtility.ClsPub.isInt(Ds.Tables[0].Rows[0]["HBillStatus"]);
+                omodel.HBillType = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HBillType"]);
+                omodel.HBillSubType = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HBillSubType"]);
+                omodel.HMaker = Ds.Tables[0].Rows[0]["HMaker"].ToString().Trim();
+                omodel.HMakeDate = Ds.Tables[0].Rows[0]["HMakeDate"].ToString().Trim();
+                omodel.HUpDateDate = Ds.Tables[0].Rows[0]["HUpDateDate"].ToString().Trim();
+                omodel.HUpDater = Ds.Tables[0].Rows[0]["HUpDater"].ToString().Trim();
+                omodel.HBackDate = Ds.Tables[0].Rows[0]["HBackDate"].ToString().Trim();
+                omodel.HBacker = Ds.Tables[0].Rows[0]["HBacker"].ToString().Trim();
+                omodel.HCheckDate = Ds.Tables[0].Rows[0]["HCheckDate"].ToString().Trim();
+                omodel.HChecker = Ds.Tables[0].Rows[0]["HChecker"].ToString().Trim();
+                omodel.HCloseDate = Ds.Tables[0].Rows[0]["HCloseDate"].ToString().Trim();
+                omodel.HCloseMan = Ds.Tables[0].Rows[0]["HCloseMan"].ToString().Trim();
+                omodel.HDeleteDate = Ds.Tables[0].Rows[0]["HDeleteDate"].ToString().Trim();
+                omodel.HDeleteMan = Ds.Tables[0].Rows[0]["HDeleteMan"].ToString().Trim();
+                //========================================================
+              
+                //
+                
+                //寰幆
+                DataSet DsSub ;
+                DsSub = oCn.RunProcReturn("Select * from Qc_PreventErrMouldCheckBillSub Where HInterID=" + lngBillKey.ToString() + " order by HEntryID ", "Qc_PreventErrMouldCheckBillSub");
+                DetailColl.Clear();//娓呯┖
+                for (int i = 0; i < DsSub.Tables[0].Rows.Count; i++)
+                {
+                    Model.ClsQc_PreventErrMouldCheckBillSub oSub = new Model.ClsQc_PreventErrMouldCheckBillSub();
+                    // 鍥哄畾璧嬪��===============================================
+                    oSub.HInterID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HInterID"]);
+                    oSub.HEntryID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HEntryID"]);
+                    oSub.HSourceInterID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HSourceInterID"]);
+                    oSub.HSourceEntryID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HSourceEntryID"]);
+                    oSub.HSourceBillType = DsSub.Tables[0].Rows[i]["HSourceBillType"].ToString().Trim();
+                    oSub.HSourceBillNo = DsSub.Tables[0].Rows[i]["HSourceBillNo"].ToString().Trim();
+                    oSub.HRelationQty = DBUtility.ClsPub.isDoule(DsSub.Tables[0].Rows[i]["HRelationQty"]);
+                    oSub.HRelationMoney = DBUtility.ClsPub.isDoule(DsSub.Tables[0].Rows[i]["HRelationMoney"]); 
+                    oSub.HCloseMan =  DBUtility.ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HCloseMan"]);
+                    oSub.HCloseType = DBUtility.ClsPub.isBool(DsSub.Tables[0].Rows[i]["HCloseType"]);
+                    oSub.HEntryCloseDate = DBUtility.ClsPub.isDate(DsSub.Tables[0].Rows[i]["HEntryCloseDate"]);
+                    oSub.HRemark = DsSub.Tables[0].Rows[i]["HRemark"].ToString().Trim();
+                    //===================================================
+                  
+                    DetailColl.Add(oSub);
+                }
+                sReturn = "鏄剧ず鍗曟嵁鎴愬姛锛�";
+                return true;
+            }
+            catch (Exception e)
+            {
+                sReturn = e.Message;
+                throw (e);
+            }
+        }
+       
+        
+    }
+
+}
diff --git "a/DAL/\350\275\246\351\227\264\347\256\241\347\220\206/ClsSc_MaterToSourceBill.cs" "b/DAL/\350\275\246\351\227\264\347\256\241\347\220\206/ClsSc_MaterToSourceBill.cs"
index 3a13dcd..2dfc622 100644
--- "a/DAL/\350\275\246\351\227\264\347\256\241\347\220\206/ClsSc_MaterToSourceBill.cs"
+++ "b/DAL/\350\275\246\351\227\264\347\256\241\347\220\206/ClsSc_MaterToSourceBill.cs"
@@ -18,7 +18,8 @@
             base.MvarItemKeySub4 = "";
             base.MvarItemKey="Sc_MaterToSourceBillMain";
             base.MvarReportTitle="涓婃枡鍗�";
-            base.BillType="3786"; 
+            base.BillType="3786";
+            base.HBillSubType = "3786";
         }
 
         #region 鍥哄畾浠g爜
@@ -27,8 +28,63 @@
         {
             DetailColl = null;
         }
-       
+
         #endregion   鑷畾涔夋柟娉�
+
+        //淇濆瓨鍓嶆帶鍒�
+        public bool BeforeSave(Int64 HInterID, string HBillNo, Int64 HSourceID, Int64 OperationType, ref string sReturn)
+        {
+            try
+            {
+                DataSet Ds = oCn.RunProcReturn("Exec h_p_Sc_MaterToSourceBill_BeforeSaveCtrl " + HInterID.ToString() + ",'" + HBillNo + "'," + HSourceID.ToString() + "," + OperationType.ToString(), "h_p_Sc_MaterToSourceBill_BeforeSaveCtrl");
+                if (Ds == null || Ds.Tables[0].Rows.Count == 0)
+                {
+                    sReturn = "淇濆瓨鍓嶅垽鏂け璐ワ紒";
+                    return false;
+                }
+                else
+                {
+                    if (DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HBack"]) == 1)
+                    {
+                        sReturn = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HRemark"]);
+                        return false;
+                    }
+                }
+                return true;
+            }
+            catch (Exception e)
+            {
+                throw (e);
+            }
+        }
+
+        //淇濆瓨鍚庢帶鍒�
+        public bool AfterSave(Int64 HInterID, string HBillNo, Int64 OperationType, ref string sReturn)
+        {
+            try
+            {
+                DataSet Ds = oCn.RunProcReturn("Exec h_p_Sc_MaterToSourceBill_AfterSaveCtrl " + HInterID.ToString() + ",'" + HBillNo + "'," + OperationType.ToString(), "h_p_Sc_MaterToSourceBill_AfterSaveCtrl");
+                if (Ds == null || Ds.Tables[0].Rows.Count == 0)
+                {
+                    sReturn = "淇濆瓨鍚庡垽鏂け璐ワ紒";
+                    return false;
+                }
+                else
+                {
+                    if (DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HBack"]) == 1)
+                    {
+                        sReturn = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HRemark"]);
+                        return false;
+                    }
+                }
+                return true;
+            }
+            catch (Exception e)
+            {
+                throw (e);
+            }
+        }
+
         //淇敼鍗曟嵁
         public override bool ModifyBill(Int64 lngBillKey, ref string sReturn)
         {
@@ -36,6 +92,12 @@
             {
                 //
                 oCn.BeginTran();
+                //淇濆瓨鍓嶆帶鍒�
+                if (!BeforeSave(lngBillKey, omodel.HBillNo, omodel.HSourceID, 2, ref sReturn))
+                {
+                    oCn.RollBack();
+                    return false;
+                }
                 //鏇存柊涓昏〃
                 oCn.RunProc("UpDate Sc_MaterToSourceBillMain set  " +
                 //鍥哄畾璧嬪��===============
@@ -46,7 +108,7 @@
                 ",HRemark='" + omodel.HRemark + "'" +
                 ",HUpDater='" + DBUtility.ClsPub.CurUserName + "'" +
                 ",HUpDateDate=getdate()" +
-                    //========================================
+                //========================================
                 ",HProcExchInterID=" + omodel.HProcExchInterID.ToString() +
                 ",HProcExchEntryID=" + omodel.HProcExchEntryID.ToString() +
                 ",HProcExchBillNo='" + omodel.HProcExchBillNo + "'" +
@@ -60,6 +122,11 @@
                 ",HWorkerID=" + omodel.HWorkerID.ToString() +
                 ",HWorkerBarCode='" + omodel.HWorkerBarCode + "'" +
                 ",HGroupID=" + omodel.HGroupID.ToString() +
+                ",HMainSourceInterID='" + omodel.HMainSourceInterID.ToString() + "'" +
+                ",HMainSourceEntryID='" + omodel.HMainSourceEntryID.ToString() + "'" +
+                ",HMainSourceBillNo='" + omodel.HMainSourceBillNo + "'" +
+                ",HMainSourceBillType='" + omodel.HMainSourceBillType + "'" +
+                ",HStockOrgID=" + omodel.HSTOCKORGID.ToString() +
                 " where HInterID=" + lngBillKey.ToString());
                 //鍒犻櫎鍏宠仈
                 DeleteRelation(ref sReturn, lngBillKey);
@@ -70,18 +137,24 @@
                 foreach (Model.ClsSc_MaterToSourceBillSub oSub in DetailColl)
                 {
                     oCn.RunProc("Insert into Sc_MaterToSourceBillSub " +
-                      " (HInterID,HEntryID,HCloseMan,HEntryCloseDate,HCloseType,HRemark" +
-                      ",HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HRelationQty,HRelationMoney" +
+                      " (HInterID,HEntryID,HRemark,HRelationQty,HRelationMoney" +
+                      ",HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType" +
                       ",HMaterID,HUnitID,HQty,HPieceQty,HScanDate" +
                       ",HBarCode,HBarCode_Pack,HBillNo_bak" +
                       ") values("
-                      + omodel.HInterID.ToString() + "," + oSub.HEntryID.ToString() + ",'" + oSub.HCloseMan + "','" + oSub.HEntryCloseDate.ToShortDateString() + "'," + Convert.ToString(oSub.HCloseType ? 1 : 0) + ",'" + oSub.HRemark + "'" +
-                      "," + oSub.HSourceInterID.ToString() + "," + oSub.HSourceEntryID.ToString() + ",'" + oSub.HSourceBillNo + "','" + oSub.HSourceBillType + "'," + oSub.HRelationQty.ToString() + "," + oSub.HRelationMoney.ToString() +
+                      + omodel.HInterID.ToString() + "," + oSub.HEntryID.ToString() + ",'" + oSub.HRemark + "'," + oSub.HRelationQty.ToString() + "," + oSub.HRelationMoney.ToString() +
+                      "," + oSub.HSourceInterID.ToString() + "," + oSub.HSourceEntryID.ToString() + ",'" + oSub.HSourceBillNo + "','" + oSub.HSourceBillType + "'" +
                       "," + oSub.HMaterID.ToString() + "," + oSub.HUnitID.ToString() + "," + oSub.HQty.ToString() + "," + oSub.HPieceQty.ToString() + ",'" + oSub.HScanDate.ToShortDateString() + "'" +
                       ",'" + oSub.HBarCode + "','" + oSub.HBarCode_Pack + "','" + oSub.HBillNo_bak + "'" +
-                      ") "); 
+                      ") ");
                 }
-                sReturn = "淇敼鍗曟嵁鎴愬姛锛�";
+                //淇濆瓨鍚庢帶鍒�
+                if (!AfterSave(lngBillKey, omodel.HBillNo, 2, ref sReturn))
+                {
+                    oCn.RollBack();
+                    return false;
+                }
+                sReturn = "鍗曟嵁鍙凤細" + omodel.HBillNo + " 淇敼鎴愬姛锛�";
                 oCn.Commit();
                 return true;
             }
@@ -97,40 +170,73 @@
         {
             try
             {
+                //鑾峰彇绯荤粺鍙傛暟
+                Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();
+                if (oSystemParameter.ShowBillByOrgID(omodel.HSTOCKORGID, ref sReturn) == false)
+                {
+                    sReturn = "鑾峰彇绯荤粺鍙傛暟澶辫触锛� " + sReturn;
+                    return false;
+                }
                 //寰楀埌mainid
-                omodel.HInterID = DBUtility.ClsPub.CreateBillID(BillType, ref DBUtility.ClsPub.sExeReturnInfo);
-                //鑻AINDI閲嶅鍒欓噸鏂拌幏鍙�
+                if (omodel.HInterID == 0)
+                {
+                    omodel.HInterID = DBUtility.ClsPub.CreateBillID_Prod(BillType, ref DBUtility.ClsPub.sExeReturnInfo);
+                }
+                //淇濆瓨鍓嶆帶鍒�
+                if (!BeforeSave(omodel.HInterID, omodel.HBillNo, omodel.HSourceID, 1, ref sReturn))
+                {
+                    return false;
+                }
+
                 oCn.BeginTran();
                 //涓昏〃
                 oCn.RunProc("Insert Into Sc_MaterToSourceBillMain   " +
                 "(HBillType,HBillSubType,HInterID,HBillNo,HDate" +
                 ",HYear,HPeriod,HRemark,HMaker,HMakeDate" +
-                ",HProcExchInterID,HProcExchEntryID,HProcExchBillNo,HICMOInterID,HICMOBillNo" +
+                ",HMainSourceInterID,HMainSourceEntryID,HMainSourceBillNo,HMainSourceBillType" +
+                ",HProcExchInterID,HProcExchEntryID,HProcExchBillNo,HICMOInterID,HICMOEntryID,HICMOBillNo" +
                 ",HSourceID,HProcID,HMaterID,HSourceBarCode,HEquipID,HWorkerID,HWorkerBarCode" +
-                ",HGroupID" +
+                ",HGroupID,HStockOrgID" +
                 ") " +
-                " values('" + this.BillType + "','" + this.HBillSubType + "'," + omodel.HInterID.ToString() + ",'" + omodel.HBillNo + "','" + omodel.HDate + "'" +
+                " values('" + this.BillType + "','" + this.HBillSubType + "'," + omodel.HInterID.ToString() + ",'" + omodel.HBillNo + "','" + omodel.HDate.ToShortDateString() + "'" +
                 ", " + omodel.HYear.ToString() + "," + omodel.HPeriod.ToString() + ",'" + omodel.HRemark + "','" + DBUtility.ClsPub.CurUserName + "',getdate()" +
-                "," + omodel.HProcExchInterID.ToString() + "," + omodel.HProcExchEntryID.ToString() + ",'" + omodel.HProcExchBillNo + "'," + omodel.HICMOInterID.ToString() + ",'" + omodel.HICMOBillNo + "'" +
+                "," + omodel.HMainSourceInterID.ToString() + "," + omodel.HMainSourceEntryID.ToString() + ",'" + omodel.HMainSourceBillNo + "','" + omodel.HMainSourceBillType + "'" +
+                "," + omodel.HProcExchInterID.ToString() + "," + omodel.HProcExchEntryID.ToString() + ",'" + omodel.HProcExchBillNo + "'," + omodel.HICMOInterID.ToString() + "," + omodel.HICMOEntryID.ToString() + ",'" + omodel.HICMOBillNo + "'" +
                 "," + omodel.HSourceID.ToString() + "," + omodel.HProcID.ToString() + "," + omodel.HMaterID.ToString() + ",'" + omodel.HSourceBarCode + "'," + omodel.HEquipID.ToString() + "," + omodel.HWorkerID.ToString() + ",'" + omodel.HWorkerBarCode + "'" +
-                "," + omodel.HGroupID.ToString() +
+                "," + omodel.HGroupID.ToString() +"," + omodel.HSTOCKORGID.ToString() +
                 ") ");
                 //鎻掑叆瀛愯〃
                 foreach (Model.ClsSc_MaterToSourceBillSub oSub in DetailColl)
                 {
                     oCn.RunProc("Insert into Sc_MaterToSourceBillSub " +
-                      " (HInterID,HEntryID,HCloseMan,HEntryCloseDate,HCloseType,HRemark" +
-                      ",HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HRelationQty,HRelationMoney" +
+                      " (HInterID,HEntryID,HRemark,HRelationQty,HRelationMoney" +
+                      ",HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType" +
                       ",HMaterID,HUnitID,HQty,HPieceQty,HScanDate" +
                       ",HBarCode,HBarCode_Pack,HBillNo_bak" +
                       ") values("
-                      + omodel.HInterID.ToString() + "," + oSub.HEntryID.ToString() + ",'" + oSub.HCloseMan + "','" + oSub.HEntryCloseDate.ToShortDateString() + "'," + Convert.ToString(oSub.HCloseType ? 1 : 0) + ",'" + oSub.HRemark + "'" +
-                      "," + oSub.HSourceInterID.ToString() + "," + oSub.HSourceEntryID.ToString() + ",'" + oSub.HSourceBillNo + "','" + oSub.HSourceBillType + "'," + oSub.HRelationQty.ToString() + "," + oSub.HRelationMoney.ToString() +
-                      "," + oSub.HMaterID.ToString() + "," + oSub.HUnitID.ToString() + "," + oSub.HQty.ToString() + "," + oSub.HPieceQty.ToString() + ",'" + oSub.HScanDate.ToShortDateString() + "'" +
+                      + omodel.HInterID.ToString() + "," + oSub.HEntryID.ToString() + ",'" + oSub.HRemark + "'," + oSub.HRelationQty.ToString() + "," + oSub.HRelationMoney.ToString() +
+                      "," + oSub.HSourceInterID.ToString() + "," + oSub.HSourceEntryID.ToString() + ",'" + oSub.HSourceBillNo + "','" + oSub.HSourceBillType + "'" +
+                      "," + oSub.HMaterID.ToString() + "," + oSub.HUnitID.ToString() + "," + oSub.HQty.ToString() + "," + oSub.HPieceQty.ToString() + ",'" + oSub.HScanDate + "'" +
                       ",'" + oSub.HBarCode + "','" + oSub.HBarCode_Pack + "','" + oSub.HBillNo_bak + "'" +
-                      ") "); 
+                      ") ");
                 }
-                sReturn = "鏂板鍗曟嵁鎴愬姛锛�";
+                //淇濆瓨鍚庢帶鍒�
+                if (!AfterSave(omodel.HInterID, omodel.HBillNo, 1, ref sReturn))
+                {
+                    oCn.RollBack();
+                    return false;
+                }
+
+                if (oSystemParameter.omodel.Sc_MaterToSourceBill_AutoCheck.ToUpper() == "Y") //绯荤粺鍙傛暟  鑷姩瀹℃牳 
+                {
+                    //瀹℃牳鍗曟嵁
+                    oCn.RunProc("Update Sc_MaterToSourceBillMain Set HChecker='" + DBUtility.ClsPub.CurUserName + "',HCheckDate=getdate(),HBillStatus=2 where HInterID= " + omodel.HInterID.ToString());
+                    sReturn = "鍗曟嵁鍙凤細" + omodel.HBillNo + " 鏂板瀹℃牳鎴愬姛锛�";
+                }
+                else
+                {
+                    sReturn = "鍗曟嵁鍙凤細" + omodel.HBillNo + " 鏂板鎴愬姛锛�";
+                }
                 oCn.Commit();
                 return true;
             }
diff --git "a/DAL/\350\275\246\351\227\264\347\256\241\347\220\206/ClsSc_StationOutBill.cs" "b/DAL/\350\275\246\351\227\264\347\256\241\347\220\206/ClsSc_StationOutBill.cs"
index 95dabfd..8fce892 100644
--- "a/DAL/\350\275\246\351\227\264\347\256\241\347\220\206/ClsSc_StationOutBill.cs"
+++ "b/DAL/\350\275\246\351\227\264\347\256\241\347\220\206/ClsSc_StationOutBill.cs"
@@ -349,7 +349,7 @@
                 "," + omodel.HSupID.ToString() + "," + omodel.HQty.ToString() + "," + omodel.HPrice.ToString() + "," + omodel.HMoney.ToString() + "," + omodel.HBadCount.ToString() + "," + omodel.HCenterID.ToString() + "," + omodel.HProcNo.ToString() + ",'" + omodel.HOrderProcNO + "'" + ",'" + omodel.HSourceNameList + "'" +
                 "," + omodel.HMainSourceInterID.ToString() + ",'" + omodel.HMainSourceBillNo + "','" + omodel.HMainSourceBillType + "'," + Convert.ToString(omodel.HLastSubProc ? 1 : 0) +
                 "," + omodel.HEmpID2.ToString() + "," + omodel.HEmpID3.ToString() + "," + omodel.HEmpID4.ToString() + "," + omodel.HEmpID5.ToString() + "," + omodel.HDSQty.ToString() + "," + omodel.HChongQty.ToString() + "," + omodel.HPriceRate.ToString() + "," + omodel.HWorkTimes.ToString() + "," + omodel.HQCCheckID.ToString() +
-                "," + omodel.HPersonNums.ToString() + "," + omodel.HMachineNums.ToString() + ",'" + omodel.HEmpNum.ToString() + "'" +
+                "," + omodel.HPersonNums.ToString() + "," + omodel.HMachineNums.ToString() + ",'" + omodel.HEmpNum + "'" +
                 ") ");
                 //鎻掑叆瀛愯〃
                 foreach (Model.ClsSc_StationOutBillSub oSub in DetailColl)
diff --git "a/DAL/\350\275\246\351\227\264\347\256\241\347\220\206/ClsSc_WorkBeginDotCheckBillMain.cs" "b/DAL/\350\275\246\351\227\264\347\256\241\347\220\206/ClsSc_WorkBeginDotCheckBillMain.cs"
new file mode 100644
index 0000000..06f8557
--- /dev/null
+++ "b/DAL/\350\275\246\351\227\264\347\256\241\347\220\206/ClsSc_WorkBeginDotCheckBillMain.cs"
@@ -0,0 +1,270 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Text;
+using System.Data;
+
+namespace DAL
+{
+    public  class ClsSc_WorkBeginDotCheckBillMain : DBUtility.ClsXt_BaseBill
+    {
+        public Model.ClsSc_WorkBeginDotCheckBillMain omodel = new Model.ClsSc_WorkBeginDotCheckBillMain();
+        public List<Model.ClsSc_WorkBeginDotCheckBillSub> DetailColl = new List<Model.ClsSc_WorkBeginDotCheckBillSub>();
+
+        public ClsSc_WorkBeginDotCheckBillMain()
+        {
+            base.MvarItemKeySub = "Sc_WorkBeginDotCheckBillSub";
+            base.MvarItemKeySub2 = "";
+            base.MvarItemKeySub3 = "";
+            base.MvarItemKeySub4 = "";
+            base.MvarItemKey= "Sc_WorkBeginDotCheckBillMain";
+            base.MvarReportTitle="鍚姩鐐规鍗�";
+            base.BillType = "3744";
+            base.HBillSubType = "3744";
+
+        }
+
+        #region 鍥哄畾浠g爜
+
+        ~ClsSc_WorkBeginDotCheckBillMain()
+        {
+            DetailColl = null;
+        }
+       
+        #endregion   鑷畾涔夋柟娉�
+        //淇敼鍗曟嵁
+        public override bool ModifyBill(Int64 lngBillKey, ref string sReturn)
+        {
+            try
+            {
+
+                oCn.BeginTran();
+                //鏇存柊涓昏〃
+                oCn.RunProc("UpDate Sc_WorkBeginDotCheckBillMain set  " +
+                " HBillNo='" + omodel.HBillNo + "'" +  
+                ",HYear='" + omodel.HYear.ToString() + "'" +
+                ",HPeriod='" + omodel.HPeriod.ToString() + "'" +
+                ",HRemark='" + omodel.HRemark + "'" +
+                ",HUpDater='" + omodel.HMaker + "'" +
+                ",HUpDateDate=getdate()" +
+                //========================================
+                ",HICMOInterID =" + omodel.HICMOInterID.ToString() +
+                ",HICMOEntryID ='" + omodel.HICMOEntryID.ToString() + "'" +
+                ",HICMOBillNo ='" + omodel.HICMOBillNo+ "'" +
+                ",HProcExchInterID =" + omodel.HProcExchInterID.ToString() +
+                ",HProcExchEntryID ='" + omodel.HProcExchEntryID.ToString() + "'" +
+                ",HProcExchBillNo ='" + omodel.HProcExchBillNo + "'" +
+                ",HMaterID =" + omodel.HMaterID.ToString() +
+                ",HSourceID ='" + omodel.HSourceID.ToString() + "'" +
+                ",HCheckEmpID ='" + omodel.HCheckEmpID.ToString() + "'" +
+                ",HGroupID =" + omodel.HGroupID.ToString() +
+                ",HGroupLeaderID ='" + omodel.HGroupLeaderID.ToString() + "'" +
+                ",HNote ='" + omodel.HNote + "'" +
+                ",HLastResult ='" + omodel.HLastResult + "'" +
+                " where HInterID=" + lngBillKey.ToString());
+                //鍒犻櫎鍏宠仈
+                DeleteRelation(ref sReturn, lngBillKey);
+                //鍒犻櫎瀛愯〃
+                DeleteBillSub(lngBillKey);
+
+                //鎻掑叆瀛愯〃
+                omodel.HInterID = lngBillKey;
+                foreach (Model.ClsSc_WorkBeginDotCheckBillSub oSub in DetailColl)
+                {
+                    string subSql = "insert into Sc_WorkBeginDotCheckBillSub " +
+                        "(HInterID,HEntryID,HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HRemark" +
+                        ",HCheckNoteItemID,HCheckPostID,HCheckResult) " +
+                        " values(" +
+                        "" + omodel.HInterID.ToString() +
+                        "," + oSub.HEntryID.ToString() +
+                        "," + oSub.HSourceInterID +
+                        "," + oSub.HSourceEntryID +
+                        ",'" + oSub.HSourceBillNo +
+                        "','" + oSub.HSourceBillType +
+                        "','" + oSub.HRemark +
+                        "','" + oSub.HCheckNoteItemID +
+                        "','" + oSub.HCheckPostID +
+                        "','" + oSub.HCheckResult +
+                        "')";
+                    oCn.RunProc(subSql);
+                }
+
+
+                sReturn = "淇敼鍗曟嵁鎴愬姛锛�";
+                oCn.Commit();
+                return true;
+            }
+            catch (Exception e)
+            {
+                sReturn = e.Message;
+                oCn.RollBack();
+                throw (e);
+            }
+        }
+        //鏂板鍗曟嵁
+        public override bool AddBill(ref string sReturn)
+        {
+            try
+            {
+
+                DataSet ds;
+
+                oCn.BeginTran();
+
+                //妫�鏌ヤ富琛ㄥ唴鐮佹槸鍚﹂噸澶嶏紝鑻ラ噸澶嶅垯閲嶆柊鐢熸垚骞剁户缁鏌ワ紝鐩村埌涓嶅啀閲嶅
+                while (true)
+                {
+                    ds = oCn.RunProcReturn("select * from Sc_WorkBeginDotCheckBillMain where HInterID = " + omodel.HInterID, "Sc_WorkBeginDotCheckBillMain");
+                    if (ds != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        omodel.HInterID = DBUtility.ClsPub.CreateBillID(BillType, ref DBUtility.ClsPub.sExeReturnInfo);
+                    }
+                    else
+                    {
+                        break;
+                    }
+                }
+
+                //涓昏〃
+                string mainSql = "insert into Sc_WorkBeginDotCheckBillMain" +
+                    "(HYear,HPeriod,HBillType,HBillSubType,HInterID,HDate,HBillNo,HRemark,HMaker,HMakeDate" +
+                    ",HICMOInterID,HICMOEntryID,HICMOBillNo,HProcExchInterID,HProcExchEntryID,HProcExchBillNo,HMaterID,HSourceID,HCheckEmpID,HGroupID,HGroupLeaderID,HNote,HLastResult) " +
+                    "values(" +
+                    "" + (omodel.HYear.ToString() != "0" ? omodel.HYear.ToString() : DateTime.Now.Year.ToString()) +
+                    "," + omodel.HPeriod.ToString() +
+                    ",'" + this.BillType +
+                    "','" + this.HBillSubType +
+                    "'," + omodel.HInterID +
+                    ",'" + omodel.HDate +
+                    "','" + omodel.HBillNo +
+                    "','" + omodel.HRemark +
+                    "','" + omodel.HMaker +
+                    "','" + omodel.HMakeDate +
+                    "','" + omodel.HICMOInterID +
+                    "','" + omodel.HICMOEntryID +
+                    "','" + omodel.HICMOBillNo +
+                    "','" + omodel.HProcExchInterID +
+                    "','" + omodel.HProcExchEntryID +
+                       "','" + omodel.HProcExchBillNo +
+                    "','" + omodel.HMaterID +
+                    "','" + omodel.HSourceID +
+                    "','" + omodel.HCheckEmpID +
+                    "','" + omodel.HGroupID +
+                       "','" + omodel.HGroupLeaderID +
+                    "','" + omodel.HNote +
+                    "','" + omodel.HLastResult +
+                    "')";
+
+                oCn.RunProc(mainSql);
+
+                //鎻掑叆瀛愯〃
+                foreach (Model.ClsSc_WorkBeginDotCheckBillSub oSub in DetailColl)
+                {
+                    string subSql = "insert into Sc_WorkBeginDotCheckBillSub " +
+                        "(HInterID,HEntryID,HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HRemark" +
+                        ",HCheckNoteItemID,HCheckPostID,HCheckResult) " +
+                        " values(" +
+                        "" + omodel.HInterID.ToString() +
+                        "," + oSub.HEntryID.ToString() +
+                        "," + oSub.HSourceInterID +
+                        "," + oSub.HSourceEntryID +
+                        ",'" + oSub.HSourceBillNo +
+                        "','" + oSub.HSourceBillType +
+                        "','" + oSub.HRemark +
+                        "','" + oSub.HCheckNoteItemID +
+                        "','" + oSub.HCheckPostID +
+                        "','" + oSub.HCheckResult +
+                        "')";
+                    oCn.RunProc(subSql);
+                }
+
+                sReturn = "鏂板鍗曟嵁鎴愬姛锛�";
+                oCn.Commit();
+                return true;
+            }
+            catch (Exception e)
+            {
+                sReturn = e.Message;
+                oCn.RollBack();
+                throw (e);
+            }
+        }
+        //鏄剧ず鍗曟嵁
+        public override bool ShowBill(Int64 lngBillKey, ref string sReturn)
+        {
+            try
+            {
+                //鏌ヨ涓昏〃
+                DataSet Ds ;
+                Ds = oCn.RunProcReturn("Select * from Sc_WorkBeginDotCheckBillMain Where HInterID=" + lngBillKey.ToString(), "Sc_WorkBeginDotCheckBillMain");
+                if(Ds.Tables[0].Rows.Count==0)
+                {
+                    sReturn = "鍗曟嵁鏈壘鍒帮紒";
+                    return false;
+                }
+                //鍥哄畾璧嬪��===========================================
+                omodel.HInterID =DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HInterID"]);
+                omodel.HBillNo = Ds.Tables[0].Rows[0]["HBillNo"].ToString().Trim();
+                omodel.HDate =DBUtility.ClsPub.isDate(Ds.Tables[0].Rows[0]["HDate"]);
+                omodel.HYear = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HYear"]);
+                omodel.HPeriod = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HPeriod"]);
+                omodel.HCheckItemNowID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HCheckItemNowID"]);
+                omodel.HCheckItemNextID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HCheckItemNextID"]);
+                omodel.HCheckFlowID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HCheckFlowID"]);
+                omodel.HRemark = Ds.Tables[0].Rows[0]["HRemark"].ToString().Trim();
+                omodel.HBillStatus = DBUtility.ClsPub.isInt(Ds.Tables[0].Rows[0]["HBillStatus"]);
+                omodel.HBillType = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HBillType"]);
+                omodel.HBillSubType = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HBillSubType"]);
+                omodel.HMaker = Ds.Tables[0].Rows[0]["HMaker"].ToString().Trim();
+                omodel.HMakeDate = Ds.Tables[0].Rows[0]["HMakeDate"].ToString().Trim();
+                omodel.HUpDateDate = Ds.Tables[0].Rows[0]["HUpDateDate"].ToString().Trim();
+                omodel.HUpDater = Ds.Tables[0].Rows[0]["HUpDater"].ToString().Trim();
+                omodel.HBackDate = Ds.Tables[0].Rows[0]["HBackDate"].ToString().Trim();
+                omodel.HBacker = Ds.Tables[0].Rows[0]["HBacker"].ToString().Trim();
+                omodel.HCheckDate = Ds.Tables[0].Rows[0]["HCheckDate"].ToString().Trim();
+                omodel.HChecker = Ds.Tables[0].Rows[0]["HChecker"].ToString().Trim();
+                omodel.HCloseDate = Ds.Tables[0].Rows[0]["HCloseDate"].ToString().Trim();
+                omodel.HCloseMan = Ds.Tables[0].Rows[0]["HCloseMan"].ToString().Trim();
+                omodel.HDeleteDate = Ds.Tables[0].Rows[0]["HDeleteDate"].ToString().Trim();
+                omodel.HDeleteMan = Ds.Tables[0].Rows[0]["HDeleteMan"].ToString().Trim();
+                //========================================================
+              
+                //
+                
+                //寰幆
+                DataSet DsSub ;
+                DsSub = oCn.RunProcReturn("Select * from Sc_WorkBeginDotCheckBillSub Where HInterID=" + lngBillKey.ToString() + " order by HEntryID ", "Sc_WorkBeginDotCheckBillSub");
+                DetailColl.Clear();//娓呯┖
+                for (int i = 0; i < DsSub.Tables[0].Rows.Count; i++)
+                {
+                    Model.ClsSc_WorkBeginDotCheckBillSub oSub = new Model.ClsSc_WorkBeginDotCheckBillSub();
+                    // 鍥哄畾璧嬪��===============================================
+                    oSub.HInterID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HInterID"]);
+                    oSub.HEntryID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HEntryID"]);
+                    oSub.HSourceInterID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HSourceInterID"]);
+                    oSub.HSourceEntryID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HSourceEntryID"]);
+                    oSub.HSourceBillType = DsSub.Tables[0].Rows[i]["HSourceBillType"].ToString().Trim();
+                    oSub.HSourceBillNo = DsSub.Tables[0].Rows[i]["HSourceBillNo"].ToString().Trim();
+                    oSub.HRelationQty = DBUtility.ClsPub.isDoule(DsSub.Tables[0].Rows[i]["HRelationQty"]);
+                    oSub.HRelationMoney = DBUtility.ClsPub.isDoule(DsSub.Tables[0].Rows[i]["HRelationMoney"]); 
+                    oSub.HCloseMan =  DBUtility.ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HCloseMan"]);
+                    oSub.HCloseType = DBUtility.ClsPub.isBool(DsSub.Tables[0].Rows[i]["HCloseType"]);
+                    oSub.HEntryCloseDate = DBUtility.ClsPub.isDate(DsSub.Tables[0].Rows[i]["HEntryCloseDate"]);
+                    oSub.HRemark = DsSub.Tables[0].Rows[i]["HRemark"].ToString().Trim();
+                    //===================================================
+                  
+                    DetailColl.Add(oSub);
+                }
+                sReturn = "鏄剧ず鍗曟嵁鎴愬姛锛�";
+                return true;
+            }
+            catch (Exception e)
+            {
+                sReturn = e.Message;
+                throw (e);
+            }
+        }
+       
+        
+    }
+
+}
diff --git "a/DAL/\351\207\207\350\264\255\347\256\241\347\220\206/ClsCg_ContractBill.cs" "b/DAL/\351\207\207\350\264\255\347\256\241\347\220\206/ClsCg_ContractBill.cs"
index 5b2dd62..ed66d82 100644
--- "a/DAL/\351\207\207\350\264\255\347\256\241\347\220\206/ClsCg_ContractBill.cs"
+++ "b/DAL/\351\207\207\350\264\255\347\256\241\347\220\206/ClsCg_ContractBill.cs"
@@ -2,6 +2,8 @@
 using System.Collections.Generic;
 using System.Text;
 using System.Data;
+using DBUtility;
+using System.Windows.Forms;
 
 namespace DAL
 {
@@ -328,8 +330,94 @@
                 throw (e);
             }
         }
-       
-        
+
+        #region 琛屽叧闂柟娉曢噸杞�
+        //琛屽叧闂�
+        public bool CloseRow(Int64 lngBillKey, Int64 HEntryID, Int64 HEntryID2 , string HBillNo, string sUser, ref string sReturn)
+        {
+            string ComputerName = SystemInformation.ComputerName;   //璁惧鍚嶇О
+            string IPAddress = "";    //璁惧IP
+            try
+            {
+                oCn.BeginTran();
+                string HCloseMan = sUser;
+                string HEntryCloseDate = ClsPub.GetServerDate(-1);
+                //鍙樻洿琛屽叧闂姸鎬�
+                string sql = " Update " + MvarItemKeySub + " set HCloseMan='" + HCloseMan + "',HEntryCloseDate='" + HEntryCloseDate + "',HCloseType=1 Where HInterID=" + lngBillKey.ToString() + " and HEntryID = " + HEntryID;
+                oCn.RunProc(sql);
+                sql = " Update " + MvarItemKeySub2 + " set HCloseMan='" + HCloseMan + "',HEntryCloseDate='" + HEntryCloseDate + "',HCloseType=1 Where HInterID=" + lngBillKey.ToString() + " and HEntryID = " + HEntryID2;
+                oCn.RunProc(sql);
+                //妫�鏌ュ崟鎹瓙琛ㄦ墍鏈夎鏄惁閮藉叧闂紝鑻ラ兘鍏抽棴鍒欒嚜鍔ㄥ叧闂崟鎹�
+                //sql = "select * from " + MvarItemKeySub + " where HInterID=" + lngBillKey + " and HCloseMan=''";
+                //ds = oCn.RunProcReturn(sql, MvarItemKeySub);
+                //if(ds!=null && ds.Tables[0].Rows.Count == 0)
+                //{
+                //    sql = " Update " + MvarItemKey + " set HCloseMan='" + HCloseMan + "',HCloseDate=getdate(),HBillStatus=3,HCloseType = 0 Where HInterID=" + lngBillKey.ToString();
+                //    oCn.RunProc(sql);
+                //}
+
+                //鍐欏叆鏃ュ織
+                string WorkList = "琛屽叧闂紝鍗曟嵁鍙凤細" + HBillNo + "锛涚墿鏂欐槑缁嗗瓙琛ㄥ唴鐮侊細" + HEntryID+ "锛涗粯娆捐鍒掑瓙琛ㄥ唴鐮侊細"+HEntryID2;
+                string SystemName = "LMES-" + MvarReportTitle + "妯″潡";
+                oCn.RunProc("Insert into  System_Log(GeginDate,userid,WorkstationName,WorkList,SystemName,NetUserName,State) values " +
+                    "(getdate(),'" + sUser + "','" + ComputerName + "','" + WorkList + "','" + SystemName + "','" + IPAddress + "','琛屽叧闂�')"
+                    );
+
+                sReturn = "琛屽叧闂垚鍔燂紒";
+                oCn.Commit();
+                return true;
+            }
+            catch (Exception e)
+            {
+                sReturn = e.Message;
+                oCn.RollBack();
+                throw (e);
+            }
+        }
+        //琛屽弽鍏抽棴
+        public bool CancelRow(Int64 lngBillKey, Int64 HEntryID, Int64 HEntryID2, string HBillNo, string sUser, ref string sReturn)
+        {
+            try
+            {
+                //oCn.BeginTran();
+                string ComputerName = SystemInformation.ComputerName;   //璁惧鍚嶇О
+                string IPAddress = "";    //璁惧IP
+                string sql = "select * from " + MvarItemKeySub + " where HInterID=" + lngBillKey.ToString() + " and HEntryID = " + HEntryID;
+                DataSet ds = oCn.RunProcReturn(sql, MvarItemKeySub);
+                string sql2 = "select * from " + MvarItemKeySub2 + " where HInterID=" + lngBillKey.ToString() + " and HEntryID = " + HEntryID2;
+                DataSet ds2 = oCn.RunProcReturn(sql, MvarItemKeySub);
+                if ((ds == null || ds.Tables[0].Rows.Count == 0) && (ds2 == null || ds2.Tables[0].Rows.Count == 0))
+                {
+                    sReturn = "琛岃褰曚笉瀛樺湪锛�";
+                    return false;
+                }
+                else
+                {
+                    sql = " Update " + MvarItemKeySub + " set HCloseMan='',HEntryCloseDate='',HCloseType=0 Where HInterID=" + lngBillKey.ToString() + " and HEntryID = " + HEntryID;
+                    oCn.RunProc(sql);
+                    sql = " Update " + MvarItemKeySub2 + " set HCloseMan='',HEntryCloseDate='',HCloseType=0 Where HInterID=" + lngBillKey.ToString() + " and HEntryID = " + HEntryID2;
+                    oCn.RunProc(sql);
+                }
+
+                //鍐欏叆鏃ュ織
+                string WorkList = "琛屽弽鍏抽棴锛屽崟鎹彿锛�" + HBillNo + "锛涚墿鏂欐槑缁嗗瓙琛ㄥ唴鐮侊細" + HEntryID + "锛涗粯娆捐鍒掑瓙琛ㄥ唴鐮侊細" + HEntryID2;
+                string SystemName = "LMES-" + MvarReportTitle + "妯″潡";
+                oCn.RunProc("Insert into  System_Log(GeginDate,userid,WorkstationName,WorkList,SystemName,NetUserName,State) values " +
+                    "(getdate(),'" + sUser + "','" + ComputerName + "','" + WorkList + "','" + SystemName + "','" + IPAddress + "','琛屽弽鍏抽棴')"
+                    );
+
+                sReturn = "琛屽弽鍏抽棴鎴愬姛锛�";
+                //oCn.Commit();
+                return true;
+            }
+            catch (Exception e)
+            {
+                sReturn = e.Message;
+                oCn.RollBack();
+                throw (e);
+            }
+        }
+        #endregion
     }
 
 }
diff --git "a/DAL/\351\241\271\347\233\256\347\256\241\347\220\206/Cls\357\273\277Gy_ProjectMoneyBOMBill.cs" "b/DAL/\351\241\271\347\233\256\347\256\241\347\220\206/Cls\357\273\277Gy_ProjectMoneyBOMBill.cs"
new file mode 100644
index 0000000..f95f423
--- /dev/null
+++ "b/DAL/\351\241\271\347\233\256\347\256\241\347\220\206/Cls\357\273\277Gy_ProjectMoneyBOMBill.cs"
@@ -0,0 +1,264 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Text;
+using System.Data;
+
+namespace DAL
+{
+    public  class ClsGy_ProjectMoneyBOMBill : DBUtility.ClsXt_BaseBill
+    {
+        public Model.ClsGy_ProjectMoneyBOMBillMain omodel = new Model.ClsGy_ProjectMoneyBOMBillMain();
+        public List<Model.ClsGy_ProjectMoneyBOMBillSub> DetailColl = new List<Model.ClsGy_ProjectMoneyBOMBillSub>();
+
+        public ClsGy_ProjectMoneyBOMBill()
+        {
+            base.MvarItemKeySub = "Gy_ProjectMoneyBOMBillSub";
+            base.MvarItemKeySub2 = "";
+            base.MvarItemKeySub3 = "";
+            base.MvarItemKeySub4 = "";
+            base.MvarItemKey= "Gy_ProjectMoneyBOMBillMain";
+            base.MvarReportTitle="椤圭洰璐圭敤娓呭崟";
+            base.BillType= "3338";
+            base.HBillSubType = "3338";
+
+        }
+
+        #region 鍥哄畾浠g爜
+        #region 鏃犲弬鏋勯�犲嚱鏁�
+        ~ClsGy_ProjectMoneyBOMBill()
+        {
+            DetailColl = null;
+        }
+        #endregion
+        #endregion
+
+        #region 淇敼鍗曟嵁
+        public override bool ModifyBill(Int64 lngBillKey, ref string sReturn)
+        {
+            try
+            {
+                oCn.BeginTran();
+                //鏇存柊涓昏〃
+                string mainSql = "update Gy_ProjectMoneyBOMBillMain set " +
+                    " HBillNo='" + omodel.HBillNo + "'" +  //鍥哄畾璧嬪��===============
+                    ",HDate='" + omodel.HDate + "'" +
+                    ",HYear=" + omodel.HYear +
+                    ",HPeriod=" + omodel.HPeriod +
+                    ",HRemark  = '" + omodel.HRemark + "'" +
+                    ",HUpDater = '" + omodel.HUpDater + "'" +
+                    ",HUpDateDate = getdate()" +
+                    //===============================================================
+                    ",HProjectClassID  = " + omodel.HProjectClassID +
+                    ",HProjectStageID  = " + omodel.HProjectStageID +
+                    ",HOrgID  = " + omodel.HOrgID +
+                    " where HInterID = " + lngBillKey.ToString();
+                oCn.RunProc(mainSql);
+                //鍒犻櫎鍏宠仈
+                DeleteRelation(ref sReturn, lngBillKey);
+                //鍒犻櫎瀛愯〃
+                DeleteBillSub(lngBillKey);
+
+                //鎻掑叆瀛愯〃
+                omodel.HInterID = lngBillKey;
+                foreach (Model.ClsGy_ProjectMoneyBOMBillSub oSub in DetailColl)
+                {
+                    string subSql = "insert into Gy_ProjectMoneyBOMBillSub " +
+                        "(HInterID,HEntryID,HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HRemark,HBillNo_bak" +
+                        ",HProMoneyID) " +
+                        " values(" +
+                        "" + omodel.HInterID.ToString() +
+                        "," + oSub.HEntryID.ToString() +
+                        "," + oSub.HSourceInterID +
+                        "," + oSub.HSourceEntryID +
+                        ",'" + oSub.HSourceBillNo +
+                        "','" + oSub.HSourceBillType +
+                        "','" + oSub.HRemark +
+                        "','" + omodel.HBillNo +
+                        "'," + oSub.HProMoneyID +
+                        ")";
+                    oCn.RunProc(subSql);
+                }
+
+
+                sReturn = "淇敼鍗曟嵁鎴愬姛锛�";
+                oCn.Commit();
+                return true;
+            }
+            catch (Exception e)
+            {
+                sReturn = e.Message;
+                oCn.RollBack();
+                throw (e);
+            }
+        }
+        #endregion
+
+        #region  鏂板鍗曟嵁
+        public override bool AddBill(ref string sReturn)
+        {
+            try
+            {
+                DataSet ds;
+
+
+                oCn.BeginTran();
+
+                //妫�鏌ヤ富琛ㄥ唴鐮佹槸鍚﹂噸澶嶏紝鑻ラ噸澶嶅垯閲嶆柊鐢熸垚骞剁户缁鏌ワ紝鐩村埌涓嶅啀閲嶅
+                while (true)
+                {
+                    ds = oCn.RunProcReturn("select * from Gy_ProjectMoneyBOMBillMain where HInterID = " + omodel.HInterID, "Gy_ProjectMoneyBOMBillMain");
+                    if(ds!=null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        omodel.HInterID = DBUtility.ClsPub.CreateBillID(BillType, ref DBUtility.ClsPub.sExeReturnInfo);
+                    }
+                    else
+                    {
+                        break;
+                    }
+                }
+
+                //鎻掑叆涓昏〃
+                string mainSql = "insert into Gy_ProjectMoneyBOMBillMain" +
+                    "(HYear,HPeriod,HBillType,HBillSubType,HInterID,HDate,HBillNo,HRemark,HMaker,HMakeDate" +
+                    ",HProjectClassID,HProjectStageID,HOrgID) " +
+                    "values(" +
+                    "" + (omodel.HYear.ToString() != "0" ? omodel.HYear.ToString() : DateTime.Now.Year.ToString()) +
+                    "," + omodel.HPeriod.ToString() +
+                    ",'" + this.BillType +
+                    "','" + this.HBillSubType +
+                    "'," + omodel.HInterID +
+                    ",'" + omodel.HDate +
+                    "','" + omodel.HBillNo +
+                    "','" + omodel.HRemark +
+                    "','" + omodel.HMaker +
+                    "','" + omodel.HMakeDate +
+                    "'," + omodel.HProjectClassID +
+                    "," + omodel.HProjectStageID +
+                    "," + omodel.HOrgID +
+                    ")";
+
+                oCn.RunProc(mainSql);
+
+                //鎻掑叆瀛愯〃
+                foreach (Model.ClsGy_ProjectMoneyBOMBillSub oSub in DetailColl)
+                {
+                    string subSql = "insert into Gy_ProjectMoneyBOMBillSub " +
+                        "" +
+                        "" +
+                        "" +
+                        "(HInterID,HEntryID,HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HRemark,HBillNo_bak" +
+                        ",HProMoneyID) " +
+                        " values(" +
+                        "" + omodel.HInterID.ToString() +
+                        "," + oSub.HEntryID.ToString() +
+                        "," + oSub.HSourceInterID +
+                        "," + oSub.HSourceEntryID +
+                        ",'" + oSub.HSourceBillNo +
+                        "','" + oSub.HSourceBillType +
+                        "','" + oSub.HRemark +
+                        "','" + omodel.HBillNo +
+                        "'," + oSub.HProMoneyID +
+                        ")";
+                    oCn.RunProc(subSql);
+                }
+
+                sReturn = "鏂板鍗曟嵁鎴愬姛锛�";
+                oCn.Commit();
+                return true;
+            }
+            catch (Exception e)
+            {
+                sReturn = e.Message;
+                oCn.RollBack();
+                throw (e);
+            }
+        }
+        #endregion
+
+        #region 鏄剧ず鍗曟嵁
+        public override bool ShowBill(Int64 lngBillKey, ref string sReturn)
+        {
+            try
+            {
+                //鏌ヨ涓昏〃
+                DataSet Ds;
+                Ds = oCn.RunProcReturn("select * from Gy_ProjectMoneyBOMBillMain Where HInterID = " + lngBillKey.ToString(), "Gy_ProjectMoneyBOMBillMain");
+                if (Ds.Tables[0].Rows.Count == 0)
+                {
+                    sReturn = "鍗曟嵁鏈壘鍒帮紒";
+                    return false;
+                }
+
+                //鍥哄畾璧嬪��===========================================
+                omodel.HYear = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HYear"]);
+                omodel.HPeriod = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HPeriod"]);
+                omodel.HBillType = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HBillType"]);
+                omodel.HBillSubType = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HBillSubType"]);
+                omodel.HInterID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HInterID"]);
+                omodel.HDate = DBUtility.ClsPub.isDate(Ds.Tables[0].Rows[0]["HDate"]);
+                omodel.HBillNo = Ds.Tables[0].Rows[0]["HBillNo"].ToString().Trim();
+                omodel.HBillStatus = DBUtility.ClsPub.isInt(Ds.Tables[0].Rows[0]["HBillStatus"]);
+                omodel.HCheckItemNowID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HCheckItemNowID"]);
+                omodel.HCheckItemNextID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HCheckItemNextID"]);
+                omodel.HCheckFlowID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HCheckFlowID"]);
+                omodel.HRemark = Ds.Tables[0].Rows[0]["HRemark"].ToString().Trim();
+                omodel.HBackDate = Ds.Tables[0].Rows[0]["HBackDate"].ToString().Trim();
+                omodel.HBacker = Ds.Tables[0].Rows[0]["HBacker"].ToString().Trim();
+                omodel.HCheckDate = Ds.Tables[0].Rows[0]["HCheckDate"].ToString().Trim();
+                omodel.HChecker = Ds.Tables[0].Rows[0]["HChecker"].ToString().Trim();
+                omodel.HMaker = Ds.Tables[0].Rows[0]["HMaker"].ToString().Trim();
+                omodel.HMakeDate = Ds.Tables[0].Rows[0]["HMakeDate"].ToString().Trim();
+                omodel.HUpDateDate = Ds.Tables[0].Rows[0]["HUpDateDate"].ToString().Trim();
+                omodel.HUpDater = Ds.Tables[0].Rows[0]["HUpDater"].ToString().Trim();
+                omodel.HCloseDate = Ds.Tables[0].Rows[0]["HCloseDate"].ToString().Trim();
+                omodel.HCloseMan = Ds.Tables[0].Rows[0]["HCloseMan"].ToString().Trim();
+                omodel.HCloseType = DBUtility.ClsPub.isBool(Ds.Tables[0].Rows[0]["HCloseType"]);
+                omodel.HDeleteDate = Ds.Tables[0].Rows[0]["HDeleteDate"].ToString().Trim();
+                omodel.HDeleteMan = Ds.Tables[0].Rows[0]["HDeleteMan"].ToString().Trim();
+                //========================================================
+                omodel.HProjectClassID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HProjectClassID"]);
+                omodel.HProjectStageID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HProjectStageID"]);
+                omodel.HOrgID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HOrgID"]);
+            
+
+                //
+
+                //寰幆
+                DataSet DsSub;
+                DsSub = oCn.RunProcReturn("select * from Gy_ProjectMoneyBOMBillSub where HInterID = " + lngBillKey.ToString() + "order by HEntryID", "Gy_ProjectMoneyBOMBillSub");
+                DetailColl.Clear();//娓呯┖
+                for (int i = 0; i < DsSub.Tables[0].Rows.Count; i++)
+                {
+                    Model.ClsGy_ProjectMoneyBOMBillSub oSub = new Model.ClsGy_ProjectMoneyBOMBillSub();
+                    // 鍥哄畾璧嬪��===============================================
+                    oSub.HInterID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HInterID"]);
+                    oSub.HEntryID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HEntryID"]);
+                    oSub.HSourceInterID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HSourceInterID"]);
+                    oSub.HSourceEntryID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HSourceEntryID"]);
+                    oSub.HSourceBillType = DsSub.Tables[0].Rows[i]["HSourceBillType"].ToString().Trim();
+                    oSub.HSourceBillNo = DsSub.Tables[0].Rows[i]["HSourceBillNo"].ToString().Trim();
+                    oSub.HRelationQty = DBUtility.ClsPub.isDoule(DsSub.Tables[0].Rows[i]["HRelationQty"]);
+                    oSub.HRelationMoney = DBUtility.ClsPub.isDoule(DsSub.Tables[0].Rows[i]["HRelationMoney"]);
+                    oSub.HCloseMan = DBUtility.ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HCloseMan"]);
+                    oSub.HCloseType = DBUtility.ClsPub.isBool(DsSub.Tables[0].Rows[i]["HCloseType"]);
+                    oSub.HEntryCloseDate = DBUtility.ClsPub.isDate(DsSub.Tables[0].Rows[i]["HEntryCloseDate"]);
+                    oSub.HRemark = DsSub.Tables[0].Rows[i]["HRemark"].ToString().Trim();
+                    //===================================================
+                    oSub.HProMoneyID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HProMoneyID"]);
+
+                    DetailColl.Add(oSub);
+                }
+                sReturn = "鏄剧ず鍗曟嵁鎴愬姛锛�";
+                return true;
+            }
+            catch (Exception e)
+            {
+                sReturn = e.Message;
+                throw (e);
+            }
+        }
+        #endregion
+
+    }
+
+}
diff --git "a/DAL/\351\241\271\347\233\256\347\256\241\347\220\206/Cls\357\273\277Gy_WorkTaskMoneyBOMBill.cs" "b/DAL/\351\241\271\347\233\256\347\256\241\347\220\206/Cls\357\273\277Gy_WorkTaskMoneyBOMBill.cs"
new file mode 100644
index 0000000..f9a4533
--- /dev/null
+++ "b/DAL/\351\241\271\347\233\256\347\256\241\347\220\206/Cls\357\273\277Gy_WorkTaskMoneyBOMBill.cs"
@@ -0,0 +1,261 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Text;
+using System.Data;
+
+namespace DAL
+{
+    public  class ClsGy_WorkTaskMoneyBOMBill : DBUtility.ClsXt_BaseBill
+    {
+        public Model.ClsGy_WorkTaskMoneyBOMBillMain omodel = new Model.ClsGy_WorkTaskMoneyBOMBillMain();
+        public List<Model.ClsGy_WorkTaskMoneyBOMBillSub> DetailColl = new List<Model.ClsGy_WorkTaskMoneyBOMBillSub>();
+
+        public ClsGy_WorkTaskMoneyBOMBill()
+        {
+            base.MvarItemKeySub = "Gy_WorkTaskMoneyBOMBillSub";
+            base.MvarItemKeySub2 = "";
+            base.MvarItemKeySub3 = "";
+            base.MvarItemKeySub4 = "";
+            base.MvarItemKey= "Gy_WorkTaskMoneyBOMBillMain";
+            base.MvarReportTitle="浠诲姟璐圭敤娓呭崟";
+            base.BillType= "3339";
+            base.HBillSubType = "3339";
+
+        }
+
+        #region 鍥哄畾浠g爜
+        #region 鏃犲弬鏋勯�犲嚱鏁�
+        ~ClsGy_WorkTaskMoneyBOMBill()
+        {
+            DetailColl = null;
+        }
+        #endregion
+        #endregion
+
+        #region 淇敼鍗曟嵁
+        public override bool ModifyBill(Int64 lngBillKey, ref string sReturn)
+        {
+            try
+            {
+                oCn.BeginTran();
+                //鏇存柊涓昏〃
+                string mainSql = "update Gy_WorkTaskMoneyBOMBillMain set " +
+                    " HBillNo='" + omodel.HBillNo + "'" +  //鍥哄畾璧嬪��===============
+                    ",HDate='" + omodel.HDate + "'" +
+                    ",HYear=" + omodel.HYear +
+                    ",HPeriod=" + omodel.HPeriod +
+                    ",HRemark  = '" + omodel.HRemark + "'" +
+                    ",HUpDater = '" + omodel.HUpDater + "'" +
+                    ",HUpDateDate = getdate()" +
+                    //===============================================================
+                    ",HTaskClassID  = " + omodel.HTaskClassID +
+                    ",HOrgID  = " + omodel.HOrgID +
+                    " where HInterID = " + lngBillKey.ToString();
+                oCn.RunProc(mainSql);
+                //鍒犻櫎鍏宠仈
+                DeleteRelation(ref sReturn, lngBillKey);
+                //鍒犻櫎瀛愯〃
+                DeleteBillSub(lngBillKey);
+
+                //鎻掑叆瀛愯〃
+                omodel.HInterID = lngBillKey;
+                foreach (Model.ClsGy_WorkTaskMoneyBOMBillSub oSub in DetailColl)
+                {
+                    string subSql = "insert into Gy_WorkTaskMoneyBOMBillSub " +
+                        "(HInterID,HEntryID,HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HRemark,HBillNo_bak" +
+                        ",HProMoneyID) " +
+                        " values(" +
+                        "" + omodel.HInterID.ToString() +
+                        "," + oSub.HEntryID.ToString() +
+                        "," + oSub.HSourceInterID +
+                        "," + oSub.HSourceEntryID +
+                        ",'" + oSub.HSourceBillNo +
+                        "','" + oSub.HSourceBillType +
+                        "','" + oSub.HRemark +
+                        "','" + omodel.HBillNo +
+                        "'," + oSub.HProMoneyID +
+                        ")";
+                    oCn.RunProc(subSql);
+                }
+
+
+                sReturn = "淇敼鍗曟嵁鎴愬姛锛�";
+                oCn.Commit();
+                return true;
+            }
+            catch (Exception e)
+            {
+                sReturn = e.Message;
+                oCn.RollBack();
+                throw (e);
+            }
+        }
+        #endregion
+
+        #region  鏂板鍗曟嵁
+        public override bool AddBill(ref string sReturn)
+        {
+            try
+            {
+                DataSet ds;
+
+
+                oCn.BeginTran();
+
+                //妫�鏌ヤ富琛ㄥ唴鐮佹槸鍚﹂噸澶嶏紝鑻ラ噸澶嶅垯閲嶆柊鐢熸垚骞剁户缁鏌ワ紝鐩村埌涓嶅啀閲嶅
+                while (true)
+                {
+                    ds = oCn.RunProcReturn("select * from Gy_WorkTaskMoneyBOMBillMain where HInterID = " + omodel.HInterID, "Gy_WorkTaskMoneyBOMBillMain");
+                    if(ds!=null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        omodel.HInterID = DBUtility.ClsPub.CreateBillID(BillType, ref DBUtility.ClsPub.sExeReturnInfo);
+                    }
+                    else
+                    {
+                        break;
+                    }
+                }
+
+                //鎻掑叆涓昏〃
+                string mainSql = "insert into Gy_WorkTaskMoneyBOMBillMain" +
+                    "(HYear,HPeriod,HBillType,HBillSubType,HInterID,HDate,HBillNo,HRemark,HMaker,HMakeDate" +
+                    ",HTaskClassID,HOrgID) " +
+                    "values(" +
+                    "" + (omodel.HYear.ToString() != "0" ? omodel.HYear.ToString() : DateTime.Now.Year.ToString()) +
+                    "," + omodel.HPeriod.ToString() +
+                    ",'" + this.BillType +
+                    "','" + this.HBillSubType +
+                    "'," + omodel.HInterID +
+                    ",'" + omodel.HDate +
+                    "','" + omodel.HBillNo +
+                    "','" + omodel.HRemark +
+                    "','" + omodel.HMaker +
+                    "','" + omodel.HMakeDate +
+                    "','" + omodel.HTaskClassID +
+                    "','" + omodel.HOrgID+
+                    "')";
+
+                oCn.RunProc(mainSql);
+
+                //鎻掑叆瀛愯〃
+                foreach (Model.ClsGy_WorkTaskMoneyBOMBillSub oSub in DetailColl)
+                {
+                    string subSql = "insert into Gy_WorkTaskMoneyBOMBillSub " +
+                        "" +
+                        "" +
+                        "" +
+                        "(HInterID,HEntryID,HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HRemark,HBillNo_bak" +
+                        ",HProMoneyID) " +
+                        " values(" +
+                        "" + omodel.HInterID.ToString() +
+                        "," + oSub.HEntryID.ToString() +
+                        "," + oSub.HSourceInterID +
+                        "," + oSub.HSourceEntryID +
+                        ",'" + oSub.HSourceBillNo +
+                        "','" + oSub.HSourceBillType +
+                        "','" + oSub.HRemark +
+                        "','" + omodel.HBillNo +
+                        "'," + oSub.HProMoneyID +
+                        ")";
+                    oCn.RunProc(subSql);
+                }
+
+                sReturn = "鏂板鍗曟嵁鎴愬姛锛�";
+                oCn.Commit();
+                return true;
+            }
+            catch (Exception e)
+            {
+                sReturn = e.Message;
+                oCn.RollBack();
+                throw (e);
+            }
+        }
+        #endregion
+
+        #region 鏄剧ず鍗曟嵁
+        public override bool ShowBill(Int64 lngBillKey, ref string sReturn)
+        {
+            try
+            {
+                //鏌ヨ涓昏〃
+                DataSet Ds;
+                Ds = oCn.RunProcReturn("select * from Gy_WorkTaskMoneyBOMBillMain Where HInterID = " + lngBillKey.ToString(), "Gy_WorkTaskMoneyBOMBillMain");
+                if (Ds.Tables[0].Rows.Count == 0)
+                {
+                    sReturn = "鍗曟嵁鏈壘鍒帮紒";
+                    return false;
+                }
+
+                //鍥哄畾璧嬪��===========================================
+                omodel.HYear = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HYear"]);
+                omodel.HPeriod = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HPeriod"]);
+                omodel.HBillType = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HBillType"]);
+                omodel.HBillSubType = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HBillSubType"]);
+                omodel.HInterID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HInterID"]);
+                omodel.HDate = DBUtility.ClsPub.isDate(Ds.Tables[0].Rows[0]["HDate"]);
+                omodel.HBillNo = Ds.Tables[0].Rows[0]["HBillNo"].ToString().Trim();
+                omodel.HBillStatus = DBUtility.ClsPub.isInt(Ds.Tables[0].Rows[0]["HBillStatus"]);
+                omodel.HCheckItemNowID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HCheckItemNowID"]);
+                omodel.HCheckItemNextID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HCheckItemNextID"]);
+                omodel.HCheckFlowID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HCheckFlowID"]);
+                omodel.HRemark = Ds.Tables[0].Rows[0]["HRemark"].ToString().Trim();
+                omodel.HBackDate = Ds.Tables[0].Rows[0]["HBackDate"].ToString().Trim();
+                omodel.HBacker = Ds.Tables[0].Rows[0]["HBacker"].ToString().Trim();
+                omodel.HCheckDate = Ds.Tables[0].Rows[0]["HCheckDate"].ToString().Trim();
+                omodel.HChecker = Ds.Tables[0].Rows[0]["HChecker"].ToString().Trim();
+                omodel.HMaker = Ds.Tables[0].Rows[0]["HMaker"].ToString().Trim();
+                omodel.HMakeDate = Ds.Tables[0].Rows[0]["HMakeDate"].ToString().Trim();
+                omodel.HUpDateDate = Ds.Tables[0].Rows[0]["HUpDateDate"].ToString().Trim();
+                omodel.HUpDater = Ds.Tables[0].Rows[0]["HUpDater"].ToString().Trim();
+                omodel.HCloseDate = Ds.Tables[0].Rows[0]["HCloseDate"].ToString().Trim();
+                omodel.HCloseMan = Ds.Tables[0].Rows[0]["HCloseMan"].ToString().Trim();
+                omodel.HCloseType = DBUtility.ClsPub.isBool(Ds.Tables[0].Rows[0]["HCloseType"]);
+                omodel.HDeleteDate = Ds.Tables[0].Rows[0]["HDeleteDate"].ToString().Trim();
+                omodel.HDeleteMan = Ds.Tables[0].Rows[0]["HDeleteMan"].ToString().Trim();
+                //========================================================
+
+                omodel.HOrgID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HOrgID"]);
+                omodel.HTaskClassID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HTaskClassID"]);
+
+                //
+
+                //寰幆
+                DataSet DsSub;
+                DsSub = oCn.RunProcReturn("select * from Gy_WorkTaskMoneyBOMBillSub where HInterID = " + lngBillKey.ToString() + "order by HEntryID", "Gy_WorkTaskMoneyBOMBillSub");
+                DetailColl.Clear();//娓呯┖
+                for (int i = 0; i < DsSub.Tables[0].Rows.Count; i++)
+                {
+                    Model.ClsGy_WorkTaskMoneyBOMBillSub oSub = new Model.ClsGy_WorkTaskMoneyBOMBillSub();
+                    // 鍥哄畾璧嬪��===============================================
+                    oSub.HInterID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HInterID"]);
+                    oSub.HEntryID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HEntryID"]);
+                    oSub.HSourceInterID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HSourceInterID"]);
+                    oSub.HSourceEntryID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HSourceEntryID"]);
+                    oSub.HSourceBillType = DsSub.Tables[0].Rows[i]["HSourceBillType"].ToString().Trim();
+                    oSub.HSourceBillNo = DsSub.Tables[0].Rows[i]["HSourceBillNo"].ToString().Trim();
+                    oSub.HRelationQty = DBUtility.ClsPub.isDoule(DsSub.Tables[0].Rows[i]["HRelationQty"]);
+                    oSub.HRelationMoney = DBUtility.ClsPub.isDoule(DsSub.Tables[0].Rows[i]["HRelationMoney"]);
+                    oSub.HCloseMan = DBUtility.ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HCloseMan"]);
+                    oSub.HCloseType = DBUtility.ClsPub.isBool(DsSub.Tables[0].Rows[i]["HCloseType"]);
+                    oSub.HEntryCloseDate = DBUtility.ClsPub.isDate(DsSub.Tables[0].Rows[i]["HEntryCloseDate"]);
+                    oSub.HRemark = DsSub.Tables[0].Rows[i]["HRemark"].ToString().Trim();
+                    //===================================================
+                    oSub.HProMoneyID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HProMoneyID"]);
+
+                    DetailColl.Add(oSub);
+                }
+                sReturn = "鏄剧ず鍗曟嵁鎴愬姛锛�";
+                return true;
+            }
+            catch (Exception e)
+            {
+                sReturn = e.Message;
+                throw (e);
+            }
+        }
+        #endregion
+
+    }
+
+}
diff --git a/DBUtility/obj/Release/DBUtility.csproj.GenerateResource.Cache b/DBUtility/obj/Release/DBUtility.csproj.GenerateResource.Cache
index 873f3b5..309fb22 100644
--- a/DBUtility/obj/Release/DBUtility.csproj.GenerateResource.Cache
+++ b/DBUtility/obj/Release/DBUtility.csproj.GenerateResource.Cache
Binary files differ
diff --git a/DBUtility/obj/Release/DBUtility.csproj.ResolveComReference.cache b/DBUtility/obj/Release/DBUtility.csproj.ResolveComReference.cache
index 429faea..ee5b24d 100644
--- a/DBUtility/obj/Release/DBUtility.csproj.ResolveComReference.cache
+++ b/DBUtility/obj/Release/DBUtility.csproj.ResolveComReference.cache
Binary files differ
diff --git "a/DBUtility/\344\270\232\345\212\241\345\215\225\346\215\256/ClsXt_BaseBill.cs" "b/DBUtility/\344\270\232\345\212\241\345\215\225\346\215\256/ClsXt_BaseBill.cs"
index 64c083e..bb4da2a 100644
--- "a/DBUtility/\344\270\232\345\212\241\345\215\225\346\215\256/ClsXt_BaseBill.cs"
+++ "b/DBUtility/\344\270\232\345\212\241\345\215\225\346\215\256/ClsXt_BaseBill.cs"
@@ -218,7 +218,7 @@
         //鍙嶅鏍�
         public bool AbandonCheck(Int64 lngBillKey, ref string sReturn)
         {
-
+            string sql = "";
             if (isUse(lngBillKey, ref sReturn))
             {
                 return false;
@@ -238,7 +238,21 @@
                 {
                     oCn.RunProc(" Update " + MvarItemKey + " set HChecker='',HCheckDate=null,HBillStatus=1 Where HInterID=" + lngBillKey.ToString());
                 }
-               
+
+                //鍙嶅鏍稿悗 鏇存柊鍙婃椂搴撳瓨琛� 鍑忓皯搴撳瓨
+                sql = "select * from  " + MvarItemKey + " where HInterID=" + lngBillKey.ToString();
+                ds = oCn.RunProcReturn(sql, MvarItemKey);
+                if (ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0)
+                {
+                    string HBillType = ds.Tables[0].Rows[0]["HBillType"].ToString();
+                    if (HBillType == "1201" || HBillType == "1202" || HBillType == "1203" || HBillType == "1247" || HBillType == "1244" || HBillType == "1251" || HBillType == "1210" || HBillType == "1204")
+                    {
+                        //鍙嶅鏍告洿鏂� 鍙婃椂搴撳瓨琛� 澧炲姞搴撳瓨 1201 1202 1203 1247 1244 1251 1210
+                        //鍙嶅鏍告洿鏂� 鍙婃椂搴撳瓨琛� 鍑忓皯搴撳瓨 1204 1202 1203 1247 1244 1251 1210
+                        ds = oCn.RunProcReturn("exec h_KF_UPDateICinventory  '" + lngBillKey.ToString() + "','" + HBillType + "','2'", "h_KF_UPDateICinventory");
+                    }
+                }
+
                 sReturn = "";
                 return true;
             }
@@ -292,6 +306,19 @@
                     oCn.RollBack();
                     return false;
                 }
+                //鍙嶅鏍稿悗 鏇存柊鍙婃椂搴撳瓨琛� 鍑忓皯搴撳瓨
+                sql = "select * from  " + MvarItemKey + " where HInterID=" + lngBillKey.ToString();
+                ds = oCn.RunProcReturn(sql, MvarItemKey);
+                if (ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0)
+                {
+                    string HBillType = ds.Tables[0].Rows[0]["HBillType"].ToString();
+                    if (HBillType == "1201" || HBillType == "1202" || HBillType == "1203" || HBillType == "1247" || HBillType == "1244" || HBillType == "1251" || HBillType == "1210" || HBillType == "1205" || HBillType == "1250" || HBillType == "1206" || HBillType == "1245" || HBillType == "1239")
+                    {
+                        //鍙嶅鏍告洿鏂� 鍙婃椂搴撳瓨琛� 澧炲姞搴撳瓨 1201 1202 1203 1247 1244 1251 1210
+                        //鍙嶅鏍告洿鏂� 鍙婃椂搴撳瓨琛� 鍑忓皯搴撳瓨 1205 1250 1206 1245 1239 
+                        ds = oCn.RunProcReturn("exec h_KF_UPDateICinventory  '" + lngBillKey.ToString() + "','" + HBillType + "','2'", "h_KF_UPDateICinventory");
+                    }
+                }
                 //鍐欏叆鏃ュ織
                 string WorkList = "鍙嶅鏍稿崟鎹紝鍗曟嵁鍙凤細" + HBillNo;
                 string SystemName = "LMES-" + MvarReportTitle + "妯″潡";
@@ -314,12 +341,26 @@
         //瀹℃牳
         public bool CheckBill(Int64 lngBillKey, ref string sReturn)
         {
-           
+            string sql = "";
+            DataSet ds;
             try
             {
                 string  HChecker = ClsPub.CurUserName ;
                 string  HCheckDate =ClsPub.GetServerDate(-1);
                 oCn.RunProc(" Update " + MvarItemKey + " set HChecker='" + HChecker + "',HCheckDate='" + HCheckDate + "',HBillStatus=2 Where HInterID=" + lngBillKey.ToString());
+                //瀹℃牳鍚� 鏇存柊鍙婃椂搴撳瓨琛� 澧炲姞搴撳瓨
+                sql = "select * from  " + MvarItemKey + " where HInterID=" + lngBillKey.ToString();
+                ds = oCn.RunProcReturn(sql, MvarItemKey);
+                if (ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0)
+                {
+                    string HBillType = ds.Tables[0].Rows[0]["HBillType"].ToString();
+                    if (HBillType == "1201" || HBillType == "1202" || HBillType == "1203" || HBillType == "1247" || HBillType == "1244" || HBillType == "1251" || HBillType == "1210" || HBillType == "1204")
+                    {
+                        //瀹℃牳鏇存柊 鍙婃椂搴撳瓨琛� 澧炲姞搴撳瓨 1201 1202 1203 1247 1244 1251 1210
+                        //瀹℃牳鏇存柊 鍙婃椂搴撳瓨琛� 鍑忓皯搴撳瓨 1204 
+                        ds = oCn.RunProcReturn("exec h_KF_UPDateICinventory  '" + lngBillKey.ToString() + "','" + HBillType + "','1'", "h_KF_UPDateICinventory");
+                    }
+                }
                 sReturn = "";
                 return true;
             }
@@ -356,7 +397,7 @@
             {
                 string HChecker = sUser;
                 string HCheckDate = ClsPub.GetServerDate(-1);
-
+                
                 //寮�鍚簨鍔�
                 oCn.BeginTran();
 
@@ -378,6 +419,19 @@
                     oCn.RollBack();
                     return false;
                 }
+                //瀹℃牳鍚� 鏇存柊鍙婃椂搴撳瓨琛� 澧炲姞搴撳瓨
+                sql = "select * from  " + MvarItemKey + " where HInterID=" + lngBillKey.ToString();
+                ds = oCn.RunProcReturn(sql, MvarItemKey);
+                if (ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0)
+                {
+                    string HBillType = ds.Tables[0].Rows[0]["HBillType"].ToString();
+                    if (HBillType == "1201" || HBillType == "1202" || HBillType == "1203" || HBillType == "1247" || HBillType == "1244" || HBillType == "1251" || HBillType == "1210" || HBillType == "1250" || HBillType == "1206" || HBillType == "1245" || HBillType == "1239")
+                    {
+                        //瀹℃牳鏇存柊 鍙婃椂搴撳瓨琛� 澧炲姞搴撳瓨 1201 1202 1203 1247 1244 1251 1210
+                        //瀹℃牳鏇存柊 鍙婃椂搴撳瓨琛� 鍑忓皯搴撳瓨 1204 1250 1206 1245 1239 
+                        ds = oCn.RunProcReturn("exec h_KF_UPDateICinventory  '" + lngBillKey.ToString() + "','" + HBillType + "','1'", "h_KF_UPDateICinventory");
+                    }  
+                }
                 //鍐欏叆鏃ュ織
                 string WorkList = "瀹℃牳鍗曟嵁锛屽崟鎹彿锛�" + HBillNo;
                 string SystemName = "LMES-" + MvarReportTitle + "妯″潡";
diff --git a/LMES/bin/x86/Debug.zip b/LMES/bin/x86/Debug.zip
deleted file mode 100644
index 7ccd587..0000000
--- a/LMES/bin/x86/Debug.zip
+++ /dev/null
Binary files differ
diff --git a/Model/Model.csproj b/Model/Model.csproj
index 8ce40e2..7bedb0b 100644
--- a/Model/Model.csproj
+++ b/Model/Model.csproj
@@ -364,6 +364,7 @@
     <Compile Include="鍩虹璧勬枡\鍩虹璧勬枡\ClsGy_DotCheckItemMethod_Model.cs" />
     <Compile Include="鍩虹璧勬枡\鍩虹璧勬枡\ClsGy_DotCheckItemClass_Model.cs" />
     <Compile Include="鍩虹璧勬枡\鍩虹璧勬枡\ClsGy_ErrMsgBackType_Model.cs" />
+    <Compile Include="鍩虹璧勬枡\鍩虹璧勬枡\ClsGy_CheckNoteItem_Model.cs" />
     <Compile Include="鍩虹璧勬枡\鍩虹璧勬枡\ClsGy_MaintainLev_Model.cs" />
     <Compile Include="鍩虹璧勬枡\鍩虹璧勬枡\ClsGy_PreventErrMould_Model.cs" />
     <Compile Include="鍩虹璧勬枡\鍩虹璧勬枡\ClsGy_TaskClass_Model.cs" />
@@ -652,6 +653,12 @@
     <Compile Include="绯荤粺鍏敤\ClsXt_SystemParameter_Model.cs" />
     <Compile Include="璁″垝绠$悊\ClsGy_MaterialTechParamBillSub.cs" />
     <Compile Include="璁″垝绠$悊\ClsGy_MaterialTechParamBillMain.cs" />
+    <Compile Include="璐ㄦ绠$悊\ClsQC_WorkSelfCheckBillMain.cs" />
+    <Compile Include="璐ㄦ绠$悊\ClsQC_StockCheckBillMain.cs" />
+    <Compile Include="璐ㄦ绠$悊\ClsQC_WorkSelfCheckBillSub.cs" />
+    <Compile Include="璐ㄦ绠$悊\ClsQC_StockCheckBillSub.cs" />
+    <Compile Include="璐ㄦ绠$悊\ClsQC_WorkSelfCheckBillSub_ValueGrid.cs" />
+    <Compile Include="璐ㄦ绠$悊\ClsQC_StockCheckBillSub_ValueGrid.cs" />
     <Compile Include="璐ㄦ绠$悊\ClsQC_NoPassProdConclusionBillMain.cs" />
     <Compile Include="璐ㄦ绠$悊\ClsQC_NoPassProdConclusionBillSub.cs" />
     <Compile Include="璐ㄦ绠$悊\ClsQC_NoPassProdDisposeCheckBillMain.cs" />
@@ -666,6 +673,14 @@
     <Compile Include="璐ㄦ绠$悊\ClsQC_ProcessCheckBillSub_ValueGrid.cs" />
     <Compile Include="璐ㄦ绠$悊\ClsCrm_CustomerAppealBillSub.cs" />
     <Compile Include="璐ㄦ绠$悊\ClsCrm_CustomerAppealBillMain.cs" />
+    <Compile Include="杞﹂棿绠$悊\ClsGy_MaterPreventErrMouldBillMain.cs" />
+    <Compile Include="杞﹂棿绠$悊\ClsQc_PreventErrMouldCheckBillMain.cs" />
+    <Compile Include="杞﹂棿绠$悊\ClsGy_WorkBeginDotCheckListBillMain.cs" />
+    <Compile Include="杞﹂棿绠$悊\ClsSc_WorkBeginDotCheckBillMain.cs" />
+    <Compile Include="杞﹂棿绠$悊\ClsGy_MaterPreventErrMouldBillSub.cs" />
+    <Compile Include="杞﹂棿绠$悊\ClsQc_PreventErrMouldCheckBillSub.cs" />
+    <Compile Include="杞﹂棿绠$悊\ClsGy_WorkBeginDotCheckListBillSub.cs" />
+    <Compile Include="杞﹂棿绠$悊\ClsSc_WorkBeginDotCheckBillSub.cs" />
     <Compile Include="杞﹂棿绠$悊\Sc_AssemblyBill_BindSourceTemp.cs" />
     <Compile Include="杞﹂棿绠$悊\ClsSc_ProcExchRecordBackBillMain.cs" />
     <Compile Include="杞﹂棿绠$悊\ClsSc_ProcExchRecordBackBillSub.cs" />
@@ -1038,10 +1053,14 @@
     <Compile Include="閿�鍞鐞哱鍗曡瘉绠$悊\ClsXs_LadingBillSub.cs" />
     <Compile Include="閿�鍞鐞哱鍗曡瘉绠$悊\ClsXs_ShippingAdviceBillMain.cs" />
     <Compile Include="閿�鍞鐞哱鍗曡瘉绠$悊\ClsXs_ShippingAdviceBillSub.cs" />
+    <Compile Include="椤圭洰绠$悊\ClsGy_ProjectMoneyBOMBillMain.cs" />
+    <Compile Include="椤圭洰绠$悊\ClsGy_ProjectMoneyBOMBillSub.cs" />
     <Compile Include="椤圭洰绠$悊\ClsPM_ProjectEndBillMain.cs" />
     <Compile Include="椤圭洰绠$悊\ClsPM_ProjectBeginBillMain.cs" />
     <Compile Include="椤圭洰绠$悊\ClsPM_ProjectEndBillSub.cs" />
     <Compile Include="椤圭洰绠$悊\ClsPM_ProjectBeginBillSub.cs" />
+    <Compile Include="椤圭洰绠$悊\ClsGy_WorkTaskMoneyBOMBillMain.cs" />
+    <Compile Include="椤圭洰绠$悊\ClsGy_WorkTaskMoneyBOMBillSub.cs" />
     <Compile Include="椤圭洰绠$悊\Cls锘縋M_WorkTaskMoneyBillMain.cs" />
     <Compile Include="椤圭洰绠$悊\ClsPM_WorkTaskMoneyBillSub.cs" />
     <Compile Include="椤圭洰绠$悊\ClsPM_ProjectMoneyBillSub.cs" />
diff --git a/Model/obj/Release/Model.csproj.AssemblyReference.cache b/Model/obj/Release/Model.csproj.AssemblyReference.cache
index 67556ba..b12ad9c 100644
--- a/Model/obj/Release/Model.csproj.AssemblyReference.cache
+++ b/Model/obj/Release/Model.csproj.AssemblyReference.cache
Binary files differ
diff --git a/Model/obj/Release/build.force b/Model/obj/Release/build.force
deleted file mode 100644
index e69de29..0000000
--- a/Model/obj/Release/build.force
+++ /dev/null
diff --git a/Model/obj/x86/Release/Model.csproj.AssemblyReference.cache b/Model/obj/x86/Release/Model.csproj.AssemblyReference.cache
index f3f1c92..2fcb056 100644
--- a/Model/obj/x86/Release/Model.csproj.AssemblyReference.cache
+++ b/Model/obj/x86/Release/Model.csproj.AssemblyReference.cache
Binary files differ
diff --git "a/Model/\345\237\272\347\241\200\350\265\204\346\226\231/\345\237\272\347\241\200\350\265\204\346\226\231/ClsGy_CheckNoteItem_Model.cs" "b/Model/\345\237\272\347\241\200\350\265\204\346\226\231/\345\237\272\347\241\200\350\265\204\346\226\231/ClsGy_CheckNoteItem_Model.cs"
new file mode 100644
index 0000000..ff0a1f6
--- /dev/null
+++ "b/Model/\345\237\272\347\241\200\350\265\204\346\226\231/\345\237\272\347\241\200\350\265\204\346\226\231/ClsGy_CheckNoteItem_Model.cs"
@@ -0,0 +1,11 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace Model
+{
+    public class ClsGy_CheckNoteItem_Model : DBUtility.ClsGy_Base_Model
+    {
+        public Int64 HCheckPostID;  //int --确认者角色(gy_Post)
+    }
+}
diff --git "a/Model/\345\237\272\347\241\200\350\265\204\346\226\231/\345\237\272\347\241\200\350\265\204\346\226\231/ClsGy_PostSkill_Model.cs" "b/Model/\345\237\272\347\241\200\350\265\204\346\226\231/\345\237\272\347\241\200\350\265\204\346\226\231/ClsGy_PostSkill_Model.cs"
index d6aa730..33197bc 100644
--- "a/Model/\345\237\272\347\241\200\350\265\204\346\226\231/\345\237\272\347\241\200\350\265\204\346\226\231/ClsGy_PostSkill_Model.cs"
+++ "b/Model/\345\237\272\347\241\200\350\265\204\346\226\231/\345\237\272\347\241\200\350\265\204\346\226\231/ClsGy_PostSkill_Model.cs"
@@ -7,10 +7,8 @@
     public class ClsGy_PostSkill_Model : DBUtility.ClsGy_Base_Model
     {
 
-        public DateTime HMakeTime;
-        public int HUSEORGID;
-        public string HMakeEmp;
-        public DateTime HModifyTime;
-        public int HERPItemID;
+        public int HPostID;
+        public int HProcID;
+
     }
 }
diff --git "a/Model/\345\267\245\344\275\215\347\234\213\346\235\277/ClsGy_SOPBillSub.cs" "b/Model/\345\267\245\344\275\215\347\234\213\346\235\277/ClsGy_SOPBillSub.cs"
index b561830..714c0c3 100644
--- "a/Model/\345\267\245\344\275\215\347\234\213\346\235\277/ClsGy_SOPBillSub.cs"
+++ "b/Model/\345\267\245\344\275\215\347\234\213\346\235\277/ClsGy_SOPBillSub.cs"
@@ -11,5 +11,9 @@
         public Int64 HWorkStationID;    //----工位ID(Gy_WorkStation)
         public Int64 HCenterID;         //----工作中心ID (Gy_WorkCenter)
         public string HRemark;          //----备注
+
+        public Int64 HSourceID;         //生产资源ID
+        public Int64 HMouldID;         //模具ID 
+
     }
 }
diff --git "a/Model/\345\267\245\350\265\204\347\256\241\347\220\206/ClsHR_EmployeeSkillBillMain.cs" "b/Model/\345\267\245\350\265\204\347\256\241\347\220\206/ClsHR_EmployeeSkillBillMain.cs"
index 7494e95..51ec139 100644
--- "a/Model/\345\267\245\350\265\204\347\256\241\347\220\206/ClsHR_EmployeeSkillBillMain.cs"
+++ "b/Model/\345\267\245\350\265\204\347\256\241\347\220\206/ClsHR_EmployeeSkillBillMain.cs"
@@ -13,5 +13,7 @@
         public Int64 HCheckEmpID;//	-评定人
         public Int64 HManagerEmpID;    //上级领导
         public string HInnerBillNo; //内部订单号
+        public Int64 HMaterID;//		产品编码	
+        public Int64 HProcID;//	工序
     }
 }
diff --git "a/Model/\345\267\245\350\265\204\347\256\241\347\220\206/ClsHR_PostSkillBillMain.cs" "b/Model/\345\267\245\350\265\204\347\256\241\347\220\206/ClsHR_PostSkillBillMain.cs"
index b9c6669..beb6c89 100644
--- "a/Model/\345\267\245\350\265\204\347\256\241\347\220\206/ClsHR_PostSkillBillMain.cs"
+++ "b/Model/\345\267\245\350\265\204\347\256\241\347\220\206/ClsHR_PostSkillBillMain.cs"
@@ -9,5 +9,7 @@
         public Int64 HDeptID;//		部门	
         public Int64 HPostID;//	岗位
         public Int64 HOrgID;    //组织
+        public Int64 HProcID;//		工序	
+        public Int64 HMaterID;//	产品编码
     }
 }
diff --git "a/Model/\345\272\224\344\273\230\347\256\241\347\220\206/ClsYF_PayMentOtherBillMain.cs" "b/Model/\345\272\224\344\273\230\347\256\241\347\220\206/ClsYF_PayMentOtherBillMain.cs"
index f1179ae..bc458f5 100644
--- "a/Model/\345\272\224\344\273\230\347\256\241\347\220\206/ClsYF_PayMentOtherBillMain.cs"
+++ "b/Model/\345\272\224\344\273\230\347\256\241\347\220\206/ClsYF_PayMentOtherBillMain.cs"
@@ -7,7 +7,7 @@
     public class ClsYF_PayMentOtherBillMain:DBUtility.ClsXt_BaseBillMain
     {
         public DateTime HAccDate;//  datetime  //收款日期
-        public Int64 HCusID;//   int  //供应商(gy_supplier)
+        public Int64 HSupID;//   int  //供应商(gy_supplier)
         public Int64 HCurID;//   int   //币别
         public Single HExRate;//    money //汇率(选币别带出)
         public Int64 HDeptID;//  int  //部门
diff --git "a/Model/\347\224\237\344\272\247\347\256\241\347\220\206/\346\250\241\345\205\267\347\256\241\347\220\206/ClsSc_MouldMaintainBillMain.cs" "b/Model/\347\224\237\344\272\247\347\256\241\347\220\206/\346\250\241\345\205\267\347\256\241\347\220\206/ClsSc_MouldMaintainBillMain.cs"
index c5e6d1b..22b33c2 100644
--- "a/Model/\347\224\237\344\272\247\347\256\241\347\220\206/\346\250\241\345\205\267\347\256\241\347\220\206/ClsSc_MouldMaintainBillMain.cs"
+++ "b/Model/\347\224\237\344\272\247\347\256\241\347\220\206/\346\250\241\345\205\267\347\256\241\347\220\206/ClsSc_MouldMaintainBillMain.cs"
@@ -15,5 +15,10 @@
         public string HExplanation;//       --摘要
         public string HInnerBillNo;//       --内部单据号
         public int HMouldMaintainRuleInterID;
+
+        public Int64 HMaintainLevID; //保养级别(gy_HMaintainLev)
+
+        public int HMouldMaintainPlanInterID; //器具保养计划单(Sc_MouldMaintainPlanBillSub_Plan)主内码
+        public int HMouldMaintainPlanEntryID; //器具保养计划单(Sc_MouldMaintainPlanBillSub_Plan)子内码
     }
 }
diff --git "a/Model/\347\224\237\344\272\247\347\256\241\347\220\206/\346\250\241\345\205\267\347\256\241\347\220\206/ClsSc_MouldMaintainPlanBillMain.cs" "b/Model/\347\224\237\344\272\247\347\256\241\347\220\206/\346\250\241\345\205\267\347\256\241\347\220\206/ClsSc_MouldMaintainPlanBillMain.cs"
index 3bcc61c..bfd30a8 100644
--- "a/Model/\347\224\237\344\272\247\347\256\241\347\220\206/\346\250\241\345\205\267\347\256\241\347\220\206/ClsSc_MouldMaintainPlanBillMain.cs"
+++ "b/Model/\347\224\237\344\272\247\347\256\241\347\220\206/\346\250\241\345\205\267\347\256\241\347\220\206/ClsSc_MouldMaintainPlanBillMain.cs"
@@ -15,5 +15,8 @@
         public string HExplanation;//    varchar(500)   --摘要
         public string HInnerBillNo;//    varchar(50)   	--内部单据号
         public int HMouldMaintainRuleID; //器具保养规程id
+        public string HMouldMaintainRuleNo;//保养规程单号
+
+        public Int64 HMaintainLevID; //保养级别(gy_HMaintainLev)
     }
 }
diff --git "a/Model/\347\224\237\344\272\247\347\256\241\347\220\206/\346\250\241\345\205\267\347\256\241\347\220\206/ClsSc_MouldMaintainRuleBillMain.cs" "b/Model/\347\224\237\344\272\247\347\256\241\347\220\206/\346\250\241\345\205\267\347\256\241\347\220\206/ClsSc_MouldMaintainRuleBillMain.cs"
index 4863c3c..16869d2 100644
--- "a/Model/\347\224\237\344\272\247\347\256\241\347\220\206/\346\250\241\345\205\267\347\256\241\347\220\206/ClsSc_MouldMaintainRuleBillMain.cs"
+++ "b/Model/\347\224\237\344\272\247\347\256\241\347\220\206/\346\250\241\345\205\267\347\256\241\347\220\206/ClsSc_MouldMaintainRuleBillMain.cs"
@@ -10,7 +10,9 @@
         public Int64 HCheckCycle;//  int		--保养周期 
         public string HExplanation;//    varchar(500)   --摘要
         public string HInnerBillNo;//    varchar(50)   	--内部单据号
-        
-        
+
+        public Int64 HMaintainLevID; //保养级别(gy_HMaintainLev)
+        public Int64 HUseQtys; //保养冲刺数
+        public Int64 HSafeDays; //保养安全天数
     }
 }
diff --git "a/Model/\347\224\237\344\272\247\347\256\241\347\220\206/\346\250\241\345\205\267\347\256\241\347\220\206/ClsSc_MouldProdInBillMain.cs" "b/Model/\347\224\237\344\272\247\347\256\241\347\220\206/\346\250\241\345\205\267\347\256\241\347\220\206/ClsSc_MouldProdInBillMain.cs"
index 6bc8014..522abd3 100644
--- "a/Model/\347\224\237\344\272\247\347\256\241\347\220\206/\346\250\241\345\205\267\347\256\241\347\220\206/ClsSc_MouldProdInBillMain.cs"
+++ "b/Model/\347\224\237\344\272\247\347\256\241\347\220\206/\346\250\241\345\205\267\347\256\241\347\220\206/ClsSc_MouldProdInBillMain.cs"
@@ -18,5 +18,7 @@
         public string HInnerBillNo;//  varchar(50)     	--内部单据号
         public string HRemark; //加工要求
         public bool HRedBlueFlag;//  bit    		--红蓝单
+        public Int64 HSupTypeID;    //  int        	--往来类型(1 供应商、2 客户、 3 车间部门)
+
     }
 }
diff --git "a/Model/\347\224\237\344\272\247\347\256\241\347\220\206/\346\250\241\345\205\267\347\256\241\347\220\206/ClsSc_MouldProdMoveBillMain.cs" "b/Model/\347\224\237\344\272\247\347\256\241\347\220\206/\346\250\241\345\205\267\347\256\241\347\220\206/ClsSc_MouldProdMoveBillMain.cs"
index 9fd49b6..df9504b 100644
--- "a/Model/\347\224\237\344\272\247\347\256\241\347\220\206/\346\250\241\345\205\267\347\256\241\347\220\206/ClsSc_MouldProdMoveBillMain.cs"
+++ "b/Model/\347\224\237\344\272\247\347\256\241\347\220\206/\346\250\241\345\205\267\347\256\241\347\220\206/ClsSc_MouldProdMoveBillMain.cs"
@@ -7,6 +7,7 @@
     public class ClsSc_MouldProdMoveBillMain : DBUtility.ClsXt_BaseBillMain
     {
         public Int64 HSupID;//   int        		--供应商
+        public Int64 HSupTypeID;//   int        	--往来类型
         public Int64 HWHID;//    int         		--仓库
         public Int64 HSCWHID;//  int           		--调出仓库   
         public Int64 HEmpID;//    int        		--业务员
@@ -18,6 +19,8 @@
         public string HInnerBillNo;//  varchar(50)     	--内部单据号
         public string HRemark; //加工要求
         public bool HRedBlueFlag;//  bit    		--红蓝单
-        public string HStockStyle;//  
+        public string HStockStyle;      //    varchar(100)  //调拨类型
+        public int HStockInOrgID;       //     int     		//调入组织ID
+        public int HStockOutOrgID;      //     int     		//调出组织ID
     }
 }
diff --git "a/Model/\347\224\237\344\272\247\347\256\241\347\220\206/\346\250\241\345\205\267\347\256\241\347\220\206/ClsSc_MouldProdMoveBillSub.cs" "b/Model/\347\224\237\344\272\247\347\256\241\347\220\206/\346\250\241\345\205\267\347\256\241\347\220\206/ClsSc_MouldProdMoveBillSub.cs"
index 5219ef6..af3d982 100644
--- "a/Model/\347\224\237\344\272\247\347\256\241\347\220\206/\346\250\241\345\205\267\347\256\241\347\220\206/ClsSc_MouldProdMoveBillSub.cs"
+++ "b/Model/\347\224\237\344\272\247\347\256\241\347\220\206/\346\250\241\345\205\267\347\256\241\347\220\206/ClsSc_MouldProdMoveBillSub.cs"
@@ -5,28 +5,49 @@
 namespace Model
 {
     public class ClsSc_MouldProdMoveBillSub : DBUtility.ClsXt_BaseBillSub
-    { 
-        public DateTime HEntryCloseDate;//   datetime      --行关闭 (默认为'')		new
-        public string HRemark;//         varchar(200)        --备注 
-        public Int64 HMaterID;//     int   			--物料ID
-        public Int64 HPropertyID;//  int    			--辅助属性
-        public Int64 HSecUnitID;//   int    			--辅助计量单位
-        public Single HSecUnitRate;//   	money			--换算率 	
-        public Int64 HUnitID;//    int      			--计量单位
-        public double HDesignLife;//     dec(18,8)      		--设计寿命
-        public double HLeaveLife;//     dec(18,8)      		--剩余寿命
-        public double HUseLife;//     dec(18,8)      		--使用寿命
-        public double HQtyMust;//   dec(18,8)       		--应收数量
-        public double HQty;//        dec(18,8)      		--实收数量
-        public double HPrice;//     dec(18,8)       		--单价
-        public double HMoney;//     dec(18,8)      		--金额
-        public Int64 HWHID;//      int      			--收料仓库
-        public Int64 HSCWHID;//    int         			--调出仓库ID 
-        public Int64 HSPID;//		int			--仓位ID		 
-        public Int64 HSCSPID;//		int 			--调出仓位ID	
-        public Int64 HSPGroupID;//	int			--仓位组ID(仓库选择完自动带出)
-        public string HBatchNo;//	varchar(50)		--批次
+    {
+        public long HMaterID;       //  int         --物料ID
+        public long HPropertyID;    //  int         --辅助属性
+        public long HSecUnitID;     //  int         --辅助计量单位
+        public Single HSecUnitRate; //  money	    --换算率 
+        public long HUnitID;        //  int         --计量单位
+        public string HBatchNo;     //  varchar(50) --批次	
+        public double HQtyMust;     //              --账存数量         
+        public double HQtyRel;      //              --实存数量
+        public double HQty;         //              --盈亏数量
+        public double HPrice;       //              --单价
+        public double HMoney;       //              --盈亏金额
+        public double HDesignLife;  //  money		--设计寿命
+        public double HLeaveLife;   //	money		--剩余寿命
+        public double HUseLife;     //	money	    --使用寿命
+        public long HWHID;          //  int         --收料仓库
+        public long HSCWHID;        //  int         --调出仓库ID    界面上不需要显示,存0进去
+        public long HSPID;          //  int	        --仓位ID		 
+        public long HSCSPID;        //  int 	    --调出仓位ID    界面上不需要显示,存0进去
+        public long HSPGroupID;     //	int	        --仓位组ID		界面上不需要显示,存0进去 
         public string HBarCode;
+        public double HUseLifeQty;
+        public string HNowModel;
+        public double HNowLife;
+        public Int64 HMouldType;
+        public string HInitModel;
+        public Single HInitDesignLife;
+        public Int64 HLifeUnitID;
+        public string HNewModel;
+        public string HWallThickness;
+        public string HHardness;
+        public string HLastProdModel;
+        public string HDiameter;
+        public string HBackFlag;
+        public double HNewLifeQty;
+        public Int64 HPOOrderInterID;       //  int      	--采购订单主内码
+        public Int64 HPOOrderEntryID;       //  int    		--采购订单子内码
+        public string HPOOrderBillNo;       //  varchar(50) --采购订单号
+        public Int64 HSeOrderInterID;       //  int     	--销售订单主内码
+        public Int64 HSeOrderEntryID;       //  int			--销售订单子内码
+        public string HSeOrderBillNo;       //  varchar(50) --销售订单号
+        public Int64 HCorrespondentTypeID;  //  int         --往来单位类型(1 供应商、2 客户、 3 车间部门)
+        public Int64 HCorrespondentID;      //  int         --往来单位内码
 
     }
 }
diff --git "a/Model/\347\224\237\344\272\247\347\256\241\347\220\206/\350\256\276\345\244\207\347\256\241\347\220\206/ClsSb_EquipMaintainBillMain.cs" "b/Model/\347\224\237\344\272\247\347\256\241\347\220\206/\350\256\276\345\244\207\347\256\241\347\220\206/ClsSb_EquipMaintainBillMain.cs"
index 50fc8c8..1edef06 100644
--- "a/Model/\347\224\237\344\272\247\347\256\241\347\220\206/\350\256\276\345\244\207\347\256\241\347\220\206/ClsSb_EquipMaintainBillMain.cs"
+++ "b/Model/\347\224\237\344\272\247\347\256\241\347\220\206/\350\256\276\345\244\207\347\256\241\347\220\206/ClsSb_EquipMaintainBillMain.cs"
@@ -17,5 +17,7 @@
 
         public int HEquipMaintainPlanInterID; //设备保养计划单(Sb_EquipMaintainPlanBillSub_Plan)主内码
         public int HEquipMaintainPlanEntryID; //设备保养计划单(Sb_EquipMaintainPlanBillSub_Plan)子内码
+
+        public Int64 HMaintainLevID; //保养级别(gy_HMaintainLev)
     }
 }
diff --git "a/Model/\347\224\237\344\272\247\347\256\241\347\220\206/\350\256\276\345\244\207\347\256\241\347\220\206/ClsSb_EquipMaintainPlanBillMain.cs" "b/Model/\347\224\237\344\272\247\347\256\241\347\220\206/\350\256\276\345\244\207\347\256\241\347\220\206/ClsSb_EquipMaintainPlanBillMain.cs"
index c380854..d7c2b13 100644
--- "a/Model/\347\224\237\344\272\247\347\256\241\347\220\206/\350\256\276\345\244\207\347\256\241\347\220\206/ClsSb_EquipMaintainPlanBillMain.cs"
+++ "b/Model/\347\224\237\344\272\247\347\256\241\347\220\206/\350\256\276\345\244\207\347\256\241\347\220\206/ClsSb_EquipMaintainPlanBillMain.cs"
@@ -14,7 +14,8 @@
         public string HExplanation;
         public string HInnerBillNo;
         public int HMouldMaintainRuleID; //保养规程id
-        
-        
+        public string HMouldMaintainRuleNo;//保养规程单号
+
+        public Int64 HMaintainLevID; //保养级别(gy_HMaintainLev)
     }
 }
diff --git "a/Model/\350\264\250\346\243\200\347\256\241\347\220\206/ClsQC_StockCheckBillMain.cs" "b/Model/\350\264\250\346\243\200\347\256\241\347\220\206/ClsQC_StockCheckBillMain.cs"
new file mode 100644
index 0000000..0a62a7e
--- /dev/null
+++ "b/Model/\350\264\250\346\243\200\347\256\241\347\220\206/ClsQC_StockCheckBillMain.cs"
@@ -0,0 +1,57 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace Model
+{
+    public class ClsQC_StockCheckBillMain : DBUtility.ClsXt_BaseBillMain
+    {
+        public Int64 HSourceID;
+        public Int64 HICMOInterID;
+        public Int64 HICMOEntryID;
+        public string HICMOBillNo;
+        public Int64 HICMOQty;
+        public Int64 HProcExchInterID;
+        public Int64 HProcExchEntryID;
+        public string HProcExchBillNo;
+        public Int64 HProcExchQty;
+        public Int64 HMaterID;
+        public Int64 HFirstCheckEmp;
+        public bool HLastResult;
+        public Int64 HCusID;
+        public string HMaterPicNo;
+        public Int64 HProcID;
+        public Int64 HGroupID;
+        public Int64 HShiftsID;
+        public string HErrTreatment;
+        public Int64 HCheckQty;
+        public Int64 HSourceOrgID;
+        public Int64 HInspectOrgID;
+        public Int64 HDeptID;
+        public Int64 HQCSchemeID;
+        public Int64 HUnitID;
+        public Int64 HInSpectQty;
+        public Int64 HRightQty;
+        public Int64 HUnRightQty;
+        public Int64 HSampleDamageQty;
+        public Int64 HSampleUnRightQty;
+        public string HQCStatus;
+        public string HBatchNo;
+        public Int64 HSampleQty;
+        public Int64 HSampleSchemeID;
+        public Int64 HAcceptQty;
+        public Int64 HRejectQty;
+        public Int64 HInspectTimes;
+        public string HAttachMent;
+
+
+        //子表 QC_StockCheckBillSub(检验项目)
+        public Int64 HInspectValB;
+        public Int64 HTargetValB;
+        public string HInspectVal;
+        public string HTargetVal;
+        public string HUpLimit;
+        public string HDownLimit;
+
+    }
+}
diff --git "a/Model/\350\264\250\346\243\200\347\256\241\347\220\206/ClsQC_StockCheckBillSub.cs" "b/Model/\350\264\250\346\243\200\347\256\241\347\220\206/ClsQC_StockCheckBillSub.cs"
new file mode 100644
index 0000000..cd190e8
--- /dev/null
+++ "b/Model/\350\264\250\346\243\200\347\256\241\347\220\206/ClsQC_StockCheckBillSub.cs"
@@ -0,0 +1,71 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace Model
+{
+    public class ClsQC_StockCheckBillSub : DBUtility.ClsXt_BaseBillSub
+    {
+        public String HBillNo_bak;
+        public Int64 HQCCheckItemID;
+        public string HInspectResult;
+        public string HAnalysisMethod;
+        public Int64 HQualityStdID;
+        public Int64 HInspectMethodID;
+        public Int64 HInspectInstruMentID;
+        public Int64 HInspectBasisID;
+        public Int64 HUnitID;
+        public Int64 HInspectValQ;
+        public Int64 HInspectValB;
+        public string HInSpectValT;
+        public string HDefectLevel;
+        public bool HDestructInspect;
+        public double HKeyInspect;
+        public string HStatus;
+        public Int64 HSampleQty;
+        public Int64 HSampleSchemeID;
+        public Int64 HAcceptQty;
+        public Int64 HRejectQty;
+        public double HSampleDamageQty;
+        public double HSampleUnRightQty;
+        public string HInspectVal;
+        public string HTargetVal;
+        public string HUpLimit;
+        public string HDownLimit;
+        public string HUpOffSet;
+        public string HDownOffSet;
+        public string HInspectValKey;
+        public string HTargetValKey;
+        public string HUpLimitKey;
+        public string HDownLimitKey;
+        public string HUpOffSetKey;
+        public string HDownOffSetKey;
+        public Int64 HInspectValQ2;
+        public Int64 HTargetValQ;
+        public Int64 HUpLimitQ;
+        public Int64 HDownLimitQ;
+        public Int64 HUpOffSetQ;
+        public Int64 HDownOffSetQ;
+        public Int64 HInspectValB2;
+        public Int64 HTargetValB;
+        public Int64 HUpLimitB;
+        public Int64 HDownLimitB;
+        public Int64 HUpOffSetB;
+        public Int64 HDownOffSetB;
+        public string HInspectValTxt;
+        public string HTargetValTxt;
+        public string HUpLimitTxt;
+        public string HDownLimitTxt;
+        public string HUpOffSetTxt;
+        public string HDownOffSetTxt;
+        public string HQCStd;
+        public string HUnit;
+        public string HQCTool;
+        public string HQCNote;
+        public string HResult;
+        public string HMax;
+        public string HMin;
+        public string HAvg;
+
+    }
+}
diff --git "a/Model/\350\264\250\346\243\200\347\256\241\347\220\206/ClsQC_StockCheckBillSub_ValueGrid.cs" "b/Model/\350\264\250\346\243\200\347\256\241\347\220\206/ClsQC_StockCheckBillSub_ValueGrid.cs"
new file mode 100644
index 0000000..08dd002
--- /dev/null
+++ "b/Model/\350\264\250\346\243\200\347\256\241\347\220\206/ClsQC_StockCheckBillSub_ValueGrid.cs"
@@ -0,0 +1,16 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace Model
+{
+    public class ClsQC_StockCheckBillSub_ValueGrid : DBUtility.ClsXt_BaseBillSub
+    {
+        public Int64 HItemID;
+        public Int64 HSEQ;
+        public String HInSpectResult;
+        public double HInSpectValue;
+        public Int64 HInSpectValueB;
+        public String HInSpectValueT;
+    }
+}
diff --git "a/Model/\350\264\250\346\243\200\347\256\241\347\220\206/ClsQC_WorkSelfCheckBillMain.cs" "b/Model/\350\264\250\346\243\200\347\256\241\347\220\206/ClsQC_WorkSelfCheckBillMain.cs"
new file mode 100644
index 0000000..9d44d35
--- /dev/null
+++ "b/Model/\350\264\250\346\243\200\347\256\241\347\220\206/ClsQC_WorkSelfCheckBillMain.cs"
@@ -0,0 +1,57 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace Model
+{
+    public class ClsQC_WorkSelfCheckBillMain : DBUtility.ClsXt_BaseBillMain
+    {
+        public Int64 HSourceID;
+        public Int64 HICMOInterID;
+        public Int64 HICMOEntryID;
+        public string HICMOBillNo;
+        public Int64 HICMOQty;
+        public Int64 HProcExchInterID;
+        public Int64 HProcExchEntryID;
+        public string HProcExchBillNo;
+        public Int64 HProcExchQty;
+        public Int64 HMaterID;
+        public Int64 HFirstCheckEmp;
+        public bool HLastResult;
+        public Int64 HCusID;
+        public string HMaterPicNo;
+        public Int64 HProcID;
+        public Int64 HGroupID;
+        public Int64 HShiftsID;
+        public string HErrTreatment;
+        public Int64 HCheckQty;
+        public Int64 HSourceOrgID;
+        public Int64 HInspectOrgID;
+        public Int64 HDeptID;
+        public Int64 HQCSchemeID;
+        public Int64 HUnitID;
+        public Int64 HInSpectQty;
+        public Int64 HRightQty;
+        public Int64 HUnRightQty;
+        public Int64 HSampleDamageQty;
+        public Int64 HSampleUnRightQty;
+        public string HQCStatus;
+        public string HBatchNo;
+        public Int64 HSampleQty;
+        public Int64 HSampleSchemeID;
+        public Int64 HAcceptQty;
+        public Int64 HRejectQty;
+        public Int64 HInspectTimes;
+        public string HAttachMent;
+
+
+        //子表 QC_StockCheckBillSub(检验项目)
+        public Int64 HInspectValB;
+        public Int64 HTargetValB;
+        public string HInspectVal;
+        public string HTargetVal;
+        public string HUpLimit;
+        public string HDownLimit;
+
+    }
+}
diff --git "a/Model/\350\264\250\346\243\200\347\256\241\347\220\206/ClsQC_WorkSelfCheckBillSub.cs" "b/Model/\350\264\250\346\243\200\347\256\241\347\220\206/ClsQC_WorkSelfCheckBillSub.cs"
new file mode 100644
index 0000000..06c4a1a
--- /dev/null
+++ "b/Model/\350\264\250\346\243\200\347\256\241\347\220\206/ClsQC_WorkSelfCheckBillSub.cs"
@@ -0,0 +1,71 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace Model
+{
+    public class ClsQC_WorkSelfCheckBillSub : DBUtility.ClsXt_BaseBillSub
+    {
+        public String HBillNo_bak;
+        public Int64 HQCCheckItemID;
+        public string HInspectResult;
+        public string HAnalysisMethod;
+        public Int64 HQualityStdID;
+        public Int64 HInspectMethodID;
+        public Int64 HInspectInstruMentID;
+        public Int64 HInspectBasisID;
+        public Int64 HUnitID;
+        public Int64 HInspectValQ;
+        public Int64 HInspectValB;
+        public string HInSpectValT;
+        public string HDefectLevel;
+        public bool HDestructInspect;
+        public double HKeyInspect;
+        public string HStatus;
+        public Int64 HSampleQty;
+        public Int64 HSampleSchemeID;
+        public Int64 HAcceptQty;
+        public Int64 HRejectQty;
+        public double HSampleDamageQty;
+        public double HSampleUnRightQty;
+        public string HInspectVal;
+        public string HTargetVal;
+        public string HUpLimit;
+        public string HDownLimit;
+        public string HUpOffSet;
+        public string HDownOffSet;
+        public string HInspectValKey;
+        public string HTargetValKey;
+        public string HUpLimitKey;
+        public string HDownLimitKey;
+        public string HUpOffSetKey;
+        public string HDownOffSetKey;
+        public Int64 HInspectValQ2;
+        public Int64 HTargetValQ;
+        public Int64 HUpLimitQ;
+        public Int64 HDownLimitQ;
+        public Int64 HUpOffSetQ;
+        public Int64 HDownOffSetQ;
+        public Int64 HInspectValB2;
+        public Int64 HTargetValB;
+        public Int64 HUpLimitB;
+        public Int64 HDownLimitB;
+        public Int64 HUpOffSetB;
+        public Int64 HDownOffSetB;
+        public string HInspectValTxt;
+        public string HTargetValTxt;
+        public string HUpLimitTxt;
+        public string HDownLimitTxt;
+        public string HUpOffSetTxt;
+        public string HDownOffSetTxt;
+        public string HQCStd;
+        public string HUnit;
+        public string HQCTool;
+        public string HQCNote;
+        public string HResult;
+        public string HMax;
+        public string HMin;
+        public string HAvg;
+
+    }
+}
diff --git "a/Model/\350\264\250\346\243\200\347\256\241\347\220\206/ClsQC_WorkSelfCheckBillSub_ValueGrid.cs" "b/Model/\350\264\250\346\243\200\347\256\241\347\220\206/ClsQC_WorkSelfCheckBillSub_ValueGrid.cs"
new file mode 100644
index 0000000..b142b22
--- /dev/null
+++ "b/Model/\350\264\250\346\243\200\347\256\241\347\220\206/ClsQC_WorkSelfCheckBillSub_ValueGrid.cs"
@@ -0,0 +1,16 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace Model
+{
+    public class ClsQC_WorkSelfCheckBillSub_ValueGrid : DBUtility.ClsXt_BaseBillSub
+    {
+        public Int64 HItemID;
+        public Int64 HSEQ;
+        public String HInSpectResult;
+        public double HInSpectValue;
+        public Int64 HInSpectValueB;
+        public String HInSpectValueT;
+    }
+}
diff --git "a/Model/\350\275\246\351\227\264\347\256\241\347\220\206/ClsGy_MaterPreventErrMouldBillMain.cs" "b/Model/\350\275\246\351\227\264\347\256\241\347\220\206/ClsGy_MaterPreventErrMouldBillMain.cs"
new file mode 100644
index 0000000..9b690b1
--- /dev/null
+++ "b/Model/\350\275\246\351\227\264\347\256\241\347\220\206/ClsGy_MaterPreventErrMouldBillMain.cs"
@@ -0,0 +1,13 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace Model
+{
+    public class ClsGy_MaterPreventErrMouldBillMain : DBUtility.ClsXt_BaseBillMain
+    {
+     
+        public Int64 HMaterID;          //int ---物料(gy_Material)
+      
+    }
+}
diff --git "a/Model/\350\275\246\351\227\264\347\256\241\347\220\206/ClsGy_MaterPreventErrMouldBillSub.cs" "b/Model/\350\275\246\351\227\264\347\256\241\347\220\206/ClsGy_MaterPreventErrMouldBillSub.cs"
new file mode 100644
index 0000000..180a83b
--- /dev/null
+++ "b/Model/\350\275\246\351\227\264\347\256\241\347\220\206/ClsGy_MaterPreventErrMouldBillSub.cs"
@@ -0,0 +1,15 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace Model
+{
+    public class ClsGy_MaterPreventErrMouldBillSub : DBUtility.ClsXt_BaseBillSub
+    {
+        public Int64 HPreventErrMouldID;  // int --防错装置 (Gy_PreventErrMould)
+        public string HPreventErrNote;     // varchar(200) --防错功能
+        public string HLoseMode;     //varchar(200) --失效模式
+        public string HLoseCheck;     // varchar(200) --失效验证方法
+
+    }
+}
diff --git "a/Model/\350\275\246\351\227\264\347\256\241\347\220\206/ClsGy_WorkBeginDotCheckListBillMain.cs" "b/Model/\350\275\246\351\227\264\347\256\241\347\220\206/ClsGy_WorkBeginDotCheckListBillMain.cs"
new file mode 100644
index 0000000..3f52212
--- /dev/null
+++ "b/Model/\350\275\246\351\227\264\347\256\241\347\220\206/ClsGy_WorkBeginDotCheckListBillMain.cs"
@@ -0,0 +1,15 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace Model
+{
+    public class ClsGy_WorkBeginDotCheckListBillMain : DBUtility.ClsXt_BaseBillMain
+    {
+       
+        public Int64 HMaterID;          //int ---物料(gy_Material)
+        public Int64 HSourceID;  // int --生产资源(gy_Source)     
+        public Int64 HProcID;    //int --工序(gy_Process)
+        public string HNote;        // varchar(500) --记录事项
+    }
+}
diff --git "a/Model/\350\275\246\351\227\264\347\256\241\347\220\206/ClsGy_WorkBeginDotCheckListBillSub.cs" "b/Model/\350\275\246\351\227\264\347\256\241\347\220\206/ClsGy_WorkBeginDotCheckListBillSub.cs"
new file mode 100644
index 0000000..9d429a3
--- /dev/null
+++ "b/Model/\350\275\246\351\227\264\347\256\241\347\220\206/ClsGy_WorkBeginDotCheckListBillSub.cs"
@@ -0,0 +1,13 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace Model
+{
+    public class ClsGy_WorkBeginDotCheckListBillSub : DBUtility.ClsXt_BaseBillSub
+    {
+        public Int64 HCheckNoteItemID;  // int --检查项目 (Gy_CheckNoteItem)
+        public Int64 HCheckPostID;         //int --确认者角色(gy_Post)
+
+    }
+}
diff --git "a/Model/\350\275\246\351\227\264\347\256\241\347\220\206/ClsQc_PreventErrMouldCheckBillMain.cs" "b/Model/\350\275\246\351\227\264\347\256\241\347\220\206/ClsQc_PreventErrMouldCheckBillMain.cs"
new file mode 100644
index 0000000..b1a96a5
--- /dev/null
+++ "b/Model/\350\275\246\351\227\264\347\256\241\347\220\206/ClsQc_PreventErrMouldCheckBillMain.cs"
@@ -0,0 +1,15 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace Model
+{
+    public class ClsQc_PreventErrMouldCheckBillMain : DBUtility.ClsXt_BaseBillMain
+    {
+    
+        public Int64 HMaterID;          //int ---物料(gy_Material)
+        public Int64 HCheckEmpID;        // int --点检作业员(gy_Employee)
+        public string HNote;        // varchar(500) --记录事项
+        public string HLastResult;  //varchar(20)  --最终结论(OK,NG)
+    }
+}
diff --git "a/Model/\350\275\246\351\227\264\347\256\241\347\220\206/ClsQc_PreventErrMouldCheckBillSub.cs" "b/Model/\350\275\246\351\227\264\347\256\241\347\220\206/ClsQc_PreventErrMouldCheckBillSub.cs"
new file mode 100644
index 0000000..b0f12cf
--- /dev/null
+++ "b/Model/\350\275\246\351\227\264\347\256\241\347\220\206/ClsQc_PreventErrMouldCheckBillSub.cs"
@@ -0,0 +1,16 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace Model
+{
+    public class ClsQc_PreventErrMouldCheckBillSub : DBUtility.ClsXt_BaseBillSub
+    {
+        public Int64 HPreventErrMouldID;  // int --防错装置 (Gy_PreventErrMould)
+        public string HPreventErrNote;         //varchar(200) --防错功能
+        public string HLoseMode;     // varchar(200) --失效模式
+        public string HLoseCheck;   //varchar(200) --失效验证方法
+        public string HCheckResult; //varchar(20)  --结果(OK,X)
+
+    }
+}
diff --git "a/Model/\350\275\246\351\227\264\347\256\241\347\220\206/ClsSc_WorkBeginDotCheckBillMain.cs" "b/Model/\350\275\246\351\227\264\347\256\241\347\220\206/ClsSc_WorkBeginDotCheckBillMain.cs"
new file mode 100644
index 0000000..fbba7ee
--- /dev/null
+++ "b/Model/\350\275\246\351\227\264\347\256\241\347\220\206/ClsSc_WorkBeginDotCheckBillMain.cs"
@@ -0,0 +1,23 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace Model
+{
+    public class ClsSc_WorkBeginDotCheckBillMain : DBUtility.ClsXt_BaseBillMain
+    {
+        public Int64 HICMOInterID;          //int --生产订单主内码(内码不显示出来,隐藏)
+        public Int64 HICMOEntryID;  // int --生产订单子内码(内码不显示出来,隐藏)
+        public string HICMOBillNo;        // varchar(100) --生产订单
+        public Int64 HProcExchInterID;          //int -流转卡主内码(内码不显示出来,隐藏)
+        public Int64 HProcExchEntryID;  // int --流转卡子内码(内码不显示出来,隐藏)
+        public string HProcExchBillNo; //varchar(100) --流转卡
+        public Int64 HMaterID;          //int ---物料(gy_Material)
+        public Int64 HSourceID;  // int --生产资源(gy_Source)
+        public Int64 HCheckEmpID;        // int --点检作业员(gy_Employee)
+        public Int64 HGroupID;      //  int 生产班组(gy_Group)
+        public Int64 HGroupLeaderID;    //int --班组长(gy_Employee)
+        public string HNote;        // varchar(500) --记录事项
+        public string HLastResult;  //varchar(20)  --最终结论(OK,NG)
+    }
+}
diff --git "a/Model/\350\275\246\351\227\264\347\256\241\347\220\206/ClsSc_WorkBeginDotCheckBillSub.cs" "b/Model/\350\275\246\351\227\264\347\256\241\347\220\206/ClsSc_WorkBeginDotCheckBillSub.cs"
new file mode 100644
index 0000000..7d09993
--- /dev/null
+++ "b/Model/\350\275\246\351\227\264\347\256\241\347\220\206/ClsSc_WorkBeginDotCheckBillSub.cs"
@@ -0,0 +1,14 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace Model
+{
+    public class ClsSc_WorkBeginDotCheckBillSub : DBUtility.ClsXt_BaseBillSub
+    {
+        public Int64 HCheckNoteItemID;  // int --检查项目 (Gy_CheckNoteItem)
+        public Int64 HCheckPostID;         //int --确认者角色(gy_Post)
+        public string HCheckResult;     // varchar(20)  --结果(OK,X)
+
+    }
+}
diff --git "a/Model/\351\207\207\350\264\255\347\256\241\347\220\206/ClsCg_ContractBillMain.cs" "b/Model/\351\207\207\350\264\255\347\256\241\347\220\206/ClsCg_ContractBillMain.cs"
index 8c373d4..f662256 100644
--- "a/Model/\351\207\207\350\264\255\347\256\241\347\220\206/ClsCg_ContractBillMain.cs"
+++ "b/Model/\351\207\207\350\264\255\347\256\241\347\220\206/ClsCg_ContractBillMain.cs"
@@ -6,16 +6,16 @@
 {
     public class ClsCg_ContractBillMain:DBUtility.ClsXt_BaseBillMain
     {
-        public DateTime HContractDate;
-        public string HContractName;
-        public string HAddress;
-        public Int64 HSSID;
-        public Int64 HSupID;
-        public Int64 HCurID;
-        public double HExRate;
-        public Int64 HEmpID;
-        public Int64 HDeptID;
-        public string HExplanation;
-        public string HInnerBillNo;
+        public DateTime HContractDate;  //合同日期
+        public string HContractName;//合同名称
+        public string HAddress;//交货地点
+        public Int64 HSSID; //结算方式
+        public Int64 HSupID; //供应商
+        public Int64 HCurID;//币别
+        public double HExRate;// 汇率
+        public Int64 HEmpID; // 业务员
+        public Int64 HDeptID; // 部门
+        public string HExplanation; //摘要
+        public string HInnerBillNo; //内部单据号
     }
 }
diff --git "a/Model/\351\241\271\347\233\256\347\256\241\347\220\206/ClsGy_MaterialMouldBillMain.cs" "b/Model/\351\241\271\347\233\256\347\256\241\347\220\206/ClsGy_MaterialMouldBillMain.cs"
index 4b3a76f..d76808e 100644
--- "a/Model/\351\241\271\347\233\256\347\256\241\347\220\206/ClsGy_MaterialMouldBillMain.cs"
+++ "b/Model/\351\241\271\347\233\256\347\256\241\347\220\206/ClsGy_MaterialMouldBillMain.cs"
@@ -13,5 +13,6 @@
         public Int64 HWorkCenterID;    //int       工作中心
         public Int64 HEquipID;    //int      设备ID
 
+        public Int64 HProcID; //工序ID
     }
 }
diff --git "a/Model/\351\241\271\347\233\256\347\256\241\347\220\206/ClsGy_ProjectMoneyBOMBillMain.cs" "b/Model/\351\241\271\347\233\256\347\256\241\347\220\206/ClsGy_ProjectMoneyBOMBillMain.cs"
new file mode 100644
index 0000000..6ce4f4f
--- /dev/null
+++ "b/Model/\351\241\271\347\233\256\347\256\241\347\220\206/ClsGy_ProjectMoneyBOMBillMain.cs"
@@ -0,0 +1,15 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace Model
+{
+    public class ClsGy_ProjectMoneyBOMBillMain : DBUtility.ClsXt_BaseBillMain
+    {   
+
+        public Int64 HProjectClassID;    //int       项目类别
+        public Int64 HProjectStageID;    //int       项目阶段
+        public Int64 HOrgID;//		int    //组织
+
+    }
+}
diff --git "a/Model/\351\241\271\347\233\256\347\256\241\347\220\206/ClsGy_ProjectMoneyBOMBillSub.cs" "b/Model/\351\241\271\347\233\256\347\256\241\347\220\206/ClsGy_ProjectMoneyBOMBillSub.cs"
new file mode 100644
index 0000000..ff5854f
--- /dev/null
+++ "b/Model/\351\241\271\347\233\256\347\256\241\347\220\206/ClsGy_ProjectMoneyBOMBillSub.cs"
@@ -0,0 +1,11 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace Model
+{
+    public class ClsGy_ProjectMoneyBOMBillSub : DBUtility.ClsXt_BaseBillSub
+    {
+        public Int64 HProMoneyID;    //int --项目费用
+    }
+}
diff --git "a/Model/\351\241\271\347\233\256\347\256\241\347\220\206/ClsGy_WorkTaskMoneyBOMBillMain.cs" "b/Model/\351\241\271\347\233\256\347\256\241\347\220\206/ClsGy_WorkTaskMoneyBOMBillMain.cs"
new file mode 100644
index 0000000..a13d633
--- /dev/null
+++ "b/Model/\351\241\271\347\233\256\347\256\241\347\220\206/ClsGy_WorkTaskMoneyBOMBillMain.cs"
@@ -0,0 +1,14 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace Model
+{
+    public class ClsGy_WorkTaskMoneyBOMBillMain : DBUtility.ClsXt_BaseBillMain
+    {   
+
+        public Int64 HTaskClassID;    //int       任务类别
+        public Int64 HOrgID;//		int    //组织
+
+    }
+}
diff --git "a/Model/\351\241\271\347\233\256\347\256\241\347\220\206/ClsGy_WorkTaskMoneyBOMBillSub.cs" "b/Model/\351\241\271\347\233\256\347\256\241\347\220\206/ClsGy_WorkTaskMoneyBOMBillSub.cs"
new file mode 100644
index 0000000..61150ed
--- /dev/null
+++ "b/Model/\351\241\271\347\233\256\347\256\241\347\220\206/ClsGy_WorkTaskMoneyBOMBillSub.cs"
@@ -0,0 +1,11 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace Model
+{
+    public class ClsGy_WorkTaskMoneyBOMBillSub : DBUtility.ClsXt_BaseBillSub
+    {
+        public Int64 HProMoneyID;    //int --项目费用
+    }
+}
diff --git a/NETERPNoWin/bin/Debug/AxInterop.gregn6Lib.dll b/NETERPNoWin/bin/Debug/AxInterop.gregn6Lib.dll
index ff71b04..f33f9ae 100644
--- a/NETERPNoWin/bin/Debug/AxInterop.gregn6Lib.dll
+++ b/NETERPNoWin/bin/Debug/AxInterop.gregn6Lib.dll
Binary files differ
diff --git a/NETERPNoWin/bin/Debug/BLL.dll b/NETERPNoWin/bin/Debug/BLL.dll
index 454b63a..fa3da21 100644
--- a/NETERPNoWin/bin/Debug/BLL.dll
+++ b/NETERPNoWin/bin/Debug/BLL.dll
Binary files differ
diff --git a/NETERPNoWin/bin/Debug/BLL.pdb b/NETERPNoWin/bin/Debug/BLL.pdb
index 4935389..78c8104 100644
--- a/NETERPNoWin/bin/Debug/BLL.pdb
+++ b/NETERPNoWin/bin/Debug/BLL.pdb
Binary files differ
diff --git a/NETERPNoWin/bin/Debug/BaseSet.dll b/NETERPNoWin/bin/Debug/BaseSet.dll
index 6860021..842f788 100644
--- a/NETERPNoWin/bin/Debug/BaseSet.dll
+++ b/NETERPNoWin/bin/Debug/BaseSet.dll
Binary files differ
diff --git a/NETERPNoWin/bin/Debug/BaseSet.pdb b/NETERPNoWin/bin/Debug/BaseSet.pdb
index 1d4aaf5..e79fce3 100644
--- a/NETERPNoWin/bin/Debug/BaseSet.pdb
+++ b/NETERPNoWin/bin/Debug/BaseSet.pdb
Binary files differ
diff --git a/NETERPNoWin/bin/Debug/DAL.dll b/NETERPNoWin/bin/Debug/DAL.dll
index a2ba958..727f902 100644
--- a/NETERPNoWin/bin/Debug/DAL.dll
+++ b/NETERPNoWin/bin/Debug/DAL.dll
Binary files differ
diff --git a/NETERPNoWin/bin/Debug/DAL.pdb b/NETERPNoWin/bin/Debug/DAL.pdb
index 9613689..e73f3b3 100644
--- a/NETERPNoWin/bin/Debug/DAL.pdb
+++ b/NETERPNoWin/bin/Debug/DAL.pdb
Binary files differ
diff --git a/NETERPNoWin/bin/Debug/DBUtility.dll b/NETERPNoWin/bin/Debug/DBUtility.dll
index b2116b7..26dab8f 100644
--- a/NETERPNoWin/bin/Debug/DBUtility.dll
+++ b/NETERPNoWin/bin/Debug/DBUtility.dll
Binary files differ
diff --git a/NETERPNoWin/bin/Debug/DBUtility.pdb b/NETERPNoWin/bin/Debug/DBUtility.pdb
index 18f1788..6a63813 100644
--- a/NETERPNoWin/bin/Debug/DBUtility.pdb
+++ b/NETERPNoWin/bin/Debug/DBUtility.pdb
Binary files differ
diff --git a/NETERPNoWin/bin/Debug/Interop.gregn6Lib.dll b/NETERPNoWin/bin/Debug/Interop.gregn6Lib.dll
index 52c3a3f..7380510 100644
--- a/NETERPNoWin/bin/Debug/Interop.gregn6Lib.dll
+++ b/NETERPNoWin/bin/Debug/Interop.gregn6Lib.dll
Binary files differ
diff --git a/NETERPNoWin/bin/Debug/Kanban.dll b/NETERPNoWin/bin/Debug/Kanban.dll
index cd02005..0dba53d 100644
--- a/NETERPNoWin/bin/Debug/Kanban.dll
+++ b/NETERPNoWin/bin/Debug/Kanban.dll
Binary files differ
diff --git a/NETERPNoWin/bin/Debug/Kanban.pdb b/NETERPNoWin/bin/Debug/Kanban.pdb
index eed5111..f0f0d68 100644
--- a/NETERPNoWin/bin/Debug/Kanban.pdb
+++ b/NETERPNoWin/bin/Debug/Kanban.pdb
Binary files differ
diff --git a/NETERPNoWin/bin/Debug/Model.dll b/NETERPNoWin/bin/Debug/Model.dll
index 6a271de..7476821 100644
--- a/NETERPNoWin/bin/Debug/Model.dll
+++ b/NETERPNoWin/bin/Debug/Model.dll
Binary files differ
diff --git a/NETERPNoWin/bin/Debug/Model.pdb b/NETERPNoWin/bin/Debug/Model.pdb
index 128f8b3..2883c5b 100644
--- a/NETERPNoWin/bin/Debug/Model.pdb
+++ b/NETERPNoWin/bin/Debug/Model.pdb
Binary files differ
diff --git a/NETERPNoWin/bin/Debug/NETERPNoWin.exe b/NETERPNoWin/bin/Debug/NETERPNoWin.exe
index c0ba72b..a503e92 100644
--- a/NETERPNoWin/bin/Debug/NETERPNoWin.exe
+++ b/NETERPNoWin/bin/Debug/NETERPNoWin.exe
Binary files differ
diff --git a/NETERPNoWin/bin/Debug/NETERPNoWin.pdb b/NETERPNoWin/bin/Debug/NETERPNoWin.pdb
index 16ab7bd..28f8c17 100644
--- a/NETERPNoWin/bin/Debug/NETERPNoWin.pdb
+++ b/NETERPNoWin/bin/Debug/NETERPNoWin.pdb
Binary files differ
diff --git a/NETERPNoWin/bin/Debug/OAM.dll b/NETERPNoWin/bin/Debug/OAM.dll
index 4c1fc0d..3daa0f5 100644
--- a/NETERPNoWin/bin/Debug/OAM.dll
+++ b/NETERPNoWin/bin/Debug/OAM.dll
Binary files differ
diff --git a/NETERPNoWin/bin/Debug/OAM.pdb b/NETERPNoWin/bin/Debug/OAM.pdb
index d2f7057..9fcbc10 100644
--- a/NETERPNoWin/bin/Debug/OAM.pdb
+++ b/NETERPNoWin/bin/Debug/OAM.pdb
Binary files differ
diff --git a/NETERPNoWin/bin/Debug/PlanM.dll b/NETERPNoWin/bin/Debug/PlanM.dll
index a8ede26..651e5a1 100644
--- a/NETERPNoWin/bin/Debug/PlanM.dll
+++ b/NETERPNoWin/bin/Debug/PlanM.dll
Binary files differ
diff --git a/NETERPNoWin/bin/Debug/PlanM.pdb b/NETERPNoWin/bin/Debug/PlanM.pdb
index f01d63f..39e7b05 100644
--- a/NETERPNoWin/bin/Debug/PlanM.pdb
+++ b/NETERPNoWin/bin/Debug/PlanM.pdb
Binary files differ
diff --git a/NETERPNoWin/bin/Debug/Pub_Class.dll b/NETERPNoWin/bin/Debug/Pub_Class.dll
index 3fe392f..f8dea4c 100644
--- a/NETERPNoWin/bin/Debug/Pub_Class.dll
+++ b/NETERPNoWin/bin/Debug/Pub_Class.dll
Binary files differ
diff --git a/NETERPNoWin/bin/Debug/Pub_Class.pdb b/NETERPNoWin/bin/Debug/Pub_Class.pdb
index 412c15c..7202bac 100644
--- a/NETERPNoWin/bin/Debug/Pub_Class.pdb
+++ b/NETERPNoWin/bin/Debug/Pub_Class.pdb
Binary files differ
diff --git a/NETERPNoWin/bin/Debug/Pub_Control.dll b/NETERPNoWin/bin/Debug/Pub_Control.dll
index 5310c6f..89cc5c2 100644
--- a/NETERPNoWin/bin/Debug/Pub_Control.dll
+++ b/NETERPNoWin/bin/Debug/Pub_Control.dll
Binary files differ
diff --git a/NETERPNoWin/bin/Debug/Pub_Control.pdb b/NETERPNoWin/bin/Debug/Pub_Control.pdb
index d8bd6d1..9891ba1 100644
--- a/NETERPNoWin/bin/Debug/Pub_Control.pdb
+++ b/NETERPNoWin/bin/Debug/Pub_Control.pdb
Binary files differ
diff --git a/NETERPNoWin/bin/Debug/SQLHelper.dll b/NETERPNoWin/bin/Debug/SQLHelper.dll
index 26b3a15..de4c686 100644
--- a/NETERPNoWin/bin/Debug/SQLHelper.dll
+++ b/NETERPNoWin/bin/Debug/SQLHelper.dll
Binary files differ
diff --git a/NETERPNoWin/bin/Debug/SQLHelper.pdb b/NETERPNoWin/bin/Debug/SQLHelper.pdb
index da1b319..90ec041 100644
--- a/NETERPNoWin/bin/Debug/SQLHelper.pdb
+++ b/NETERPNoWin/bin/Debug/SQLHelper.pdb
Binary files differ
diff --git a/NETERPNoWin/bin/Debug/WarM.dll b/NETERPNoWin/bin/Debug/WarM.dll
index 8f7ea39..04aa7e0 100644
--- a/NETERPNoWin/bin/Debug/WarM.dll
+++ b/NETERPNoWin/bin/Debug/WarM.dll
Binary files differ
diff --git a/NETERPNoWin/bin/Debug/WarM.pdb b/NETERPNoWin/bin/Debug/WarM.pdb
index 6bffe86..115afe1 100644
--- a/NETERPNoWin/bin/Debug/WarM.pdb
+++ b/NETERPNoWin/bin/Debug/WarM.pdb
Binary files differ
diff --git a/NETERPNoWin/bin/Debug/WorkM.dll b/NETERPNoWin/bin/Debug/WorkM.dll
index 274a2d1..66e964f 100644
--- a/NETERPNoWin/bin/Debug/WorkM.dll
+++ b/NETERPNoWin/bin/Debug/WorkM.dll
Binary files differ
diff --git a/NETERPNoWin/bin/Debug/WorkM.pdb b/NETERPNoWin/bin/Debug/WorkM.pdb
index 11f9c5c..a9ae927 100644
--- a/NETERPNoWin/bin/Debug/WorkM.pdb
+++ b/NETERPNoWin/bin/Debug/WorkM.pdb
Binary files differ
diff --git a/NETERPNoWin/obj/Debug/Interop.gregn6Lib.dll b/NETERPNoWin/obj/Debug/Interop.gregn6Lib.dll
index fba13f8..7380510 100644
--- a/NETERPNoWin/obj/Debug/Interop.gregn6Lib.dll
+++ b/NETERPNoWin/obj/Debug/Interop.gregn6Lib.dll
Binary files differ
diff --git a/NETERPNoWin/obj/Debug/NETERPNoWin.Form1.resources b/NETERPNoWin/obj/Debug/NETERPNoWin.Form1.resources
index 06c24d0..6c05a97 100644
--- a/NETERPNoWin/obj/Debug/NETERPNoWin.Form1.resources
+++ b/NETERPNoWin/obj/Debug/NETERPNoWin.Form1.resources
Binary files differ
diff --git a/NETERPNoWin/obj/Debug/NETERPNoWin.Frm_MESSetIni.resources b/NETERPNoWin/obj/Debug/NETERPNoWin.Frm_MESSetIni.resources
index bf344ca..c7c0b2c 100644
--- a/NETERPNoWin/obj/Debug/NETERPNoWin.Frm_MESSetIni.resources
+++ b/NETERPNoWin/obj/Debug/NETERPNoWin.Frm_MESSetIni.resources
Binary files differ
diff --git a/NETERPNoWin/obj/Debug/NETERPNoWin.Frm_Show.resources b/NETERPNoWin/obj/Debug/NETERPNoWin.Frm_Show.resources
index 60decca..ad18340 100644
--- a/NETERPNoWin/obj/Debug/NETERPNoWin.Frm_Show.resources
+++ b/NETERPNoWin/obj/Debug/NETERPNoWin.Frm_Show.resources
Binary files differ
diff --git a/NETERPNoWin/obj/Debug/NETERPNoWin.MDIMain.resources b/NETERPNoWin/obj/Debug/NETERPNoWin.MDIMain.resources
index ec40837..759d25b 100644
--- a/NETERPNoWin/obj/Debug/NETERPNoWin.MDIMain.resources
+++ b/NETERPNoWin/obj/Debug/NETERPNoWin.MDIMain.resources
Binary files differ
diff --git a/NETERPNoWin/obj/Debug/NETERPNoWin.MESMain.resources b/NETERPNoWin/obj/Debug/NETERPNoWin.MESMain.resources
index 4bad8bb..c2586c0 100644
--- a/NETERPNoWin/obj/Debug/NETERPNoWin.MESMain.resources
+++ b/NETERPNoWin/obj/Debug/NETERPNoWin.MESMain.resources
Binary files differ
diff --git a/NETERPNoWin/obj/Debug/NETERPNoWin.OA_MessageBox.resources b/NETERPNoWin/obj/Debug/NETERPNoWin.OA_MessageBox.resources
index c980f92..c79deb3 100644
--- a/NETERPNoWin/obj/Debug/NETERPNoWin.OA_MessageBox.resources
+++ b/NETERPNoWin/obj/Debug/NETERPNoWin.OA_MessageBox.resources
Binary files differ
diff --git a/NETERPNoWin/obj/Debug/NETERPNoWin.Properties.Resources.resources b/NETERPNoWin/obj/Debug/NETERPNoWin.Properties.Resources.resources
index 06c24d0..6c05a97 100644
--- a/NETERPNoWin/obj/Debug/NETERPNoWin.Properties.Resources.resources
+++ b/NETERPNoWin/obj/Debug/NETERPNoWin.Properties.Resources.resources
Binary files differ
diff --git a/NETERPNoWin/obj/Debug/NETERPNoWin.Xt_Wait.resources b/NETERPNoWin/obj/Debug/NETERPNoWin.Xt_Wait.resources
index 06c24d0..6c05a97 100644
--- a/NETERPNoWin/obj/Debug/NETERPNoWin.Xt_Wait.resources
+++ b/NETERPNoWin/obj/Debug/NETERPNoWin.Xt_Wait.resources
Binary files differ
diff --git a/NETERPNoWin/obj/Debug/NETERPNoWin.csproj.GenerateResource.Cache b/NETERPNoWin/obj/Debug/NETERPNoWin.csproj.GenerateResource.Cache
index 3e51ddc..64d6a92 100644
--- a/NETERPNoWin/obj/Debug/NETERPNoWin.csproj.GenerateResource.Cache
+++ b/NETERPNoWin/obj/Debug/NETERPNoWin.csproj.GenerateResource.Cache
Binary files differ
diff --git a/NETERPNoWin/obj/Debug/NETERPNoWin.csproj.ResolveComReference.cache b/NETERPNoWin/obj/Debug/NETERPNoWin.csproj.ResolveComReference.cache
index b5c86a0..23803c7 100644
--- a/NETERPNoWin/obj/Debug/NETERPNoWin.csproj.ResolveComReference.cache
+++ b/NETERPNoWin/obj/Debug/NETERPNoWin.csproj.ResolveComReference.cache
Binary files differ
diff --git a/NETERPNoWin/obj/Debug/NETERPNoWin.exe b/NETERPNoWin/obj/Debug/NETERPNoWin.exe
index c0ba72b..a503e92 100644
--- a/NETERPNoWin/obj/Debug/NETERPNoWin.exe
+++ b/NETERPNoWin/obj/Debug/NETERPNoWin.exe
Binary files differ
diff --git a/NETERPNoWin/obj/Debug/NETERPNoWin.pdb b/NETERPNoWin/obj/Debug/NETERPNoWin.pdb
index 16ab7bd..28f8c17 100644
--- a/NETERPNoWin/obj/Debug/NETERPNoWin.pdb
+++ b/NETERPNoWin/obj/Debug/NETERPNoWin.pdb
Binary files differ
diff --git a/NETERPNoWin/obj/x86/Debug/Interop.gregn6Lib.dll b/NETERPNoWin/obj/x86/Debug/Interop.gregn6Lib.dll
index b010a9d..f9eb625 100644
--- a/NETERPNoWin/obj/x86/Debug/Interop.gregn6Lib.dll
+++ b/NETERPNoWin/obj/x86/Debug/Interop.gregn6Lib.dll
Binary files differ
diff --git a/NETERPNoWin/obj/x86/Debug/NETERPNoWin.csproj.ResolveComReference.cache b/NETERPNoWin/obj/x86/Debug/NETERPNoWin.csproj.ResolveComReference.cache
index cdd0e83..f5b3d24 100644
--- a/NETERPNoWin/obj/x86/Debug/NETERPNoWin.csproj.ResolveComReference.cache
+++ b/NETERPNoWin/obj/x86/Debug/NETERPNoWin.csproj.ResolveComReference.cache
Binary files differ
diff --git a/PayM/bin/Debug/BLL.dll b/PayM/bin/Debug/BLL.dll
index a57e558..fa3da21 100644
--- a/PayM/bin/Debug/BLL.dll
+++ b/PayM/bin/Debug/BLL.dll
Binary files differ
diff --git a/PayM/bin/Debug/BLL.pdb b/PayM/bin/Debug/BLL.pdb
index 8f1c8ee..78c8104 100644
--- a/PayM/bin/Debug/BLL.pdb
+++ b/PayM/bin/Debug/BLL.pdb
Binary files differ
diff --git a/PayM/bin/Debug/DAL.dll b/PayM/bin/Debug/DAL.dll
index 8394e2d..727f902 100644
--- a/PayM/bin/Debug/DAL.dll
+++ b/PayM/bin/Debug/DAL.dll
Binary files differ
diff --git a/PayM/bin/Debug/DAL.pdb b/PayM/bin/Debug/DAL.pdb
index c4d365a..e73f3b3 100644
--- a/PayM/bin/Debug/DAL.pdb
+++ b/PayM/bin/Debug/DAL.pdb
Binary files differ
diff --git a/PayM/bin/Debug/DBUtility.dll b/PayM/bin/Debug/DBUtility.dll
index c0b31af..26dab8f 100644
--- a/PayM/bin/Debug/DBUtility.dll
+++ b/PayM/bin/Debug/DBUtility.dll
Binary files differ
diff --git a/PayM/bin/Debug/DBUtility.pdb b/PayM/bin/Debug/DBUtility.pdb
index a8b9a0a..6a63813 100644
--- a/PayM/bin/Debug/DBUtility.pdb
+++ b/PayM/bin/Debug/DBUtility.pdb
Binary files differ
diff --git a/PayM/bin/Debug/Interop.gregn6Lib.dll b/PayM/bin/Debug/Interop.gregn6Lib.dll
index b795c61..4a58863 100644
--- a/PayM/bin/Debug/Interop.gregn6Lib.dll
+++ b/PayM/bin/Debug/Interop.gregn6Lib.dll
Binary files differ
diff --git a/PayM/bin/Debug/Model.dll b/PayM/bin/Debug/Model.dll
index 80a1818..7476821 100644
--- a/PayM/bin/Debug/Model.dll
+++ b/PayM/bin/Debug/Model.dll
Binary files differ
diff --git a/PayM/bin/Debug/Model.pdb b/PayM/bin/Debug/Model.pdb
index fa3bdf2..2883c5b 100644
--- a/PayM/bin/Debug/Model.pdb
+++ b/PayM/bin/Debug/Model.pdb
Binary files differ
diff --git a/PayM/bin/Debug/PayM.dll b/PayM/bin/Debug/PayM.dll
index 5a4a405..946feac 100644
--- a/PayM/bin/Debug/PayM.dll
+++ b/PayM/bin/Debug/PayM.dll
Binary files differ
diff --git a/PayM/bin/Debug/PayM.pdb b/PayM/bin/Debug/PayM.pdb
index 4765ecd..115ad90 100644
--- a/PayM/bin/Debug/PayM.pdb
+++ b/PayM/bin/Debug/PayM.pdb
Binary files differ
diff --git a/PayM/bin/Debug/Pub_Class.dll b/PayM/bin/Debug/Pub_Class.dll
index e3054bc..f8dea4c 100644
--- a/PayM/bin/Debug/Pub_Class.dll
+++ b/PayM/bin/Debug/Pub_Class.dll
Binary files differ
diff --git a/PayM/bin/Debug/Pub_Class.pdb b/PayM/bin/Debug/Pub_Class.pdb
index d8d99a6..7202bac 100644
--- a/PayM/bin/Debug/Pub_Class.pdb
+++ b/PayM/bin/Debug/Pub_Class.pdb
Binary files differ
diff --git a/PayM/bin/Debug/Pub_Control.dll b/PayM/bin/Debug/Pub_Control.dll
index f739c3a..89cc5c2 100644
--- a/PayM/bin/Debug/Pub_Control.dll
+++ b/PayM/bin/Debug/Pub_Control.dll
Binary files differ
diff --git a/PayM/bin/Debug/Pub_Control.pdb b/PayM/bin/Debug/Pub_Control.pdb
index 1fbda50..9891ba1 100644
--- a/PayM/bin/Debug/Pub_Control.pdb
+++ b/PayM/bin/Debug/Pub_Control.pdb
Binary files differ
diff --git a/PayM/bin/Debug/SQLHelper.dll b/PayM/bin/Debug/SQLHelper.dll
index 3f4ed16..de4c686 100644
--- a/PayM/bin/Debug/SQLHelper.dll
+++ b/PayM/bin/Debug/SQLHelper.dll
Binary files differ
diff --git a/PayM/bin/Debug/SQLHelper.pdb b/PayM/bin/Debug/SQLHelper.pdb
index 666c16f..90ec041 100644
--- a/PayM/bin/Debug/SQLHelper.pdb
+++ b/PayM/bin/Debug/SQLHelper.pdb
Binary files differ
diff --git a/PayM/obj/Debug/BaseSet.Gy_DataInTmp_DuSubsidyItem.resources b/PayM/obj/Debug/BaseSet.Gy_DataInTmp_DuSubsidyItem.resources
index 12e59a0..0610035 100644
--- a/PayM/obj/Debug/BaseSet.Gy_DataInTmp_DuSubsidyItem.resources
+++ b/PayM/obj/Debug/BaseSet.Gy_DataInTmp_DuSubsidyItem.resources
Binary files differ
diff --git a/PayM/obj/Debug/CostM.Pay_AccPayMentDayBill.resources b/PayM/obj/Debug/CostM.Pay_AccPayMentDayBill.resources
index 6555d82..6a89d65 100644
--- a/PayM/obj/Debug/CostM.Pay_AccPayMentDayBill.resources
+++ b/PayM/obj/Debug/CostM.Pay_AccPayMentDayBill.resources
Binary files differ
diff --git a/PayM/obj/Debug/CostM.Pay_AccPayMentDayBill2.resources b/PayM/obj/Debug/CostM.Pay_AccPayMentDayBill2.resources
index 8493b50..0351517 100644
--- a/PayM/obj/Debug/CostM.Pay_AccPayMentDayBill2.resources
+++ b/PayM/obj/Debug/CostM.Pay_AccPayMentDayBill2.resources
Binary files differ
diff --git a/PayM/obj/Debug/CostM.Pay_AccPayMentDayBill3.resources b/PayM/obj/Debug/CostM.Pay_AccPayMentDayBill3.resources
index 6555d82..6a89d65 100644
--- a/PayM/obj/Debug/CostM.Pay_AccPayMentDayBill3.resources
+++ b/PayM/obj/Debug/CostM.Pay_AccPayMentDayBill3.resources
Binary files differ
diff --git a/PayM/obj/Debug/CostM.Pay_AccPayMentDayBill4.resources b/PayM/obj/Debug/CostM.Pay_AccPayMentDayBill4.resources
index 6555d82..6a89d65 100644
--- a/PayM/obj/Debug/CostM.Pay_AccPayMentDayBill4.resources
+++ b/PayM/obj/Debug/CostM.Pay_AccPayMentDayBill4.resources
Binary files differ
diff --git a/PayM/obj/Debug/CostM.Pay_AccPayMentDayBill5.resources b/PayM/obj/Debug/CostM.Pay_AccPayMentDayBill5.resources
index 6555d82..6a89d65 100644
--- a/PayM/obj/Debug/CostM.Pay_AccPayMentDayBill5.resources
+++ b/PayM/obj/Debug/CostM.Pay_AccPayMentDayBill5.resources
Binary files differ
diff --git a/PayM/obj/Debug/CostM.Pay_AccPayMentDayBillList.resources b/PayM/obj/Debug/CostM.Pay_AccPayMentDayBillList.resources
index fdd084e..f0a160a 100644
--- a/PayM/obj/Debug/CostM.Pay_AccPayMentDayBillList.resources
+++ b/PayM/obj/Debug/CostM.Pay_AccPayMentDayBillList.resources
Binary files differ
diff --git a/PayM/obj/Debug/CostM.Pay_PayMentBillAutoAddnew.resources b/PayM/obj/Debug/CostM.Pay_PayMentBillAutoAddnew.resources
index fdd084e..f0a160a 100644
--- a/PayM/obj/Debug/CostM.Pay_PayMentBillAutoAddnew.resources
+++ b/PayM/obj/Debug/CostM.Pay_PayMentBillAutoAddnew.resources
Binary files differ
diff --git a/PayM/obj/Debug/CostM.Pay_PayMentBillAutoAddnew1.resources b/PayM/obj/Debug/CostM.Pay_PayMentBillAutoAddnew1.resources
index 6555d82..6a89d65 100644
--- a/PayM/obj/Debug/CostM.Pay_PayMentBillAutoAddnew1.resources
+++ b/PayM/obj/Debug/CostM.Pay_PayMentBillAutoAddnew1.resources
Binary files differ
diff --git a/PayM/obj/Debug/CostM.Pay_PayMentBillAutoAddnew2.resources b/PayM/obj/Debug/CostM.Pay_PayMentBillAutoAddnew2.resources
index 5b8acf2..21db791 100644
--- a/PayM/obj/Debug/CostM.Pay_PayMentBillAutoAddnew2.resources
+++ b/PayM/obj/Debug/CostM.Pay_PayMentBillAutoAddnew2.resources
Binary files differ
diff --git a/PayM/obj/Debug/CostM.Pay_PayMentBillAutoAddnew3.resources b/PayM/obj/Debug/CostM.Pay_PayMentBillAutoAddnew3.resources
index 6555d82..6a89d65 100644
--- a/PayM/obj/Debug/CostM.Pay_PayMentBillAutoAddnew3.resources
+++ b/PayM/obj/Debug/CostM.Pay_PayMentBillAutoAddnew3.resources
Binary files differ
diff --git a/PayM/obj/Debug/CostM.Pay_PayMentBillAutoAddnew4.resources b/PayM/obj/Debug/CostM.Pay_PayMentBillAutoAddnew4.resources
index 6555d82..6a89d65 100644
--- a/PayM/obj/Debug/CostM.Pay_PayMentBillAutoAddnew4.resources
+++ b/PayM/obj/Debug/CostM.Pay_PayMentBillAutoAddnew4.resources
Binary files differ
diff --git a/PayM/obj/Debug/CostM.Pay_PayMentBillAutoAddnew5.resources b/PayM/obj/Debug/CostM.Pay_PayMentBillAutoAddnew5.resources
index 6555d82..6a89d65 100644
--- a/PayM/obj/Debug/CostM.Pay_PayMentBillAutoAddnew5.resources
+++ b/PayM/obj/Debug/CostM.Pay_PayMentBillAutoAddnew5.resources
Binary files differ
diff --git a/PayM/obj/Debug/Interop.gregn6Lib.dll b/PayM/obj/Debug/Interop.gregn6Lib.dll
index c80c44b..4a58863 100644
--- a/PayM/obj/Debug/Interop.gregn6Lib.dll
+++ b/PayM/obj/Debug/Interop.gregn6Lib.dll
Binary files differ
diff --git a/PayM/obj/Debug/OAM.HR_EmpEngageRequestBill.resources b/PayM/obj/Debug/OAM.HR_EmpEngageRequestBill.resources
index 925652c..c40f20f 100644
--- a/PayM/obj/Debug/OAM.HR_EmpEngageRequestBill.resources
+++ b/PayM/obj/Debug/OAM.HR_EmpEngageRequestBill.resources
Binary files differ
diff --git a/PayM/obj/Debug/OAM.HR_EmpEngageRequestBillList.resources b/PayM/obj/Debug/OAM.HR_EmpEngageRequestBillList.resources
index e62461d..e1ec351 100644
--- a/PayM/obj/Debug/OAM.HR_EmpEngageRequestBillList.resources
+++ b/PayM/obj/Debug/OAM.HR_EmpEngageRequestBillList.resources
Binary files differ
diff --git a/PayM/obj/Debug/PayM.Err_MonthExpenseEntryBill.resources b/PayM/obj/Debug/PayM.Err_MonthExpenseEntryBill.resources
index 0488472..42d95f8 100644
--- a/PayM/obj/Debug/PayM.Err_MonthExpenseEntryBill.resources
+++ b/PayM/obj/Debug/PayM.Err_MonthExpenseEntryBill.resources
Binary files differ
diff --git a/PayM/obj/Debug/PayM.Err_MonthExpenseEntryBillDlg.resources b/PayM/obj/Debug/PayM.Err_MonthExpenseEntryBillDlg.resources
index 06c24d0..6c05a97 100644
--- a/PayM/obj/Debug/PayM.Err_MonthExpenseEntryBillDlg.resources
+++ b/PayM/obj/Debug/PayM.Err_MonthExpenseEntryBillDlg.resources
Binary files differ
diff --git a/PayM/obj/Debug/PayM.Form2.resources b/PayM/obj/Debug/PayM.Form2.resources
index e6b5c22..4174109 100644
--- a/PayM/obj/Debug/PayM.Form2.resources
+++ b/PayM/obj/Debug/PayM.Form2.resources
Binary files differ
diff --git a/PayM/obj/Debug/PayM.FrmChangeDate.resources b/PayM/obj/Debug/PayM.FrmChangeDate.resources
index 06c24d0..6c05a97 100644
--- a/PayM/obj/Debug/PayM.FrmChangeDate.resources
+++ b/PayM/obj/Debug/PayM.FrmChangeDate.resources
Binary files differ
diff --git a/PayM/obj/Debug/PayM.HR_ContractBookBill.resources b/PayM/obj/Debug/PayM.HR_ContractBookBill.resources
index 8b7c25f..e7858d7 100644
--- a/PayM/obj/Debug/PayM.HR_ContractBookBill.resources
+++ b/PayM/obj/Debug/PayM.HR_ContractBookBill.resources
Binary files differ
diff --git a/PayM/obj/Debug/PayM.HR_ContractBookBillList.resources b/PayM/obj/Debug/PayM.HR_ContractBookBillList.resources
index 65506c3..b5a8f9f 100644
--- a/PayM/obj/Debug/PayM.HR_ContractBookBillList.resources
+++ b/PayM/obj/Debug/PayM.HR_ContractBookBillList.resources
Binary files differ
diff --git a/PayM/obj/Debug/PayM.HR_EmpChangeBill.resources b/PayM/obj/Debug/PayM.HR_EmpChangeBill.resources
index 77d5942..d101c09 100644
--- a/PayM/obj/Debug/PayM.HR_EmpChangeBill.resources
+++ b/PayM/obj/Debug/PayM.HR_EmpChangeBill.resources
Binary files differ
diff --git a/PayM/obj/Debug/PayM.HR_EmpChangeBillList.resources b/PayM/obj/Debug/PayM.HR_EmpChangeBillList.resources
index 65506c3..b5a8f9f 100644
--- a/PayM/obj/Debug/PayM.HR_EmpChangeBillList.resources
+++ b/PayM/obj/Debug/PayM.HR_EmpChangeBillList.resources
Binary files differ
diff --git a/PayM/obj/Debug/PayM.HR_EmpDimissionBill.resources b/PayM/obj/Debug/PayM.HR_EmpDimissionBill.resources
index f1308ea..3ca2b2f 100644
--- a/PayM/obj/Debug/PayM.HR_EmpDimissionBill.resources
+++ b/PayM/obj/Debug/PayM.HR_EmpDimissionBill.resources
Binary files differ
diff --git a/PayM/obj/Debug/PayM.HR_EmpDimissionBillList.resources b/PayM/obj/Debug/PayM.HR_EmpDimissionBillList.resources
index c22351a..46debfd 100644
--- a/PayM/obj/Debug/PayM.HR_EmpDimissionBillList.resources
+++ b/PayM/obj/Debug/PayM.HR_EmpDimissionBillList.resources
Binary files differ
diff --git a/PayM/obj/Debug/PayM.HR_FamilyMemberBill.resources b/PayM/obj/Debug/PayM.HR_FamilyMemberBill.resources
index 8b7c25f..e7858d7 100644
--- a/PayM/obj/Debug/PayM.HR_FamilyMemberBill.resources
+++ b/PayM/obj/Debug/PayM.HR_FamilyMemberBill.resources
Binary files differ
diff --git a/PayM/obj/Debug/PayM.HR_FamilyMemberBillList.resources b/PayM/obj/Debug/PayM.HR_FamilyMemberBillList.resources
index 65506c3..b5a8f9f 100644
--- a/PayM/obj/Debug/PayM.HR_FamilyMemberBillList.resources
+++ b/PayM/obj/Debug/PayM.HR_FamilyMemberBillList.resources
Binary files differ
diff --git a/PayM/obj/Debug/PayM.HR_InsuranceBookBill.resources b/PayM/obj/Debug/PayM.HR_InsuranceBookBill.resources
index 8b7c25f..e7858d7 100644
--- a/PayM/obj/Debug/PayM.HR_InsuranceBookBill.resources
+++ b/PayM/obj/Debug/PayM.HR_InsuranceBookBill.resources
Binary files differ
diff --git a/PayM/obj/Debug/PayM.HR_InsuranceBookBillList.resources b/PayM/obj/Debug/PayM.HR_InsuranceBookBillList.resources
index 65506c3..b5a8f9f 100644
--- a/PayM/obj/Debug/PayM.HR_InsuranceBookBillList.resources
+++ b/PayM/obj/Debug/PayM.HR_InsuranceBookBillList.resources
Binary files differ
diff --git a/PayM/obj/Debug/PayM.HR_LearnHistoryBill.resources b/PayM/obj/Debug/PayM.HR_LearnHistoryBill.resources
index 8b7c25f..e7858d7 100644
--- a/PayM/obj/Debug/PayM.HR_LearnHistoryBill.resources
+++ b/PayM/obj/Debug/PayM.HR_LearnHistoryBill.resources
Binary files differ
diff --git a/PayM/obj/Debug/PayM.HR_LearnHistoryBillList.resources b/PayM/obj/Debug/PayM.HR_LearnHistoryBillList.resources
index 65506c3..b5a8f9f 100644
--- a/PayM/obj/Debug/PayM.HR_LearnHistoryBillList.resources
+++ b/PayM/obj/Debug/PayM.HR_LearnHistoryBillList.resources
Binary files differ
diff --git a/PayM/obj/Debug/PayM.HR_PaperPhotoBill.resources b/PayM/obj/Debug/PayM.HR_PaperPhotoBill.resources
index 8b7c25f..e7858d7 100644
--- a/PayM/obj/Debug/PayM.HR_PaperPhotoBill.resources
+++ b/PayM/obj/Debug/PayM.HR_PaperPhotoBill.resources
Binary files differ
diff --git a/PayM/obj/Debug/PayM.HR_PaperPhotoBillList.resources b/PayM/obj/Debug/PayM.HR_PaperPhotoBillList.resources
index 65506c3..b5a8f9f 100644
--- a/PayM/obj/Debug/PayM.HR_PaperPhotoBillList.resources
+++ b/PayM/obj/Debug/PayM.HR_PaperPhotoBillList.resources
Binary files differ
diff --git a/PayM/obj/Debug/PayM.HR_RewardsPunishBill.resources b/PayM/obj/Debug/PayM.HR_RewardsPunishBill.resources
index 8b7c25f..e7858d7 100644
--- a/PayM/obj/Debug/PayM.HR_RewardsPunishBill.resources
+++ b/PayM/obj/Debug/PayM.HR_RewardsPunishBill.resources
Binary files differ
diff --git a/PayM/obj/Debug/PayM.HR_RewardsPunishBillList.resources b/PayM/obj/Debug/PayM.HR_RewardsPunishBillList.resources
index 65506c3..b5a8f9f 100644
--- a/PayM/obj/Debug/PayM.HR_RewardsPunishBillList.resources
+++ b/PayM/obj/Debug/PayM.HR_RewardsPunishBillList.resources
Binary files differ
diff --git a/PayM/obj/Debug/PayM.HR_WorkInjuryBill.resources b/PayM/obj/Debug/PayM.HR_WorkInjuryBill.resources
index 8b7c25f..e7858d7 100644
--- a/PayM/obj/Debug/PayM.HR_WorkInjuryBill.resources
+++ b/PayM/obj/Debug/PayM.HR_WorkInjuryBill.resources
Binary files differ
diff --git a/PayM/obj/Debug/PayM.HR_WorkInjuryBillList.resources b/PayM/obj/Debug/PayM.HR_WorkInjuryBillList.resources
index 65506c3..b5a8f9f 100644
--- a/PayM/obj/Debug/PayM.HR_WorkInjuryBillList.resources
+++ b/PayM/obj/Debug/PayM.HR_WorkInjuryBillList.resources
Binary files differ
diff --git a/PayM/obj/Debug/PayM.HR_WorkSkillBill.resources b/PayM/obj/Debug/PayM.HR_WorkSkillBill.resources
index 8b7c25f..e7858d7 100644
--- a/PayM/obj/Debug/PayM.HR_WorkSkillBill.resources
+++ b/PayM/obj/Debug/PayM.HR_WorkSkillBill.resources
Binary files differ
diff --git a/PayM/obj/Debug/PayM.HR_WorkSkillBillList.resources b/PayM/obj/Debug/PayM.HR_WorkSkillBillList.resources
index 65506c3..b5a8f9f 100644
--- a/PayM/obj/Debug/PayM.HR_WorkSkillBillList.resources
+++ b/PayM/obj/Debug/PayM.HR_WorkSkillBillList.resources
Binary files differ
diff --git a/PayM/obj/Debug/PayM.HR_WorkStoryBill.resources b/PayM/obj/Debug/PayM.HR_WorkStoryBill.resources
index 8b7c25f..e7858d7 100644
--- a/PayM/obj/Debug/PayM.HR_WorkStoryBill.resources
+++ b/PayM/obj/Debug/PayM.HR_WorkStoryBill.resources
Binary files differ
diff --git a/PayM/obj/Debug/PayM.HR_WorkStoryBillList.resources b/PayM/obj/Debug/PayM.HR_WorkStoryBillList.resources
index 65506c3..b5a8f9f 100644
--- a/PayM/obj/Debug/PayM.HR_WorkStoryBillList.resources
+++ b/PayM/obj/Debug/PayM.HR_WorkStoryBillList.resources
Binary files differ
diff --git a/PayM/obj/Debug/PayM.KQ_sourceReport.resources b/PayM/obj/Debug/PayM.KQ_sourceReport.resources
index 0488472..42d95f8 100644
--- a/PayM/obj/Debug/PayM.KQ_sourceReport.resources
+++ b/PayM/obj/Debug/PayM.KQ_sourceReport.resources
Binary files differ
diff --git a/PayM/obj/Debug/PayM.KQ_sourceReportDlg.resources b/PayM/obj/Debug/PayM.KQ_sourceReportDlg.resources
index 06c24d0..6c05a97 100644
--- a/PayM/obj/Debug/PayM.KQ_sourceReportDlg.resources
+++ b/PayM/obj/Debug/PayM.KQ_sourceReportDlg.resources
Binary files differ
diff --git a/PayM/obj/Debug/PayM.Pay_CarOutApplyBill.resources b/PayM/obj/Debug/PayM.Pay_CarOutApplyBill.resources
index a18ec41..dbf6a6b 100644
--- a/PayM/obj/Debug/PayM.Pay_CarOutApplyBill.resources
+++ b/PayM/obj/Debug/PayM.Pay_CarOutApplyBill.resources
Binary files differ
diff --git a/PayM/obj/Debug/PayM.Pay_CarOutApplyBillList.resources b/PayM/obj/Debug/PayM.Pay_CarOutApplyBillList.resources
index e62461d..4f17f92 100644
--- a/PayM/obj/Debug/PayM.Pay_CarOutApplyBillList.resources
+++ b/PayM/obj/Debug/PayM.Pay_CarOutApplyBillList.resources
Binary files differ
diff --git a/PayM/obj/Debug/PayM.Pay_DuSubsidyItemBill.resources b/PayM/obj/Debug/PayM.Pay_DuSubsidyItemBill.resources
index f420dac..3182b62 100644
--- a/PayM/obj/Debug/PayM.Pay_DuSubsidyItemBill.resources
+++ b/PayM/obj/Debug/PayM.Pay_DuSubsidyItemBill.resources
Binary files differ
diff --git a/PayM/obj/Debug/PayM.Pay_DuSubsidyItemBillList.resources b/PayM/obj/Debug/PayM.Pay_DuSubsidyItemBillList.resources
index e62461d..4f17f92 100644
--- a/PayM/obj/Debug/PayM.Pay_DuSubsidyItemBillList.resources
+++ b/PayM/obj/Debug/PayM.Pay_DuSubsidyItemBillList.resources
Binary files differ
diff --git a/PayM/obj/Debug/PayM.Pay_EmpPayMentSumReport.resources b/PayM/obj/Debug/PayM.Pay_EmpPayMentSumReport.resources
index 0488472..42d95f8 100644
--- a/PayM/obj/Debug/PayM.Pay_EmpPayMentSumReport.resources
+++ b/PayM/obj/Debug/PayM.Pay_EmpPayMentSumReport.resources
Binary files differ
diff --git a/PayM/obj/Debug/PayM.Pay_EmpPayMentSumReportDlg.resources b/PayM/obj/Debug/PayM.Pay_EmpPayMentSumReportDlg.resources
index 6aea529..79c7741 100644
--- a/PayM/obj/Debug/PayM.Pay_EmpPayMentSumReportDlg.resources
+++ b/PayM/obj/Debug/PayM.Pay_EmpPayMentSumReportDlg.resources
Binary files differ
diff --git a/PayM/obj/Debug/PayM.Pay_EmpWorkQtyEntryReport.resources b/PayM/obj/Debug/PayM.Pay_EmpWorkQtyEntryReport.resources
index 0488472..42d95f8 100644
--- a/PayM/obj/Debug/PayM.Pay_EmpWorkQtyEntryReport.resources
+++ b/PayM/obj/Debug/PayM.Pay_EmpWorkQtyEntryReport.resources
Binary files differ
diff --git a/PayM/obj/Debug/PayM.Pay_EmpWorkQtyEntryReportDlg.resources b/PayM/obj/Debug/PayM.Pay_EmpWorkQtyEntryReportDlg.resources
index 20fc539..15ce6e2 100644
--- a/PayM/obj/Debug/PayM.Pay_EmpWorkQtyEntryReportDlg.resources
+++ b/PayM/obj/Debug/PayM.Pay_EmpWorkQtyEntryReportDlg.resources
Binary files differ
diff --git a/PayM/obj/Debug/PayM.Pay_ErrWorkTimesRequestBill.resources b/PayM/obj/Debug/PayM.Pay_ErrWorkTimesRequestBill.resources
index 04f862f..0359eb0 100644
--- a/PayM/obj/Debug/PayM.Pay_ErrWorkTimesRequestBill.resources
+++ b/PayM/obj/Debug/PayM.Pay_ErrWorkTimesRequestBill.resources
Binary files differ
diff --git a/PayM/obj/Debug/PayM.Pay_ErrWorkTimesRequestBillList.resources b/PayM/obj/Debug/PayM.Pay_ErrWorkTimesRequestBillList.resources
index e62461d..4f17f92 100644
--- a/PayM/obj/Debug/PayM.Pay_ErrWorkTimesRequestBillList.resources
+++ b/PayM/obj/Debug/PayM.Pay_ErrWorkTimesRequestBillList.resources
Binary files differ
diff --git a/PayM/obj/Debug/PayM.Pay_ErrWorkTimesSendBill.resources b/PayM/obj/Debug/PayM.Pay_ErrWorkTimesSendBill.resources
index 774d4d2..ce5a71e 100644
--- a/PayM/obj/Debug/PayM.Pay_ErrWorkTimesSendBill.resources
+++ b/PayM/obj/Debug/PayM.Pay_ErrWorkTimesSendBill.resources
Binary files differ
diff --git a/PayM/obj/Debug/PayM.Pay_ErrWorkTimesSendBillList.resources b/PayM/obj/Debug/PayM.Pay_ErrWorkTimesSendBillList.resources
index 2fbb531..50ce328 100644
--- a/PayM/obj/Debug/PayM.Pay_ErrWorkTimesSendBillList.resources
+++ b/PayM/obj/Debug/PayM.Pay_ErrWorkTimesSendBillList.resources
Binary files differ
diff --git a/PayM/obj/Debug/PayM.Pay_GetNeedCheckErrWorkTimesSendBillList.resources b/PayM/obj/Debug/PayM.Pay_GetNeedCheckErrWorkTimesSendBillList.resources
index cafddfa..ef87781 100644
--- a/PayM/obj/Debug/PayM.Pay_GetNeedCheckErrWorkTimesSendBillList.resources
+++ b/PayM/obj/Debug/PayM.Pay_GetNeedCheckErrWorkTimesSendBillList.resources
Binary files differ
diff --git a/PayM/obj/Debug/PayM.Pay_GroupBalBill.resources b/PayM/obj/Debug/PayM.Pay_GroupBalBill.resources
index a48f38f..52df846 100644
--- a/PayM/obj/Debug/PayM.Pay_GroupBalBill.resources
+++ b/PayM/obj/Debug/PayM.Pay_GroupBalBill.resources
Binary files differ
diff --git a/PayM/obj/Debug/PayM.Pay_GroupBalBillList.resources b/PayM/obj/Debug/PayM.Pay_GroupBalBillList.resources
index 65506c3..4ece476 100644
--- a/PayM/obj/Debug/PayM.Pay_GroupBalBillList.resources
+++ b/PayM/obj/Debug/PayM.Pay_GroupBalBillList.resources
Binary files differ
diff --git a/PayM/obj/Debug/PayM.Pay_InnerScrap.resources b/PayM/obj/Debug/PayM.Pay_InnerScrap.resources
index 0488472..42d95f8 100644
--- a/PayM/obj/Debug/PayM.Pay_InnerScrap.resources
+++ b/PayM/obj/Debug/PayM.Pay_InnerScrap.resources
Binary files differ
diff --git a/PayM/obj/Debug/PayM.Pay_InnerScrapDlg.resources b/PayM/obj/Debug/PayM.Pay_InnerScrapDlg.resources
index c4f8119..780f787 100644
--- a/PayM/obj/Debug/PayM.Pay_InnerScrapDlg.resources
+++ b/PayM/obj/Debug/PayM.Pay_InnerScrapDlg.resources
Binary files differ
diff --git a/PayM/obj/Debug/PayM.Pay_MonthExpenseEntryBill1.resources b/PayM/obj/Debug/PayM.Pay_MonthExpenseEntryBill1.resources
index 6555d82..6a89d65 100644
--- a/PayM/obj/Debug/PayM.Pay_MonthExpenseEntryBill1.resources
+++ b/PayM/obj/Debug/PayM.Pay_MonthExpenseEntryBill1.resources
Binary files differ
diff --git a/PayM/obj/Debug/PayM.Pay_MonthExpenseEntryBill2.resources b/PayM/obj/Debug/PayM.Pay_MonthExpenseEntryBill2.resources
index 5b8acf2..21db791 100644
--- a/PayM/obj/Debug/PayM.Pay_MonthExpenseEntryBill2.resources
+++ b/PayM/obj/Debug/PayM.Pay_MonthExpenseEntryBill2.resources
Binary files differ
diff --git a/PayM/obj/Debug/PayM.Pay_MonthExpenseEntryBill3.resources b/PayM/obj/Debug/PayM.Pay_MonthExpenseEntryBill3.resources
index 6555d82..6a89d65 100644
--- a/PayM/obj/Debug/PayM.Pay_MonthExpenseEntryBill3.resources
+++ b/PayM/obj/Debug/PayM.Pay_MonthExpenseEntryBill3.resources
Binary files differ
diff --git a/PayM/obj/Debug/PayM.Pay_MonthExpenseEntryBill4.resources b/PayM/obj/Debug/PayM.Pay_MonthExpenseEntryBill4.resources
index 6555d82..6a89d65 100644
--- a/PayM/obj/Debug/PayM.Pay_MonthExpenseEntryBill4.resources
+++ b/PayM/obj/Debug/PayM.Pay_MonthExpenseEntryBill4.resources
Binary files differ
diff --git a/PayM/obj/Debug/PayM.Pay_MonthExpenseEntryBill5.resources b/PayM/obj/Debug/PayM.Pay_MonthExpenseEntryBill5.resources
index 6555d82..6a89d65 100644
--- a/PayM/obj/Debug/PayM.Pay_MonthExpenseEntryBill5.resources
+++ b/PayM/obj/Debug/PayM.Pay_MonthExpenseEntryBill5.resources
Binary files differ
diff --git a/PayM/obj/Debug/PayM.Pay_MonthExpenseEntryBillList.resources b/PayM/obj/Debug/PayM.Pay_MonthExpenseEntryBillList.resources
index fdd084e..f0a160a 100644
--- a/PayM/obj/Debug/PayM.Pay_MonthExpenseEntryBillList.resources
+++ b/PayM/obj/Debug/PayM.Pay_MonthExpenseEntryBillList.resources
Binary files differ
diff --git a/PayM/obj/Debug/PayM.Pay_MonthExpenseEntryBillReport.resources b/PayM/obj/Debug/PayM.Pay_MonthExpenseEntryBillReport.resources
index 0488472..42d95f8 100644
--- a/PayM/obj/Debug/PayM.Pay_MonthExpenseEntryBillReport.resources
+++ b/PayM/obj/Debug/PayM.Pay_MonthExpenseEntryBillReport.resources
Binary files differ
diff --git a/PayM/obj/Debug/PayM.Pay_MonthExpenseEntryBillReportDlg.resources b/PayM/obj/Debug/PayM.Pay_MonthExpenseEntryBillReportDlg.resources
index 6aea529..79c7741 100644
--- a/PayM/obj/Debug/PayM.Pay_MonthExpenseEntryBillReportDlg.resources
+++ b/PayM/obj/Debug/PayM.Pay_MonthExpenseEntryBillReportDlg.resources
Binary files differ
diff --git a/PayM/obj/Debug/PayM.Pay_MonthSubsidyEntryBillAdd.resources b/PayM/obj/Debug/PayM.Pay_MonthSubsidyEntryBillAdd.resources
index 783c28a..4121e55 100644
--- a/PayM/obj/Debug/PayM.Pay_MonthSubsidyEntryBillAdd.resources
+++ b/PayM/obj/Debug/PayM.Pay_MonthSubsidyEntryBillAdd.resources
Binary files differ
diff --git a/PayM/obj/Debug/PayM.Pay_MonthSubsidyEntryBillReport.resources b/PayM/obj/Debug/PayM.Pay_MonthSubsidyEntryBillReport.resources
index ae6a6bd..d867661 100644
--- a/PayM/obj/Debug/PayM.Pay_MonthSubsidyEntryBillReport.resources
+++ b/PayM/obj/Debug/PayM.Pay_MonthSubsidyEntryBillReport.resources
Binary files differ
diff --git a/PayM/obj/Debug/PayM.Pay_MonthSubsidyEntryBillReportDlg.resources b/PayM/obj/Debug/PayM.Pay_MonthSubsidyEntryBillReportDlg.resources
index 6aea529..79c7741 100644
--- a/PayM/obj/Debug/PayM.Pay_MonthSubsidyEntryBillReportDlg.resources
+++ b/PayM/obj/Debug/PayM.Pay_MonthSubsidyEntryBillReportDlg.resources
Binary files differ
diff --git a/PayM/obj/Debug/PayM.Pay_MonthSubsidyEntryBillReportMX.resources b/PayM/obj/Debug/PayM.Pay_MonthSubsidyEntryBillReportMX.resources
index 0488472..42d95f8 100644
--- a/PayM/obj/Debug/PayM.Pay_MonthSubsidyEntryBillReportMX.resources
+++ b/PayM/obj/Debug/PayM.Pay_MonthSubsidyEntryBillReportMX.resources
Binary files differ
diff --git a/PayM/obj/Debug/PayM.Pay_MonthSubsidyYearReport.resources b/PayM/obj/Debug/PayM.Pay_MonthSubsidyYearReport.resources
index 3ca1ec9..c7318e2 100644
--- a/PayM/obj/Debug/PayM.Pay_MonthSubsidyYearReport.resources
+++ b/PayM/obj/Debug/PayM.Pay_MonthSubsidyYearReport.resources
Binary files differ
diff --git a/PayM/obj/Debug/PayM.Pay_MonthWriteBillReport.resources b/PayM/obj/Debug/PayM.Pay_MonthWriteBillReport.resources
index 3b2148c..cc56509 100644
--- a/PayM/obj/Debug/PayM.Pay_MonthWriteBillReport.resources
+++ b/PayM/obj/Debug/PayM.Pay_MonthWriteBillReport.resources
Binary files differ
diff --git a/PayM/obj/Debug/PayM.Pay_MonthWriteBillReportDlg.resources b/PayM/obj/Debug/PayM.Pay_MonthWriteBillReportDlg.resources
index 6aea529..79c7741 100644
--- a/PayM/obj/Debug/PayM.Pay_MonthWriteBillReportDlg.resources
+++ b/PayM/obj/Debug/PayM.Pay_MonthWriteBillReportDlg.resources
Binary files differ
diff --git a/PayM/obj/Debug/PayM.Pay_MonthWriteBillReportMX.resources b/PayM/obj/Debug/PayM.Pay_MonthWriteBillReportMX.resources
index 0488472..42d95f8 100644
--- a/PayM/obj/Debug/PayM.Pay_MonthWriteBillReportMX.resources
+++ b/PayM/obj/Debug/PayM.Pay_MonthWriteBillReportMX.resources
Binary files differ
diff --git a/PayM/obj/Debug/PayM.Pay_MonthWriteBillReportMX2.resources b/PayM/obj/Debug/PayM.Pay_MonthWriteBillReportMX2.resources
index 0488472..42d95f8 100644
--- a/PayM/obj/Debug/PayM.Pay_MonthWriteBillReportMX2.resources
+++ b/PayM/obj/Debug/PayM.Pay_MonthWriteBillReportMX2.resources
Binary files differ
diff --git a/PayM/obj/Debug/PayM.Pay_NoWorkTimesReport.resources b/PayM/obj/Debug/PayM.Pay_NoWorkTimesReport.resources
index 0488472..42d95f8 100644
--- a/PayM/obj/Debug/PayM.Pay_NoWorkTimesReport.resources
+++ b/PayM/obj/Debug/PayM.Pay_NoWorkTimesReport.resources
Binary files differ
diff --git a/PayM/obj/Debug/PayM.Pay_NoWorkTimesReportDlg.resources b/PayM/obj/Debug/PayM.Pay_NoWorkTimesReportDlg.resources
index c4f8119..780f787 100644
--- a/PayM/obj/Debug/PayM.Pay_NoWorkTimesReportDlg.resources
+++ b/PayM/obj/Debug/PayM.Pay_NoWorkTimesReportDlg.resources
Binary files differ
diff --git a/PayM/obj/Debug/PayM.Pay_OtherBalBill.resources b/PayM/obj/Debug/PayM.Pay_OtherBalBill.resources
index 9c5a3d0..c2fccff 100644
--- a/PayM/obj/Debug/PayM.Pay_OtherBalBill.resources
+++ b/PayM/obj/Debug/PayM.Pay_OtherBalBill.resources
Binary files differ
diff --git a/PayM/obj/Debug/PayM.Pay_OtherBalBillList.resources b/PayM/obj/Debug/PayM.Pay_OtherBalBillList.resources
index 65506c3..b5a8f9f 100644
--- a/PayM/obj/Debug/PayM.Pay_OtherBalBillList.resources
+++ b/PayM/obj/Debug/PayM.Pay_OtherBalBillList.resources
Binary files differ
diff --git a/PayM/obj/Debug/PayM.Pay_OtherMoney_Dlg.resources b/PayM/obj/Debug/PayM.Pay_OtherMoney_Dlg.resources
index cc7d822..9a50115 100644
--- a/PayM/obj/Debug/PayM.Pay_OtherMoney_Dlg.resources
+++ b/PayM/obj/Debug/PayM.Pay_OtherMoney_Dlg.resources
Binary files differ
diff --git a/PayM/obj/Debug/PayM.Pay_OutApplyBill.resources b/PayM/obj/Debug/PayM.Pay_OutApplyBill.resources
index e5f6229..3509a63 100644
--- a/PayM/obj/Debug/PayM.Pay_OutApplyBill.resources
+++ b/PayM/obj/Debug/PayM.Pay_OutApplyBill.resources
Binary files differ
diff --git a/PayM/obj/Debug/PayM.Pay_OutApplyBillList.resources b/PayM/obj/Debug/PayM.Pay_OutApplyBillList.resources
index afd14e4..2137550 100644
--- a/PayM/obj/Debug/PayM.Pay_OutApplyBillList.resources
+++ b/PayM/obj/Debug/PayM.Pay_OutApplyBillList.resources
Binary files differ
diff --git a/PayM/obj/Debug/PayM.Pay_OuterScrap.resources b/PayM/obj/Debug/PayM.Pay_OuterScrap.resources
index 0488472..42d95f8 100644
--- a/PayM/obj/Debug/PayM.Pay_OuterScrap.resources
+++ b/PayM/obj/Debug/PayM.Pay_OuterScrap.resources
Binary files differ
diff --git a/PayM/obj/Debug/PayM.Pay_OuterScrapDlg.resources b/PayM/obj/Debug/PayM.Pay_OuterScrapDlg.resources
index c4f8119..780f787 100644
--- a/PayM/obj/Debug/PayM.Pay_OuterScrapDlg.resources
+++ b/PayM/obj/Debug/PayM.Pay_OuterScrapDlg.resources
Binary files differ
diff --git a/PayM/obj/Debug/PayM.Pay_OverApplyBill.resources b/PayM/obj/Debug/PayM.Pay_OverApplyBill.resources
index a72129e..a594861 100644
--- a/PayM/obj/Debug/PayM.Pay_OverApplyBill.resources
+++ b/PayM/obj/Debug/PayM.Pay_OverApplyBill.resources
Binary files differ
diff --git a/PayM/obj/Debug/PayM.Pay_OverApplyBillList.resources b/PayM/obj/Debug/PayM.Pay_OverApplyBillList.resources
index 65506c3..b5a8f9f 100644
--- a/PayM/obj/Debug/PayM.Pay_OverApplyBillList.resources
+++ b/PayM/obj/Debug/PayM.Pay_OverApplyBillList.resources
Binary files differ
diff --git a/PayM/obj/Debug/PayM.Pay_PayMentBill.resources b/PayM/obj/Debug/PayM.Pay_PayMentBill.resources
index 07f6fc7..007640b 100644
--- a/PayM/obj/Debug/PayM.Pay_PayMentBill.resources
+++ b/PayM/obj/Debug/PayM.Pay_PayMentBill.resources
Binary files differ
diff --git a/PayM/obj/Debug/PayM.Pay_PayMentBillList.resources b/PayM/obj/Debug/PayM.Pay_PayMentBillList.resources
index 65506c3..a2a27d3 100644
--- a/PayM/obj/Debug/PayM.Pay_PayMentBillList.resources
+++ b/PayM/obj/Debug/PayM.Pay_PayMentBillList.resources
Binary files differ
diff --git a/PayM/obj/Debug/PayM.Pay_PayMentDayBill.resources b/PayM/obj/Debug/PayM.Pay_PayMentDayBill.resources
index 2547a67..849515d 100644
--- a/PayM/obj/Debug/PayM.Pay_PayMentDayBill.resources
+++ b/PayM/obj/Debug/PayM.Pay_PayMentDayBill.resources
Binary files differ
diff --git a/PayM/obj/Debug/PayM.Pay_PayMentDayBillList.resources b/PayM/obj/Debug/PayM.Pay_PayMentDayBillList.resources
index 65506c3..b5a8f9f 100644
--- a/PayM/obj/Debug/PayM.Pay_PayMentDayBillList.resources
+++ b/PayM/obj/Debug/PayM.Pay_PayMentDayBillList.resources
Binary files differ
diff --git a/PayM/obj/Debug/PayM.Pay_PayMentDeptSendList.resources b/PayM/obj/Debug/PayM.Pay_PayMentDeptSendList.resources
index 0488472..42d95f8 100644
--- a/PayM/obj/Debug/PayM.Pay_PayMentDeptSendList.resources
+++ b/PayM/obj/Debug/PayM.Pay_PayMentDeptSendList.resources
Binary files differ
diff --git a/PayM/obj/Debug/PayM.Pay_PayMentDeptSendListDlg.resources b/PayM/obj/Debug/PayM.Pay_PayMentDeptSendListDlg.resources
index bf344ca..24688c3 100644
--- a/PayM/obj/Debug/PayM.Pay_PayMentDeptSendListDlg.resources
+++ b/PayM/obj/Debug/PayM.Pay_PayMentDeptSendListDlg.resources
Binary files differ
diff --git a/PayM/obj/Debug/PayM.Pay_PayMentDeptYearReport.resources b/PayM/obj/Debug/PayM.Pay_PayMentDeptYearReport.resources
index 0488472..42d95f8 100644
--- a/PayM/obj/Debug/PayM.Pay_PayMentDeptYearReport.resources
+++ b/PayM/obj/Debug/PayM.Pay_PayMentDeptYearReport.resources
Binary files differ
diff --git a/PayM/obj/Debug/PayM.Pay_PayMentDeptYearReportDlg.resources b/PayM/obj/Debug/PayM.Pay_PayMentDeptYearReportDlg.resources
index 7f599ad..ec17503 100644
--- a/PayM/obj/Debug/PayM.Pay_PayMentDeptYearReportDlg.resources
+++ b/PayM/obj/Debug/PayM.Pay_PayMentDeptYearReportDlg.resources
Binary files differ
diff --git a/PayM/obj/Debug/PayM.Pay_PayMentPrintReport.resources b/PayM/obj/Debug/PayM.Pay_PayMentPrintReport.resources
index 0488472..42d95f8 100644
--- a/PayM/obj/Debug/PayM.Pay_PayMentPrintReport.resources
+++ b/PayM/obj/Debug/PayM.Pay_PayMentPrintReport.resources
Binary files differ
diff --git a/PayM/obj/Debug/PayM.Pay_PayMentPrintReportDlg.resources b/PayM/obj/Debug/PayM.Pay_PayMentPrintReportDlg.resources
index 06c24d0..6c05a97 100644
--- a/PayM/obj/Debug/PayM.Pay_PayMentPrintReportDlg.resources
+++ b/PayM/obj/Debug/PayM.Pay_PayMentPrintReportDlg.resources
Binary files differ
diff --git a/PayM/obj/Debug/PayM.Pay_PayMentSendList.resources b/PayM/obj/Debug/PayM.Pay_PayMentSendList.resources
index 0488472..42d95f8 100644
--- a/PayM/obj/Debug/PayM.Pay_PayMentSendList.resources
+++ b/PayM/obj/Debug/PayM.Pay_PayMentSendList.resources
Binary files differ
diff --git a/PayM/obj/Debug/PayM.Pay_PayMentSendListDlg.resources b/PayM/obj/Debug/PayM.Pay_PayMentSendListDlg.resources
index bf344ca..24688c3 100644
--- a/PayM/obj/Debug/PayM.Pay_PayMentSendListDlg.resources
+++ b/PayM/obj/Debug/PayM.Pay_PayMentSendListDlg.resources
Binary files differ
diff --git a/PayM/obj/Debug/PayM.Pay_PayMentYearReport.resources b/PayM/obj/Debug/PayM.Pay_PayMentYearReport.resources
index 0488472..42d95f8 100644
--- a/PayM/obj/Debug/PayM.Pay_PayMentYearReport.resources
+++ b/PayM/obj/Debug/PayM.Pay_PayMentYearReport.resources
Binary files differ
diff --git a/PayM/obj/Debug/PayM.Pay_PayMentYearReportDlg.resources b/PayM/obj/Debug/PayM.Pay_PayMentYearReportDlg.resources
index 7f599ad..ec17503 100644
--- a/PayM/obj/Debug/PayM.Pay_PayMentYearReportDlg.resources
+++ b/PayM/obj/Debug/PayM.Pay_PayMentYearReportDlg.resources
Binary files differ
diff --git a/PayM/obj/Debug/PayM.Pay_ProcPriceRequestBill.resources b/PayM/obj/Debug/PayM.Pay_ProcPriceRequestBill.resources
index 77d5942..d101c09 100644
--- a/PayM/obj/Debug/PayM.Pay_ProcPriceRequestBill.resources
+++ b/PayM/obj/Debug/PayM.Pay_ProcPriceRequestBill.resources
Binary files differ
diff --git a/PayM/obj/Debug/PayM.Pay_ProcPriceRequestBillList.resources b/PayM/obj/Debug/PayM.Pay_ProcPriceRequestBillList.resources
index 65506c3..b5a8f9f 100644
--- a/PayM/obj/Debug/PayM.Pay_ProcPriceRequestBillList.resources
+++ b/PayM/obj/Debug/PayM.Pay_ProcPriceRequestBillList.resources
Binary files differ
diff --git a/PayM/obj/Debug/PayM.Pay_ProdWorkQtyEntryReport.resources b/PayM/obj/Debug/PayM.Pay_ProdWorkQtyEntryReport.resources
index 0488472..42d95f8 100644
--- a/PayM/obj/Debug/PayM.Pay_ProdWorkQtyEntryReport.resources
+++ b/PayM/obj/Debug/PayM.Pay_ProdWorkQtyEntryReport.resources
Binary files differ
diff --git a/PayM/obj/Debug/PayM.Pay_ProdWorkQtyEntryReportDlg.resources b/PayM/obj/Debug/PayM.Pay_ProdWorkQtyEntryReportDlg.resources
index c4f8119..780f787 100644
--- a/PayM/obj/Debug/PayM.Pay_ProdWorkQtyEntryReportDlg.resources
+++ b/PayM/obj/Debug/PayM.Pay_ProdWorkQtyEntryReportDlg.resources
Binary files differ
diff --git a/PayM/obj/Debug/PayM.Pay_ProdWorkQtySumReport.resources b/PayM/obj/Debug/PayM.Pay_ProdWorkQtySumReport.resources
index 0488472..42d95f8 100644
--- a/PayM/obj/Debug/PayM.Pay_ProdWorkQtySumReport.resources
+++ b/PayM/obj/Debug/PayM.Pay_ProdWorkQtySumReport.resources
Binary files differ
diff --git a/PayM/obj/Debug/PayM.Pay_ProdWorkQtySumReportDlg.resources b/PayM/obj/Debug/PayM.Pay_ProdWorkQtySumReportDlg.resources
index c4f8119..780f787 100644
--- a/PayM/obj/Debug/PayM.Pay_ProdWorkQtySumReportDlg.resources
+++ b/PayM/obj/Debug/PayM.Pay_ProdWorkQtySumReportDlg.resources
Binary files differ
diff --git a/PayM/obj/Debug/PayM.Pay_SingleBalBill.resources b/PayM/obj/Debug/PayM.Pay_SingleBalBill.resources
index 67a6490..119ac39 100644
--- a/PayM/obj/Debug/PayM.Pay_SingleBalBill.resources
+++ b/PayM/obj/Debug/PayM.Pay_SingleBalBill.resources
Binary files differ
diff --git a/PayM/obj/Debug/PayM.Pay_SingleBalBillDlg.resources b/PayM/obj/Debug/PayM.Pay_SingleBalBillDlg.resources
index 06c24d0..6c05a97 100644
--- a/PayM/obj/Debug/PayM.Pay_SingleBalBillDlg.resources
+++ b/PayM/obj/Debug/PayM.Pay_SingleBalBillDlg.resources
Binary files differ
diff --git a/PayM/obj/Debug/PayM.Pay_SingleBalBillList.resources b/PayM/obj/Debug/PayM.Pay_SingleBalBillList.resources
index 65506c3..b5a8f9f 100644
--- a/PayM/obj/Debug/PayM.Pay_SingleBalBillList.resources
+++ b/PayM/obj/Debug/PayM.Pay_SingleBalBillList.resources
Binary files differ
diff --git a/PayM/obj/Debug/PayM.Pay_SingleBalBill_Enter.resources b/PayM/obj/Debug/PayM.Pay_SingleBalBill_Enter.resources
index b54b414..001c721 100644
--- a/PayM/obj/Debug/PayM.Pay_SingleBalBill_Enter.resources
+++ b/PayM/obj/Debug/PayM.Pay_SingleBalBill_Enter.resources
Binary files differ
diff --git a/PayM/obj/Debug/PayM.Pay_SingleBalBill_KS.resources b/PayM/obj/Debug/PayM.Pay_SingleBalBill_KS.resources
index 65d9ede..000011a 100644
--- a/PayM/obj/Debug/PayM.Pay_SingleBalBill_KS.resources
+++ b/PayM/obj/Debug/PayM.Pay_SingleBalBill_KS.resources
Binary files differ
diff --git a/PayM/obj/Debug/PayM.Pay_SubsidyChangeBill.resources b/PayM/obj/Debug/PayM.Pay_SubsidyChangeBill.resources
index 925652c..60f52ba 100644
--- a/PayM/obj/Debug/PayM.Pay_SubsidyChangeBill.resources
+++ b/PayM/obj/Debug/PayM.Pay_SubsidyChangeBill.resources
Binary files differ
diff --git a/PayM/obj/Debug/PayM.Pay_SubsidyChangeBillList.resources b/PayM/obj/Debug/PayM.Pay_SubsidyChangeBillList.resources
index e62461d..4f17f92 100644
--- a/PayM/obj/Debug/PayM.Pay_SubsidyChangeBillList.resources
+++ b/PayM/obj/Debug/PayM.Pay_SubsidyChangeBillList.resources
Binary files differ
diff --git a/PayM/obj/Debug/PayM.Pay_WorkTimesBill.resources b/PayM/obj/Debug/PayM.Pay_WorkTimesBill.resources
index 59db82a..9a1832f 100644
--- a/PayM/obj/Debug/PayM.Pay_WorkTimesBill.resources
+++ b/PayM/obj/Debug/PayM.Pay_WorkTimesBill.resources
Binary files differ
diff --git a/PayM/obj/Debug/PayM.Pay_WorkTimesBillList.resources b/PayM/obj/Debug/PayM.Pay_WorkTimesBillList.resources
index 65506c3..b5a8f9f 100644
--- a/PayM/obj/Debug/PayM.Pay_WorkTimesBillList.resources
+++ b/PayM/obj/Debug/PayM.Pay_WorkTimesBillList.resources
Binary files differ
diff --git a/PayM/obj/Debug/PayM.Pay_WorkTimesCardBill1.resources b/PayM/obj/Debug/PayM.Pay_WorkTimesCardBill1.resources
index 6555d82..6a89d65 100644
--- a/PayM/obj/Debug/PayM.Pay_WorkTimesCardBill1.resources
+++ b/PayM/obj/Debug/PayM.Pay_WorkTimesCardBill1.resources
Binary files differ
diff --git a/PayM/obj/Debug/PayM.Pay_WorkTimesCardBill2.resources b/PayM/obj/Debug/PayM.Pay_WorkTimesCardBill2.resources
index 5b8acf2..21db791 100644
--- a/PayM/obj/Debug/PayM.Pay_WorkTimesCardBill2.resources
+++ b/PayM/obj/Debug/PayM.Pay_WorkTimesCardBill2.resources
Binary files differ
diff --git a/PayM/obj/Debug/PayM.Pay_WorkTimesCardBill3.resources b/PayM/obj/Debug/PayM.Pay_WorkTimesCardBill3.resources
index 6555d82..6a89d65 100644
--- a/PayM/obj/Debug/PayM.Pay_WorkTimesCardBill3.resources
+++ b/PayM/obj/Debug/PayM.Pay_WorkTimesCardBill3.resources
Binary files differ
diff --git a/PayM/obj/Debug/PayM.Pay_WorkTimesCardBill4.resources b/PayM/obj/Debug/PayM.Pay_WorkTimesCardBill4.resources
index 6555d82..6a89d65 100644
--- a/PayM/obj/Debug/PayM.Pay_WorkTimesCardBill4.resources
+++ b/PayM/obj/Debug/PayM.Pay_WorkTimesCardBill4.resources
Binary files differ
diff --git a/PayM/obj/Debug/PayM.Pay_WorkTimesCardBill5.resources b/PayM/obj/Debug/PayM.Pay_WorkTimesCardBill5.resources
index 6555d82..6a89d65 100644
--- a/PayM/obj/Debug/PayM.Pay_WorkTimesCardBill5.resources
+++ b/PayM/obj/Debug/PayM.Pay_WorkTimesCardBill5.resources
Binary files differ
diff --git a/PayM/obj/Debug/PayM.Pay_WorkTimesCardBillList.resources b/PayM/obj/Debug/PayM.Pay_WorkTimesCardBillList.resources
index fdd084e..f0a160a 100644
--- a/PayM/obj/Debug/PayM.Pay_WorkTimesCardBillList.resources
+++ b/PayM/obj/Debug/PayM.Pay_WorkTimesCardBillList.resources
Binary files differ
diff --git a/PayM/obj/Debug/PayM.Pay_WorkTimesList.resources b/PayM/obj/Debug/PayM.Pay_WorkTimesList.resources
index 0488472..42d95f8 100644
--- a/PayM/obj/Debug/PayM.Pay_WorkTimesList.resources
+++ b/PayM/obj/Debug/PayM.Pay_WorkTimesList.resources
Binary files differ
diff --git a/PayM/obj/Debug/PayM.Pay_WorkTimesListDlg.resources b/PayM/obj/Debug/PayM.Pay_WorkTimesListDlg.resources
index bf344ca..24688c3 100644
--- a/PayM/obj/Debug/PayM.Pay_WorkTimesListDlg.resources
+++ b/PayM/obj/Debug/PayM.Pay_WorkTimesListDlg.resources
Binary files differ
diff --git a/PayM/obj/Debug/PayM.Pay_YearToCashBillReport.resources b/PayM/obj/Debug/PayM.Pay_YearToCashBillReport.resources
index 0488472..42d95f8 100644
--- a/PayM/obj/Debug/PayM.Pay_YearToCashBillReport.resources
+++ b/PayM/obj/Debug/PayM.Pay_YearToCashBillReport.resources
Binary files differ
diff --git a/PayM/obj/Debug/PayM.Pay_YearToCashBillReportDlg.resources b/PayM/obj/Debug/PayM.Pay_YearToCashBillReportDlg.resources
index 6aea529..79c7741 100644
--- a/PayM/obj/Debug/PayM.Pay_YearToCashBillReportDlg.resources
+++ b/PayM/obj/Debug/PayM.Pay_YearToCashBillReportDlg.resources
Binary files differ
diff --git a/PayM/obj/Debug/PayM.Properties.Resources.resources b/PayM/obj/Debug/PayM.Properties.Resources.resources
index 06c24d0..6c05a97 100644
--- a/PayM/obj/Debug/PayM.Properties.Resources.resources
+++ b/PayM/obj/Debug/PayM.Properties.Resources.resources
Binary files differ
diff --git a/PayM/obj/Debug/PayM.csproj.GenerateResource.Cache b/PayM/obj/Debug/PayM.csproj.GenerateResource.Cache
index fc64390..859e9de 100644
--- a/PayM/obj/Debug/PayM.csproj.GenerateResource.Cache
+++ b/PayM/obj/Debug/PayM.csproj.GenerateResource.Cache
Binary files differ
diff --git a/PayM/obj/Debug/PayM.csproj.ResolveComReference.cache b/PayM/obj/Debug/PayM.csproj.ResolveComReference.cache
index b5c86a0..23803c7 100644
--- a/PayM/obj/Debug/PayM.csproj.ResolveComReference.cache
+++ b/PayM/obj/Debug/PayM.csproj.ResolveComReference.cache
Binary files differ
diff --git a/PayM/obj/Debug/PayM.dll b/PayM/obj/Debug/PayM.dll
index 5a4a405..946feac 100644
--- a/PayM/obj/Debug/PayM.dll
+++ b/PayM/obj/Debug/PayM.dll
Binary files differ
diff --git a/PayM/obj/Debug/PayM.pdb b/PayM/obj/Debug/PayM.pdb
index 4765ecd..115ad90 100644
--- a/PayM/obj/Debug/PayM.pdb
+++ b/PayM/obj/Debug/PayM.pdb
Binary files differ
diff --git a/PayM/obj/x86/Debug/Interop.gregn6Lib.dll b/PayM/obj/x86/Debug/Interop.gregn6Lib.dll
index 8cf5011..8ccfe5b 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.AssemblyReference.cache b/PayM/obj/x86/Debug/PayM.csproj.AssemblyReference.cache
index 7252149..3f5d18d 100644
--- a/PayM/obj/x86/Debug/PayM.csproj.AssemblyReference.cache
+++ b/PayM/obj/x86/Debug/PayM.csproj.AssemblyReference.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 ff08134..faa9c30 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/Pub_Class/CustomerCls/ClsXt_SystemParameter.cs b/Pub_Class/CustomerCls/ClsXt_SystemParameter.cs
index 2889df2..3e4fccf 100644
--- a/Pub_Class/CustomerCls/ClsXt_SystemParameter.cs
+++ b/Pub_Class/CustomerCls/ClsXt_SystemParameter.cs
@@ -1409,6 +1409,155 @@
                         omodel.BarCode_UpdatePrintQtyCtl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
                     }
 
+                    //============================================================================器具管理EAM系统参数
+                    //===========器具采购入库单
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Sc_MouldProdInBill_AutoCheck")
+                    {
+                        omodel.Sc_MouldProdInBill_AutoCheck = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Sc_MouldProdInBill_BarCodeQty")
+                    {
+                        omodel.Sc_MouldProdInBill_BarCodeQty = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    //===========器具领用出库单
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Sc_MouldProdOutBill_AutoCheck")
+                    {
+                        omodel.Sc_MouldProdOutBill_AutoCheck = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Sc_MouldProdOutBill_BarCodeQty")
+                    {
+                        omodel.Sc_MouldProdOutBill_BarCodeQty = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Sc_MouldProdOutBill_SaveAutoAddnew")
+                    {
+                        omodel.Sc_MouldProdOutBill_SaveAutoAddnew = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Sc_MouldProdOutBill_DeleterAndMakerMustSame")
+                    {
+                        omodel.Sc_MouldProdOutBill_DeleterAndMakerMustSame = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Sc_MouldProdOutBill_MouldLifeCtrl")
+                    {
+                        omodel.Sc_MouldProdOutBill_MouldLifeCtrl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Sc_MouldProdOutBill_MouldLifeCtrlType")
+                    {
+                        omodel.Sc_MouldProdOutBill_MouldLifeCtrlType = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    //===========器具领用退库单
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Sc_MouldProdBackBill_AutoCheck")
+                    {
+                        omodel.Sc_MouldProdBackBill_AutoCheck = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Sc_MouldProdBackBill_BarCodeQty")
+                    {
+                        omodel.Sc_MouldProdBackBill_BarCodeQty = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    //===========器具改制出库单
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Sc_MouldRepairOutBill_AutoCheck")
+                    {
+                        omodel.Sc_MouldRepairOutBill_AutoCheck = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Sc_MouldRepairOutBill_BarCodeQty")
+                    {
+                        omodel.Sc_MouldRepairOutBill_BarCodeQty = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    //===========器具改制入库单
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Sc_MouldRepairInBill_AutoCheck")
+                    {
+                        omodel.Sc_MouldRepairInBill_AutoCheck = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Sc_MouldRepairInBill_BarCodeQty")
+                    {
+                        omodel.Sc_MouldRepairInBill_BarCodeQty = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    //===========器具其他入库单
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Sc_MouldOtherInBill_AutoCheck")
+                    {
+                        omodel.Sc_MouldOtherInBill_AutoCheck = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Sc_MouldOtherInBill_BarCodeQty")
+                    {
+                        omodel.Sc_MouldOtherInBill_BarCodeQty = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    //===========器具其他出库单
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Sc_MouldOtherOutBill_AutoCheck")
+                    {
+                        omodel.Sc_MouldOtherOutBill_AutoCheck = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Sc_MouldOtherOutBill_BarCodeQty")
+                    {
+                        omodel.Sc_MouldOtherOutBill_BarCodeQty = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    //===========器具暂借入库单
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Sc_MouldBorrowInBill_AutoCheck")
+                    {
+                        omodel.Sc_MouldBorrowInBill_AutoCheck = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Sc_MouldBorrowInBill_BarCodeQty")
+                    {
+                        omodel.Sc_MouldBorrowInBill_BarCodeQty = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    //===========器具暂借出库单
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Sc_MouldBorrowOutBill_AutoCheck")
+                    {
+                        omodel.Sc_MouldBorrowOutBill_AutoCheck = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Sc_MouldBorrowOutBill_BarCodeQty")
+                    {
+                        omodel.Sc_MouldBorrowOutBill_BarCodeQty = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    //===========器具报废入库单
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Sc_MouldScrapInBill_AutoCheck")
+                    {
+                        omodel.Sc_MouldScrapInBill_AutoCheck = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Sc_MouldScrapInBill_BarCodeQty")
+                    {
+                        omodel.Sc_MouldScrapInBill_BarCodeQty = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    //===========器具报废出库单
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Sc_MouldScrapOutBill_AutoCheck")
+                    {
+                        omodel.Sc_MouldScrapOutBill_AutoCheck = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Sc_MouldScrapOutBill_BarCodeQty")
+                    {
+                        omodel.Sc_MouldScrapOutBill_BarCodeQty = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    //===========器具直接调拨单
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Sc_MouldProdMoveBill_AutoCheck")
+                    {
+                        omodel.Sc_MouldProdMoveBill_AutoCheck = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Sc_MouldProdMoveBill_BarCodeQty")
+                    {
+                        omodel.Sc_MouldProdMoveBill_BarCodeQty = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    //===========器具分步调出单
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Sc_MouldMoveStockStepOutBill_AutoCheck")
+                    {
+                        omodel.Sc_MouldMoveStockStepOutBill_AutoCheck = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Sc_MouldMoveStockStepOutBill_BarCodeQty")
+                    {
+                        omodel.Sc_MouldMoveStockStepOutBill_BarCodeQty = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    //===========器具分步调入单
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Sc_MouldMoveStockStepInBill_AutoCheck")
+                    {
+                        omodel.Sc_MouldMoveStockStepInBill_AutoCheck = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Sc_MouldMoveStockStepInBill_BarCodeQty")
+                    {
+                        omodel.Sc_MouldMoveStockStepInBill_BarCodeQty = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    //===========器具盘点单
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Sc_MouldProdCheckStockBill_AutoCheck")
+                    {
+                        omodel.Sc_MouldProdCheckStockBill_AutoCheck = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+
                     //==============================================================================================
 
                     //-======进站单
@@ -3168,6 +3317,156 @@
                     {
                         omodel.BarCode_DeleterAndMakerMustSame = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
                     }
+
+                    //============================================================================器具管理EAM系统参数
+                    //===========器具采购入库单
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Sc_MouldProdInBill_AutoCheck")
+                    {
+                        omodel.Sc_MouldProdInBill_AutoCheck = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Sc_MouldProdInBill_BarCodeQty")
+                    {
+                        omodel.Sc_MouldProdInBill_BarCodeQty = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    //===========器具领用出库单
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Sc_MouldProdOutBill_AutoCheck")
+                    {
+                        omodel.Sc_MouldProdOutBill_AutoCheck = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Sc_MouldProdOutBill_BarCodeQty")
+                    {
+                        omodel.Sc_MouldProdOutBill_BarCodeQty = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Sc_MouldProdOutBill_SaveAutoAddnew")
+                    {
+                        omodel.Sc_MouldProdOutBill_SaveAutoAddnew = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Sc_MouldProdOutBill_DeleterAndMakerMustSame")
+                    {
+                        omodel.Sc_MouldProdOutBill_DeleterAndMakerMustSame = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Sc_MouldProdOutBill_MouldLifeCtrl")
+                    {
+                        omodel.Sc_MouldProdOutBill_MouldLifeCtrl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Sc_MouldProdOutBill_MouldLifeCtrlType")
+                    {
+                        omodel.Sc_MouldProdOutBill_MouldLifeCtrlType = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    //===========器具领用退库单
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Sc_MouldProdBackBill_AutoCheck")
+                    {
+                        omodel.Sc_MouldProdBackBill_AutoCheck = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Sc_MouldProdBackBill_BarCodeQty")
+                    {
+                        omodel.Sc_MouldProdBackBill_BarCodeQty = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    //===========器具改制出库单
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Sc_MouldRepairOutBill_AutoCheck")
+                    {
+                        omodel.Sc_MouldRepairOutBill_AutoCheck = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Sc_MouldRepairOutBill_BarCodeQty")
+                    {
+                        omodel.Sc_MouldRepairOutBill_BarCodeQty = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    //===========器具改制入库单
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Sc_MouldRepairInBill_AutoCheck")
+                    {
+                        omodel.Sc_MouldRepairInBill_AutoCheck = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Sc_MouldRepairInBill_BarCodeQty")
+                    {
+                        omodel.Sc_MouldRepairInBill_BarCodeQty = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    //===========器具其他入库单
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Sc_MouldOtherInBill_AutoCheck")
+                    {
+                        omodel.Sc_MouldOtherInBill_AutoCheck = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Sc_MouldOtherInBill_BarCodeQty")
+                    {
+                        omodel.Sc_MouldOtherInBill_BarCodeQty = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    //===========器具其他出库单
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Sc_MouldOtherOutBill_AutoCheck")
+                    {
+                        omodel.Sc_MouldOtherOutBill_AutoCheck = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Sc_MouldOtherOutBill_BarCodeQty")
+                    {
+                        omodel.Sc_MouldOtherOutBill_BarCodeQty = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    //===========器具暂借入库单
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Sc_MouldBorrowInBill_AutoCheck")
+                    {
+                        omodel.Sc_MouldBorrowInBill_AutoCheck = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Sc_MouldBorrowInBill_BarCodeQty")
+                    {
+                        omodel.Sc_MouldBorrowInBill_BarCodeQty = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    //===========器具暂借出库单
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Sc_MouldBorrowOutBill_AutoCheck")
+                    {
+                        omodel.Sc_MouldBorrowOutBill_AutoCheck = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Sc_MouldBorrowOutBill_BarCodeQty")
+                    {
+                        omodel.Sc_MouldBorrowOutBill_BarCodeQty = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    //===========器具报废入库单
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Sc_MouldScrapInBill_AutoCheck")
+                    {
+                        omodel.Sc_MouldScrapInBill_AutoCheck = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Sc_MouldScrapInBill_BarCodeQty")
+                    {
+                        omodel.Sc_MouldScrapInBill_BarCodeQty = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    //===========器具报废出库单
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Sc_MouldScrapOutBill_AutoCheck")
+                    {
+                        omodel.Sc_MouldScrapOutBill_AutoCheck = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Sc_MouldScrapOutBill_BarCodeQty")
+                    {
+                        omodel.Sc_MouldScrapOutBill_BarCodeQty = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    //===========器具直接调拨单
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Sc_MouldProdMoveBill_AutoCheck")
+                    {
+                        omodel.Sc_MouldProdMoveBill_AutoCheck = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Sc_MouldProdMoveBill_BarCodeQty")
+                    {
+                        omodel.Sc_MouldProdMoveBill_BarCodeQty = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    //===========器具分步调出单
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Sc_MouldMoveStockStepOutBill_AutoCheck")
+                    {
+                        omodel.Sc_MouldMoveStockStepOutBill_AutoCheck = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Sc_MouldMoveStockStepOutBill_BarCodeQty")
+                    {
+                        omodel.Sc_MouldMoveStockStepOutBill_BarCodeQty = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    //===========器具分步调入单
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Sc_MouldMoveStockStepInBill_AutoCheck")
+                    {
+                        omodel.Sc_MouldMoveStockStepInBill_AutoCheck = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Sc_MouldMoveStockStepInBill_BarCodeQty")
+                    {
+                        omodel.Sc_MouldMoveStockStepInBill_BarCodeQty = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    //===========器具盘点单
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Sc_MouldProdCheckStockBill_AutoCheck")
+                    {
+                        omodel.Sc_MouldProdCheckStockBill_AutoCheck = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+
                     //============================================================================MES系统参数
 
                     //-==================生产订单
@@ -3375,6 +3674,11 @@
                     {
                         omodel.Sc_MESBeginWorkBill_AutoCheck = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
                     }
+                    //刷卡验证
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Sc_MESBeginWorkBill_SwipeCardStart")
+                    {
+                        omodel.Sc_MESBeginWorkBill_SwipeCardStart = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
                     //==========返工单
                     //自动审核
                     if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Sc_MESReturnWorkBill_AutoCheck")
diff --git a/Pub_Class/CustomerCls/ClsXt_SystemParameterMain.cs b/Pub_Class/CustomerCls/ClsXt_SystemParameterMain.cs
index 2b8e083..5d5ea3a 100644
--- a/Pub_Class/CustomerCls/ClsXt_SystemParameterMain.cs
+++ b/Pub_Class/CustomerCls/ClsXt_SystemParameterMain.cs
@@ -410,6 +410,73 @@
         public string BarCode_AutoSellOutBackBillWMS;   //选源单销售退货单生成条码时是否自动同步生成条码出入库记录('Y'为自动同步)
         public string BarCode_DeleterAndMakerMustSame;  //条码主档删除人必须是制单人
 
+
+        //====================================================器具管理EAM
+
+        //器具采购入库单
+        public string Sc_MouldProdInBill_AutoCheck;     //保存后是否自动审核
+        public string Sc_MouldProdInBill_BarCodeQty;    //允许扫描条码个数(0、1、2、3.....,其中0为不控制)
+
+        //器具领用出库单
+        public string Sc_MouldProdOutBill_AutoCheck;                //保存后是否自动审核
+        public string Sc_MouldProdOutBill_BarCodeQty;               //允许扫描条码个数(0、1、2、3.....,其中0为不控制)
+        public string Sc_MouldProdOutBill_SaveAutoAddnew;           //保存后变为新增状态
+        public string Sc_MouldProdOutBill_DeleterAndMakerMustSame;  //删除人必须是制单人
+        public string Sc_MouldProdOutBill_MouldLifeCtrl;            //保存时器具寿命控制 (Y 控制, N 不控制 当器具预计寿命或者当前寿命不足时,不允许领用)
+        public string Sc_MouldProdOutBill_MouldLifeCtrlType;        //保存时器具寿命控制类型 (Y 强制控制, N 仅提示)
+
+        //器具领用退库单
+        public string Sc_MouldProdBackBill_AutoCheck;   //保存后是否自动审核
+        public string Sc_MouldProdBackBill_BarCodeQty;  //允许扫描条码个数(0、1、2、3.....,其中0为不控制)
+
+        //器具改制出库单
+        public string Sc_MouldRepairOutBill_AutoCheck;  //保存后是否自动审核
+        public string Sc_MouldRepairOutBill_BarCodeQty; //允许扫描条码个数(0、1、2、3.....,其中0为不控制)
+
+        //器具改制入库单
+        public string Sc_MouldRepairInBill_AutoCheck;   //保存后是否自动审核
+        public string Sc_MouldRepairInBill_BarCodeQty;  //允许扫描条码个数(0、1、2、3.....,其中0为不控制)
+
+        //器具其他入库单
+        public string Sc_MouldOtherInBill_AutoCheck;    //保存后是否自动审核
+        public string Sc_MouldOtherInBill_BarCodeQty;   //允许扫描条码个数(0、1、2、3.....,其中0为不控制)
+
+        //器具其他出库单
+        public string Sc_MouldOtherOutBill_AutoCheck;   //保存后是否自动审核
+        public string Sc_MouldOtherOutBill_BarCodeQty;  //允许扫描条码个数(0、1、2、3.....,其中0为不控制)
+
+        //器具暂借入库单
+        public string Sc_MouldBorrowInBill_AutoCheck;   //保存后是否自动审核
+        public string Sc_MouldBorrowInBill_BarCodeQty;  //允许扫描条码个数(0、1、2、3.....,其中0为不控制)
+
+        //器具暂借出库单
+        public string Sc_MouldBorrowOutBill_AutoCheck;  //保存后是否自动审核
+        public string Sc_MouldBorrowOutBill_BarCodeQty; //允许扫描条码个数(0、1、2、3.....,其中0为不控制)
+
+        //器具报废入库单
+        public string Sc_MouldScrapInBill_AutoCheck;    //保存后是否自动审核
+        public string Sc_MouldScrapInBill_BarCodeQty;   //允许扫描条码个数(0、1、2、3.....,其中0为不控制)
+
+        //器具报废出库单
+        public string Sc_MouldScrapOutBill_AutoCheck;   //保存后是否自动审核
+        public string Sc_MouldScrapOutBill_BarCodeQty;  //允许扫描条码个数(0、1、2、3.....,其中0为不控制)
+
+        //器具直接调拨单
+        public string Sc_MouldProdMoveBill_AutoCheck;   //保存后是否自动审核
+        public string Sc_MouldProdMoveBill_BarCodeQty;  //允许扫描条码个数(0、1、2、3.....,其中0为不控制)
+
+        //器具分步调出单
+        public string Sc_MouldMoveStockStepOutBill_AutoCheck;   //保存后是否自动审核
+        public string Sc_MouldMoveStockStepOutBill_BarCodeQty;  //允许扫描条码个数(0、1、2、3.....,其中0为不控制)
+
+        //器具分步调入单
+        public string Sc_MouldMoveStockStepInBill_AutoCheck;    //保存后是否自动审核
+        public string Sc_MouldMoveStockStepInBill_BarCodeQty;   //允许扫描条码个数(0、1、2、3.....,其中0为不控制)
+
+        //器具盘点单
+        public string Sc_MouldProdCheckStockBill_AutoCheck;     //保存后是否自动审核
+
+
         //====================================================工序流转WIP
 
         //生产订单
@@ -490,6 +557,7 @@
         public string Sc_MESBeginWorkBill_AutoCheck;                    //保存后是否自动审核
         public string Sc_MESBeginWorkBill_SaveAutoAddnew;               //保存后变为新增状态
         public string Sc_MESBeginWorkBill_DeleterAndMakerMustSame;      //删除人必须是制单人
+        public string Sc_MESBeginWorkBill_SwipeCardStart;      //开工单需要刷卡验证
         //返工单
         public string Sc_MESReturnWorkBill_AutoCheck;                   //保存后是否自动审核
         public string Sc_MESReturnWorkBill_SaveAutoAddnew;               //保存后变为新增状态
@@ -549,19 +617,6 @@
         public string QC_ProcessCheckBill_QCSchemeSource;               //质检方案来源
 
 
-
-
-
-
-
-        //EAM
-
-        //器具领用出库单
-        public string Sc_MouldProdOutBill_AutoCheck; //保存后是否自动审核
-        public string Sc_MouldProdOutBill_SaveAutoAddnew; //保存后变为新增状态
-        public string Sc_MouldProdOutBill_DeleterAndMakerMustSame;      //删除人必须是制单人
-        public string Sc_MouldProdOutBill_MouldLifeCtrl; //保存时器具寿命控制 (Y 控制, N 不控制 当器具预计寿命或者当前寿命不足时,不允许领用)
-        public string Sc_MouldProdOutBill_MouldLifeCtrlType; //保存时器具寿命控制类型 (Y 强制控制, N 仅提示)
 
 
         //工艺路线
diff --git a/Pub_Control/bin/Release/Pub_Control.dll b/Pub_Control/bin/Release/Pub_Control.dll
index d61866b..5953003 100644
--- a/Pub_Control/bin/Release/Pub_Control.dll
+++ b/Pub_Control/bin/Release/Pub_Control.dll
Binary files differ
diff --git a/Pub_Control/bin/Release/Pub_Control.pdb b/Pub_Control/bin/Release/Pub_Control.pdb
index a3856a6..820d7bc 100644
--- a/Pub_Control/bin/Release/Pub_Control.pdb
+++ b/Pub_Control/bin/Release/Pub_Control.pdb
Binary files differ
diff --git a/SQLHelper/obj/Release/build.force b/SQLHelper/obj/Release/build.force
deleted file mode 100644
index e69de29..0000000
--- a/SQLHelper/obj/Release/build.force
+++ /dev/null
diff --git a/WebAPI/Controllers/BaseSet/Gy_BadReasonController.cs b/WebAPI/Controllers/BaseSet/Gy_BadReasonController.cs
index 0474128..7430745 100644
--- a/WebAPI/Controllers/BaseSet/Gy_BadReasonController.cs
+++ b/WebAPI/Controllers/BaseSet/Gy_BadReasonController.cs
@@ -6566,5 +6566,247 @@
             }
         }
         #endregion
+
+        #region  鍚姩妫�鏌ラ」鐩�  鏌ヨ,瀹℃牳锛屽弽瀹℃牳锛岀鐢紝鍙嶇鐢�
+        /// <summary> 
+        /// 鍚姩妫�鏌ラ」鐩�  鏌ヨ
+        /// </summary>
+        /// <param name="sWhere"></param>
+        /// <param name="user"></param>
+        /// <returns></returns>
+        [Route("Gy_BadReason/Gy_CheckNoteItemList")]
+        [HttpGet]
+        public object Gy_CheckNoteItemList(string sWhere, string user)
+        {
+            try
+            {
+                List<object> columnNameList = new List<object>();
+                //鏌ョ湅鏉冮檺
+                if (!DBUtility.ClsPub.Security_Log("Gy_CheckNoteItem_Query", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犳煡鐪嬫潈闄愶紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                string sql1 = "select * from  h_v_Gy_CheckNoteItem where 1 = 1";
+                string sql = sql1 + sWhere + " order by 鍚姩妫�鏌ラ」鐩唬鐮� ";
+                ds = oCN.RunProcReturn(sql, "h_v_Gy_CheckNoteItem");
+
+                //娣诲姞鍒楀悕
+                foreach (DataColumn col in ds.Tables[0].Columns)
+                {
+                    Type dataType = col.DataType;
+                    string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}";
+                    columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//鑾峰彇鍒癉ataColumn鍒楀璞$殑鍒楀悕
+                }
+
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "Sucess锛�";
+                objJsonResult.data = ds.Tables[0];
+                objJsonResult.list = columnNameList;
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "Exception锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+
+        /// <summary>
+        /// 鍚姩妫�鏌ラ」鐩� 瀹℃牳銆佸弽瀹℃牳
+        /// </summary>
+        /// <param name="HInterID">鍗曟嵁ID</param>
+        /// <param name="IsAudit">瀹℃牳(0),鍙嶅鏍�(1)</param>
+        /// <param name="CurUserName">瀹℃牳浜�</param>
+        /// <returns></returns>
+        [Route("Gy_BadReason/AuditGy_CheckNoteItem")]
+        [HttpGet]
+        public object AuditGy_CheckNoteItem(int HInterID, int IsAudit, string CurUserName)
+        {
+            try
+            {
+                //瀹℃牳鏉冮檺
+                if (!DBUtility.ClsPub.Security_Log_second("Gy_CheckNoteItem_Check", 1, false, CurUserName))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "瀹℃牳澶辫触锛佹棤鏉冮檺锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                var ds = oCN.RunProcReturn("select * from Gy_CheckNoteItem where HItemID=" + HInterID, "Gy_CheckNoteItem");
+                if (ds.Tables[0].Rows.Count > 0)
+                {
+                    if (IsAudit == 0)  //瀹℃牳鍒ゆ柇
+                    {
+                        if (ds.Tables[0].Rows[0]["HCheckEmp"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插鏍�!涓嶈兘鍐嶆瀹℃牳锛�";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                    if (IsAudit == 1) //鍙嶅鏍稿垽鏂�
+                    {
+                        if (ds.Tables[0].Rows[0]["HCheckEmp"].ToString() == "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁鏈鏍�!涓嶉渶瑕佸弽瀹℃牳!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                }
+                else
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鍗曟嵁涓嶅瓨鍦�!";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                oCN.BeginTran();
+
+                if (IsAudit == 0)  //瀹℃牳鍒ゆ柇
+                {
+                    oCN.RunProc("update Gy_CheckNoteItem set HCheckEmp='" + CurUserName + "',HCheckTime=getdate() where HItemID=" + HInterID);
+
+                    objJsonResult.code = "1";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "瀹℃牳鎴愬姛";
+                    objJsonResult.data = null;
+                }
+                if (IsAudit == 1) //鍙嶅鏍稿垽鏂�
+                {
+                    oCN.RunProc("update Gy_CheckNoteItem set HCheckEmp='',HCheckTime=null where HItemID=" + HInterID);
+
+                    objJsonResult.code = "1";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "鍙嶅鏍告垚鍔�";
+                    objJsonResult.data = null;
+                }
+                oCN.Commit();
+
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                oCN.RollBack();
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "瀹℃牳澶辫触鎴栬�呭弽瀹℃牳澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+
+
+
+        /// <summary>
+        /// 鍚姩妫�鏌ラ」鐩� 绂佺敤銆佸弽绂佺敤
+        /// </summary>
+        /// <param name="HInterID">鍗曟嵁ID</param>
+        /// <param name="IsStop">绂佺敤(0),鍙嶇鐢�(1)</param>
+        /// <param name="CurUserName">瀹℃牳浜�</param>
+        /// <returns></returns>
+        [Route("Gy_BadReason/StopGy_CheckNoteItem")]
+        [HttpGet]
+        public object StopGy_CheckNoteItem(int HInterID, int IsStop, string CurUserName)
+        {
+            try
+            {
+                //瀹℃牳鏉冮檺
+                if (!DBUtility.ClsPub.Security_Log_second("Gy_CheckNoteItem_Close", 1, false, CurUserName))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "绂佺敤澶辫触锛佹棤鏉冮檺锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                var ds = oCN.RunProcReturn("select * from Gy_CheckNoteItem where HItemID=" + HInterID, "Gy_SupType");
+                if (ds.Tables[0].Rows.Count > 0)
+                {
+                    if (IsStop == 0)  //绂佺敤鍒ゆ柇
+                    {
+                        if (ds.Tables[0].Rows[0]["HStopEmp"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸茬鐢�!涓嶈兘鍐嶆绂佺敤锛�";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                    if (IsStop == 1) //鍙嶇鐢ㄥ垽鏂�
+                    {
+                        if (ds.Tables[0].Rows[0]["HStopEmp"].ToString() == "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁鏈鐢�!涓嶉渶瑕佸弽绂佺敤!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                }
+                else
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鍗曟嵁涓嶅瓨鍦�!";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                oCN.BeginTran();
+
+                if (IsStop == 0)  //绂佺敤鍒ゆ柇
+                {
+                    oCN.RunProc("update Gy_CheckNoteItem set HStopEmp='" + CurUserName + "',HStopTime=getdate(),HStopflag=1 where HItemID=" + HInterID);
+
+                    objJsonResult.code = "1";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "绂佺敤鎴愬姛";
+                    objJsonResult.data = null;
+                }
+                if (IsStop == 1) //鍙嶇鐢ㄥ垽鏂�
+                {
+                    oCN.RunProc("update Gy_CheckNoteItem set HStopEmp='',HStopTime=null,HStopflag=0 where HItemID=" + HInterID);
+
+                    objJsonResult.code = "1";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "鍙嶇鐢ㄦ垚鍔�";
+                    objJsonResult.data = null;
+                }
+                oCN.Commit();
+
+                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/Controllers/BaseSet/Gy_MaterialController.cs b/WebAPI/Controllers/BaseSet/Gy_MaterialController.cs
index 7963b8a..15c4b87 100644
--- a/WebAPI/Controllers/BaseSet/Gy_MaterialController.cs
+++ b/WebAPI/Controllers/BaseSet/Gy_MaterialController.cs
@@ -938,7 +938,18 @@
                     objJsonResult.data = null;
                     return objJsonResult;
                 }
-                
+
+                //杩涜 浼氳鏈熼棿 缁撹处 鐨勫垽鏂拰鎺у埗
+                string s = "";
+                int sYear = 0;
+                int sPeriod = 0;
+                DateTime HDate = DateTime.Now;
+                if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(HDate, ref sYear, ref sPeriod, ref s) == false)
+                {
+                    objJsonResult.Message = s;
+                    return objJsonResult;
+                }
+
                 Ds = oCN.RunProcReturn("Select * from h_v_IF_BarCodeBillList Where HItemID in (" + HInterID + ")", "h_v_IF_BarCodeBillList");
                 if (Ds.Tables[0].Rows.Count != 0)
                 {
@@ -1171,7 +1182,7 @@
                 return objJsonResult;
             }
             //淇濆瓨涓昏〃
-            objJsonResult = AddBillMain(msg2);
+            objJsonResult = AddBillMain(msg1);
             if (objJsonResult.code == "0")
             {
                 oCN.RollBack();
@@ -1188,8 +1199,13 @@
             return objJsonResult;
         }
 
-        public json AddBillMain(string msg2)
+        public json AddBillMain(string msg1)
         {
+            string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
+            string msg2 = sArray[0].ToString();
+            string msg3 = sArray[1].ToString();//妯″潡鏉冮檺
+            string msg4 = sArray[2].ToString();//褰撳墠浜�
+            string msg5 = sArray[3].ToString();//瀛愯〃鏁版嵁
             try
             {
                 msg2 = "[" + msg2.ToString() + "]";
@@ -1244,7 +1260,8 @@
                 int HNowSupTypeID = mainList[0].HNowSupTypeID;
                 int HMadeSupID = mainList[0].HMadeSupID;
                 string HMouldClass = mainList[0].HMouldClass;
-
+                int HNowWHID = mainList[0].HNowWHID;
+                int HNowSPID = mainList[0].HNowSPID;
 
                 //涓昏〃
                 oCN.RunProc("Insert Into Gy_MouldFileMain   " +
@@ -1257,7 +1274,7 @@
                 ",HPrintQty,HMouldStatus,HWhID,HRoutingID,HCaveQty" +
                 ",HBomID,HVersion,HSPGroupID,HSPID,HDesignLife,HNowSupID,HNowSupTypeID" +
                 ",HUseLife,HLeaveLife,HProdQty,HProdWeight,HMouldOWNER,HSaveLife,HMouldDotCheckRuleInterID,HMouldMaintainRuleInterID,HBarCode,HMadeSupID" +
-                ",HMouldClass) " +
+                ",HMouldClass,HNowWHID,HNowSPID) " +
                 " values('" + BillType + "','" + BillType + "'," + HInterID + ",'" + HBillNo + "','" + HDate + "'" +
                 "," + HYear + "," + HPeriod + ",'" + HRemark + "','" + HMaker + "',getdate()" +
                 ",'" + HMouldNo + "','" + HName + "','" + HModel + "','" + HModel2 + "','" + HDiameter + "'" +
@@ -1267,8 +1284,7 @@
                 "," + HPrintQty + ",'" + HMouldStatus + "'," + HWHID + "," + HRoutingID + "," + HCaveQty +
                 "," + HBOMID + ",'" + HVersion + "'," + HSPGroupID + "," + HSPID + ",'" + HDesignLife + "','" + HNowSupID + "','" + HNowSupTypeID + "'" +
                 ",'" + HUseLife + "','" + HLeaveLife + "','" + HProdQty + "','" + HProdWeight + "','" + HMouldOWNER + "','" + HSaveLife + "','" + HMouldDotCheckRuleInterID + "','" + HMouldMaintainRuleInterID + "','" + HBarCode + "'," + HMadeSupID +
-                ",'"+ HMouldClass + "') ");
-
+                ",'"+ HMouldClass + "'," + HNowWHID + "," + HNowSPID + ") ");
 
                 //瀛愯〃
                 oCN.RunProc("Insert into Gy_MouldFileSub " +
@@ -1278,6 +1294,8 @@
                 " values('" + HInterID + "',0,''" +
                 ",0,0,'','',0,0 " +
                 ") ");
+
+                objJsonResult = AddBillSub(msg5,HInterID, HBillNo);
 
                 if (objJsonResult.code == "0")
                 {
@@ -1320,6 +1338,7 @@
             string msg2 = sArray[0].ToString();
             string msg3 = sArray[1].ToString();//妯″潡鏉冮檺
             string msg4 = sArray[2].ToString();//褰撳墠浜�
+            string msg5 = sArray[3].ToString();//瀛愯〃鏁版嵁
             try
             {
                 if (!DBUtility.ClsPub.Security_Log(msg3, 1, false, msg4))
@@ -1386,6 +1405,8 @@
                 int HNowSupTypeID = mainList[0].HNowSupTypeID;
                 int HMadeSupID = mainList[0].HMadeSupID;
                 string HMouldClass = mainList[0].HMouldClass;
+                int HNowWHID = mainList[0].HNowWHID;
+                int HNowSPID = mainList[0].HNowSPID;
 
                 //鑻AINDI閲嶅鍒欓噸鏂拌幏鍙�
                 oCN.BeginTran();
@@ -1440,13 +1461,19 @@
                 ",HProdWeight=" + HProdWeight.ToString() +
                 ",HBarCode='" + HBarCode.ToString() + "'" +
                 ",HMadeSupID=" + HMadeSupID +
+                ",HNowWHID=" + HNowWHID +
+                ",HNowSPID=" + HNowSPID +
                 " where HInterID=" + HInterID.ToString());
 
                 //淇敼瀛愰」鐩唬鐮�
                 //oCN.RunProc("exec h_p_Gy_UpdateNumber Gy_Department,'" + HNumber + ".','" + this.HOldNumber + ".'", ref DBUtility.ClsPub.sExeReturnInfo);
                 //灏嗕笂绾� 涓洪潪鏈骇
                 // oCN.RunProc("Update Gy_Department set HEndflag=0 where HItemID=" + HInterID, ref DBUtility.ClsPub.sExeReturnInfo);
-                //
+
+                oCN.RunProc("delete from Gy_MouldFileSub_SubMater where HInterID='" + HInterID + "'");
+
+                objJsonResult = AddBillSub(msg5, HInterID, HBillNo);
+
                 oCN.Commit();
                 objJsonResult.code = "1";
                 objJsonResult.count = 1;
@@ -1465,6 +1492,39 @@
             }
         }
 
+        public json AddBillSub(string msg5, long HInterID, string HBillNo)
+        {
+            List<Gy_MouldFileSub_SubMater> DetailColl = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Gy_MouldFileSub_SubMater>>(msg5);
+            int i = 0;                                          //浣滀负瀛愯〃鍐呯爜
+            foreach (Gy_MouldFileSub_SubMater oSub in DetailColl)
+            {
+                i++;                                            //鍚屼竴涓富琛ㄤ笅鐨勫瓙琛ㄧ殑鍐呯爜鑷
+
+                int HEntryID = i;
+                string HRemark = oSub.HRemark;
+                int HMouldFileID = oSub.HMouldFileID;
+                DateTime HUnionDate = oSub.HUnionDate;
+                            
+                string sql = "insert into Gy_MouldFileSub_SubMater" +
+                    "(HInterID,HBillNo_bak,HEntryID,HRemark,HMouldFileID,HUnionDate) " +
+                    "values(" +
+                    "" + HInterID +
+                    ",'" + HBillNo +
+                    "'," + HEntryID +
+                    ",'" + HRemark +
+                    "','" + HMouldFileID +
+                    "','" + HUnionDate +                   
+                    "')";
+
+                oCN.RunProc(sql);
+            }
+
+            objJsonResult.code = "1";
+            objJsonResult.count = 1;
+            objJsonResult.Message = null;
+            objJsonResult.data = null;
+            return objJsonResult;
+        }
 
         /// <summary>
         /// 纾ㄥ叿妗f淇敼鎸夐挳鏂规硶-璁$畻涓嬫淇濆吇/鏍℃鏃ユ湡-鑾峰彇妗f鏈�杩戜竴娆$殑淇濆吇璁板綍
@@ -1512,7 +1572,7 @@
         {
             try
             {
-                ds = oCN.RunProcReturn("select * from h_v_Gy_MouldFileList where hmainid=" + HInterID, "h_v_Gy_MouldFileList");
+                ds = oCN.RunProcReturn("select * from h_v_Gy_MouldFile_Edit where hmainid=" + HInterID, "h_v_Gy_MouldFile_Edit");
 
                 objJsonResult.code = "1";
                 objJsonResult.count = 1;
diff --git a/WebAPI/Controllers/BaseSet/Gy_ModelTypeController.cs b/WebAPI/Controllers/BaseSet/Gy_ModelTypeController.cs
index 475be3f..600e113 100644
--- a/WebAPI/Controllers/BaseSet/Gy_ModelTypeController.cs
+++ b/WebAPI/Controllers/BaseSet/Gy_ModelTypeController.cs
@@ -440,6 +440,108 @@
         }
         #endregion
 
-        
+        #region 鍣ㄥ叿鍒嗙被瀹℃牳/鍙嶅鏍�
+        [Route("Gy_MouldType/AuditGy_MouldType")]
+        [HttpGet]
+        public object AuditGy_MouldType(string HInterID, int Type, string user)
+        {
+            try
+            {
+                //鍒ゆ柇鏄惁鏈夊鏍告潈闄�
+                if (!DBUtility.ClsPub.Security_Log("Gy_MouldType_Check", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犳潈闄愬鏍�!";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                if (string.IsNullOrWhiteSpace(HInterID))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "HInterID涓虹┖锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                DAL.ClsGy_MouldType_Ctl oBill = new DAL.ClsGy_MouldType_Ctl();
+                ClsPub.CurUserName = user;
+                oCN.BeginTran();//寮�濮嬩簨鍔�
+
+                //Type 1 瀹℃牳  2  鍙嶅鏍�
+                if (Type == 1)
+                {
+                    //鍒ゆ柇鍗曟嵁鏄惁宸茬粡瀹℃牳
+                    DataSet ds;
+                    string sql = "select * from  Gy_MouldType  where HItemID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, oBill.MvarItemKey);
+                    if (ds.Tables[0].Rows[0]["HCheckEmp"] != null && ds.Tables[0].Rows[0]["HCheckEmp"].ToString() != "")
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鍗曟嵁宸插鏍�!涓嶈兘鍐嶆瀹℃牳锛�";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    //瀹℃牳鍗曟嵁
+                    if (!oBill.AuditByID2(Int64.Parse(HInterID), ref ClsPub.sExeReturnInfo))
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 1;
+                        objJsonResult.Message = "瀹℃牳澶辫触!鍘熷洜:" + ClsPub.sExeReturnInfo;
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                }
+
+                else
+                {
+                    //鍒ゆ柇鍗曟嵁鏄惁宸茬粡鍙嶅鏍�
+                    DataSet ds;
+                    string sql = "select * from  Gy_MouldType  where HItemID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, oBill.MvarItemKey);
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HCheckEmp"] == null || ds.Tables[0].Rows[0]["HCheckEmp"].ToString() == "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁鏈鏍�!涓嶉渶瑕佸弽瀹℃牳!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        //鍙嶅鏍稿崟鎹�
+                        if (!oBill.DeAuditByID2(Int64.Parse(HInterID), ref ClsPub.sExeReturnInfo))
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 1;
+                            objJsonResult.Message = "鍙嶅鏍稿け璐�!鍘熷洜:" + ClsPub.sExeReturnInfo;
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                }
+
+                oCN.Commit();//鎻愪氦浜嬪姟
+
+                objJsonResult.code = "0";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "鎵ц鎴愬姛锛�";
+                objJsonResult.data = null;
+                return objJsonResult; ;
+
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "鎵ц澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
     }
 }
diff --git a/WebAPI/Controllers/BaseSet/Gy_SourceController.cs b/WebAPI/Controllers/BaseSet/Gy_SourceController.cs
index 2b0e6a7..9ebd278 100644
--- a/WebAPI/Controllers/BaseSet/Gy_SourceController.cs
+++ b/WebAPI/Controllers/BaseSet/Gy_SourceController.cs
@@ -676,7 +676,7 @@
         {
             try
             {
-                string sql1 = string.Format("select hitemid,hnumber,hname from Gy_Source"+ sWhere + " order by hnumber");
+                string sql1 = string.Format("select hitemid,hnumber,hname,HUSEORGID from Gy_Source" + sWhere + " order by hnumber");
 
                 ds = oCN.RunProcReturn(sql1, "Gy_Source");
 
diff --git a/WebAPI/Controllers/CGGL/Cg_ContractBillController.cs b/WebAPI/Controllers/CGGL/Cg_ContractBillController.cs
new file mode 100644
index 0000000..608ac7e
--- /dev/null
+++ b/WebAPI/Controllers/CGGL/Cg_ContractBillController.cs
@@ -0,0 +1,1574 @@
+锘縰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.Web.Http;
+using WebAPI.Models;
+
+namespace WebAPI.Controllers
+{
+    //閲囪喘鍚堝悓Controller
+    public class Cg_ContractBillController : ApiController
+    {
+        //鑾峰彇绯荤粺鍙傛暟
+        Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();
+        public DBUtility.ClsPub.Enum_BillStatus BillStatus;
+        public DAL.ClsCg_ContractBill BillOld = new DAL.ClsCg_ContractBill();
+        private json objJsonResult = new json();
+        SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
+        DataSet ds;
+
+
+
+        #region 鑾峰彇鍚堝悓鍒楄〃
+        [Route("Cg_ContractBill/list")]
+        [HttpGet]
+        public object list(string sWhere, string user)
+        {
+            try
+            {
+                List<object> columnNameList = new List<object>();
+                //鍒ゆ柇鏄惁鏈夋煡璇㈡潈闄�
+
+                if (!DBUtility.ClsPub.Security_Log("Cg_ContractBill", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犳潈闄愭煡鐪�!";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                string sql = "select * from h_v_Cg_ContractBillAllList where 1 = 1 ";
+
+                if (sWhere == "" || sWhere == null)
+                {
+                    ds = oCN.RunProcReturn(sql + " order by hmainid desc", "h_v_Cg_ContractBillAllList");
+                }
+                else
+                {
+                    ds = oCN.RunProcReturn(sql + sWhere + " order by hmainid desc", "h_v_Cg_ContractBillAllList");
+                }
+
+                //鍒ゆ柇鏄惁鏈夐噰璐粡鐞嗘潈闄愶紙瀹夌憺锛�
+                //bool isCgjl = Security_Log("Cg_POOrderBill_PurchasManager", 1, true, user);
+                //if (!isCgjl)
+                //{
+                //    sWhere += $" and HEmpID in (select HEmpID from Gy_Czygl where Czymc='{user}' and HEmpID >0  )";
+                //}
+                //string sql = "select * from h_v_IF_POOrderBillList where 1 = 1 " + sWhere;
+                //ds = oCN.RunProcReturn(sql, "h_v_Cg_ContractBillList");
+
+                foreach (DataColumn col in ds.Tables[0].Columns)
+                {
+                    Type dataType = col.DataType;
+                    string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}";
+                    columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//鑾峰彇鍒癉ataColumn鍒楀璞$殑鍒楀悕
+                }
+
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "Sucess锛�";
+                objJsonResult.data = ds.Tables[0];
+                objJsonResult.list = columnNameList;
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "Exception锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+
+        #endregion
+
+        #region 閲囪喘鍚堝悓 淇濆瓨/缂栬緫鍔熻兘
+        [Route("Cg_ContractBill/ContractBillEdit")]
+        [HttpPost]
+        public object ContractBillEdit([FromBody] JObject sMainSub)
+        {
+            try
+            {
+                var _value = sMainSub["sMainSub"].ToString();
+                string msg1 = _value.ToString();
+                oCN.BeginTran();
+                //淇濆瓨涓昏〃
+                objJsonResult = AddBillMain(msg1);
+                if (objJsonResult.code == "0")
+                {
+                    oCN.RollBack();
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = objJsonResult.Message;
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                oCN.Commit();
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "鍗曟嵁淇濆瓨鎴愬姛锛�";
+                objJsonResult.data = null;
+                return objJsonResult;
+
+            }
+            catch (Exception e)
+            {
+                oCN.RollBack();
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "淇濆瓨澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        /// <summary>
+        /// 鏂板涓庢洿鏂板悎鍚�
+        /// </summary>
+        public json AddBillMain(string msg1)
+        {
+            string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
+            string msg2 = sArray[0].ToString(); //涓昏〃鏁版嵁
+            string msg3 = sArray[1].ToString(); //瀛愯〃鏁版嵁
+            string msg4 = sArray[2].ToString(); //瀛愯〃2鏁版嵁
+            int OperationType = int.Parse(sArray[3].ToString()); // 鏁版嵁绫诲瀷 1娣诲姞 3淇敼
+            string user = sArray[4].ToString();
+            string msg_allVal = sArray[4].ToString(); //涓昏〃+瀛愯〃鎵�鏈夋暟鎹�
+
+            try
+            {
+                msg2 = "[" + msg2.ToString() + "]";
+                List<ClsCg_ContractBillMain> mainList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<ClsCg_ContractBillMain>>(msg2);
+
+                long HInterID = mainList[0].HInterID;//閫掑叆type寰楀埌鐨勫崟鎹甀D
+                string HBillNo = mainList[0].HBillNo;//閫掑叆type寰楀埌鐨勫崟鎹彿
+                DateTime HDate = mainList[0].HDate;//鏃ユ湡
+                string HRemark = mainList[0].HRemark;//澶囨敞
+                long HSupID = mainList[0].HSupID;//渚涘簲鍟�
+                long HEmpID = mainList[0].HEmpID;//涓氬姟鍛�
+                long HDeptID = mainList[0].HDeptID;//閮ㄩ棬
+                long HCurID = mainList[0].HCurID;//甯佸埆
+                Single HExRate = (float)mainList[0].HExRate;//姹囩巼
+                long HSSID = mainList[0].HSSID;//缁撶畻鏂瑰紡
+                string HContractName = mainList[0].HContractName;//鍚堝悓鍚嶇О
+                DateTime HContractDate = mainList[0].HContractDate;//缁撶畻鏃ユ湡
+
+                string HMaker = user;//鍒跺崟浜�
+                string HAddress = mainList[0].HAddress;//浜よ揣鍦板潃
+                string HExplanation = mainList[0].HExplanation;//鎽樿
+                string HInnerBillNo = mainList[0].HInnerBillNo;//鍐呴儴鍗曟嵁鍙� 
+
+                List<ClsCg_ContractBillMain> mainList2 = Newtonsoft.Json.JsonConvert.DeserializeObject<List<ClsCg_ContractBillMain>>(msg2);
+                DateTime dt = DateTime.Now;
+                long HYear = mainList2[0].HYear == null ? 0 : mainList2[0].HYear;
+                long HPeriod = mainList2[0].HPeriod == null ? 0 : mainList2[0].HPeriod;
+                string HBillType = mainList2[0].HBillType == null ? "''" : mainList2[0].HBillType;
+                string HBillSubType = mainList2[0].HBillSubType == null ? "''" : mainList2[0].HBillSubType;
+                long HBillStatus = mainList2[0].HBillStatus == null ? 0 : mainList2[0].HBillStatus;
+                string HChecker = mainList2[0].HChecker == null ? "''" : mainList2[0].HChecker;
+                string HUpDater = mainList2[0].HUpDater == null ? "''" : mainList2[0].HUpDater;
+                string HCloseMan = mainList2[0].HCloseMan == null ? "''" : mainList2[0].HCloseMan;
+                string HDeleteMan = mainList2[0].HDeleteMan == null ? "''" : mainList2[0].HDeleteMan;
+                string HCheckDate = mainList2[0].HCheckDate == null ? "''" : mainList2[0].HCheckDate;
+                string HMakeDate = mainList2[0].HMakeDate == null ? "''" : mainList2[0].HMakeDate;
+                string HUpDateDate = mainList2[0].HUpDateDate == null ? "''" : mainList2[0].HUpDateDate;
+                string HDeleteDate = mainList2[0].HDeleteDate == null ? "''" : mainList2[0].HDeleteDate;
+
+
+                //杩涜 浼氳鏈熼棿 缁撹处 鐨勫垽鏂拰鎺у埗
+                string s = "";
+                int sYear = 0;
+                int sPeriod = 0;
+                if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(HDate, ref sYear, ref sPeriod, ref s) == false)
+                {
+                    objJsonResult.Message = s;
+                    return objJsonResult;
+                }
+
+                ds = oCN.RunProcReturn("select * from h_v_Cg_ContractBillList where hmainid=" + HInterID + " and 鍗曟嵁鍙�='" + HBillNo + "'", "h_v_Cg_ContractBillList");
+
+                if ((OperationType == 1 || OperationType == 2) && ds.Tables[0].Rows.Count == 0)//鏂板
+                {
+
+                    //淇濆瓨鍓嶆帶鍒�=========================================           
+                    ds = oCN.RunProcReturn("exec h_p_Cg_ContractBill_BeforeSaveCtrl  " + HInterID, "h_p_Cg_ContractBill_BeforeSaveCtrl ");
+                    if (ds == null || ds.Tables[0].Rows.Count == 0)
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "淇濆瓨鍓嶅垽鏂け璐ワ紒";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    if (DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBack"]) != "0")
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "淇濆瓨澶辫触锛�" + DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBackRemark"]);
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    //=========================================================
+                    DataSet Ds;
+                    Int64 NewHInterID = 1;
+                    Ds = oCN.RunProcReturn("select MAX(HInterID)HInterID from Cg_ContractBillMain", "Cg_ContractBillMain");
+                    if (Ds.Tables[0].Rows.Count != 0 && ClsPub.isLong(Ds.Tables[0].Rows[0]["HInterID"].ToString()) != 0)
+                    {
+                        NewHInterID = ClsPub.isLong(Ds.Tables[0].Rows[0]["HInterID"].ToString());
+                        NewHInterID += 1;
+                    }
+                    //涓昏〃
+                    oCN.RunProc(@"Insert Into Cg_ContractBillMain   
+                        (HInterID,HYear,HPeriod,HBillType,HBillSubType,HDate,HBillNo,HBillStatus
+	                    ,HRemark,HPrintQty
+	                    ,HMaker,HMakeDate
+                        ,HContractDate,HContractName,HAddress,HSSID,HSupID,HCurID,HExRate,HEmpID,HDeptID,HExplanation,HInnerBillNo
+                        )
+                        values(" + HInterID + "," + DateTime.Now.Year + "," + DateTime.Now.Month + ",'" + 1100 + "','" +
+                        1100 + "','" + HDate + "','" + HBillNo + "','" + HBillStatus + "','" +
+                        HRemark + "'," + 0 + ",'"+
+                        HMaker + "',getdate(),'" +
+                        HContractDate + "','" + HContractName + "','" + HAddress + "'," + HSSID + "," + HSupID + "," + HCurID + "," + HExRate + "," + HEmpID + "," + HDeptID + ",'" + HExplanation + "','" + HInnerBillNo + "'"+
+                        ")");
+                }
+                else if (OperationType == 3 || ds.Tables[0].Rows.Count != 0)
+                {
+                    //淇敼
+                    DataSet dss;
+                    dss = oCN.RunProcReturn("select * from h_v_Cg_ContractBillList where hmainid=" + HInterID + " and 鍗曟嵁鍙�='" + HBillNo + "'", "h_v_Cg_ContractBillList");
+                    //鍒ゆ柇鏄惁鍙紪杈�
+                    if (dss.Tables[0].Rows[0]["瀹℃牳浜�"].ToString() != "" && dss.Tables[0].Rows[0]["瀹℃牳浜�"] != null)
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "姝ゅ崟鎹凡缁忚瀹℃牳锛屼笉鍏佽淇敼锛�";
+                        objJsonResult.data = 1;
+                        return objJsonResult;
+                    }
+                    oCN.RunProc("update Cg_ContractBillMain  set " +
+                                "HRemark='" + HRemark + "', HUpDater='" + HMaker + "', HUpDateDate=getdate()" +
+                                 ",HSSID=" + HSSID + ",HSupID=" + HSupID + ",HCurID=" + HCurID
+                                 + ",HExRate=" + HExRate + ",HEmpID=" + HEmpID + ",HDeptID=" + HDeptID
+                                 + ",HAddress='" + HAddress + "',HContractName='" + HContractName + "',HContractDate= '"+ HContractDate
+                                 +  "' where HInterID=" + HInterID);
+
+                    //鍒犻櫎瀛愯〃
+                    oCN.RunProc("delete from Cg_ContractBillSub where HInterID='" + HInterID + "'");
+                    oCN.RunProc("delete from Cg_ContractBillScheme where HInterID='" + HInterID + "'");
+                }
+                //淇濆瓨瀛愯〃
+                objJsonResult = AddBillSubAndScheme(msg3,msg4,HInterID,HBillNo,OperationType);
+
+                if (objJsonResult.code == "0")
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = objJsonResult.Message;
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = null;
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "Exception锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        /// <summary>
+        /// 淇濆瓨椤电
+        /// </summary>
+        /// <param name="msg3">鐗╂枡鏄庣粏</param>
+        /// <param name="msg4">浠樻璁″垝</param>
+        /// <param name="HInterID">鍗曟嵁鍐呯爜</param>
+        /// <param name="OperationType"></param>
+        /// <param name="HBillNo">鍗曟嵁鍙�</param>
+        /// <returns></returns>
+        public json AddBillSubAndScheme(string msg3,string msg4, long HInterID,string HBillNo,int OperationType)
+        {
+            List<ClsCg_ContractBillSub> DetailColl = Newtonsoft.Json.JsonConvert.DeserializeObject<List<ClsCg_ContractBillSub>>(msg3);
+
+            List<ClsCg_ContractBillScheme> SchemeColl = Newtonsoft.Json.JsonConvert.DeserializeObject<List<ClsCg_ContractBillScheme>>(msg4);
+            int i = 0;
+            foreach (ClsCg_ContractBillSub oSub in DetailColl)
+            {
+                i++;
+                if (oSub.HQty <= 0 || oSub.HQty == 0)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "绗�" + i + "琛岋紝鏁伴噺涓嶈兘涓�0鎴栬�呭皬浜�0";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                if (oSub.HMaterID == 0)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "绗�" + i + "琛岋紝鐗╂枡涓嶈兘涓虹┖";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                //if (oSub.HSourceID == 0)
+                //{
+                //    objJsonResult.code = "0";
+                //    objJsonResult.count = 0;
+                //    objJsonResult.Message = "绗�" + i + "琛岋紝鐢熶骇璧勬簮涓嶈兘涓虹┖";
+                //    objJsonResult.data = null;
+                //    return objJsonResult;
+                //}
+
+                if (oSub.HUnitID == 0)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "绗�" + i + "琛岋紝璁¢噺鍗曚綅涓嶈兘涓虹┖";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                DataSet Cs;
+                Int64 NewHEntryID = 1;
+                Cs = oCN.RunProcReturn("select MAX(HEntryID)HEntryID from Cg_ContractBillSub", "Cg_ContractBillSub");
+                if (Cs.Tables[0].Rows.Count != 0 && ClsPub.isLong(Cs.Tables[0].Rows[0]["HEntryID"].ToString()) != 0)
+                {
+                    NewHEntryID = ClsPub.isLong(Cs.Tables[0].Rows[0]["HEntryID"].ToString());
+                    NewHEntryID += 1;
+                }
+
+                oCN.RunProc($@"Insert into Cg_ContractBillSub 
+                (HInterID,HBillNo_bak,HEntryID,HRemark,HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HRelationQty,HRelationMoney,
+                 HMaterID,HUnitID,HQty,HPrice,HMoney,HTaxRate,HTaxMoney,HlineTotal
+	            ) 
+                 values({HInterID},'{HBillNo}',{NewHEntryID},'{oSub.HRemark}',{oSub.HSourceInterID},{oSub.HSourceEntryID},'{oSub.HSourceBillNo}','{oSub.HSourceBillType}',{oSub.HRelationQty},{oSub.HRelationMoney}
+                ,{oSub.HMaterID},{oSub.HUnitID},{oSub.HQty},{oSub.HPrice},{oSub.HMoney},{oSub.HTaxRate},{oSub.HTaxMoney},{oSub.HPrice})");
+            }
+            i=0;
+            //浠樻璁″垝淇濆瓨
+            foreach (ClsCg_ContractBillScheme oSub in SchemeColl)
+            {
+                i++;
+                DataSet Cs;
+                Int64 NewHEntryID = 1;
+                Cs = oCN.RunProcReturn("select MAX(HEntryID)HEntryID from Cg_ContractBillScheme", "Cg_ContractBillScheme");
+                if (Cs.Tables[0].Rows.Count != 0 && ClsPub.isLong(Cs.Tables[0].Rows[0]["HEntryID"].ToString()) != 0)
+                {
+                    NewHEntryID = ClsPub.isLong(Cs.Tables[0].Rows[0]["HEntryID"].ToString());
+                    NewHEntryID += 1;
+                }
+
+                oCN.RunProc($@"Insert into Cg_ContractBillScheme
+                (HInterID,HBillNo_bak,HEntryID,HRemark,HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HRelationQty,HRelationMoney,
+                 HDate,HMoney,HCurID,HExRate) 
+                 values({HInterID},'{HBillNo}',{NewHEntryID},'{oSub.HRemark}',{oSub.HSourceInterID},{oSub.HSourceEntryID},'{oSub.HSourceBillNo}','{oSub.HSourceBillType}',{oSub.HRelationQty},{oSub.HRelationMoney}
+                ,'{oSub.HDate}',{oSub.HMoney},{oSub.HCurID},{oSub.HExRate})");
+            }
+            //淇濆瓨鍚庢帶鍒�=========================================              
+            ds = oCN.RunProcReturn("exec h_p_Cg_ContractBill_AfterSaveCtrl " + HInterID, "h_p_Cg_POOrderBill_AfterSaveCtrl");
+
+            if (ds == null || ds.Tables[0].Rows.Count == 0)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "淇濆瓨鍚庡垽鏂け璐ワ紒";
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+            if (DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBack"]) != "0")
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "淇濆瓨澶辫触锛�" + DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBackRemark"]);
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+            //=========================================================
+            objJsonResult.code = "1";
+            objJsonResult.count = 1;
+            objJsonResult.Message = null;
+            objJsonResult.data = null;
+            return objJsonResult;
+        }
+        #endregion
+
+        #region 鍒犻櫎
+        /// <summary>
+        ///鍒犻櫎鍔熻兘
+        /// </summary>
+        /// <returns></returns>
+        [Route("Cg_ContractBill/DeltetCg_ContractBill")]
+        [HttpGet]
+        public object DeltetCg_ContractBill(string HInterID, string user)
+        {
+            try
+            {
+
+                string HBillNo = "";
+                //鍒犻櫎鍓嶆帶鍒�=========================================      
+                string sql1 = "exec h_p_Cg_ContractBill_BeforeDelCtrl " + HInterID + ",'" + HBillNo + "','" + user + "'";
+                ds = oCN.RunProcReturn(sql1, "h_p_Cg_ContractBill_BeforeDelCtrl");
+                if (ds == null || ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "鍒犻櫎澶辫触!鍘熷洜:鍒犻櫎鍓嶅垽鏂け璐ワ紝璇蜂笌缃戠粶绠$悊浜哄憳鑱旂郴";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                if (ds.Tables[0].Rows[0]["HBack"].ToString() != "0")
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "鍒犻櫎澶辫触!鍘熷洜:" + ds.Tables[0].Rows[0]["HRemark"].ToString(); ;
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                //==================================================================================  
+                //杩涜 浼氳鏈熼棿 缁撹处 鐨勫垽鏂拰鎺у埗
+                string s = "";
+                int sYear = 0;
+                int sPeriod = 0;
+                DateTime HDate = DateTime.Now;
+                if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(HDate, ref sYear, ref sPeriod, ref s) == false)
+                {
+                    objJsonResult.Message = s;
+                    return objJsonResult;
+                }
+                string sReturn = "";
+                oCN.BeginTran();
+                oCN.RunProc("Delete From Cg_ContractBillMain where HInterID = " + HInterID);
+                oCN.RunProc("Delete From Cg_ContractBillSub where HInterID = " + HInterID);
+                oCN.RunProc("Delete From Cg_ContractBillScheme where HInterID = " + HInterID);
+                oCN.Commit();
+
+                //鍒犻櫎鍚庢帶鍒�==================================================================================
+                string sql2 = "exec h_p_Cg_ContractBill_AfterDelCtrl " + HInterID + ",'" + HBillNo + "','" + user + "'";
+                ds = oCN.RunProcReturn(sql2, "h_p_Cg_ContractBill_AfterDelCtrl");
+                if (ds == null || ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0)
+                {
+                    sReturn = "鍒犻櫎鍚庡垽鏂け璐ワ紝璇蜂笌缃戠粶绠$悊浜哄憳鑱旂郴";
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "鍒犻櫎澶辫触!鍘熷洜:" + sReturn;
+                    objJsonResult.data = null;
+                    oCN.RollBack();
+                    return objJsonResult;
+                }
+                if (ds.Tables[0].Rows[0]["HBack"].ToString() != "0")
+                {
+                    sReturn = ds.Tables[0].Rows[0]["HRemark"].ToString();
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "鍒犻櫎澶辫触!鍘熷洜:" + sReturn;
+                    objJsonResult.data = null;
+                    oCN.RollBack();
+                    return objJsonResult;
+                }
+                //==============================================================================================
+
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "鍒犻櫎鎴愬姛锛�";
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                oCN.RollBack();
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "Exception锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 鏍规嵁鍩虹璧勬枡ID 鏌ユ壘璁板綍(鍔犺浇琛ㄧ敤)
+        /// <summary>
+        /// 鏍规嵁鍩虹璧勬枡ID 鏌ユ壘璁板綍
+        ///鍙傛暟锛歴tring sql銆�
+        ///杩斿洖鍊硷細object銆�
+        /// </summary>
+        [Route("Cg_ContractBill/cx")]
+        [HttpGet]
+        public object cx(long HInterID)
+        {
+            try
+            {
+
+                ds = oCN.RunProcReturn("select * from h_v_Cg_ContractBillAllList where hmainid =" + HInterID, "h_v_Cg_ContractBillAllList");
+                if (ds == null || ds.Tables[0].Rows.Count == 0)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "false锛�";
+                    objJsonResult.data = null;
+                    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;
+            }
+        }
+        #endregion
+
+
+        #region 鏍规嵁鐗╂枡鍐呯爜鑾峰彇鐗╂枡淇℃伅
+        [Route("Cg_ContractBill/getMaterialByMaterID")]
+        [HttpGet]
+        public ApiResult<DataTable> getMaterialByMaterID(Int64 HMaterID)
+        {
+            SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
+
+            string sql = "select a.HItemID HMaterID,a.HNumber HMaterNumber,a.HName HMaterName,a.HMaterRuleType,a.HModel HMaterModel,a.HUnitID, b.HNumber HUnitNumber, b.HName HUnitName" +
+                " from Gy_Material AS a " +
+                " LEFT OUTER JOIN Gy_Unit AS b on a.HUnitID = b.HItemID " +
+                " where a.HItemID =" + HMaterID;
+
+            var dataSet = oCN.RunProcReturn(sql, "Gy_Material");
+
+
+            if (dataSet == null || dataSet.Tables[0].Rows.Count == 0)
+                return new ApiResult<DataTable> { code = -1, msg = "涓嶅瓨鍦ㄨ鐗╂枡" };
+
+            return new ApiResult<DataTable> { code = 1, msg = "鏌ヨ鎴愬姛", data = dataSet.Tables[0] };
+        }
+        #endregion
+
+        #region 閲囪喘璁㈠崟 瀹℃牳/鍙嶅鏍�
+        /// <summary>
+        /// </summary>
+        /// <param name="HInterID">鍗曟嵁ID</param>
+        /// <param name="IsAudit">瀹℃牳(0),鍙嶅鏍�(1)</param>
+        /// <param name="CurUserName">瀹℃牳浜�</param>
+        /// <returns></returns>
+        [Route("Cg_ContractBill/AuditCg_ContractBill")]
+        [HttpGet]
+        public object AuditCg_ContractBill(int HInterID, int IsAudit, string CurUserName)
+        {
+            string ModRightNameCheck = "Cg_ContractBill_Check";
+            DBUtility.ClsPub.CurUserName = CurUserName;
+            try
+            {
+                //瀹℃牳鏉冮檺
+                if (!DBUtility.ClsPub.Security_Log_second(ModRightNameCheck, 1, false, CurUserName))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "瀹℃牳澶辫触锛佹棤鏉冮檺锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                //HInterID鏁版嵁鍒ゆ柇
+                if (HInterID <= 0)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "HInterID灏忎簬0锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+
+                Int64 lngBillKey = 0;
+                lngBillKey = DBUtility.ClsPub.isLong(HInterID);                                         //瀵笻InterID杩涜绫诲瀷鐨勮浆鎹�
+                DAL.ClsCg_ContractBill oBill = new DAL.ClsCg_ContractBill();                              //瀹炰緥鍖栧崟鎹搷浣滅被锛岀敤浜庤繘琛岀浉鍏虫搷浣�
+
+                //閽堝闇�瑕佽繘琛岀殑鎿嶄綔锛屾楠屽綋鍓嶅崟鎹殑鐘舵�佹槸鍚︽敮鎸侀渶瑕佽繘琛岀殑鎿嶄綔
+                if (oBill.ShowBill(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo))                    //鏍规嵁HInterID鑾峰彇璇ュ崟鎹殑鏁版嵁
+                {
+                    if (oBill.omodel.HCloseMan.Trim() != "")
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鍗曟嵁宸插叧闂�!涓嶈兘鍐嶆瀹℃牳锛�";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    if (oBill.omodel.HDeleteMan.Trim() != "")
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鍗曟嵁宸蹭綔搴�!涓嶈兘鍐嶆瀹℃牳锛�";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    if (IsAudit == 0)  //瀹℃牳鍒ゆ柇
+                    {
+                        if (oBill.omodel.HChecker.Trim() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插鏍�!涓嶈兘鍐嶆瀹℃牳锛�";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                    if (IsAudit == 1) //鍙嶅鏍稿垽鏂�
+                    {
+                        if (oBill.omodel.HChecker.Trim() == "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁鏈鏍�!涓嶉渶瑕佸弽瀹℃牳!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                }
+                else
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鍗曟嵁涓嶅瓨鍦�!鍘熷洜:" + DBUtility.ClsPub.sExeReturnInfo;
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+
+                //杩涜闇�瑕佽繘琛岀殑瀹℃牳/鍙嶅鏍告搷浣�
+                if (IsAudit == 0) //瀹℃牳鎻愪氦
+                {
+
+                    //瀹℃牳鍓嶆帶鍒�=========================================      
+                    string sql1 = "exec h_p_Cg_ContractBill_BeforeCheckCtrl " + oBill.omodel.HInterID + ",'" + oBill.omodel.HBillNo + "','" + CurUserName + "'";
+                    ds = oCN.RunProcReturn(sql1, "h_p_Cg_ContractBill_BeforeCheckCtrl");
+                    if (ds == null || ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0)
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 1;
+                        objJsonResult.Message = "瀹℃牳澶辫触!鍘熷洜:瀹℃牳鍓嶅垽鏂け璐ワ紝璇蜂笌缃戠粶绠$悊浜哄憳鑱旂郴";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+
+                    if (ds.Tables[0].Rows[0]["HBack"].ToString() != "0")
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 1;
+                        objJsonResult.Message = "瀹℃牳澶辫触!鍘熷洜:" + ds.Tables[0].Rows[0]["HRemark"].ToString(); ;
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    //==================================================================================      
+
+                    //瀹℃牳鎻愪氦
+                    if (oBill.CheckBill(oBill.omodel.HInterID, oBill.omodel.HBillNo, "h_p_Cg_ContractBill_AfterCheckCtrl", CurUserName, ref DBUtility.ClsPub.sExeReturnInfo) == true)
+                    {
+                        objJsonResult.code = "1";
+                        objJsonResult.count = 1;
+                        objJsonResult.Message = "瀹℃牳鎴愬姛";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    else
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "瀹℃牳澶辫触!鍘熷洜:" + DBUtility.ClsPub.sExeReturnInfo;
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                }
+                if (IsAudit == 1) //鍙嶅鏍告彁浜�
+                {
+                    //鍙嶅鏍稿墠鎺у埗=========================================
+                    DataSet ds = oCN.RunProcReturn("Exec h_p_Cg_ContractBill_BeforeUnCheckCtrl " + oBill.omodel.HInterID + ",'" + oBill.omodel.HBillNo + "','" + CurUserName + "'", "h_p_Cg_ContractBill_BeforeUnCheckCtrl");
+                    if (ds == null)
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鍙嶅鏍稿け璐�!鍘熷洜:" + "鍙嶅鏍稿墠鍒ゆ柇澶辫触锛�";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    if (DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBack"]) != "0")
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鍙嶅鏍稿け璐�!鍘熷洜:" + DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBackRemark"]);
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    //=========================================================
+
+                    //鍙嶅鏍告彁浜bandonCheck
+                    if (oBill.AbandonCheck(oBill.omodel.HInterID, oBill.omodel.HBillNo, "h_p_Cg_ContractBill_AfterUnCheckCtrl", CurUserName, ref DBUtility.ClsPub.sExeReturnInfo) == true)
+                    {
+                        objJsonResult.code = "1";
+                        objJsonResult.count = 1;
+                        objJsonResult.Message = "鍙嶅鏍告垚鍔�";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    else
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鍙嶅鏍稿け璐�!鍘熷洜:" + DBUtility.ClsPub.sExeReturnInfo;
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                }
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "瀹℃牳澶辫触鎴栬�呭弽瀹℃牳澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 閲囪喘璁㈠崟 鍏抽棴/鍙嶅叧闂姛鑳�
+        [Route("Cg_ContractBill/CloseCg_ContractBill")]
+        [HttpGet]
+        public object CloseCg_ContractBill(string HInterID, int Type, string user)
+        {
+            try
+            {
+                //鍒ゆ柇鏄惁鏈夊垹闄ゆ潈闄�
+                if (!DBUtility.ClsPub.Security_Log("Cg_ContractBill_Close", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犳潈闄愬叧闂�!";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                if (string.IsNullOrWhiteSpace(HInterID))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "HInterID涓虹┖锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                ClsPub.CurUserName = user;
+                BillOld.MvarItemKey = "Cg_ContractBillMain";
+                oCN.BeginTran();//寮�濮嬩簨鍔�
+
+                //Type 1 鍏抽棴  2  鍙嶅叧闂�
+                if (Type == 1)
+                {
+                    //鍒ゆ柇鍗曟嵁鏄惁宸茬粡鍏抽棴
+                    DataSet ds;
+                    string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
+                    if (ds == null || ds.Tables[0].Rows.Count == 0)
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鍗曟嵁涓嶅瓨鍦紒";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HDeleteMan"] != null && ds.Tables[0].Rows[0]["HDeleteMan"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸蹭綔搴�!涓嶈兘杩涜鍏抽棴!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        if (ds.Tables[0].Rows[0]["HChecker"] == null || ds.Tables[0].Rows[0]["HChecker"].ToString() == "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁鏈鏍�!涓嶈兘杩涜鍏抽棴!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+
+                        if (ds.Tables[0].Rows[0]["HCloseMan"] != null && ds.Tables[0].Rows[0]["HCloseMan"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插叧闂�!涓嶈兘鍐嶆鍏抽棴!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        //鍏抽棴鍗曟嵁
+                        if (!BillOld.CloseBill(Int64.Parse(HInterID), ref ClsPub.sExeReturnInfo))
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 1;
+                            objJsonResult.Message = "鍏抽棴澶辫触!鍘熷洜:" + ClsPub.sExeReturnInfo;
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                }
+                else
+                {
+                    //鍒ゆ柇鍗曟嵁鏄惁宸茬粡鍙嶅叧闂�
+                    DataSet ds;
+                    string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HDeleteMan"] != null && ds.Tables[0].Rows[0]["HDeleteMan"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸蹭綔搴�!涓嶈兘杩涜鍏抽棴!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        if (ds.Tables[0].Rows[0]["HChecker"] == null || ds.Tables[0].Rows[0]["HChecker"].ToString() == "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁鏈鏍�!涓嶈兘杩涜鍏抽棴!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        if (ds.Tables[0].Rows[0]["HCloseMan"] == null || ds.Tables[0].Rows[0]["HCloseMan"].ToString() == "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁鏈叧闂�!涓嶉渶瑕佸啀鍙嶅叧闂�!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        //鍙嶅叧闂崟鎹�
+                        if (!BillOld.CancelClose(Int64.Parse(HInterID), ref ClsPub.sExeReturnInfo))
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 1;
+                            objJsonResult.Message = "鍙嶅叧闂け璐�!鍘熷洜:" + ClsPub.sExeReturnInfo;
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                }
+
+                oCN.Commit();//鎻愪氦浜嬪姟
+
+                objJsonResult.code = "0";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "鎵ц鎴愬姛锛�";
+                objJsonResult.data = null;
+                return objJsonResult; ;
+
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "鎵ц澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 閲囪喘璁㈠崟 琛屽叧闂�/琛屽弽鍏抽棴锛堟湭瀹屽杽锛�
+        /// <summary>
+        /// </summary>
+        /// <param name="HInterID">鍗曟嵁ID</param>
+        /// <param name="HEntryID2">瀛愬唴鐮佷粯娆捐鍒�</param>
+        /// <param name="HEntryID">瀛愬唴鐮佺墿鏂欐槑缁�</param>
+        /// <param name="IsAudit">鍏抽棴(0),鍙嶅叧闂�(1)</param>
+        /// <param name="CurUserName">鍏抽棴浜�</param>
+        /// <returns></returns>
+        [Route("Cg_ContractBill/CloseRowCg_ContractBill")]
+        [HttpGet]
+        public object CloseRowCg_ContractBill(int HInterID, int HEntryID,int HEntryID2, int IsAudit, string CurUserName)
+        {
+            string ModRightNameCheck = "Cg_ContractBill_Close";
+            string SubBillName = "Cg_ContractBillSub";
+            string SchemeBillName = "Cg_ContractBillScheme";   //瀛愯〃琛ㄥ悕
+            DBUtility.ClsPub.CurUserName = CurUserName;
+            DataSet ds = null;
+            try
+            {
+                //妫�鏌ユ潈闄�
+                if (!DBUtility.ClsPub.Security_Log_second(ModRightNameCheck, 1, false, CurUserName))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "琛屽叧闂け璐ワ紒鏃犳潈闄愶紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                //HInterID鏁版嵁鍒ゆ柇
+                if (HInterID <= 0)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "HInterID灏忎簬0锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                Int64 lngBillKey = 0;
+                lngBillKey = DBUtility.ClsPub.isLong(HInterID);                                         //瀵笻InterID杩涜绫诲瀷鐨勮浆鎹�
+                DAL.ClsCg_ContractBill oBill = new DAL.ClsCg_ContractBill();              //瀹炰緥鍖栧崟鎹搷浣滅被锛岀敤浜庤繘琛岀浉鍏虫搷浣�
+
+                //閽堝闇�瑕佽繘琛岀殑鎿嶄綔锛屾楠屽綋鍓嶅崟鎹殑鐘舵�佹槸鍚︽敮鎸侀渶瑕佽繘琛岀殑鎿嶄綔
+                if (oBill.ShowBill(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo))                    //鏍规嵁HInterID鑾峰彇璇ュ崟鎹殑鏁版嵁
+                {
+                    //鍒ゆ柇鍗曟嵁鏉′欢
+                    if (oBill.omodel.HDeleteMan.Trim() != "")
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鍗曟嵁宸蹭綔搴�!涓嶈兘杩涜琛屽叧闂紒";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    if (oBill.omodel.HCloseMan.Trim() != "")
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鍗曟嵁宸插叧闂�!涓嶈兘杩涜琛屽叧闂紒";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    if (oBill.omodel.HChecker.Trim() == "")
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鍗曟嵁鏈鏍�!涓嶈兘杩涜琛屽叧闂紒";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    //鍒ゆ柇鐗╂枡鏄庣粏琛ㄦ潯浠�
+                    string sql = "select * from " + SubBillName + " where HInterID = " + HInterID + " and HEntryID = " + HEntryID;
+                    ds = oCN.RunProcReturn(sql, "Cg_ContractBillSub");
+                    if (ds == null || ds.Tables[0].Rows.Count == 0)
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "璇ョ墿鏂欒鏁版嵁涓嶅瓨鍦�!鍘熷洜:" + DBUtility.ClsPub.sExeReturnInfo;
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    if (IsAudit == 0)  //琛屽叧闂垽鏂�
+                    {
+                        if (ds.Tables[0].Rows[0]["HCloseMan"].ToString().Trim() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鐗╂枡琛屽凡鍏抽棴!涓嶈兘鍐嶆琛屽叧闂紒";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                    if (IsAudit == 1) //琛屽弽鍏抽棴鍒ゆ柇
+                    {
+                        if (ds.Tables[0].Rows[0]["HCloseMan"].ToString().Trim() == "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鐗╂枡琛屾湭鍏抽棴!涓嶉渶瑕佸啀琛屽弽鍏抽棴锛�";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+
+                        //鍒ゆ柇琛屾槸鍚︿负鑷姩鍏抽棴
+                        string temp = ds.Tables[0].Rows[0]["HCloseType"].ToString();
+                        if (ds.Tables[0].Rows[0]["HCloseType"].ToString() == "False")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鐗╂枡琛屽弽鍏抽棴澶辫触!琛屼负鑷姩鍏抽棴锛屼笉鑳借繘琛屾墜鍔ㄥ弽鍏抽棴锛�";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                    //鍒ゆ柇浠樻璁″垝琛ㄦ潯浠�
+                    sql = "select * from " + SchemeBillName + " where HInterID = " + HInterID + " and HEntryID = " + HEntryID2;
+                    ds = oCN.RunProcReturn(sql, "Cg_ContractBillScheme");
+                    if (ds == null || ds.Tables[0].Rows.Count == 0)
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "璇ヨ鍒掕鏁版嵁涓嶅瓨鍦�!鍘熷洜:" + DBUtility.ClsPub.sExeReturnInfo;
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    if (IsAudit == 0)  //琛屽叧闂垽鏂�
+                    {
+                        if (ds.Tables[0].Rows[0]["HCloseMan"].ToString().Trim() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "璁″垝琛屽凡鍏抽棴!涓嶈兘鍐嶆琛屽叧闂紒";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                    if (IsAudit == 1) //琛屽弽鍏抽棴鍒ゆ柇
+                    {
+                        if (ds.Tables[0].Rows[0]["HCloseMan"].ToString().Trim() == "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "璁″垝琛屾湭鍏抽棴!涓嶉渶瑕佸啀琛屽弽鍏抽棴锛�";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+
+                        //鍒ゆ柇琛屾槸鍚︿负鑷姩鍏抽棴
+                        string temp = ds.Tables[0].Rows[0]["HCloseType"].ToString();
+                        if (ds.Tables[0].Rows[0]["HCloseType"].ToString() == "False")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "璁″垝琛屽弽鍏抽棴澶辫触!琛屼负鑷姩鍏抽棴锛屼笉鑳借繘琛屾墜鍔ㄥ弽鍏抽棴锛�";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                }
+                else
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鍗曟嵁涓嶅瓨鍦�!鍘熷洜:" + DBUtility.ClsPub.sExeReturnInfo;
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                oCN.BeginTran();//寮�鍚簨鍔�
+                //杩涜闇�瑕佽繘琛岀殑琛屽叧闂�/琛屽弽鍏抽棴鎿嶄綔
+                if (IsAudit == 0) //琛屽叧闂彁浜�
+                {
+                    //琛屽叧闂彁浜�
+                    if (oBill.CloseRow(lngBillKey, HEntryID, HEntryID2, oBill.omodel.HBillNo, CurUserName, ref DBUtility.ClsPub.sExeReturnInfo) == true)
+                    {
+                        objJsonResult.code = "1";
+                        objJsonResult.count = 1;
+                        objJsonResult.Message = "琛屽叧闂垚鍔�";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    else
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "琛屽叧闂け璐�!鍘熷洜:" + DBUtility.ClsPub.sExeReturnInfo;
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                }
+                if (IsAudit == 1) //琛屽弽鍏抽棴鎻愪氦
+                {
+                    //琛屽弽鍏抽棴鎻愪氦
+                    if (oBill.CancelRow(lngBillKey, HEntryID, HEntryID2, oBill.omodel.HBillNo, CurUserName, ref DBUtility.ClsPub.sExeReturnInfo) == true)
+                    {
+                        objJsonResult.code = "1";
+                        objJsonResult.count = 1;
+                        objJsonResult.Message = "鍙嶅叧闂垚鍔�";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    else
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鍙嶅叧闂け璐�!鍘熷洜:" + DBUtility.ClsPub.sExeReturnInfo;
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                }
+                oCN.Commit();
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "鍏抽棴澶辫触鎴栬�呭弽鍏抽棴澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 閲囪喘璁㈠崟 浣滃簾/鍙嶄綔搴熷姛鑳�
+        [Route("Cg_ContractBill/DropCg_ContractBill")]
+        [HttpGet]
+        public object DropCg_ContractBill(string HInterID, int Type, string user)
+        {
+            try
+            {
+                //鍒ゆ柇鏄惁鏈変綔搴熸潈闄�
+                if (!DBUtility.ClsPub.Security_Log("Cg_ContractBill_Drop", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犳潈闄愪綔搴�!";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                if (string.IsNullOrWhiteSpace(HInterID))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "HInterID涓虹┖锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                ClsPub.CurUserName = user;
+                BillOld.MvarItemKey = "Cg_ContractBillMain";
+                oCN.BeginTran();//寮�濮嬩簨鍔�
+
+                //Type 1 浣滃簾  2  鍙嶄綔搴�
+                if (Type == 1)
+                {
+                    //鍒ゆ柇鍗曟嵁鏄惁宸茬粡浣滃簾
+                    DataSet ds;
+                    string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
+                    if (ds == null || ds.Tables[0].Rows.Count == 0)
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鍗曟嵁涓嶅瓨鍦紒";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HChecker"] != null && ds.Tables[0].Rows[0]["HChecker"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插鏍�!涓嶈兘杩涜浣滃簾!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        if (ds.Tables[0].Rows[0]["HDeleteMan"] != null && ds.Tables[0].Rows[0]["HDeleteMan"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸蹭綔搴�!涓嶉渶瑕佸啀浣滃簾!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        //浣滃簾鍗曟嵁
+                        if (!BillOld.Cancelltion(Int64.Parse(HInterID), ref ClsPub.sExeReturnInfo))
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 1;
+                            objJsonResult.Message = "浣滃簾澶辫触!鍘熷洜:" + ClsPub.sExeReturnInfo;
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                }
+                else
+                {
+                    //鍒ゆ柇鍗曟嵁鏄惁宸茬粡鍙嶄綔搴�
+                    DataSet ds;
+                    string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HChecker"] != null && ds.Tables[0].Rows[0]["HChecker"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插鏍�!涓嶈兘杩涜浣滃簾!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        if (ds.Tables[0].Rows[0]["HDeleteMan"] == null || ds.Tables[0].Rows[0]["HDeleteMan"].ToString() == "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁鏈綔搴�!涓嶉渶瑕佸啀鍙嶄綔搴�!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        //鍙嶄綔搴熷崟鎹�
+                        if (!BillOld.AbandonCancelltion(Int64.Parse(HInterID), ref ClsPub.sExeReturnInfo))
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 1;
+                            objJsonResult.Message = "鍙嶄綔搴熷け璐�!鍘熷洜:" + ClsPub.sExeReturnInfo;
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                }
+
+                oCN.Commit();//鎻愪氦浜嬪姟
+
+                objJsonResult.code = "0";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "鎵ц鎴愬姛锛�";
+                objJsonResult.data = null;
+                return objJsonResult; ;
+
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "鎵ц澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region [鍚屾鍗曟嵁鏈疄鐜帮紙宸叉敞閲婏級]
+        //[Route("Cg_ContractBill/Cg_ContractBillViewApi")]
+        //[HttpGet]
+        //public json Cg_ContractBillViewApi(string BillNo, string BillType)
+        //{
+        //    string sql = string.Empty;
+        //    string sReturn = "";
+        //    if (oSystemParameter.ShowBill(ref sReturn) == true)
+        //    {
+        //        //绯荤粺鍙傛暟鏄惁涓虹鏈変簯妯″紡,N涓哄叕鏈変簯妯″紡锛孻涓虹鏈変簯妯″紡
+        //        if (oSystemParameter.omodel.WMS_CloudMode == "Y")
+        //        {
+        //            #region [绉佹湁浜戞ā寮忥紝鐩存帴璋冪敤鏁版嵁搴撳瓨鍌ㄨ繃绋嬫洿鏂癩
+        //            try
+        //            {
+        //                oCN.BeginTran();
+        //                SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
+        //                DataSet DS = oCn.RunProcReturn("exec h_p_WMS_ERPSourceBillToLocal '" + BillNo + "','" + BillType + "'", "h_p_WMS_ERPSourceBillToLocal");
+        //                if (DS == null)
+        //                {
+        //                    objJsonResult.code = "0";
+        //                    objJsonResult.count = 0;
+        //                    objJsonResult.Message = "鍗曟嵁鍚屾澶辫触";
+        //                    objJsonResult.data = null;
+        //                    return objJsonResult;
+        //                }
+        //                else
+        //                {
+        //                    if (DBUtility.ClsPub.isStrNull(DS.Tables[0].Rows[0]["HBack"]) == "2")
+        //                    {
+        //                        objJsonResult.code = "0";
+        //                        objJsonResult.count = 0;
+        //                        objJsonResult.Message = "ERP涓笉瀛樺湪璇ュ崟鎹彿";
+        //                        objJsonResult.data = null;
+        //                        return objJsonResult;
+        //                    }
+        //                    else
+        //                    {
+        //                        objJsonResult.code = "1";
+        //                        objJsonResult.count = 1;
+        //                        objJsonResult.Message = "鍗曟嵁鍚屾鎴愬姛";
+        //                        objJsonResult.data = null;
+        //                        return objJsonResult;
+        //                    }
+        //                }
+
+        //            }
+        //            catch (Exception e)
+        //            {
+        //                objJsonResult.code = "0";
+        //                objJsonResult.count = 0;
+        //                objJsonResult.Message = "Exception锛�" + e.ToString();
+        //                objJsonResult.data = null;
+        //                return objJsonResult;
+        //            }
+        //            #endregion
+        //        }
+        //        else
+        //        {
+        //            #region [鍏湁浜戞ā寮忥紝璋冪敤WEBAPI鐨勬柟寮忚繘琛屾洿鏂癩
+        //            var json = new
+        //            {
+        //                CreateOrgId = 0,
+        //                Number = BillNo,
+        //                Id = ""
+        //            };
+        //            #region [閲戣澏閮ㄥ垎]
+        //            //鐧诲綍閲戣澏
+        //            var loginRet = InvokeHelper.Login();
+        //            var isSuccess = JObject.Parse(loginRet)["LoginResultType"].Value<int>();
+        //            //鍒ゆ柇鏄惁鐧诲綍鎴愬姛
+        //            if (isSuccess < 0)
+        //            {
+        //                objJsonResult.code = "0";
+        //                objJsonResult.count = 0;
+        //                objJsonResult.Message = loginRet;
+        //                objJsonResult.data = null;
+        //                return objJsonResult;
+        //            }
+        //            //鏌ョ湅 鑾峰彇鏁版嵁                    
+        //            var _result = InvokeHelper.View("PUR_PurchaseOrder", JsonConvert.SerializeObject(json));
+        //            var _saveObj = JObject.Parse(_result);
+        //            //鍒ゆ柇鏁版嵁鏄惁鑾峰彇鎴愬姛
+        //            if (_saveObj["Result"]["ResponseStatus"]["IsSuccess"].ToString().ToUpper() != "TRUE")
+        //            {
+        //                objJsonResult.code = "0";
+        //                objJsonResult.count = 0;
+        //                objJsonResult.Message = "閲戣澏閲囪喘璁㈠崟鍚屾澶辫触jsonRoot锛�" + _result;
+        //                objJsonResult.data = null;
+        //                return objJsonResult;
+        //            }
+
+        //            #endregion
+        //            //鑾峰彇涓昏〃鏁版嵁
+        //            DataSet Ds;
+        //            Int64 InterID = 0;
+        //            Ds = oCN.RunProcReturn("select * from Cg_ContractBillMain where HBillNo = '" + BillNo + "'", "Cg_ContractBillMain");
+        //            if (Ds.Tables[0].Rows.Count != 0 && ClsPub.isLong(Ds.Tables[0].Rows[0]["HInterID"].ToString()) != 0)
+        //            {
+        //                InterID = ClsPub.isLong(Ds.Tables[0].Rows[0]["HInterID"].ToString());
+        //            }
+
+        //            #region [涓昏〃鏁版嵁璧嬪�糫
+        //            var jsonData = new
+        //            {
+        //                HInterID = _saveObj["Result"]["Result"]["Id"],
+        //                HYear = DateTime.Now.Year,
+        //                HPeriod = DateTime.Now.Month,
+        //                HBillType = 1100,
+        //                HBillSubType = 1100,
+        //                HDate = _saveObj["Result"]["Result"]["Date"],
+        //                HBillNo = _saveObj["Result"]["Result"]["BillNo"],
+        //                HBillStatus = _saveObj["Result"]["Result"]["ApproverId_Id"].ToString() == Convert.ToString(0) ? 1 : 2,
+        //                HAddress = "",
+        //                HSSID = 0,
+        //                HSSDate = _saveObj["Result"]["Result"]["Date"],
+        //                HPSStyleID = 0,
+        //                HSupID = _saveObj["Result"]["Result"]["SupplierId_Id"],
+        //                HCurID = 0,
+        //                HExRate = 0,
+        //                HEmpID = _saveObj["Result"]["Result"]["PurchaserId_Id"],
+        //                HManagerID = 0,
+        //                HDeptID = _saveObj["Result"]["Result"]["PurchaseDeptId_Id"],
+        //                HExplanation = "CLOUD瀵煎叆",
+        //                HRemark = "CLOUD瀵煎叆",
+        //                HInnerBillNo = _saveObj["Result"]["Result"]["BillNo"],
+        //                HChecker = _saveObj["Result"]["Result"]["ApproverId"]["Name"],
+        //                HCheckDate = _saveObj["Result"]["Result"]["ApproveDate"],
+        //                HMaker = _saveObj["Result"]["Result"]["CreatorId"]["Name"],
+        //                HMakeDate = _saveObj["Result"]["Result"]["CreateDate"],
+        //                HERPInterID = _saveObj["Result"]["Result"]["Id"],
+        //                HERPBillType = _saveObj["Result"]["Result"]["BillTypeId_Id"],
+        //                HPURCHASEORGID = _saveObj["Result"]["Result"]["PurchaseOrgId_Id"],
+        //                HPURCHASERGROUPID = _saveObj["Result"]["Result"]["PurchaserGroupId_Id"],
+        //                HPROVIDERID = _saveObj["Result"]["Result"]["ProviderId_Id"],
+        //                HSETTLEID = _saveObj["Result"]["Result"]["SettleId_Id"],
+        //                HCHARGEID = _saveObj["Result"]["Result"]["ChargeId_Id"],
+        //                HBUSINESSTYPE = _saveObj["Result"]["Result"]["BusinessType"],
+        //                HPROVIDERADDRESS = _saveObj["Result"]["Result"]["ProviderAddress"],
+        //                HCORRESPONDORGID = _saveObj["Result"]["Result"]["CorrespondOrgId_Id"],
+        //                HPROVIDERCONTACTID = _saveObj["Result"]["Result"]["ProviderContactId_Id"]
+        //            };
+        //            #endregion
+        //            // 鍒犻櫎涓昏〃瀵瑰簲鏁版嵁
+        //            sql = $"delete from Cg_ContractBillMain where HInterID = " + InterID;
+        //            oCN.RunProc(sql);
+
+        //            //鎻掑叆涓昏〃
+        //            sql = $@"
+        //        insert into Cg_ContractBillMain
+        //        (HInterID,HYear,HPeriod,HBillType,HBillSubType,HDate
+	       //     ,HBillNo,HBillStatus,HAddress,HSSID,HSSDate,HPSStyleID
+	       //     ,HSupID,HCurID,HExRate,HEmpID,HManagerID,HDeptID
+	       //     ,HExplanation,HRemark,HInnerBillNo
+	       //     ,HChecker,HCheckDate,HMaker,HMakeDate
+	       //     ,HERPInterID,HERPBillType,HPURCHASEORGID,HPURCHASERGROUPID,HPROVIDERID,HSETTLEID
+	       //     ,HCHARGEID,HBUSINESSTYPE,HPROVIDERADDRESS,HCORRESPONDORGID,HPROVIDERCONTACTID
+        //         )
+        //        values
+        //        ({jsonData.HInterID},{jsonData.HYear},{jsonData.HPeriod},{jsonData.HBillType},{jsonData.HBillSubType},
+        //        '{jsonData.HDate}','{jsonData.HBillNo}',{jsonData.HBillStatus},'{jsonData.HAddress}',{jsonData.HSSID},
+        //        '{jsonData.HSSDate}',{jsonData.HPSStyleID},{jsonData.HSupID},{jsonData.HCurID},{jsonData.HExRate},{jsonData.HEmpID},{jsonData.HManagerID},
+        //        {jsonData.HDeptID},'{jsonData.HExplanation}','{jsonData.HRemark}','{jsonData.HInnerBillNo}','{jsonData.HChecker}',
+        //        '{jsonData.HCheckDate}','{jsonData.HMaker}','{jsonData.HMakeDate}',{jsonData.HERPInterID},'{jsonData.HERPBillType}',
+        //        {jsonData.HPURCHASEORGID},{jsonData.HPURCHASERGROUPID},'{jsonData.HPROVIDERID}',{jsonData.HSETTLEID},{jsonData.HCHARGEID},
+        //        '{jsonData.HBUSINESSTYPE}','{jsonData.HPROVIDERADDRESS}',{jsonData.HCORRESPONDORGID},{jsonData.HPROVIDERCONTACTID})";
+
+        //            oCN.RunProc(sql);
+
+        //            #region [鐢宠瀛愯〃鍙橀噺]
+        //            var dataArr = _saveObj["Result"]["Result"]["POOrderEntry"];
+
+        //            DataSet Cs;
+        //            double RelationQty = 0;
+        //            #endregion
+        //            int i = 0;
+
+        //            // 鑾峰彇瀛愯〃鏁版嵁
+        //            Cs = oCN.RunProcReturn("select * from Cg_ContractBillSub where HInterID = " + InterID, "Cg_ContractBillSub");
+        //            // 鍒犻櫎瀛愯〃瀵瑰簲鏁版嵁
+        //            sql = $"delete from Cg_ContractBillSub where HInterID = " + InterID;
+        //            oCN.RunProc(sql);
+
+        //            foreach (var oSub in dataArr)
+        //            {
+        //                #region [瀛愯〃鏁版嵁璧嬪�糫
+
+        //                if (Cs.Tables[0].Rows.Count != 0 && ClsPub.isLong(Cs.Tables[0].Rows[0]["HInterID"].ToString()) != 0)
+        //                {
+        //                    RelationQty = ClsPub.isDoule(Cs.Tables[0].Rows[i]["HRelationQty"].ToString());
+
+        //                    i++;
+        //                }
+
+        //                var subData = new
+        //                {
+        //                    HInterID = _saveObj["Result"]["Result"]["Id"],
+        //                    HEntryID = oSub["Id"],
+        //                    HMaterID = oSub["MaterialId_Id"],
+        //                    HUnitID = oSub["UnitId_Id"],
+        //                    HQty = oSub["Qty"],
+        //                    HPrice = oSub["Price"],
+        //                    HTaxRate_TAX = oSub["TaxRate"],
+        //                    HTaxMoney_TAX = oSub["TaxAmount"],
+        //                    HTaxPrice = oSub["TaxPrice"],
+        //                    HDiscountRate = oSub["DiscountRate"],
+        //                    HRelTaxPrice = 0,
+        //                    HMoney = oSub["Amount"],
+        //                    HTaxRate = oSub["TaxRate"],
+        //                    HTaxMoney = oSub["TaxAmount"],
+        //                    HLineTotal = 0,
+        //                    HlineTotalBB = 0,
+        //                    HDate = oSub["DeliveryDate"],
+        //                    HInStockQty = 0,
+        //                    HInvoiceQty = 0,
+        //                    HRemark = oSub["Note"],
+        //                    HSeOrderBillNo = "",
+        //                    HSeOrderInterID = 0,
+        //                    HSeOrderEntryID = 0,
+        //                    HSourceInterID = 0,
+        //                    HSourceEntryID = 0,
+        //                    HSourceBillNo = "",
+        //                    HSourceBillType = "",
+        //                    HRelationQty = oSub["JOINQTY"],
+        //                    HBackRelationQty = oSub["STOCKRETQTY"],
+        //                    HPropertyID = 0,
+        //                    HBatChNo = oSub["FLot_Text"],
+        //                    HAuxPropID = oSub["AuxPropId_Id"],
+        //                    HMTONo = oSub["MtoNo"],
+        //                    HERPInterID = _saveObj["Result"]["Result"]["Id"],
+        //                    HERPEntryID = oSub["Id"],
+        //                    HSEQ = oSub["Seq"],
+        //                    HRECEIVEDEPTID = oSub["ReceiveDeptId_Id"],
+        //                    HSUPPLIERLOT = oSub["SupplierLot"],
+        //                    HBOMID = oSub["BomId_Id"],
+        //                    HSTOCKUNITID = oSub["StockUnitID_Id"],
+        //                    HBASEUNITID = oSub["BaseUnitId_Id"],
+        //                    HBFLOWID = oSub["FBFLowId_Id"],
+        //                    HGIVEAWAY = oSub["GiveAway"],
+        //                    HROWTYPE = oSub["RowType"],
+        //                    HBASEUNITQTY = oSub["BaseUnitQty"],
+        //                    HSTOCKBASEQTY = oSub["StockBaseQty"],
+        //                    HREQTRACENO = oSub["ReqTraceNo"],
+        //                    HMATERIALDESC = oSub["MultiLanguageText"][0]["MaterialDesc"],
+        //                    HRECEIVEORGID = oSub["ReceiveOrgId_Id"],
+        //                    HREQUIREORGID = oSub["RequireOrgId_Id"],
+        //                    HTAXNETPRICE = oSub["TaxNetPrice"],
+        //                    HPRICECOEFFICIENT = oSub["PriceCoefficient"],
+        //                    HTAXCOMBINATION = oSub["FTaxCombination_Id"],
+        //                    HPRICEUNITID = oSub["PriceUnitId_Id"],
+        //                    HPRICELISTENTRY = oSub["PriceListEntry_Id"],
+        //                    HPAYORGID = oSub["PayOrgId_Id"],
+        //                    HSETTLEMODEID = oSub["EntrySettleModeId_Id"],
+        //                    HSETTLECURRID = 0,
+        //                    HEXCHANGETYPEID = 0,
+        //                    HPAYCONDITIONID = 0,
+        //                    HEXCHANGERATE = 0,
+        //                    HLOCALCURRID = 0,
+        //                    HISINCLUDEDTAX = 0,
+        //                    HISPRICEEXCLUDETAX = 0,
+        //                    HSETTLEORGID = oSub["SettleOrgId_Id"],
+        //                    HTAXRATEID = oSub["POORDERENTRY_TAX"][0]["TaxRateId_Id"],
+        //                    HCOSTPERCENT = oSub["POORDERENTRY_TAX"][0]["CostPercent"],
+        //                    HCOSTAMOUNT = oSub["POORDERENTRY_TAX"][0]["CostAmount"],
+        //                    HVAT = oSub["POORDERENTRY_TAX"][0]["VAT"],
+        //                    HSELLERWITHHOLDING = oSub["POORDERENTRY_TAX"][0]["SellerWithholding"],
+        //                    HBUYERWITHHOLDING = oSub["POORDERENTRY_TAX"][0]["BuyerWithholding"],
+        //                };
+        //                #endregion                       
+
+        //                //鎻掑叆瀛愯〃
+        //                sql = $@"
+        //         insert into Cg_ContractBillSub
+        //         (HInterID,HEntryID,HMaterID,HUnitID,HQty,HPrice,HTaxRate_TAX,HTaxMoney_TAX
+	       //     ,HTaxPrice,HDiscountRate,HRelTaxPrice,HMoney,HTaxRate,HTaxMoney
+	       //     ,HLineTotal,HlineTotalBB,HDate,HInStockQty,HInvoiceQty,HRemark
+	       //     ,HSeOrderBillNo,HSeOrderInterID,HSeOrderEntryID,HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType
+	       //     ,HRelationQty,HBackRelationQty,HPropertyID,HBatChNo,HAuxPropID,HMTONo
+	       //     ,HERPInterID,HERPEntryID,HSEQ,HRECEIVEDEPTID,HSUPPLIERLOT,HBOMID
+	       //     ,HSTOCKUNITID,HBASEUNITID,HBFLOWID,HGIVEAWAY,HROWTYPE,HBASEUNITQTY
+	       //     ,HSTOCKBASEQTY,HREQTRACENO,HMATERIALDESC,HRECEIVEORGID,HREQUIREORGID
+	       //     ,HTAXNETPRICE,HPRICECOEFFICIENT,HTAXCOMBINATION,HPRICEUNITID,HPRICELISTENTRY,HPAYORGID
+	       //     ,HSETTLEMODEID,HSETTLECURRID,HEXCHANGETYPEID,HPAYCONDITIONID,HEXCHANGERATE,HLOCALCURRID
+	       //     ,HISINCLUDEDTAX,HISPRICEEXCLUDETAX,HSETTLEORGID
+	       //     ,HTAXRATEID,HCOSTPERCENT,HCOSTAMOUNT,HVAT,HSELLERWITHHOLDING,HBUYERWITHHOLDING
+        //         )
+        //         values
+        //         ({subData.HInterID},{subData.HEntryID},{subData.HMaterID},{subData.HUnitID},{subData.HQty},{subData.HPrice},
+        //          {subData.HTaxRate_TAX},{subData.HTaxMoney_TAX},{subData.HTaxPrice},{subData.HDiscountRate},{subData.HRelTaxPrice},{subData.HMoney},{subData.HTaxRate},{subData.HTaxMoney},{subData.HLineTotal},{subData.HlineTotalBB},'{subData.HDate}',{subData.HInStockQty},{subData.HInvoiceQty},'{subData.HRemark}','{subData.HSeOrderBillNo}',{subData.HSeOrderInterID},{subData.HSeOrderEntryID},{subData.HSourceInterID},{subData.HSourceEntryID},'{subData.HSourceBillNo}','{subData.HSourceBillType}',{subData.HRelationQty},{subData.HBackRelationQty},{subData.HPropertyID},'{subData.HBatChNo}',{subData.HAuxPropID},'{subData.HMTONo}',{subData.HERPInterID},{subData.HERPEntryID},{subData.HSEQ},{subData.HRECEIVEDEPTID},'{subData.HSUPPLIERLOT}',{subData.HBOMID},{subData.HSTOCKUNITID},{subData.HBASEUNITID},'{subData.HBFLOWID}','{subData.HGIVEAWAY}','{subData.HROWTYPE}',{subData.HBASEUNITQTY},{subData.HSTOCKBASEQTY},'{subData.HREQTRACENO}','{subData.HMATERIALDESC}',{subData.HRECEIVEORGID},{subData.HREQUIREORGID},{subData.HTAXNETPRICE},'{subData.HPRICECOEFFICIENT}','{subData.HTAXCOMBINATION}',{subData.HPRICEUNITID},'{subData.HPRICELISTENTRY}',{subData.HPAYORGID},{subData.HSETTLEMODEID},{subData.HSETTLECURRID},'{subData.HEXCHANGETYPEID}',{subData.HPAYCONDITIONID},{subData.HEXCHANGERATE},{subData.HLOCALCURRID},{subData.HISINCLUDEDTAX},{subData.HISPRICEEXCLUDETAX},{subData.HSETTLEORGID},{subData.HTAXRATEID},'{subData.HCOSTPERCENT}',{subData.HCOSTAMOUNT},'{subData.HVAT}','{subData.HSELLERWITHHOLDING}','{subData.HBUYERWITHHOLDING}')";
+
+        //                oCN.RunProc(sql);
+        //            }
+
+
+        //            objJsonResult.code = "1";
+        //            objJsonResult.count = 1;
+        //            objJsonResult.Message = "鍗曟嵁鍚屾鎴愬姛锛�";
+        //            objJsonResult.data = null;
+        //            return objJsonResult;
+
+        //            #endregion
+        //        }
+        //    }
+        //    else
+        //    {
+        //        objJsonResult.code = "0";
+        //        objJsonResult.count = 0;
+        //        objJsonResult.Message = "鍗曟嵁璇诲彇澶辫触锛�";
+        //        objJsonResult.data = null;
+        //        return objJsonResult;
+        //    }
+        //}
+        #endregion
+
+    }
+}
diff --git a/WebAPI/Controllers/CGGL/Cg_POInStockBackBillController.cs b/WebAPI/Controllers/CGGL/Cg_POInStockBackBillController.cs
index 674df7c..cb4573a 100644
--- a/WebAPI/Controllers/CGGL/Cg_POInStockBackBillController.cs
+++ b/WebAPI/Controllers/CGGL/Cg_POInStockBackBillController.cs
@@ -187,6 +187,16 @@
                 string HCloseMan = mainList[0].HCloseMan;
                 string HCloseDate = mainList[0].HCloseDate;
 
+                //杩涜 浼氳鏈熼棿 缁撹处 鐨勫垽鏂拰鎺у埗
+                string s = "";
+                int sYear = 0;
+                int sPeriod = 0;
+                if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(HDate, ref sYear, ref sPeriod, ref s) == false)
+                {
+                    objJsonResult.Message = s;
+                    return objJsonResult;
+                }
+
                 ds = oCN.RunProcReturn("select * from h_v_IF_POInStockBackBillList where hmainid=" + HInterID + " and 鍗曟嵁鍙�='" + HBillNo + "'", "h_v_IF_POInStockBackBillList");
 
                 if ((OperationType == 1 || OperationType == 2) && ds.Tables[0].Rows.Count == 0)//鏂板
@@ -416,6 +426,17 @@
                     return objJsonResult;
                 }
                 //==================================================================================      
+
+                //杩涜 浼氳鏈熼棿 缁撹处 鐨勫垽鏂拰鎺у埗
+                string s = "";
+                int sYear = 0;
+                int sPeriod = 0;
+                DateTime HDate = DateTime.Now;
+                if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(HDate, ref sYear, ref sPeriod, ref s) == false)
+                {
+                    objJsonResult.Message = s;
+                    return objJsonResult;
+                }
 
                 string sReturn = "";
                 oCN.BeginTran();
@@ -985,6 +1006,17 @@
                     }
                     //==================================================================================      
 
+                    //杩涜 浼氳鏈熼棿 缁撹处 鐨勫垽鏂拰鎺у埗
+                    string s = "";
+                    int sYear = 0;
+                    int sPeriod = 0;
+                    DateTime HDate = DateTime.Now;
+                    if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(HDate, ref sYear, ref sPeriod, ref s) == false)
+                    {
+                        objJsonResult.Message = s;
+                        return objJsonResult;
+                    }
+
                     //瀹℃牳鎻愪氦
                     if (oBill.CheckBill(oBill.omodel.HInterID, oBill.omodel.HBillNo, "h_p_Cg_POInStockBackBill_AfterCheckCtrl", CurUserName, ref DBUtility.ClsPub.sExeReturnInfo) == true)
                     {
@@ -1025,6 +1057,17 @@
                     }
                     //=========================================================
 
+                    //杩涜 浼氳鏈熼棿 缁撹处 鐨勫垽鏂拰鎺у埗
+                    string s = "";
+                    int sYear = 0;
+                    int sPeriod = 0;
+                    DateTime HDate = DateTime.Now;
+                    if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(HDate, ref sYear, ref sPeriod, ref s) == false)
+                    {
+                        objJsonResult.Message = s;
+                        return objJsonResult;
+                    }
+
                     //鍙嶅鏍告彁浜bandonCheck
                     if (oBill.AbandonCheck(oBill.omodel.HInterID, oBill.omodel.HBillNo, "h_p_Cg_POInStockBackBill_AfterUnCheckCtrl", CurUserName, ref DBUtility.ClsPub.sExeReturnInfo) == true)
                     {
diff --git a/WebAPI/Controllers/CGGL/Cg_POInStockBillController.cs b/WebAPI/Controllers/CGGL/Cg_POInStockBillController.cs
index e5860b4..7b74011 100644
--- a/WebAPI/Controllers/CGGL/Cg_POInStockBillController.cs
+++ b/WebAPI/Controllers/CGGL/Cg_POInStockBillController.cs
@@ -192,6 +192,18 @@
                 //==================================================================================  
 
 
+                //杩涜 浼氳鏈熼棿 缁撹处 鐨勫垽鏂拰鎺у埗
+                string s = "";
+                int sYear = 0;
+                int sPeriod = 0;
+                DateTime HDate = DateTime.Now;
+                if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(HDate, ref sYear, ref sPeriod, ref s) == false)
+                {
+                    objJsonResult.Message = s;
+                    return objJsonResult;
+                }
+
+
                 //鍏堝垹闄� 閲戣澏鏁版嵁
                 objJsonResult = DeleteKingDee(HInterID);
                 if (objJsonResult.code == "0")
@@ -490,6 +502,18 @@
                 string HBUSINESSTYPE = mainList2[0].HBUSINESSTYPE == null ? "''" : mainList2[0].HBUSINESSTYPE;
                 string HSUPPLYADDRESS = mainList2[0].HSUPPLYADDRESS == null ? "''" : mainList2[0].HSUPPLYADDRESS;
                 long HPROVIDERCONTACTID = mainList2[0].HPROVIDERCONTACTID == null ? 0 : mainList2[0].HPROVIDERCONTACTID;
+
+
+
+                //杩涜 浼氳鏈熼棿 缁撹处 鐨勫垽鏂拰鎺у埗
+                string s = "";
+                int sYear = 0;
+                int sPeriod = 0;
+                if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(HDate, ref sYear, ref sPeriod, ref s) == false)
+                {
+                    objJsonResult.Message = s;
+                    return objJsonResult;
+                }
 
                 ds = oCN.RunProcReturn("select * from h_v_IF_POInStockBillList where hmainid=" + HInterID + " and 鍗曟嵁鍙�='" + HBillNo + "'", "h_v_IF_POOrderBillList");
                 if ((OperationType == 1 || OperationType == 2 || OperationType == 4) && ds.Tables[0].Rows.Count == 0)//鏂板
@@ -959,6 +983,18 @@
                     }
                     //==================================================================================      
 
+
+                    //杩涜 浼氳鏈熼棿 缁撹处 鐨勫垽鏂拰鎺у埗
+                    string s = "";
+                    int sYear = 0;
+                    int sPeriod = 0;
+                    DateTime HDate = DateTime.Now;
+                    if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(HDate, ref sYear, ref sPeriod, ref s) == false)
+                    {
+                        objJsonResult.Message = s;
+                        return objJsonResult;
+                    }
+
                     //瀹℃牳鎻愪氦
                     if (oBill.CheckBill(oBill.omodel.HInterID, oBill.omodel.HBillNo, "h_p_Cg_POInStockBill_AfterCheckCtrl", CurUserName, ref DBUtility.ClsPub.sExeReturnInfo) == true)
                     {
@@ -999,6 +1035,18 @@
                     }
                     //=========================================================
 
+
+                    //杩涜 浼氳鏈熼棿 缁撹处 鐨勫垽鏂拰鎺у埗
+                    string s = "";
+                    int sYear = 0;
+                    int sPeriod = 0;
+                    DateTime HDate = DateTime.Now;
+                    if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(HDate, ref sYear, ref sPeriod, ref s) == false)
+                    {
+                        objJsonResult.Message = s;
+                        return objJsonResult;
+                    }
+
                     //鍙嶅鏍告彁浜bandonCheck
                     if (oBill.AbandonCheck(oBill.omodel.HInterID, oBill.omodel.HBillNo, "h_p_Cg_POInStockBill_AfterUnCheckCtrl", CurUserName, ref DBUtility.ClsPub.sExeReturnInfo) == true)
                     {
diff --git a/WebAPI/Controllers/CGGL/Cg_POOrderBillController.cs b/WebAPI/Controllers/CGGL/Cg_POOrderBillController.cs
index ab7d50d..8ffe2c1 100644
--- a/WebAPI/Controllers/CGGL/Cg_POOrderBillController.cs
+++ b/WebAPI/Controllers/CGGL/Cg_POOrderBillController.cs
@@ -776,6 +776,17 @@
                 long HCORRESPONDORGID = mainList2[0].HCORRESPONDORGID == null ? 0 : mainList2[0].HCORRESPONDORGID;	//瀵瑰簲缁勭粐
                 long HPROVIDERCONTACTID = mainList2[0].HPROVIDERCONTACTID == null ? 0 : mainList2[0].HPROVIDERCONTACTID;//渚涜揣鏂硅仈绯讳汉
 
+                //杩涜 浼氳鏈熼棿 缁撹处 鐨勫垽鏂拰鎺у埗
+                string s = "";
+                int sYear = 0;
+                int sPeriod = 0;
+                if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(HDate, ref sYear, ref sPeriod, ref s) == false)
+                {
+                    objJsonResult.Message = s;
+                    return objJsonResult;
+                }
+
+
                 ds = oCN.RunProcReturn("select * from h_v_IF_POOrderBillList where hmainid=" + HInterID + " and 鍗曟嵁鍙�='" + HBillNo + "'", "h_v_IF_POOrderBillList");
 
                 if ((OperationType == 1 || OperationType == 2) && ds.Tables[0].Rows.Count == 0)//鏂板
@@ -891,65 +902,62 @@
 
             List<ClsCg_POOrderBillSub> DetailColl2 = Newtonsoft.Json.JsonConvert.DeserializeObject<List<ClsCg_POOrderBillSub>>(msg3);
 
-
-            string HSourceBillNo = DetailColl2[0].HSourceBillNo == null ? "''" : DetailColl2[0].HSourceBillNo;
-            string HSourceBillType = DetailColl2[0].HSourceBillType == null ? "''" : DetailColl2[0].HSourceBillType;
-            double HRelationQty = DetailColl2[0].HRelationQty == null ? 0 : DetailColl2[0].HRelationQty;
-            double HBackRelationQty = DetailColl2[0].HBackRelationQty == null ? 0 : DetailColl2[0].HBackRelationQty;
-            long HPropertyID = DetailColl2[0].HPropertyID == null ? 0 : DetailColl2[0].HPropertyID;
-            string HBatChNo = DetailColl2[0].HBatChNo == null ? "''" : DetailColl2[0].HBatChNo;
-            long HAuxPropID = DetailColl2[0].HAuxPropID == null ? 0 : DetailColl2[0].HAuxPropID;
-            string HMTONo = DetailColl2[0].HMTONo == null ? "''" : DetailColl2[0].HMTONo;
-            long HERPInterID = DetailColl2[0].HERPInterID == null ? 0 : DetailColl2[0].HERPInterID;
-            long HERPEntryID = DetailColl2[0].HERPEntryID == null ? 0 : DetailColl2[0].HERPEntryID;
-            long HWHID = DetailColl2[0].HWHID == null ? 0 : DetailColl2[0].HWHID;
-
-            string HSeOrderBillNo = DetailColl2[0].HSeOrderBillNo == null ? "''" : DetailColl2[0].HSeOrderBillNo;
-            string HRemark = DetailColl2[0].HRemark == null ? "''" : DetailColl2[0].HRemark;
-            string HSourceInterID = DetailColl2[0].HSourceInterID == null ? "''" : DetailColl2[0].HSourceInterID;
-            string HSourceEntryID = DetailColl2[0].HSourceEntryID == null ? "''" : DetailColl2[0].HSourceEntryID;
-
-            long HSEQ = DetailColl2[0].HSEQ == null ? 0 : DetailColl2[0].HSEQ;//琛屽彿
-            long HSTOCKORGID = DetailColl2[0].HSTOCKORGID == null ? 0 : DetailColl2[0].HSTOCKORGID;//鏀舵枡缁勭粐
-            long HRECEIVEDEPTID = DetailColl2[0].HRECEIVEDEPTID == null ? 0 : DetailColl2[0].HRECEIVEDEPTID;//鏀舵枡閮ㄩ棬
-            string HSUPPLIERLOT = DetailColl2[0].HSUPPLIERLOT == null ? "''" : DetailColl2[0].HSUPPLIERLOT;//渚涘簲鍟嗘壒鍙�
-            long HBOMID = DetailColl2[0].HBOMID == null ? 0 : DetailColl2[0].HBOMID;//BOM鐗堟湰
-            long HSTOCKUNITID = DetailColl2[0].HSTOCKUNITID == null ? 0 : DetailColl2[0].HSTOCKUNITID;//搴撳瓨鍗曚綅
-            long HBASEUNITID = DetailColl2[0].HBASEUNITID == null ? 0 : DetailColl2[0].HBASEUNITID;//鍩烘湰鍗曚綅
-            string HBFLOWID = DetailColl2[0].HBFLOWID == null ? "''" : DetailColl2[0].HBFLOWID; //涓氬姟娴佺▼
-            long HGIVEAWAY = DetailColl2[0].HGIVEAWAY == null ? 0 : DetailColl2[0].HGIVEAWAY;	//鏄惁璧犲搧
-            string HROWTYPE = DetailColl2[0].HROWTYPE == null ? "''" : DetailColl2[0].HROWTYPE;//浜у搧绫诲瀷
-            double HBASEUNITQTY = DetailColl2[0].HBASEUNITQTY == null ? 0 : DetailColl2[0].HBASEUNITQTY;//鍩烘湰鍗曚綅鏁伴噺
-            double HSTOCKBASEQTY = DetailColl2[0].HSTOCKBASEQTY == null ? 0 : DetailColl2[0].HSTOCKBASEQTY; //搴撳瓨鍩烘湰鏁伴噺
-            string HREQTRACENO = DetailColl2[0].HREQTRACENO == null ? "''" : DetailColl2[0].HREQTRACENO;//闇�姹傝窡韪彿
-            double HTAXNETPRICE = DetailColl2[0].HTAXNETPRICE == null ? 0 : DetailColl2[0].HTAXNETPRICE; //鍚◣鍑�浠�
-            double HPRICECOEFFICIENT = DetailColl2[0].HPRICECOEFFICIENT == null ? 0 : DetailColl2[0].HPRICECOEFFICIENT;//浠锋牸绯绘暟
-            long HTAXCOMBINATION = DetailColl2[0].HTAXCOMBINATION == null ? 0 : DetailColl2[0].HTAXCOMBINATION;//绋庣粍鍚�
-            long HPRICEUNITID = DetailColl2[0].HPRICEUNITID == null ? 0 : DetailColl2[0].HPRICEUNITID;//璁′环鍗曚綅
-            long HPRICELISTENTRY = DetailColl2[0].HPRICELISTENTRY == null ? 0 : DetailColl2[0].HPRICELISTENTRY;//鍒嗗綍浠风洰琛�
-            long HPAYORGID = DetailColl2[0].HPAYORGID == null ? 0 : DetailColl2[0].HPAYORGID;//浠樻缁勭粐
-            long HSETTLEMODEID = DetailColl2[0].HSETTLEMODEID == null ? 0 : DetailColl2[0].HSETTLEMODEID;//缁撶畻鏂瑰紡
-            long HSETTLECURRID = DetailColl2[0].HSETTLECURRID == null ? 0 : DetailColl2[0].HSETTLECURRID;//缁撶畻甯佸埆
-            long HEXCHANGETYPEID = DetailColl2[0].HEXCHANGETYPEID == null ? 0 : DetailColl2[0].HEXCHANGETYPEID;//姹囩巼绫诲瀷
-            long HPAYCONDITIONID = DetailColl2[0].HPAYCONDITIONID == null ? 0 : DetailColl2[0].HPAYCONDITIONID;//浠樻鏉′欢
-            double HEXCHANGERATE = DetailColl2[0].HEXCHANGERATE == null ? 0 : DetailColl2[0].HEXCHANGERATE;//姹囩巼
-            long HLOCALCURRID = DetailColl2[0].HLOCALCURRID == null ? 0 : DetailColl2[0].HLOCALCURRID;//鏈綅甯�
-            long HISINCLUDEDTAX = DetailColl2[0].HISINCLUDEDTAX == null ? 0 : DetailColl2[0].HISINCLUDEDTAX;//鏄惁鍚◣
-            long HISPRICEEXCLUDETAX = DetailColl2[0].HISPRICEEXCLUDETAX == null ? 0 : DetailColl2[0].HISPRICEEXCLUDETAX;//浠峰绋�
-            long HTAXRATEID = DetailColl2[0].HTAXRATEID == null ? 0 : DetailColl2[0].HTAXRATEID;//绋庣巼鍚嶇О
-            double HCOSTPERCENT = DetailColl2[0].HCOSTPERCENT == null ? 0 : DetailColl2[0].HCOSTPERCENT;//璁″叆鎴愭湰姣斾緥%
-            double HCOSTAMOUNT = DetailColl2[0].HCOSTAMOUNT == null ? 0 : DetailColl2[0].HCOSTAMOUNT;//璁″叆鎴愭湰閲戦
-            long HVAT = DetailColl2[0].HVAT == null ? 0 : DetailColl2[0].HVAT;//澧炲�肩◣
-            long HSELLERWITHHOLDING = DetailColl2[0].HSELLERWITHHOLDING == null ? 0 : DetailColl2[0].HSELLERWITHHOLDING;//鍗栨柟浠f墸浠g即
-            long HBUYERWITHHOLDING = DetailColl2[0].HBUYERWITHHOLDING == null ? 0 : DetailColl2[0].HBUYERWITHHOLDING;//涔版柟浠f墸浠g即
-            string HMATERIALDESC = DetailColl2[0].HMATERIALDESC == null ? "''" : DetailColl2[0].HMATERIALDESC; //鐗╂枡璇存槑
-
-
             int i = 0;
             foreach (ClsCg_POOrderBillSub oSub in DetailColl)
             {
+                string HSourceBillNo = DetailColl2[i].HSourceBillNo == null ? "''" : DetailColl2[i].HSourceBillNo;
+                string HSourceBillType = DetailColl2[i].HSourceBillType == null ? "''" : DetailColl2[i].HSourceBillType;
+                double HRelationQty = DetailColl2[i].HRelationQty;
+                double HBackRelationQty = DetailColl2[i].HBackRelationQty;
+                long HPropertyID = DetailColl2[i].HPropertyID;
+                string HBatChNo = DetailColl2[i].HBatChNo == null ? "''" : DetailColl2[i].HBatChNo;
+                long HAuxPropID = DetailColl2[i].HAuxPropID;
+                string HMTONo = DetailColl2[i].HMTONo == null ? "''" : DetailColl2[i].HMTONo;
+                long HERPInterID = DetailColl2[i].HERPInterID;
+                long HERPEntryID = DetailColl2[i].HERPEntryID;
+                long HWHID = DetailColl2[i].HWHID;
+
+                string HSeOrderBillNo = DetailColl2[i].HSeOrderBillNo == null ? "''" : DetailColl2[i].HSeOrderBillNo;
+                string HRemark = DetailColl2[i].HRemark == null ? "''" : DetailColl2[i].HRemark;
+                string HSourceInterID = DetailColl2[i].HSourceInterID == null ? "''" : DetailColl2[i].HSourceInterID;
+                string HSourceEntryID = DetailColl2[i].HSourceEntryID == null ? "''" : DetailColl2[i].HSourceEntryID;
+
+                long HSEQ = DetailColl2[i].HSEQ;//琛屽彿
+                long HSTOCKORGID = DetailColl2[i].HSTOCKORGID;//鏀舵枡缁勭粐
+                long HRECEIVEDEPTID = DetailColl2[i].HRECEIVEDEPTID;//鏀舵枡閮ㄩ棬
+                string HSUPPLIERLOT = DetailColl2[i].HSUPPLIERLOT;//渚涘簲鍟嗘壒鍙�
+                long HBOMID = DetailColl2[i].HBOMID;//BOM鐗堟湰
+                long HSTOCKUNITID = DetailColl2[i].HSTOCKUNITID;//搴撳瓨鍗曚綅
+                long HBASEUNITID = DetailColl2[i].HBASEUNITID;//鍩烘湰鍗曚綅
+                string HBFLOWID = DetailColl2[i].HBFLOWID == null ? "''" : DetailColl2[i].HBFLOWID; //涓氬姟娴佺▼
+                long HGIVEAWAY = DetailColl2[i].HGIVEAWAY;	//鏄惁璧犲搧
+                string HROWTYPE = DetailColl2[i].HROWTYPE == null ? "''" : DetailColl2[i].HROWTYPE;//浜у搧绫诲瀷
+                double HBASEUNITQTY = DetailColl2[i].HBASEUNITQTY;//鍩烘湰鍗曚綅鏁伴噺
+                double HSTOCKBASEQTY = DetailColl2[i].HSTOCKBASEQTY; //搴撳瓨鍩烘湰鏁伴噺
+                string HREQTRACENO = DetailColl2[i].HREQTRACENO == null ? "''" : DetailColl2[i].HREQTRACENO;//闇�姹傝窡韪彿
+                double HTAXNETPRICE = DetailColl2[i].HTAXNETPRICE; //鍚◣鍑�浠�
+                double HPRICECOEFFICIENT = DetailColl2[i].HPRICECOEFFICIENT;//浠锋牸绯绘暟
+                long HTAXCOMBINATION = DetailColl2[i].HTAXCOMBINATION;//绋庣粍鍚�
+                long HPRICEUNITID = DetailColl2[i].HPRICEUNITID;//璁′环鍗曚綅
+                long HPRICELISTENTRY = DetailColl2[i].HPRICELISTENTRY;//鍒嗗綍浠风洰琛�
+                long HPAYORGID = DetailColl2[i].HPAYORGID;//浠樻缁勭粐
+                long HSETTLEMODEID = DetailColl2[i].HSETTLEMODEID;//缁撶畻鏂瑰紡
+                long HSETTLECURRID = DetailColl2[i].HSETTLECURRID;//缁撶畻甯佸埆
+                long HEXCHANGETYPEID = DetailColl2[i].HEXCHANGETYPEID;//姹囩巼绫诲瀷
+                long HPAYCONDITIONID = DetailColl2[i].HPAYCONDITIONID;//浠樻鏉′欢
+                double HEXCHANGERATE = DetailColl2[i].HEXCHANGERATE;//姹囩巼
+                long HLOCALCURRID = DetailColl2[i].HLOCALCURRID;//鏈綅甯�
+                long HISINCLUDEDTAX = DetailColl2[i].HISINCLUDEDTAX;//鏄惁鍚◣
+                long HISPRICEEXCLUDETAX = DetailColl2[i].HISPRICEEXCLUDETAX;//浠峰绋�
+                long HTAXRATEID = DetailColl2[i].HTAXRATEID;//绋庣巼鍚嶇О
+                double HCOSTPERCENT = DetailColl2[i].HCOSTPERCENT;//璁″叆鎴愭湰姣斾緥%
+                double HCOSTAMOUNT = DetailColl2[i].HCOSTAMOUNT;//璁″叆鎴愭湰閲戦
+                long HVAT = DetailColl2[i].HVAT;//澧炲�肩◣
+                long HSELLERWITHHOLDING = DetailColl2[i].HSELLERWITHHOLDING;//鍗栨柟浠f墸浠g即
+                long HBUYERWITHHOLDING = DetailColl2[i].HBUYERWITHHOLDING;//涔版柟浠f墸浠g即
+                string HMATERIALDESC = DetailColl2[i].HMATERIALDESC == null ? "''" : DetailColl2[i].HMATERIALDESC; //鐗╂枡璇存槑
                 i++;
-                if (oSub.HQty <= 0 || oSub.HQty == null)
+                if (oSub.HQty <= 0 || oSub.HQty == 0)
                 {
                     objJsonResult.code = "0";
                     objJsonResult.count = 0;
@@ -1118,6 +1126,7 @@
             }
         }
         #endregion
+
         /// <summary>
         ///鍒犻櫎鍔熻兘
         /// </summary>
@@ -1128,7 +1137,7 @@
         {
             try
             {
-
+             
                 string HBillNo = "";
                 //鍒犻櫎鍓嶆帶鍒�=========================================      
                 string sql1 = "exec h_p_Cg_POOrderBill_BeforeDelCtrl " + HInterID + ",'" + HBillNo + "','" + user + "'";
@@ -1152,8 +1161,19 @@
                 }
                 //==================================================================================  
 
+                //杩涜 浼氳鏈熼棿 缁撹处 鐨勫垽鏂拰鎺у埗
+                string s = "";
+                int sYear = 0;
+                int sPeriod = 0;
+                DateTime HDate = DateTime.Now;
+                if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(HDate, ref sYear, ref sPeriod, ref s) == false)
+                {
+                    objJsonResult.Message = s;
+                    return objJsonResult;
+                }
+
                 string sReturn = "";
-                oCN.BeginTran();
+                oCN.BeginTran();              
                 oCN.RunProc("Delete From Cg_POOrderBillMain where HInterID = " + HInterID);
                 oCN.RunProc("Delete From Cg_POOrderBillSub where HInterID = " + HInterID);
                 oCN.Commit();
@@ -1211,7 +1231,7 @@
         {
             try
             {
-
+                
                 ds = oCN.RunProcReturn("select * from h_v_IF_POOrderBillList where hmainid =" + HInterID, "h_v_IF_POOrderBillList");
                 if (ds == null || ds.Tables[0].Rows.Count == 0)
                 {
@@ -1380,6 +1400,17 @@
                     }
                     //==================================================================================      
 
+                    //杩涜 浼氳鏈熼棿 缁撹处 鐨勫垽鏂拰鎺у埗
+                    string s = "";
+                    int sYear = 0;
+                    int sPeriod = 0;
+                    DateTime HDate = DateTime.Now;
+                    if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(HDate, ref sYear, ref sPeriod, ref s) == false)
+                    {
+                        objJsonResult.Message = s;
+                        return objJsonResult;
+                    }
+
                     //瀹℃牳鎻愪氦
                     if (oBill.CheckBill(oBill.omodel.HInterID, oBill.omodel.HBillNo, "h_p_Cg_POOrderBill_AfterCheckCtrl", CurUserName, ref DBUtility.ClsPub.sExeReturnInfo) == true)
                     {
@@ -1420,6 +1451,18 @@
                     }
                     //=========================================================
 
+
+                    //杩涜 浼氳鏈熼棿 缁撹处 鐨勫垽鏂拰鎺у埗
+                    string s = "";
+                    int sYear = 0;
+                    int sPeriod = 0;
+                    DateTime HDate = DateTime.Now;
+                    if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(HDate, ref sYear, ref sPeriod, ref s) == false)
+                    {
+                        objJsonResult.Message = s;
+                        return objJsonResult;
+                    }
+
                     //鍙嶅鏍告彁浜bandonCheck
                     if (oBill.AbandonCheck(oBill.omodel.HInterID, oBill.omodel.HBillNo, "h_p_Cg_POOrderBill_AfterUnCheckCtrl", CurUserName, ref DBUtility.ClsPub.sExeReturnInfo) == true)
                     {
diff --git a/WebAPI/Controllers/CGGL/Cg_PORequestBillController.cs b/WebAPI/Controllers/CGGL/Cg_PORequestBillController.cs
index c9909e6..186e0df 100644
--- a/WebAPI/Controllers/CGGL/Cg_PORequestBillController.cs
+++ b/WebAPI/Controllers/CGGL/Cg_PORequestBillController.cs
@@ -167,7 +167,15 @@
                 string HCloseMan = mainList2[0].HCloseMan == null ? "''" : mainList2[0].HCloseMan;
                 string HCloseDate = mainList2[0].HCloseDate == null ? "''" : mainList2[0].HCloseDate;
 
-
+                //杩涜 浼氳鏈熼棿 缁撹处 鐨勫垽鏂拰鎺у埗
+                string s = "";
+                int sYear = 0;
+                int sPeriod = 0;
+                if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(HDate, ref sYear, ref sPeriod, ref s) == false)
+                {
+                    objJsonResult.Message = s;
+                    return objJsonResult;
+                }
 
 
                 ds = oCN.RunProcReturn("select * from h_v_Cg_PORequestBillList where hmainid=" + HInterID + " and 鍗曟嵁鍙�='" + HBillNo + "'", "h_v_Cg_PORequestBillList");
@@ -426,6 +434,17 @@
         {
             try
             {
+                //杩涜 浼氳鏈熼棿 缁撹处 鐨勫垽鏂拰鎺у埗
+                string s = "";
+                int sYear = 0;
+                int sPeriod = 0;
+                DateTime HDate = DateTime.Now;
+                if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(HDate, ref sYear, ref sPeriod, ref s) == false)
+                {
+                    objJsonResult.Message = s;
+                    return objJsonResult;
+                }
+
                 oCN.BeginTran();
                 oCN.RunProc("Delete From Cg_PORequestBillMain where HInterID = " + HInterID);
                 oCN.RunProc("Delete From Cg_PORequestBillSub where HInterID = " + HInterID);
@@ -559,6 +578,18 @@
                     HBillNo = ds.Tables[0].Rows[0]["HBillNo"].ToString();
                 }
                 BillOld.MvarItemKey = "Cg_PORequestBillMain";
+
+                //杩涜 浼氳鏈熼棿 缁撹处 鐨勫垽鏂拰鎺у埗
+                string s = "";
+                int sYear = 0;
+                int sPeriod = 0;
+                DateTime HDate = DateTime.Now;
+                if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(HDate, ref sYear, ref sPeriod, ref s) == false)
+                {
+                    objJsonResult.Message = s;
+                    return objJsonResult;
+                }
+
                 oCN.BeginTran();//寮�濮嬩簨鍔�
 
                 //Type 1 瀹℃牳  2  鍙嶅鏍�
@@ -584,7 +615,7 @@
                         objJsonResult.data = null;
                         return objJsonResult;
                     }
-
+                  
                     if (!BillOld.CheckBill(int.Parse(HInterID), HBillNo, "h_p_Cg_PORequestBill_AfterCheckCtrl", user, ref ClsPub.sExeReturnInfo))
                     {
                         objJsonResult.code = "0";
@@ -617,6 +648,7 @@
                         return objJsonResult;
                     }
 
+                    
                     if (BillOld.AbandonCheck(int.Parse(HInterID), HBillNo, "h_p_Cg_PORequestBill_AfterUnCheckCtrl", user, ref ClsPub.sExeReturnInfo))
                     {
                         SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
diff --git a/WebAPI/Controllers/CGGL/Cg_PayableBillController.cs b/WebAPI/Controllers/CGGL/Cg_PayableBillController.cs
index f6dc975..d0dae79 100644
--- a/WebAPI/Controllers/CGGL/Cg_PayableBillController.cs
+++ b/WebAPI/Controllers/CGGL/Cg_PayableBillController.cs
@@ -190,6 +190,16 @@
 
                 }
 
+                //杩涜 浼氳鏈熼棿 缁撹处 鐨勫垽鏂拰鎺у埗
+                int sYear = 0;
+                int sPeriod = 0;
+                DateTime HDate = DateTime.Now;
+                if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(HDate, ref sYear, ref sPeriod, ref s) == false)
+                {
+                    objJsonResult.Message = s;
+                    return objJsonResult;
+                }
+
                 //淇濆瓨
                 //淇濆瓨瀹屾瘯鍚庡鐞�
                 bool bResult;
@@ -333,6 +343,15 @@
                 //}
                 ////==================================================================================  
 
+                //杩涜 浼氳鏈熼棿 缁撹处 鐨勫垽鏂拰鎺у埗
+                int sYear = 0;
+                int sPeriod = 0;
+                DateTime HDate = DateTime.Now;
+                if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(HDate, ref sYear, ref sPeriod, ref s) == false)
+                {
+                    objJsonResult.Message = s;
+                    return objJsonResult;
+                }
 
 
                 oCN.BeginTran();
@@ -487,6 +506,17 @@
                 //杩涜闇�瑕佽繘琛岀殑瀹℃牳/鍙嶅鏍告搷浣�
                 if (IsAudit == 0) //瀹℃牳鎻愪氦
                 {
+                    //杩涜 浼氳鏈熼棿 缁撹处 鐨勫垽鏂拰鎺у埗
+                    string s = "";
+                    int sYear = 0;
+                    int sPeriod = 0;
+                    DateTime HDate = DateTime.Now;
+                    if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(HDate, ref sYear, ref sPeriod, ref s) == false)
+                    {
+                        objJsonResult.Message = s;
+                        return objJsonResult;
+                    }
+
                     oCN.BeginTran();
 
                     //璁板綍杩斿洖淇℃伅
@@ -541,6 +571,17 @@
                 }
                 if (IsAudit == 1) //鍙嶅鏍告彁浜�
                 {
+                    //杩涜 浼氳鏈熼棿 缁撹处 鐨勫垽鏂拰鎺у埗
+                    string s = "";
+                    int sYear = 0;
+                    int sPeriod = 0;
+                    DateTime HDate = DateTime.Now;
+                    if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(HDate, ref sYear, ref sPeriod, ref s) == false)
+                    {
+                        objJsonResult.Message = s;
+                        return objJsonResult;
+                    }
+
                     ////鍙嶅鏍稿墠鎺у埗=========================================        
                     //string sql1 = "exec h_p_Xs_ReceivableBill_BeforeUnCheckCtrl " + oBill.omodel.HInterID + ",'" + oBill.omodel.HBillNo + "','" + CurUserName + "'";
                     //ds = oCN.RunProcReturn(sql1, "h_p_Xs_ReceivableBill_BeforeUnCheckCtrl");
diff --git a/WebAPI/Controllers/CGGL/Kf_POStockInBackBillController.cs b/WebAPI/Controllers/CGGL/Kf_POStockInBackBillController.cs
index bd97c5b..8ff54d5 100644
--- a/WebAPI/Controllers/CGGL/Kf_POStockInBackBillController.cs
+++ b/WebAPI/Controllers/CGGL/Kf_POStockInBackBillController.cs
@@ -174,6 +174,16 @@
                 string HCloseMan = mainList[0].HCloseMan;
                 string HCloseDate = mainList[0].HCloseDate;
 
+                //杩涜 浼氳鏈熼棿 缁撹处 鐨勫垽鏂拰鎺у埗
+                string s = "";
+                int sYear = 0;
+                int sPeriod = 0;
+                if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(HDate, ref sYear, ref sPeriod, ref s) == false)
+                {
+                    objJsonResult.Message = s;
+                    return objJsonResult;
+                }
+
                 ds = oCN.RunProcReturn("select * from h_v_Kf_POStockInBackBillList where hmainid=" + HInterID + " and 鍗曟嵁鍙�='" + HBillNo + "'", "h_v_Kf_POStockInBackBillList");
 
                 if ((OperationType == 1 || OperationType == 2 || OperationType == 4) && ds.Tables[0].Rows.Count == 0)//鏂板
@@ -414,6 +424,17 @@
                 }
                 //==================================================================================      
 
+                //杩涜 浼氳鏈熼棿 缁撹处 鐨勫垽鏂拰鎺у埗
+                string s = "";
+                int sYear = 0;
+                int sPeriod = 0;
+                DateTime HDate = DateTime.Now;
+                if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(HDate, ref sYear, ref sPeriod, ref s) == false)
+                {
+                    objJsonResult.Message = s;
+                    return objJsonResult;
+                }
+
                 string sReturn = "";
                 oCN.BeginTran();
                 oCN.RunProc("Delete From Kf_ICStockBillMain where HInterID = " + HInterID);
@@ -641,6 +662,17 @@
                     }
                     //==================================================================================      
 
+                    //杩涜 浼氳鏈熼棿 缁撹处 鐨勫垽鏂拰鎺у埗
+                    string s = "";
+                    int sYear = 0;
+                    int sPeriod = 0;
+                    DateTime HDate = DateTime.Now;
+                    if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(HDate, ref sYear, ref sPeriod, ref s) == false)
+                    {
+                        objJsonResult.Message = s;
+                        return objJsonResult;
+                    }
+
                     //瀹℃牳鎻愪氦
                     if (oBill.CheckBill(oBill.omodel.HInterID, oBill.omodel.HBillNo, "h_p_Kf_POStockInBackBill_AfterCheckCtrl", CurUserName, ref DBUtility.ClsPub.sExeReturnInfo) == true)
                     {
@@ -681,6 +713,17 @@
                     }
                     //=========================================================
 
+                    //杩涜 浼氳鏈熼棿 缁撹处 鐨勫垽鏂拰鎺у埗
+                    string s = "";
+                    int sYear = 0;
+                    int sPeriod = 0;
+                    DateTime HDate = DateTime.Now;
+                    if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(HDate, ref sYear, ref sPeriod, ref s) == false)
+                    {
+                        objJsonResult.Message = s;
+                        return objJsonResult;
+                    }
+
                     //鍙嶅鏍告彁浜bandonCheck
                     if (oBill.AbandonCheck(oBill.omodel.HInterID, oBill.omodel.HBillNo, "h_p_Kf_POStockInBackBill_AfterUnCheckCtrl", CurUserName, ref DBUtility.ClsPub.sExeReturnInfo) == true)
                     {
diff --git a/WebAPI/Controllers/CGGL/Kf_POStockInBillController.cs b/WebAPI/Controllers/CGGL/Kf_POStockInBillController.cs
index 9091689..0f99eb3 100644
--- a/WebAPI/Controllers/CGGL/Kf_POStockInBillController.cs
+++ b/WebAPI/Controllers/CGGL/Kf_POStockInBillController.cs
@@ -172,6 +172,16 @@
                 string HCloseMan = mainList[0].HCloseMan;
                 string HCloseDate = mainList[0].HCloseDate;
 
+                //杩涜 浼氳鏈熼棿 缁撹处 鐨勫垽鏂拰鎺у埗
+                string s = "";
+                int sYear = 0;
+                int sPeriod = 0;
+                if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(HDate, ref sYear, ref sPeriod, ref s) == false)
+                {
+                    objJsonResult.Message = s;
+                    return objJsonResult;
+                }
+
                 ds = oCN.RunProcReturn("select * from h_v_Kf_POStockInBillList where hmainid=" + HInterID + " and 鍗曟嵁鍙�='" + HBillNo + "'", "h_v_Kf_POStockInBillList");
 
                 if ((OperationType == 1 || OperationType == 2 || OperationType == 4) && ds.Tables[0].Rows.Count == 0)//鏂板
@@ -447,6 +457,17 @@
                 }
                 //==================================================================================      
 
+                //杩涜 浼氳鏈熼棿 缁撹处 鐨勫垽鏂拰鎺у埗
+                string s = "";
+                int sYear = 0;
+                int sPeriod = 0;
+                DateTime HDate = DateTime.Now;
+                if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(HDate, ref sYear, ref sPeriod, ref s) == false)
+                {
+                    objJsonResult.Message = s;
+                    return objJsonResult;
+                }
+
                 string sReturn = "";
                 oCN.BeginTran();
 
@@ -657,6 +678,16 @@
                     return objJsonResult;
                 }
 
+                //杩涜 浼氳鏈熼棿 缁撹处 鐨勫垽鏂拰鎺у埗
+                string s = "";
+                int sYear = 0;
+                int sPeriod = 0;
+                DateTime HDate = DateTime.Now;
+                if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(HDate, ref sYear, ref sPeriod, ref s) == false)
+                {
+                    objJsonResult.Message = s;
+                    return objJsonResult;
+                }
 
                 //杩涜闇�瑕佽繘琛岀殑瀹℃牳/鍙嶅鏍告搷浣�
                 if (IsAudit == 0) //瀹℃牳鎻愪氦
@@ -682,8 +713,8 @@
                         objJsonResult.data = null;
                         return objJsonResult;
                     }
-                    //==================================================================================      
-
+                    //==================================================================================                        
+                    
                     //瀹℃牳鎻愪氦
                     if (oBill.CheckBill(oBill.omodel.HInterID, oBill.omodel.HBillNo, "h_p_Kf_POStockInBill_AfterCheckCtrl", CurUserName, ref DBUtility.ClsPub.sExeReturnInfo) == true)
                     {
@@ -722,8 +753,8 @@
                         objJsonResult.data = null;
                         return objJsonResult;
                     }
-                    //=========================================================
-
+                    //=========================================================                   
+                 
                     //鍙嶅鏍告彁浜bandonCheck
                     if (oBill.AbandonCheck(oBill.omodel.HInterID, oBill.omodel.HBillNo, "h_p_Kf_POStockInBill_AfterUnCheckCtrl", CurUserName, ref DBUtility.ClsPub.sExeReturnInfo) == true)
                     {
diff --git a/WebAPI/Controllers/CGGL/Sup_AskPriceBillController.cs b/WebAPI/Controllers/CGGL/Sup_AskPriceBillController.cs
index 069cedc..1461605 100644
--- a/WebAPI/Controllers/CGGL/Sup_AskPriceBillController.cs
+++ b/WebAPI/Controllers/CGGL/Sup_AskPriceBillController.cs
@@ -132,6 +132,18 @@
                     oBill.DetailColl.Add(oItemSub);
 
                 }
+
+                //杩涜 浼氳鏈熼棿 缁撹处 鐨勫垽鏂拰鎺у埗
+                string s = "";
+                int sYear = 0;
+                int sPeriod = 0;
+                DateTime HDate = DateTime.Now;
+                if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(HDate, ref sYear, ref sPeriod, ref s) == false)
+                {
+                    objJsonResult.Message = s;
+                    return objJsonResult;
+                }
+
                 //淇濆瓨
                 //淇濆瓨瀹屾瘯鍚庡鐞�
                 bool bResult;
diff --git a/WebAPI/Controllers/CGGL/Sup_QuotePriceBillController.cs b/WebAPI/Controllers/CGGL/Sup_QuotePriceBillController.cs
index bbd7850..e173f4e 100644
--- a/WebAPI/Controllers/CGGL/Sup_QuotePriceBillController.cs
+++ b/WebAPI/Controllers/CGGL/Sup_QuotePriceBillController.cs
@@ -133,6 +133,17 @@
                     oBill.DetailColl.Add(oItemSub);
 
                 }
+                //杩涜 浼氳鏈熼棿 缁撹处 鐨勫垽鏂拰鎺у埗
+                string s = "";
+                int sYear = 0;
+                int sPeriod = 0;
+                DateTime HDate = DateTime.Now;
+                if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(HDate, ref sYear, ref sPeriod, ref s) == false)
+                {
+                    objJsonResult.Message = s;
+                    return objJsonResult;
+                }
+
                 //淇濆瓨
                 //淇濆瓨瀹屾瘯鍚庡鐞�
                 bool bResult;
diff --git a/WebAPI/Controllers/CGGL/YF_PayMentBackBillController.cs b/WebAPI/Controllers/CGGL/YF_PayMentBackBillController.cs
index 1a8faae..c1b7a30 100644
--- a/WebAPI/Controllers/CGGL/YF_PayMentBackBillController.cs
+++ b/WebAPI/Controllers/CGGL/YF_PayMentBackBillController.cs
@@ -239,6 +239,15 @@
                 }
 
 
+                //杩涜 浼氳鏈熼棿 缁撹处 鐨勫垽鏂拰鎺у埗
+                int sYear = 0;
+                int sPeriod = 0;
+                DateTime HDate = DateTime.Now;
+                if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(HDate, ref sYear, ref sPeriod, ref s) == false)
+                {
+                    objJsonResult.Message = s;
+                    return objJsonResult;
+                }
 
                 //淇濆瓨
                 //淇濆瓨瀹屾瘯鍚庡鐞�
@@ -425,6 +434,16 @@
                     objJsonResult.count = 0;
                     objJsonResult.Message = "姝ゅ崟鎹凡缁忚瀹℃牳锛屼笉鍏佽鍒犻櫎锛�";
                     objJsonResult.data = 1;
+                    return objJsonResult;
+                }
+
+                //杩涜 浼氳鏈熼棿 缁撹处 鐨勫垽鏂拰鎺у埗
+                int sYear = 0;
+                int sPeriod = 0;
+                DateTime HDate = DateTime.Now;
+                if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(HDate, ref sYear, ref sPeriod, ref s) == false)
+                {
+                    objJsonResult.Message = s;
                     return objJsonResult;
                 }
 
@@ -639,6 +658,17 @@
                 //杩涜闇�瑕佽繘琛岀殑瀹℃牳/鍙嶅鏍告搷浣�
                 if (IsAudit == 0) //瀹℃牳鎻愪氦
                 {
+                    //杩涜 浼氳鏈熼棿 缁撹处 鐨勫垽鏂拰鎺у埗
+                    string s = "";
+                    int sYear = 0;
+                    int sPeriod = 0;
+                    DateTime HDate = DateTime.Now;
+                    if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(HDate, ref sYear, ref sPeriod, ref s) == false)
+                    {
+                        objJsonResult.Message = s;
+                        return objJsonResult;
+                    }
+
                     //瀹℃牳鎻愪氦
                     if (oBill.CheckBill(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo) == true)
                     {
@@ -659,6 +689,17 @@
                 }
                 if (IsAudit == 1) //鍙嶅鏍告彁浜�
                 {
+                    //杩涜 浼氳鏈熼棿 缁撹处 鐨勫垽鏂拰鎺у埗
+                    string s = "";
+                    int sYear = 0;
+                    int sPeriod = 0;
+                    DateTime HDate = DateTime.Now;
+                    if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(HDate, ref sYear, ref sPeriod, ref s) == false)
+                    {
+                        objJsonResult.Message = s;
+                        return objJsonResult;
+                    }
+
                     //鍙嶅鏍告彁浜bandonCheck
                     if (oBill.AbandonCheck(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo) == true)
                     {
diff --git a/WebAPI/Controllers/CGGL/YF_PayMentBillController.cs b/WebAPI/Controllers/CGGL/YF_PayMentBillController.cs
index afdbebb..9089659 100644
--- a/WebAPI/Controllers/CGGL/YF_PayMentBillController.cs
+++ b/WebAPI/Controllers/CGGL/YF_PayMentBillController.cs
@@ -238,7 +238,15 @@
 
                 }
 
-
+                //杩涜 浼氳鏈熼棿 缁撹处 鐨勫垽鏂拰鎺у埗
+                int sYear = 0;
+                int sPeriod = 0;
+                DateTime HDate = DateTime.Now;
+                if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(HDate, ref sYear, ref sPeriod, ref s) == false)
+                {
+                    objJsonResult.Message = s;
+                    return objJsonResult;
+                }
 
                 //淇濆瓨
                 //淇濆瓨瀹屾瘯鍚庡鐞�
@@ -426,6 +434,17 @@
                     objJsonResult.data = 1;
                     return objJsonResult;
                 }
+
+                //杩涜 浼氳鏈熼棿 缁撹处 鐨勫垽鏂拰鎺у埗
+                int sYear = 0;
+                int sPeriod = 0;
+                DateTime HDate = DateTime.Now;
+                if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(HDate, ref sYear, ref sPeriod, ref s) == false)
+                {
+                    objJsonResult.Message = s;
+                    return objJsonResult;
+                }
+
                 string sReturn = "";
                 oCN.BeginTran();
 
@@ -635,6 +654,17 @@
                 //杩涜闇�瑕佽繘琛岀殑瀹℃牳/鍙嶅鏍告搷浣�
                 if (IsAudit == 0) //瀹℃牳鎻愪氦
                 {
+                    //杩涜 浼氳鏈熼棿 缁撹处 鐨勫垽鏂拰鎺у埗
+                    string s = "";
+                    int sYear = 0;
+                    int sPeriod = 0;
+                    DateTime HDate = DateTime.Now;
+                    if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(HDate, ref sYear, ref sPeriod, ref s) == false)
+                    {
+                        objJsonResult.Message = s;
+                        return objJsonResult;
+                    }
+
                     //瀹℃牳鎻愪氦
                     if (oBill.CheckBill(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo) == true)
                     {
@@ -655,6 +685,17 @@
                 }
                 if (IsAudit == 1) //鍙嶅鏍告彁浜�
                 {
+                    //杩涜 浼氳鏈熼棿 缁撹处 鐨勫垽鏂拰鎺у埗
+                    string s = "";
+                    int sYear = 0;
+                    int sPeriod = 0;
+                    DateTime HDate = DateTime.Now;
+                    if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(HDate, ref sYear, ref sPeriod, ref s) == false)
+                    {
+                        objJsonResult.Message = s;
+                        return objJsonResult;
+                    }
+
                     //鍙嶅鏍告彁浜bandonCheck
                     if (oBill.AbandonCheck(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo) == true)
                     {
@@ -962,5 +1003,268 @@
         }
         #endregion
 
+
+        #region 閲囪喘璁㈠崟鍒拌揣鍙婃椂鐜囨姤琛� 鏌ヨ
+        /// <summary>s
+        /// 杩斿洖椤圭洰闃舵鍒楄〃
+        ///鍙傛暟锛歴tring sql銆�
+        ///杩斿洖鍊硷細object銆�
+        /// </summary>
+        [Route("YF_PayMentBill/POOrderReceiveSumReport")]
+        [HttpGet]
+        public object POOrderReceiveSumReport(string sWhere, string user)
+        {
+            try
+            {
+                List<object> columnNameList = new List<object>();
+
+                ds = oCN.RunProcReturn("exec  h_p_Cg_POOrderReceiveSumReport   '" + sWhere + "'", "h_p_Cg_POOrderReceiveSumReport");// h_p_Cg_POMaterialPriceReport  閲囪喘鍒嗘瀽鎶ヨ〃
+
+                //娣诲姞鍒楀悕
+                foreach (DataColumn col in ds.Tables[0].Columns)
+                {
+                    Type dataType = col.DataType;
+                    string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}";
+                    columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//鑾峰彇鍒癉ataColumn鍒楀璞$殑鍒楀悕
+                }
+
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "Sucess锛�";
+                objJsonResult.data = ds.Tables[0];
+                objJsonResult.list = columnNameList;
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "Exception锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 閲囪喘鍏ュ簱缁熻琛�    鏌ヨ
+        /// <summary>
+        ///鍙傛暟锛歴tring sql銆�
+        ///杩斿洖鍊硷細object銆�
+        /// </summary>
+        [Route("YF_PayMentBill/GetCg_POInStockBillSumReport")]
+        [HttpGet]
+        public object GetCg_POInStockBillSumReport(string sWhere, string user)
+        {
+            try
+            {
+                List<object> columnNameList = new List<object>();
+                ////鏌ョ湅鏉冮檺
+                //if (!DBUtility.ClsPub.Security_Log("Cg_POInStockBillSumReport_Query", 1, false, user))
+                //{
+                //    objJsonResult.code = "0";
+                //    objJsonResult.count = 0;
+                //    objJsonResult.Message = "鏃犳煡鐪嬫潈闄愶紒";
+                //    objJsonResult.data = null;
+                //    return objJsonResult;
+                //}
+
+
+                //鏌ヨ
+                if (sWhere == null || sWhere.Equals(""))
+                {
+                    string sql = "exec h_p_Cg_POInStockBillSumReport ''";
+                    ds = oCN.RunProcReturn(sql, "h_p_Cg_POInStockBillSumReport");
+                }
+                else
+                {
+                    string sql = "exec h_p_Cg_POInStockBillSumReport  '" + sWhere + "'";
+                    ds = oCN.RunProcReturn(sql, "h_p_Cg_POInStockBillSumReport");
+                }
+
+                //娣诲姞鍒楀悕
+                foreach (DataColumn col in ds.Tables[0].Columns)
+                {
+                    Type dataType = col.DataType;
+                    string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}";
+                    columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//鑾峰彇鍒癉ataColumn鍒楀璞$殑鍒楀悕
+                }
+
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "Sucess锛�";
+                objJsonResult.data = ds.Tables[0];
+                objJsonResult.list = columnNameList;
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "Exception锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 閲囪喘涓氬姟/璁㈠崟鎶ョ粺璁¤〃 鏌ヨ
+        [Route("YF_PayMentBill/Cg_POOrderBillSumReport")]
+        [HttpGet]
+        public object Cg_POOrderBillSumReport(string sWhere, string user)
+        {
+            try
+            {
+                DataSet ds;
+                List<object> columnNameList = new List<object>();
+
+                ds = oCN.RunProcReturn("exec [h_p_Cg_POOrderBillSumReport] '" + sWhere + "'", "[h_p_Cg_POMaterialPriceReport]");
+
+                //娣诲姞鍒楀悕
+                foreach (DataColumn col in ds.Tables[0].Columns)
+                {
+                    Type dataType = col.DataType;
+                    string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}";
+                    columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//鑾峰彇鍒癉ataColumn鍒楀璞$殑鍒楀悕
+                }
+
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "Sucess锛�";
+                objJsonResult.data = ds.Tables[0];
+                objJsonResult.list = columnNameList;
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "Exception锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 閲囪喘浠锋牸鍒嗘瀽琛�  鏌ヨ
+        [Route("YF_PayMentBill/POMaterialPriceReport")]
+        [HttpGet]
+        public object POMaterialPriceReport(string sWhere, string user)
+        {
+            try
+            {
+                DataSet ds;
+                List<object> columnNameList = new List<object>();
+
+                ds = oCN.RunProcReturn("exec [h_p_Cg_POMaterialPriceReport] '" + sWhere + "'", "[h_p_Cg_POMaterialPriceReport]");
+
+                //娣诲姞鍒楀悕
+                foreach (DataColumn col in ds.Tables[0].Columns)
+                {
+                    Type dataType = col.DataType;
+                    string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}";
+                    columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//鑾峰彇鍒癉ataColumn鍒楀璞$殑鍒楀悕
+                }
+
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "Sucess锛�";
+                objJsonResult.data = ds.Tables[0];
+                objJsonResult.list = columnNameList;
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "Exception锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion  鏌ヨ  
+
+        #region 閲囪喘璁㈠崟鎵ц姹囨�绘姤琛� 鏌ヨ
+        /// <summary>
+        /// 杩斿洖椤圭洰闃舵鍒楄〃
+        ///鍙傛暟锛歴tring sql銆�
+        ///杩斿洖鍊硷細object銆�
+        /// </summary>
+        [Route("YF_PayMentBill/Cg_POOrderBillProcessSumReport")]
+        [HttpGet]
+        public object Cg_POOrderBillProcessSumReport(string sWhere, string user)
+        {
+            try
+            {
+                List<object> columnNameList = new List<object>();
+
+                ds = oCN.RunProcReturn("exec  h_p_Cg_POOrderBillProcessSumReport    '" + sWhere + "'", "h_p_Cg_POOrderBillProcessSumReport");
+
+                //娣诲姞鍒楀悕
+                foreach (DataColumn col in ds.Tables[0].Columns)
+                {
+                    Type dataType = col.DataType;
+                    string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}";
+                    columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//鑾峰彇鍒癉ataColumn鍒楀璞$殑鍒楀悕
+                }
+
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "Sucess锛�";
+                objJsonResult.data = ds.Tables[0];
+                objJsonResult.list = columnNameList;
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "Exception锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 鍒拌揣鍙婃椂鐜囨姤琛� 鏌ヨ
+        /// <summary>
+        /// 杩斿洖椤圭洰闃舵鍒楄〃
+        ///鍙傛暟锛歴tring sql銆�
+        ///杩斿洖鍊硷細object銆�
+        /// </summary>
+        [Route("YF_PayMentBill/Cg_POOrderReceiveDaySumReport")]
+        [HttpGet]
+        public object Cg_POOrderReceiveDaySumReport(string sWhere, string user)
+        {
+            try
+            {
+                List<object> columnNameList = new List<object>();
+
+                ds = oCN.RunProcReturn("exec  h_p_Cg_POOrderReceiveDaySumReport    '" + sWhere + "'", "h_p_Cg_POOrderReceiveDaySumReport");
+
+                //娣诲姞鍒楀悕
+                foreach (DataColumn col in ds.Tables[0].Columns)
+                {
+                    Type dataType = col.DataType;
+                    string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}";
+                    columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//鑾峰彇鍒癉ataColumn鍒楀璞$殑鍒楀悕
+                }
+
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "Sucess锛�";
+                objJsonResult.data = ds.Tables[0];
+                objJsonResult.list = columnNameList;
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "Exception锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
     }
 }
\ No newline at end of file
diff --git a/WebAPI/Controllers/CGGL/YF_PayMentOtherBillController.cs b/WebAPI/Controllers/CGGL/YF_PayMentOtherBillController.cs
index 94762aa..b679893 100644
--- a/WebAPI/Controllers/CGGL/YF_PayMentOtherBillController.cs
+++ b/WebAPI/Controllers/CGGL/YF_PayMentOtherBillController.cs
@@ -210,6 +210,16 @@
 
                 }
 
+                //杩涜 浼氳鏈熼棿 缁撹处 鐨勫垽鏂拰鎺у埗
+                int sYear = 0;
+                int sPeriod = 0;
+                DateTime HDate = DateTime.Now;
+                if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(HDate, ref sYear, ref sPeriod, ref s) == false)
+                {
+                    objJsonResult.Message = s;
+                    return objJsonResult;
+                }
+
                 //淇濆瓨
                 //淇濆瓨瀹屾瘯鍚庡鐞�
                 bool bResult;
@@ -366,7 +376,15 @@
                 }
                 //==================================================================================  
 
-
+                //杩涜 浼氳鏈熼棿 缁撹处 鐨勫垽鏂拰鎺у埗
+                int sYear = 0;
+                int sPeriod = 0;
+                DateTime HDate = DateTime.Now;
+                if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(HDate, ref sYear, ref sPeriod, ref s) == false)
+                {
+                    objJsonResult.Message = s;
+                    return objJsonResult;
+                }
 
                 oCN.BeginTran();
 
@@ -512,6 +530,19 @@
                 //杩涜闇�瑕佽繘琛岀殑瀹℃牳/鍙嶅鏍告搷浣�
                 if (IsAudit == 0) //瀹℃牳鎻愪氦
                 {
+
+                    //杩涜 浼氳鏈熼棿 缁撹处 鐨勫垽鏂拰鎺у埗
+                    string s = "";
+                    int sYear = 0;
+                    int sPeriod = 0;
+                    DateTime HDate = DateTime.Now;
+                    if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(HDate, ref sYear, ref sPeriod, ref s) == false)
+                    {
+                        objJsonResult.Message = s;
+                        return objJsonResult;
+                    }
+
+
                     oCN.BeginTran();
 
                     //璁板綍杩斿洖淇℃伅
@@ -543,6 +574,7 @@
                     }
                     //==================================================================================      
 
+                 
                     //瀹℃牳鎻愪氦
                     if (oBill.CheckBill(oBill.omodel.HInterID,oBill.omodel.HBillNo, "h_p_YF_PayMentOtherBill_AfterCheckCtrl", CurUserName, ref DBUtility.ClsPub.sExeReturnInfo) == true)
                     {
@@ -590,6 +622,17 @@
                     }
                     //===========================================================          
 
+                    //杩涜 浼氳鏈熼棿 缁撹处 鐨勫垽鏂拰鎺у埗
+                    string s = "";
+                    int sYear = 0;
+                    int sPeriod = 0;
+                    DateTime HDate = DateTime.Now;
+                    if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(HDate, ref sYear, ref sPeriod, ref s) == false)
+                    {
+                        objJsonResult.Message = s;
+                        return objJsonResult;
+                    }
+
                     //鍙嶅鏍告彁浜bandonCheck
                     if (oBill.AbandonCheck(oBill.omodel.HInterID, oBill.omodel.HBillNo, "h_p_YF_PayMentOtherBill_AfterUnCheckCtrl", CurUserName, ref DBUtility.ClsPub.sExeReturnInfo) == true)
                     {
diff --git a/WebAPI/Controllers/CJGL/Cj_SingleStationController.cs b/WebAPI/Controllers/CJGL/Cj_SingleStationController.cs
index 57b9a60..94b9d8a 100644
--- a/WebAPI/Controllers/CJGL/Cj_SingleStationController.cs
+++ b/WebAPI/Controllers/CJGL/Cj_SingleStationController.cs
@@ -682,8 +682,26 @@
                 oCN.RunProc($@"insert into Sc_StationOutBillSub_SN(HInterID,HBillNo_bak,HEntryID,HBarCode,HBarCodeQty,HMakeTime,HRemark,HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HRelationQty,HRelationMoney)
 values({HInterID}, '{HBillNo}', {(ds.Tables[0].Rows.Count == 0 ? 1 : int.Parse(ds.Tables[0].Rows[0]["HEntryID"].ToString()) + 1)}, '{omodel.HBarCode_P}', 1, GETDATE(), '', " + HProcExchInterID + ","+ HProcExchEntryID + ", '"+ HProcExchBillNo + "', '', 0, 0)");
 
+                //鎶婃潯鐮佸啓鍏ユ棩蹇楅噷闈�
+                LogService.CustomWriteLog("鏉$爜:" + omodel.HBarCode_P + ",宸ュ簭:"+ HProcID + ",鍑虹珯鏃堕棿:" + DateTime.Now, "TM" + DateTime.Now.ToString("yyyy-MM-dd"));
+
                 //鍙嶅啓宸ュ簭鍑虹珯鍗曠殑鍚堟牸鏁伴噺
                 oCN.RunProc("update Sc_StationOutBillMain set HQty+=1  where HProcExchInterID='" + HProcExchInterID + "' and HProcExchEntryID=" + HProcExchEntryID+ " and HInterID=" + HInterID);
+
+
+                ds = oCN.RunProcReturn($@"select (b.HQty -sum(isnull(ou.HQty,0))-sum(isnull(ou.HBadCount,0))) HQty from Sc_ProcessExchangeBillSub b WITH(NOLOCK)
+left join Sc_StationOutBillMain ou WITH(NOLOCK) on b.HInterID=ou.HProcExchInterID and b.HEntryID=ou.HProcExchEntryID
+where b.HInterID={HProcExchInterID} and b.HEntryID={HProcExchEntryID}
+group by b.HInterID,b.HEntryID,b.HQty", "Sc_ProcessExchangeBill_Out");
+
+                if (double.Parse(ds.Tables[0].Rows[0][0].ToString()) < 0) {
+                    oCN.RollBack();
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鍑虹珯鏁伴噺瓒呰繃娴佽浆鍗℃暟閲�!";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
 
                 oCN.Commit();
 
@@ -1502,9 +1520,28 @@
 //                        }
 
                         oCN.RunProc("update Gy_BarCodeBill set HStatus='' where HBarCode='" + model.HBarCode + "'");
+
+                        DataSet dataSet = oCN.RunProcReturn($"select top 1 HInterID  from Sc_StationOutBillMain where HProcExchInterID={subLsit[0].HProcExchInterID} and HProcExchEntryID={subLsit[0].HProcExchEntryID} and HBadCount>0", "Sc_StationOutBillMain");
+
+                        if (dataSet.Tables[0].Rows.Count > 0)
+                        {
+                            string HOutInterID = dataSet.Tables[0].Rows[0][0].ToString();
+
+                            oCN.RunProc("update Sc_StationOutBillMain set HBadCount-=1 where HInterID='" + HOutInterID + "'");
+                        }
+                        else
+                        {
+                            oCN.RollBack();
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "淇濆瓨澶辫触,褰撳墠娴佽浆鍗″綋鍓嶅伐搴忕殑鍑虹珯鍗曟病鏈変笉鑹暟閲�!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
                     }
                 }
                 else {
+                    oCN.RollBack();
                     objJsonResult.code = "0";
                     objJsonResult.count = 0;
                     objJsonResult.Message = "淇濆瓨澶辫触,鏃犵粨鏋滐紒";
diff --git a/WebAPI/Controllers/CJGL/Cj_StationEntrustInBillController.cs b/WebAPI/Controllers/CJGL/Cj_StationEntrustInBillController.cs
index a989769..ef3de00 100644
--- a/WebAPI/Controllers/CJGL/Cj_StationEntrustInBillController.cs
+++ b/WebAPI/Controllers/CJGL/Cj_StationEntrustInBillController.cs
@@ -316,6 +316,82 @@
         }
         #endregion
 
+        #region 宸ュ簭杩涚珯鎵厤浠剁爜
+        [Route("Cj_StationBill/txtHBarCode_Mater_KeyDown")]
+        [HttpGet]
+        public object txtHBarCode_Mater_KeyDown(string HBarCode, string HInterID)
+        {
+            try
+            {
+                if (HBarCode == null || HBarCode.Equals(""))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "绌虹櫧鐮�,鏉″舰鐮佷笉鑳戒负绌猴紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                //鍒ゆ柇鏉″舰鐮佹槸鍚﹀湪鏉$爜妗f涓紝鍒ゆ柇鏉″舰鐮佹槸鍚﹀悎鐞� 
+                //鍏堝垽鏂� 涓存椂琛ㄤ腑鏄惁鏈夋暟鎹紝鏉″舰鐮佺殑鐗╂枡鏄惁鍦ㄦ竻鍗曚腑锛屽啓鍏� 鎵爜璁板綍琛�
+                //寰楀埌淇℃伅
+                ds = oCN.RunProcReturn("exec h_p_MES_StationInBillSub_BindBarCode   " + HInterID.ToString() + " ,'" + HBarCode + "'", "h_p_MES_StationInBillSub_BindBarCode");
+                //鍐欏叆淇℃伅
+                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.isLong(ds.Tables[0].Rows[0][0]) == 2)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "閿欒锛�" + DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0][1]);
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+
+                DataSet Dsplay = oCN.RunProcReturn("exec h_p_MES_StationInBillSub_BindDisplay   " + HInterID.ToString() + "  ", "h_p_MES_StationInBillSub_BindDisplay");
+
+                //鍐欏叆淇℃伅
+                if (Dsplay == null)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鍒锋柊澶辫触,鏃犳暟鎹樉绀猴紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                else if (Dsplay.Tables[0].Rows.Count == 0)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏌ユ棤鏁版嵁!";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "缁戝畾鎴愬姛锛�";
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "Exception锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
         #region 鎸囧紩鍗℃壂鐮佽幏鍙栦俊鎭�
         [Route("MES_SampleRecordBill_PDA/SampleRecordBillHBarCode_KeyDown")]
         [HttpGet]
diff --git a/WebAPI/Controllers/CJGL/Cj_StationInBillController.cs b/WebAPI/Controllers/CJGL/Cj_StationInBillController.cs
index 6dbe67c..6f5e9e6 100644
--- a/WebAPI/Controllers/CJGL/Cj_StationInBillController.cs
+++ b/WebAPI/Controllers/CJGL/Cj_StationInBillController.cs
@@ -468,6 +468,63 @@
         }
         #endregion
 
+        #region 宸ュ簭杩涚珯鎺ユ敹鍗曟祦姘村彿鍥炶溅 绯荤粺鍙傛暟鍒ゆ柇鏄惁缁戝畾閰嶄欢娓呭崟
+        [Route("Cj_StationInBill/MES_StationInBillSubBindSource")]
+        [HttpGet]
+        public object MES_StationInBillSubBindSource(string HInterID, string HProcExchInterID,string HProcExchEntryID)
+        {
+            try
+            {
+                //濡傛灉绯荤粺鍙傛暟鍚敤浜� 杩涚珯鍗曠粦瀹氶厤浠舵竻鍗曞垯 浠庣敓浜х敤鏂欐竻鍗曚腑鑾峰彇宸ュ簭BOM鍐欏叆 涓存椂琛紝骞跺姞杞借〃鏍�
+                Pub_Class.ClsXt_SystemParameter oParam = new ClsXt_SystemParameter();
+                string sIsBingLine = oParam.GetSingleSystemParameter("MES_StationInBill_LineBindCtl", ref DBUtility.ClsPub.sExeReturnInfo);
+                if (sIsBingLine.Trim() == "Y")
+                {
+                    oCN.RunProc("exec h_p_MES_StationInBillSubBindSource_Insert " + HProcExchInterID.ToString() + " , " + HProcExchEntryID.ToString() + "," + HInterID.ToString() + " ");
+
+                    ds = oCN.RunProcReturn($@"select * from
+(
+ select 
+a.HICMOInterID,a.HICMOEntryID,b.HProcID  
+from Sc_ProcessExchangeBillMain a with(nolock) 
+inner join Sc_ProcessExchangeBillSub b with(nolock)  on a.HInterID=b.HinterID
+Where a.HInterID={HProcExchInterID} and b.HEntryID={HProcExchEntryID}
+) a
+inner join (
+select a.HICMOInterID,a.HICMOEntryID, b.HProcID 
+from Sc_PPBomBillMain a with(nolock) 
+inner join Sc_PPBomBillSub b with(nolock)  on a.HInterID=b.HInterID
+Where b.HKeyMaterID_Line<>0
+)b on a.HICMOInterID=b.HICMOInterID and a.HICMOEntryID=b.HICMOEntryID and a.HProcID=b.HProcID", "Sc_ProcessExchangeBillMain");
+
+                    if (ds.Tables[0].Rows.Count > 0) {
+                        objJsonResult.Message = "闇�瑕佺粦瀹氶厤浠讹紒";
+                    }
+                    else
+                    {
+                        objJsonResult.Message = "涓嶉渶瑕佺粦瀹氶厤浠讹紒";
+                    }
+                }
+                else {
+                    objJsonResult.Message = "涓嶉渶瑕佺粦瀹氶厤浠讹紒";
+                }
+
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.data =null;
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "Exception锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
 
         #region 宸ュ簭杩涚珯鎺ユ敹鍗曟祦姘村彿鍥炶溅鑾峰彇宸ュ簭淇℃伅
         [Route("Cj_StationInBill/txtHProcNo_KeyDown_qiaoyi")]
diff --git a/WebAPI/Controllers/CJGL/Cj_StationOutBillController.cs b/WebAPI/Controllers/CJGL/Cj_StationOutBillController.cs
index 4693446..43a78b6 100644
--- a/WebAPI/Controllers/CJGL/Cj_StationOutBillController.cs
+++ b/WebAPI/Controllers/CJGL/Cj_StationOutBillController.cs
@@ -575,6 +575,7 @@
                 }
                 sw.Stop();//缁撴潫璁℃椂
                 LogService.Write($"11.鍙傛暟鏌ヨ缁撴潫,鏂板缁撴潫锛岀敤鏃�" + sw.Elapsed);
+                LogService.Write("END--鍑虹珯鍗曟嵁淇濆瓨缁撴潫锛屽嚭绔欏崟鍙凤細" + HBillNo);
                 objJsonResult.code = "1";
                 objJsonResult.count = 1;
                 objJsonResult.Message = "鏂板鍗曟嵁鎴愬姛锛�";
@@ -583,6 +584,7 @@
             }
             catch (Exception e)
             {
+                LogService.Write("鍑虹珯鍗曟嵁淇濆瓨鍙戠敓寮傚父锛屽嚭绔欏崟鍙凤細" + sArray[0].ToString());
                 oCN.RollBack();
                 objJsonResult.code = "0";
                 objJsonResult.count = 0;
@@ -2356,7 +2358,17 @@
 
                     oCn.BeginTran();
 
-                    oCn.RunProc("delete from Sc_StationOutBillSub_SN where HInterID="+ HInterID+ " and HBarCode='"+ HBardcode + "'");
+                    ds = oCn.RunProcReturn($"select * from Sc_AssemblyBillMain  where HMainSourceInterID={oBill.omodel.HProcExchInterID} and HMainSourceEntryID={oBill.omodel.HProcExchEntryID} and HBarCode_P='{HBardcode}'", "Sc_AssemblyBillMain");
+
+                    if (ds.Tables[0].Rows.Count > 0)
+                    {
+                        oCn.RunProc($"delete from Sc_AssemblyBillMain  where HMainSourceInterID={oBill.omodel.HProcExchInterID} and HMainSourceEntryID={oBill.omodel.HProcExchEntryID} and HBarCode_P='{HBardcode}'");
+                        oCn.RunProc($"delete from Sc_AssemblyBillMain  where HInterID={ds.Tables[0].Rows[0]["HInterID"].ToString()} and HBarCode_P='{HBardcode}'");
+                    }
+
+                    oCn.RunProc("delete from Sc_StationOutBillSub_SN where HInterID=" + HInterID + " and HBarCode='" + HBardcode + "'");
+                    oCn.RunProc("update  Sc_StationOutBillMain set HQty-=1 where HInterID=" + HInterID);
+                  
 
                     oCn.Commit();
 
@@ -3223,19 +3235,30 @@
         #region  褰撳墠宸ュ崟(鎵爜姹囨姤) 鏉$爜鏌ヨ
         [Route("Cj_StationOutBill_CurrentWork/SNHBardCodeList")]
         [HttpGet]
-        public object SNHBardCodeList(string HBarCode, string user, int HOrgID)
+        public object SNHBardCodeList(string HBarCode, string HProcID, int HOrgID)
         {
             try
             {
+                DataSet dataSet = null;
+                var num = 0;
                 ds = oCN.RunProcReturn(@"select HSourceInterID,HSourceBillNo from Gy_BarCodeBill WITH(NOLOCK) where HBarCode='" + HBarCode + "'", "Gy_BarCodeBill");
-              
                 if (ds.Tables[0].Rows.Count > 0)
                 {
-                    string HSourceInterID = ds.Tables[0].Rows[0]["HSourceInterID"].ToString();
-                    string HSourceBillNo = ds.Tables[0].Rows[0]["HSourceBillNo"].ToString();
+                    num = 1;
+                    dataSet = ds;
+                }
 
-                    ds = oCN.RunProcReturn("select * from gy_czygl WITH(NOLOCK) where czymc='" + user + "'", "gy_czygl");
-                    string HProcID = ds.Tables[0].Rows[0]["HProcID"].ToString();
+                ds = oCN.RunProcReturn(@"select HInterID,HBillNo from Sc_ProcessExchangeBillMain WITH(NOLOCK) where HBillNo='" + HBarCode + "'", "Sc_ProcessExchangeBillMain");
+                if (ds.Tables[0].Rows.Count > 0)
+                {
+                    num = 2;
+                    dataSet = ds;
+                }
+
+                if (num == 1)
+                {
+                    string HSourceInterID = dataSet.Tables[0].Rows[0]["HSourceInterID"].ToString();
+                    string HSourceBillNo = dataSet.Tables[0].Rows[0]["HSourceBillNo"].ToString();
 
                     ds = oCN.RunProcReturn("select  * from h_v_Sc_ProcessExchangeBillList where hmainid=" + HSourceInterID + " and 鍗曟嵁鍙�='" + HSourceBillNo + "' and HProcID=" + HProcID, "h_v_Sc_ProcessExchangeBillList");
 
@@ -3252,7 +3275,30 @@
                     objJsonResult.data = ds.Tables[0];
                     return objJsonResult;
                 }
-                else {
+                else if (num == 2)
+                {
+                    string HSourceInterID = dataSet.Tables[0].Rows[0]["HInterID"].ToString();
+                    string HSourceBillNo = dataSet.Tables[0].Rows[0]["HBillNo"].ToString();
+
+                    ds = oCN.RunProcReturn("select  * from h_v_Sc_ProcessExchangeBillList where hmainid=" + HSourceInterID + " and 鍗曟嵁鍙�='" + HSourceBillNo + "' and HProcID=" + HProcID, "h_v_Sc_ProcessExchangeBillList");
+
+                    if (ds.Tables[0].Rows.Count == 0)
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鏉$爜:" + HBarCode + ",娴佽浆鍗�:" + HSourceBillNo + ",涓庡綋鍓嶆祦杞崱,鎵�瀵瑰簲鐨勫伐搴忎笉瀛樺湪!";
+                        objJsonResult.data = ds.Tables[0];
+                        return objJsonResult;
+                    }
+
+                    objJsonResult.code = "1";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "";
+                    objJsonResult.data = ds.Tables[0];
+                    return objJsonResult;
+                }
+                else 
+                {
                     objJsonResult.code = "0";
                     objJsonResult.count = 0;
                     objJsonResult.Message = "鏉$爜鏌ユ棤鏁版嵁!";
diff --git a/WebAPI/Controllers/CJGL/Gy_MaterPreventErrMouldBillController.cs b/WebAPI/Controllers/CJGL/Gy_MaterPreventErrMouldBillController.cs
new file mode 100644
index 0000000..87a755a
--- /dev/null
+++ b/WebAPI/Controllers/CJGL/Gy_MaterPreventErrMouldBillController.cs
@@ -0,0 +1,763 @@
+锘縰sing DBUtility;
+using Model;
+using Newtonsoft.Json;
+using Newtonsoft.Json.Linq;
+using System;
+using System.Collections.Generic;
+using System.Data;
+using System.Linq;
+using System.Web;
+using System.Web.Http;
+using System.Windows.Forms;
+using WebAPI.Models;
+
+namespace WebAPI.Controllers.CJGL
+{
+    public class Gy_MaterPreventErrMouldBillController : ApiController
+    {
+        public DBUtility.ClsPub.Enum_BillStatus BillStatus;//鍗曟嵁鐘舵�侊紙鏂板锛屼慨鏀癸紝娴忚锛屾洿鏂板崟浠凤紝鍙樻洿锛�
+        private json objJsonResult = new json();
+        public DataSet ds = new DataSet();
+        SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
+        public DAL.ClsGy_MaterPreventErrMouldBillMain OBill = new DAL.ClsGy_MaterPreventErrMouldBillMain();
+        public DAL.ClsGy_MaterPreventErrMouldBillMain BillOld = new DAL.ClsGy_MaterPreventErrMouldBillMain();
+
+
+        #region 浜у搧闃查敊楠岃瘉娓呭崟鍒楄〃 鏌ヨ       
+        [Route("Gy_MaterPreventErrMouldBill/get锘縂y_MaterPreventErrMouldBillMainList")]
+        [HttpGet]
+        public object get锘縂y_MaterPreventErrMouldBillMainList(string sWhere, string user)
+        {
+            try
+            {
+                List<object> columnNameList = new List<object>();
+
+                //鏌ョ湅鏉冮檺
+                if (!DBUtility.ClsPub.Security_Log_second("Gy_MaterPreventErrMouldBillMain_Check", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏌ヨ澶辫触锛佹棤鏉冮檺锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+
+                if (sWhere == null || sWhere.Equals(""))
+                {
+                    ds = oCN.RunProcReturn("select * from h_v_Gy_MaterPreventErrMouldBillMainList order by 鍗曟嵁鍙� desc", "锘縣_v_Gy_MaterPreventErrMouldBillMainList");
+                }
+                else
+                {
+                    string sql1 = "select * from  h_v_Gy_MaterPreventErrMouldBillMainList  where 1 = 1 ";
+                    string sql = sql1 + sWhere + " order by 鍗曟嵁鍙� desc";
+                    ds = oCN.RunProcReturn(sql, "锘縣_v_Gy_MaterPreventErrMouldBillMainList");
+                }
+
+                //娣诲姞鍒楀悕
+                foreach (DataColumn col in ds.Tables[0].Columns)
+                {
+                    Type dataType = col.DataType;
+                    string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}";
+                    columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//鑾峰彇鍒癉ataColumn鍒楀璞$殑鍒楀悕
+                }
+
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "Sucess锛�";
+                objJsonResult.data = ds.Tables[0];
+                objJsonResult.list = columnNameList;
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "Exception锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 浜у搧闃查敊楠岃瘉娓呭崟鍒楄〃 鑾峰彇缂栬緫鍒楄〃鏁版嵁
+        [Route("Gy_MaterPreventErrMouldBill/锘縂y_MaterPreventErrMouldBillMainEditList")]
+        [HttpGet]
+        public object Gy_MaterPreventErrMouldBillMainEditList(string HInterID, string User)
+        {
+            try
+            {
+                List<DataTable> tableList = new List<DataTable>();
+
+                //鏌ョ湅鏉冮檺
+                if (!DBUtility.ClsPub.Security_Log("Gy_MaterPreventErrMouldBillMain_Edit", 1, false, User))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏌ヨ澶辫触!";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                if (HInterID == null || HInterID.Equals(""))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "HInterID涓嶈兘涓虹┖锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                ds = oCN.RunProcReturn("select * from h_v_Gy_MaterPreventErrMouldBillMainList where HInterID = " + HInterID, " h_v_Gy_MaterPreventErrMouldBillMainList");
+
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "鏌ヨ鎴愬姛锛�";
+                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;
+            }
+        }
+        #endregion
+
+        #region 浜у搧闃查敊楠岃瘉娓呭崟鍗� 淇濆瓨/缂栬緫      
+        [Route("Gy_MaterPreventErrMouldBill/Save锘縂y_MaterPreventErrMouldBillMain")]
+        [HttpPost]
+        public object Save锘縂y_MaterPreventErrMouldBillMain([FromBody] JObject sMainSub)
+        {
+            var _value = sMainSub["sMainSub"].ToString();
+            string msg1 = _value.ToString();
+            string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
+            string msg2 = sArray[0].ToString();
+            string msg3 = sArray[1].ToString();
+            string refSav = sArray[2].ToString();//鎿嶄綔鏂瑰紡鏁版嵁绫诲瀷 1娣诲姞 3淇敼 2 澶嶅埗
+            string user = sArray[3].ToString();//鐢ㄦ埛鍚�
+
+            string UserName = "";
+            string s = "";
+            ListModels oListModels = new ListModels();
+            try
+            {
+                //淇濆瓨鏉冮檺
+                if (!DBUtility.ClsPub.Security_Log_second("Gy_MaterPreventErrMouldBillMain_Edit", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "淇濆瓨澶辫触锛佹棤鏉冮檺锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                DAL.ClsGy_MaterPreventErrMouldBillMain oBill = new DAL.ClsGy_MaterPreventErrMouldBillMain();
+                List<Model.Cls锘縂y_MaterPreventErrMouldBillMain> lsmain = new List<Model.Cls锘縂y_MaterPreventErrMouldBillMain>();
+                msg2 = msg2.Replace("\\", "");
+                msg2 = msg2.Replace("\n", "");  //\n
+                lsmain = oListModels.getObjectByJson_锘縂y_MaterPreventErrMouldBillMain(msg2);
+                foreach (Model.Cls锘縂y_MaterPreventErrMouldBillMain oItem in lsmain)
+                {
+                    if (refSav == "Add")
+                    {
+                        //鍗曟嵁鍙锋槸鍚﹂噸澶�
+                        if (OBill.IsExistBillNo(ref ClsPub.sExeReturnInfo, oItem.HBillNo, BillStatus, OBill.omodel.HInterID))
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁鍙烽噸澶嶏紒涓嶅厑璁镐繚瀛橈紒";
+                            objJsonResult.data = 1;
+                            return objJsonResult;
+                        }
+                    }
+                    if (refSav == "Update")
+                    {
+                        if (OBill.ShowBill(oItem.HInterID, ref s) == false)
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "姝ゅ崟鎹湁璇紒";
+                            objJsonResult.data = 1;
+                            return objJsonResult;
+                        }
+                        //鍒ゆ柇鏄惁鍙紪杈�
+                        if (OBill.omodel.HChecker != "" && OBill.omodel.HChecker != null)
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "姝ゅ崟鎹凡缁忚瀹℃牳锛屼笉鍏佽淇敼锛�";
+                            objJsonResult.data = 1;
+                            return objJsonResult;
+                        }
+                        if (OBill.omodel.HBillStatus > 1)
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "姝ゅ崟鎹浜庝笉鍙紪杈戠姸鎬侊紝涓嶅厑璁镐慨鏀癸紒";
+                            objJsonResult.data = 1;
+                            return objJsonResult;
+                        }
+
+                    }
+                    UserName = oItem.HMaker;  //鍒跺崟浜�
+                    oItem.HBillType = "7516";
+                    oItem.HBillSubType = "7516";
+
+
+
+                    oItem.HYear = DBUtility.ClsPub.isLong(DateTime.Now.Year);
+                    oItem.HPeriod = DBUtility.ClsPub.isLong(DateTime.Now.Month);
+                    oItem.HMakeDate = DBUtility.ClsPub.isStrNull(DateTime.Now.ToString("yyyy-MM-dd"));
+
+                    if (DBUtility.ClsPub.isStrNull(oItem.HDate) == "")
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "淇濆瓨澶辫触锛佹病鏈夊崟鎹棩鏈燂紝鏃犳硶淇濆瓨锛�";
+                        objJsonResult.data = 1;
+                        return objJsonResult;
+                    }
+                    oBill.omodel = oItem;
+                }
+                // 琛ㄤ綋鏁版嵁
+                //鎸� },{鏉ユ媶鍒嗘暟缁� //鍘绘帀銆愬拰銆�
+                msg3 = msg3.Substring(1, msg3.Length - 2);
+                msg3 = msg3.Replace("\\", "");
+                msg3 = msg3.Replace("\n", "");  //\n
+                List<Model.ClsGy_MaterPreventErrMouldBillSub> ls = new List<Model.ClsGy_MaterPreventErrMouldBillSub>();
+                ls = oListModels.getObjectByJson_Gy_MaterPreventErrMouldBillSub(msg3);
+                int i = 0;
+                foreach (Model.ClsGy_MaterPreventErrMouldBillSub oItemSub in ls)
+                {
+                    i++;
+                    oItemSub.HEntryID = i;
+
+
+                    oItemSub.HEntryCloseDate = DBUtility.ClsPub.isDate(DateTime.Now);
+                    oItemSub.HCloseType = false;   //鍏抽棴绫诲瀷
+
+                    oBill.DetailColl.Add(oItemSub);
+
+                }
+                //淇濆瓨
+                //淇濆瓨瀹屾瘯鍚庡鐞�
+                bool bResult;
+                if (refSav == "Add")
+                {
+
+                    bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo);
+                }
+                else if (refSav == "Update")
+                {
+                    bResult = oBill.ModifyBill(oBill.omodel.HInterID, ref DBUtility.ClsPub.sExeReturnInfo);
+                }
+                else
+                {
+                    bResult = false;
+                }
+                if (bResult)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "淇濆瓨鎴愬姛锛�";
+                    objJsonResult.data = 1;
+                    return objJsonResult;
+                }
+                else
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "淇濆瓨澶辫触锛�" + DBUtility.ClsPub.sExeReturnInfo;
+                    objJsonResult.data = 1;
+                    return objJsonResult;
+                }
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "淇濆瓨澶辫触锛�" + e.ToString();
+                objJsonResult.data = 1;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 浜у搧闃查敊楠岃瘉娓呭崟鍗� 鍒犻櫎     
+        [Route("Gy_MaterPreventErrMouldBill/Delete锘縂y_MaterPreventErrMouldBill")]
+        [HttpGet]
+        public object Delete锘縂y_MaterPreventErrMouldBill(string HInterID, string user)
+        {
+            try
+            {
+                //鏌ョ湅鏉冮檺
+                if (!DBUtility.ClsPub.Security_Log("Gy_MaterPreventErrMouldBillMain_Delete", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犲垹闄ゆ潈闄愶紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                if (HInterID == null || HInterID.Equals(""))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "HInterID涓嶈兘涓虹┖锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                oCN.BeginTran();
+
+                oCN.RunProc("delete from Gy_MaterPreventErrMouldBillMain where HInterID = " + HInterID);
+
+                oCN.Commit();
+
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "Sucess锛�";
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "Exception锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 浜у搧闃查敊楠岃瘉娓呭崟鍗� 瀹℃牳/鍙嶅鏍�     
+        [Route("Gy_MaterPreventErrMouldBill/AuditGy_MaterPreventErrMouldBill")]
+        [HttpGet]
+        public object AuditGy_MaterPreventErrMouldBill(string HInterID, int Type, string user)
+        {
+            try
+            {
+                //鍒ゆ柇鏄惁鏈夊鏍告潈闄�
+                if (!DBUtility.ClsPub.Security_Log("Gy_MaterPreventErrMouldBillMain_Check", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犳潈闄愬鏍�!";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                if (string.IsNullOrWhiteSpace(HInterID))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "HInterID涓虹┖锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                ClsPub.CurUserName = user;
+                BillOld.MvarItemKey = "Gy_MaterPreventErrMouldBillMain";
+                oCN.BeginTran();//寮�濮嬩簨鍔�
+
+                //Type 1 瀹℃牳  2  鍙嶅鏍�
+                if (Type == 1)
+                {
+                    //鍒ゆ柇鍗曟嵁鏄惁宸茬粡瀹℃牳
+                    DataSet ds;
+                    string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
+                    if (ds == null || ds.Tables[0].Rows.Count == 0)
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鍗曟嵁涓嶅瓨鍦紒";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HCloseMan"] != null && ds.Tables[0].Rows[0]["HCloseMan"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插叧闂�!涓嶈兘鍐嶆瀹℃牳锛�";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        if (ds.Tables[0].Rows[0]["HDeleteMan"] != null && ds.Tables[0].Rows[0]["HDeleteMan"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸蹭綔搴�!涓嶈兘鍐嶆瀹℃牳锛�";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        if (ds.Tables[0].Rows[0]["HChecker"] != null && ds.Tables[0].Rows[0]["HChecker"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插鏍�!涓嶈兘鍐嶆瀹℃牳锛�";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        //瀹℃牳鍗曟嵁
+                        if (!BillOld.CheckBill(Int64.Parse(HInterID), ref ClsPub.sExeReturnInfo))
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 1;
+                            objJsonResult.Message = "瀹℃牳澶辫触!鍘熷洜:" + ClsPub.sExeReturnInfo;
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                }
+                else
+                {
+                    //鍒ゆ柇鍗曟嵁鏄惁宸茬粡鍙嶅鏍�
+                    DataSet ds;
+                    string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HCloseMan"] != null && ds.Tables[0].Rows[0]["HCloseMan"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插叧闂�!涓嶈兘杩涜鍙嶅鏍革紒";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        if (ds.Tables[0].Rows[0]["HDeleteMan"] != null && ds.Tables[0].Rows[0]["HDeleteMan"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸蹭綔搴�!涓嶈兘杩涜鍙嶅鏍革紒";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        if (ds.Tables[0].Rows[0]["HChecker"] == null || ds.Tables[0].Rows[0]["HChecker"].ToString() == "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁鏈鏍�!涓嶉渶瑕佸弽瀹℃牳!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        //鍙嶅鏍稿崟鎹�
+                        if (!BillOld.AbandonCheck(Int64.Parse(HInterID), ref ClsPub.sExeReturnInfo))
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 1;
+                            objJsonResult.Message = "鍙嶅鏍稿け璐�!鍘熷洜:" + ClsPub.sExeReturnInfo;
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                }
+
+                oCN.Commit();//鎻愪氦浜嬪姟
+
+                objJsonResult.code = "0";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "鎵ц鎴愬姛锛�";
+                objJsonResult.data = null;
+                return objJsonResult; ;
+
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "鎵ц澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 浜у搧闃查敊楠岃瘉娓呭崟鍗� 鍏抽棴/鍙嶅叧闂姛鑳�
+        [Route("Gy_MaterPreventErrMouldBill/CloseGy_MaterPreventErrMouldBill")]
+        [HttpGet]
+        public object CloseGy_MaterPreventErrMouldBill(string HInterID, int Type, string user)
+        {
+            try
+            {
+                //鍒ゆ柇鏄惁鏈夊垹闄ゆ潈闄�
+                if (!DBUtility.ClsPub.Security_Log("Gy_MaterPreventErrMouldBillMain_Close", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犳潈闄愬叧闂�!";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                if (string.IsNullOrWhiteSpace(HInterID))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "HInterID涓虹┖锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                ClsPub.CurUserName = user;
+                BillOld.MvarItemKey = "Gy_MaterPreventErrMouldBillMain";
+                oCN.BeginTran();//寮�濮嬩簨鍔�
+
+                //Type 1 鍏抽棴  2  鍙嶅叧闂�
+                if (Type == 1)
+                {
+                    //鍒ゆ柇鍗曟嵁鏄惁宸茬粡鍏抽棴
+                    DataSet ds;
+                    string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
+                    if (ds == null || ds.Tables[0].Rows.Count == 0)
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鍗曟嵁涓嶅瓨鍦紒";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HDeleteMan"] != null && ds.Tables[0].Rows[0]["HDeleteMan"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸蹭綔搴�!涓嶈兘杩涜鍏抽棴!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        if (ds.Tables[0].Rows[0]["HChecker"] == null || ds.Tables[0].Rows[0]["HChecker"].ToString() == "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁鏈鏍�!涓嶈兘杩涜鍏抽棴!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+
+                        if (ds.Tables[0].Rows[0]["HCloseMan"] != null && ds.Tables[0].Rows[0]["HCloseMan"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插叧闂�!涓嶈兘鍐嶆鍏抽棴!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        //鍏抽棴鍗曟嵁
+                        if (!BillOld.CloseBill(Int64.Parse(HInterID), ref ClsPub.sExeReturnInfo))
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 1;
+                            objJsonResult.Message = "鍏抽棴澶辫触!鍘熷洜:" + ClsPub.sExeReturnInfo;
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                }
+                else
+                {
+                    //鍒ゆ柇鍗曟嵁鏄惁宸茬粡鍙嶅叧闂�
+                    DataSet ds;
+                    string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HDeleteMan"] != null && ds.Tables[0].Rows[0]["HDeleteMan"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸蹭綔搴�!涓嶈兘杩涜鍏抽棴!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        if (ds.Tables[0].Rows[0]["HChecker"] == null || ds.Tables[0].Rows[0]["HChecker"].ToString() == "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁鏈鏍�!涓嶈兘杩涜鍏抽棴!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        if (ds.Tables[0].Rows[0]["HCloseMan"] == null || ds.Tables[0].Rows[0]["HCloseMan"].ToString() == "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁鏈叧闂�!涓嶉渶瑕佸啀鍙嶅叧闂�!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        //鍙嶅叧闂崟鎹�
+                        if (!BillOld.CancelClose(Int64.Parse(HInterID), ref ClsPub.sExeReturnInfo))
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 1;
+                            objJsonResult.Message = "鍙嶅叧闂け璐�!鍘熷洜:" + ClsPub.sExeReturnInfo;
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                }
+
+                oCN.Commit();//鎻愪氦浜嬪姟
+
+                objJsonResult.code = "0";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "鎵ц鎴愬姛锛�";
+                objJsonResult.data = null;
+                return objJsonResult; ;
+
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "鎵ц澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 浜у搧闃查敊楠岃瘉娓呭崟鍗� 浣滃簾/鍙嶄綔搴熷姛鑳�
+        [Route("Gy_MaterPreventErrMouldBill/DropGy_MaterPreventErrMouldBill")]
+        [HttpGet]
+        public object DropGy_MaterPreventErrMouldBill(string HInterID, int Type, string user)
+        {
+            try
+            {
+                //鍒ゆ柇鏄惁鏈変綔搴熸潈闄�
+                if (!DBUtility.ClsPub.Security_Log("Gy_MaterPreventErrMouldBillMain_Drop", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犳潈闄愪綔搴�!";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                if (string.IsNullOrWhiteSpace(HInterID))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "HInterID涓虹┖锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                ClsPub.CurUserName = user;
+                BillOld.MvarItemKey = "Gy_MaterPreventErrMouldBillMain";
+                oCN.BeginTran();//寮�濮嬩簨鍔�
+
+                //Type 1 浣滃簾  2  鍙嶄綔搴�
+                if (Type == 1)
+                {
+                    //鍒ゆ柇鍗曟嵁鏄惁宸茬粡浣滃簾
+                    DataSet ds;
+                    string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
+                    if (ds == null || ds.Tables[0].Rows.Count == 0)
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鍗曟嵁涓嶅瓨鍦紒";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HChecker"] != null && ds.Tables[0].Rows[0]["HChecker"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插鏍�!涓嶈兘杩涜浣滃簾!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        if (ds.Tables[0].Rows[0]["HDeleteMan"] != null && ds.Tables[0].Rows[0]["HDeleteMan"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸蹭綔搴�!涓嶉渶瑕佸啀浣滃簾!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        //浣滃簾鍗曟嵁
+                        if (!BillOld.Cancelltion(Int64.Parse(HInterID), ref ClsPub.sExeReturnInfo))
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 1;
+                            objJsonResult.Message = "浣滃簾澶辫触!鍘熷洜:" + ClsPub.sExeReturnInfo;
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                }
+                else
+                {
+                    //鍒ゆ柇鍗曟嵁鏄惁宸茬粡鍙嶄綔搴�
+                    DataSet ds;
+                    string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HChecker"] != null && ds.Tables[0].Rows[0]["HChecker"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插鏍�!涓嶈兘杩涜浣滃簾!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        if (ds.Tables[0].Rows[0]["HDeleteMan"] == null || ds.Tables[0].Rows[0]["HDeleteMan"].ToString() == "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁鏈綔搴�!涓嶉渶瑕佸啀鍙嶄綔搴�!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        //鍙嶄綔搴熷崟鎹�
+                        if (!BillOld.AbandonCancelltion(Int64.Parse(HInterID), ref ClsPub.sExeReturnInfo))
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 1;
+                            objJsonResult.Message = "鍙嶄綔搴熷け璐�!鍘熷洜:" + ClsPub.sExeReturnInfo;
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                }
+
+                oCN.Commit();//鎻愪氦浜嬪姟
+
+                objJsonResult.code = "0";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "鎵ц鎴愬姛锛�";
+                objJsonResult.data = null;
+                return objJsonResult; ;
+
+            }
+            catch (Exception e)
+            {
+                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/Controllers/CJGL/Qc_PreventErrMouldCheckBillController.cs b/WebAPI/Controllers/CJGL/Qc_PreventErrMouldCheckBillController.cs
new file mode 100644
index 0000000..6efdc09
--- /dev/null
+++ b/WebAPI/Controllers/CJGL/Qc_PreventErrMouldCheckBillController.cs
@@ -0,0 +1,858 @@
+锘縰sing DBUtility;
+using Model;
+using Newtonsoft.Json;
+using Newtonsoft.Json.Linq;
+using System;
+using System.Collections.Generic;
+using System.Data;
+using System.Linq;
+using System.Web;
+using System.Web.Http;
+using System.Windows.Forms;
+using WebAPI.Models;
+
+namespace WebAPI.Controllers.CJGL
+{
+    public class Qc_PreventErrMouldCheckBillController : ApiController
+    {
+        public DBUtility.ClsPub.Enum_BillStatus BillStatus;//鍗曟嵁鐘舵�侊紙鏂板锛屼慨鏀癸紝娴忚锛屾洿鏂板崟浠凤紝鍙樻洿锛�
+        private json objJsonResult = new json();
+        public DataSet ds = new DataSet();
+        SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
+        public DAL.ClsQc_PreventErrMouldCheckBillMain OBill = new DAL.ClsQc_PreventErrMouldCheckBillMain();
+        public DAL.ClsQc_PreventErrMouldCheckBillMain BillOld = new DAL.ClsQc_PreventErrMouldCheckBillMain();
+
+
+        #region 闃查敊楠岃瘉妫�鏌ュ垪琛� 鏌ヨ       
+        [Route("Qc_PreventErrMouldCheckBill/get锘縌c_PreventErrMouldCheckBillMainList")]
+        [HttpGet]
+        public object get锘縌c_PreventErrMouldCheckBillMainList(string sWhere, string user)
+        {
+            try
+            {
+                List<object> columnNameList = new List<object>();
+
+                //鏌ョ湅鏉冮檺
+                if (!DBUtility.ClsPub.Security_Log_second("Qc_PreventErrMouldCheckBillMain_Check", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏌ヨ澶辫触锛佹棤鏉冮檺锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+
+                if (sWhere == null || sWhere.Equals(""))
+                {
+                    ds = oCN.RunProcReturn("select * from h_v_Qc_PreventErrMouldCheckBillMainList order by 鍗曟嵁鍙� desc", "锘縣_v_Qc_PreventErrMouldCheckBillMainList");
+                }
+                else
+                {
+                    string sql1 = "select * from  h_v_Qc_PreventErrMouldCheckBillMainList  where 1 = 1 ";
+                    string sql = sql1 + sWhere + " order by 鍗曟嵁鍙� desc";
+                    ds = oCN.RunProcReturn(sql, "锘縣_v_Qc_PreventErrMouldCheckBillMainList");
+                }
+
+                //娣诲姞鍒楀悕
+                foreach (DataColumn col in ds.Tables[0].Columns)
+                {
+                    Type dataType = col.DataType;
+                    string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}";
+                    columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//鑾峰彇鍒癉ataColumn鍒楀璞$殑鍒楀悕
+                }
+
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "Sucess锛�";
+                objJsonResult.data = ds.Tables[0];
+                objJsonResult.list = columnNameList;
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "Exception锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 闃查敊楠岃瘉妫�鏌ュ垪琛� 鑾峰彇缂栬緫鍒楄〃鏁版嵁
+        [Route("Qc_PreventErrMouldCheckBill/锘縌c_PreventErrMouldCheckBillMainEditList")]
+        [HttpGet]
+        public object Qc_PreventErrMouldCheckBillMainEditList(string HInterID, string User)
+        {
+            try
+            {
+                List<DataTable> tableList = new List<DataTable>();
+
+                //鏌ョ湅鏉冮檺
+                if (!DBUtility.ClsPub.Security_Log("Qc_PreventErrMouldCheckBillMain_Edit", 1, false, User))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏌ヨ澶辫触!";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                if (HInterID == null || HInterID.Equals(""))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "HInterID涓嶈兘涓虹┖锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                ds = oCN.RunProcReturn("select * from h_v_Qc_PreventErrMouldCheckBillMainList where HInterID = " + HInterID, " h_v_Qc_PreventErrMouldCheckBillMainList");
+
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "鏌ヨ鎴愬姛锛�";
+                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;
+            }
+        }
+        #endregion
+
+        #region 闃查敊楠岃瘉妫�鏌ュ崟 淇濆瓨/缂栬緫      
+        [Route("Qc_PreventErrMouldCheckBill/Save锘縌c_PreventErrMouldCheckBillMain")]
+        [HttpPost]
+        public object Save锘縌c_PreventErrMouldCheckBillMain([FromBody] JObject sMainSub)
+        {
+            var _value = sMainSub["sMainSub"].ToString();
+            string msg1 = _value.ToString();
+            string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
+            string msg2 = sArray[0].ToString();
+            string msg3 = sArray[1].ToString();
+            string refSav = sArray[2].ToString();//鎿嶄綔鏂瑰紡鏁版嵁绫诲瀷 1娣诲姞 3淇敼 2 澶嶅埗
+            string user = sArray[3].ToString();//鐢ㄦ埛鍚�
+
+            string UserName = "";
+            string s = "";
+            ListModels oListModels = new ListModels();
+            try
+            {
+                //淇濆瓨鏉冮檺
+                if (!DBUtility.ClsPub.Security_Log_second("Qc_PreventErrMouldCheckBillMain_Edit", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "淇濆瓨澶辫触锛佹棤鏉冮檺锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                DAL.Cls锘縌c_PreventErrMouldCheckBillMain oBill = new DAL.Cls锘縌c_PreventErrMouldCheckBillMain();
+                List<Model.Cls锘縌c_PreventErrMouldCheckBillMain> lsmain = new List<Model.Cls锘縌c_PreventErrMouldCheckBillMain>();
+                msg2 = msg2.Replace("\\", "");
+                msg2 = msg2.Replace("\n", "");  //\n
+                lsmain = oListModels.getObjectByJson_锘縌c_PreventErrMouldCheckBillMain(msg2);
+                foreach (Model.Cls锘縌c_PreventErrMouldCheckBillMain oItem in lsmain)
+                {
+                    if (refSav == "Add")
+                    {
+                        //鍗曟嵁鍙锋槸鍚﹂噸澶�
+                        if (OBill.IsExistBillNo(ref ClsPub.sExeReturnInfo, oItem.HBillNo, BillStatus, OBill.omodel.HInterID))
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁鍙烽噸澶嶏紒涓嶅厑璁镐繚瀛橈紒";
+                            objJsonResult.data = 1;
+                            return objJsonResult;
+                        }
+                    }
+                    if (refSav == "Update")
+                    {
+                        if (OBill.ShowBill(oItem.HInterID, ref s) == false)
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "姝ゅ崟鎹湁璇紒";
+                            objJsonResult.data = 1;
+                            return objJsonResult;
+                        }
+                        //鍒ゆ柇鏄惁鍙紪杈�
+                        if (OBill.omodel.HChecker != "" && OBill.omodel.HChecker != null)
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "姝ゅ崟鎹凡缁忚瀹℃牳锛屼笉鍏佽淇敼锛�";
+                            objJsonResult.data = 1;
+                            return objJsonResult;
+                        }
+                        if (OBill.omodel.HBillStatus > 1)
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "姝ゅ崟鎹浜庝笉鍙紪杈戠姸鎬侊紝涓嶅厑璁镐慨鏀癸紒";
+                            objJsonResult.data = 1;
+                            return objJsonResult;
+                        }
+
+                    }
+                    UserName = oItem.HMaker;  //鍒跺崟浜�
+                    oItem.HBillType = "3744";
+                    oItem.HBillSubType = "3744";
+
+
+
+                    oItem.HYear = DBUtility.ClsPub.isLong(DateTime.Now.Year);
+                    oItem.HPeriod = DBUtility.ClsPub.isLong(DateTime.Now.Month);
+                    oItem.HMakeDate = DBUtility.ClsPub.isStrNull(DateTime.Now.ToString("yyyy-MM-dd"));
+
+                    if (DBUtility.ClsPub.isStrNull(oItem.HDate) == "")
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "淇濆瓨澶辫触锛佹病鏈夊崟鎹棩鏈燂紝鏃犳硶淇濆瓨锛�";
+                        objJsonResult.data = 1;
+                        return objJsonResult;
+                    }
+                    oBill.omodel = oItem;
+                }
+                // 琛ㄤ綋鏁版嵁
+                //鎸� },{鏉ユ媶鍒嗘暟缁� //鍘绘帀銆愬拰銆�
+                msg3 = msg3.Substring(1, msg3.Length - 2);
+                msg3 = msg3.Replace("\\", "");
+                msg3 = msg3.Replace("\n", "");  //\n
+                List<Model.ClsQc_PreventErrMouldCheckBillSub> ls = new List<Model.ClsQc_PreventErrMouldCheckBillSub>();
+                ls = oListModels.getObjectByJson_Qc_PreventErrMouldCheckBillSub(msg3);
+                int i = 0;
+                foreach (Model.ClsQc_PreventErrMouldCheckBillSub oItemSub in ls)
+                {
+                    i++;
+                    oItemSub.HEntryID = i;
+
+
+                    oItemSub.HEntryCloseDate = DBUtility.ClsPub.isDate(DateTime.Now);
+                    oItemSub.HCloseType = false;   //鍏抽棴绫诲瀷
+
+                    oBill.DetailColl.Add(oItemSub);
+
+                }
+                //淇濆瓨
+                //淇濆瓨瀹屾瘯鍚庡鐞�
+                bool bResult;
+                if (refSav == "Add")
+                {
+
+                    bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo);
+                }
+                else if (refSav == "Update")
+                {
+                    bResult = oBill.ModifyBill(oBill.omodel.HInterID, ref DBUtility.ClsPub.sExeReturnInfo);
+                }
+                else
+                {
+                    bResult = false;
+                }
+                if (bResult)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "淇濆瓨鎴愬姛锛�";
+                    objJsonResult.data = 1;
+                    return objJsonResult;
+                }
+                else
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "淇濆瓨澶辫触锛�" + DBUtility.ClsPub.sExeReturnInfo;
+                    objJsonResult.data = 1;
+                    return objJsonResult;
+                }
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "淇濆瓨澶辫触锛�" + e.ToString();
+                objJsonResult.data = 1;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 闃查敊楠岃瘉妫�鏌ュ崟 鍒犻櫎     
+        [Route("Qc_PreventErrMouldCheckBill/Delete锘縌c_PreventErrMouldCheckBill")]
+        [HttpGet]
+        public object Delete锘縌c_PreventErrMouldCheckBill(string HInterID, string user)
+        {
+            try
+            {
+                //鏌ョ湅鏉冮檺
+                if (!DBUtility.ClsPub.Security_Log("Qc_PreventErrMouldCheckBillMain_Delete", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犲垹闄ゆ潈闄愶紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                if (HInterID == null || HInterID.Equals(""))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "HInterID涓嶈兘涓虹┖锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                oCN.BeginTran();
+
+                oCN.RunProc("delete from Qc_PreventErrMouldCheckBillMain where HInterID = " + HInterID);
+
+                oCN.Commit();
+
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "Sucess锛�";
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "Exception锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 闃查敊楠岃瘉妫�鏌ュ崟 瀹℃牳/鍙嶅鏍�     
+        [Route("Qc_PreventErrMouldCheckBill/AuditQc_PreventErrMouldCheckBill")]
+        [HttpGet]
+        public object AuditQc_PreventErrMouldCheckBill(string HInterID, int Type, string user)
+        {
+            try
+            {
+                //鍒ゆ柇鏄惁鏈夊鏍告潈闄�
+                if (!DBUtility.ClsPub.Security_Log("Qc_PreventErrMouldCheckBillMain_Check", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犳潈闄愬鏍�!";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                if (string.IsNullOrWhiteSpace(HInterID))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "HInterID涓虹┖锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                ClsPub.CurUserName = user;
+                BillOld.MvarItemKey = "Qc_PreventErrMouldCheckBillMain";
+                oCN.BeginTran();//寮�濮嬩簨鍔�
+
+                //Type 1 瀹℃牳  2  鍙嶅鏍�
+                if (Type == 1)
+                {
+                    //鍒ゆ柇鍗曟嵁鏄惁宸茬粡瀹℃牳
+                    DataSet ds;
+                    string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
+                    if (ds == null || ds.Tables[0].Rows.Count == 0)
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鍗曟嵁涓嶅瓨鍦紒";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HCloseMan"] != null && ds.Tables[0].Rows[0]["HCloseMan"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插叧闂�!涓嶈兘鍐嶆瀹℃牳锛�";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        if (ds.Tables[0].Rows[0]["HDeleteMan"] != null && ds.Tables[0].Rows[0]["HDeleteMan"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸蹭綔搴�!涓嶈兘鍐嶆瀹℃牳锛�";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        if (ds.Tables[0].Rows[0]["HChecker"] != null && ds.Tables[0].Rows[0]["HChecker"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插鏍�!涓嶈兘鍐嶆瀹℃牳锛�";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        //瀹℃牳鍗曟嵁
+                        if (!BillOld.CheckBill(Int64.Parse(HInterID), ref ClsPub.sExeReturnInfo))
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 1;
+                            objJsonResult.Message = "瀹℃牳澶辫触!鍘熷洜:" + ClsPub.sExeReturnInfo;
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                }
+                else
+                {
+                    //鍒ゆ柇鍗曟嵁鏄惁宸茬粡鍙嶅鏍�
+                    DataSet ds;
+                    string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HCloseMan"] != null && ds.Tables[0].Rows[0]["HCloseMan"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插叧闂�!涓嶈兘杩涜鍙嶅鏍革紒";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        if (ds.Tables[0].Rows[0]["HDeleteMan"] != null && ds.Tables[0].Rows[0]["HDeleteMan"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸蹭綔搴�!涓嶈兘杩涜鍙嶅鏍革紒";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        if (ds.Tables[0].Rows[0]["HChecker"] == null || ds.Tables[0].Rows[0]["HChecker"].ToString() == "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁鏈鏍�!涓嶉渶瑕佸弽瀹℃牳!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        //鍙嶅鏍稿崟鎹�
+                        if (!BillOld.AbandonCheck(Int64.Parse(HInterID), ref ClsPub.sExeReturnInfo))
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 1;
+                            objJsonResult.Message = "鍙嶅鏍稿け璐�!鍘熷洜:" + ClsPub.sExeReturnInfo;
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                }
+
+                oCN.Commit();//鎻愪氦浜嬪姟
+
+                objJsonResult.code = "0";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "鎵ц鎴愬姛锛�";
+                objJsonResult.data = null;
+                return objJsonResult; ;
+
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "鎵ц澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 闃查敊楠岃瘉妫�鏌ュ崟 鍏抽棴/鍙嶅叧闂姛鑳�
+        [Route("Qc_PreventErrMouldCheckBill/CloseQc_PreventErrMouldCheckBill")]
+        [HttpGet]
+        public object CloseQc_PreventErrMouldCheckBill(string HInterID, int Type, string user)
+        {
+            try
+            {
+                //鍒ゆ柇鏄惁鏈夊垹闄ゆ潈闄�
+                if (!DBUtility.ClsPub.Security_Log("Qc_PreventErrMouldCheckBillMain_Close", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犳潈闄愬叧闂�!";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                if (string.IsNullOrWhiteSpace(HInterID))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "HInterID涓虹┖锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                ClsPub.CurUserName = user;
+                BillOld.MvarItemKey = "Qc_PreventErrMouldCheckBillMain";
+                oCN.BeginTran();//寮�濮嬩簨鍔�
+
+                //Type 1 鍏抽棴  2  鍙嶅叧闂�
+                if (Type == 1)
+                {
+                    //鍒ゆ柇鍗曟嵁鏄惁宸茬粡鍏抽棴
+                    DataSet ds;
+                    string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
+                    if (ds == null || ds.Tables[0].Rows.Count == 0)
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鍗曟嵁涓嶅瓨鍦紒";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HDeleteMan"] != null && ds.Tables[0].Rows[0]["HDeleteMan"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸蹭綔搴�!涓嶈兘杩涜鍏抽棴!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        if (ds.Tables[0].Rows[0]["HChecker"] == null || ds.Tables[0].Rows[0]["HChecker"].ToString() == "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁鏈鏍�!涓嶈兘杩涜鍏抽棴!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+
+                        if (ds.Tables[0].Rows[0]["HCloseMan"] != null && ds.Tables[0].Rows[0]["HCloseMan"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插叧闂�!涓嶈兘鍐嶆鍏抽棴!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        //鍏抽棴鍗曟嵁
+                        if (!BillOld.CloseBill(Int64.Parse(HInterID), ref ClsPub.sExeReturnInfo))
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 1;
+                            objJsonResult.Message = "鍏抽棴澶辫触!鍘熷洜:" + ClsPub.sExeReturnInfo;
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                }
+                else
+                {
+                    //鍒ゆ柇鍗曟嵁鏄惁宸茬粡鍙嶅叧闂�
+                    DataSet ds;
+                    string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HDeleteMan"] != null && ds.Tables[0].Rows[0]["HDeleteMan"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸蹭綔搴�!涓嶈兘杩涜鍏抽棴!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        if (ds.Tables[0].Rows[0]["HChecker"] == null || ds.Tables[0].Rows[0]["HChecker"].ToString() == "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁鏈鏍�!涓嶈兘杩涜鍏抽棴!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        if (ds.Tables[0].Rows[0]["HCloseMan"] == null || ds.Tables[0].Rows[0]["HCloseMan"].ToString() == "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁鏈叧闂�!涓嶉渶瑕佸啀鍙嶅叧闂�!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        //鍙嶅叧闂崟鎹�
+                        if (!BillOld.CancelClose(Int64.Parse(HInterID), ref ClsPub.sExeReturnInfo))
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 1;
+                            objJsonResult.Message = "鍙嶅叧闂け璐�!鍘熷洜:" + ClsPub.sExeReturnInfo;
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                }
+
+                oCN.Commit();//鎻愪氦浜嬪姟
+
+                objJsonResult.code = "0";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "鎵ц鎴愬姛锛�";
+                objJsonResult.data = null;
+                return objJsonResult; ;
+
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "鎵ц澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 闃查敊楠岃瘉妫�鏌ュ崟 浣滃簾/鍙嶄綔搴熷姛鑳�
+        [Route("Qc_PreventErrMouldCheckBill/DropQc_PreventErrMouldCheckBill")]
+        [HttpGet]
+        public object DropQc_PreventErrMouldCheckBill(string HInterID, int Type, string user)
+        {
+            try
+            {
+                //鍒ゆ柇鏄惁鏈変綔搴熸潈闄�
+                if (!DBUtility.ClsPub.Security_Log("Qc_PreventErrMouldCheckBillMain_Drop", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犳潈闄愪綔搴�!";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                if (string.IsNullOrWhiteSpace(HInterID))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "HInterID涓虹┖锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                ClsPub.CurUserName = user;
+                BillOld.MvarItemKey = "Qc_PreventErrMouldCheckBillMain";
+                oCN.BeginTran();//寮�濮嬩簨鍔�
+
+                //Type 1 浣滃簾  2  鍙嶄綔搴�
+                if (Type == 1)
+                {
+                    //鍒ゆ柇鍗曟嵁鏄惁宸茬粡浣滃簾
+                    DataSet ds;
+                    string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
+                    if (ds == null || ds.Tables[0].Rows.Count == 0)
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鍗曟嵁涓嶅瓨鍦紒";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HChecker"] != null && ds.Tables[0].Rows[0]["HChecker"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插鏍�!涓嶈兘杩涜浣滃簾!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        if (ds.Tables[0].Rows[0]["HDeleteMan"] != null && ds.Tables[0].Rows[0]["HDeleteMan"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸蹭綔搴�!涓嶉渶瑕佸啀浣滃簾!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        //浣滃簾鍗曟嵁
+                        if (!BillOld.Cancelltion(Int64.Parse(HInterID), ref ClsPub.sExeReturnInfo))
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 1;
+                            objJsonResult.Message = "浣滃簾澶辫触!鍘熷洜:" + ClsPub.sExeReturnInfo;
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                }
+                else
+                {
+                    //鍒ゆ柇鍗曟嵁鏄惁宸茬粡鍙嶄綔搴�
+                    DataSet ds;
+                    string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HChecker"] != null && ds.Tables[0].Rows[0]["HChecker"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插鏍�!涓嶈兘杩涜浣滃簾!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        if (ds.Tables[0].Rows[0]["HDeleteMan"] == null || ds.Tables[0].Rows[0]["HDeleteMan"].ToString() == "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁鏈綔搴�!涓嶉渶瑕佸啀鍙嶄綔搴�!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        //鍙嶄綔搴熷崟鎹�
+                        if (!BillOld.AbandonCancelltion(Int64.Parse(HInterID), ref ClsPub.sExeReturnInfo))
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 1;
+                            objJsonResult.Message = "鍙嶄綔搴熷け璐�!鍘熷洜:" + ClsPub.sExeReturnInfo;
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                }
+
+                oCN.Commit();//鎻愪氦浜嬪姟
+
+                objJsonResult.code = "0";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "鎵ц鎴愬姛锛�";
+                objJsonResult.data = null;
+                return objJsonResult; ;
+
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "鎵ц澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 闃查敊楠岃瘉妫�鏌ュ崟  閫夌潃鐗╂枡 鍚�  鏌ュ嚭  浜у搧闃查敊楠岃瘉娓呭崟 鐩稿搴旂殑鐗╂枡淇℃伅
+        [Route("Qc_PreventErrMouldCheckBill/锘縂etGy_MaterPreventList")]
+        [HttpGet]
+        public object GetGy_MaterPreventList(string HMaterID, string user)
+        {
+            try
+            {
+                List<DataTable> tableList = new List<DataTable>();
+
+                //鏌ョ湅鏉冮檺
+                if (!DBUtility.ClsPub.Security_Log_second("Gy_MaterPreventErrMouldBillMain_Edit", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏌ヨ澶辫触锛佹棤鏉冮檺锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+
+                if (HMaterID == null || HMaterID.Equals(""))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鐗╂枡id涓嶈兘涓虹┖锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                ds = oCN.RunProcReturn("select * from h_v_Gy_MaterPreventErrMouldBillMainList where HMaterID = " + HMaterID, " h_v_Gy_MaterPreventErrMouldBillMainList");
+
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "鏌ヨ鎴愬姛锛�";
+                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;
+            }
+        }
+        #endregion
+
+        #region 鎶ュ伐鍙拌烦杞幏鍙栨暟鎹�
+        [Route("Qc_PreventErrMouldCheckBill/锘縌c_PreventErrMouldCheckBillList")]
+        [HttpGet]
+        public object Qc_PreventErrMouldCheckBillList(string HMaterID, string User)
+        {
+            try
+            {
+                List<DataTable> tableList = new List<DataTable>();
+
+                //鏌ョ湅鏉冮檺
+                if (!DBUtility.ClsPub.Security_Log("Qc_PreventErrMouldCheckBillMain_Edit", 1, false, User))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏌ヨ澶辫触!";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                if (HMaterID == null || HMaterID.Equals(""))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鐗╂枡涓嶈兘涓虹┖锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }               
+
+                ds = oCN.RunProcReturn("exec h_p_PreventErrMouldCheck '" + HMaterID + "'", "h_p_PreventErrMouldCheck");
+
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "鏌ヨ鎴愬姛锛�";
+                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;
+            }
+        }
+        #endregion
+
+    }
+}
\ No newline at end of file
diff --git a/WebAPI/Controllers/CJGL/Sc_ProcessExchangeBillController.cs b/WebAPI/Controllers/CJGL/Sc_ProcessExchangeBillController.cs
index 55daeae..4a5c1dc 100644
--- a/WebAPI/Controllers/CJGL/Sc_ProcessExchangeBillController.cs
+++ b/WebAPI/Controllers/CJGL/Sc_ProcessExchangeBillController.cs
@@ -819,7 +819,7 @@
                                                 宸ヤ綔涓績 HCenterName,HSupID,渚涘簲鍟嗕唬鐮� HSupNumber,渚涘簲鍟� HSupName,isEntrust HSupFlag,璁″垝鏁伴噺 HQty,鍔犲伐鍗曚环 HOutPrice, 琛ㄤ綋澶囨敞 HRemark,
                                             杩涚珯鍏宠仈鏁伴噺 HRelationQty_In,鍑虹珯鍏宠仈鏁伴噺 HRelationQty_Out,濮斿宸ュ崟鏁伴噺 HRelationQty_WWOrder,涓嶅悎鏍兼暟閲� HRelationQty_Bad,瓒呴姣斾緥 HOverRate,
                                             鑹巼 HPassRate,绱鑹巼 HSumPassRate,鍥剧焊缂栧彿 HPicNum,鏈伐搴忕‘璁よ褰� HProcCheckNote,宸ヨ壓鍙傛暟 HTechnologyParameter,HDeptID,
-                                            鍔犲伐杞﹂棿浠g爜 HDeptNumber,鍔犲伐杞﹂棿 HDeptName,鍑虹珯鎶ュ簾鍏宠仈鏁伴噺 HRelationQty_OutBad
+                                            鍔犲伐杞﹂棿浠g爜 HDeptNumber,鍔犲伐杞﹂棿 HDeptName,鍑虹珯鎶ュ簾鍏宠仈鏁伴噺 HRelationQty_OutBad,SN杩囩珯鎺у埗 HSNCtrl
                                             from h_v_Sc_ProcessExchangeBillQuerySub");
                 ds = oCN.RunProcReturn(sql+ " where hmainid="+ HInterID + "  order by cast(娴佹按鍙� as int) ", "h_v_Sc_ProcessExchangeBillQuerySub");
                 objJsonResult.code = "0";
diff --git a/WebAPI/Controllers/CJGL/Sc_WorkBeginDotCheckBillController.cs b/WebAPI/Controllers/CJGL/Sc_WorkBeginDotCheckBillController.cs
new file mode 100644
index 0000000..7a73086
--- /dev/null
+++ b/WebAPI/Controllers/CJGL/Sc_WorkBeginDotCheckBillController.cs
@@ -0,0 +1,1564 @@
+锘縰sing DBUtility;
+using Model;
+using Newtonsoft.Json;
+using Newtonsoft.Json.Linq;
+using System;
+using System.Collections.Generic;
+using System.Data;
+using System.Linq;
+using System.Web;
+using System.Web.Http;
+using System.Windows.Forms;
+using WebAPI.Models;
+
+namespace WebAPI.Controllers.CJGL
+{
+    public class Sc_WorkBeginDotCheckBillController : ApiController
+    {
+        public DBUtility.ClsPub.Enum_BillStatus BillStatus;//鍗曟嵁鐘舵�侊紙鏂板锛屼慨鏀癸紝娴忚锛屾洿鏂板崟浠凤紝鍙樻洿锛�
+        private json objJsonResult = new json();
+        public DataSet ds = new DataSet();
+        SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
+        public DAL.ClsSc_WorkBeginDotCheckBillMain OBill = new DAL.ClsSc_WorkBeginDotCheckBillMain();   //鍚姩鐐规鍗�
+        public DAL.ClsSc_WorkBeginDotCheckBillMain BillOld = new DAL.ClsSc_WorkBeginDotCheckBillMain();//鍚姩鐐规鍗�
+        public DAL.ClsGy_WorkBeginDotCheckListBillMain OBill1 = new DAL.ClsGy_WorkBeginDotCheckListBillMain();  //璁惧鍚姩鐐规娓呭崟
+        public DAL.ClsGy_WorkBeginDotCheckListBillMain BillOld1 = new DAL.ClsGy_WorkBeginDotCheckListBillMain(); //璁惧鍚姩鐐规娓呭崟
+
+
+        #region 鍚姩鐐规鍒楄〃 鏌ヨ       
+        [Route("Sc_WorkBeginDotCheckBill/get锘縎c_WorkBeginDotCheckBillMainList")]
+        [HttpGet]
+        public object get锘縎c_WorkBeginDotCheckBillMainList(string sWhere, string user)
+        {
+            try
+            {
+                List<object> columnNameList = new List<object>();
+
+                //鏌ョ湅鏉冮檺
+                if (!DBUtility.ClsPub.Security_Log_second("Sc_WorkBeginDotCheckBillMain_Check", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏌ヨ澶辫触锛佹棤鏉冮檺锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+
+                if (sWhere == null || sWhere.Equals(""))
+                {
+                    ds = oCN.RunProcReturn("select * from h_v_Sc_WorkBeginDotCheckBillMainList order by 鍗曟嵁鍙� desc", "锘縣_v_Sc_WorkBeginDotCheckBillMainList");
+                }
+                else
+                {
+                    string sql1 = "select * from  h_v_Sc_WorkBeginDotCheckBillMainList  where 1 = 1 ";
+                    string sql = sql1 + sWhere + " order by 鍗曟嵁鍙� desc";
+                    ds = oCN.RunProcReturn(sql, "锘縣_v_Sc_WorkBeginDotCheckBillMainList");
+                }
+
+                //娣诲姞鍒楀悕
+                foreach (DataColumn col in ds.Tables[0].Columns)
+                {
+                    Type dataType = col.DataType;
+                    string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}";
+                    columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//鑾峰彇鍒癉ataColumn鍒楀璞$殑鍒楀悕
+                }
+
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "Sucess锛�";
+                objJsonResult.data = ds.Tables[0];
+                objJsonResult.list = columnNameList;
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "Exception锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 鍚姩鐐规鍒楄〃 鑾峰彇缂栬緫鍒楄〃鏁版嵁
+        [Route("Sc_WorkBeginDotCheckBill/锘縎c_WorkBeginDotCheckBillMainEditList")]
+        [HttpGet]
+        public object Sc_WorkBeginDotCheckBillMainEditList(string HInterID, string User)
+        {
+            try
+            {
+                List<DataTable> tableList = new List<DataTable>();
+
+                //鏌ョ湅鏉冮檺
+                if (!DBUtility.ClsPub.Security_Log("Sc_WorkBeginDotCheckBillMain_Edit", 1, false, User))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏌ヨ澶辫触!";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                if (HInterID == null || HInterID.Equals(""))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "HInterID涓嶈兘涓虹┖锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                ds = oCN.RunProcReturn("select * from h_v_Sc_WorkBeginDotCheckBillMainList where HInterID = " + HInterID, " h_v_Sc_WorkBeginDotCheckBillMainList");
+
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "鏌ヨ鎴愬姛锛�";
+                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;
+            }
+        }
+        #endregion
+
+        #region 鍚姩鐐规鍗� 淇濆瓨/缂栬緫      
+        [Route("Sc_WorkBeginDotCheckBill/Save锘縎c_WorkBeginDotCheckBillMain")]
+        [HttpPost]
+        public object Save锘縎c_WorkBeginDotCheckBillMain([FromBody] JObject sMainSub)
+        {
+            var _value = sMainSub["sMainSub"].ToString();
+            string msg1 = _value.ToString();
+            string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
+            string msg2 = sArray[0].ToString();
+            string msg3 = sArray[1].ToString();
+            string refSav = sArray[2].ToString();//鎿嶄綔鏂瑰紡鏁版嵁绫诲瀷 1娣诲姞 3淇敼 2 澶嶅埗
+            string user = sArray[3].ToString();//鐢ㄦ埛鍚�
+
+            string UserName = "";
+            string s = "";
+            ListModels oListModels = new ListModels();
+            try
+            {
+                //淇濆瓨鏉冮檺
+                if (!DBUtility.ClsPub.Security_Log_second("Sc_WorkBeginDotCheckBillMain_Edit", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "淇濆瓨澶辫触锛佹棤鏉冮檺锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                DAL.Cls锘縎c_WorkBeginDotCheckBillMain oBill = new DAL.Cls锘縎c_WorkBeginDotCheckBillMain();
+                List<Model.Cls锘縎c_WorkBeginDotCheckBillMain> lsmain = new List<Model.Cls锘縎c_WorkBeginDotCheckBillMain>();
+                msg2 = msg2.Replace("\\", "");
+                msg2 = msg2.Replace("\n", "");  //\n
+                lsmain = oListModels.getObjectByJson_锘縎c_WorkBeginDotCheckBillMain(msg2);
+                foreach (Model.Cls锘縎c_WorkBeginDotCheckBillMain oItem in lsmain)
+                {
+                    if (refSav == "Add")
+                    {
+                        //鍗曟嵁鍙锋槸鍚﹂噸澶�
+                        if (OBill.IsExistBillNo(ref ClsPub.sExeReturnInfo, oItem.HBillNo, BillStatus, OBill.omodel.HInterID))
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁鍙烽噸澶嶏紒涓嶅厑璁镐繚瀛橈紒";
+                            objJsonResult.data = 1;
+                            return objJsonResult;
+                        }
+                    }
+                    if (refSav == "Update")
+                    {
+                        if (OBill.ShowBill(oItem.HInterID, ref s) == false)
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "姝ゅ崟鎹湁璇紒";
+                            objJsonResult.data = 1;
+                            return objJsonResult;
+                        }
+                        //鍒ゆ柇鏄惁鍙紪杈�
+                        if (OBill.omodel.HChecker != "" && OBill.omodel.HChecker != null)
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "姝ゅ崟鎹凡缁忚瀹℃牳锛屼笉鍏佽淇敼锛�";
+                            objJsonResult.data = 1;
+                            return objJsonResult;
+                        }
+                        if (OBill.omodel.HBillStatus > 1)
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "姝ゅ崟鎹浜庝笉鍙紪杈戠姸鎬侊紝涓嶅厑璁镐慨鏀癸紒";
+                            objJsonResult.data = 1;
+                            return objJsonResult;
+                        }
+
+                    }
+                    UserName = oItem.HMaker;  //鍒跺崟浜�
+                    oItem.HBillType = "3744";
+                    oItem.HBillSubType = "3744";
+
+
+
+                    oItem.HYear = DBUtility.ClsPub.isLong(DateTime.Now.Year);
+                    oItem.HPeriod = DBUtility.ClsPub.isLong(DateTime.Now.Month);
+                    oItem.HMakeDate = DBUtility.ClsPub.isStrNull(DateTime.Now.ToString("yyyy-MM-dd"));
+
+                    if (DBUtility.ClsPub.isStrNull(oItem.HDate) == "")
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "淇濆瓨澶辫触锛佹病鏈夊崟鎹棩鏈燂紝鏃犳硶淇濆瓨锛�";
+                        objJsonResult.data = 1;
+                        return objJsonResult;
+                    }
+                    oBill.omodel = oItem;
+                }
+                // 琛ㄤ綋鏁版嵁
+                //鎸� },{鏉ユ媶鍒嗘暟缁� //鍘绘帀銆愬拰銆�
+                msg3 = msg3.Substring(1, msg3.Length - 2);
+                msg3 = msg3.Replace("\\", "");
+                msg3 = msg3.Replace("\n", "");  //\n
+                List<Model.ClsSc_WorkBeginDotCheckBillSub> ls = new List<Model.ClsSc_WorkBeginDotCheckBillSub>();
+                ls = oListModels.getObjectByJson_Sc_WorkBeginDotCheckBillSub(msg3);
+                int i = 0;
+                foreach (Model.ClsSc_WorkBeginDotCheckBillSub oItemSub in ls)
+                {
+                    i++;
+                    oItemSub.HEntryID = i;
+
+
+                    oItemSub.HEntryCloseDate = DBUtility.ClsPub.isDate(DateTime.Now);
+                    oItemSub.HCloseType = false;   //鍏抽棴绫诲瀷
+
+                    oBill.DetailColl.Add(oItemSub);
+
+                }
+                //淇濆瓨
+                //淇濆瓨瀹屾瘯鍚庡鐞�
+                bool bResult;
+                if (refSav == "Add")
+                {
+
+                    bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo);
+                }
+                else if (refSav == "Update")
+                {
+                    bResult = oBill.ModifyBill(oBill.omodel.HInterID, ref DBUtility.ClsPub.sExeReturnInfo);
+                }
+                else
+                {
+                    bResult = false;
+                }
+                if (bResult)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "淇濆瓨鎴愬姛锛�";
+                    objJsonResult.data = 1;
+                    return objJsonResult;
+                }
+                else
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "淇濆瓨澶辫触锛�" + DBUtility.ClsPub.sExeReturnInfo;
+                    objJsonResult.data = 1;
+                    return objJsonResult;
+                }
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "淇濆瓨澶辫触锛�" + e.ToString();
+                objJsonResult.data = 1;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 鍚姩鐐规鍗� 鍒犻櫎     
+        [Route("Sc_WorkBeginDotCheckBill/Delete锘縎c_WorkBeginDotCheckBill")]
+        [HttpGet]
+        public object Delete锘縎c_WorkBeginDotCheckBill(string HInterID, string user)
+        {
+            try
+            {
+                //鏌ョ湅鏉冮檺
+                if (!DBUtility.ClsPub.Security_Log("Sc_WorkBeginDotCheckBillMain_Delete", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犲垹闄ゆ潈闄愶紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                if (HInterID == null || HInterID.Equals(""))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "HInterID涓嶈兘涓虹┖锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                oCN.BeginTran();
+
+                oCN.RunProc("delete from Sc_WorkBeginDotCheckBillMain where HInterID = " + HInterID);
+
+                oCN.Commit();
+
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "Sucess锛�";
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "Exception锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 鍚姩鐐规鍗� 瀹℃牳/鍙嶅鏍�     
+        [Route("Sc_WorkBeginDotCheckBill/AuditSc_WorkBeginDotCheckBill")]
+        [HttpGet]
+        public object AuditSc_WorkBeginDotCheckBill(string HInterID, int Type, string user)
+        {
+            try
+            {
+                //鍒ゆ柇鏄惁鏈夊鏍告潈闄�
+                if (!DBUtility.ClsPub.Security_Log("Sc_WorkBeginDotCheckBillMain_Check", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犳潈闄愬鏍�!";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                if (string.IsNullOrWhiteSpace(HInterID))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "HInterID涓虹┖锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                ClsPub.CurUserName = user;
+                BillOld.MvarItemKey = "Sc_WorkBeginDotCheckBillMain";
+                oCN.BeginTran();//寮�濮嬩簨鍔�
+
+                //Type 1 瀹℃牳  2  鍙嶅鏍�
+                if (Type == 1)
+                {
+                    //鍒ゆ柇鍗曟嵁鏄惁宸茬粡瀹℃牳
+                    DataSet ds;
+                    string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
+                    if (ds == null || ds.Tables[0].Rows.Count == 0)
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鍗曟嵁涓嶅瓨鍦紒";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HCloseMan"] != null && ds.Tables[0].Rows[0]["HCloseMan"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插叧闂�!涓嶈兘鍐嶆瀹℃牳锛�";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        if (ds.Tables[0].Rows[0]["HDeleteMan"] != null && ds.Tables[0].Rows[0]["HDeleteMan"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸蹭綔搴�!涓嶈兘鍐嶆瀹℃牳锛�";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        if (ds.Tables[0].Rows[0]["HChecker"] != null && ds.Tables[0].Rows[0]["HChecker"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插鏍�!涓嶈兘鍐嶆瀹℃牳锛�";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        //瀹℃牳鍗曟嵁
+                        if (!BillOld.CheckBill(Int64.Parse(HInterID), ref ClsPub.sExeReturnInfo))
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 1;
+                            objJsonResult.Message = "瀹℃牳澶辫触!鍘熷洜:" + ClsPub.sExeReturnInfo;
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                }
+                else
+                {
+                    //鍒ゆ柇鍗曟嵁鏄惁宸茬粡鍙嶅鏍�
+                    DataSet ds;
+                    string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HCloseMan"] != null && ds.Tables[0].Rows[0]["HCloseMan"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插叧闂�!涓嶈兘杩涜鍙嶅鏍革紒";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        if (ds.Tables[0].Rows[0]["HDeleteMan"] != null && ds.Tables[0].Rows[0]["HDeleteMan"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸蹭綔搴�!涓嶈兘杩涜鍙嶅鏍革紒";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        if (ds.Tables[0].Rows[0]["HChecker"] == null || ds.Tables[0].Rows[0]["HChecker"].ToString() == "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁鏈鏍�!涓嶉渶瑕佸弽瀹℃牳!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        //鍙嶅鏍稿崟鎹�
+                        if (!BillOld.AbandonCheck(Int64.Parse(HInterID), ref ClsPub.sExeReturnInfo))
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 1;
+                            objJsonResult.Message = "鍙嶅鏍稿け璐�!鍘熷洜:" + ClsPub.sExeReturnInfo;
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                }
+
+                oCN.Commit();//鎻愪氦浜嬪姟
+
+                objJsonResult.code = "0";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "鎵ц鎴愬姛锛�";
+                objJsonResult.data = null;
+                return objJsonResult; ;
+
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "鎵ц澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 鍚姩鐐规鍗� 鍏抽棴/鍙嶅叧闂姛鑳�
+        [Route("Sc_WorkBeginDotCheckBill/CloseSc_WorkBeginDotCheckBill")]
+        [HttpGet]
+        public object CloseSc_WorkBeginDotCheckBill(string HInterID, int Type, string user)
+        {
+            try
+            {
+                //鍒ゆ柇鏄惁鏈夊垹闄ゆ潈闄�
+                if (!DBUtility.ClsPub.Security_Log("Sc_WorkBeginDotCheckBillMain_Close", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犳潈闄愬叧闂�!";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                if (string.IsNullOrWhiteSpace(HInterID))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "HInterID涓虹┖锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                ClsPub.CurUserName = user;
+                BillOld.MvarItemKey = "Sc_WorkBeginDotCheckBillMain";
+                oCN.BeginTran();//寮�濮嬩簨鍔�
+
+                //Type 1 鍏抽棴  2  鍙嶅叧闂�
+                if (Type == 1)
+                {
+                    //鍒ゆ柇鍗曟嵁鏄惁宸茬粡鍏抽棴
+                    DataSet ds;
+                    string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
+                    if (ds == null || ds.Tables[0].Rows.Count == 0)
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鍗曟嵁涓嶅瓨鍦紒";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HDeleteMan"] != null && ds.Tables[0].Rows[0]["HDeleteMan"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸蹭綔搴�!涓嶈兘杩涜鍏抽棴!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        if (ds.Tables[0].Rows[0]["HChecker"] == null || ds.Tables[0].Rows[0]["HChecker"].ToString() == "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁鏈鏍�!涓嶈兘杩涜鍏抽棴!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+
+                        if (ds.Tables[0].Rows[0]["HCloseMan"] != null && ds.Tables[0].Rows[0]["HCloseMan"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插叧闂�!涓嶈兘鍐嶆鍏抽棴!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        //鍏抽棴鍗曟嵁
+                        if (!BillOld.CloseBill(Int64.Parse(HInterID), ref ClsPub.sExeReturnInfo))
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 1;
+                            objJsonResult.Message = "鍏抽棴澶辫触!鍘熷洜:" + ClsPub.sExeReturnInfo;
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                }
+                else
+                {
+                    //鍒ゆ柇鍗曟嵁鏄惁宸茬粡鍙嶅叧闂�
+                    DataSet ds;
+                    string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HDeleteMan"] != null && ds.Tables[0].Rows[0]["HDeleteMan"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸蹭綔搴�!涓嶈兘杩涜鍏抽棴!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        if (ds.Tables[0].Rows[0]["HChecker"] == null || ds.Tables[0].Rows[0]["HChecker"].ToString() == "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁鏈鏍�!涓嶈兘杩涜鍏抽棴!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        if (ds.Tables[0].Rows[0]["HCloseMan"] == null || ds.Tables[0].Rows[0]["HCloseMan"].ToString() == "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁鏈叧闂�!涓嶉渶瑕佸啀鍙嶅叧闂�!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        //鍙嶅叧闂崟鎹�
+                        if (!BillOld.CancelClose(Int64.Parse(HInterID), ref ClsPub.sExeReturnInfo))
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 1;
+                            objJsonResult.Message = "鍙嶅叧闂け璐�!鍘熷洜:" + ClsPub.sExeReturnInfo;
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                }
+
+                oCN.Commit();//鎻愪氦浜嬪姟
+
+                objJsonResult.code = "0";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "鎵ц鎴愬姛锛�";
+                objJsonResult.data = null;
+                return objJsonResult; ;
+
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "鎵ц澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 鍚姩鐐规鍗� 浣滃簾/鍙嶄綔搴熷姛鑳�
+        [Route("Sc_WorkBeginDotCheckBill/DropSc_WorkBeginDotCheckBill")]
+        [HttpGet]
+        public object DropSc_WorkBeginDotCheckBill(string HInterID, int Type, string user)
+        {
+            try
+            {
+                //鍒ゆ柇鏄惁鏈変綔搴熸潈闄�
+                if (!DBUtility.ClsPub.Security_Log("Sc_WorkBeginDotCheckBillMain_Drop", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犳潈闄愪綔搴�!";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                if (string.IsNullOrWhiteSpace(HInterID))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "HInterID涓虹┖锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                ClsPub.CurUserName = user;
+                BillOld.MvarItemKey = "Sc_WorkBeginDotCheckBillMain";
+                oCN.BeginTran();//寮�濮嬩簨鍔�
+
+                //Type 1 浣滃簾  2  鍙嶄綔搴�
+                if (Type == 1)
+                {
+                    //鍒ゆ柇鍗曟嵁鏄惁宸茬粡浣滃簾
+                    DataSet ds;
+                    string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
+                    if (ds == null || ds.Tables[0].Rows.Count == 0)
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鍗曟嵁涓嶅瓨鍦紒";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HChecker"] != null && ds.Tables[0].Rows[0]["HChecker"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插鏍�!涓嶈兘杩涜浣滃簾!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        if (ds.Tables[0].Rows[0]["HDeleteMan"] != null && ds.Tables[0].Rows[0]["HDeleteMan"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸蹭綔搴�!涓嶉渶瑕佸啀浣滃簾!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        //浣滃簾鍗曟嵁
+                        if (!BillOld.Cancelltion(Int64.Parse(HInterID), ref ClsPub.sExeReturnInfo))
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 1;
+                            objJsonResult.Message = "浣滃簾澶辫触!鍘熷洜:" + ClsPub.sExeReturnInfo;
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                }
+                else
+                {
+                    //鍒ゆ柇鍗曟嵁鏄惁宸茬粡鍙嶄綔搴�
+                    DataSet ds;
+                    string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HChecker"] != null && ds.Tables[0].Rows[0]["HChecker"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插鏍�!涓嶈兘杩涜浣滃簾!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        if (ds.Tables[0].Rows[0]["HDeleteMan"] == null || ds.Tables[0].Rows[0]["HDeleteMan"].ToString() == "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁鏈綔搴�!涓嶉渶瑕佸啀鍙嶄綔搴�!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        //鍙嶄綔搴熷崟鎹�
+                        if (!BillOld.AbandonCancelltion(Int64.Parse(HInterID), ref ClsPub.sExeReturnInfo))
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 1;
+                            objJsonResult.Message = "鍙嶄綔搴熷け璐�!鍘熷洜:" + ClsPub.sExeReturnInfo;
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                }
+
+                oCN.Commit();//鎻愪氦浜嬪姟
+
+                objJsonResult.code = "0";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "鎵ц鎴愬姛锛�";
+                objJsonResult.data = null;
+                return objJsonResult; ;
+
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "鎵ц澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 鎶ュ伐鍙拌烦杞幏鍙栨暟鎹�
+        [Route("Sc_WorkBeginDotCheckBill/锘縎c_WorkBeginDotCheckBillList")]
+        [HttpGet]
+        public object Sc_WorkBeginDotCheckBillList(string HMaterID, string HProcID,string HSourceID,string User)
+        {
+            try
+            {
+                List<DataTable> tableList = new List<DataTable>();
+
+                //鏌ョ湅鏉冮檺
+                if (!DBUtility.ClsPub.Security_Log("Sc_WorkBeginDotCheckBillMain_Edit", 1, false, User))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏌ヨ澶辫触!";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                if (HMaterID == null || HMaterID.Equals(""))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鐗╂枡涓嶈兘涓虹┖锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                if (HProcID == null || HProcID.Equals(""))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "宸ュ簭涓嶈兘涓虹┖锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                if (HSourceID == null || HSourceID.Equals(""))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鐢熶骇璧勬簮涓嶈兘涓虹┖锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                ds = oCN.RunProcReturn("exec h_p_WorkBeginDotCheckList '" + HMaterID + "','" + HProcID + "','" + HSourceID + "'", "h_p_WorkBeginDotCheckList");
+
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "鏌ヨ鎴愬姛锛�";
+                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;
+            }
+        }
+        #endregion
+
+        #region 璁惧鍚姩鐐规娓呭崟鍒楄〃 鏌ヨ       
+        [Route("Sc_WorkBeginDotCheckBill/getGy_WorkBeginDotCheckListBillMainList")]
+        [HttpGet]
+        public object getGy_WorkBeginDotCheckListBillMainList(string sWhere, string user)
+        {
+            try
+            {
+                List<object> columnNameList = new List<object>();
+
+                //鏌ョ湅鏉冮檺
+                if (!DBUtility.ClsPub.Security_Log_second("Gy_WorkBeginDotCheckListBillMain_Check", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏌ヨ澶辫触锛佹棤鏉冮檺锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+
+                if (sWhere == null || sWhere.Equals(""))
+                {
+                    ds = oCN.RunProcReturn("select * from h_v_Gy_WorkBeginDotCheckListBillMainList order by 鍗曟嵁鍙� desc", "锘縣_v_Gy_WorkBeginDotCheckListBillMainList");
+                }
+                else
+                {
+                    string sql1 = "select * from  h_v_Gy_WorkBeginDotCheckListBillMainList  where 1 = 1 ";
+                    string sql = sql1 + sWhere + " order by 鍗曟嵁鍙� desc";
+                    ds = oCN.RunProcReturn(sql, "锘縣_v_Gy_WorkBeginDotCheckListBillMainList");
+                }
+
+                //娣诲姞鍒楀悕
+                foreach (DataColumn col in ds.Tables[0].Columns)
+                {
+                    Type dataType = col.DataType;
+                    string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}";
+                    columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//鑾峰彇鍒癉ataColumn鍒楀璞$殑鍒楀悕
+                }
+
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "Sucess锛�";
+                objJsonResult.data = ds.Tables[0];
+                objJsonResult.list = columnNameList;
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "Exception锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 璁惧鍚姩鐐规娓呭崟鍒楄〃 鑾峰彇缂栬緫鍒楄〃鏁版嵁
+        [Route("Sc_WorkBeginDotCheckBill/Gy_WorkBeginDotCheckListBillMainEditList")]
+        [HttpGet]
+        public object Gy_WorkBeginDotCheckListBillMainEditList(string HInterID, string User)
+        {
+            try
+            {
+                List<DataTable> tableList = new List<DataTable>();
+
+                //鏌ョ湅鏉冮檺
+                if (!DBUtility.ClsPub.Security_Log("Gy_WorkBeginDotCheckListBillMain_Edit", 1, false, User))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏌ヨ澶辫触!";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                if (HInterID == null || HInterID.Equals(""))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "HInterID涓嶈兘涓虹┖锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                ds = oCN.RunProcReturn("select * from h_v_Gy_WorkBeginDotCheckListBillMainList where HInterID = " + HInterID, " h_v_Gy_WorkBeginDotCheckListBillMainList");
+
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "鏌ヨ鎴愬姛锛�";
+                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;
+            }
+        }
+        #endregion
+
+        #region 璁惧鍚姩鐐规娓呭崟鍗� 淇濆瓨/缂栬緫      
+        [Route("Sc_WorkBeginDotCheckBill/SaveGy_WorkBeginDotCheckListBillMain")]
+        [HttpPost]
+        public object SaveGy_WorkBeginDotCheckListBillMain([FromBody] JObject sMainSub)
+        {
+            var _value = sMainSub["sMainSub"].ToString();
+            string msg1 = _value.ToString();
+            string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
+            string msg2 = sArray[0].ToString();
+            string msg3 = sArray[1].ToString();
+            string refSav = sArray[2].ToString();//鎿嶄綔鏂瑰紡鏁版嵁绫诲瀷 1娣诲姞 3淇敼 2 澶嶅埗
+            string user = sArray[3].ToString();//鐢ㄦ埛鍚�
+
+            string UserName = "";
+            string s = "";
+            ListModels oListModels = new ListModels();
+            try
+            {
+                //淇濆瓨鏉冮檺
+                if (!DBUtility.ClsPub.Security_Log_second("Gy_WorkBeginDotCheckListBillMain_Edit", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "淇濆瓨澶辫触锛佹棤鏉冮檺锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                DAL.ClsGy_WorkBeginDotCheckListBillMain oBill = new DAL.ClsGy_WorkBeginDotCheckListBillMain();
+                List<Model.ClsGy_WorkBeginDotCheckListBillMain> lsmain = new List<Model.ClsGy_WorkBeginDotCheckListBillMain>();
+                msg2 = msg2.Replace("\\", "");
+                msg2 = msg2.Replace("\n", "");  //\n
+                lsmain = oListModels.getObjectByJson_Gy_WorkBeginDotCheckListBillMain(msg2);
+                foreach (Model.ClsGy_WorkBeginDotCheckListBillMain oItem in lsmain)
+                {
+                    if (refSav == "Add")
+                    {
+                        //鍗曟嵁鍙锋槸鍚﹂噸澶�
+                        if (OBill.IsExistBillNo(ref ClsPub.sExeReturnInfo, oItem.HBillNo, BillStatus, OBill.omodel.HInterID))
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁鍙烽噸澶嶏紒涓嶅厑璁镐繚瀛橈紒";
+                            objJsonResult.data = 1;
+                            return objJsonResult;
+                        }
+                    }
+                    if (refSav == "Update")
+                    {
+                        if (OBill.ShowBill(oItem.HInterID, ref s) == false)
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "姝ゅ崟鎹湁璇紒";
+                            objJsonResult.data = 1;
+                            return objJsonResult;
+                        }
+                        //鍒ゆ柇鏄惁鍙紪杈�
+                        if (OBill.omodel.HChecker != "" && OBill.omodel.HChecker != null)
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "姝ゅ崟鎹凡缁忚瀹℃牳锛屼笉鍏佽淇敼锛�";
+                            objJsonResult.data = 1;
+                            return objJsonResult;
+                        }
+                        if (OBill.omodel.HBillStatus > 1)
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "姝ゅ崟鎹浜庝笉鍙紪杈戠姸鎬侊紝涓嶅厑璁镐慨鏀癸紒";
+                            objJsonResult.data = 1;
+                            return objJsonResult;
+                        }
+
+                    }
+                    UserName = oItem.HMaker;  //鍒跺崟浜�
+                    oItem.HBillType = "3744";
+                    oItem.HBillSubType = "3744";
+
+
+
+                    oItem.HYear = DBUtility.ClsPub.isLong(DateTime.Now.Year);
+                    oItem.HPeriod = DBUtility.ClsPub.isLong(DateTime.Now.Month);
+                    oItem.HMakeDate = DBUtility.ClsPub.isStrNull(DateTime.Now.ToString("yyyy-MM-dd"));
+
+                    if (DBUtility.ClsPub.isStrNull(oItem.HDate) == "")
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "淇濆瓨澶辫触锛佹病鏈夊崟鎹棩鏈燂紝鏃犳硶淇濆瓨锛�";
+                        objJsonResult.data = 1;
+                        return objJsonResult;
+                    }
+                    oBill.omodel = oItem;
+                }
+                // 琛ㄤ綋鏁版嵁
+                //鎸� },{鏉ユ媶鍒嗘暟缁� //鍘绘帀銆愬拰銆�
+                msg3 = msg3.Substring(1, msg3.Length - 2);
+                msg3 = msg3.Replace("\\", "");
+                msg3 = msg3.Replace("\n", "");  //\n
+                List<Model.ClsGy_WorkBeginDotCheckListBillSub> ls = new List<Model.ClsGy_WorkBeginDotCheckListBillSub>();
+                ls = oListModels.getObjectByJson_Gy_WorkBeginDotCheckListBillSub(msg3);
+                int i = 0;
+                foreach (Model.ClsGy_WorkBeginDotCheckListBillSub oItemSub in ls)
+                {
+                    i++;
+                    oItemSub.HEntryID = i;
+
+
+                    oItemSub.HEntryCloseDate = DBUtility.ClsPub.isDate(DateTime.Now);
+                    oItemSub.HCloseType = false;   //鍏抽棴绫诲瀷
+
+                    oBill.DetailColl.Add(oItemSub);
+
+                }
+                //淇濆瓨
+                //淇濆瓨瀹屾瘯鍚庡鐞�
+                bool bResult;
+                if (refSav == "Add")
+                {
+
+                    bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo);
+                }
+                else if (refSav == "Update")
+                {
+                    bResult = oBill.ModifyBill(oBill.omodel.HInterID, ref DBUtility.ClsPub.sExeReturnInfo);
+                }
+                else
+                {
+                    bResult = false;
+                }
+                if (bResult)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "淇濆瓨鎴愬姛锛�";
+                    objJsonResult.data = 1;
+                    return objJsonResult;
+                }
+                else
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "淇濆瓨澶辫触锛�" + DBUtility.ClsPub.sExeReturnInfo;
+                    objJsonResult.data = 1;
+                    return objJsonResult;
+                }
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "淇濆瓨澶辫触锛�" + e.ToString();
+                objJsonResult.data = 1;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 璁惧鍚姩鐐规娓呭崟鍗� 鍒犻櫎     
+        [Route("Sc_WorkBeginDotCheckBill/DeleteGy_WorkBeginDotCheckListBill")]
+        [HttpGet]
+        public object DeleteGy_WorkBeginDotCheckListBill(string HInterID, string user)
+        {
+            try
+            {
+                //鏌ョ湅鏉冮檺
+                if (!DBUtility.ClsPub.Security_Log("Gy_WorkBeginDotCheckListBillMain_Delete", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犲垹闄ゆ潈闄愶紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                if (HInterID == null || HInterID.Equals(""))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "HInterID涓嶈兘涓虹┖锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                oCN.BeginTran();
+
+                oCN.RunProc("delete from Gy_WorkBeginDotCheckListBillMain where HInterID = " + HInterID);
+
+                oCN.Commit();
+
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "Sucess锛�";
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "Exception锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 璁惧鍚姩鐐规娓呭崟鍗� 瀹℃牳/鍙嶅鏍�     
+        [Route("Sc_WorkBeginDotCheckBill/AuditGy_WorkBeginDotCheckListBill")]
+        [HttpGet]
+        public object AuditGy_WorkBeginDotCheckListBill(string HInterID, int Type, string user)
+        {
+            try
+            {
+                //鍒ゆ柇鏄惁鏈夊鏍告潈闄�
+                if (!DBUtility.ClsPub.Security_Log("Gy_WorkBeginDotCheckListBillMain_Check", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犳潈闄愬鏍�!";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                if (string.IsNullOrWhiteSpace(HInterID))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "HInterID涓虹┖锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                ClsPub.CurUserName = user;
+                BillOld.MvarItemKey = "Gy_WorkBeginDotCheckListBillMain";
+                oCN.BeginTran();//寮�濮嬩簨鍔�
+
+                //Type 1 瀹℃牳  2  鍙嶅鏍�
+                if (Type == 1)
+                {
+                    //鍒ゆ柇鍗曟嵁鏄惁宸茬粡瀹℃牳
+                    DataSet ds;
+                    string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
+                    if (ds == null || ds.Tables[0].Rows.Count == 0)
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鍗曟嵁涓嶅瓨鍦紒";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HCloseMan"] != null && ds.Tables[0].Rows[0]["HCloseMan"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插叧闂�!涓嶈兘鍐嶆瀹℃牳锛�";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        if (ds.Tables[0].Rows[0]["HDeleteMan"] != null && ds.Tables[0].Rows[0]["HDeleteMan"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸蹭綔搴�!涓嶈兘鍐嶆瀹℃牳锛�";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        if (ds.Tables[0].Rows[0]["HChecker"] != null && ds.Tables[0].Rows[0]["HChecker"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插鏍�!涓嶈兘鍐嶆瀹℃牳锛�";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        //瀹℃牳鍗曟嵁
+                        if (!BillOld.CheckBill(Int64.Parse(HInterID), ref ClsPub.sExeReturnInfo))
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 1;
+                            objJsonResult.Message = "瀹℃牳澶辫触!鍘熷洜:" + ClsPub.sExeReturnInfo;
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                }
+                else
+                {
+                    //鍒ゆ柇鍗曟嵁鏄惁宸茬粡鍙嶅鏍�
+                    DataSet ds;
+                    string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HCloseMan"] != null && ds.Tables[0].Rows[0]["HCloseMan"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插叧闂�!涓嶈兘杩涜鍙嶅鏍革紒";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        if (ds.Tables[0].Rows[0]["HDeleteMan"] != null && ds.Tables[0].Rows[0]["HDeleteMan"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸蹭綔搴�!涓嶈兘杩涜鍙嶅鏍革紒";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        if (ds.Tables[0].Rows[0]["HChecker"] == null || ds.Tables[0].Rows[0]["HChecker"].ToString() == "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁鏈鏍�!涓嶉渶瑕佸弽瀹℃牳!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        //鍙嶅鏍稿崟鎹�
+                        if (!BillOld.AbandonCheck(Int64.Parse(HInterID), ref ClsPub.sExeReturnInfo))
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 1;
+                            objJsonResult.Message = "鍙嶅鏍稿け璐�!鍘熷洜:" + ClsPub.sExeReturnInfo;
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                }
+
+                oCN.Commit();//鎻愪氦浜嬪姟
+
+                objJsonResult.code = "0";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "鎵ц鎴愬姛锛�";
+                objJsonResult.data = null;
+                return objJsonResult; ;
+
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "鎵ц澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 璁惧鍚姩鐐规娓呭崟鍗� 鍏抽棴/鍙嶅叧闂姛鑳�
+        [Route("Sc_WorkBeginDotCheckBill/CloseGy_WorkBeginDotCheckListBill")]
+        [HttpGet]
+        public object CloseGy_WorkBeginDotCheckListBill(string HInterID, int Type, string user)
+        {
+            try
+            {
+                //鍒ゆ柇鏄惁鏈夊垹闄ゆ潈闄�
+                if (!DBUtility.ClsPub.Security_Log("Gy_WorkBeginDotCheckListBillMain_Close", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犳潈闄愬叧闂�!";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                if (string.IsNullOrWhiteSpace(HInterID))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "HInterID涓虹┖锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                ClsPub.CurUserName = user;
+                BillOld.MvarItemKey = "Gy_WorkBeginDotCheckListBillMain";
+                oCN.BeginTran();//寮�濮嬩簨鍔�
+
+                //Type 1 鍏抽棴  2  鍙嶅叧闂�
+                if (Type == 1)
+                {
+                    //鍒ゆ柇鍗曟嵁鏄惁宸茬粡鍏抽棴
+                    DataSet ds;
+                    string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
+                    if (ds == null || ds.Tables[0].Rows.Count == 0)
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鍗曟嵁涓嶅瓨鍦紒";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HDeleteMan"] != null && ds.Tables[0].Rows[0]["HDeleteMan"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸蹭綔搴�!涓嶈兘杩涜鍏抽棴!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        if (ds.Tables[0].Rows[0]["HChecker"] == null || ds.Tables[0].Rows[0]["HChecker"].ToString() == "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁鏈鏍�!涓嶈兘杩涜鍏抽棴!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+
+                        if (ds.Tables[0].Rows[0]["HCloseMan"] != null && ds.Tables[0].Rows[0]["HCloseMan"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插叧闂�!涓嶈兘鍐嶆鍏抽棴!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        //鍏抽棴鍗曟嵁
+                        if (!BillOld.CloseBill(Int64.Parse(HInterID), ref ClsPub.sExeReturnInfo))
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 1;
+                            objJsonResult.Message = "鍏抽棴澶辫触!鍘熷洜:" + ClsPub.sExeReturnInfo;
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                }
+                else
+                {
+                    //鍒ゆ柇鍗曟嵁鏄惁宸茬粡鍙嶅叧闂�
+                    DataSet ds;
+                    string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HDeleteMan"] != null && ds.Tables[0].Rows[0]["HDeleteMan"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸蹭綔搴�!涓嶈兘杩涜鍏抽棴!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        if (ds.Tables[0].Rows[0]["HChecker"] == null || ds.Tables[0].Rows[0]["HChecker"].ToString() == "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁鏈鏍�!涓嶈兘杩涜鍏抽棴!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        if (ds.Tables[0].Rows[0]["HCloseMan"] == null || ds.Tables[0].Rows[0]["HCloseMan"].ToString() == "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁鏈叧闂�!涓嶉渶瑕佸啀鍙嶅叧闂�!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        //鍙嶅叧闂崟鎹�
+                        if (!BillOld.CancelClose(Int64.Parse(HInterID), ref ClsPub.sExeReturnInfo))
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 1;
+                            objJsonResult.Message = "鍙嶅叧闂け璐�!鍘熷洜:" + ClsPub.sExeReturnInfo;
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                }
+
+                oCN.Commit();//鎻愪氦浜嬪姟
+
+                objJsonResult.code = "0";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "鎵ц鎴愬姛锛�";
+                objJsonResult.data = null;
+                return objJsonResult; ;
+
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "鎵ц澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 璁惧鍚姩鐐规娓呭崟鍗� 浣滃簾/鍙嶄綔搴熷姛鑳�
+        [Route("Sc_WorkBeginDotCheckBill/DropGy_WorkBeginDotCheckListBill")]
+        [HttpGet]
+        public object DropGy_WorkBeginDotCheckListBill(string HInterID, int Type, string user)
+        {
+            try
+            {
+                //鍒ゆ柇鏄惁鏈変綔搴熸潈闄�
+                if (!DBUtility.ClsPub.Security_Log("Gy_WorkBeginDotCheckListBillMain_Drop", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犳潈闄愪綔搴�!";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                if (string.IsNullOrWhiteSpace(HInterID))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "HInterID涓虹┖锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                ClsPub.CurUserName = user;
+                BillOld.MvarItemKey = "Gy_WorkBeginDotCheckListBillMain";
+                oCN.BeginTran();//寮�濮嬩簨鍔�
+
+                //Type 1 浣滃簾  2  鍙嶄綔搴�
+                if (Type == 1)
+                {
+                    //鍒ゆ柇鍗曟嵁鏄惁宸茬粡浣滃簾
+                    DataSet ds;
+                    string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
+                    if (ds == null || ds.Tables[0].Rows.Count == 0)
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鍗曟嵁涓嶅瓨鍦紒";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HChecker"] != null && ds.Tables[0].Rows[0]["HChecker"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插鏍�!涓嶈兘杩涜浣滃簾!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        if (ds.Tables[0].Rows[0]["HDeleteMan"] != null && ds.Tables[0].Rows[0]["HDeleteMan"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸蹭綔搴�!涓嶉渶瑕佸啀浣滃簾!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        //浣滃簾鍗曟嵁
+                        if (!BillOld.Cancelltion(Int64.Parse(HInterID), ref ClsPub.sExeReturnInfo))
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 1;
+                            objJsonResult.Message = "浣滃簾澶辫触!鍘熷洜:" + ClsPub.sExeReturnInfo;
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                }
+                else
+                {
+                    //鍒ゆ柇鍗曟嵁鏄惁宸茬粡鍙嶄綔搴�
+                    DataSet ds;
+                    string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HChecker"] != null && ds.Tables[0].Rows[0]["HChecker"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插鏍�!涓嶈兘杩涜浣滃簾!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        if (ds.Tables[0].Rows[0]["HDeleteMan"] == null || ds.Tables[0].Rows[0]["HDeleteMan"].ToString() == "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁鏈綔搴�!涓嶉渶瑕佸啀鍙嶄綔搴�!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        //鍙嶄綔搴熷崟鎹�
+                        if (!BillOld.AbandonCancelltion(Int64.Parse(HInterID), ref ClsPub.sExeReturnInfo))
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 1;
+                            objJsonResult.Message = "鍙嶄綔搴熷け璐�!鍘熷洜:" + ClsPub.sExeReturnInfo;
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                }
+
+                oCN.Commit();//鎻愪氦浜嬪姟
+
+                objJsonResult.code = "0";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "鎵ц鎴愬姛锛�";
+                objJsonResult.data = null;
+                return objJsonResult; ;
+
+            }
+            catch (Exception e)
+            {
+                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/Controllers/JHGL/Gy_RoutingBillController.cs b/WebAPI/Controllers/JHGL/Gy_RoutingBillController.cs
index fce79d7..be3f59f 100644
--- a/WebAPI/Controllers/JHGL/Gy_RoutingBillController.cs
+++ b/WebAPI/Controllers/JHGL/Gy_RoutingBillController.cs
@@ -473,7 +473,7 @@
                     ",HTechnologyParameter,HPicNum,HProcCheckNote" +
                     ",HOverRate,HProcWorkNum,HBadWHID,HWasterWHID, HWHID,HEstimate,HIsTime" +
                     ",HQCSchemeID_Fst,HQCSchemeID_Proc,HQCSchemeID_Patrol" +
-                    ",HWorkTimes_S,HSortProcFlag " +
+                    ",HWorkTimes_S,HSortProcFlag,HSNCtrl " +
                     ") values("
                     + HInterID + "," + i + "," + oSub.HProcID.ToString() + ",'" + oSub.HProcNo + "'," + oSub.HSupID.ToString() + "," + Convert.ToString(oSub.HSupFlag ? 1 : 0) + "" +
                     "," + oSub.HWorkQty.ToString() + "," + oSub.HCenterID.ToString() + ",'" + oSub.HTimeUnit.ToString() + "'," + oSub.HUnitTime.ToString() +
@@ -487,7 +487,7 @@
                    ",'" + oSub.HTechnologyParameter.ToString() + "','" + oSub.HPicNum.ToString() + "','" + oSub.HProcCheckNote.ToString() +
                    "', " + oSub.HOverRate.ToString() + ",'" + oSub.HProcWorkNum.ToString() + "'," + oSub.HBadWHID.ToString() + "," + oSub.HWasterWHID.ToString() + "," + oSub.HWHID.ToString() + "," + oSub.HEstimate.ToString() + "," + Convert.ToString(oSub.HIsTime ? 1 : 0) + "," + oSub.HQCSchemeID_Fst + "," +
                      oSub.HQCSchemeID_Proc + "," + oSub.HQCSchemeID_Patrol +
-                   ", " + oSub.HWorkTimes_S.ToString() + "," + Convert.ToString(oSub.HSortProcFlag ? 1 : 0) +
+                   ", " + oSub.HWorkTimes_S.ToString() + "," + Convert.ToString(oSub.HSortProcFlag ? 1 : 0) + "," + Convert.ToString(oSub.HSNCtrl ? 1 : 0) +
                     ") ");
                     //璁′环鏂瑰紡涓嶄负璁℃椂锛屽垯鎶婅鏃舵殏浼板瓧娈垫洿鏂颁负绌�
                     if (oSub.HIsTime == false)
diff --git a/WebAPI/Controllers/Kf_EntrustInBillController.cs b/WebAPI/Controllers/Kf_EntrustInBillController.cs
index caf6c18..83ea244 100644
--- a/WebAPI/Controllers/Kf_EntrustInBillController.cs
+++ b/WebAPI/Controllers/Kf_EntrustInBillController.cs
@@ -447,6 +447,89 @@
             }
         }
 
+        #region 濮斿鍔犲伐鍏ュ簱鍗� 鍒犻櫎
+      
+        /// </summary>
+        [Route("Kf_EntrustInBill/DeleteKf_EntrustInBill")]
+        [HttpGet]
+        public object DeleteKf_EntrustInBill(string HInterID, string user)
+        {
+            try
+            {
+                string s = "";
+                DAL.ClsKf_OtherInBill oBill = new DAL.ClsKf_OtherInBill();
+                //鏌ョ湅鏉冮檺
+                if (!DBUtility.ClsPub.Security_Log("Kf_EntrustInBill_Drop", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犲垹闄ゆ潈闄愶紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                if (HInterID == null || HInterID.Equals(""))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "HInterID涓嶈兘涓虹┖锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                if (oBill.ShowBill(long.Parse(HInterID), ref s) == false)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "姝ゅ崟鎹湁璇紒";
+                    objJsonResult.data = 1;
+                    return objJsonResult;
+                }
+                //鍒ゆ柇鏄惁鍙紪杈�
+                if (oBill.omodel.HChecker != "" && oBill.omodel.HChecker != null)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "姝ゅ崟鎹凡缁忚瀹℃牳锛屼笉鍏佽鍒犻櫎锛�";
+                    objJsonResult.data = 1;
+                    return objJsonResult;
+                }             
+
+                //杩涜 浼氳鏈熼棿 缁撹处 鐨勫垽鏂拰鎺у埗
+                int sYear = 0;
+                int sPeriod = 0;
+                DateTime HDate = DateTime.Now;
+                if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(HDate, ref sYear, ref sPeriod, ref s) == false)
+                {
+                    objJsonResult.Message = s;
+                    return objJsonResult;
+                }
+
+                oCN.BeginTran();
+
+                oCN.RunProc("delete from Kf_ICStockBillMain where HInterID = " + HInterID);
+                oCN.RunProc("delete from Kf_ICStockBillSub where HInterID= " + HInterID);
+
+
+                oCN.Commit();
+
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "鍒犻櫎鎴愬姛";
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                oCN.RollBack();
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "Exception锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
 
         #region 濮斿鍔犲伐鍏ュ簱鍗� 瀹℃牳/鍙嶅鏍�
         /// <summary>
@@ -478,6 +561,17 @@
                     objJsonResult.count = 0;
                     objJsonResult.Message = "HInterID涓虹┖锛�";
                     objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                //杩涜 浼氳鏈熼棿 缁撹处 鐨勫垽鏂拰鎺у埗
+                string s = "";
+                int sYear = 0;
+                int sPeriod = 0;
+                DateTime HDate = DateTime.Now;
+                if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(HDate, ref sYear, ref sPeriod, ref s) == false)
+                {
+                    objJsonResult.Message = s;
                     return objJsonResult;
                 }
 
@@ -525,7 +619,7 @@
                             objJsonResult.Message = "鍗曟嵁宸插鏍�!涓嶈兘鍐嶆瀹℃牳锛�";
                             objJsonResult.data = null;
                             return objJsonResult;
-                        }
+                        }                     
                         //瀹℃牳鍗曟嵁
                         if (!BillOld.CheckBill(Int64.Parse(HInterID), ref ClsPub.sExeReturnInfo))
                         {
@@ -569,6 +663,7 @@
                             objJsonResult.data = null;
                             return objJsonResult;
                         }
+
                         //鍙嶅鏍稿崟鎹�
                         if (!BillOld.AbandonCheck(Int64.Parse(HInterID), ref ClsPub.sExeReturnInfo))
                         {
diff --git a/WebAPI/Controllers/Kf_ICStockBillMainController.cs b/WebAPI/Controllers/Kf_ICStockBillMainController.cs
index c1d9d6b..e00718f 100644
--- a/WebAPI/Controllers/Kf_ICStockBillMainController.cs
+++ b/WebAPI/Controllers/Kf_ICStockBillMainController.cs
@@ -102,6 +102,18 @@
                     return objJsonResult;
                 }
 
+                //杩涜 浼氳鏈熼棿 缁撹处 鐨勫垽鏂拰鎺у埗
+                string s = "";
+                int sYear = 0;
+                int sPeriod = 0;
+                DateTime HDate = DateTime.Now;
+                if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(HDate, ref sYear, ref sPeriod, ref s) == false)
+                {
+                    objJsonResult.Message = s;
+                    return objJsonResult;
+                }
+
+
                 DLL.ClsKf_SellOutBackBill oBill = new DLL.ClsKf_SellOutBackBill();
                 if (oBill.ShowBill(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo))
                 {
@@ -122,7 +134,7 @@
                         objJsonResult.data = null;
                         return objJsonResult;
                     }
-
+                    
                     if (IsAudit == 1)
                     {
                         if (oBill.omodel.HBillStatus == 2)
@@ -137,6 +149,8 @@
                         {
                             string HCheckDate = DateTime.Now.Date.ToString();
                             oCN.RunProc(" Update Kf_ICStockBillMain set HChecker='" + CurUserName + "',HCheckDate='" + HCheckDate + "',HBillStatus=2 Where HBillType='1247' and HInterID=" + HInterID);
+                            //瀹℃牳鏇存柊 鍙婃椂搴撳瓨琛� 澧炲姞搴撳瓨
+                            ds = oCN.RunProcReturn("exec h_KF_UPDateICinventory  '" + oBill.omodel.HInterID + "','" + oBill.omodel.HBillType + "','1'", "h_KF_UPDateICinventory");
                             objJsonResult.code = "0";
                             objJsonResult.count = 1;
                             objJsonResult.Message = "瀹℃牳鎴愬姛锛�";
@@ -158,6 +172,8 @@
                         {
                             string HCheckDate = DateTime.Now.Date.ToString();
                             oCN.RunProc(" Update Kf_ICStockBillMain set HChecker=' ',HCheckDate=null,HBillStatus=1 Where HBillType='1247' and HInterID=" + HInterID);
+                            //瀹℃牳鏇存柊 鍙婃椂搴撳瓨琛� 鍑忓皯搴撳瓨
+                            ds = oCN.RunProcReturn("exec h_KF_UPDateICinventory  '" + oBill.omodel.HInterID + "','" + oBill.omodel.HBillType + "','2'", "h_KF_UPDateICinventory");
                             objJsonResult.code = "0";
                             objJsonResult.count = 1;
                             objJsonResult.Message = "鍙嶅鏍告垚鍔燂紒";
diff --git a/WebAPI/Controllers/LMESController.cs b/WebAPI/Controllers/LMESController.cs
index 86f8e5d..2177b34 100644
--- a/WebAPI/Controllers/LMESController.cs
+++ b/WebAPI/Controllers/LMESController.cs
@@ -393,6 +393,234 @@
             }
         }
 
+        #region 宸ュ簭娴佽浆鍗″彧鏄剧ず宸ュ簭鏁版嵁
+        [Route("LEMS/MES_ProcessExchangeBillList_PG")]
+        [HttpGet]
+        public object MES_ProcessExchangeBillList_PG(string sWhere, string user, int OperationType)
+        {
+            DataSet ds;
+            try
+            {
+                List<object> columnNameList = new List<object>();
+                //鍒ゆ柇鏄惁鏈夋煡璇㈡潈闄�
+                if (!DBUtility.ClsPub.Security_Log("Sc_ProcessExchangeBill_Query", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犳煡璇㈡潈闄�!";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                if (OperationType == 1)
+                {
+                    //鑾峰彇绯荤粺鍙傛暟
+                    string Ret = "";
+                    if (oSystemParameter.ShowBill(ref Ret))
+                    {
+                        //鍒ゆ柇瀹㈡埛涓烘澀宸炴柉鑾皵
+                        if (oSystemParameter.omodel.WMS_CampanyName == "鏉窞鏂帿灏�")
+                        {
+                            sWhere += "  ";
+
+                        }
+                        else
+                        {
+                            sWhere += "  ";
+                        }
+                    }
+
+                    SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
+                    ds = oCN.RunProcReturn("select top 1000 * from h_v_Sc_ProcessExchangeArrangementList_PG where 1 = 1 " + sWhere + " order by hmainid desc ", "h_v_Sc_ProcessExchangeArrangementList_PG");
+                }
+                else
+                {
+                    //鑾峰彇绯荤粺鍙傛暟
+                    string Ret = "";
+                    if (oSystemParameter.ShowBill(ref Ret))
+                    {
+                        //鍒ゆ柇瀹㈡埛涓烘澀宸炴柉鑾皵
+                        if (oSystemParameter.omodel.WMS_CampanyName == "鏉窞鏂帿灏�")
+                        {
+
+
+                        }
+                    }
+
+                    SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
+                    ds = oCN.RunProcReturn("select * from h_v_Sc_ProcessExchangeArrangementList_PG where 1 = 1 " + sWhere, "h_v_Sc_ProcessExchangeArrangementList_PG");
+                }
+
+                //娣诲姞鍒楀悕
+                foreach (DataColumn col in ds.Tables[0].Columns)
+                {
+                    Type dataType = col.DataType;
+                    string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}";
+                    columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//鑾峰彇鍒癉ataColumn鍒楀璞$殑鍒楀悕
+                }
+
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "Sucess锛�";
+                objJsonResult.list = columnNameList;
+                objJsonResult.data = ds.Tables[0];
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "寮傚父锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 宸ュ簭娴佽浆鍗� 娲惧伐(鏂帿灏�)
+        [Route("LEMS/ProcessExchangeArrangement_Add_PG")]
+        [HttpGet]
+        public object ProcessExchangeArrangement_Add_PG(string HInterID_S, int HSourceID, long HOrgID, string user)
+        {
+            DataSet ds;
+            try
+            {
+                if (!DBUtility.ClsPub.Security_Log("Sc_ProcessExchangeBill_Edit", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "娴佽浆鍗℃棤缂栬緫鏉冮檺锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                var HNum = HInterID_S.Split(',');
+
+                for (int j = 0; j < HNum.Length; j++)
+                {
+                    long HInterID = long.Parse(HNum[j].Split('|')[0]);
+                    long HEntryID = long.Parse(HNum[j].Split('|')[1]);
+                    ds = oCN.RunProcReturn(@"select a.HMaterID,b.HProcID,a.HBillNo from Sc_ProcessExchangeBillMain a inner join Sc_ProcessExchangeBillSub b on a.HInterID=b.HInterID 
+where a.HInterID=" + HInterID + " and b.HEntryID=" + HEntryID, "Sc_ProcessExchangeBillMain");
+                    if (ds.Tables[0].Rows.Count == 0)
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鏌ユ棤姝ゅ伐搴忔祦杞崱锛�";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+
+                    oCN.BeginTran();
+
+                    oCN.RunProc("update Sc_ProcessExchangeBillSub set HSourceID=" + HSourceID + " where HInterID=" + HInterID + " and HEntryID=" + HEntryID);
+
+                    oCN.RunProc("exec h_p_Sc_ICMOBillStatus_Tmp_PG " + HInterID + "," + HEntryID);
+                  
+                    oCN.Commit();
+                }
+
+
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "娲惧伐鎴愬姛锛�";
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                oCN.RollBack();
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "寮傚父锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 鍙栨秷娲惧伐鍔熻兘(鏂帿灏�)
+        [Route("LEMS/ProcessExchangeArrangementDel_PG")]
+        [HttpGet]
+        public object ProcessExchangeArrangementDel_PG(string HInterID_S, int HSourceID, string user)
+        {
+            DataSet ds;
+            DataSet ds1;
+            try
+            {
+                if (!DBUtility.ClsPub.Security_Log("Sc_ProcessExchangeBill_Edit", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "娴佽浆鍗℃棤缂栬緫鏉冮檺锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                var HNum = HInterID_S.Split(',');
+
+                oCN.BeginTran();
+
+                for (int j = 0; j < HNum.Length; j++)
+                {
+
+                    long HInterID = long.Parse(HNum[j].Split('|')[0]);
+                    long HEntryID = long.Parse(HNum[j].Split('|')[1]);
+                    ds = oCN.RunProcReturn(@"select a.HMaterID,b.HProcID,a.HBillNo from Sc_ProcessExchangeBillMain a inner join Sc_ProcessExchangeBillSub b on a.HInterID=b.HInterID 
+where a.HInterID=" + HInterID + " and b.HEntryID=" + HEntryID, "Sc_ProcessExchangeBillMain");
+                    if (ds.Tables[0].Rows.Count == 0)
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鏌ユ棤姝ゅ伐搴忔祦杞崱锛�";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+
+                    ds = oCN.RunProcReturn("select * from Sc_ICMOBillStatus_Tmp where HSourceInterID=" + HInterID + " and HSourceEntryID=" + HEntryID + "  and HSourceID=" + HSourceID, "Sc_ICMOBillStatus_Tmp");
+
+                    if (ds.Tables[0].Rows.Count == 0)
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鎶ュ伐鏌ユ棤鏁版嵁锛�";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+
+                    if (ds.Tables[0].Rows[0]["HICMOStatus"].ToString() != "0")
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "娴佽浆鍗″搴旂殑鎶ュ伐鏁版嵁涓嶄负鏈紑宸ョ姸鎬�,鏃犳硶鍒犻櫎锛�";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+
+
+                    oCN.RunProc("update Sc_ProcessExchangeBillSub set HSourceID=0 where HInterID=" + HInterID + " and HEntryID=" + HEntryID);
+                    oCN.RunProc("delete from Sc_ICMOBillStatus_Tmp where HSourceInterID=" + HInterID + " and HSourceEntryID=" + HEntryID);
+                }
+
+                oCN.Commit();
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "宸插彇娑堟淳宸ワ紒";
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                oCN.RollBack();
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "寮傚父锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
         #region 鎺掔几鍔熻兘
         [Route("LEMS/ProcessExchangeArrangement_Add")]
         [HttpGet]
diff --git a/WebAPI/Controllers/MJGL/Sc_MouldLifeUseBillController.cs b/WebAPI/Controllers/MJGL/Sc_MouldLifeUseBillController.cs
index 95b6fba..546c3bd 100644
--- a/WebAPI/Controllers/MJGL/Sc_MouldLifeUseBillController.cs
+++ b/WebAPI/Controllers/MJGL/Sc_MouldLifeUseBillController.cs
@@ -282,5 +282,311 @@
             }
         }
         #endregion
+
+        #region [妯″叿瀵垮懡鑰楃敤鍗曞鏍搞�佸弽瀹℃牳]
+        /// <summary>
+        /// 
+        /// </summary>
+        /// <param name="HInterID">鍗曟嵁ID</param>
+        /// <param name="IsAudit">瀹℃牳(0),鍙嶅鏍�(1)</param>
+        /// <param name="CurUserName">瀹℃牳浜�</param>
+        /// <returns></returns>
+        [Route("Sc_MouldLifeUseBill/AuditSc_MouldLifeUseBillList")]
+        [HttpGet]
+        public object AuditSc_MouldLifeUseBillList(int HInterID, int IsAudit, string CurUserName)
+        {
+            string ModRightNameCheck = "Sc_MouldLifeUseBill_Check";
+            DBUtility.ClsPub.CurUserName = CurUserName;
+            try
+            {
+                //瀹℃牳鏉冮檺
+                if (!DBUtility.ClsPub.Security_Log(ModRightNameCheck, 1, false, CurUserName))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "瀹℃牳澶辫触锛佹棤鏉冮檺锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                if (HInterID <= 0)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "HInterID灏忎簬0锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                Int64 lngBillKey = 0;
+                lngBillKey = DBUtility.ClsPub.isLong(HInterID);
+                DAL.ClsSc_MouldLifeUseBill oBill = new DAL.ClsSc_MouldLifeUseBill();
+                //鏌ョ湅鏄惁宸插鏍�,鍏抽棴,浣滃簾
+                if (oBill.ShowBill(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo))
+                {
+                    if (oBill.omodel.HCloseMan.Trim() != "")
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鍗曟嵁宸插叧闂�!涓嶈兘鍐嶆瀹℃牳锛�";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    if (oBill.omodel.HDeleteMan.Trim() != "")
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鍗曟嵁宸蹭綔搴�!涓嶈兘鍐嶆瀹℃牳锛�";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    if (IsAudit == 0)  //瀹℃牳鍒ゆ柇
+                    {
+                        if (oBill.omodel.HChecker.Trim() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插鏍�!涓嶈兘鍐嶆瀹℃牳锛�";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                    if (IsAudit == 1) //鍙嶅鏍稿垽鏂�
+                    {
+                        if (oBill.omodel.HChecker.Trim() == "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁鏈鏍�!涓嶉渶瑕佸弽瀹℃牳!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                }
+                else
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鍗曟嵁涓嶅瓨鍦�!鍘熷洜:" + DBUtility.ClsPub.sExeReturnInfo;
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                oCN.BeginTran();//寮�濮嬩簨鐗�
+
+                if (IsAudit == 0) //瀹℃牳鎻愪氦
+                {
+
+                    //===============================Begin 瀹℃牳鍓嶆帶鍒� Begin===============================
+                    string sql = "exec h_p_Sc_MouldLifeUseBill_BeforeCheckCtrl " + HInterID + ",'" + CurUserName + "'";
+                    ds = oCN.RunProcReturn(sql, "h_p_Sc_MouldLifeUseBill_BeforeCheckCtrl");
+                    if (ds == null || ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0)
+                    {
+                        oCN.RollBack();//鍥炴粴浜嬬墿
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 1;
+                        objJsonResult.Message = "瀹℃牳澶辫触!鍘熷洜:瀹℃牳鍓嶅垽鏂け璐ワ紝璇蜂笌缃戠粶绠$悊浜哄憳鑱旂郴";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+
+                    }
+                    if (ds.Tables[0].Rows[0]["HBack"].ToString() != "0")
+                    {
+                        oCN.RollBack();//鍥炴粴浜嬬墿
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 1;
+                        objJsonResult.Message = "瀹℃牳澶辫触!鍘熷洜:" + ds.Tables[0].Rows[0]["HRemark"].ToString(); ;
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    //=================================End 瀹℃牳鍓嶆帶鍒� End=================================
+
+                    //瀹℃牳鎻愪氦
+                    if (oBill.CheckBill(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo) == true)
+                    {
+
+                        //===============================Begin 瀹℃牳鍚庢帶鍒� Begin===============================
+                        string sql2 = "exec h_p_Sc_MouldLifeUseBill_AfterCheckCtrl " + HInterID + ",'" + CurUserName + "'";
+                        ds = oCN.RunProcReturn(sql2, "h_p_Sc_MouldLifeUseBill_AfterCheckCtrl");
+                        if (ds == null || ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0)
+                        {
+                            oCN.RollBack();//鍥炴粴浜嬬墿
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 1;
+                            objJsonResult.Message = "瀹℃牳澶辫触!鍘熷洜:瀹℃牳鍚庡垽鏂け璐ワ紝璇蜂笌缃戠粶绠$悊浜哄憳鑱旂郴";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+
+                        }
+                        if (ds.Tables[0].Rows[0]["HBack"].ToString() != "0")
+                        {
+                            oCN.RollBack();//鍥炴粴浜嬬墿
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 1;
+                            objJsonResult.Message = "瀹℃牳澶辫触!鍘熷洜:" + ds.Tables[0].Rows[0]["HRemark"].ToString(); ;
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        //=================================End 瀹℃牳鍚庢帶鍒� End=================================
+
+                        objJsonResult.code = "1";
+                        objJsonResult.count = 1;
+                        objJsonResult.Message = "瀹℃牳鎴愬姛";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    else
+                    {
+                        oCN.RollBack();//鍥炴粴浜嬬墿
+                        objJsonResult.code = "1";
+                        objJsonResult.count = 1;
+                        objJsonResult.Message = "瀹℃牳澶辫触!鍘熷洜:" + DBUtility.ClsPub.sExeReturnInfo;
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                }
+                if (IsAudit == 1) //鍙嶅鏍告彁浜�
+                {
+                    //===============================Begin 鍙嶅鏍稿墠鎺у埗 Begin===============================
+                    string sql = "exec h_p_Sc_MouldLifeUseBill_BeforeUnCheckCtrl " + HInterID + ",'" + CurUserName + "'";
+                    ds = oCN.RunProcReturn(sql, "h_p_Sc_MouldLifeUseBill_BeforeUnCheckCtrl");
+                    if (ds == null || ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0)
+                    {
+                        oCN.RollBack();//鍥炴粴浜嬬墿
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 1;
+                        objJsonResult.Message = "瀹℃牳澶辫触!鍘熷洜:鍙嶅鏍稿墠鍒ゆ柇澶辫触锛岃涓庣綉缁滅鐞嗕汉鍛樿仈绯�";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+
+                    }
+                    if (ds.Tables[0].Rows[0]["HBack"].ToString() != "0")
+                    {
+                        oCN.RollBack();//鍥炴粴浜嬬墿
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 1;
+                        objJsonResult.Message = "瀹℃牳澶辫触!鍘熷洜:" + ds.Tables[0].Rows[0]["HRemark"].ToString(); ;
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    //=================================End 鍙嶅鏍稿墠鎺у埗 End=================================
+                    //鍙嶅鏍告彁浜bandonCheck
+                    if (oBill.AbandonCheck(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo) == true)
+                    {
+                        //===============================Begin 鍙嶅鏍稿悗鎺у埗 Begin===============================
+                        string sql2 = "exec h_p_Sc_MouldLifeUseBill_AfterUnCheckCtrl " + HInterID + ",'" + CurUserName + "'";
+                        ds = oCN.RunProcReturn(sql2, "h_p_Sc_MouldLifeUseBill_AfterUnCheckCtrl");
+                        if (ds == null || ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0)
+                        {
+                            oCN.RollBack();//鍥炴粴浜嬬墿
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 1;
+                            objJsonResult.Message = "瀹℃牳澶辫触!鍘熷洜:鍙嶅鏍稿悗鍒ゆ柇澶辫触锛岃涓庣綉缁滅鐞嗕汉鍛樿仈绯�";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+
+                        }
+                        if (ds.Tables[0].Rows[0]["HBack"].ToString() != "0")
+                        {
+                            oCN.RollBack();//鍥炴粴浜嬬墿
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 1;
+                            objJsonResult.Message = "瀹℃牳澶辫触!鍘熷洜:" + ds.Tables[0].Rows[0]["HRemark"].ToString(); ;
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        //=================================End 鍙嶅鏍稿悗鎺у埗 End=================================
+                        objJsonResult.code = "1";
+                        objJsonResult.count = 1;
+                        objJsonResult.Message = "鍙嶅鏍告垚鍔�";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    else
+                    {
+                        objJsonResult.code = "1";
+                        objJsonResult.count = 1;
+                        objJsonResult.Message = "鍙嶅鏍稿け璐�!鍘熷洜:" + DBUtility.ClsPub.sExeReturnInfo;
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                }
+
+                oCN.Commit();//鎻愪氦浜嬬墿
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                oCN.RollBack();//鍥炴粴浜嬬墿
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "瀹℃牳澶辫触鎴栬�呭弽瀹℃牳澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+
+
+
+        #region 鍣ㄥ叿瀵垮懡瓒嬪娍鍒嗘瀽鎶ヨ〃 鏌ヨ
+        /// <summary>
+        ///鍙傛暟锛歴tring sql銆�
+        ///杩斿洖鍊硷細object銆�
+        /// </summary>
+        [Route("Sc_MouldLifeUseReport/GetSc_MouldLifeUseReport")]
+        [HttpGet]
+        public object GetSc_MouldLifeUseReport(string sWhere, string user)
+        {
+            try
+            {
+                List<object> columnNameList = new List<object>();
+                ////鏌ョ湅鏉冮檺
+                //if (!DBUtility.ClsPub.Security_Log("Sc_MouldLifeUseReport_Query", 1, false, user))
+                //{
+                //    objJsonResult.code = "0";
+                //    objJsonResult.count = 0;
+                //    objJsonResult.Message = "鏃犳煡鐪嬫潈闄愶紒";
+                //    objJsonResult.data = null;
+                //    return objJsonResult;
+                //}
+
+
+                //鏌ヨ
+                if (sWhere == null || sWhere.Equals(""))
+                {
+                    string sql = "exec h_p_Sc_MouldLifeUseReport ''";
+                    ds = oCN.RunProcReturn(sql, "h_p_Sc_MouldLifeUseReport");
+                }
+                else
+                {
+                    string sql = "exec h_p_Sc_MouldLifeUseReport  '" + sWhere + "'";
+                    ds = oCN.RunProcReturn(sql, "h_p_Sc_MouldLifeUseReport");
+                }
+
+                //娣诲姞鍒楀悕
+                foreach (DataColumn col in ds.Tables[0].Columns)
+                {
+                    Type dataType = col.DataType;
+                    string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}";
+                    columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//鑾峰彇鍒癉ataColumn鍒楀璞$殑鍒楀悕
+                }
+
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "Sucess锛�";
+                objJsonResult.data = ds.Tables[0];
+                objJsonResult.list = columnNameList;
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "Exception锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
     }
 }
\ No newline at end of file
diff --git a/WebAPI/Controllers/MJGL/Sc_MouldMaintainRuleBillController.cs b/WebAPI/Controllers/MJGL/Sc_MouldMaintainRuleBillController.cs
index 1139f2f..8ce880c 100644
--- a/WebAPI/Controllers/MJGL/Sc_MouldMaintainRuleBillController.cs
+++ b/WebAPI/Controllers/MJGL/Sc_MouldMaintainRuleBillController.cs
@@ -1,4 +1,5 @@
-锘縰sing Newtonsoft.Json;
+锘縰sing DBUtility;
+using Newtonsoft.Json;
 using Newtonsoft.Json.Linq;
 using System;
 using System.Collections.Generic;
@@ -214,7 +215,7 @@
             if (string.IsNullOrEmpty(HID))
                 return new ApiResult<DataSet> { code = -1, msg = "ID涓嶈兘涓虹┖" };
             SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
-            var dataSet = oCN.RunProcReturn("select top 1 * from Sc_MouldMaintainRuleBillMain  where HInterID= " + HID + " ", "Sc_MouldMaintainRuleBillMain");
+            var dataSet = oCN.RunProcReturn("select top 1 * from h_v_Sc_MouldMaintainRuleBill_Edit  where HInterID= " + HID + " ", "h_v_Sc_MouldMaintainRuleBill_Edit");
             if (dataSet == null || dataSet.Tables[0].Rows.Count == 0)
                 return new ApiResult<DataSet> { code = -1, msg = "涓嶅瓨鍦ㄥ櫒鍏蜂繚鍏昏绋嬭褰�" };
             return new ApiResult<DataSet> { code = 1, msg = "鏌ヨ鎴愬姛", data = dataSet };
@@ -415,5 +416,159 @@
             }
         }
         #endregion
+
+        #region 鍣ㄥ叿淇濆吇瑙勭▼瀹℃牳/鍙嶅鏍稿姛鑳�
+        [Route("Sc_MouldMaintainRuleBill/CheckSc_MouldMaintainRuleBill")]
+        [HttpGet]
+        public object CheckSc_MouldMaintainRuleBill(string HInterID, int Type, string user, string HBillSubType)
+        {
+            try
+            {
+                //鍒ゆ柇鏄惁鏈夊鏍告潈闄�
+                if (!DBUtility.ClsPub.Security_Log("Sc_MouldMaintainRuleBill_Check", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "娌℃湁瀹℃牳鏉冮檺!";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+              
+                if (string.IsNullOrWhiteSpace(HInterID))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "HInterID涓虹┖锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                ClsPub.CurUserName = user;
+                BillOld.MvarItemKey = "Sc_MouldMaintainRuleBillMain";
+                oCN.BeginTran();//寮�濮嬩簨鍔�
+
+                //Type 1 瀹℃牳  2  鍙嶅鏍�
+                if (Type == 1)
+                {
+                    //鍒ゆ柇鍗曟嵁鏄惁宸茬粡瀹℃牳
+                    DataSet ds;
+                    string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HChecker"] != null && ds.Tables[0].Rows[0]["HChecker"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插鏍�!涓嶉渶瑕佸啀瀹℃牳!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+
+                    //瀹℃牳鍓嶆帶鍒�
+                    string HBillNo = ds.Tables[0].Rows[0]["HBillNo"].ToString();
+                    sql = "exec h_p_Sc_MouldMaintainRuleBill_BeforeCheckCtrl " + int.Parse(HInterID) + ",'" + HBillNo + "','" + user + "'";
+                    ds = oCN.RunProcReturn(sql, "h_p_Sc_MouldMaintainRuleBill_BeforeCheckCtrl");
+                    if (ds == null || ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0)
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 1;
+                        objJsonResult.Message = "瀹℃牳澶辫触!鍘熷洜:瀹℃牳鍓嶅垽鏂け璐ワ紝璇蜂笌缃戠粶绠$悊浜哄憳鑱旂郴";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+
+                    }
+                    if (ds.Tables[0].Rows[0]["HBack"].ToString() != "0")
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 1;
+                        objJsonResult.Message = "瀹℃牳澶辫触!鍘熷洜:" + ds.Tables[0].Rows[0]["HRemark"].ToString(); ;
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+
+
+                    //瀹℃牳鍗曟嵁
+                    if (!BillOld.CheckBill(Int64.Parse(HInterID), HBillNo, "h_p_Sc_MouldMaintainRuleBill_AfterCheckCtrl", user, ref ClsPub.sExeReturnInfo))
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 1;
+                        objJsonResult.Message = "瀹℃牳澶辫触!鍘熷洜:" + ClsPub.sExeReturnInfo;
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                }
+                else
+                {
+                    //鍒ゆ柇鍗曟嵁鏄惁宸茬粡鍙嶅鏍�
+                    DataSet ds;
+                    string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HChecker"] == null || ds.Tables[0].Rows[0]["HChecker"].ToString() == "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插弽瀹℃牳!涓嶉渶瑕佸啀鍙嶅鏍�!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+
+                    //鍙嶅鏍稿墠鎺у埗
+                    string HBillNo = ds.Tables[0].Rows[0]["HBillNo"].ToString();
+                    sql = "exec h_p_Sc_MouldMaintainRuleBill_BeforeUnCheckCtrl " + int.Parse(HInterID) + ",'" + HBillNo + "','" + user + "'";
+                    ds = oCN.RunProcReturn(sql, "h_p_Sc_MouldMaintainRuleBill_BeforeUnCheckCtrl");
+                    if (ds == null || ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0)
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 1;
+                        objJsonResult.Message = "鍙嶅鏍稿け璐�!鍘熷洜:鍙嶅鏍稿墠鍒ゆ柇澶辫触锛岃涓庣綉缁滅鐞嗕汉鍛樿仈绯�";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+
+                    }
+                    if (ds.Tables[0].Rows[0]["HBack"].ToString() != "0")
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 1;
+                        objJsonResult.Message = "鍙嶅鏍稿け璐�!鍘熷洜:" + ds.Tables[0].Rows[0]["HRemark"].ToString(); ;
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+
+                    //鍙嶅鏍稿崟鎹�
+                    if (!BillOld.AbandonCheck(Int64.Parse(HInterID), HBillNo, "h_p_Sc_MouldMaintainRuleBill_AfterUnCheckCtrl", user, ref ClsPub.sExeReturnInfo))
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 1;
+                        objJsonResult.Message = "瀹℃牳澶辫触!鍘熷洜:" + ClsPub.sExeReturnInfo;
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                }
+
+                oCN.Commit();//鎻愪氦浜嬪姟
+
+                objJsonResult.code = "0";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "鎵ц鎴愬姛锛�";
+                objJsonResult.data = null;
+                return objJsonResult; ;
+
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "鎵ц澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
     }
 }
diff --git a/WebAPI/Controllers/MJGL/Sc_MouldUpperBillController.cs b/WebAPI/Controllers/MJGL/Sc_MouldUpperBillController.cs
index e0df0f0..b3d6f23 100644
--- a/WebAPI/Controllers/MJGL/Sc_MouldUpperBillController.cs
+++ b/WebAPI/Controllers/MJGL/Sc_MouldUpperBillController.cs
@@ -198,6 +198,9 @@
                      + HInterID + ",'"+ HBillNo + "'," + i + "," + oSub.HMouldID.ToString() + ",'" + oSub.HQty 
                      + "'," + oSub.HSourceID.ToString() + "," + oSub.HICMOInterID.ToString() + "," + oSub.HICMOEntryID.ToString()+",'"+ oSub.HICMOBillNo.ToString() +
                      "') ");
+
+                //鍙嶅啓妯″叿鐘舵��
+                oCN.RunProc("update Gy_MouldFileMain set HMouldStatus='棰嗗嚭' where HInterID= " + oSub.HMouldID.ToString());
             }
 
             objJsonResult.code = "1";
@@ -877,6 +880,9 @@
                      + HInterID + ",'" + HBillNo + "'," + i + "," + oSub.HMouldID.ToString() + ",'" + oSub.HQty
                      + "'," + oSub.HSourceID.ToString() + "," + oSub.HICMOInterID.ToString() + "," + oSub.HICMOEntryID.ToString() + ",'" + oSub.HICMOBillNo.ToString() +
                      "') ");
+
+                //鍙嶅啓妯″叿鐘舵��
+                oCN.RunProc("update Gy_MouldFileMain set HMouldStatus='鍦ㄥ簱' where HInterID= " + oSub.HMouldID.ToString());
             }
 
             objJsonResult.code = "1";
@@ -1375,6 +1381,41 @@
         }
         #endregion
 
+        #region 涓嬫ā鍗曟煡璇笂妯″崟淇℃伅 鍒楄〃鏌ヨ
+        [Route("Sc_MouldLowerBill/Sc_MouldUpperBillList")]
+        [HttpGet]
+        public object Sc_MouldUpperBillList(string sWhere)
+        {
+            try
+            {
+
+                ds = oCN.RunProcReturn("select * from  h_v_Qj_Sc_MouldUpperBillList where 1=1" + sWhere, "h_v_Qj_Sc_MouldUpperBillList");
+
+                if (ds == null || ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏌ユ棤鏁版嵁锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                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;
+            }
+        }
+        #endregion
 
         #region 涓�/涓嬫ā鍗曡幏鍙栨潯鐮佷俊鎭�
         [Route("Sc_MouldUpperBill/txtHBarCode_KeyDown")]
@@ -1392,52 +1433,7 @@
                     return objJsonResult;
                 }
 
-                //鎷嗗垎鏉″舰鐮�
-                string sBillBarCode = HBarCode.Trim();
-
-              
-                //鎴彇鏉$爜绫诲瀷2 鍓嶄袱浣�
-                string BillNoType2 = sBillBarCode.Substring(0, Math.Min(2, sBillBarCode.Length));
-                //鎴彇鏉$爜绫诲瀷 鍓嶄笁浣�
-                string BillNoType3 = sBillBarCode.Substring(0, Math.Min(3, sBillBarCode.Length));
-                //鎴彇鏉$爜绫诲瀷3 鍓嶅洓浣�
-                string BillNoType4 = sBillBarCode.Substring(0, Math.Min(4, sBillBarCode.Length));
-
-
-                switch (BillNoType2)
-                {
-                    //鐢熶骇璧勬簮
-                    case "BM":
-                    case "SS":
-                        ds = oCN.RunProcReturn("select HItemID,HName,HNumber from Gy_Source where HNumber = '" + HBarCode + "'", "Gy_Source");
-                        break;
-                    case "MO":
-                        ds = oCN.RunProcReturn("select 鍗曟嵁鍙�,hmainid,HEntryID from h_v_IF_ICMOBillList where 鍗曟嵁鍙� = '" + HBarCode + "'", "h_v_IF_ICMOBillList");
-                        break;
-                    default:
-                        break;
-                }
-
-                switch (BillNoType3)
-                {
-                    //鍣ㄥ叿妗f
-                    case "MJD":
-                    case "PAK":
-                        ds = oCN.RunProcReturn("select * from h_v_Gy_MouldFileList where 鍗曟嵁鍙� = '" + HBarCode + "'", "h_v_Gy_MouldFileList");
-                        break;
-                    default:
-                        break;
-                }
-
-                switch (BillNoType4)
-                {
-                    //娴佽浆鍗�
-                    case "GXLX":
-                        ds = oCN.RunProcReturn("select 浠诲姟鍗曞彿,hicmointerid,HICMOEntryID,鍗曟嵁鍙�,hmainid,HEntryID from h_v_Sc_ProcessExchangeBillQuerySub where 鍗曟嵁鍙� = '" + HBarCode + "'", "h_v_Sc_ProcessExchangeBillQuerySub");
-                        break;
-                    default:
-                        break;
-                }
+                ds = oCN.RunProcReturn("exec h_p_Sc_AllowLoadData '" + HBarCode + "'", "h_p_Sc_AllowLoadData");
 
                 if (ds == null || ds .Tables.Count== 0 || ds.Tables[0].Rows.Count == 0)
                 {
@@ -1598,6 +1594,9 @@
                      + "'," + oSub.HSourceID.ToString() + "," + oSub.HICMOInterID.ToString() + "," + oSub.HICMOEntryID.ToString() + ",'" + oSub.HICMOBillNo.ToString()
                      + "','" + oSub.HProcExchBillNo.ToString() + "'," + oSub.HProcExchInterID.ToString() + "," + oSub.HProcExchEntryID.ToString()
                      + ",'" + oSub.HScanDate.ToString() + "','" + oSub.HMouldNumber.ToString() + "') ");
+
+                //鍙嶅啓妯″叿鐘舵��
+                oCN.RunProc("update Gy_MouldFileMain set HMouldStatus='棰嗗嚭' where HInterID= "+ oSub.HMouldID.ToString());
             }
 
             objJsonResult.code = "1";
@@ -1742,6 +1741,9 @@
                      + "'," + oSub.HSourceID.ToString() + "," + oSub.HICMOInterID.ToString() + "," + oSub.HICMOEntryID.ToString() + ",'" + oSub.HICMOBillNo.ToString()
                      + "','" + oSub.HProcExchBillNo.ToString() + "'," + oSub.HProcExchInterID.ToString() + "," + oSub.HProcExchEntryID.ToString()
                      + ",'" + oSub.HScanDate.ToString() + "','" + oSub.HMouldNumber.ToString() + "') ");
+
+                //鍙嶅啓妯″叿鐘舵��
+                oCN.RunProc("update Gy_MouldFileMain set HMouldStatus='鍦ㄥ簱' where HInterID= " + oSub.HMouldID.ToString());
             }
 
             objJsonResult.code = "1";
diff --git a/WebAPI/Controllers/PlateBindingController.cs b/WebAPI/Controllers/PlateBindingController.cs
index 1821d54..dab2992 100644
--- a/WebAPI/Controllers/PlateBindingController.cs
+++ b/WebAPI/Controllers/PlateBindingController.cs
@@ -34,13 +34,15 @@
                 string[] sArray = msg3.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
                 string msg1 = sArray[0].ToString();
                 string user = sArray[1].ToString();
+                string HPath = sArray[2].ToString();
 
-                string filePath = "Configuration";
+                string filePath = "MESConfiguration";
                 bool isAppend = true;
 
                 filePath = $@"{filePath}\PlateBinding.txt";
 
-                filePath = "D:\\" + filePath;
+                //filePath = "C:\\" + filePath;
+                filePath = HPath;
 
                 if (!System.IO.Directory.Exists(Path.GetDirectoryName(filePath)))
                 {
@@ -95,12 +97,45 @@
 
         [Route("Get/Xt_PlateBinding")]
         [HttpGet]
-        public object Get(string user)
+        public object Get(string user,string HPath)
         {
             try
             {
+                //鍒ゆ柇鏄惁瀛樺湪鏂囦欢澶癸紝鑻ヤ笉瀛樺湪鍒欏垱寤�
+                if (!System.IO.Directory.Exists(Path.GetDirectoryName(HPath)))
+                {
+                    System.IO.Directory.CreateDirectory(Path.GetDirectoryName(HPath));
+                }
+
+                //鍒ゆ柇鏄惁宸茬粡瀛樺湪骞虫澘缁戝畾鏂囦欢锛岃嫢涓嶅瓨鍦ㄥ垯鍒涘缓涓�浠芥枃浠�
+                bool fileExists = System.IO.File.Exists(HPath);                
+
+                //涓嶅瓨鍦ㄥ垯鍒涘缓璇ユ枃浠�
+                if (!fileExists)
+                {
+                    bool isAppend = true;
+                    using (StreamWriter writer = new StreamWriter(HPath, isAppend))
+                    {
+                        //瀛樺湪鐨勬椂鍊欐墠鍐欎竴琛�
+                        if (fileExists && isAppend)
+                        {
+                            writer.WriteLine();
+                        }
+                        string msg1 = "";
+                        var content = msg1 is string ? msg1 : JsonConvert.SerializeObject(msg1);
+                        writer.WriteLine($"{DateTime.Now}");
+                        writer.WriteLine("");
+                        msg1 = msg1.Replace("{", "").Replace("}", "").Replace("\"", "");
+                        string[] arr = msg1.Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries);
+                        for (int i = 0; i < arr.Length; i++)
+                        {
+                            writer.WriteLine(arr[i]);
+                        }
+                    }
+                }
+
                 //鏍规嵁鎸囧畾璺緞锛岃鍙栨枃浠跺唴瀹癸紝杩斿洖鏁版嵁涓烘暟缁勬牸寮�
-                string[] ConfigFileInfo = File.ReadAllLines(@"D:\Configuration\PlateBinding.txt");
+                string[] ConfigFileInfo = File.ReadAllLines(HPath);
 
                 objJsonResult.code = "1";
                 objJsonResult.count = 1;
diff --git a/WebAPI/Controllers/QC_ManagementController.cs b/WebAPI/Controllers/QC_ManagementController.cs
index ab87089..72a832c 100644
--- a/WebAPI/Controllers/QC_ManagementController.cs
+++ b/WebAPI/Controllers/QC_ManagementController.cs
@@ -126,12 +126,12 @@
                 SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
                 if (sWhere == null || sWhere.Equals(""))
                 {
-                    ds = oCN.RunProcReturn("select  * from h_v_Gy_QCCheckProjectList order by hmainid desc ", "h_v_Gy_QCCheckProjectList");
+                    ds = oCN.RunProcReturn("select  * from h_v_Gy_QCCheckProjectList order by 鏃ユ湡 desc ", "h_v_Gy_QCCheckProjectList");
                 }
                 else
                 {
                     string sql1 = "select * from h_v_Gy_QCCheckProjectList where 1=1";
-                    string sql = sql1 + sWhere+ " order by hmainid desc ";
+                    string sql = sql1 + sWhere+ " order by 鏃ユ湡 desc ";
                     ds = oCN.RunProcReturn(sql, "h_v_Gy_QCCheckProjectList");
                 }
             }
@@ -1066,6 +1066,8 @@
                     oItemSub.HRelationQty = 0;
                     oItemSub.HRelationMoney = 0;
                     oItemSub.HCloseMan = "";
+                    oItemSub.HDestructInspect = Convert.ToInt32(oItemSub.HDestructInspect);
+                    oItemSub.HKeyInspect = Convert.ToInt32(oItemSub.HKeyInspect);
                     oBill.DetailColl.Add(oItemSub);
 
                 }
diff --git a/WebAPI/Controllers/SBGL/Gy_EquipFileMainController.cs b/WebAPI/Controllers/SBGL/Gy_EquipFileMainController.cs
index 6346119..fafe1d8 100644
--- a/WebAPI/Controllers/SBGL/Gy_EquipFileMainController.cs
+++ b/WebAPI/Controllers/SBGL/Gy_EquipFileMainController.cs
@@ -49,22 +49,12 @@
                     ds = oCN.RunProcReturn(sql, "h_v_Gy_EquipFileMainList");
                 }
 
-                //if (ds.Tables[0].Rows.Count != 0 || ds != null)
-                //{
+              
                 objJsonResult.code = "1";
                 objJsonResult.count = 1;
                 objJsonResult.Message = "Sucess锛�";
                 objJsonResult.data = ds.Tables[0];
                 return objJsonResult;
-                //}
-                //else
-                //{
-                //objJsonResult.code = "0";
-                //objJsonResult.count = 0;
-                //objJsonResult.Message = "鏃犳暟鎹�";
-                //objJsonResult.data = null;
-                //return objJsonResult;
-                //}
             }
             catch (Exception e)
             {
@@ -104,8 +94,18 @@
                 return objJsonResult;
             }
             DLL.ClsGy_EquipFileMain oBill = new DLL.ClsGy_EquipFileMain();
-            if (oBill.ShowBill(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo))
+            ds = oCN.RunProcReturn("select * from Gy_EquipFileBillMain where HInterID=" + HItemID, "Gy_EquipFileBillMain");
+            if (ds.Tables[0].Rows.Count > 0)
             {
+                if (int.Parse(ds.Tables[0].Rows[0]["HBillStatus"].ToString()) > 1)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鍗曟嵁褰撳墠澶勪簬涓嶈兘鍒犻櫎鐘舵�侊紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
                 oCN.RunProc("Delete From Gy_EquipFileBillMain  where HInterID=" + lngBillKey);
                 objJsonResult.code = "1";
                 objJsonResult.count = 1;
@@ -211,6 +211,9 @@
                 string HLogo = list[0].HLogo;                //鈭�		varchar(50)	//鍝佺墝
                 int HSellSupID = list[0].HSellSupID;              // 鈭�	int		//渚涘簲鍟�(Gy_Supplier)
                 int HMakeSupID = list[0].HMakeSupID;              // int		//鍒堕�犲晢 (Gy_Supplier) 
+                string HMainSourceFlag = list[0].HMainSourceFlag;             //varchar(10) //鏄惁涓荤敓浜ц澶�(鍚︼紝鏄�)
+                string HMacAddress = list[0].HMacAddress;   // varchar(50) //鏁伴噰鐗╃悊鍦板潃
+                int HMainSourceID = list[0].HMainSourceID;  //int //鎵�灞炰富鐢熶骇璁惧锛圙y_EquipFileBillMain锛�
                 string HMaker = msg4;
                 string HMakeDate = DateTime.Now.Date.ToString();
                 int HEquipDotCheckRuleInterID = list[0].HEquipDotCheckRuleInterID;
@@ -231,11 +234,11 @@
                 oCN.RunProc("Insert into Gy_EquipFileBillMain " +
                    " (hbillno,HEquipFileNumber,HEquipFileNo,HName,HModel,HModel2,HMaterID,HUnitID,HOutComDate" +
                    ",HOutComNo,HDeptID,HUseEmpID,HRepairEmpID,HAddress,HSetupDate,HStartupDate,HStatus," +
-"HEquipFileTypeID,HProNum,HBarCode,HWorkArea,HLogo,HSellSupID,HMakeSupID,hbilltype,HDate,HYear,HMaker,HMakeDate,HEquipMaintainRuleInterID,HEquipDotCheckRuleInterID,HSourceID) " +
+"HEquipFileTypeID,HProNum,HBarCode,HWorkArea,HLogo,HSellSupID,HMakeSupID,hbilltype,HDate,HYear,HMaker,HMakeDate,HEquipMaintainRuleInterID,HEquipDotCheckRuleInterID,HSourceID,HMainSourceFlag,HMacAddress,HMainSourceID) " +
                    " Values('" + hbillno + "','" + HEquipFileNumber + "','" + HEquipFileNo + "','" + HName + "','" + HModel + "','" + HModel2 + "'," + HMaterID + "," + HUnitID +
                    ",'" + HOutComDate + "','" + HOutComNo + "'," + HDeptID + "," + HUseEmpID + "," + HRepairEmpID + ",'" + HAddress +
                    "','" + HSetupDate + "','" + HStartupDate + "','" + HStatus + "'," + HEquipFileTypeID + ",'" + HProNum +
-                   "','" + HBarCode + "','" + HWorkArea + "','" + HLogo + "'," + HSellSupID + "," + HMakeSupID + ",'3308','" + HDate + "','" + HYear + "','" + HMaker + "','" + HMakeDate + "','" + HEquipMaintainRuleInterID + "','" + HEquipDotCheckRuleInterID +"'," + HSourceID + ")", ref DBUtility.ClsPub.sExeReturnInfo);
+                   "','" + HBarCode + "','" + HWorkArea + "','" + HLogo + "'," + HSellSupID + "," + HMakeSupID + ",'3308','" + HDate + "','" + HYear + "','" + HMaker + "','" + HMakeDate + "','" + HEquipMaintainRuleInterID + "','" + HEquipDotCheckRuleInterID +"'," + HSourceID + ",'" + HMainSourceFlag + "','" + HMacAddress + "','" + HMainSourceID + "')", ref DBUtility.ClsPub.sExeReturnInfo);
                 //淇敼涓婄骇涓洪潪鏈骇浠g爜
                 oCN.Commit();
                 objJsonResult.code = "1";
@@ -309,6 +312,9 @@
                 string HLogo = list[0].HLogo;                //鈭�		varchar(50)	//鍝佺墝
                 int HSellSupID = list[0].HSellSupID;              // 鈭�	int		//渚涘簲鍟�(Gy_Supplier)
                 int HMakeSupID = list[0].HMakeSupID;              // int		//鍒堕�犲晢 (Gy_Supplier)
+                string HMainSourceFlag = list[0].HMainSourceFlag;             //varchar(10) //鏄惁涓荤敓浜ц澶�(鍚︼紝鏄�)
+                string HMacAddress = list[0].HMacAddress;   // varchar(50) //鏁伴噰鐗╃悊鍦板潃
+                int HMainSourceID = list[0].HMainSourceID;  //int //鎵�灞炰富鐢熶骇璁惧锛圙y_EquipFileBillMain锛�
                 string HUpDater = msg4;
                 string HUpDateDate = DateTime.Now.Date.ToString();
                 int HEquipDotCheckRuleInterID = list[0].HEquipDotCheckRuleInterID;
@@ -364,11 +370,14 @@
                     ",HLogo='" + HLogo + "'" +
                     ",HSellSupID=" + HSellSupID +
                     ",HMakeSupID= " + HMakeSupID +
-                    ",HUpDater= '" + HUpDater + "'" +
+                    ",HUpDater= '" + HUpDater + "'" +                    
                     ",HUpDateDate= '" + HUpDateDate + "'" +
                     ",HEquipDotCheckRuleInterID='" + HEquipDotCheckRuleInterID + "'" +
                     ",HEquipMaintainRuleInterID='" + HEquipMaintainRuleInterID + "'" +
                     ",HSourceID='" + HSourceID + "'" +
+                    ",HMainSourceFlag= '" + HMainSourceFlag + "'" +
+                    ",HMacAddress= '" + HMacAddress + "'" +
+                    ",HMainSourceID = '" + HMainSourceID + "'" +
                     " Where HInterID=" + HInterID, ref DBUtility.ClsPub.sExeReturnInfo);
                 //淇敼瀛愰」鐩唬鐮�
                 //oCN.RunProc("exec h_p_Gy_UpdateNumber Gy_RepairCheck,'" + HNumber + ".','" + this.HOldNumber + ".'", ref DBUtility.ClsPub.sExeReturnInfo);
diff --git a/WebAPI/Controllers/SBGL/Gy_EquipTypeController.cs b/WebAPI/Controllers/SBGL/Gy_EquipTypeController.cs
index 23b262c..8470eb3 100644
--- a/WebAPI/Controllers/SBGL/Gy_EquipTypeController.cs
+++ b/WebAPI/Controllers/SBGL/Gy_EquipTypeController.cs
@@ -37,24 +37,14 @@
                 //    objJsonResult.data = null;
                 //    return objJsonResult;
                 //}
-                ds = oCN.RunProcReturn("select HItemID,HParentID,HNumber,HName,HLevel, case when HEndFlag<>0 then 'Y'else ' 'end HEndFlag,case when HStopFlag <> 0 then 'Y'else ' 'end HStopFlag, HRemark, HUseFlag from Gy_EquipFileType where 1=1 " + sWhere+ " order by HItemID ", "Gy_EquipFileType");
+                ds = oCN.RunProcReturn("select HItemID,HParentID,HNumber,HName,HLevel, case when HEndFlag<>0 then 'Y'else ' 'end HEndFlag,case when HStopFlag <> 0 then 'Y'else ' 'end HStopFlag, HRemark, HUseFlag,HMakeEmp,HMakeTime,HCheckEmp,HCheckTime,HModifyEmp,HModifyTime,HCloseEmp,HCloseTime from Gy_EquipFileType where 1=1 " + sWhere+ " order by HItemID ", "Gy_EquipFileType");
 
-                //if (ds.Tables[0].Rows.Count != 0 || ds != null)
-                //{
+               
                 objJsonResult.code = "1";
                 objJsonResult.count = 1;
                 objJsonResult.Message = "Sucess锛�";
                 objJsonResult.data = ds.Tables[0];
                 return objJsonResult;
-                //}
-                //else
-                //{
-                //objJsonResult.code = "0";
-                //objJsonResult.count = 0;
-                //objJsonResult.Message = "鏃犳暟鎹�";
-                //objJsonResult.data = null;
-                //return objJsonResult;
-                //}
             }
             catch (Exception ex)
             {
@@ -94,8 +84,18 @@
                 return objJsonResult;
             }
             DLL.ClsGy_EquipTypeBill oBill = new DLL.ClsGy_EquipTypeBill();
-            if (oBill.ShowBill(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo))
+            ds = oCN.RunProcReturn("select * from Gy_EquipFileType where HItemID=" + HItemID, "Gy_EquipFileType");
+            if (ds.Tables[0].Rows.Count > 0)
             {
+                if (ds.Tables[0].Rows[0]["HCloseEmp"].ToString() != "" || ds.Tables[0].Rows[0]["HCheckEmp"].ToString() != "")
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鍗曟嵁褰撳墠澶勪簬涓嶈兘鍒犻櫎鐘舵�侊紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
                 oCN.RunProc("Delete From Gy_EquipFileType  where HItemID=" + lngBillKey);
                 objJsonResult.code = "1";
                 objJsonResult.count = 1;
@@ -174,9 +174,9 @@
                 //涓昏〃
                 oCN.RunProc("Insert into Gy_EquipFileType " +
                    " (HNumber,HName,HHelpCode,HShortNumber,HParentID" +
-                   ",HLevel,HEndFlag,HStopflag,HRemark,HMakeTime) " +
+                   ",HLevel,HEndFlag,HStopflag,HRemark,HMakeTime,HMakeEmp) " +
                    " Values('" + HNumber + "','" + HName + "','" + HHelpCode + "','" + HShortNumber + "'," + HParentID +
-                   "," + HLevel + "," + Convert.ToString(HEndFlag ? 1 : 0) + "," + Convert.ToString(HStopflag ? 1 : 0) + ",'" + HRemark + "',getdate())", ref DBUtility.ClsPub.sExeReturnInfo);
+                   "," + HLevel + "," + Convert.ToString(HEndFlag ? 1 : 0) + "," + Convert.ToString(HStopflag ? 1 : 0) + ",'" + HRemark + "',getdate(),'" + msg4 + "')", ref DBUtility.ClsPub.sExeReturnInfo);
                 //淇敼涓婄骇涓洪潪鏈骇浠g爜
                 oCN.RunProc("Update Gy_EquipFileType set HEndflag=0 where HItemID=" + HParentID, ref DBUtility.ClsPub.sExeReturnInfo);
                 oCN.Commit();
@@ -269,6 +269,8 @@
                     ",HShortNumber='" + HShortNumber + "'" +
                     ",HHelpCode='" + HHelpCode + "'" +
                     ",HParentID=" + HParentID +
+                    ",HModifyTime=getdate()" +
+                    ",HModifyEmp='" + msg4 + "'" +
                     ",HStopflag='" + HStopflag + "'" +
                     ",HRemark= '" + HRemark + "' Where HItemID=" + HItemID, ref DBUtility.ClsPub.sExeReturnInfo);
                 //淇敼瀛愰」鐩唬鐮�
diff --git a/WebAPI/Controllers/SBGL/Sb_EquipBeginBillController.cs b/WebAPI/Controllers/SBGL/Sb_EquipBeginBillController.cs
index 8c58423..5edf029 100644
--- a/WebAPI/Controllers/SBGL/Sb_EquipBeginBillController.cs
+++ b/WebAPI/Controllers/SBGL/Sb_EquipBeginBillController.cs
@@ -738,7 +738,62 @@
         }
         #endregion
 
-       
+        #region 璁惧寮�鏈哄崟鍒楄〃PDA 鏌ヨ       
+        [Route("Sb_EquipBeginBill/锘縎b_EquipBeginBillList_PDA")]
+        [HttpGet]
+        public object Sb_EquipBeginBillList_PDA(string sWhere, string user)
+        {
+            try
+            {
+                List<object> columnNameList = new List<object>();
+
+                //鏌ョ湅鏉冮檺
+                if (!DBUtility.ClsPub.Security_Log_second("Sb_EquipBeginBillMain_Check", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏌ヨ澶辫触锛佹棤鏉冮檺锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+
+                if (sWhere == null || sWhere.Equals(""))
+                {
+                    ds = oCN.RunProcReturn("select * from h_v_Sb_EquipBeginBillList_PDA order by 鍗曟嵁鍙� desc", "锘縣_v_Sb_EquipBeginBillList_PDA");
+                }
+                else
+                {
+                    string sql1 = "select * from  h_v_Sb_EquipBeginBillList_PDA  where 1 = 1 ";
+                    string sql = sql1 + sWhere + " order by 鍗曟嵁鍙� desc";
+                    ds = oCN.RunProcReturn(sql, "锘縣_v_Sb_EquipBeginBillList_PDA");
+                }
+
+                //娣诲姞鍒楀悕
+                foreach (DataColumn col in ds.Tables[0].Columns)
+                {
+                    Type dataType = col.DataType;
+                    string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}";
+                    columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//鑾峰彇鍒癉ataColumn鍒楀璞$殑鍒楀悕
+                }
+
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "Sucess锛�";
+                objJsonResult.data = ds.Tables[0];
+                objJsonResult.list = columnNameList;
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "Exception锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
 
     }
 }
\ No newline at end of file
diff --git a/WebAPI/Controllers/SBGL/Sb_EquipDotCheckBillController.cs b/WebAPI/Controllers/SBGL/Sb_EquipDotCheckBillController.cs
index b5fb9f7..c8043de 100644
--- a/WebAPI/Controllers/SBGL/Sb_EquipDotCheckBillController.cs
+++ b/WebAPI/Controllers/SBGL/Sb_EquipDotCheckBillController.cs
@@ -457,6 +457,49 @@
         }
         #endregion
 
+        #region 鏍规嵁璁惧鏉$爜鏌ユ壘璁惧妗f淇℃伅PDA  鏌ヨ鏉$爜妗f鍒楄〃
+        [Route("Sb_PDA_EquipDotCheckBill/txtHBarCode_KeyDown_List")]
+        [HttpGet]
+        public object txtHBarCode_KeyDown_List(string HBarCode)
+        {
+            try
+            {
+                if (HBarCode == null || HBarCode.Equals(""))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏉″舰鐮佷笉鑳戒负绌猴紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                //寰楀埌淇℃伅
+                ds = oCN.RunProcReturn("select top 1 * from h_v_Gy_EquipFileMainList  where 璁惧浠g爜= '" + HBarCode + "'", "h_v_Gy_EquipFileMainList");
+                //鍐欏叆淇℃伅
+                if (ds == null || ds.Tables[0].Rows.Count == 0)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏈煡璇㈠埌璁惧淇℃伅锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                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;
+            }
+        }
+        #endregion
+
         #region 璁惧鐐规璁板綍鎻愪氦PDA
 
         [Route("Sb_PDA_EquipDotCheckBill/SaveGetEquipDotCheckBillList")]
diff --git a/WebAPI/Controllers/SBGL/Sb_EquipDotCheckRuleBillController.cs b/WebAPI/Controllers/SBGL/Sb_EquipDotCheckRuleBillController.cs
index 4144b8a..6c2ae4d 100644
--- a/WebAPI/Controllers/SBGL/Sb_EquipDotCheckRuleBillController.cs
+++ b/WebAPI/Controllers/SBGL/Sb_EquipDotCheckRuleBillController.cs
@@ -110,9 +110,10 @@
                 return objJsonResult;
             }
             DLL.ClsSb_EquipDotCheckRuleBill oBill = new DLL.ClsSb_EquipDotCheckRuleBill();
-            if (oBill.ShowBill(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo))
+            ds = oCN.RunProcReturn("select * from Sb_EquipDotCheckRuleBillMain where HInterID=" + HInterID, "Sb_EquipDotCheckRuleBillMain");
+            if (ds.Tables[0].Rows.Count>0)
             {
-                if (oBill.omodel.HBillStatus > 1)
+                if (int.Parse(ds.Tables[0].Rows[0]["HBillStatus"].ToString())  > 1)
                 {
                     objJsonResult.code = "0";
                     objJsonResult.count = 0;
diff --git a/WebAPI/Controllers/SBGL/Sb_EquipMaintainPlanBillController.cs b/WebAPI/Controllers/SBGL/Sb_EquipMaintainPlanBillController.cs
index 6455b57..4e2c548 100644
--- a/WebAPI/Controllers/SBGL/Sb_EquipMaintainPlanBillController.cs
+++ b/WebAPI/Controllers/SBGL/Sb_EquipMaintainPlanBillController.cs
@@ -1,4 +1,5 @@
 锘縰sing DBUtility;
+using Newtonsoft.Json;
 using Newtonsoft.Json.Linq;
 using System;
 using System.Collections.Generic;
@@ -26,6 +27,7 @@
         {
             try
             {
+                List<object> columnNameList = new List<object>();
                 if (!DBUtility.ClsPub.Security_Log("Sb_EquipMaintainPlanBillList", 1, false, user))
                 {
                     objJsonResult.code = "0";
@@ -46,11 +48,19 @@
                     ds = oCN.RunProcReturn(sql, "h_v_Sc_EquipMaintainPlan");
                 }
 
-               
+                //娣诲姞鍒楀悕
+                foreach (DataColumn col in ds.Tables[0].Columns)
+                {
+                    Type dataType = col.DataType;
+                    string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}";
+                    columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//鑾峰彇鍒癉ataColumn鍒楀璞$殑鍒楀悕
+                }
+
                 objJsonResult.code = "1";
                 objJsonResult.count = 1;
                 objJsonResult.Message = "Sucess锛�";
                 objJsonResult.data = ds.Tables[0];
+                objJsonResult.list = columnNameList;
                 return objJsonResult;
             }
             catch (Exception ex)
@@ -113,6 +123,8 @@
                     UserName = oItem.HMaker;  //鍒跺崟浜�
                     oItem.HBillType = "3902";
                     oItem.HBillSubType = "3902";
+                    oItem.HMainSourceInterID = oItem.HMouldMaintainRuleID;
+                    oItem.HMainSourceBillNo = oItem.HMouldMaintainRuleNo;
 
                     //oItem.HInterID =0;
                     //oItem.HBillNo = "";
diff --git a/WebAPI/Controllers/SBGL/Sb_EquipMaintainRuleBillController.cs b/WebAPI/Controllers/SBGL/Sb_EquipMaintainRuleBillController.cs
index 7449da9..2ec9844 100644
--- a/WebAPI/Controllers/SBGL/Sb_EquipMaintainRuleBillController.cs
+++ b/WebAPI/Controllers/SBGL/Sb_EquipMaintainRuleBillController.cs
@@ -99,9 +99,10 @@
                 return objJsonResult;
             }
             DLL.ClsSb_EquipMaintainRuleBill oBill = new DLL.ClsSb_EquipMaintainRuleBill();
-            if (oBill.ShowBill(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo))
+            ds = oCN.RunProcReturn("select * from Sb_EquipMaintainRuleBillMain where HInterID=" + HInterID, "Sb_EquipMaintainRuleBillMain");
+            if (ds.Tables[0].Rows.Count > 0)
             {
-                if (oBill.omodel.HBillStatus > 1)
+                if (DBUtility.ClsPub.isInt(ds.Tables[0].Rows[0]["HBillStatus"].ToString()) > 1)
                 {
                     objJsonResult.code = "0";
                     objJsonResult.count = 0;
@@ -109,7 +110,7 @@
                     objJsonResult.data = null;
                     return objJsonResult;
                 }
-                if (oBill.omodel.HChecker != ""&& oBill.omodel.HChecker != null)
+                if (ds.Tables[0].Rows[0]["HChecker"].ToString() != "")
                 {
                     objJsonResult.code = "0";
                     objJsonResult.count = 0;
@@ -200,9 +201,9 @@
             if (string.IsNullOrEmpty(HID))
                 return new ApiResult<DataSet> { code = -1, msg = "ID涓嶈兘涓虹┖" };
             SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
-            var dataSet = oCN.RunProcReturn("select top 1 * from Sb_EquipMaintainRuleBillMain  where HInterID= " + HID + " ", "Sb_EquipMaintainRuleBillMain");
+            var dataSet = oCN.RunProcReturn("select top 1 * from h_v_Sb_EquipMaintainRuleBillList  where HInterID= " + HID + " ", "h_v_Sb_EquipMaintainRuleBillList");
             if (dataSet == null || dataSet.Tables[0].Rows.Count == 0)
-                return new ApiResult<DataSet> { code = -1, msg = "涓嶅瓨鍦ㄧ偣妫�璁″垝琛�" };
+                return new ApiResult<DataSet> { code = -1, msg = "涓嶅瓨鍦ㄤ繚鍏昏绋嬭〃" };
             return new ApiResult<DataSet> { code = 1, msg = "鏌ヨ鎴愬姛", data = dataSet };
         }
         #endregion
diff --git a/WebAPI/Controllers/SBGL/Sb_EquipStopBillController.cs b/WebAPI/Controllers/SBGL/Sb_EquipStopBillController.cs
index 40890cf..9b7e312 100644
--- a/WebAPI/Controllers/SBGL/Sb_EquipStopBillController.cs
+++ b/WebAPI/Controllers/SBGL/Sb_EquipStopBillController.cs
@@ -738,7 +738,62 @@
         }
         #endregion
 
-       
+        #region 璁惧鍋滄満鍗曞垪琛≒DA 鏌ヨ       
+        [Route("Sb_EquipStopBill/Sb_EquipStopBillList_PDA")]
+        [HttpGet]
+        public object Sb_EquipStopBillList_PDA(string sWhere, string user)
+        {
+            try
+            {
+                List<object> columnNameList = new List<object>();
+
+                //鏌ョ湅鏉冮檺
+                if (!DBUtility.ClsPub.Security_Log_second("Sb_EquipStopBillMain_Check", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏌ヨ澶辫触锛佹棤鏉冮檺锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+
+                if (sWhere == null || sWhere.Equals(""))
+                {
+                    ds = oCN.RunProcReturn("select * from h_v_Sb_EquipStopBillList_PDA order by 鍗曟嵁鍙� desc", "锘縣_v_Sb_EquipStopBillList_PDA");
+                }
+                else
+                {
+                    string sql1 = "select * from  h_v_Sb_EquipStopBillList_PDA  where 1 = 1 ";
+                    string sql = sql1 + sWhere + " order by 鍗曟嵁鍙� desc";
+                    ds = oCN.RunProcReturn(sql, "锘縣_v_Sb_EquipStopBillList_PDA");
+                }
+
+                //娣诲姞鍒楀悕
+                foreach (DataColumn col in ds.Tables[0].Columns)
+                {
+                    Type dataType = col.DataType;
+                    string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}";
+                    columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//鑾峰彇鍒癉ataColumn鍒楀璞$殑鍒楀悕
+                }
+
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "Sucess锛�";
+                objJsonResult.data = ds.Tables[0];
+                objJsonResult.list = columnNameList;
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "Exception锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
 
     }
 }
\ No newline at end of file
diff --git a/WebAPI/Controllers/SCGL/Sc_MESBeginWorkBillController.cs b/WebAPI/Controllers/SCGL/Sc_MESBeginWorkBillController.cs
index bd708fd..94f5853 100644
--- a/WebAPI/Controllers/SCGL/Sc_MESBeginWorkBillController.cs
+++ b/WebAPI/Controllers/SCGL/Sc_MESBeginWorkBillController.cs
@@ -634,6 +634,92 @@
         }
         #endregion
 
+        #region 鎶ュ伐骞冲彴寮�宸ュ崟淇濆瓨鍓嶇郴缁熼獙璇�
+        [Route("Sc_MESBeginWorkBill/Xt_AllowLoadData")]
+        [HttpGet]
+        public object Xt_AllowLoadData(string HKey)
+        {
+            try
+            {
+                ClsXt_SystemParameter oClsXt_SystemParameter = new ClsXt_SystemParameter();
+                string Key = "N";
+                string sCapName = oClsXt_SystemParameter.GetSingleSystemParameter("WMS_CampanyName", ref DBUtility.ClsPub.sExeReturnInfo);
+                if (sCapName.Contains("鏉窞鏂帿灏�"))
+                {
+                    Key = oClsXt_SystemParameter.GetSingleSystemParameter(HKey, ref DBUtility.ClsPub.sExeReturnInfo);
+                }
+
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "";
+                objJsonResult.data = null;
+                objJsonResult.Verify = Key;
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = e.Message;
+                objJsonResult.data = 1;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+
+        #region 鎶ュ伐骞冲彴寮�宸ュ崟娴佹按鍙峰洖杞﹁幏鍙栨潯鐮佷俊鎭�
+        [Route("Sc_MESBeginWorkBill/txtHBarCode_KeyDown")]
+        [HttpGet]
+        public object txtHBarCode_KeyDown(string HBarCode, string HSourceInterID)
+        {
+            try
+            {
+                if (HBarCode == null || HBarCode.Equals(""))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "绌虹櫧鐮�,鏉″舰鐮佷笉鑳戒负绌猴紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                ds = oCN.RunProcReturn("exec h_p_Sc_MESBeginWorkBill_AllowLoadData '"+ HBarCode + "',"+ HSourceInterID, "h_p_Sc_MESBeginWorkBill_AllowLoadData");
+              
+                if (ds == null || ds.Tables[0].Rows.Count == 0)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏈煡璇㈠埌鏉$爜淇℃伅锛�";
+                    objJsonResult.data = ds.Tables[0];
+                    return objJsonResult;
+                }
+                else if (ds.Tables.Count ==1)
+                {
+                    objJsonResult.code = ds.Tables[0].Rows[0][0].ToString();
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = ds.Tables[0].Rows[0][1].ToString();
+                    objJsonResult.data = ds;
+                    return objJsonResult;
+                }
+
+                objJsonResult.code = ds.Tables[0].Rows[0][0].ToString();
+                objJsonResult.count = 1;
+                objJsonResult.Message = ds.Tables[0].Rows[0][1].ToString();
+                objJsonResult.data = ds;
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "Exception锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
         #region 鎶ュ伐骞冲彴寮�宸ュ崟淇濆瓨/缂栬緫
         /// <summary>
         /// 寮�宸ュ崟
diff --git a/WebAPI/Controllers/SCGL/Sc_ProductionReturnBillController.cs b/WebAPI/Controllers/SCGL/Sc_ProductionReturnBillController.cs
index d3c6bff..1922813 100644
--- a/WebAPI/Controllers/SCGL/Sc_ProductionReturnBillController.cs
+++ b/WebAPI/Controllers/SCGL/Sc_ProductionReturnBillController.cs
@@ -158,6 +158,17 @@
                 }
                 //==================================================================================      
 
+                //杩涜 浼氳鏈熼棿 缁撹处 鐨勫垽鏂拰鎺у埗
+                string s = "";
+                int sYear = 0;
+                int sPeriod = 0;
+                DateTime HDate = DateTime.Now;
+                if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(HDate, ref sYear, ref sPeriod, ref s) == false)
+                {
+                    objJsonResult.Message = s;
+                    return objJsonResult;
+                }
+
                 string sReturn = "";
                 oCN.BeginTran();
                 oCN.RunProc("Delete From Kf_ICStockBillMain where HInterID = " + HInterID);
@@ -308,6 +319,16 @@
                 string HBUSINESSTYPE = mainList2[0].HBUSINESSTYPE == null ? "''" : mainList2[0].HBUSINESSTYPE;
                 string HSUPPLYADDRESS = mainList2[0].HSUPPLYADDRESS == null ? "''" : mainList2[0].HSUPPLYADDRESS;
                 long HPROVIDERCONTACTID = mainList2[0].HPROVIDERCONTACTID == null ? 0 : mainList2[0].HPROVIDERCONTACTID;
+
+                //杩涜 浼氳鏈熼棿 缁撹处 鐨勫垽鏂拰鎺у埗
+                string s = "";
+                int sYear = 0;
+                int sPeriod = 0;
+                if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(HDate, ref sYear, ref sPeriod, ref s) == false)
+                {
+                    objJsonResult.Message = s;
+                    return objJsonResult;
+                }
 
                 ds = oCN.RunProcReturn("select * from h_v_IF_ProductionReturnList where hmainid=" + HInterID + " and 鍗曟嵁鍙�='" + HBillNo + "'", "h_v_IF_ProductionReturnList");
                 if ((OperationType == 1 || OperationType == 2 || OperationType == 4) && ds.Tables[0].Rows.Count == 0)//鏂板
@@ -587,6 +608,16 @@
                     return objJsonResult;
                 }
 
+                //杩涜 浼氳鏈熼棿 缁撹处 鐨勫垽鏂拰鎺у埗
+                string s = "";
+                int sYear = 0;
+                int sPeriod = 0;
+                DateTime HDate = DateTime.Now;
+                if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(HDate, ref sYear, ref sPeriod, ref s) == false)
+                {
+                    objJsonResult.Message = s;
+                    return objJsonResult;
+                }
 
                 //杩涜闇�瑕佽繘琛岀殑瀹℃牳/鍙嶅鏍告搷浣�
                 if (IsAudit == 0) //瀹℃牳鎻愪氦
diff --git "a/WebAPI/Controllers/SCGL/\346\227\245\350\256\241\345\210\222\347\256\241\347\220\206/JIT_Cg_PODemandPlanBillController.cs" "b/WebAPI/Controllers/SCGL/\346\227\245\350\256\241\345\210\222\347\256\241\347\220\206/JIT_Cg_PODemandPlanBillController.cs"
index 4884c4b..49ee536 100644
--- "a/WebAPI/Controllers/SCGL/\346\227\245\350\256\241\345\210\222\347\256\241\347\220\206/JIT_Cg_PODemandPlanBillController.cs"
+++ "b/WebAPI/Controllers/SCGL/\346\227\245\350\256\241\345\210\222\347\256\241\347\220\206/JIT_Cg_PODemandPlanBillController.cs"
@@ -7,6 +7,7 @@
 using System.Web.Http;
 using WebAPI.Models;
 using Newtonsoft.Json;
+using DBUtility;
 
 namespace WebAPI.Controllers.SCGL
 {
@@ -18,6 +19,7 @@
         SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
         JIT_Cg_PODemandPlanBillMain omdelMian = new JIT_Cg_PODemandPlanBillMain();
         List<JIT_Cg_PODemandPlanBillSub> omodelsub = new List<JIT_Cg_PODemandPlanBillSub>();
+        public DAL.ClsSc_ICMOBill BillOld = new DAL.ClsSc_ICMOBill();
 
         #region 鎻愭枡璁″垝鍗� 鍒楄〃
         [Route("JIT_Cg_PODemandPlanBill/JIT_Cg_PODemandPlanBillList")]
@@ -260,6 +262,117 @@
         }
         #endregion
 
+        #region 鎻愭枡璁″垝鍗� 瀹℃牳/鍙嶅鏍稿姛鑳�
+        [Route("JIT_Cg_PODemandPlanBill/CheckPODemandPlanBillList")]
+        [HttpGet]
+        public object CheckPODemandPlanBillList(string HInterID, int Type, string user)
+        {
+            try
+            {
+                //鍒ゆ柇鏄惁鏈夊垹闄ゆ潈闄�
+                if (!DBUtility.ClsPub.Security_Log("Gy_RoutingBill_Check", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鎻愭枡璁″垝鍗曟棤鏉冮檺瀹℃牳!";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+
+                if (string.IsNullOrWhiteSpace(HInterID))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "HInterID涓虹┖锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                ClsPub.CurUserName = user;
+                BillOld.MvarItemKey = "JIT_Cg_PODemandPlanBillMain";
+                oCN.BeginTran();//寮�濮嬩簨鍔�
+
+                //Type 1 瀹℃牳  2  鍙嶅鏍�
+                if (Type == 1)
+                {
+                    //鍒ゆ柇鍗曟嵁鏄惁宸茬粡瀹℃牳
+                    DataSet ds;
+                    string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HChecker"] != null && ds.Tables[0].Rows[0]["HChecker"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插鏍�!涓嶉渶瑕佸啀瀹℃牳!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                    //瀹℃牳鍗曟嵁
+                    if (!BillOld.CheckBill(Int64.Parse(HInterID), ref ClsPub.sExeReturnInfo))
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 1;
+                        objJsonResult.Message = "瀹℃牳澶辫触!鍘熷洜:" + ClsPub.sExeReturnInfo;
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                }
+                else
+                {
+                    //鍒ゆ柇鍗曟嵁鏄惁宸茬粡鍙嶅鏍�
+                    DataSet ds;
+                    string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HChecker"] == null || ds.Tables[0].Rows[0]["HChecker"].ToString() == "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插弽瀹℃牳!涓嶉渶瑕佸啀鍙嶅鏍�!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                    //鍙嶅鏍稿崟鎹�
+                    if (BillOld.AbandonCheck(Int64.Parse(HInterID), ref ClsPub.sExeReturnInfo))
+                    {
+                       
+                    }
+                    else
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 1;
+                        objJsonResult.Message = "瀹℃牳澶辫触!鍘熷洜:" + ClsPub.sExeReturnInfo;
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                }
+
+                oCN.Commit();//鎻愪氦浜嬪姟
+
+                objJsonResult.code = "0";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "鎵ц鎴愬姛锛�";
+                objJsonResult.data = null;
+                return objJsonResult; ;
+
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "鎵ц澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
         #region 鎻愭枡璁″垝鍗� 鍏抽棴
         [Route("JIT_Cg_PODemandPlanBill/ClosePODemandPlanBillList")]
         [HttpGet]
diff --git a/WebAPI/Controllers/Sc_MouldRepairInBillListController.cs b/WebAPI/Controllers/Sc_MouldRepairInBillListController.cs
index e2a26d0..ba36c2a 100644
--- a/WebAPI/Controllers/Sc_MouldRepairInBillListController.cs
+++ b/WebAPI/Controllers/Sc_MouldRepairInBillListController.cs
@@ -425,6 +425,7 @@
         {
             try
             {
+                List<object> columnNameList = new List<object>();
                 if (!DBUtility.ClsPub.Security_Log("Sc_MouldMaintainPlanBillList", 1, false, user))
                 {
                     objJsonResult.code = "0";
@@ -436,12 +437,21 @@
 
                 ds = Sc_MouldMaintainPlanBillList_s(sWhere);
 
+                //娣诲姞鍒楀悕
+                foreach (DataColumn col in ds.Tables[0].Columns)
+                {
+                    Type dataType = col.DataType;
+                    string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}";
+                    columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//鑾峰彇鍒癉ataColumn鍒楀璞$殑鍒楀悕
+                }
+
                 //if (ds.Tables[0].Rows.Count != 0 || ds != null)
                 //{
                 objJsonResult.code = "1";
                 objJsonResult.count = 1;
                 objJsonResult.Message = "Sucess锛�";
                 objJsonResult.data = ds.Tables[0];
+                objJsonResult.list = columnNameList;
                 return objJsonResult;
                 //}
                 //else
@@ -1020,6 +1030,17 @@
                     oBill.DetailColl.Add(oItemSub);
 
                 }
+
+                //杩涜 浼氳鏈熼棿 缁撹处 鐨勫垽鏂拰鎺у埗
+                int sYear = 0;
+                int sPeriod = 0;
+                DateTime HDate = DateTime.Now;
+                if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(HDate, ref sYear, ref sPeriod, ref s) == false)
+                {
+                    objJsonResult.Message = s;
+                    return objJsonResult;
+                }
+
                 //淇濆瓨
                 //淇濆瓨瀹屾瘯鍚庡鐞�
                 bool bResult;
@@ -1163,12 +1184,20 @@
                     return objJsonResult;
                 }
 
+                //杩涜 浼氳鏈熼棿 缁撹处 鐨勫垽鏂拰鎺у埗
+                string s = "";
+                int sYear = 0;
+                int sPeriod = 0;
+                DateTime HDate = DateTime.Now;
+                if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(HDate, ref sYear, ref sPeriod, ref s) == false)
+                {
+                    objJsonResult.Message = s;
+                    return objJsonResult;
+                }
 
                 ClsPub.CurUserName = user;
                 BillOld.MvarItemKey = "Kf_ICStockBillMain";
                 oCN.BeginTran();//寮�濮嬩簨鍔�
-
-
 
                 //Type 1 瀹℃牳  2  鍙嶅鏍�
                 if (Type == 1)
@@ -1215,6 +1244,8 @@
                     }
                     //================================================================================== 
 
+                    //鏇存柊鍙婃椂搴撳瓨琛�   鍑忓皯璋冨叆搴撳瓨,澧炲姞璋冨嚭搴撳瓨
+                    ds = oCN.RunProcReturn("exec h_KF_UPDateICinventory_Move  '"+ oBill.omodel.HInterID + "','"+ oBill.omodel.HBillType+ "','1'", "h_KF_UPDateICinventory_Move");
 
                     //瀹℃牳鍗曟嵁
                     if (!oBill.CheckBill(oBill.omodel.HInterID, oBill.omodel.HBillNo, "h_p_Kf_MoveStockBill_AfterCheckCtrl", user, ref DBUtility.ClsPub.sExeReturnInfo) == true)
@@ -1267,6 +1298,8 @@
                     }
                     //===========================================================          
 
+                    //鏇存柊鍙婃椂搴撳瓨琛�   澧炲姞璋冨叆搴撳瓨,鍑忓皯璋冨嚭搴撳瓨
+                    ds = oCN.RunProcReturn("exec h_KF_UPDateICinventory_Move  '" + oBill.omodel.HInterID + "','" + oBill.omodel.HBillType + "','2'", "h_KF_UPDateICinventory_Move");
 
                     //鍙嶅鏍稿崟鎹�
                     if (oBill.AbandonCheck(oBill.omodel.HInterID, oBill.omodel.HBillNo, "h_p_Kf_MoveStockBill_AfterUnCheckCtrl", user, ref DBUtility.ClsPub.sExeReturnInfo) == true)
@@ -1630,6 +1663,16 @@
                 }
                 //==================================================================================  
 
+                //杩涜 浼氳鏈熼棿 缁撹处 鐨勫垽鏂拰鎺у埗
+                int sYear = 0;
+                int sPeriod = 0;
+                DateTime HDate = DateTime.Now;
+                if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(HDate, ref sYear, ref sPeriod, ref s) == false)
+                {
+                    objJsonResult.Message = s;
+                    return objJsonResult;
+                }
+
                 oCN.BeginTran();
 
                 //鐩存帴璋冩嫧鍗� 鍒犻櫎  鎾ら攢 鍥炲~  璋冩嫧鐢宠鍗�  鍏宠仈鏁伴噺
@@ -1833,6 +1876,15 @@
                 }
                 //==================================================================================    
 
+                //杩涜 浼氳鏈熼棿 缁撹处 鐨勫垽鏂拰鎺у埗
+                int sYear = 0;
+                int sPeriod = 0;
+                DateTime HDate = DateTime.Now;
+                if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(HDate, ref sYear, ref sPeriod, ref s) == false)
+                {
+                    objJsonResult.Message = s;
+                    return objJsonResult;
+                }
 
                 oCN.BeginTran();
                 //閿�鍞嚭搴撳垹闄ゅ洖濉攢鍞鍗曞叧鑱旀暟閲�
@@ -2041,6 +2093,17 @@
                     oBill.DetailColl.Add(oItemSub);
 
                 }
+
+                //杩涜 浼氳鏈熼棿 缁撹处 鐨勫垽鏂拰鎺у埗
+                int sYear = 0;
+                int sPeriod = 0;
+                DateTime HDate = DateTime.Now;
+                if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(HDate, ref sYear, ref sPeriod, ref s) == false)
+                {
+                    objJsonResult.Message = s;
+                    return objJsonResult;
+                }
+
                 //淇濆瓨
                 //淇濆瓨瀹屾瘯鍚庡鐞�
                 bool bResult;
@@ -2245,6 +2308,17 @@
                 }
                 //==================================================================================  
 
+                //杩涜 浼氳鏈熼棿 缁撹处 鐨勫垽鏂拰鎺у埗
+                int sYear = 0;
+                int sPeriod = 0;
+                DateTime HDate = DateTime.Now;
+                if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(HDate, ref sYear, ref sPeriod, ref s) == false)
+                {
+                    objJsonResult.Message = s;
+                    return objJsonResult;
+                }
+
+
                 oCN.BeginTran();
                 oCN.RunProc("Delete From Kf_ICStockBillMain where HInterID = " + HInterID);
                 oCN.RunProc("Delete From Kf_ICStockBillSub where HInterID = " + HInterID);
@@ -2350,6 +2424,17 @@
                     objJsonResult.count = 0;
                     objJsonResult.Message = "鍗曟嵁涓嶅瓨鍦�!鍘熷洜:" + DBUtility.ClsPub.sExeReturnInfo;
                     objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                //杩涜 浼氳鏈熼棿 缁撹处 鐨勫垽鏂拰鎺у埗
+                string s = "";
+                int sYear = 0;
+                int sPeriod = 0;
+                DateTime HDate = DateTime.Now;
+                if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(HDate, ref sYear, ref sPeriod, ref s) == false)
+                {
+                    objJsonResult.Message = s;
                     return objJsonResult;
                 }
 
@@ -2999,6 +3084,17 @@
                     oBill.DetailColl.Add(oItemSub);
 
                 }
+
+                //杩涜 浼氳鏈熼棿 缁撹处 鐨勫垽鏂拰鎺у埗
+                int sYear = 0;
+                int sPeriod = 0;
+                DateTime HDate = DateTime.Now;
+                if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(HDate, ref sYear, ref sPeriod, ref s) == false)
+                {
+                    objJsonResult.Message = s;
+                    return objJsonResult;
+                }
+
                 //淇濆瓨
                 //淇濆瓨瀹屾瘯鍚庡鐞�
                 bool bResult;
@@ -3142,6 +3238,16 @@
                     return objJsonResult;
                 }
 
+                //杩涜 浼氳鏈熼棿 缁撹处 鐨勫垽鏂拰鎺у埗
+                string s = "";
+                int sYear = 0;
+                int sPeriod = 0;
+                DateTime HDate = DateTime.Now;
+                if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(HDate, ref sYear, ref sPeriod, ref s) == false)
+                {
+                    objJsonResult.Message = s;
+                    return objJsonResult;
+                }
 
                 ClsPub.CurUserName = user;
                 BillOld.MvarItemKey = "Kf_ICStockBillMain";
@@ -3194,7 +3300,6 @@
                     }
                     //================================================================================== 
 
-               
                     //瀹℃牳鍗曟嵁
                     if (!oBill.CheckBill(oBill.omodel.HInterID, oBill.omodel.HBillNo, "h_p_Kf_ICStockBill_AfterCheckCtrl", user, ref DBUtility.ClsPub.sExeReturnInfo) == true)
                     {
@@ -3245,7 +3350,6 @@
                         return objJsonResult;
                     }
                     //===========================================================          
-
 
                     //鍙嶅鏍稿崟鎹�
                     if (oBill.AbandonCheck(oBill.omodel.HInterID, oBill.omodel.HBillNo, "h_p_Kf_ICStockBill_AfterUnCheckCtrl", user, ref DBUtility.ClsPub.sExeReturnInfo) == true)
@@ -3658,7 +3762,15 @@
                 }
                 //==================================================================================  
 
-
+                //杩涜 浼氳鏈熼棿 缁撹处 鐨勫垽鏂拰鎺у埗
+                int sYear = 0;
+                int sPeriod = 0;
+                DateTime HDate = DateTime.Now;
+                if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(HDate, ref sYear, ref sPeriod, ref s) == false)
+                {
+                    objJsonResult.Message = s;
+                    return objJsonResult;
+                }
 
                 oCN.BeginTran();
 
@@ -3839,7 +3951,7 @@
                 foreach (Model.ClsSb_MouldRepairWorkBillMain oItem in lsmain)
                 {
                     //oItem.HMaker = "";
-                    UserName = oItem.HMaker;  //鍒跺崟浜�
+                    UserName = msg4;  //鍒跺崟浜�
                     oItem.HBillType = "3807";
                     oItem.HBillSubType = "3807";
                     //oItem.HBillNo = "";    //鍗曟嵁鍙�
@@ -4486,7 +4598,7 @@
                 {
 
                     //ds = oCN.RunProcReturn("select HRepairCheckID,HRepairCheckContent,HManagerID,HRemark   from Sc_MouldRepairCheckBillSub", "Sc_MouldRepairCheckBillSub");
-                    ds = oCN.RunProcReturn("select  HRepairCheckID,楠屾敹椤圭洰浠g爜 HRepairCheckCode,楠屾敹椤圭洰 HRepairCheckName,楠屾敹鍐呭 HRepairCheckContent,HManagerSonID HManagerID,瀛愯礋璐d汉浠g爜 HManagerCode,瀛愯礋璐d汉 HManagerName,澶囨敞 HRemark from h_v_Sc_MouldRepairCheckBillList_Edit", "h_v_Sc_MouldRepairCheckBillList_Edit");
+                    ds = oCN.RunProcReturn("select * from h_v_Sc_MouldRepairCheckBillList_Edit", "h_v_Sc_MouldRepairCheckBillList_Edit");
 
                     objJsonResult.code = "0";
                     objJsonResult.count = 1;
@@ -4497,7 +4609,7 @@
                 {
 
                     //string sql1 = "select HRepairCheckID,HRepairCheckContent,HManagerID,HRemark  from Sc_MouldRepairCheckBillSub where 1 = 1 ";
-                    string sql1 = "select  HRepairCheckID,楠屾敹椤圭洰浠g爜 HRepairCheckCode,楠屾敹椤圭洰 HRepairCheckName,楠屾敹鍐呭 HRepairCheckContent,HManagerSonID HManagerID,瀛愯礋璐d汉浠g爜 HManagerCode,瀛愯礋璐d汉 HManagerName,澶囨敞 HRemark from h_v_Sc_MouldRepairCheckBillList_Edit where 1 = 1 ";
+                    string sql1 = "select * from h_v_Sc_MouldRepairCheckBillList_Edit where 1 = 1 ";
                     string sql = sql1 + sqlWhere;
                     ds = oCN.RunProcReturn(sql, "h_v_Sc_MouldRepairCheckBillList_Edit");
 
@@ -4638,7 +4750,7 @@
                 foreach (Model.ClsSc_MouldConkBookBillMain oItem in lsmain)
                 {
                     //oItem.HMaker = "";
-                    UserName = oItem.HMaker;  //鍒跺崟浜�
+                    UserName = msg4;  //鍒跺崟浜�
                     DBUtility.ClsPub.CurUserName = UserName;
                     oItem.HBillType = "3815";
                     oItem.HBillSubType = "3815";
@@ -4925,6 +5037,7 @@
 
                 DAL.ClsSc_MouldMaintainPlanBill oBill = new DAL.ClsSc_MouldMaintainPlanBill();
                 List<Model.ClsSc_MouldMaintainPlanBillMain> lsmain = new List<Model.ClsSc_MouldMaintainPlanBillMain>();
+
                 msg2 = msg2.Replace("\\", "");
                 msg2 = msg2.Replace("\n", "");  //\n
                 lsmain = oListModels.getObjectByJson_Gy_MouldMaintainPlanBillMain(msg2);
@@ -4934,6 +5047,8 @@
                     UserName = oItem.HMaker;  //鍒跺崟浜�
                     oItem.HBillType = "3818";
                     oItem.HBillSubType = "3818";
+                    oItem.HMainSourceInterID = oItem.HMouldMaintainRuleID;
+                    oItem.HMainSourceBillNo = oItem.HMouldMaintainRuleNo;
 
                     //oItem.HInterID =0;
                     //oItem.HBillNo = "";
@@ -5117,6 +5232,55 @@
             return objJsonResult;
         }
         #endregion
+
+        #region[鍣ㄥ叿淇濆吇璁板綍琛紝閫変繚鍏昏鍒掕幏鍙栦繚鍏昏鍒掓竻鍗曚俊鎭痌
+        [Route("Sc_MouldMaintainPlanBill/Sc_MouldMaintainPlanBill_PlanList")]
+        [HttpGet]
+        public object Sc_MouldMaintainPlanBill_PlanList(string HInterID, string HDate)
+        {
+            DataSet ds, ds1;
+            try
+            {
+                SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
+
+                List<DataTable> tableList = new List<DataTable>();
+
+                //鑾峰彇淇濆吇椤圭洰
+                ds = oCN.RunProcReturn("exec h_p_Sc_MouldMaintain_GetPlanList " + HInterID + ",'" + HDate + "'", "h_p_Sc_MouldMaintain_GetPlanList");
+
+                //鑾峰彇閰嶄欢椤圭洰缂栬緫鏁版嵁
+                string sql1 = "select 閰嶄欢ID HMaterID, 閰嶄欢浠g爜 HMaterNumber,閰嶄欢鍚嶇О HMaterName,鍗曚綅ID HUnitID,璁¢噺鍗曚綅浠g爜 HUnitNumber,璁¢噺鍗曚綅鍚嶇О HUnitName,鐢ㄩ噺 HQty,鏍囧噯鐢ㄩ噺 HQtyMust,瀛愬娉�1 HRemark,瑙勬牸鍨嬪彿 HMaterSpec  from h_v_Sc_MouldMaintainPlanBillSub  where hmainid = " + HInterID + "";
+                ds1 = oCN.RunProcReturn(sql1, "h_v_Sc_MouldMaintainPlanBillSub");
+
+                tableList.Add(ds.Tables[0]);
+                tableList.Add(ds1.Tables[0]);
+
+                if (ds.Tables[0].Rows.Count != 0 || ds != null)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "鑾峰彇淇℃伅鎴愬姛锛�";
+                    objJsonResult.data = tableList;
+                }
+                else
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "娌℃湁鏌ヨ鍒版暟鎹俊鎭紒";
+                    objJsonResult.data = tableList;
+                }
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "鍙戠敓寮傚父锛屾病鏈夎繑鍥炰换浣曡鍒掞紒" + e.ToString();
+                objJsonResult.data = null;
+            }
+            return objJsonResult;
+        }
+        #endregion
+
         #region [妯″叿淇濆吇璁″垝鍗曞垹闄ゅ姛鑳絔
         /// <summary>
         /// 妯″叿缁翠慨鍗曞垹闄ゅ姛鑳�
@@ -5567,9 +5731,54 @@
                     return objJsonResult;
                 }
 
-                bool IsDete = oBill.DeleteBill(oBill.omodel.HInterID, ref DBUtility.ClsPub.sExeReturnInfo);
-                if (IsDete)
+                //=========================================Begin 鍒犻櫎鍓嶆帶鍒� Begin=========================================      
+                string sql1 = "exec h_p_Sc_MouldMaintainBill_BeforeDelCtrl " + HInterID + "," + user;
+                ds = oCN.RunProcReturn(sql1, "h_p_Sc_MouldMaintainBill_BeforeDelCtrl");
+                if (ds == null || ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0)
                 {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鍒犻櫎澶辫触!鍘熷洜:鍒犻櫎鍓嶅垽鏂け璐ワ紝璇蜂笌缃戠粶绠$悊浜哄憳鑱旂郴";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                if (ds.Tables[0].Rows[0]["HBack"].ToString() != "0")
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鍒犻櫎澶辫触!鍘熷洜:" + ds.Tables[0].Rows[0]["HRemark"].ToString(); ;
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                //===========================================End 鍒犻櫎鍓嶆帶鍒� End===========================================       
+
+                bool IsDete = oBill.DeleteBill(oBill.omodel.HInterID, ref DBUtility.ClsPub.sExeReturnInfo);
+
+                //=========================================Begin 鍒犻櫎鍚庢帶鍒� Begin=========================================      
+                string sql2 = "exec h_p_Sc_MouldMaintainBill_AfterDelCtrl " + HInterID + "," + user;
+                ds = oCN.RunProcReturn(sql2, "h_p_Sc_MouldMaintainBill_AfterDelCtrl");
+                if (ds == null || ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鍒犻櫎澶辫触!鍘熷洜:鍒犻櫎鍚庡垽鏂け璐ワ紝璇蜂笌缃戠粶绠$悊浜哄憳鑱旂郴";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                if (ds.Tables[0].Rows[0]["HBack"].ToString() != "0")
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鍒犻櫎澶辫触!鍘熷洜:" + ds.Tables[0].Rows[0]["HRemark"].ToString(); ;
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                //===========================================End 鍒犻櫎鍚庢帶鍒� End===========================================   
+
+                if (IsDete)
+                {                    
                     objJsonResult.code = "0";
                     objJsonResult.count = 1;
                     objJsonResult.Message = DBUtility.ClsPub.sExeReturnInfo;
@@ -5591,6 +5800,160 @@
                 objJsonResult.code = "0";
                 objJsonResult.count = 0;
                 objJsonResult.Message = "鍗曟嵁鏈壘鍒�";
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 妯″叿淇濆吇璁板綍鍗曞鏍�/鍙嶅鏍稿姛鑳�
+        [Route("Sc_MouldMaintainBill/CheckSc_MouldMaintainBill")]
+        [HttpGet]
+        public object CheckSc_MouldMaintainBill(string HInterID, int Type, string user, string HBillSubType)
+        {
+            DAL.ClsSc_MouldMaintainBill BillOld = new DAL.ClsSc_MouldMaintainBill();
+            try
+            {
+                //鍒ゆ柇鏄惁鏈夊鏍告潈闄�
+                if (!DBUtility.ClsPub.Security_Log("Sc_MouldMaintainBill_Check", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "娌℃湁瀹℃牳鏉冮檺!";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+               
+                if (string.IsNullOrWhiteSpace(HInterID))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "HInterID涓虹┖锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                ClsPub.CurUserName = user;
+                BillOld.MvarItemKey = "Sc_MouldMaintainBillMain";
+                oCN.BeginTran();//寮�濮嬩簨鍔�
+
+                //Type 1 瀹℃牳  2  鍙嶅鏍�
+                if (Type == 1)
+                {
+                    //鍒ゆ柇鍗曟嵁鏄惁宸茬粡瀹℃牳
+                    DataSet ds;
+                    string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HChecker"] != null && ds.Tables[0].Rows[0]["HChecker"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插鏍�!涓嶉渶瑕佸啀瀹℃牳!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+
+                    //瀹℃牳鍓嶆帶鍒�
+                    string HBillNo = ds.Tables[0].Rows[0]["HBillNo"].ToString();
+                    sql = "exec h_p_Sc_MouldMaintainBill_BeforeCheckCtrl " + int.Parse(HInterID) + ",'" + HBillNo + "','" + user + "'";
+                    ds = oCN.RunProcReturn(sql, "h_p_Sc_MouldMaintainBill_BeforeCheckCtrl");
+                    if (ds == null || ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0)
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 1;
+                        objJsonResult.Message = "瀹℃牳澶辫触!鍘熷洜:瀹℃牳鍓嶅垽鏂け璐ワ紝璇蜂笌缃戠粶绠$悊浜哄憳鑱旂郴";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+
+                    }
+                    if (ds.Tables[0].Rows[0]["HBack"].ToString() != "0")
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 1;
+                        objJsonResult.Message = "瀹℃牳澶辫触!鍘熷洜:" + ds.Tables[0].Rows[0]["HRemark"].ToString(); ;
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+
+
+                    //瀹℃牳鍗曟嵁
+                    if (!BillOld.CheckBill(Int64.Parse(HInterID), HBillNo, "h_p_Sc_MouldMaintainBill_AfterCheckCtrl", user, ref ClsPub.sExeReturnInfo))
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 1;
+                        objJsonResult.Message = "瀹℃牳澶辫触!鍘熷洜:" + ClsPub.sExeReturnInfo;
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                }
+                else
+                {
+                    //鍒ゆ柇鍗曟嵁鏄惁宸茬粡鍙嶅鏍�
+                    DataSet ds;
+                    string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HChecker"] == null || ds.Tables[0].Rows[0]["HChecker"].ToString() == "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插弽瀹℃牳!涓嶉渶瑕佸啀鍙嶅鏍�!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+
+                    //鍙嶅鏍稿墠鎺у埗
+                    string HBillNo = ds.Tables[0].Rows[0]["HBillNo"].ToString();
+                    sql = "exec h_p_Sc_MouldMaintainBill_BeforeUnCheckCtrl " + int.Parse(HInterID) + ",'" + HBillNo + "','" + user + "'";
+                    ds = oCN.RunProcReturn(sql, "h_p_Sc_MouldMaintainBill_BeforeUnCheckCtrl");
+                    if (ds == null || ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0)
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 1;
+                        objJsonResult.Message = "鍙嶅鏍稿け璐�!鍘熷洜:鍙嶅鏍稿墠鍒ゆ柇澶辫触锛岃涓庣綉缁滅鐞嗕汉鍛樿仈绯�";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+
+                    }
+                    if (ds.Tables[0].Rows[0]["HBack"].ToString() != "0")
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 1;
+                        objJsonResult.Message = "鍙嶅鏍稿け璐�!鍘熷洜:" + ds.Tables[0].Rows[0]["HRemark"].ToString(); ;
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+
+                    //鍙嶅鏍稿崟鎹�
+                    if (!BillOld.AbandonCheck(Int64.Parse(HInterID), HBillNo, "h_p_Sc_MouldMaintainBill_AfterUnCheckCtrl", user, ref ClsPub.sExeReturnInfo))
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 1;
+                        objJsonResult.Message = "瀹℃牳澶辫触!鍘熷洜:" + ClsPub.sExeReturnInfo;
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                }
+
+                oCN.Commit();//鎻愪氦浜嬪姟
+
+                objJsonResult.code = "0";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "鎵ц鎴愬姛锛�";
+                objJsonResult.data = null;
+                return objJsonResult; ;
+
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "鎵ц澶辫触锛�" + e.ToString();
                 objJsonResult.data = null;
                 return objJsonResult;
             }
@@ -6241,6 +6604,124 @@
         }
         #endregion
 
+        #region 鍣ㄥ叿鐐规璁″垝鍗曞鏍�/鍙嶅鏍稿姛鑳�
+        [Route("Sc_MouldDotCheckPlanBill/CheckSc_MouldDotCheckPlanBill")]
+        [HttpGet]
+        public object CheckSc_MouldDotCheckPlanBill(string HInterID, int Type, string user)
+        {
+            DAL.ClsSc_MouldDotCheckPlanBill BillOld = new DAL.ClsSc_MouldDotCheckPlanBill();
+            try
+            {
+                //鍒ゆ柇鏄惁鏈夊鏍告潈闄�
+                if (!DBUtility.ClsPub.Security_Log("Sc_MouldDotCheckPlanBill_Check", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犳潈闄愬鏍�!";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                if (string.IsNullOrWhiteSpace(HInterID))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "HInterID涓虹┖锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                ClsPub.CurUserName = user;
+                oCN.BeginTran();//寮�濮嬩簨鍔�
+
+                //Type 1 瀹℃牳  2  鍙嶅鏍�
+                if (Type == 1)
+                {
+                    if (!BillOld.CheckBill(int.Parse(HInterID), ref ClsPub.sExeReturnInfo))
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 1;
+                        objJsonResult.Message = "瀹℃牳澶辫触!鍘熷洜:" + ClsPub.sExeReturnInfo;
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    //鑷姩鐢熸垚鐐规璁″垝鍗�
+                    oCN.RunProc("exec h_p_Sc_MouldDotCheckPlan_Auto " + HInterID);
+                }
+                else
+                {
+                    if (BillOld.AbandonCheck(int.Parse(HInterID), ref ClsPub.sExeReturnInfo))
+                    {
+                        SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
+                    }
+                    else
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 1;
+                        objJsonResult.Message = "瀹℃牳澶辫触!鍘熷洜:" + ClsPub.sExeReturnInfo;
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                }
+
+                oCN.Commit();//鎻愪氦浜嬪姟
+
+                objJsonResult.code = "0";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "鎵ц鎴愬姛锛�";
+                objJsonResult.data = null;
+                return objJsonResult; ;
+
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "鎵ц澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region[鍣ㄥ叿鐐规璁″垝琛ㄧ紪杈戞椂鑾峰彇琛ㄤ綋鏁版嵁--淇濆吇璁″垝]
+        [Route("Sc_MouldDotCheckPlanBill/GetPlanList")]
+        [HttpGet]
+        public object GetPlanList_Check(string sqlWhere)
+        {
+            DataSet ds;
+            try
+            {
+                SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
+                if (sqlWhere == null || sqlWhere.Equals(""))
+                {
+                    ds = oCN.RunProcReturn("select * from h_v_Sc_MouldDotCheckPlanList", "h_v_Sc_MouldDotCheckPlanList");
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "鑾峰彇淇℃伅鎴愬姛锛�";
+                    objJsonResult.data = ds.Tables[0];
+                }
+                else
+                {
+                    string sql1 = "select * from h_v_Sc_MouldDotCheckPlanList where 1 = 1 ";
+                    string sql = sql1 + sqlWhere;
+                    ds = oCN.RunProcReturn(sql, "h_v_Sc_MouldDotCheckPlanList");
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "鑾峰彇淇℃伅鎴愬姛锛�";
+                    objJsonResult.data = ds.Tables[0];
+                }
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "娌℃湁杩斿洖浠讳綍璁″垝锛�" + e.ToString();
+                objJsonResult.data = null;
+            }
+            return objJsonResult;
+        }
+        #endregion
 
         #endregion
 
@@ -8593,6 +9074,367 @@
         }
         #endregion
 
+        #region [妯″叿瀵垮懡璋冩暣鍗曞鏍搞�佸弽瀹℃牳]
+        /// <summary>
+        /// 
+        /// </summary>
+        /// <param name="HInterID">鍗曟嵁ID</param>
+        /// <param name="IsAudit">瀹℃牳(0),鍙嶅鏍�(1)</param>
+        /// <param name="CurUserName">瀹℃牳浜�</param>
+        /// <returns></returns>
+        [Route("Sc_MouldLifeChangeBill/AuditSc_MouldLifeChangeBillList")]
+        [HttpGet]
+        public object AuditSc_MouldLifeChangeBillList(int HInterID, int IsAudit, string CurUserName)
+        {
+            string ModRightNameCheck = "Sc_MouldLifeChangeBill_Check";
+            DBUtility.ClsPub.CurUserName = CurUserName;
+            try
+            {
+                //瀹℃牳鏉冮檺
+                if (!DBUtility.ClsPub.Security_Log(ModRightNameCheck, 1, false, CurUserName))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "瀹℃牳澶辫触锛佹棤鏉冮檺锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                if (HInterID <= 0)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "HInterID灏忎簬0锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                Int64 lngBillKey = 0;
+                lngBillKey = DBUtility.ClsPub.isLong(HInterID);
+                DAL.ClsSc_MouldLifeChangeBill oBill = new DAL.ClsSc_MouldLifeChangeBill();
+                //鏌ョ湅鏄惁宸插鏍�,鍏抽棴,浣滃簾
+                if (oBill.ShowBill(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo))
+                {
+                    if (oBill.omodel.HCloseMan.Trim() != "")
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鍗曟嵁宸插叧闂�!涓嶈兘鍐嶆瀹℃牳锛�";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    if (oBill.omodel.HDeleteMan.Trim() != "")
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鍗曟嵁宸蹭綔搴�!涓嶈兘鍐嶆瀹℃牳锛�";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    if (IsAudit == 0)  //瀹℃牳鍒ゆ柇
+                    {
+                        if (oBill.omodel.HChecker.Trim() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插鏍�!涓嶈兘鍐嶆瀹℃牳锛�";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                    if (IsAudit == 1) //鍙嶅鏍稿垽鏂�
+                    {
+                        if (oBill.omodel.HChecker.Trim() == "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁鏈鏍�!涓嶉渶瑕佸弽瀹℃牳!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                }
+                else
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鍗曟嵁涓嶅瓨鍦�!鍘熷洜:" + DBUtility.ClsPub.sExeReturnInfo;
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                oCn.BeginTran();//寮�濮嬩簨鐗�
+
+                if (IsAudit == 0) //瀹℃牳鎻愪氦
+                {
+
+                    //===============================Begin 瀹℃牳鍓嶆帶鍒� Begin===============================
+                    string sql = "exec h_p_Sc_MouldLifeChangeBill_BeforeCheckCtrl " + HInterID + ",'" + CurUserName + "'";
+                    ds = oCn.RunProcReturn(sql, "h_p_Sc_MouldLifeChangeBill_BeforeCheckCtrl");
+                    if (ds == null || ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0)
+                    {
+                        oCn.RollBack();//鍥炴粴浜嬬墿
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 1;
+                        objJsonResult.Message = "瀹℃牳澶辫触!鍘熷洜:瀹℃牳鍓嶅垽鏂け璐ワ紝璇蜂笌缃戠粶绠$悊浜哄憳鑱旂郴";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+
+                    }
+                    if (ds.Tables[0].Rows[0]["HBack"].ToString() != "0")
+                    {
+                        oCn.RollBack();//鍥炴粴浜嬬墿
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 1;
+                        objJsonResult.Message = "瀹℃牳澶辫触!鍘熷洜:" + ds.Tables[0].Rows[0]["HRemark"].ToString(); ;
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    //=================================End 瀹℃牳鍓嶆帶鍒� End=================================
+
+                    //瀹℃牳鎻愪氦
+                    if (oBill.CheckBill(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo) == true)
+                    {
+
+                        //===============================Begin 瀹℃牳鍚庢帶鍒� Begin===============================
+                        string sql2 = "exec h_p_Sc_MouldLifeChangeBill_AfterCheckCtrl " + HInterID + ",'" + CurUserName + "'";
+                        ds = oCn.RunProcReturn(sql2, "h_p_Sc_MouldLifeChangeBill_AfterCheckCtrl");
+                        if (ds == null || ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0)
+                        {
+                            oCn.RollBack();//鍥炴粴浜嬬墿
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 1;
+                            objJsonResult.Message = "瀹℃牳澶辫触!鍘熷洜:瀹℃牳鍚庡垽鏂け璐ワ紝璇蜂笌缃戠粶绠$悊浜哄憳鑱旂郴";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+
+                        }
+                        if (ds.Tables[0].Rows[0]["HBack"].ToString() != "0")
+                        {
+                            oCn.RollBack();//鍥炴粴浜嬬墿
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 1;
+                            objJsonResult.Message = "瀹℃牳澶辫触!鍘熷洜:" + ds.Tables[0].Rows[0]["HRemark"].ToString(); ;
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        //=================================End 瀹℃牳鍚庢帶鍒� End=================================
+
+                        objJsonResult.code = "1";
+                        objJsonResult.count = 1;
+                        objJsonResult.Message = "瀹℃牳鎴愬姛";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    else
+                    {
+                        oCn.RollBack();//鍥炴粴浜嬬墿
+                        objJsonResult.code = "1";
+                        objJsonResult.count = 1;
+                        objJsonResult.Message = "瀹℃牳澶辫触!鍘熷洜:" + DBUtility.ClsPub.sExeReturnInfo;
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                }
+                if (IsAudit == 1) //鍙嶅鏍告彁浜�
+                {
+                    //===============================Begin 鍙嶅鏍稿墠鎺у埗 Begin===============================
+                    string sql = "exec h_p_Sc_MouldLifeChangeBill_BeforeUnCheckCtrl " + HInterID + ",'" + CurUserName + "'";
+                    ds = oCn.RunProcReturn(sql, "h_p_Sc_MouldLifeChangeBill_BeforeUnCheckCtrl");
+                    if (ds == null || ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0)
+                    {
+                        oCn.RollBack();//鍥炴粴浜嬬墿
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 1;
+                        objJsonResult.Message = "瀹℃牳澶辫触!鍘熷洜:鍙嶅鏍稿墠鍒ゆ柇澶辫触锛岃涓庣綉缁滅鐞嗕汉鍛樿仈绯�";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+
+                    }
+                    if (ds.Tables[0].Rows[0]["HBack"].ToString() != "0")
+                    {
+                        oCn.RollBack();//鍥炴粴浜嬬墿
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 1;
+                        objJsonResult.Message = "瀹℃牳澶辫触!鍘熷洜:" + ds.Tables[0].Rows[0]["HRemark"].ToString(); ;
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    //=================================End 鍙嶅鏍稿墠鎺у埗 End=================================
+                    //鍙嶅鏍告彁浜bandonCheck
+                    if (oBill.AbandonCheck(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo) == true)
+                    {
+                        //===============================Begin 鍙嶅鏍稿悗鎺у埗 Begin===============================
+                        string sql2 = "exec h_p_Sc_MouldLifeChangeBill_AfterUnCheckCtrl " + HInterID + ",'" + CurUserName + "'";
+                        ds = oCn.RunProcReturn(sql2, "h_p_Sc_MouldLifeChangeBill_AfterUnCheckCtrl");
+                        if (ds == null || ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0)
+                        {
+                            oCn.RollBack();//鍥炴粴浜嬬墿
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 1;
+                            objJsonResult.Message = "瀹℃牳澶辫触!鍘熷洜:鍙嶅鏍稿悗鍒ゆ柇澶辫触锛岃涓庣綉缁滅鐞嗕汉鍛樿仈绯�";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+
+                        }
+                        if (ds.Tables[0].Rows[0]["HBack"].ToString() != "0")
+                        {
+                            oCn.RollBack();//鍥炴粴浜嬬墿
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 1;
+                            objJsonResult.Message = "瀹℃牳澶辫触!鍘熷洜:" + ds.Tables[0].Rows[0]["HRemark"].ToString(); ;
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        //=================================End 鍙嶅鏍稿悗鎺у埗 End=================================
+                        objJsonResult.code = "1";
+                        objJsonResult.count = 1;
+                        objJsonResult.Message = "鍙嶅鏍告垚鍔�";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    else
+                    {
+                        objJsonResult.code = "1";
+                        objJsonResult.count = 1;
+                        objJsonResult.Message = "鍙嶅鏍稿け璐�!鍘熷洜:" + DBUtility.ClsPub.sExeReturnInfo;
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                }
+
+                oCn.Commit();//鎻愪氦浜嬬墿
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                oCn.RollBack();//鍥炴粴浜嬬墿
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "瀹℃牳澶辫触鎴栬�呭弽瀹℃牳澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #endregion
+
+        #region 鍣ㄥ叿淇濆吇璁″垝鍗曞鏍�/鍙嶅鏍稿姛鑳�
+        [Route("Sc_MouldMaintainPlanBill/CheckSc_MouldMaintainPlanBill")]
+        [HttpGet]
+        public object CheckSc_MouldMaintainPlanBill(string HInterID, int Type, string user)
+        {
+            DAL.ClsSc_MouldMaintainPlanBill BillOld = new DAL.ClsSc_MouldMaintainPlanBill();
+            try
+            {
+                //鍒ゆ柇鏄惁鏈夊鏍告潈闄�
+                if (!DBUtility.ClsPub.Security_Log("Sc_MouldMaintainPlanBill_Check", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犳潈闄愬鏍�!";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                if (string.IsNullOrWhiteSpace(HInterID))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "HInterID涓虹┖锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                ClsPub.CurUserName = user;
+                oCN.BeginTran();//寮�濮嬩簨鍔�
+
+                //Type 1 瀹℃牳  2  鍙嶅鏍�
+                if (Type == 1)
+                {
+                    if (!BillOld.CheckBill(int.Parse(HInterID), ref ClsPub.sExeReturnInfo))
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 1;
+                        objJsonResult.Message = "瀹℃牳澶辫触!鍘熷洜:" + ClsPub.sExeReturnInfo;
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    //鑷姩鐢熸垚鐐规璁″垝鍗�
+                    oCN.RunProc("exec h_p_Sc_MouldMaintainPlan_Auto " + HInterID);
+                }
+                else
+                {
+                    if (BillOld.AbandonCheck(int.Parse(HInterID), ref ClsPub.sExeReturnInfo))
+                    {
+                        SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
+                    }
+                    else
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 1;
+                        objJsonResult.Message = "瀹℃牳澶辫触!鍘熷洜:" + ClsPub.sExeReturnInfo;
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                }
+
+                oCN.Commit();//鎻愪氦浜嬪姟
+
+                objJsonResult.code = "0";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "鎵ц鎴愬姛锛�";
+                objJsonResult.data = null;
+                return objJsonResult; ;
+
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "鎵ц澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region[鍣ㄥ叿淇濆吇璁″垝琛ㄧ紪杈戞椂鑾峰彇琛ㄤ綋鏁版嵁--淇濆吇璁″垝]
+        [Route("Sc_MouldMaintainPlanBill/GetPlanList")]
+        [HttpGet]
+        public object GetPlanList(string sqlWhere)
+        {
+            DataSet ds;
+            try
+            {
+                SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
+                if (sqlWhere == null || sqlWhere.Equals(""))
+                {
+                    ds = oCN.RunProcReturn("select * from h_v_Sc_MouldMaintainPlanList", "h_v_Sc_MouldMaintainPlanList");
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "鑾峰彇淇℃伅鎴愬姛锛�";
+                    objJsonResult.data = ds.Tables[0];
+                }
+                else
+                {
+                    string sql1 = "select * from h_v_Sc_MouldMaintainPlanList where 1 = 1 ";
+                    string sql = sql1 + sqlWhere;
+                    ds = oCN.RunProcReturn(sql, "h_v_Sc_MouldMaintainPlanList");
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "鑾峰彇淇℃伅鎴愬姛锛�";
+                    objJsonResult.data = ds.Tables[0];
+                }
+            }
+            catch (Exception e)
+            {
+                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/Controllers/Sc_ProcessMangementController.cs b/WebAPI/Controllers/Sc_ProcessMangementController.cs
index 4756625..8efb342 100644
--- a/WebAPI/Controllers/Sc_ProcessMangementController.cs
+++ b/WebAPI/Controllers/Sc_ProcessMangementController.cs
@@ -482,6 +482,8 @@
         {
             try
             {
+                LogService.Write("鐢熶骇姹囨姤鍗曡繘鍏ュ悓姝ユ柟娉曪紝姹囨姤鍗曞彿锛�" + BillNo);
+
                 string sErr = "";
                 oSystemParameter.ShowBill(ref sErr);
 
@@ -495,6 +497,7 @@
                 DataSet ds = oCN.RunProcReturn("select * from h_v_MES_StationOutBillList_LastProc where HInterID=" + InterID, "h_v_MES_StationOutBillList_LastProc");
                 if (ds.Tables[0].Rows.Count <= 0)
                 {
+                    LogService.Write("鐢熶骇姹囨姤鍗曞洖婊氾紝姹囨姤鍗曞彿锛�" + BillNo + "   鍘熷洜锛氱敓鎴愮敓浜ф眹鎶ュ崟杩囩▼涓病鏈夋煡璇㈠埌鍑虹珯鍗�");
                     objJsonResult.code = "0";
                     objJsonResult.count = 0;
                     objJsonResult.Message = "鐢熸垚鐢熶骇姹囨姤鍗曡繃绋嬩腑娌℃湁鏌ヨ鍒板嚭绔欏崟";
@@ -505,9 +508,10 @@
 
                 //淇濆瓨
                 oCN.BeginTran();
-                DataSet DsTable = oCN.RunProcReturn($"select * from Sc_ICMOReportBillMain where HBillNo='{HBillNo}'", "Sc_ICMOReportBillMain");
+                DataSet DsTable = oCN.RunProcReturn($"select * from Sc_ICMOReportBillMain with(nolock) where HBillNo='{HBillNo}'", "Sc_ICMOReportBillMain");
                 if (DsTable.Tables[0].Rows.Count > 0)
                 {
+                    LogService.Write("鐢熶骇姹囨姤鍗曞洖婊氾紝姹囨姤鍗曞彿锛�" + BillNo + "   鍘熷洜锛氬凡鍏ュ簱,璇蜂笉瑕侀噸澶嶅叆搴�");
                     objJsonResult.code = "0";
                     objJsonResult.count = 0;
                     objJsonResult.Message = "宸插叆搴�,璇蜂笉瑕侀噸澶嶅叆搴�";
@@ -550,6 +554,7 @@
                 var isSuccess = JObject.Parse(loginRet)["LoginResultType"].Value<int>();
                 if (isSuccess == 0)
                 {
+                    LogService.Write("鐢熶骇姹囨姤鍗曞洖婊氾紝姹囨姤鍗曞彿锛�" + BillNo + "   鍘熷洜锛氭搷浣滃け璐�,閲戣澏璐﹀彿鐧诲綍寮傚父");
                     objJsonResult.code = "0";
                     objJsonResult.count = 0;
                     objJsonResult.Message = "鎿嶄綔澶辫触,閲戣澏璐﹀彿鐧诲綍寮傚父銆�" + loginRet;
@@ -643,6 +648,7 @@
                 if (JObject.Parse(result)["Result"]["ResponseStatus"]["IsSuccess"].ToString().ToUpper() != "TRUE")
                 {
                     LogService.Write("宸ュ簭姹囨姤鍗曞叆搴撻敊璇痡sonRoot:" + jsonRoot);
+                    LogService.Write("鐢熶骇姹囨姤鍗曚繚瀛樺け璐ワ紝姹囨姤鍗曞彿锛�" + BillNo + "   鍘熷洜锛�" + result);
                     oCN.RollBack();
                     objJsonResult.code = "0";
                     objJsonResult.count = 0;
@@ -663,10 +669,11 @@
                 result2 = InvokeHelper.Audit("PRD_MORPT", JsonConvert.SerializeObject(json));//鎻愪氦
                 if (JObject.Parse(result1)["Result"]["ResponseStatus"]["IsSuccess"].ToString().ToUpper() != "TRUE")
                 {
+                    LogService.Write("鐢熶骇姹囨姤鍗曟彁浜ゅけ璐ワ紝姹囨姤鍗曞彿锛�" + BillNo + "   鍘熷洜锛�" + result1);
                     oCN.RollBack();
                     objJsonResult.code = "0";
                     objJsonResult.count = 0;
-                    objJsonResult.Message = $"鐢熶骇姹囨姤鍗曞崟鍙凤細{fBillNo}锛屾彁浜ゅけ璐�" + result;
+                    objJsonResult.Message = $"鐢熶骇姹囨姤鍗曞崟鍙凤細{fBillNo}锛屾彁浜ゅけ璐�" + result1;
                     objJsonResult.data = null;
                     return objJsonResult;
                 }
@@ -674,6 +681,9 @@
                 oCN.RunProc("update Sc_StationOutBillMain set HRelationQty=1 where  HBillNo='" + BillNo + "'");
 
                 oCN.Commit();
+
+                LogService.Write("鐢熶骇姹囨姤鍗曚繚瀛樻垚鍔燂紝姹囨姤鍗曞彿锛�" + BillNo );
+
                 objJsonResult.code = "0";
                 objJsonResult.count = 1;
                 objJsonResult.Message = "淇濆瓨鎴愬姛锛�";
@@ -682,6 +692,7 @@
             }
             catch (Exception e)
             {
+                LogService.Write("鐢熶骇姹囨姤鍗曞悓姝ュ彂鐢熷紓甯革紝姹囨姤鍗曞彿锛�" + BillNo + "    " + e.ToString());
                 oCN.RollBack();
                 objJsonResult.code = "0";
                 objJsonResult.count = 0;
@@ -768,6 +779,7 @@
         {
             try
             {
+                LogService.Write("鐢熶骇鍏ュ簱鍗曡繘鍏ュ悓姝ユ柟娉�:" + "  鍏ュ簱鍗曞彿锛�" + BillNo);
                 //鑾峰彇鐢熶骇姹囨姤鍗曟渶澶nterID鍜屽崟鎹彿
                 Int64 HInterID = DBUtility.ClsPub.CreateBillID("1202", ref DBUtility.ClsPub.sExeReturnInfo);
                 string HBillNo = DBUtility.ClsPub.CreateBillCode("1202", ref DBUtility.ClsPub.sExeReturnInfo, true);
@@ -778,10 +790,11 @@
                 //DataRow dr = ds.Tables[0].Rows[0];
 
                 //鍒ゆ柇鍏ュ簱鐨勫悎鏍兼暟閲忔槸鍚︿负0
-                var DTable = oCN.RunProcReturn("select * from  Sc_StationOutBillMain where HBillNo='" + BillNo + "' ", "Sc_StationOutBillMain").Tables[0];
+                var DTable = oCN.RunProcReturn("select * from Sc_StationOutBillMain with(nolock) where HBillNo='" + BillNo + "' ", "Sc_StationOutBillMain").Tables[0];
 
                 if (double.Parse(DTable.Rows[0]["HQty"].ToString()) == 0)
                 {
+                    LogService.Write("鍚屾閲戣澏鐢熶骇鐢熶骇鍏ュ簱鍗曞洖婊�--鍑虹珯鍗曞彿锛�" + BillNo + "  鍥炴粴鍘熷洜锛氬悎鏍兼暟閲忎负0,涓嶉渶瑕佸叆搴擄紒");
                     objJsonResult.code = "1";
                     objJsonResult.count = 2;
                     objJsonResult.Message = "鍚堟牸鏁伴噺涓�0,涓嶉渶瑕佸叆搴擄紒";
@@ -827,6 +840,7 @@
                 var isSuccess = JObject.Parse(loginRet)["LoginResultType"].Value<int>();
                 if (isSuccess == 0)
                 {
+                    LogService.Write("鍚屾閲戣澏鐢熶骇鍏ュ簱鍗曞洖婊�--鍑虹珯鍗曞彿锛�" + BillNo + "  鍥炴粴鍘熷洜锛氭搷浣滃け璐�,閲戣澏璐﹀彿鐧诲綍寮傚父");
                     objJsonResult.code = "0";
                     objJsonResult.count = 0;
                     objJsonResult.Message = "鎿嶄綔澶辫触,閲戣澏璐﹀彿鐧诲綍寮傚父銆�" + loginRet;
@@ -839,6 +853,7 @@
 
                 if (ds1 == null || ds1.Tables[0].Rows.Count == 0)
                 {
+                    LogService.Write("鍚屾閲戣澏鐢熶骇鍏ュ簱鍗曞洖婊�--鍑虹珯鍗曞彿锛�" + BillNo + "  鍥炴粴鍘熷洜锛氭湭鎵惧埌瀵瑰簲鐨勬湰鍦版垨閲戣澏浜戠敓浜ф眹鎶ュ崟璁板綍;1.鏈煡璇㈠埌瀵瑰簲鐨勭敓浜ф眹鎶ュ崟锛�2.璇风‘淇濆綋鍓嶅伐搴忔槸鏈亾宸ュ簭3.姹囨姤鍗曞搴旂殑鍏ュ簱鏁伴噺宸叉弧 璇峰湪閲戣澏浜戞煡鐪嬪叆搴撹褰曪紒");
                     objJsonResult.code = "0";
                     objJsonResult.count = 0;
                     objJsonResult.Message = "鏈壘鍒板搴旂殑鏈湴鎴栭噾铦朵簯鐢熶骇姹囨姤鍗曡褰�;1.鏈煡璇㈠埌瀵瑰簲鐨勭敓浜ф眹鎶ュ崟锛�2.璇风‘淇濆綋鍓嶅伐搴忔槸鏈亾宸ュ簭3.姹囨姤鍗曞搴旂殑鍏ュ簱鏁伴噺宸叉弧 璇峰湪閲戣澏浜戞煡鐪嬪叆搴撹褰曪紒";
@@ -849,6 +864,7 @@
                 DataRow dr1 = ds1.Tables[0].Rows[0];
                 if (double.Parse(dr1[0].ToString()) <= 0)
                 {
+                    LogService.Write("鍚屾閲戣澏鐢熶骇鍏ュ簱鍗曞洖婊�--鍑虹珯鍗曞彿锛�" + BillNo + "  鍥炴粴鍘熷洜锛氭湭鎵惧埌瀵瑰簲鐨勭敓浜ф眹鎶ュ崟璁板綍;1.鏈煡璇㈠埌瀵瑰簲鐨勭敓浜ф眹鎶ュ崟锛�2.璇风‘淇濆綋鍓嶅伐搴忔槸鏈亾宸ュ簭3.姹囨姤鍗曞搴旂殑鍏ュ簱鏁伴噺宸叉弧 璇峰湪閲戣澏浜戞煡鐪嬪叆搴撹褰曪紒");
                     objJsonResult.code = "0";
                     objJsonResult.count = 0;
                     objJsonResult.Message = "鏈壘鍒板搴旂殑鐢熶骇姹囨姤鍗曡褰�;1.鏈煡璇㈠埌瀵瑰簲鐨勭敓浜ф眹鎶ュ崟锛�2.璇风‘淇濆綋鍓嶅伐搴忔槸鏈亾宸ュ簭3.姹囨姤鍗曞搴旂殑鍏ュ簱鏁伴噺宸叉弧 璇峰湪閲戣澏浜戞煡鐪嬪叆搴撹褰曪紒";
@@ -868,6 +884,7 @@
 
                         if (ds.Tables[0].Rows.Count > 0)
                         {
+                            LogService.Write("鍚屾閲戣澏鐢熶骇鍏ュ簱鍗曞洖婊�--鍑虹珯鍗曞彿锛�" + BillNo + "  鍥炴粴鍘熷洜锛氬綋鍓嶅嚭绔欏崟鍙峰凡鍏ュ簱,璇蜂笉瑕侀噸鏂板叆搴�!");
                             objJsonResult.code = "0";
                             objJsonResult.count = 0;
                             objJsonResult.Message = "褰撳墠鍑虹珯鍗曞彿宸插叆搴�,璇蜂笉瑕侀噸鏂板叆搴�!";
@@ -876,7 +893,7 @@
                         }
 
                         //鍒ゆ柇閲戣澏浜戠敓浜ф眹鎶ュ崟 鏁伴噺 鏄惁 澶т簬 鏈亾鍑虹珯鏁伴噺
-                        ds = oCN.RunProcReturn($@"select sum(FFinishQty)-sum(FSTOCKINQUASELQTY)-(select HQty from Sc_StationOutBillMain where HBillNo='{BillNo}') 
+                        ds = oCN.RunProcReturn($@"select sum(FFinishQty)-sum(FSTOCKINQUASELQTY)-(select HQty from Sc_StationOutBillMain with(nolock) where HBillNo='{BillNo}') 
                         from  AIS20220308151944..T_PRD_MORPT rpt3 
                         left join AIS20220308151944..T_PRD_MORPTENTRY  rpt2 on rpt3.FID = rpt2.FID
                         left join AIS20220308151944..T_PRD_MORPTENTRY_A  rpt1 on rpt2.FID = rpt1.FID
@@ -884,6 +901,7 @@
 
                         if (double.Parse(ds.Tables[0].Rows[0][0].ToString()) < 0)
                         {
+                            LogService.Write("鍚屾閲戣澏鐢熶骇鍏ュ簱鍗曞洖婊�--鍑虹珯鍗曞彿锛�" + BillNo + "  鍥炴粴鍘熷洜锛氶噾铦朵簯姹囨姤鏁伴噺灏忎簬鏈湴鍑虹珯鏁伴噺!");
                             objJsonResult.code = "0";
                             objJsonResult.count = 0;
                             objJsonResult.Message = "閲戣澏浜戞眹鎶ユ暟閲忓皬浜庢湰鍦板嚭绔欐暟閲�!";
@@ -896,6 +914,7 @@
                         {
                             if (item["HWYID"].ToString() == null || item["HWYID"].ToString() == "" || item["HWYID"].ToString() == "undefined")
                             {
+                                LogService.Write("鍚屾閲戣澏鐢熶骇鍏ュ簱鍗曞洖婊�--鍑虹珯鍗曞彿锛�" + BillNo + "  鍥炴粴鍘熷洜锛氬敮涓�ID涓虹┖锛岃閲嶆柊鎵嬪姩鍏ュ簱鎴栬仈绯荤鐞嗗憳锛�");
                                 objJsonResult.code = "0";
                                 objJsonResult.count = 0;
                                 objJsonResult.Message = "鍞竴ID涓虹┖锛岃閲嶆柊鎵嬪姩鍏ュ簱鎴栬仈绯荤鐞嗗憳锛�";
@@ -1045,8 +1064,8 @@
                 string result = InvokeHelper.Save("PRD_INSTOCK", JsonConvert.SerializeObject(jsonRoot));//淇濆瓨
                 //鍒ゆ柇淇濆瓨鏄惁鎴愬姛
                 if (JObject.Parse(result)["Result"]["ResponseStatus"]["IsSuccess"].ToString().ToUpper() != "TRUE")
-                {
-                    LogService.Write("鐢熶骇鍏ュ簱閿欒jsonRoot:" + jsonRoot);
+                {                  
+                    LogService.Write("鐢熶骇鍏ュ簱淇濆瓨閿欒jsonRoot:" + jsonRoot + "  鍏ュ簱鍗曞彿锛�" + BillNo);
                     oCN.RollBack();
                     objJsonResult.code = "0";
                     objJsonResult.count = 0;
@@ -1067,6 +1086,7 @@
                 //result2 = InvokeHelper.Audit("PRD_INSTOCK", JsonConvert.SerializeObject(json));//鎻愪氦
                 if (JObject.Parse(result1)["Result"]["ResponseStatus"]["IsSuccess"].ToString().ToUpper() != "TRUE")
                 {
+                    LogService.Write("鐢熶骇鍏ュ簱鎻愪氦閿欒jsonRoot:" + jsonRoot + "  鍏ュ簱鍗曞彿锛�" + BillNo);
                     oCN.RollBack();
                     objJsonResult.code = "0";
                     objJsonResult.count = 0;
@@ -1076,7 +1096,7 @@
                 }
 
                 oCN.RunProc("update Sc_StationOutBillMain set HRelationQty=1 where  HBillNo='" + BillNo + "'");
-
+                LogService.Write("鐢熶骇鍏ュ簱鍚屾鎴愬姛:" + "  鍏ュ簱鍗曞彿锛�" + BillNo);
                 oCN.Commit();
                 objJsonResult.code = "0";
                 objJsonResult.count = 1;
@@ -1086,6 +1106,7 @@
             }
             catch (Exception e)
             {
+                LogService.Write("鐢熶骇鍏ュ簱鍚屾鍙戠敓寮傚父:" + "  鍏ュ簱鍗曞彿锛�" + BillNo + "    " + e.ToString());
                 oCN.RollBack();
                 objJsonResult.code = "0";
                 objJsonResult.count = 0;
diff --git a/WebAPI/Controllers/WebAPIController.cs b/WebAPI/Controllers/WebAPIController.cs
index 1e099fa..4ffa124 100644
--- a/WebAPI/Controllers/WebAPIController.cs
+++ b/WebAPI/Controllers/WebAPIController.cs
@@ -10109,6 +10109,274 @@
         }
         #endregion
 
+        #region 鍚姩妫�鏌ラ」鐩�  璁剧疆鍒楄〃/淇濆瓨/缂栬緫/鍒犻櫎鏂规硶
+        /// <summary>
+        /// 鍚姩妫�鏌ラ」鐩� 淇濆瓨
+        /// </summary>
+        /// <param name="msg"></param>
+        /// <returns></returns>
+        [Route("SaveGy_CheckNoteItemList")]
+        [HttpPost]
+        public object SaveGy_CheckNoteItemList([FromBody] JObject msg)
+        {
+            DataSet ds;
+            var _value = msg["msg"].ToString();
+            string msg3 = _value.ToString();
+            string[] sArray = msg3.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
+            string msg1 = sArray[0].ToString();
+            string msg2 = sArray[1].ToString();
+
+            //鏌ョ湅鏉冮檺
+            if (!DBUtility.ClsPub.Security_Log("Gy_CheckNoteItem_Edit", 1, false, msg2))
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "鏃犱繚瀛樻潈闄愶紒";
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+
+            Int64 HItemID = 0;
+            SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
+            //鑾峰彇鏈�澶D鍊艰祴鍊�
+            DataSet Maxds = oCN.RunProcReturn("select isNull(MAX(HItemID),0) HItemID from Gy_CheckNoteItem ", "Gy_CheckNoteItem");
+            if (Maxds != null || Maxds.Tables[0].Rows.Count > 0)
+            {
+                var maxid = Convert.ToInt32(Maxds.Tables[0].Rows[0]["HItemID"]);
+                maxid += 1;
+                HItemID = maxid;
+            }
+            ListModels oListModels = new ListModels();
+            try
+            {
+
+                WebAPI.DLL.ClsGy_CheckNoteItem_Ctl oBill = new WebAPI.DLL.ClsGy_CheckNoteItem_Ctl();
+                List<Model.ClsGy_CheckNoteItem_Model> lsmain = new List<Model.ClsGy_CheckNoteItem_Model>();
+                msg1 = msg1.Replace("\\", "");
+                msg1 = msg1.Replace("\n", "");
+                lsmain = oListModels.getObjectByJson_Gy_CheckNoteItem(msg1);
+                foreach (Model.ClsGy_CheckNoteItem_Model oItem in lsmain)
+                {
+                    if (oItem.HNumber.Trim() == "")
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "淇濆瓨澶辫触锛佷唬鐮佷笉鑳戒负绌猴紒";
+                        objJsonResult.data = 1;
+                        return objJsonResult;
+                    }
+                    if (oItem.HName.Trim() == "")
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "淇濆瓨澶辫触锛佸悕绉颁笉鑳戒负绌猴紒";
+                        objJsonResult.data = 1;
+                        return objJsonResult;
+                    }
+                    if (!DBUtility.ClsPub.AllowNumber(oItem.HNumber.Trim()))
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "淇濆瓨澶辫触锛佷唬鐮佷腑涓嶈兘鍑虹幇杩炵画鈥�.鈥欏苟涓旈浣嶆湯浣嶄笉鑳戒负鈥�.鈥欙紒";
+                        objJsonResult.data = 1;
+                        return objJsonResult;
+                    }
+                    //鏌ヨ鏁版嵁涓槸鍚﹀瓨鍦ㄩ噸澶嶄唬鐮�
+
+                    ds = oCN.RunProcReturn("select * from  Gy_CheckNoteItem where HStopflag=0 and HNumber='" + oItem.HNumber.Trim() + "'", "Gy_CheckNoteItem");
+                    if (oItem.HNumber.Trim() == "")
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "淇濆瓨澶辫触锛佷唬鐮佷负绌猴紒";
+                        objJsonResult.data = 1;
+                        return objJsonResult;
+                    }
+                    //鏂板鏃跺垽鏂�
+                    if (oItem.HItemID == 0)
+                    {
+                        if (ds == null || ds.Tables[0].Rows.Count == 0)
+                        {
+
+                        }
+                        else
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "淇濆瓨澶辫触锛佷唬鐮侀噸澶嶏紒";
+                            objJsonResult.data = 1;
+                            return objJsonResult;
+                        }
+                        //妫�鏌ョ埗绾ф槸鍚﹀瓨鍦�
+                        string sParent;
+                        sParent = DBUtility.ClsPub.GetParentCode(oItem.HNumber.Trim());
+                        if (sParent.Trim() == "")
+                        {
+                            oBill.oModel.HParentID = 0;
+                        }
+                        else
+                        {
+                            if (oBill.HavParentCode(sParent.Trim(), HItemID))
+                            {
+                                oBill.oModel.HParentID = oBill.oModel.HItemID;
+                            }
+                            else
+                            {
+                                objJsonResult.code = "0";
+                                objJsonResult.count = 0;
+                                objJsonResult.Message = "淇濆瓨澶辫触锛佷笂绾т唬鐮佷笉瀛樺湪鎴栬绂佺敤锛�";
+                                objJsonResult.data = 1;
+                                return objJsonResult;
+                            }
+                        }
+                    }
+                    else//缂栬緫鏃跺垽鏂�
+                    {
+                        //妫�鏌ョ埗绾ф槸鍚﹀瓨鍦�
+                        string sParent;
+                        sParent = DBUtility.ClsPub.GetParentCode(oItem.HNumber.Trim());
+                        if (sParent.Trim() == "")
+                        {
+                            oBill.oModel.HParentID = 0;
+                        }
+                        else
+                        {
+                            if (oBill.HavParentCode(sParent.Trim(), oItem.HItemID))
+                            {
+                                oBill.oModel.HParentID = oBill.oModel.HItemID;
+                            }
+                            else
+                            {
+                                objJsonResult.code = "0";
+                                objJsonResult.count = 0;
+                                objJsonResult.Message = "淇濆瓨澶辫触锛佷笂绾т唬鐮佷笉瀛樺湪鎴栬绂佺敤锛�";
+                                objJsonResult.data = 1;
+                                return objJsonResult;
+                            }
+                        }
+                    }
+                    //寰楀埌鐭唬鐮�
+                    string sShortNumber;
+                    sShortNumber = DBUtility.ClsPub.GetShortNumber(oItem.HNumber.Trim());
+                    if (sShortNumber.Trim() == "")
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "淇濆瓨澶辫触锛佺煭浠g爜涓虹┖锛�";
+                        objJsonResult.data = 1;
+                        return objJsonResult;
+                    }
+                    oItem.HShortNumber = sShortNumber;//鐭唬鐮�
+                    oItem.HEndFlag = true;//鏈骇鏍囧織
+                    oItem.HLevel = DBUtility.ClsPub.GetLevel(oItem.HNumber.Trim()); //绛夌骇
+                    oItem.HMakeEmp = msg2; //鍒涘缓浜�
+
+                    oBill.oModel = oItem;
+                }
+
+                //淇濆瓨
+                //淇濆瓨瀹屾瘯鍚庡鐞�
+                bool bResult;
+                if (oBill.oModel.HItemID == 0)
+                {
+                    bResult = oBill.AddNew();
+                }
+                else
+                {
+                    bResult = oBill.ModifyByID(oBill.oModel.HItemID);
+                }
+                if (bResult)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "淇濆瓨鎴愬姛锛�";
+                    objJsonResult.data = 1;
+                    return objJsonResult;
+                }
+                else
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "淇濆瓨澶辫触锛�" + DBUtility.ClsPub.sExeReturnInfo;
+                    objJsonResult.data = 1;
+                    return objJsonResult;
+                }
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "淇濆瓨澶辫触锛�" + e.ToString();
+                objJsonResult.data = 1;
+                return objJsonResult;
+            }
+        }
+
+        /// <summary>
+        ///鍚姩妫�鏌ラ」鐩� 鑾峰彇淇℃伅
+        /// </summary>
+        /// <returns></returns>
+        [Route("GetGy_CheckNoteItemDetail")]
+        [HttpGet]
+        public ApiResult<DataSet> GetGy_CheckNoteItemDetail(string HID)
+        {
+            var model = LuBaoSevice.GetGy_CheckNoteItemDetail(HID);
+            return model;
+        }
+
+        /// <summary>
+        ///鍚姩妫�鏌ラ」鐩� 鍒犻櫎鍔熻兘
+        /// </summary>
+        /// <returns></returns>
+        [Route("DeltetGy_CheckNoteItem")]
+        [HttpGet]
+        public object DeltetGy_CheckNoteItem(string HItemID, string user)
+        {
+            DataSet ds;
+            try
+            {
+                //鍒犻櫎鏉冮檺
+                if (!DBUtility.ClsPub.Security_Log("Gy_CheckNoteItem_Drop", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犲垹闄ゆ潈闄愶紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
+                if (string.IsNullOrWhiteSpace(HItemID))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "HItemID涓虹┖锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                oCN.BeginTran();//寮�濮嬩簨鍔�
+
+
+                oCN.RunProc("delete Gy_CheckNoteItem where HItemID=" + HItemID);
+                oCN.Commit();//鎻愪氦浜嬪姟
+                objJsonResult.code = "0";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "鏁版嵁鍒犻櫎鎴愬姛锛�";
+                objJsonResult.data = null;
+                return objJsonResult; ;
+
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "鍒犻櫎澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
         /// <summary>
         /// 鐢ㄥ叧鑱斿伐搴忚幏鍙栦俊鎭�
         /// </summary>
@@ -11715,19 +11983,24 @@
                 List<object> list = new List<object>();
                 DataSet ds2;
                 DataSet ds1;
-                string sql1 = string.Format(@"select t.HMaintainItemID ,m.HNumber HMaintainItemNumber,t.HMaintainItem,t.HMaintainPart,t.HClaim,t.HManagerID,e.HNumber HManagerNumber,e.HName HManagerName,a.HRemark
-                                                from Sc_MouldMaintainRuleBillMain a left join Sc_MouldMaintainRuleBillSub_Item t on a.HInterID=t.HInterID 
-                                                left join Gy_Maintain m on m.HItemID=t.HMaintainItemID
-                                                left join Gy_Employee e on e.HItemID=t.HManagerID
-                                                where a.HInterID=" + MouldMaintainRuleID);
 
-                string sql2 = string.Format(@"select b.HMaterID,m.HNumber HMaterNumber,m.HName HMaterName, m.HModel HMaterSpec,b.HUnitID,u.HNumber HUnitNumber,u.HName HUnitName,b.HQty,b.HQtyMust,b.HRemark from Sc_MouldMaintainRuleBillMain a  
-												left join Sc_MouldMaintainRuleBillSub b on a.HInterID=b.HInterID 
-                                                left join h_v_IF_Material m on b.HMaterID=m.HItemID
-												left join h_v_IF_Unit u on b.HUnitID=u.HItemID
-                                                where a.HInterID=" + MouldMaintainRuleID);
-                ds1 = oCN.RunProcReturn(sql1, "Sc_MouldMaintainRuleBillMain");//淇濆吇
-                ds2 = oCN.RunProcReturn(sql2, "Sc_MouldMaintainRuleBillMain");//閰嶄欢
+            //    string sql1 = string.Format(@"select t.HMaintainItemID ,m.HNumber HMaintainItemNumber,t.HMaintainItem,t.HMaintainPart,t.HClaim,t.HManagerID,e.HNumber HManagerNumber,e.HName HManagerName,a.HRemark
+            //                                    from Sc_MouldMaintainRuleBillMain a left join Sc_MouldMaintainRuleBillSub_Item t on a.HInterID=t.HInterID 
+            //                                    left join Gy_Maintain m on m.HItemID=t.HMaintainItemID
+            //                                    left join Gy_Employee e on e.HItemID=t.HManagerID
+            //                                    where a.HInterID=" + MouldMaintainRuleID);
+
+            //    string sql2 = string.Format(@"select b.HMaterID,m.HNumber HMaterNumber,m.HName HMaterName, m.HModel HMaterSpec,b.HUnitID,u.HNumber HUnitNumber,u.HName HUnitName,b.HQty,b.HQtyMust,b.HRemark from Sc_MouldMaintainRuleBillMain a  
+												//left join Sc_MouldMaintainRuleBillSub b on a.HInterID=b.HInterID 
+            //                                    left join h_v_IF_Material m on b.HMaterID=m.HItemID
+												//left join h_v_IF_Unit u on b.HUnitID=u.HItemID
+            //                                    where a.HInterID=" + MouldMaintainRuleID);
+
+                string sql1 = string.Format(@"select * from h_v_Sc_MouldMaintainRuleBillSub_Item where hmainid=" + MouldMaintainRuleID);
+                string sql2 = string.Format(@"select * from h_v_Sc_MouldMaintainRuleBillSub where hmainid=" + MouldMaintainRuleID);
+
+                ds1 = oCN.RunProcReturn(sql1, "h_v_Sc_MouldMaintainRuleBillSub_Item");//淇濆吇
+                ds2 = oCN.RunProcReturn(sql2, "h_v_Sc_MouldMaintainRuleBillSub");//閰嶄欢
                 list.Add(ds1.Tables[0]);
                 list.Add(ds2.Tables[0]);
                 objJsonResult.code = "0";
@@ -11861,19 +12134,22 @@
                 List<object> list = new List<object>();
                 DataSet ds2;
                 DataSet ds1;
-                string sql1 = string.Format(@"select t.HMaintainItemID HMaintainItemID,m.HNumber HMaintainItemNumber,t.HMaintainItem HMaintainItem,t.HMaintainPart HMaintainPart,t.HClaim HClaim,t.HManagerID HManagerID,e.HNumber HManagerNumber,e.HName HManagerName,a.HRemark
-                                                from Sb_EquipMaintainRuleBillMain a left join Sb_EquipMaintainRuleBillSub_Item t on a.HInterID=t.HInterID 
-                                                left join Gy_Maintain m on m.HItemID=t.HMaintainItemID
-                                                left join Gy_Employee e on e.HItemID=t.HManagerID
-                                                where a.HInterID=" + EquipProjectID);
-                string sql2 = string.Format(@"select b.HMaterID,m.HNumber HMaterNumber,m.HName HMaterName,b.HUnitID,u.HNumber HUnitNumber,u.HName HUnitName,b.HQty,b.HRemark from Sb_EquipMaintainRuleBillMain a  
-												left join Sb_EquipMaintainRuleBillSub b on a.HInterID=b.HInterID 
-                                                left join h_v_IF_Material m on b.HMaterID=m.HItemID
-												left join h_v_IF_Unit u on b.HUnitID=u.HItemID
-                                                where a.HInterID=" + EquipProjectID);
+            //    string sql1 = string.Format(@"select t.HMaintainItemID HMaintainItemID,m.HNumber HMaintainItemNumber,t.HMaintainItem HMaintainItem,t.HMaintainPart HMaintainPart,t.HClaim HClaim,t.HManagerID HManagerID,e.HNumber HManagerNumber,e.HName HManagerName,a.HRemark
+            //                                    from Sb_EquipMaintainRuleBillMain a left join Sb_EquipMaintainRuleBillSub_Item t on a.HInterID=t.HInterID 
+            //                                    left join Gy_Maintain m on m.HItemID=t.HMaintainItemID
+            //                                    left join Gy_Employee e on e.HItemID=t.HManagerID
+            //                                    where a.HInterID=" + EquipProjectID);
+            //    string sql2 = string.Format(@"select b.HMaterID,m.HNumber HMaterNumber,m.HName HMaterName,b.HUnitID,u.HNumber HUnitNumber,u.HName HUnitName,b.HQty,b.HRemark from Sb_EquipMaintainRuleBillMain a  
+												//left join Sb_EquipMaintainRuleBillSub b on a.HInterID=b.HInterID 
+            //                                    left join h_v_IF_Material m on b.HMaterID=m.HItemID
+												//left join h_v_IF_Unit u on b.HUnitID=u.HItemID
+            //                                    where a.HInterID=" + EquipProjectID);
 
-                ds1 = oCN.RunProcReturn(sql1, "Sb_EquipMaintainRuleBillMain");//淇濆吇
-                ds2 = oCN.RunProcReturn(sql2, "Sc_MouldMaintainRuleBillMain");//閰嶄欢
+                string sql1 = string.Format(@"select * from h_v_Sb_EquipMaintainRuleBillList where HInterID=" + EquipProjectID);
+                string sql2 = string.Format(@"select * from h_v_Sb_EquipMaintainRuleSub where hmainid=" + EquipProjectID);
+
+                ds1 = oCN.RunProcReturn(sql1, "h_v_Sb_EquipMaintainRuleBillList");//淇濆吇
+                ds2 = oCN.RunProcReturn(sql2, "h_v_Sb_EquipMaintainRuleSub");//閰嶄欢
                 list.Add(ds1.Tables[0]);
                 list.Add(ds2.Tables[0]);
                 objJsonResult.code = "0";
@@ -12489,7 +12765,7 @@
                 ds = oCn.RunProcReturn(sql, "Gy_MenuDefineSet");        //鏌ヨ褰撳墠鐢ㄦ埛鐨勮嚜瀹氫箟鑿滃崟鏁版嵁
                 if (ds.Tables[0]==null || ds.Tables[0].Rows.Count == 0) //鍒ゆ柇褰撳墠鐢ㄦ埛鏄惁鏈夎缃繃鑷畾涔変俊鎭紝鑻ヨ褰曟暟涓�0锛屽垯娌℃湁璁剧疆杩囷紝鍔犺浇鎵�鏈夌殑鑿滃崟淇℃伅
                 {
-                    sql = "Select * from Gy_Menu_1 where HType = '" + HType + "' Order by HPosition ";
+                    sql = "Select * from Gy_Menu_1 where HType = '" + HType + "' Order by HPosition,len(HitemID),HitemID  ";
                     ds = oCn.RunProcReturn(sql, "Gy_Menu");
                 }
 
diff --git a/WebAPI/Controllers/XSGL/Kf_ICStockBackBillController.cs b/WebAPI/Controllers/XSGL/Kf_ICStockBackBillController.cs
index 00449af..c5cd285 100644
--- a/WebAPI/Controllers/XSGL/Kf_ICStockBackBillController.cs
+++ b/WebAPI/Controllers/XSGL/Kf_ICStockBackBillController.cs
@@ -161,6 +161,17 @@
                     oBill.DetailColl.Add(oItemSub);
                 }
 
+                //杩涜 浼氳鏈熼棿 缁撹处 鐨勫垽鏂拰鎺у埗
+                string s = "";
+                int sYear = 0;
+                int sPeriod = 0;
+                DateTime HDate = DateTime.Now;
+                if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(HDate, ref sYear, ref sPeriod, ref s) == false)
+                {
+                    objJsonResult.Message = s;
+                    return objJsonResult;
+                }
+
                 //淇濆瓨
                 //淇濆瓨瀹屾瘯鍚庡鐞�
                 bool bResult;
@@ -174,7 +185,6 @@
                 }
                 else                                                                    //缂栬緫淇濆瓨
                 {
-                    string s = "";
                     if (BillOld.ShowBill(lsmain[0].HInterID, ref s) == false)
                     {
                         objJsonResult.code = "0";
@@ -345,6 +355,16 @@
                 }
                 //==================================================================================  
 
+                //杩涜 浼氳鏈熼棿 缁撹处 鐨勫垽鏂拰鎺у埗
+                int sYear = 0;
+                int sPeriod = 0;
+                DateTime HDate = DateTime.Now;
+                if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(HDate, ref sYear, ref sPeriod, ref s) == false)
+                {
+                    objJsonResult.Message = s;
+                    return objJsonResult;
+                }
+
                 oCN.BeginTran();
 
                 //鍒犻櫎鍏宠仈
@@ -514,8 +534,23 @@
                     }
                     //==================================================================================      
 
+                    //杩涜 浼氳鏈熼棿 缁撹处 鐨勫垽鏂拰鎺у埗
+                    string s = "";
+                    int sYear = 0;
+                    int sPeriod = 0;
+                    DateTime HDate = DateTime.Now;
+                    if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(HDate, ref sYear, ref sPeriod, ref s) == false)
+                    {
+                        objJsonResult.Message = s;
+                        return objJsonResult;
+                    }
+
                     //瀹℃牳鎻愪氦
                     oCN.BeginTran();
+
+                    //瀹℃牳鏇存柊 鍙婃椂搴撳瓨琛� 澧炲姞搴撳瓨
+                    ds = oCN.RunProcReturn("exec h_KF_UPDateICinventory  '" + oBill.omodel.HInterID + "','" + oBill.omodel.HBillType + "','1'", "h_KF_UPDateICinventory");
+
                     //澧炲姞鍏宠仈
                     oCN.RunProc("exec h_p_Xs_UpDateRelation_SeOrderToSellBack_Check " + oBill.omodel.HInterID + ",'" + CurUserName + "'");
                     //鍐欏叆鏃ュ織
@@ -598,8 +633,23 @@
                     }
                     //===========================================================   
 
+                    //杩涜 浼氳鏈熼棿 缁撹处 鐨勫垽鏂拰鎺у埗
+                    string s = "";
+                    int sYear = 0;
+                    int sPeriod = 0;
+                    DateTime HDate = DateTime.Now;
+                    if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(HDate, ref sYear, ref sPeriod, ref s) == false)
+                    {
+                        objJsonResult.Message = s;
+                        return objJsonResult;
+                    }
+
                     //鍙嶅鏍告彁浜bandonCheck
                     oCN.BeginTran();
+
+                    //瀹℃牳鏇存柊 鍙婃椂搴撳瓨琛� 鍑忓皯搴撳瓨
+                    ds = oCN.RunProcReturn("exec h_KF_UPDateICinventory  '" + oBill.omodel.HInterID + "','" + oBill.omodel.HBillType + "','2'", "h_KF_UPDateICinventory");
+
                     //鍒犻櫎鍏宠仈
                     oCN.RunProc("exec h_p_Xs_UpDateRelation_SeOrderToSellBack_UnCheck " + HInterID + ",'" + CurUserName + "'");
                     if (oBill.AbandonCheck(oBill.omodel.HInterID, oBill.omodel.HBillNo, "h_p_Kf_SellOutBackBill_AfterUnCheckCtrl", CurUserName, ref DBUtility.ClsPub.sExeReturnInfo) == true)
diff --git a/WebAPI/Controllers/XSGL/Kf_SellOutBillController.cs b/WebAPI/Controllers/XSGL/Kf_SellOutBillController.cs
index 0d50261..20f2515 100644
--- a/WebAPI/Controllers/XSGL/Kf_SellOutBillController.cs
+++ b/WebAPI/Controllers/XSGL/Kf_SellOutBillController.cs
@@ -327,6 +327,17 @@
                     oBill.DetailColl.Add(oItemSub);
                 }
 
+                //杩涜 浼氳鏈熼棿 缁撹处 鐨勫垽鏂拰鎺у埗
+                string s = "";
+                int sYear = 0;
+                int sPeriod = 0;
+                DateTime HDate = DateTime.Now;
+                if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(HDate, ref sYear, ref sPeriod, ref s) == false)
+                {
+                    objJsonResult.Message = s;
+                    return objJsonResult;
+                }
+
                 //淇濆瓨
                 //淇濆瓨瀹屾瘯鍚庡鐞�
                 bool bResult;
@@ -339,7 +350,6 @@
                 }
                 else                                                                    //缂栬緫淇濆瓨
                 {
-                    string s = "";
                     if (BillOld.ShowBill(lsmain[0].HInterID, ref s) == false)
                     {
                         objJsonResult.code = "0";
@@ -531,7 +541,16 @@
                     objJsonResult.data = null;
                     return objJsonResult;
                 }
-
+                //杩涜 浼氳鏈熼棿 缁撹处 鐨勫垽鏂拰鎺у埗
+                string s = "";
+                int sYear = 0;
+                int sPeriod = 0;
+                DateTime HDate = DateTime.Now;
+                if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(HDate, ref sYear, ref sPeriod, ref s) == false)
+                {
+                    objJsonResult.Message = s;
+                    return objJsonResult;
+                }
 
                 //杩涜闇�瑕佽繘琛岀殑瀹℃牳/鍙嶅鏍告搷浣�
                 if (IsAudit == 0) //瀹℃牳鎻愪氦
@@ -568,11 +587,12 @@
                     }
                     //==================================================================================      
 
-
                     //瀹℃牳鎻愪氦
                     oCN.BeginTran();
                     //澧炲姞鍏宠仈
                     oCN.RunProc("exec h_p_Kf_SellOutBill_Check " + HInterID + ",'" + oBill.BillType + "','" + CurUserName + "'");
+                    //瀹℃牳鏇存柊 鍙婃椂搴撳瓨琛� 鍑忓皯搴撳瓨
+                    ds = oCN.RunProcReturn("exec h_KF_UPDateICinventory  '" + HInterID + "','" + oBill.BillType + "','1'", "h_KF_UPDateICinventory");
                     //鍐欏叆鏃ュ織
                     string WorkList = "瀹℃牳鍗曟嵁锛屽崟鎹彿锛�" + oBill.omodel.HBillNo;
                     string SystemName = "LMES-閿�鍞嚭搴撳崟妯″潡";
diff --git a/WebAPI/Controllers/XSGL/Xs_ContractBillController.cs b/WebAPI/Controllers/XSGL/Xs_ContractBillController.cs
new file mode 100644
index 0000000..f77f68d
--- /dev/null
+++ b/WebAPI/Controllers/XSGL/Xs_ContractBillController.cs
@@ -0,0 +1,1258 @@
+锘縰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.Web.Http;
+using WebAPI.Models;
+
+namespace WebAPI.Controllers
+{
+    //閿�鍞悎鍚孋ontroller
+    public class Xs_ContractBillController : ApiController
+    {
+        //鑾峰彇绯荤粺鍙傛暟
+        Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();
+        public DBUtility.ClsPub.Enum_BillStatus BillStatus;
+        public DAL.ClsXs_ContractBill BillOld = new DAL.ClsXs_ContractBill();
+        private json objJsonResult = new json();
+        SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
+        DataSet ds;
+
+
+        #region 鑾峰彇鍚堝悓鍒楄〃
+        [Route("Xs_ContractBill/list")]
+        [HttpGet]
+        public object list(string sWhere, string user)
+        {
+            try
+            {
+                List<object> columnNameList = new List<object>();
+                //鍒ゆ柇鏄惁鏈夋煡璇㈡潈闄�
+
+                if (!DBUtility.ClsPub.Security_Log("Xs_ContractBill", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犳潈闄愭煡鐪�!";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                string sql = "select * from h_v_Xs_ContractBillAllList where 1 = 1 ";
+
+                if (sWhere == "" || sWhere == null)
+                {
+                    ds = oCN.RunProcReturn(sql + " order by hmainid desc", "h_v_Xs_ContractBillAllList");
+                }
+                else
+                {
+                    ds = oCN.RunProcReturn(sql + sWhere + " order by hmainid desc", "h_v_Xs_ContractBillAllList");
+                }
+
+                //鍒ゆ柇鏄惁鏈夐噰璐粡鐞嗘潈闄愶紙瀹夌憺锛�
+                //bool isCgjl = Security_Log("Cg_POOrderBill_PurchasManager", 1, true, user);
+                //if (!isCgjl)
+                //{
+                //    sWhere += $" and HEmpID in (select HEmpID from Gy_Czygl where Czymc='{user}' and HEmpID >0  )";
+                //}
+                //string sql = "select * from h_v_IF_POOrderBillList where 1 = 1 " + sWhere;
+                //ds = oCN.RunProcReturn(sql, "h_v_Xs_ContractBillList");
+
+                foreach (DataColumn col in ds.Tables[0].Columns)
+                {
+                    Type dataType = col.DataType;
+                    string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}";
+                    columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//鑾峰彇鍒癉ataColumn鍒楀璞$殑鍒楀悕
+                }
+
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "Sucess锛�";
+                objJsonResult.data = ds.Tables[0];
+                objJsonResult.list = columnNameList;
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "Exception锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+
+        #endregion
+
+        #region 閲囪喘鍚堝悓 淇濆瓨/缂栬緫鍔熻兘
+        [Route("Xs_ContractBill/ContractBillEdit")]
+        [HttpPost]
+        public object ContractBillEdit([FromBody] JObject sMainSub)
+        {
+            try
+            {
+                var _value = sMainSub["sMainSub"].ToString();
+                string msg1 = _value.ToString();
+                oCN.BeginTran();
+                //淇濆瓨涓昏〃
+                objJsonResult = AddBillMain(msg1);
+                if (objJsonResult.code == "0")
+                {
+                    oCN.RollBack();
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = objJsonResult.Message;
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                oCN.Commit();
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "鍗曟嵁淇濆瓨鎴愬姛锛�";
+                objJsonResult.data = null;
+                return objJsonResult;
+
+            }
+            catch (Exception e)
+            {
+                oCN.RollBack();
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "淇濆瓨澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        /// <summary>
+        /// 鏂板涓庢洿鏂板悎鍚�
+        /// </summary>
+        public json AddBillMain(string msg1)
+        {
+            string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
+            string msg2 = sArray[0].ToString(); //涓昏〃鏁版嵁
+            string msg3 = sArray[1].ToString(); //瀛愯〃鏁版嵁
+            string msg4 = sArray[2].ToString(); //瀛愯〃2鏁版嵁
+            int OperationType = int.Parse(sArray[3].ToString()); // 鏁版嵁绫诲瀷 1娣诲姞 3淇敼
+            string user = sArray[4].ToString();
+            string msg_allVal = sArray[4].ToString(); //涓昏〃+瀛愯〃鎵�鏈夋暟鎹�
+
+            try
+            {
+                msg2 = "[" + msg2.ToString() + "]";
+                List<ClsXs_ContractBillMain> mainList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<ClsXs_ContractBillMain>>(msg2);
+
+                long HInterID = mainList[0].HInterID;//閫掑叆type寰楀埌鐨勫崟鎹甀D
+                string HBillNo = mainList[0].HBillNo;//閫掑叆type寰楀埌鐨勫崟鎹彿
+                DateTime HDate = mainList[0].HDate;//鏃ユ湡
+                string HRemark = mainList[0].HRemark;//澶囨敞
+                long HCusID = mainList[0].HCusID;//瀹㈡埛
+                long HEmpID = mainList[0].HEmpID;//涓氬姟鍛�
+                long HDeptID = mainList[0].HDeptID;//閮ㄩ棬
+                long HCurID = mainList[0].HCurID;//甯佸埆
+                Single HExRate = (float)mainList[0].HExRate;//姹囩巼
+                long HSSID = mainList[0].HSSID;//缁撶畻鏂瑰紡
+                string HContractName = mainList[0].HContractName;//鍚堝悓鍚嶇О
+                DateTime HContractDate = mainList[0].HContractDate;//缁撶畻鏃ユ湡
+
+                string HMaker = user;//鍒跺崟浜�
+                string HAddress = mainList[0].HAddress;//浜よ揣鍦板潃
+                string HExplanation = mainList[0].HExplanation;//鎽樿
+                string HInnerBillNo = mainList[0].HInnerBillNo;//鍐呴儴鍗曟嵁鍙� 
+
+                List<ClsXs_ContractBillMain> mainList2 = Newtonsoft.Json.JsonConvert.DeserializeObject<List<ClsXs_ContractBillMain>>(msg2);
+                DateTime dt = DateTime.Now;
+                long HYear = mainList2[0].HYear == null ? 0 : mainList2[0].HYear;
+                long HPeriod = mainList2[0].HPeriod == null ? 0 : mainList2[0].HPeriod;
+                string HBillType = mainList2[0].HBillType == null ? "''" : mainList2[0].HBillType;
+                string HBillSubType = mainList2[0].HBillSubType == null ? "''" : mainList2[0].HBillSubType;
+                long HBillStatus = mainList2[0].HBillStatus == null ? 0 : mainList2[0].HBillStatus;
+                string HChecker = mainList2[0].HChecker == null ? "''" : mainList2[0].HChecker;
+                string HUpDater = mainList2[0].HUpDater == null ? "''" : mainList2[0].HUpDater;
+                string HCloseMan = mainList2[0].HCloseMan == null ? "''" : mainList2[0].HCloseMan;
+                string HDeleteMan = mainList2[0].HDeleteMan == null ? "''" : mainList2[0].HDeleteMan;
+                string HCheckDate = mainList2[0].HCheckDate == null ? "''" : mainList2[0].HCheckDate;
+                string HMakeDate = mainList2[0].HMakeDate == null ? "''" : mainList2[0].HMakeDate;
+                string HUpDateDate = mainList2[0].HUpDateDate == null ? "''" : mainList2[0].HUpDateDate;
+                string HDeleteDate = mainList2[0].HDeleteDate == null ? "''" : mainList2[0].HDeleteDate;
+
+
+                //杩涜 浼氳鏈熼棿 缁撹处 鐨勫垽鏂拰鎺у埗
+                string s = "";
+                int sYear = 0;
+                int sPeriod = 0;
+                if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(HDate, ref sYear, ref sPeriod, ref s) == false)
+                {
+                    objJsonResult.Message = s;
+                    return objJsonResult;
+                }
+
+                ds = oCN.RunProcReturn("select * from h_v_Xs_ContractBillList where hmainid=" + HInterID + " and 鍗曟嵁鍙�='" + HBillNo + "'", "h_v_Xs_ContractBillList");
+
+                if ((OperationType == 1 || OperationType == 2) && ds.Tables[0].Rows.Count == 0)//鏂板
+                {
+
+                    //淇濆瓨鍓嶆帶鍒�=========================================           
+                    ds = oCN.RunProcReturn("exec h_p_Xs_ContractBill_BeforeSaveCtrl  " + HInterID, "h_p_Xs_ContractBill_BeforeSaveCtrl ");
+                    if (ds == null || ds.Tables[0].Rows.Count == 0)
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "淇濆瓨鍓嶅垽鏂け璐ワ紒";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    if (DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBack"]) != "0")
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "淇濆瓨澶辫触锛�" + DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBackRemark"]);
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    //=========================================================
+                    DataSet Ds;
+                    Int64 NewHInterID = 1;
+                    Ds = oCN.RunProcReturn("select MAX(HInterID)HInterID from Xs_ContractBillMain", "Xs_ContractBillMain");
+                    if (Ds.Tables[0].Rows.Count != 0 && ClsPub.isLong(Ds.Tables[0].Rows[0]["HInterID"].ToString()) != 0)
+                    {
+                        NewHInterID = ClsPub.isLong(Ds.Tables[0].Rows[0]["HInterID"].ToString());
+                        NewHInterID += 1;
+                    }
+                    //涓昏〃
+                    oCN.RunProc(@"Insert Into Xs_ContractBillMain   
+                        (HInterID,HYear,HPeriod,HBillType,HBillSubType,HDate,HBillNo,HBillStatus
+	                    ,HRemark,HPrintQty
+	                    ,HMaker,HMakeDate
+                        ,HContractDate,HContractName,HAddress,HSSID,HCusID,HCurID,HExRate,HEmpID,HDeptID,HExplanation,HInnerBillNo
+                        )
+                        values(" + HInterID + "," + DateTime.Now.Year + "," + DateTime.Now.Month + ",'" + 1400 + "','" +
+                        1400 + "','" + HDate + "','" + HBillNo + "','" + HBillStatus + "','" +
+                        HRemark + "'," + 0 + ",'" +
+                        HMaker + "',getdate(),'" +
+                        HContractDate + "','" + HContractName + "','" + HAddress + "'," + HSSID + "," + HCusID + "," + HCurID + "," + HExRate + "," + HEmpID + "," + HDeptID + ",'" + HExplanation + "','" + HInnerBillNo + "'" +
+                        ")");
+                }
+                else if (OperationType == 3 || ds.Tables[0].Rows.Count != 0)
+                {
+                    //淇敼
+                    DataSet dss;
+                    dss = oCN.RunProcReturn("select * from h_v_Xs_ContractBillList where hmainid=" + HInterID + " and 鍗曟嵁鍙�='" + HBillNo + "'", "h_v_Xs_ContractBillList");
+                    //鍒ゆ柇鏄惁鍙紪杈�
+                    if (dss.Tables[0].Rows[0]["瀹℃牳浜�"].ToString() != "" && dss.Tables[0].Rows[0]["瀹℃牳浜�"] != null)
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "姝ゅ崟鎹凡缁忚瀹℃牳锛屼笉鍏佽淇敼锛�";
+                        objJsonResult.data = 1;
+                        return objJsonResult;
+                    }
+                    oCN.RunProc("update Xs_ContractBillMain  set " +
+                                "HRemark='" + HRemark + "', HUpDater='" + HMaker + "', HUpDateDate=getdate()" +
+                                 ",HSSID=" + HSSID + ",HCusID=" + HCusID + ",HCurID=" + HCurID
+                                 + ",HExRate=" + HExRate + ",HEmpID=" + HEmpID + ",HDeptID=" + HDeptID
+                                 + ",HAddress='" + HAddress + "',HContractName='" + HContractName + "',HContractDate= '" + HContractDate
+                                 + "' where HInterID=" + HInterID);
+
+                    //鍒犻櫎瀛愯〃
+                    oCN.RunProc("delete from Xs_ContractBillSub where HInterID='" + HInterID + "'");
+                    oCN.RunProc("delete from Xs_ContractBillScheme where HInterID='" + HInterID + "'");
+                }
+                //淇濆瓨瀛愯〃
+                objJsonResult = AddBillSubAndScheme(msg3, msg4, HInterID, HBillNo, OperationType);
+
+                if (objJsonResult.code == "0")
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = objJsonResult.Message;
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = null;
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "Exception锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        /// <summary>
+        /// 淇濆瓨椤电
+        /// </summary>
+        /// <param name="msg3">鐗╂枡鏄庣粏</param>
+        /// <param name="msg4">浠樻璁″垝</param>
+        /// <param name="HInterID">鍗曟嵁鍐呯爜</param>
+        /// <param name="OperationType"></param>
+        /// <param name="HBillNo">鍗曟嵁鍙�</param>
+        /// <returns></returns>
+        public json AddBillSubAndScheme(string msg3, string msg4, long HInterID, string HBillNo, int OperationType)
+        {
+            List<ClsXs_ContractBillSub> DetailColl = Newtonsoft.Json.JsonConvert.DeserializeObject<List<ClsXs_ContractBillSub>>(msg3);
+
+            List<ClsXs_ContractBillScheme> SchemeColl = Newtonsoft.Json.JsonConvert.DeserializeObject<List<ClsXs_ContractBillScheme>>(msg4);
+            int i = 0;
+            foreach (ClsXs_ContractBillSub oSub in DetailColl)
+            {
+                i++;
+                if (oSub.HQty <= 0 || oSub.HQty == 0)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "绗�" + i + "琛岋紝鏁伴噺涓嶈兘涓�0鎴栬�呭皬浜�0";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                if (oSub.HMaterID == 0)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "绗�" + i + "琛岋紝鐗╂枡涓嶈兘涓虹┖";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                //if (oSub.HSourceID == 0)
+                //{
+                //    objJsonResult.code = "0";
+                //    objJsonResult.count = 0;
+                //    objJsonResult.Message = "绗�" + i + "琛岋紝鐢熶骇璧勬簮涓嶈兘涓虹┖";
+                //    objJsonResult.data = null;
+                //    return objJsonResult;
+                //}
+
+                if (oSub.HUnitID == 0)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "绗�" + i + "琛岋紝璁¢噺鍗曚綅涓嶈兘涓虹┖";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                DataSet Cs;
+                Int64 NewHEntryID = 1;
+                Cs = oCN.RunProcReturn("select MAX(HEntryID)HEntryID from Xs_ContractBillSub", "Xs_ContractBillSub");
+                if (Cs.Tables[0].Rows.Count != 0 && ClsPub.isLong(Cs.Tables[0].Rows[0]["HEntryID"].ToString()) != 0)
+                {
+                    NewHEntryID = ClsPub.isLong(Cs.Tables[0].Rows[0]["HEntryID"].ToString());
+                    NewHEntryID += 1;
+                }
+
+                oCN.RunProc($@"Insert into Xs_ContractBillSub 
+                (HInterID,HBillNo_bak,HEntryID,HRemark,HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HRelationQty,HRelationMoney,
+                 HMaterID,HUnitID,HQty,HPrice,HMoney,HTaxRate,HTaxMoney,HlineTotal
+	            ) 
+                 values({HInterID},'{HBillNo}',{NewHEntryID},'{oSub.HRemark}',{oSub.HSourceInterID},{oSub.HSourceEntryID},'{oSub.HSourceBillNo}','{oSub.HSourceBillType}',{oSub.HRelationQty},{oSub.HRelationMoney}
+                ,{oSub.HMaterID},{oSub.HUnitID},{oSub.HQty},{oSub.HPrice},{oSub.HMoney},{oSub.HTaxRate},{oSub.HTaxMoney},{oSub.HPrice})");
+            }
+            i = 0;
+            //浠樻璁″垝淇濆瓨
+            foreach (ClsXs_ContractBillScheme oSub in SchemeColl)
+            {
+                i++;
+                DataSet Cs;
+                Int64 NewHEntryID = 1;
+                Cs = oCN.RunProcReturn("select MAX(HEntryID)HEntryID from Xs_ContractBillScheme", "Xs_ContractBillScheme");
+                if (Cs.Tables[0].Rows.Count != 0 && ClsPub.isLong(Cs.Tables[0].Rows[0]["HEntryID"].ToString()) != 0)
+                {
+                    NewHEntryID = ClsPub.isLong(Cs.Tables[0].Rows[0]["HEntryID"].ToString());
+                    NewHEntryID += 1;
+                }
+
+                oCN.RunProc($@"Insert into Xs_ContractBillScheme
+                (HInterID,HBillNo_bak,HEntryID,HRemark,HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HRelationQty,HRelationMoney,
+                 HDate,HMoney,HCurID,HExRate) 
+                 values({HInterID},'{HBillNo}',{NewHEntryID},'{oSub.HRemark}',{oSub.HSourceInterID},{oSub.HSourceEntryID},'{oSub.HSourceBillNo}','{oSub.HSourceBillType}',{oSub.HRelationQty},{oSub.HRelationMoney}
+                ,'{oSub.HDate}',{oSub.HMoney},{oSub.HCurID},{oSub.HExRate})");
+            }
+            //淇濆瓨鍚庢帶鍒�=========================================              
+            ds = oCN.RunProcReturn("exec h_p_Xs_ContractBill_AfterSaveCtrl " + HInterID, "h_p_Cg_POOrderBill_AfterSaveCtrl");
+
+            if (ds == null || ds.Tables[0].Rows.Count == 0)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "淇濆瓨鍚庡垽鏂け璐ワ紒";
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+            if (DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBack"]) != "0")
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "淇濆瓨澶辫触锛�" + DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBackRemark"]);
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+            //=========================================================
+            objJsonResult.code = "1";
+            objJsonResult.count = 1;
+            objJsonResult.Message = null;
+            objJsonResult.data = null;
+            return objJsonResult;
+        }
+        #endregion
+
+        #region 鍒犻櫎
+        /// <summary>
+        ///鍒犻櫎鍔熻兘
+        /// </summary>
+        /// <returns></returns>
+        [Route("Xs_ContractBill/DeltetXs_ContractBill")]
+        [HttpGet]
+        public object DeltetXs_ContractBill(string HInterID, string user)
+        {
+            try
+            {
+
+                string HBillNo = "";
+                //鍒犻櫎鍓嶆帶鍒�=========================================      
+                string sql1 = "exec h_p_Xs_ContractBill_BeforeDelCtrl " + HInterID + ",'" + HBillNo + "','" + user + "'";
+                ds = oCN.RunProcReturn(sql1, "h_p_Xs_ContractBill_BeforeDelCtrl");
+                if (ds == null || ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "鍒犻櫎澶辫触!鍘熷洜:鍒犻櫎鍓嶅垽鏂け璐ワ紝璇蜂笌缃戠粶绠$悊浜哄憳鑱旂郴";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                if (ds.Tables[0].Rows[0]["HBack"].ToString() != "0")
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "鍒犻櫎澶辫触!鍘熷洜:" + ds.Tables[0].Rows[0]["HRemark"].ToString(); ;
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                //==================================================================================  
+                //杩涜 浼氳鏈熼棿 缁撹处 鐨勫垽鏂拰鎺у埗
+                string s = "";
+                int sYear = 0;
+                int sPeriod = 0;
+                DateTime HDate = DateTime.Now;
+                if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(HDate, ref sYear, ref sPeriod, ref s) == false)
+                {
+                    objJsonResult.Message = s;
+                    return objJsonResult;
+                }
+                string sReturn = "";
+                oCN.BeginTran();
+                oCN.RunProc("Delete From Xs_ContractBillMain where HInterID = " + HInterID);
+                oCN.RunProc("Delete From Xs_ContractBillSub where HInterID = " + HInterID);
+                oCN.RunProc("Delete From Xs_ContractBillScheme where HInterID = " + HInterID);
+                oCN.Commit();
+
+                //鍒犻櫎鍚庢帶鍒�==================================================================================
+                string sql2 = "exec h_p_Xs_ContractBill_AfterDelCtrl " + HInterID + ",'" + HBillNo + "','" + user + "'";
+                ds = oCN.RunProcReturn(sql2, "h_p_Xs_ContractBill_AfterDelCtrl");
+                if (ds == null || ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0)
+                {
+                    sReturn = "鍒犻櫎鍚庡垽鏂け璐ワ紝璇蜂笌缃戠粶绠$悊浜哄憳鑱旂郴";
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "鍒犻櫎澶辫触!鍘熷洜:" + sReturn;
+                    objJsonResult.data = null;
+                    oCN.RollBack();
+                    return objJsonResult;
+                }
+                if (ds.Tables[0].Rows[0]["HBack"].ToString() != "0")
+                {
+                    sReturn = ds.Tables[0].Rows[0]["HRemark"].ToString();
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "鍒犻櫎澶辫触!鍘熷洜:" + sReturn;
+                    objJsonResult.data = null;
+                    oCN.RollBack();
+                    return objJsonResult;
+                }
+                //==============================================================================================
+
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "鍒犻櫎鎴愬姛锛�";
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                oCN.RollBack();
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "Exception锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 鏍规嵁鍩虹璧勬枡ID 鏌ユ壘璁板綍(鍔犺浇琛ㄧ敤)
+        /// <summary>
+        /// 鏍规嵁鍩虹璧勬枡ID 鏌ユ壘璁板綍
+        ///鍙傛暟锛歴tring sql銆�
+        ///杩斿洖鍊硷細object銆�
+        /// </summary>
+        [Route("Xs_ContractBill/cx")]
+        [HttpGet]
+        public object cx(long HInterID)
+        {
+            try
+            {
+
+                ds = oCN.RunProcReturn("select * from h_v_Xs_ContractBillAllList where hmainid =" + HInterID, "h_v_Xs_ContractBillAllList");
+                if (ds == null || ds.Tables[0].Rows.Count == 0)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "false锛�";
+                    objJsonResult.data = null;
+                    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;
+            }
+        }
+        #endregion
+
+
+        #region 鏍规嵁鐗╂枡鍐呯爜鑾峰彇鐗╂枡淇℃伅
+        [Route("Xs_ContractBill/getMaterialByMaterID")]
+        [HttpGet]
+        public ApiResult<DataTable> getMaterialByMaterID(Int64 HMaterID)
+        {
+            SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
+
+            string sql = "select a.HItemID HMaterID,a.HNumber HMaterNumber,a.HName HMaterName,a.HMaterRuleType,a.HModel HMaterModel,a.HUnitID, b.HNumber HUnitNumber, b.HName HUnitName" +
+                " from Gy_Material AS a " +
+                " LEFT OUTER JOIN Gy_Unit AS b on a.HUnitID = b.HItemID " +
+                " where a.HItemID =" + HMaterID;
+
+            var dataSet = oCN.RunProcReturn(sql, "Gy_Material");
+
+
+            if (dataSet == null || dataSet.Tables[0].Rows.Count == 0)
+                return new ApiResult<DataTable> { code = -1, msg = "涓嶅瓨鍦ㄨ鐗╂枡" };
+
+            return new ApiResult<DataTable> { code = 1, msg = "鏌ヨ鎴愬姛", data = dataSet.Tables[0] };
+        }
+        #endregion
+
+        #region 閿�鍞悎鍚� 瀹℃牳/鍙嶅鏍�
+        /// <summary>
+        /// </summary>
+        /// <param name="HInterID">鍗曟嵁ID</param>
+        /// <param name="IsAudit">瀹℃牳(0),鍙嶅鏍�(1)</param>
+        /// <param name="CurUserName">瀹℃牳浜�</param>
+        /// <returns></returns>
+        [Route("Xs_ContractBill/AuditXs_ContractBill")]
+        [HttpGet]
+        public object AuditXs_ContractBill(int HInterID, int IsAudit, string CurUserName)
+        {
+            string ModRightNameCheck = "Xs_ContractBill_Check";
+            DBUtility.ClsPub.CurUserName = CurUserName;
+            try
+            {
+                //瀹℃牳鏉冮檺
+                if (!DBUtility.ClsPub.Security_Log_second(ModRightNameCheck, 1, false, CurUserName))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "瀹℃牳澶辫触锛佹棤鏉冮檺锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                //HInterID鏁版嵁鍒ゆ柇
+                if (HInterID <= 0)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "HInterID灏忎簬0锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+
+                Int64 lngBillKey = 0;
+                lngBillKey = DBUtility.ClsPub.isLong(HInterID);                                         //瀵笻InterID杩涜绫诲瀷鐨勮浆鎹�
+                DAL.ClsXs_ContractBill oBill = new DAL.ClsXs_ContractBill();                              //瀹炰緥鍖栧崟鎹搷浣滅被锛岀敤浜庤繘琛岀浉鍏虫搷浣�
+
+                //閽堝闇�瑕佽繘琛岀殑鎿嶄綔锛屾楠屽綋鍓嶅崟鎹殑鐘舵�佹槸鍚︽敮鎸侀渶瑕佽繘琛岀殑鎿嶄綔
+                if (oBill.ShowBill(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo))                    //鏍规嵁HInterID鑾峰彇璇ュ崟鎹殑鏁版嵁
+                {
+                    if (oBill.omodel.HCloseMan.Trim() != "")
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鍗曟嵁宸插叧闂�!涓嶈兘鍐嶆瀹℃牳锛�";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    if (oBill.omodel.HDeleteMan.Trim() != "")
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鍗曟嵁宸蹭綔搴�!涓嶈兘鍐嶆瀹℃牳锛�";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    if (IsAudit == 0)  //瀹℃牳鍒ゆ柇
+                    {
+                        if (oBill.omodel.HChecker.Trim() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插鏍�!涓嶈兘鍐嶆瀹℃牳锛�";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                    if (IsAudit == 1) //鍙嶅鏍稿垽鏂�
+                    {
+                        if (oBill.omodel.HChecker.Trim() == "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁鏈鏍�!涓嶉渶瑕佸弽瀹℃牳!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                }
+                else
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鍗曟嵁涓嶅瓨鍦�!鍘熷洜:" + DBUtility.ClsPub.sExeReturnInfo;
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+
+                //杩涜闇�瑕佽繘琛岀殑瀹℃牳/鍙嶅鏍告搷浣�
+                if (IsAudit == 0) //瀹℃牳鎻愪氦
+                {
+
+                    //瀹℃牳鍓嶆帶鍒�=========================================      
+                    string sql1 = "exec h_p_Xs_ContractBill_BeforeCheckCtrl " + oBill.omodel.HInterID + ",'" + oBill.omodel.HBillNo + "','" + CurUserName + "'";
+                    ds = oCN.RunProcReturn(sql1, "h_p_Xs_ContractBill_BeforeCheckCtrl");
+                    if (ds == null || ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0)
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 1;
+                        objJsonResult.Message = "瀹℃牳澶辫触!鍘熷洜:瀹℃牳鍓嶅垽鏂け璐ワ紝璇蜂笌缃戠粶绠$悊浜哄憳鑱旂郴";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+
+                    if (ds.Tables[0].Rows[0]["HBack"].ToString() != "0")
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 1;
+                        objJsonResult.Message = "瀹℃牳澶辫触!鍘熷洜:" + ds.Tables[0].Rows[0]["HRemark"].ToString(); ;
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    //==================================================================================      
+
+                    //瀹℃牳鎻愪氦
+                    if (oBill.CheckBill(oBill.omodel.HInterID, oBill.omodel.HBillNo, "h_p_Xs_ContractBill_AfterCheckCtrl", CurUserName, ref DBUtility.ClsPub.sExeReturnInfo) == true)
+                    {
+                        objJsonResult.code = "1";
+                        objJsonResult.count = 1;
+                        objJsonResult.Message = "瀹℃牳鎴愬姛";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    else
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "瀹℃牳澶辫触!鍘熷洜:" + DBUtility.ClsPub.sExeReturnInfo;
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                }
+                if (IsAudit == 1) //鍙嶅鏍告彁浜�
+                {
+                    //鍙嶅鏍稿墠鎺у埗=========================================
+                    DataSet ds = oCN.RunProcReturn("Exec h_p_Xs_ContractBill_BeforeUnCheckCtrl " + oBill.omodel.HInterID + ",'" + oBill.omodel.HBillNo + "','" + CurUserName + "'", "h_p_Xs_ContractBill_BeforeUnCheckCtrl");
+                    if (ds == null)
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鍙嶅鏍稿け璐�!鍘熷洜:" + "鍙嶅鏍稿墠鍒ゆ柇澶辫触锛�";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    if (DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBack"]) != "0")
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鍙嶅鏍稿け璐�!鍘熷洜:" + DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBackRemark"]);
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    //=========================================================
+
+                    //鍙嶅鏍告彁浜bandonCheck
+                    if (oBill.AbandonCheck(oBill.omodel.HInterID, oBill.omodel.HBillNo, "h_p_Xs_ContractBill_AfterUnCheckCtrl", CurUserName, ref DBUtility.ClsPub.sExeReturnInfo) == true)
+                    {
+                        objJsonResult.code = "1";
+                        objJsonResult.count = 1;
+                        objJsonResult.Message = "鍙嶅鏍告垚鍔�";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    else
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鍙嶅鏍稿け璐�!鍘熷洜:" + DBUtility.ClsPub.sExeReturnInfo;
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                }
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "瀹℃牳澶辫触鎴栬�呭弽瀹℃牳澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 閿�鍞悎鍚� 鍏抽棴/鍙嶅叧闂姛鑳�
+        [Route("Xs_ContractBill/CloseXs_ContractBill")]
+        [HttpGet]
+        public object CloseXs_ContractBill(string HInterID, int Type, string user)
+        {
+            try
+            {
+                //鍒ゆ柇鏄惁鏈夊垹闄ゆ潈闄�
+                if (!DBUtility.ClsPub.Security_Log("Xs_ContractBill_Close", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犳潈闄愬叧闂�!";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                if (string.IsNullOrWhiteSpace(HInterID))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "HInterID涓虹┖锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                ClsPub.CurUserName = user;
+                BillOld.MvarItemKey = "Xs_ContractBillMain";
+                oCN.BeginTran();//寮�濮嬩簨鍔�
+
+                //Type 1 鍏抽棴  2  鍙嶅叧闂�
+                if (Type == 1)
+                {
+                    //鍒ゆ柇鍗曟嵁鏄惁宸茬粡鍏抽棴
+                    DataSet ds;
+                    string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
+                    if (ds == null || ds.Tables[0].Rows.Count == 0)
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鍗曟嵁涓嶅瓨鍦紒";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HDeleteMan"] != null && ds.Tables[0].Rows[0]["HDeleteMan"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸蹭綔搴�!涓嶈兘杩涜鍏抽棴!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        if (ds.Tables[0].Rows[0]["HChecker"] == null || ds.Tables[0].Rows[0]["HChecker"].ToString() == "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁鏈鏍�!涓嶈兘杩涜鍏抽棴!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+
+                        if (ds.Tables[0].Rows[0]["HCloseMan"] != null && ds.Tables[0].Rows[0]["HCloseMan"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插叧闂�!涓嶈兘鍐嶆鍏抽棴!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        //鍏抽棴鍗曟嵁
+                        if (!BillOld.CloseBill(Int64.Parse(HInterID), ref ClsPub.sExeReturnInfo))
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 1;
+                            objJsonResult.Message = "鍏抽棴澶辫触!鍘熷洜:" + ClsPub.sExeReturnInfo;
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                }
+                else
+                {
+                    //鍒ゆ柇鍗曟嵁鏄惁宸茬粡鍙嶅叧闂�
+                    DataSet ds;
+                    string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HDeleteMan"] != null && ds.Tables[0].Rows[0]["HDeleteMan"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸蹭綔搴�!涓嶈兘杩涜鍏抽棴!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        if (ds.Tables[0].Rows[0]["HChecker"] == null || ds.Tables[0].Rows[0]["HChecker"].ToString() == "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁鏈鏍�!涓嶈兘杩涜鍏抽棴!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        if (ds.Tables[0].Rows[0]["HCloseMan"] == null || ds.Tables[0].Rows[0]["HCloseMan"].ToString() == "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁鏈叧闂�!涓嶉渶瑕佸啀鍙嶅叧闂�!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        //鍙嶅叧闂崟鎹�
+                        if (!BillOld.CancelClose(Int64.Parse(HInterID), ref ClsPub.sExeReturnInfo))
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 1;
+                            objJsonResult.Message = "鍙嶅叧闂け璐�!鍘熷洜:" + ClsPub.sExeReturnInfo;
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                }
+
+                oCN.Commit();//鎻愪氦浜嬪姟
+
+                objJsonResult.code = "0";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "鎵ц鎴愬姛锛�";
+                objJsonResult.data = null;
+                return objJsonResult; ;
+
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "鎵ц澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 閿�鍞悎鍚� 琛屽叧闂�/琛屽弽鍏抽棴锛堟湭瀹屽杽锛�
+        /// <summary>
+        /// </summary>
+        /// <param name="HInterID">鍗曟嵁ID</param>
+        /// <param name="HEntryID2">瀛愬唴鐮佷粯娆捐鍒�</param>
+        /// <param name="HEntryID">瀛愬唴鐮佺墿鏂欐槑缁�</param>
+        /// <param name="IsAudit">鍏抽棴(0),鍙嶅叧闂�(1)</param>
+        /// <param name="CurUserName">鍏抽棴浜�</param>
+        /// <returns></returns>
+        //[Route("Xs_ContractBill/CloseRowXs_ContractBill")]
+        //[HttpGet]
+        //public object CloseRowXs_ContractBill(int HInterID, int HEntryID, int HEntryID2, int IsAudit, string CurUserName)
+        //{
+        //    string ModRightNameCheck = "Xs_ContractBill_Close";
+        //    string SubBillName = "Xs_ContractBillSub";
+        //    string SchemeBillName = "Xs_ContractBillScheme";   //瀛愯〃琛ㄥ悕
+        //    DBUtility.ClsPub.CurUserName = CurUserName;
+        //    DataSet ds = null;
+        //    try
+        //    {
+        //        //妫�鏌ユ潈闄�
+        //        if (!DBUtility.ClsPub.Security_Log_second(ModRightNameCheck, 1, false, CurUserName))
+        //        {
+        //            objJsonResult.code = "0";
+        //            objJsonResult.count = 0;
+        //            objJsonResult.Message = "琛屽叧闂け璐ワ紒鏃犳潈闄愶紒";
+        //            objJsonResult.data = null;
+        //            return objJsonResult;
+        //        }
+        //        //HInterID鏁版嵁鍒ゆ柇
+        //        if (HInterID <= 0)
+        //        {
+        //            objJsonResult.code = "0";
+        //            objJsonResult.count = 0;
+        //            objJsonResult.Message = "HInterID灏忎簬0锛�";
+        //            objJsonResult.data = null;
+        //            return objJsonResult;
+        //        }
+
+        //        Int64 lngBillKey = 0;
+        //        lngBillKey = DBUtility.ClsPub.isLong(HInterID);                                         //瀵笻InterID杩涜绫诲瀷鐨勮浆鎹�
+        //        DAL.ClsXs_ContractBill oBill = new DAL.ClsXs_ContractBill();              //瀹炰緥鍖栧崟鎹搷浣滅被锛岀敤浜庤繘琛岀浉鍏虫搷浣�
+
+        //        //閽堝闇�瑕佽繘琛岀殑鎿嶄綔锛屾楠屽綋鍓嶅崟鎹殑鐘舵�佹槸鍚︽敮鎸侀渶瑕佽繘琛岀殑鎿嶄綔
+        //        if (oBill.ShowBill(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo))                    //鏍规嵁HInterID鑾峰彇璇ュ崟鎹殑鏁版嵁
+        //        {
+        //            //鍒ゆ柇鍗曟嵁鏉′欢
+        //            if (oBill.omodel.HDeleteMan.Trim() != "")
+        //            {
+        //                objJsonResult.code = "0";
+        //                objJsonResult.count = 0;
+        //                objJsonResult.Message = "鍗曟嵁宸蹭綔搴�!涓嶈兘杩涜琛屽叧闂紒";
+        //                objJsonResult.data = null;
+        //                return objJsonResult;
+        //            }
+        //            if (oBill.omodel.HCloseMan.Trim() != "")
+        //            {
+        //                objJsonResult.code = "0";
+        //                objJsonResult.count = 0;
+        //                objJsonResult.Message = "鍗曟嵁宸插叧闂�!涓嶈兘杩涜琛屽叧闂紒";
+        //                objJsonResult.data = null;
+        //                return objJsonResult;
+        //            }
+        //            if (oBill.omodel.HChecker.Trim() == "")
+        //            {
+        //                objJsonResult.code = "0";
+        //                objJsonResult.count = 0;
+        //                objJsonResult.Message = "鍗曟嵁鏈鏍�!涓嶈兘杩涜琛屽叧闂紒";
+        //                objJsonResult.data = null;
+        //                return objJsonResult;
+        //            }
+        //            //鍒ゆ柇鐗╂枡鏄庣粏琛ㄦ潯浠�
+        //            string sql = "select * from " + SubBillName + " where HInterID = " + HInterID + " and HEntryID = " + HEntryID;
+        //            ds = oCN.RunProcReturn(sql, "Xs_ContractBillSub");
+        //            if (ds == null || ds.Tables[0].Rows.Count == 0)
+        //            {
+        //                objJsonResult.code = "0";
+        //                objJsonResult.count = 0;
+        //                objJsonResult.Message = "璇ョ墿鏂欒鏁版嵁涓嶅瓨鍦�!鍘熷洜:" + DBUtility.ClsPub.sExeReturnInfo;
+        //                objJsonResult.data = null;
+        //                return objJsonResult;
+        //            }
+        //            if (IsAudit == 0)  //琛屽叧闂垽鏂�
+        //            {
+        //                if (ds.Tables[0].Rows[0]["HCloseMan"].ToString().Trim() != "")
+        //                {
+        //                    objJsonResult.code = "0";
+        //                    objJsonResult.count = 0;
+        //                    objJsonResult.Message = "鐗╂枡琛屽凡鍏抽棴!涓嶈兘鍐嶆琛屽叧闂紒";
+        //                    objJsonResult.data = null;
+        //                    return objJsonResult;
+        //                }
+        //            }
+        //            if (IsAudit == 1) //琛屽弽鍏抽棴鍒ゆ柇
+        //            {
+        //                if (ds.Tables[0].Rows[0]["HCloseMan"].ToString().Trim() == "")
+        //                {
+        //                    objJsonResult.code = "0";
+        //                    objJsonResult.count = 0;
+        //                    objJsonResult.Message = "鐗╂枡琛屾湭鍏抽棴!涓嶉渶瑕佸啀琛屽弽鍏抽棴锛�";
+        //                    objJsonResult.data = null;
+        //                    return objJsonResult;
+        //                }
+
+        //                //鍒ゆ柇琛屾槸鍚︿负鑷姩鍏抽棴
+        //                string temp = ds.Tables[0].Rows[0]["HCloseType"].ToString();
+        //                if (ds.Tables[0].Rows[0]["HCloseType"].ToString() == "False")
+        //                {
+        //                    objJsonResult.code = "0";
+        //                    objJsonResult.count = 0;
+        //                    objJsonResult.Message = "鐗╂枡琛屽弽鍏抽棴澶辫触!琛屼负鑷姩鍏抽棴锛屼笉鑳借繘琛屾墜鍔ㄥ弽鍏抽棴锛�";
+        //                    objJsonResult.data = null;
+        //                    return objJsonResult;
+        //                }
+        //            }
+        //            //鍒ゆ柇浠樻璁″垝琛ㄦ潯浠�
+        //            sql = "select * from " + SchemeBillName + " where HInterID = " + HInterID + " and HEntryID = " + HEntryID2;
+        //            ds = oCN.RunProcReturn(sql, "Xs_ContractBillScheme");
+        //            if (ds == null || ds.Tables[0].Rows.Count == 0)
+        //            {
+        //                objJsonResult.code = "0";
+        //                objJsonResult.count = 0;
+        //                objJsonResult.Message = "璇ヨ鍒掕鏁版嵁涓嶅瓨鍦�!鍘熷洜:" + DBUtility.ClsPub.sExeReturnInfo;
+        //                objJsonResult.data = null;
+        //                return objJsonResult;
+        //            }
+        //            if (IsAudit == 0)  //琛屽叧闂垽鏂�
+        //            {
+        //                if (ds.Tables[0].Rows[0]["HCloseMan"].ToString().Trim() != "")
+        //                {
+        //                    objJsonResult.code = "0";
+        //                    objJsonResult.count = 0;
+        //                    objJsonResult.Message = "璁″垝琛屽凡鍏抽棴!涓嶈兘鍐嶆琛屽叧闂紒";
+        //                    objJsonResult.data = null;
+        //                    return objJsonResult;
+        //                }
+        //            }
+        //            if (IsAudit == 1) //琛屽弽鍏抽棴鍒ゆ柇
+        //            {
+        //                if (ds.Tables[0].Rows[0]["HCloseMan"].ToString().Trim() == "")
+        //                {
+        //                    objJsonResult.code = "0";
+        //                    objJsonResult.count = 0;
+        //                    objJsonResult.Message = "璁″垝琛屾湭鍏抽棴!涓嶉渶瑕佸啀琛屽弽鍏抽棴锛�";
+        //                    objJsonResult.data = null;
+        //                    return objJsonResult;
+        //                }
+
+        //                //鍒ゆ柇琛屾槸鍚︿负鑷姩鍏抽棴
+        //                string temp = ds.Tables[0].Rows[0]["HCloseType"].ToString();
+        //                if (ds.Tables[0].Rows[0]["HCloseType"].ToString() == "False")
+        //                {
+        //                    objJsonResult.code = "0";
+        //                    objJsonResult.count = 0;
+        //                    objJsonResult.Message = "璁″垝琛屽弽鍏抽棴澶辫触!琛屼负鑷姩鍏抽棴锛屼笉鑳借繘琛屾墜鍔ㄥ弽鍏抽棴锛�";
+        //                    objJsonResult.data = null;
+        //                    return objJsonResult;
+        //                }
+        //            }
+        //        }
+        //        else
+        //        {
+        //            objJsonResult.code = "0";
+        //            objJsonResult.count = 0;
+        //            objJsonResult.Message = "鍗曟嵁涓嶅瓨鍦�!鍘熷洜:" + DBUtility.ClsPub.sExeReturnInfo;
+        //            objJsonResult.data = null;
+        //            return objJsonResult;
+        //        }
+
+        //        oCN.BeginTran();//寮�鍚簨鍔�
+        //        //杩涜闇�瑕佽繘琛岀殑琛屽叧闂�/琛屽弽鍏抽棴鎿嶄綔
+        //        if (IsAudit == 0) //琛屽叧闂彁浜�
+        //        {
+        //            //琛屽叧闂彁浜�
+        //            if (oBill.CloseRow(lngBillKey, HEntryID, HEntryID2, oBill.omodel.HBillNo, CurUserName, ref DBUtility.ClsPub.sExeReturnInfo) == true)
+        //            {
+        //                objJsonResult.code = "1";
+        //                objJsonResult.count = 1;
+        //                objJsonResult.Message = "琛屽叧闂垚鍔�";
+        //                objJsonResult.data = null;
+        //                return objJsonResult;
+        //            }
+        //            else
+        //            {
+        //                objJsonResult.code = "0";
+        //                objJsonResult.count = 0;
+        //                objJsonResult.Message = "琛屽叧闂け璐�!鍘熷洜:" + DBUtility.ClsPub.sExeReturnInfo;
+        //                objJsonResult.data = null;
+        //                return objJsonResult;
+        //            }
+        //        }
+        //        if (IsAudit == 1) //琛屽弽鍏抽棴鎻愪氦
+        //        {
+        //            //琛屽弽鍏抽棴鎻愪氦
+        //            if (oBill.CancelRow(lngBillKey, HEntryID, HEntryID2, oBill.omodel.HBillNo, CurUserName, ref DBUtility.ClsPub.sExeReturnInfo) == true)
+        //            {
+        //                objJsonResult.code = "1";
+        //                objJsonResult.count = 1;
+        //                objJsonResult.Message = "鍙嶅叧闂垚鍔�";
+        //                objJsonResult.data = null;
+        //                return objJsonResult;
+        //            }
+        //            else
+        //            {
+        //                objJsonResult.code = "0";
+        //                objJsonResult.count = 0;
+        //                objJsonResult.Message = "鍙嶅叧闂け璐�!鍘熷洜:" + DBUtility.ClsPub.sExeReturnInfo;
+        //                objJsonResult.data = null;
+        //                return objJsonResult;
+        //            }
+        //        }
+        //        oCN.Commit();
+        //        return objJsonResult;
+        //    }
+        //    catch (Exception e)
+        //    {
+        //        objJsonResult.code = "0";
+        //        objJsonResult.count = 0;
+        //        objJsonResult.Message = "鍏抽棴澶辫触鎴栬�呭弽鍏抽棴澶辫触锛�" + e.ToString();
+        //        objJsonResult.data = null;
+        //        return objJsonResult;
+        //    }
+        //}
+        #endregion
+
+        #region 閿�鍞悎鍚� 浣滃簾/鍙嶄綔搴熷姛鑳�
+        [Route("Xs_ContractBill/DropXs_ContractBill")]
+        [HttpGet]
+        public object DropXs_ContractBill(string HInterID, int Type, string user)
+        {
+            try
+            {
+                //鍒ゆ柇鏄惁鏈変綔搴熸潈闄�
+                if (!DBUtility.ClsPub.Security_Log("Xs_ContractBill_Drop", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犳潈闄愪綔搴�!";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                if (string.IsNullOrWhiteSpace(HInterID))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "HInterID涓虹┖锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                ClsPub.CurUserName = user;
+                BillOld.MvarItemKey = "Xs_ContractBillMain";
+                oCN.BeginTran();//寮�濮嬩簨鍔�
+
+                //Type 1 浣滃簾  2  鍙嶄綔搴�
+                if (Type == 1)
+                {
+                    //鍒ゆ柇鍗曟嵁鏄惁宸茬粡浣滃簾
+                    DataSet ds;
+                    string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
+                    if (ds == null || ds.Tables[0].Rows.Count == 0)
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鍗曟嵁涓嶅瓨鍦紒";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HChecker"] != null && ds.Tables[0].Rows[0]["HChecker"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插鏍�!涓嶈兘杩涜浣滃簾!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        if (ds.Tables[0].Rows[0]["HDeleteMan"] != null && ds.Tables[0].Rows[0]["HDeleteMan"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸蹭綔搴�!涓嶉渶瑕佸啀浣滃簾!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        //浣滃簾鍗曟嵁
+                        if (!BillOld.Cancelltion(Int64.Parse(HInterID), ref ClsPub.sExeReturnInfo))
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 1;
+                            objJsonResult.Message = "浣滃簾澶辫触!鍘熷洜:" + ClsPub.sExeReturnInfo;
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                }
+                else
+                {
+                    //鍒ゆ柇鍗曟嵁鏄惁宸茬粡鍙嶄綔搴�
+                    DataSet ds;
+                    string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HChecker"] != null && ds.Tables[0].Rows[0]["HChecker"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插鏍�!涓嶈兘杩涜浣滃簾!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        if (ds.Tables[0].Rows[0]["HDeleteMan"] == null || ds.Tables[0].Rows[0]["HDeleteMan"].ToString() == "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁鏈綔搴�!涓嶉渶瑕佸啀鍙嶄綔搴�!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        //鍙嶄綔搴熷崟鎹�
+                        if (!BillOld.AbandonCancelltion(Int64.Parse(HInterID), ref ClsPub.sExeReturnInfo))
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 1;
+                            objJsonResult.Message = "鍙嶄綔搴熷け璐�!鍘熷洜:" + ClsPub.sExeReturnInfo;
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                }
+
+                oCN.Commit();//鎻愪氦浜嬪姟
+
+                objJsonResult.code = "0";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "鎵ц鎴愬姛锛�";
+                objJsonResult.data = null;
+                return objJsonResult; ;
+
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "鎵ц澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+    }
+}
diff --git a/WebAPI/Controllers/XSGL/Xs_CusRatingChangeBillController.cs b/WebAPI/Controllers/XSGL/Xs_CusRatingChangeBillController.cs
index 28a49b0..55c89b0 100644
--- a/WebAPI/Controllers/XSGL/Xs_CusRatingChangeBillController.cs
+++ b/WebAPI/Controllers/XSGL/Xs_CusRatingChangeBillController.cs
@@ -217,7 +217,15 @@
 
                 }
 
-
+                //杩涜 浼氳鏈熼棿 缁撹处 鐨勫垽鏂拰鎺у埗
+                int sYear = 0;
+                int sPeriod = 0;
+                DateTime HDate = DateTime.Now;
+                if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(HDate, ref sYear, ref sPeriod, ref s) == false)
+                {
+                    objJsonResult.Message = s;
+                    return objJsonResult;
+                }
 
                 //淇濆瓨
                 //淇濆瓨瀹屾瘯鍚庡鐞�
@@ -349,6 +357,15 @@
                     objJsonResult.data = 1;
                     return objJsonResult;
                 }
+                //杩涜 浼氳鏈熼棿 缁撹处 鐨勫垽鏂拰鎺у埗
+                int sYear = 0;
+                int sPeriod = 0;
+                DateTime HDate = DateTime.Now;
+                if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(HDate, ref sYear, ref sPeriod, ref s) == false)
+                {
+                    objJsonResult.Message = s;
+                    return objJsonResult;
+                }
 
                 oCN.BeginTran();
 
@@ -468,8 +485,17 @@
                 //杩涜闇�瑕佽繘琛岀殑瀹℃牳/鍙嶅鏍告搷浣�
                 if (IsAudit == 0) //瀹℃牳鎻愪氦
                 {
-                    
-                    
+                    //杩涜 浼氳鏈熼棿 缁撹处 鐨勫垽鏂拰鎺у埗
+                    string s = "";
+                    int sYear = 0;
+                    int sPeriod = 0;
+                    DateTime HDate = DateTime.Now;
+                    if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(HDate, ref sYear, ref sPeriod, ref s) == false)
+                    {
+                        objJsonResult.Message = s;
+                        return objJsonResult;
+                    }
+
                     //瀹℃牳鎻愪氦
                     if (oBill.CheckBill(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo) == true)
                     {
@@ -497,6 +523,17 @@
                 }
                 if (IsAudit == 1) //鍙嶅鏍告彁浜�
                 {
+                    //杩涜 浼氳鏈熼棿 缁撹处 鐨勫垽鏂拰鎺у埗
+                    string s = "";
+                    int sYear = 0;
+                    int sPeriod = 0;
+                    DateTime HDate = DateTime.Now;
+                    if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(HDate, ref sYear, ref sPeriod, ref s) == false)
+                    {
+                        objJsonResult.Message = s;
+                        return objJsonResult;
+                    }
+
                     //鍙嶅鏍告彁浜bandonCheck
                     if (oBill.AbandonCheck(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo) == true)
                     {
diff --git a/WebAPI/Controllers/XSGL/Xs_ExceptiveCheckRequestBillController.cs b/WebAPI/Controllers/XSGL/Xs_ExceptiveCheckRequestBillController.cs
index a7f810f..96cff0d 100644
--- a/WebAPI/Controllers/XSGL/Xs_ExceptiveCheckRequestBillController.cs
+++ b/WebAPI/Controllers/XSGL/Xs_ExceptiveCheckRequestBillController.cs
@@ -217,7 +217,15 @@
 
                 }
 
-
+                //杩涜 浼氳鏈熼棿 缁撹处 鐨勫垽鏂拰鎺у埗
+                int sYear = 0;
+                int sPeriod = 0;
+                DateTime HDate = DateTime.Now;
+                if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(HDate, ref sYear, ref sPeriod, ref s) == false)
+                {
+                    objJsonResult.Message = s;
+                    return objJsonResult;
+                }
 
                 //淇濆瓨
                 //淇濆瓨瀹屾瘯鍚庡鐞�
@@ -350,6 +358,16 @@
                     return objJsonResult;
                 }
 
+                //杩涜 浼氳鏈熼棿 缁撹处 鐨勫垽鏂拰鎺у埗
+                int sYear = 0;
+                int sPeriod = 0;
+                DateTime HDate = DateTime.Now;
+                if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(HDate, ref sYear, ref sPeriod, ref s) == false)
+                {
+                    objJsonResult.Message = s;
+                    return objJsonResult;
+                }
+
                 oCN.BeginTran();
 
                 oCN.RunProc("delete from Xs_ExceptiveCheckRequestBillMain where HInterID = " + HInterID);
@@ -468,6 +486,17 @@
                 //杩涜闇�瑕佽繘琛岀殑瀹℃牳/鍙嶅鏍告搷浣�
                 if (IsAudit == 0) //瀹℃牳鎻愪氦
                 {
+                    //杩涜 浼氳鏈熼棿 缁撹处 鐨勫垽鏂拰鎺у埗
+                    string s = "";
+                    int sYear = 0;
+                    int sPeriod = 0;
+                    DateTime HDate = DateTime.Now;
+                    if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(HDate, ref sYear, ref sPeriod, ref s) == false)
+                    {
+                        objJsonResult.Message = s;
+                        return objJsonResult;
+                    }
+
                     oCN.BeginTran();
 
                     //妫�楠屾簮鍗曟槸鍚﹀瓨鍦�
@@ -566,6 +595,18 @@
                 }
                 if (IsAudit == 1) //鍙嶅鏍告彁浜�
                 {
+
+                    //杩涜 浼氳鏈熼棿 缁撹处 鐨勫垽鏂拰鎺у埗
+                    string s = "";
+                    int sYear = 0;
+                    int sPeriod = 0;
+                    DateTime HDate = DateTime.Now;
+                    if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(HDate, ref sYear, ref sPeriod, ref s) == false)
+                    {
+                        objJsonResult.Message = s;
+                        return objJsonResult;
+                    }
+
                     //鍙嶅鏍告彁浜bandonCheck
                     if (oBill.AbandonCheck(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo) == true)
                     {
diff --git a/WebAPI/Controllers/XSGL/Xs_OutDoorCheckBillController.cs b/WebAPI/Controllers/XSGL/Xs_OutDoorCheckBillController.cs
index 4772373..5290013 100644
--- a/WebAPI/Controllers/XSGL/Xs_OutDoorCheckBillController.cs
+++ b/WebAPI/Controllers/XSGL/Xs_OutDoorCheckBillController.cs
@@ -126,6 +126,18 @@
                             return objJsonResult;
                         }
                     }
+
+                    //杩涜 浼氳鏈熼棿 缁撹处 鐨勫垽鏂拰鎺у埗
+                    string s = "";
+                    int sYear = 0;
+                    int sPeriod = 0;
+                    DateTime HDate = DateTime.Now;
+                    if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(HDate, ref sYear, ref sPeriod, ref s) == false)
+                    {
+                        objJsonResult.Message = s;
+                        return objJsonResult;
+                    }
+
                     //鍒犻櫎鍗曟嵁锛堝寘鍚垹闄ゅ悗鎺у埗銆佸啓鍏ユ棩蹇楋級
                     if (!oBill.DeleteBill(oBill.omodel.HInterID, oBill.omodel.HBillNo, "h_p_Xs_OutDoorCheckBill_AfterDelCtrl", HMaker, ref ClsPub.sExeReturnInfo))
                     {
@@ -239,6 +251,18 @@
                                 return objJsonResult;
                             }
                         }
+
+                        //杩涜 浼氳鏈熼棿 缁撹处 鐨勫垽鏂拰鎺у埗
+                        string s = "";
+                        int sYear = 0;
+                        int sPeriod = 0;
+                        DateTime HDate = DateTime.Now;
+                        if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(HDate, ref sYear, ref sPeriod, ref s) == false)
+                        {
+                            objJsonResult.Message = s;
+                            return objJsonResult;
+                        }
+
                         //瀹℃牳鍗曟嵁
                         if (!oBill.CheckBill(HInterID, oBill.omodel.HBillNo, "h_p_Xs_OutDoorCheckBill_AfterCheckCtrl", HMaker, ref ClsPub.sExeReturnInfo))
                         {
@@ -289,6 +313,17 @@
                             }
                         }
 
+                        //杩涜 浼氳鏈熼棿 缁撹处 鐨勫垽鏂拰鎺у埗
+                        string s = "";
+                        int sYear = 0;
+                        int sPeriod = 0;
+                        DateTime HDate = DateTime.Now;
+                        if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(HDate, ref sYear, ref sPeriod, ref s) == false)
+                        {
+                            objJsonResult.Message = s;
+                            return objJsonResult;
+                        }
+
                         //鍙嶅鏍稿崟鎹�
                         if (!oBill.AbandonCheck(HInterID, oBill.omodel.HBillNo, "h_p_Xs_OutDoorCheckBill_AfterUnCheckCtrl", HMaker, ref ClsPub.sExeReturnInfo))
                         {
diff --git a/WebAPI/Controllers/XSGL/Xs_ReceivableBillController.cs b/WebAPI/Controllers/XSGL/Xs_ReceivableBillController.cs
index abc342f..9ac25a4 100644
--- a/WebAPI/Controllers/XSGL/Xs_ReceivableBillController.cs
+++ b/WebAPI/Controllers/XSGL/Xs_ReceivableBillController.cs
@@ -207,6 +207,17 @@
 
                 }
 
+                //杩涜 浼氳鏈熼棿 缁撹处 鐨勫垽鏂拰鎺у埗
+
+                int sYear = 0;
+                int sPeriod = 0;
+                DateTime HDate = DateTime.Now;
+                if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(HDate, ref sYear, ref sPeriod, ref s) == false)
+                {
+                    objJsonResult.Message = s;
+                    return objJsonResult;
+                }
+
                 //淇濆瓨
                 //淇濆瓨瀹屾瘯鍚庡鐞�
                 bool bResult;
@@ -357,8 +368,17 @@
                 //    objJsonResult.data = null;
                 //    return objJsonResult;
                 //}
-                ////==================================================================================  
+                ////================================================================================== 
 
+                //杩涜 浼氳鏈熼棿 缁撹处 鐨勫垽鏂拰鎺у埗
+                int sYear = 0;
+                int sPeriod = 0;
+                DateTime HDate = DateTime.Now;
+                if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(HDate, ref sYear, ref sPeriod, ref s) == false)
+                {
+                    objJsonResult.Message = s;
+                    return objJsonResult;
+                }
 
 
                 oCN.BeginTran();
@@ -519,6 +539,17 @@
                 //杩涜闇�瑕佽繘琛岀殑瀹℃牳/鍙嶅鏍告搷浣�
                 if (IsAudit == 0) //瀹℃牳鎻愪氦
                 {
+                    //杩涜 浼氳鏈熼棿 缁撹处 鐨勫垽鏂拰鎺у埗
+                    string s = "";
+                    int sYear = 0;
+                    int sPeriod = 0;
+                    DateTime HDate = DateTime.Now;
+                    if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(HDate, ref sYear, ref sPeriod, ref s) == false)
+                    {
+                        objJsonResult.Message = s;
+                        return objJsonResult;
+                    }
+
                     oCN.BeginTran();
 
                     //璁板綍杩斿洖淇℃伅
@@ -595,6 +626,17 @@
                     //}
                     ////===========================================================          
 
+                    //杩涜 浼氳鏈熼棿 缁撹处 鐨勫垽鏂拰鎺у埗
+                    string s = "";
+                    int sYear = 0;
+                    int sPeriod = 0;
+                    DateTime HDate = DateTime.Now;
+                    if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(HDate, ref sYear, ref sPeriod, ref s) == false)
+                    {
+                        objJsonResult.Message = s;
+                        return objJsonResult;
+                    }
+
                     //鍙嶅鏍告彁浜bandonCheck
                     //if (oBill.AbandonCheck(oBill.omodel.HInterID, oBill.omodel.HBillNo, "h_p_Xs_ReceivableBill_AfterUnCheckCtrl", CurUserName, ref DBUtility.ClsPub.sExeReturnInfo) == true)
                     if (oBill.AbandonCheck(oBill.omodel.HInterID, ref DBUtility.ClsPub.sExeReturnInfo) == true)
diff --git a/WebAPI/Controllers/XSGL/Xs_SeOrderBillController.cs b/WebAPI/Controllers/XSGL/Xs_SeOrderBillController.cs
index a90ab13..a27934a 100644
--- a/WebAPI/Controllers/XSGL/Xs_SeOrderBillController.cs
+++ b/WebAPI/Controllers/XSGL/Xs_SeOrderBillController.cs
@@ -1215,6 +1215,17 @@
                         oBill.DetailColl.Add(oItemSub);
                     }
                 }
+
+                //杩涜 浼氳鏈熼棿 缁撹处 鐨勫垽鏂拰鎺у埗
+                int sYear = 0;
+                int sPeriod = 0;
+                DateTime HDate = DateTime.Now;
+                if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(HDate, ref sYear, ref sPeriod, ref s) == false)
+                {
+                    objJsonResult.Message = s;
+                    return objJsonResult;
+                }
+
                 //淇濆瓨
                 //淇濆瓨瀹屾瘯鍚庡鐞�
                 bool bResult;
@@ -1364,6 +1375,16 @@
                     return objJsonResult;
                 }
                 //==================================================================================      
+
+                //杩涜 浼氳鏈熼棿 缁撹处 鐨勫垽鏂拰鎺у埗
+                int sYear = 0;
+                int sPeriod = 0;
+                DateTime HDate = DateTime.Now;
+                if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(HDate, ref sYear, ref sPeriod, ref s) == false)
+                {
+                    objJsonResult.Message = s;
+                    return objJsonResult;
+                }
 
                 oCN.BeginTran();
 
@@ -1554,6 +1575,17 @@
                     }
                     //==================================================================================      
 
+                    //杩涜 浼氳鏈熼棿 缁撹处 鐨勫垽鏂拰鎺у埗
+                    string s = "";
+                    int sYear = 0;
+                    int sPeriod = 0;
+                    DateTime HDate = DateTime.Now;
+                    if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(HDate, ref sYear, ref sPeriod, ref s) == false)
+                    {
+                        objJsonResult.Message = s;
+                        return objJsonResult;
+                    }
+
                     //瀹℃牳鎻愪氦
                     if (oBill.CheckBill(oBill.omodel.HInterID, oBill.omodel.HBillNo, "h_p_Xs_SeOrderBill_AfterCheckCtrl", CurUserName, ref DBUtility.ClsPub.sExeReturnInfo) == true)
                     {
@@ -1594,6 +1626,17 @@
                     }
                     //=========================================================
 
+                    //杩涜 浼氳鏈熼棿 缁撹处 鐨勫垽鏂拰鎺у埗
+                    string s = "";
+                    int sYear = 0;
+                    int sPeriod = 0;
+                    DateTime HDate = DateTime.Now;
+                    if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(HDate, ref sYear, ref sPeriod, ref s) == false)
+                    {
+                        objJsonResult.Message = s;
+                        return objJsonResult;
+                    }
+
                     //鍙嶅鏍告彁浜bandonCheck
                     if (oBill.AbandonCheck(oBill.omodel.HInterID, oBill.omodel.HBillNo, "h_p_Xs_SeOrderBill_AfterUnCheckCtrl", CurUserName, ref DBUtility.ClsPub.sExeReturnInfo) == true)
                     {
diff --git a/WebAPI/Controllers/XSGL/Xs_SeOrderChangeBillController.cs b/WebAPI/Controllers/XSGL/Xs_SeOrderChangeBillController.cs
index ae546a9..67f8f3b 100644
--- a/WebAPI/Controllers/XSGL/Xs_SeOrderChangeBillController.cs
+++ b/WebAPI/Controllers/XSGL/Xs_SeOrderChangeBillController.cs
@@ -217,7 +217,15 @@
 
                 }
 
-
+                //杩涜 浼氳鏈熼棿 缁撹处 鐨勫垽鏂拰鎺у埗
+                int sYear = 0;
+                int sPeriod = 0;
+                DateTime HDate = DateTime.Now;
+                if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(HDate, ref sYear, ref sPeriod, ref s) == false)
+                {
+                    objJsonResult.Message = s;
+                    return objJsonResult;
+                }
 
                 //淇濆瓨
                 //淇濆瓨瀹屾瘯鍚庡鐞�
@@ -372,6 +380,16 @@
                 }
                 //==================================================================================  
 
+                //杩涜 浼氳鏈熼棿 缁撹处 鐨勫垽鏂拰鎺у埗
+                int sYear = 0;
+                int sPeriod = 0;
+                DateTime HDate = DateTime.Now;
+                if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(HDate, ref sYear, ref sPeriod, ref s) == false)
+                {
+                    objJsonResult.Message = s;
+                    return objJsonResult;
+                }
+
                 oCN.BeginTran();
 
                 oCN.RunProc("delete from Xs_SeOrderChangeBillMain where HInterID = " + HInterID);
@@ -515,6 +533,17 @@
                 //杩涜闇�瑕佽繘琛岀殑瀹℃牳/鍙嶅鏍告搷浣�
                 if (IsAudit == 0) //瀹℃牳鎻愪氦
                 {
+                    //杩涜 浼氳鏈熼棿 缁撹处 鐨勫垽鏂拰鎺у埗
+                    string s = "";
+                    int sYear = 0;
+                    int sPeriod = 0;
+                    DateTime HDate = DateTime.Now;
+                    if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(HDate, ref sYear, ref sPeriod, ref s) == false)
+                    {
+                        objJsonResult.Message = s;
+                        return objJsonResult;
+                    }
+
                     //妫�楠屽瓙琛ㄦ暟鎹�
                     string errorMessage = "";
                     DateTime today = DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd"));                   //褰撴棩鏃ユ湡
@@ -645,6 +674,17 @@
                 }
                 if (IsAudit == 1) //鍙嶅鏍告彁浜�
                 {
+                    //杩涜 浼氳鏈熼棿 缁撹处 鐨勫垽鏂拰鎺у埗
+                    string s = "";
+                    int sYear = 0;
+                    int sPeriod = 0;
+                    DateTime HDate = DateTime.Now;
+                    if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(HDate, ref sYear, ref sPeriod, ref s) == false)
+                    {
+                        objJsonResult.Message = s;
+                        return objJsonResult;
+                    }
+
                     //鍙嶅鏍稿墠鎺у埗=========================================        
                     string sql1 = "exec h_p_Xs_SeOrderChangeBill_BeforeUnCheckCtrl " + oBill.omodel.HInterID + ",'" + oBill.omodel.HBillNo + "','" + CurUserName + "'";
                     ds = oCN.RunProcReturn(sql1, "h_p_Xs_SeOrderChangeBill_BeforeUnCheckCtrl");
diff --git a/WebAPI/Controllers/XSGL/Xs_SeOutStockBackBillController.cs b/WebAPI/Controllers/XSGL/Xs_SeOutStockBackBillController.cs
index c7c934d..f6eac2f 100644
--- a/WebAPI/Controllers/XSGL/Xs_SeOutStockBackBillController.cs
+++ b/WebAPI/Controllers/XSGL/Xs_SeOutStockBackBillController.cs
@@ -104,6 +104,17 @@
                     return objJsonResult;
                 }
 
+                //杩涜 浼氳鏈熼棿 缁撹处 鐨勫垽鏂拰鎺у埗
+                string s = "";
+                int sYear = 0;
+                int sPeriod = 0;
+                DateTime HDate = DateTime.Now;
+                if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(HDate, ref sYear, ref sPeriod, ref s) == false)
+                {
+                    objJsonResult.Message = s;
+                    return objJsonResult;
+                }
+
                 oCN.BeginTran();
 
                 var ds = oCN.RunProcReturn("select * from Xs_SeOutStockBackBillMain where HInterID=" + HInterID, "Xs_SeOutStockBackBillMain");
@@ -523,6 +534,18 @@
                 }
 
                 ClsPub.CurUserName = user;
+
+                //杩涜 浼氳鏈熼棿 缁撹处 鐨勫垽鏂拰鎺у埗
+                string s = "";
+                int sYear = 0;
+                int sPeriod = 0;
+                DateTime HDate = DateTime.Now;
+                if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(HDate, ref sYear, ref sPeriod, ref s) == false)
+                {
+                    objJsonResult.Message = s;
+                    return objJsonResult;
+                }
+
                 oCN.BeginTran();//寮�濮嬩簨鍔�
 
                 //Type 1 瀹℃牳  2  鍙嶅鏍�
@@ -864,6 +887,17 @@
 
                 }
 
+                //杩涜 浼氳鏈熼棿 缁撹处 鐨勫垽鏂拰鎺у埗
+                string s = "";
+                int sYear = 0;
+                int sPeriod = 0;
+                DateTime HDate = DateTime.Now;
+                if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(HDate, ref sYear, ref sPeriod, ref s) == false)
+                {
+                    objJsonResult.Message = s;
+                    return objJsonResult;
+                }
+
                 //淇濆瓨
                 //淇濆瓨瀹屾瘯鍚庡鐞�
                 bool bResult;
diff --git a/WebAPI/Controllers/XSGL/Xs_SeOutStockBillController.cs b/WebAPI/Controllers/XSGL/Xs_SeOutStockBillController.cs
index b64a9ce..90f045d 100644
--- a/WebAPI/Controllers/XSGL/Xs_SeOutStockBillController.cs
+++ b/WebAPI/Controllers/XSGL/Xs_SeOutStockBillController.cs
@@ -142,6 +142,17 @@
                     return objJsonResult;
                 }
 
+                //杩涜 浼氳鏈熼棿 缁撹处 鐨勫垽鏂拰鎺у埗
+                string s = "";
+                int sYear = 0;
+                int sPeriod = 0;
+                DateTime HDate = DateTime.Now;
+                if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(HDate, ref sYear, ref sPeriod, ref s) == false)
+                {
+                    objJsonResult.Message = s;
+                    return objJsonResult;
+                }
+
                 oCN.BeginTran();
                 var ds = oCN.RunProcReturn("select * from Xs_SeOutStockBillMain where HInterID=" + HInterID, "Xs_SeOutStockBillMain");
                 //鍒犻櫎鎾ら攢  鍙戣揣閫氱煡鍗� 鍙嶅啓 閿�鍞鍗�
@@ -313,8 +324,16 @@
 
                 ds = oCN.RunProcReturn("select * from h_v_IF_SeOutStockBillList where hmainid=" + HInterID + " and 鍗曟嵁鍙�='" + HBillNo + "'", "h_v_IF_SeOutStockBillList");
 
+                //杩涜 浼氳鏈熼棿 缁撹处 鐨勫垽鏂拰鎺у埗
+                string s = "";
+                int sYear = 0;
+                int sPeriod = 0;
+                if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(HDate, ref sYear, ref sPeriod, ref s) == false)
+                {
+                    objJsonResult.Message = s;
+                    return objJsonResult;
+                }
 
-               
 
                 if ((OperationType == 1 || OperationType == 2) && ds.Tables[0].Rows.Count == 0)//鏂板
                 {
@@ -988,6 +1007,18 @@
                             return objJsonResult;
                         }
                     }
+
+                    //杩涜 浼氳鏈熼棿 缁撹处 鐨勫垽鏂拰鎺у埗
+                    string s = "";
+                    int sYear = 0;
+                    int sPeriod = 0;
+                    DateTime HDate = DateTime.Now;
+                    if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(HDate, ref sYear, ref sPeriod, ref s) == false)
+                    {
+                        objJsonResult.Message = s;
+                        return objJsonResult;
+                    }
+
                     if (!BillOld.CheckBill(int.Parse(HInterID), BillOld.omodel.HBillNo, "h_p_Xs_SeOutStockBill_AfterCheckCtrl", user, ref ClsPub.sExeReturnInfo))
                     {
                         objJsonResult.code = "0";
@@ -1021,6 +1052,17 @@
                         }
                     }
 
+                    //杩涜 浼氳鏈熼棿 缁撹处 鐨勫垽鏂拰鎺у埗
+                    string s = "";
+                    int sYear = 0;
+                    int sPeriod = 0;
+                    DateTime HDate = DateTime.Now;
+                    if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(HDate, ref sYear, ref sPeriod, ref s) == false)
+                    {
+                        objJsonResult.Message = s;
+                        return objJsonResult;
+                    }
+
                     if (BillOld.AbandonCheck(int.Parse(HInterID), BillOld.omodel.HBillNo, "h_p_Xs_SeOutStockBill_AfterUnCheckCtrl", user, ref ClsPub.sExeReturnInfo))
                     {
                         SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
diff --git a/WebAPI/Controllers/XSGL/Xs_SellOutChangeBillController.cs b/WebAPI/Controllers/XSGL/Xs_SellOutChangeBillController.cs
index 26001ac..bca5439 100644
--- a/WebAPI/Controllers/XSGL/Xs_SellOutChangeBillController.cs
+++ b/WebAPI/Controllers/XSGL/Xs_SellOutChangeBillController.cs
@@ -211,7 +211,15 @@
 
                 }
 
-
+                //杩涜 浼氳鏈熼棿 缁撹处 鐨勫垽鏂拰鎺у埗
+                int sYear = 0;
+                int sPeriod = 0;
+                DateTime HDate = DateTime.Now;
+                if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(HDate, ref sYear, ref sPeriod, ref s) == false)
+                {
+                    objJsonResult.Message = s;
+                    return objJsonResult;
+                }
 
                 //淇濆瓨
                 //淇濆瓨瀹屾瘯鍚庡鐞�
@@ -366,6 +374,16 @@
                 }
                 //==================================================================================  
 
+                //杩涜 浼氳鏈熼棿 缁撹处 鐨勫垽鏂拰鎺у埗
+                int sYear = 0;
+                int sPeriod = 0;
+                DateTime HDate = DateTime.Now;
+                if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(HDate, ref sYear, ref sPeriod, ref s) == false)
+                {
+                    objJsonResult.Message = s;
+                    return objJsonResult;
+                }
+
                 oCN.BeginTran();
 
                 oCN.RunProc("delete from Xs_SellOutChangeBillMain where HInterID = " + HInterID);
@@ -509,6 +527,17 @@
                 //杩涜闇�瑕佽繘琛岀殑瀹℃牳/鍙嶅鏍告搷浣�
                 if (IsAudit == 0) //瀹℃牳鎻愪氦
                 {
+                    //杩涜 浼氳鏈熼棿 缁撹处 鐨勫垽鏂拰鎺у埗
+                    string s = "";
+                    int sYear = 0;
+                    int sPeriod = 0;
+                    DateTime HDate = DateTime.Now;
+                    if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(HDate, ref sYear, ref sPeriod, ref s) == false)
+                    {
+                        objJsonResult.Message = s;
+                        return objJsonResult;
+                    }
+
                     //妫�楠屽瓙琛ㄦ暟鎹�
                     string errorMessage = "";
                     foreach (Model.ClsXs_SellOutChangeBillSub oSub in oBill.DetailColl)
@@ -611,6 +640,17 @@
                 }
                 if (IsAudit == 1) //鍙嶅鏍告彁浜�
                 {
+                    //杩涜 浼氳鏈熼棿 缁撹处 鐨勫垽鏂拰鎺у埗
+                    string s = "";
+                    int sYear = 0;
+                    int sPeriod = 0;
+                    DateTime HDate = DateTime.Now;
+                    if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(HDate, ref sYear, ref sPeriod, ref s) == false)
+                    {
+                        objJsonResult.Message = s;
+                        return objJsonResult;
+                    }
+
                     //鍙嶅鏍稿墠鎺у埗=========================================        
                     string sql1 = "exec h_p_Xs_SellOutChangeBill_BeforeUnCheckCtrl " + oBill.omodel.HInterID + ",'" + oBill.omodel.HBillNo + "','" + CurUserName + "'";
                     ds = oCN.RunProcReturn(sql1, "h_p_Xs_SellOutChangeBill_BeforeUnCheckCtrl");
diff --git a/WebAPI/Controllers/XSGL/YS_ReceiveBackBillController.cs b/WebAPI/Controllers/XSGL/YS_ReceiveBackBillController.cs
index b579fe2..06d4343 100644
--- a/WebAPI/Controllers/XSGL/YS_ReceiveBackBillController.cs
+++ b/WebAPI/Controllers/XSGL/YS_ReceiveBackBillController.cs
@@ -218,7 +218,15 @@
 
                 }
 
-
+                //杩涜 浼氳鏈熼棿 缁撹处 鐨勫垽鏂拰鎺у埗
+                int sYear = 0;
+                int sPeriod = 0;
+                DateTime HDate = DateTime.Now;
+                if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(HDate, ref sYear, ref sPeriod, ref s) == false)
+                {
+                    objJsonResult.Message = s;
+                    return objJsonResult;
+                }
 
                 //淇濆瓨
                 //淇濆瓨瀹屾瘯鍚庡鐞�
@@ -372,6 +380,16 @@
                     return objJsonResult;
                 }
                 //==================================================================================  
+
+                //杩涜 浼氳鏈熼棿 缁撹处 鐨勫垽鏂拰鎺у埗
+                int sYear = 0;
+                int sPeriod = 0;
+                DateTime HDate = DateTime.Now;
+                if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(HDate, ref sYear, ref sPeriod, ref s) == false)
+                {
+                    objJsonResult.Message = s;
+                    return objJsonResult;
+                }
 
                 oCN.BeginTran();
 
@@ -550,6 +568,17 @@
                     }
                     //==================================================================================      
 
+                    //杩涜 浼氳鏈熼棿 缁撹处 鐨勫垽鏂拰鎺у埗
+                    string s = "";
+                    int sYear = 0;
+                    int sPeriod = 0;
+                    DateTime HDate = DateTime.Now;
+                    if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(HDate, ref sYear, ref sPeriod, ref s) == false)
+                    {
+                        objJsonResult.Message = s;
+                        return objJsonResult;
+                    }
+
                     //瀹℃牳鎻愪氦
                     if (oBill.CheckBill(oBill.omodel.HInterID, oBill.omodel.HBillNo, "h_p_YS_ReceiveBackBill_AfterCheckCtrl", CurUserName, ref DBUtility.ClsPub.sExeReturnInfo) == true)
                     {
@@ -592,6 +621,17 @@
                     }
                     //===========================================================         
 
+                    //杩涜 浼氳鏈熼棿 缁撹处 鐨勫垽鏂拰鎺у埗
+                    string s = "";
+                    int sYear = 0;
+                    int sPeriod = 0;
+                    DateTime HDate = DateTime.Now;
+                    if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(HDate, ref sYear, ref sPeriod, ref s) == false)
+                    {
+                        objJsonResult.Message = s;
+                        return objJsonResult;
+                    }
+
                     //鍙嶅鏍告彁浜bandonCheck
                     if (oBill.AbandonCheck(oBill.omodel.HInterID, oBill.omodel.HBillNo, "h_p_YS_ReceiveBackBill_AfterUnCheckCtrl", CurUserName, ref DBUtility.ClsPub.sExeReturnInfo) == true)
                     {
diff --git a/WebAPI/Controllers/XSGL/YS_ReceiveBillController.cs b/WebAPI/Controllers/XSGL/YS_ReceiveBillController.cs
index eea8e80..e2daa97 100644
--- a/WebAPI/Controllers/XSGL/YS_ReceiveBillController.cs
+++ b/WebAPI/Controllers/XSGL/YS_ReceiveBillController.cs
@@ -218,7 +218,15 @@
 
                 }
 
-
+                //杩涜 浼氳鏈熼棿 缁撹处 鐨勫垽鏂拰鎺у埗
+                int sYear = 0;
+                int sPeriod = 0;
+                DateTime HDate = DateTime.Now;
+                if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(HDate, ref sYear, ref sPeriod, ref s) == false)
+                {
+                    objJsonResult.Message = s;
+                    return objJsonResult;
+                }
 
                 //淇濆瓨
                 //淇濆瓨瀹屾瘯鍚庡鐞�
@@ -373,7 +381,15 @@
                 }
                 //==================================================================================  
 
-
+                //杩涜 浼氳鏈熼棿 缁撹处 鐨勫垽鏂拰鎺у埗
+                int sYear = 0;
+                int sPeriod = 0;
+                DateTime HDate = DateTime.Now;
+                if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(HDate, ref sYear, ref sPeriod, ref s) == false)
+                {
+                    objJsonResult.Message = s;
+                    return objJsonResult;
+                }
 
                 oCN.BeginTran();
 
@@ -519,6 +535,17 @@
                 //杩涜闇�瑕佽繘琛岀殑瀹℃牳/鍙嶅鏍告搷浣�
                 if (IsAudit == 0) //瀹℃牳鎻愪氦
                 {
+                    //杩涜 浼氳鏈熼棿 缁撹处 鐨勫垽鏂拰鎺у埗
+                    string s = "";
+                    int sYear = 0;
+                    int sPeriod = 0;
+                    DateTime HDate = DateTime.Now;
+                    if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(HDate, ref sYear, ref sPeriod, ref s) == false)
+                    {
+                        objJsonResult.Message = s;
+                        return objJsonResult;
+                    }
+
                     oCN.BeginTran();
 
                     //璁板綍杩斿洖淇℃伅
@@ -617,6 +644,17 @@
                         return objJsonResult;
                     }
 
+                    //杩涜 浼氳鏈熼棿 缁撹处 鐨勫垽鏂拰鎺у埗
+                    string s = "";
+                    int sYear = 0;
+                    int sPeriod = 0;
+                    DateTime HDate = DateTime.Now;
+                    if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(HDate, ref sYear, ref sPeriod, ref s) == false)
+                    {
+                        objJsonResult.Message = s;
+                        return objJsonResult;
+                    }
+
                     //鍙嶅鏍稿墠鎺у埗=========================================        
                     string sql1 = "exec h_p_YS_ReceiveBill_BeforeUnCheckCtrl " + oBill.omodel.HInterID + ",'" + oBill.omodel.HBillNo + "','" + CurUserName + "'";
                     ds = oCN.RunProcReturn(sql1, "h_p_YS_ReceiveBill_BeforeUnCheckCtrl");
diff --git a/WebAPI/Controllers/XSGL/YS_ReceiveOtherBillController.cs b/WebAPI/Controllers/XSGL/YS_ReceiveOtherBillController.cs
index 8aa0c73..5e7fab5 100644
--- a/WebAPI/Controllers/XSGL/YS_ReceiveOtherBillController.cs
+++ b/WebAPI/Controllers/XSGL/YS_ReceiveOtherBillController.cs
@@ -220,6 +220,16 @@
 
                 }
 
+                //杩涜 浼氳鏈熼棿 缁撹处 鐨勫垽鏂拰鎺у埗
+                int sYear = 0;
+                int sPeriod = 0;
+                DateTime HDate = DateTime.Now;
+                if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(HDate, ref sYear, ref sPeriod, ref s) == false)
+                {
+                    objJsonResult.Message = s;
+                    return objJsonResult;
+                }
+
                 //淇濆瓨
                 //淇濆瓨瀹屾瘯鍚庡鐞�
                 bool bResult;
@@ -356,7 +366,15 @@
                 //鍒ゆ柇鏄惁鏄垱寤虹姸鎬佽繘琛屽垹闄�
                 if (int.Parse(BillOld.omodel.HBillStatus.ToString()) <= 1)
                 {
-
+                    //杩涜 浼氳鏈熼棿 缁撹处 鐨勫垽鏂拰鎺у埗
+                    int sYear = 0;
+                    int sPeriod = 0;
+                    DateTime HDate = DateTime.Now;
+                    if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(HDate, ref sYear, ref sPeriod, ref s) == false)
+                    {
+                        objJsonResult.Message = s;
+                        return objJsonResult;
+                    }
 
                     //鍒犻櫎鍓嶆帶鍒�=========================================      
                     string sql1 = "exec h_p_YS_ReceiveOtherBill_BeforeDelCtrl " + BillOld.omodel.HInterID + ",'" + BillOld.omodel.HBillNo + "','" + user + "'";
@@ -535,6 +553,17 @@
                 //杩涜闇�瑕佽繘琛岀殑瀹℃牳/鍙嶅鏍告搷浣�
                 if (IsAudit == 0) //瀹℃牳鎻愪氦
                 {
+                    //杩涜 浼氳鏈熼棿 缁撹处 鐨勫垽鏂拰鎺у埗
+                    string s = "";
+                    int sYear = 0;
+                    int sPeriod = 0;
+                    DateTime HDate = DateTime.Now;
+                    if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(HDate, ref sYear, ref sPeriod, ref s) == false)
+                    {
+                        objJsonResult.Message = s;
+                        return objJsonResult;
+                    }
+
                     oCN.BeginTran();
 
                     //璁板綍杩斿洖淇℃伅
@@ -599,7 +628,17 @@
                 }
                 if (IsAudit == 1) //鍙嶅鏍告彁浜�
                 {
-                   
+                    //杩涜 浼氳鏈熼棿 缁撹处 鐨勫垽鏂拰鎺у埗
+                    string s = "";
+                    int sYear = 0;
+                    int sPeriod = 0;
+                    DateTime HDate = DateTime.Now;
+                    if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(HDate, ref sYear, ref sPeriod, ref s) == false)
+                    {
+                        objJsonResult.Message = s;
+                        return objJsonResult;
+                    }
+
                     //鍙嶅鏍稿墠鎺у埗=========================================        
                     string sql1 = "exec h_p_YS_ReceiveOtherBill_BeforeUnCheckCtrl " + oBill.omodel.HInterID + ",'" + oBill.omodel.HBillNo + "','" + CurUserName + "'";
                     ds = oCN.RunProcReturn(sql1, "h_p_YS_ReceiveOtherBill_BeforeUnCheckCtrl");
diff --git "a/WebAPI/Controllers/\344\273\223\345\255\230\347\256\241\347\220\206/\345\247\224\345\244\226\347\224\250\346\226\231/WW_PPBomBillController.cs" "b/WebAPI/Controllers/\344\273\223\345\255\230\347\256\241\347\220\206/\345\247\224\345\244\226\347\224\250\346\226\231/WW_PPBomBillController.cs"
index d10b1d1..adeee61 100644
--- "a/WebAPI/Controllers/\344\273\223\345\255\230\347\256\241\347\220\206/\345\247\224\345\244\226\347\224\250\346\226\231/WW_PPBomBillController.cs"
+++ "b/WebAPI/Controllers/\344\273\223\345\255\230\347\256\241\347\220\206/\345\247\224\345\244\226\347\224\250\346\226\231/WW_PPBomBillController.cs"
@@ -38,22 +38,22 @@
 
                 ds = WW_PPBomBillList(sWhere);
 
-                //if (ds.Tables[0].Rows.Count != 0 || ds != null)
-                //{
-                objJsonResult.code = "1";
-                objJsonResult.count = 1;
-                objJsonResult.Message = "Sucess锛�";
-                objJsonResult.data = ds.Tables[0];
-                return objJsonResult;
-                //}
-                //else
-                //{
-                //objJsonResult.code = "0";
-                //objJsonResult.count = 0;
-                //objJsonResult.Message = "鏃犳暟鎹�";
-                //objJsonResult.data = null;
-                //return objJsonResult;
-                //}
+                if (ds.Tables[0].Rows.Count != 0 || ds != null)
+                {
+                    objJsonResult.code = "1";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "Sucess锛�";
+                    objJsonResult.data = ds.Tables[0];
+                    return objJsonResult;
+                }
+                else
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犳暟鎹�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
             }
             catch (Exception ex)
             {
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_BarCodeBill_OutController.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_BarCodeBill_OutController.cs"
index 8c1e782..b2fe0bd 100644
--- "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_BarCodeBill_OutController.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_BarCodeBill_OutController.cs"
@@ -238,8 +238,18 @@
                 string HBarCode_Pack = list[0].HBarCode_Pack;
                 long HCustomQty1 = list[0].HCustomQty1;
                 DateTime HProduceDate = list[0].HProduceDate;			//鐢熶骇鏃ユ湡锛堜繚璐ㄦ湡鐢級
-                DateTime HExpiryDate = list[0].HExpiryDate;			//淇濊川鏈熻嚦锛堜繚璐ㄦ湡鐢級
-               
+                DateTime HExpiryDate = list[0].HExpiryDate;         //淇濊川鏈熻嚦锛堜繚璐ㄦ湡鐢級
+
+                //杩涜 浼氳鏈熼棿 缁撹处 鐨勫垽鏂拰鎺у埗
+                string s = "";
+                int sYear = 0;
+                int sPeriod = 0;
+                DateTime HDate = DateTime.Now;
+                if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(HDate, ref sYear, ref sPeriod, ref s) == false)
+                {
+                    objJsonResult.Message = s;
+                    return objJsonResult;
+                }
 
                 ////鍒ゆ柇鏉冮檺
                 //if (!ClsPub.Security_Log(msg5, 1, false, msg4))
@@ -365,6 +375,17 @@
         {
             try
             {
+                //杩涜 浼氳鏈熼棿 缁撹处 鐨勫垽鏂拰鎺у埗
+                string s = "";
+                int sYear = 0;
+                int sPeriod = 0;
+                DateTime HDate = DateTime.Now;
+                if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(HDate, ref sYear, ref sPeriod, ref s) == false)
+                {
+                    objJsonResult.Message = s;
+                    return objJsonResult;
+                }
+
                 oCN.BeginTran();
                 oCN.RunProc("Delete From Gy_BarCodeBill_Out where HItemID = " + HItemID);
                 oCN.Commit();
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/KF_BarCodeStatusChangeBillController.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/KF_BarCodeStatusChangeBillController.cs"
index c6343bc..6d5ab07 100644
--- "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/KF_BarCodeStatusChangeBillController.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/KF_BarCodeStatusChangeBillController.cs"
@@ -157,7 +157,15 @@
 
                 DateTime dt = DateTime.Now;
 
-            
+                //杩涜 浼氳鏈熼棿 缁撹处 鐨勫垽鏂拰鎺у埗
+                string s = "";
+                int sYear = 0;
+                int sPeriod = 0;
+                if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(HDate, ref sYear, ref sPeriod, ref s) == false)
+                {
+                    objJsonResult.Message = s;
+                    return objJsonResult;
+                }
 
                 //ds = oCN.RunProcReturn("select * from h_v_IF_POOrderBillList where hmainid=" + HInterID + " and 鍗曟嵁鍙�='" + HBillNo + "'", "h_v_IF_POOrderBillList");
 
@@ -260,6 +268,17 @@
         {
             try
             {
+                //杩涜 浼氳鏈熼棿 缁撹处 鐨勫垽鏂拰鎺у埗
+                string s = "";
+                int sYear = 0;
+                int sPeriod = 0;
+                DateTime HDate = DateTime.Now;
+                if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(HDate, ref sYear, ref sPeriod, ref s) == false)
+                {
+                    objJsonResult.Message = s;
+                    return objJsonResult;
+                }
+
                 oCN.BeginTran();
                 oCN.RunProc("Delete From KF_BarCodeStatusChangeBillMain where HInterID = " + HInterID);
                 oCN.RunProc("Delete From KF_BarCodeStatusChangeBillSub where HInterID = " + HInterID);
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/Sc_BarCodeController.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/Sc_BarCodeController.cs"
index 7416774..d21e767 100644
--- "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/Sc_BarCodeController.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/Sc_BarCodeController.cs"
@@ -228,6 +228,11 @@
                         count = new SQLHelper.ClsCN().RunProcReturn("select * from h_v_IF_MateOutBackBillList_Source " + sWhere + " order by 鍗曟嵁鍙� desc,hsubid", tabname).Tables[0].Rows.Count;
                         sql = string.Format(@"select top " + pageSize + " * from(select row_number() over (order by 鍗曟嵁鍙� desc,hsubid) as HRowNumber,* from h_v_IF_MateOutBackBillList_Source " + sWhere + ")   as A where HRowNumber >" + pageSize + " *(" + pageNum + "-1)");
                         break;
+                    case "宸ュ簭娴佽浆鍗�":
+                        tabname = "h_v_IF_ProcessExchangeBillList_Source";
+                        count = new SQLHelper.ClsCN().RunProcReturn("select * from h_v_IF_ProcessExchangeBillList_Source " + sWhere + " order by 鍗曟嵁鍙� desc,hsubid", tabname).Tables[0].Rows.Count;
+                        sql = string.Format(@"select top " + pageSize + " * from(select row_number() over (order by 鍗曟嵁鍙� desc,hsubid) as HRowNumber,* from h_v_IF_ProcessExchangeBillList_Source " + sWhere + ")   as A where HRowNumber >" + pageSize + " *(" + pageNum + "-1)");
+                        break;
                     default:
                         break;
                 }
@@ -396,6 +401,12 @@
                             break;
                         case "1255": //缁勮鎷嗗嵏鍗�
                             break;
+                        case "3772": //宸ュ簭娴佽浆鍗�
+                                     //寰楀埌淇℃伅
+                            ds = oCN.RunProcReturn("select * from h_v_IF_ProcessExchangeList where HMainID=" + oSelectRow.BillMainID + " and HSubID=" + oSelectRow.BillSubID, "h_v_IF_ProcessExchangeList", ref DBUtility.ClsPub.sExeReturnInfo);
+                            //鍐欏叆淇℃伅
+                            ListRows.Add(HSourceOrderList1(ds.Tables[0], ordrlist, HBarCodeType, HSourceBillType));
+                            break;
                         default:
                             break;
                     }
diff --git "a/WebAPI/Controllers/\344\273\223\345\255\230\347\256\241\347\220\206/\350\260\203\346\213\250\347\233\230\347\202\271/Kf_MoveStockRequestBillController.cs" "b/WebAPI/Controllers/\344\273\223\345\255\230\347\256\241\347\220\206/\350\260\203\346\213\250\347\233\230\347\202\271/Kf_MoveStockRequestBillController.cs"
index c5a0407..f1797c9 100644
--- "a/WebAPI/Controllers/\344\273\223\345\255\230\347\256\241\347\220\206/\350\260\203\346\213\250\347\233\230\347\202\271/Kf_MoveStockRequestBillController.cs"
+++ "b/WebAPI/Controllers/\344\273\223\345\255\230\347\256\241\347\220\206/\350\260\203\346\213\250\347\233\230\347\202\271/Kf_MoveStockRequestBillController.cs"
@@ -157,6 +157,16 @@
                 string HOWNERTYPEINID = mainList[0].HOWNERTYPEINID;
                 string HBUSINESSTYPE = mainList[0].HBUSINESSTYPE;
 
+                //杩涜 浼氳鏈熼棿 缁撹处 鐨勫垽鏂拰鎺у埗
+                string s = "";
+                int sYear = 0;
+                int sPeriod = 0;
+                if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(HDate, ref sYear, ref sPeriod, ref s) == false)
+                {
+                    objJsonResult.Message = s;
+                    return objJsonResult;
+                }
+
                 ds = oCn.RunProcReturn("select * from h_v_IF_MoveStockRequestBillList where hmainid=" + HInterID + " and 鍗曟嵁鍙�='" + HBillNo + "'", "h_v_IF_MoveStockRequestBillList");
 
                 if ((OperationType == 1 || OperationType == 2) && ds.Tables[0].Rows.Count == 0)//鏂板
@@ -364,6 +374,17 @@
         {
             try
             {
+                //杩涜 浼氳鏈熼棿 缁撹处 鐨勫垽鏂拰鎺у埗
+                string s = "";
+                int sYear = 0;
+                int sPeriod = 0;
+                DateTime HDate = DateTime.Now;
+                if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(HDate, ref sYear, ref sPeriod, ref s) == false)
+                {
+                    objJsonResult.Message = s;
+                    return objJsonResult;
+                }
+
                 oCn.BeginTran();
                 oCn.RunProc("Delete From Kf_MoveStockRequestBillMain where HInterID = " + HInterID);
                 oCn.RunProc("Delete From Kf_MoveStockRequestBillSub where HInterID = " + HInterID);
@@ -417,7 +438,18 @@
                     objJsonResult.data = null;
                     return objJsonResult;
                 }
-                
+
+                //杩涜 浼氳鏈熼棿 缁撹处 鐨勫垽鏂拰鎺у埗
+                string s = "";
+                int sYear = 0;
+                int sPeriod = 0;
+                DateTime HDate = DateTime.Now;
+                if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(HDate, ref sYear, ref sPeriod, ref s) == false)
+                {
+                    objJsonResult.Message = s;
+                    return objJsonResult;
+                }
+
                 ClsPub.CurUserName = user;
                 BillOld.MvarItemKey = "Kf_MoveStockRequestBillMain";
                 oCn.BeginTran();//寮�濮嬩簨鍔�
diff --git "a/WebAPI/Controllers/\344\273\223\345\255\230\347\256\241\347\220\206/\351\242\206\346\226\231\345\217\221\350\264\247/Kf_MateOutBackBillController.cs" "b/WebAPI/Controllers/\344\273\223\345\255\230\347\256\241\347\220\206/\351\242\206\346\226\231\345\217\221\350\264\247/Kf_MateOutBackBillController.cs"
index 8025b3e..774168f 100644
--- "a/WebAPI/Controllers/\344\273\223\345\255\230\347\256\241\347\220\206/\351\242\206\346\226\231\345\217\221\350\264\247/Kf_MateOutBackBillController.cs"
+++ "b/WebAPI/Controllers/\344\273\223\345\255\230\347\256\241\347\220\206/\351\242\206\346\226\231\345\217\221\350\264\247/Kf_MateOutBackBillController.cs"
@@ -87,7 +87,7 @@
         public object set_DeleteBill(string HInterID,string user)
         {
             //缂栬緫鏉冮檺
-            if (!DBUtility.ClsPub.Security_Log_second("Kf_MateOutBackBill_Drop", 1, false, user))
+            if (!DBUtility.ClsPub.Security_Log_second("Kf_MateOutBackBill_Delete", 1, false, user))
             {
                 objJsonResult.code = "0";
                 objJsonResult.count = 0;
@@ -134,6 +134,17 @@
                     objJsonResult.data = null;
                     return objJsonResult;
                 }
+
+                //杩涜 浼氳鏈熼棿 缁撹处 鐨勫垽鏂拰鎺у埗
+                int sYear = 0;
+                int sPeriod = 0;
+                DateTime HDate = DateTime.Now;
+                if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(HDate, ref sYear, ref sPeriod, ref s) == false)
+                {
+                    objJsonResult.Message = s;
+                    return objJsonResult;
+                }
+
                 bool IsDete = oBill.DeleteBill(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo);
                 if (IsDete)
                 {
@@ -208,7 +219,7 @@
                     return objJsonResult;
                 }
                 Int64 lngBillKey = 0;
-                lngBillKey = DBUtility.ClsPub.isLong(HInterID);
+                lngBillKey = DBUtility.ClsPub.isLong(HInterID);                
                 //鏌ョ湅鏄惁宸插鏍�,鍏抽棴,浣滃簾
                 if (oBill.ShowBill(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo))
                 {
@@ -259,7 +270,7 @@
                     objJsonResult.code = "1";
                     objJsonResult.count = 1;
                     objJsonResult.Message = "瀹℃牳澶辫触!鍘熷洜:" + DBUtility.ClsPub.sExeReturnInfo;
-                    objJsonResult.data = null;
+                    objJsonResult.data = null;                   
                     return objJsonResult;
                 }
             }
@@ -351,7 +362,8 @@
                     objJsonResult.Message = "鍗曟嵁涓嶅瓨鍦�!鍘熷洜:" + DBUtility.ClsPub.sExeReturnInfo;
                     objJsonResult.data = null;
                     return objJsonResult;
-                }
+                }                
+
                 //鍙嶅鏍告彁浜bandonCheck
                 if (oBill.AbandonCheck(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo) == true)
                 {
@@ -601,6 +613,16 @@
                     oBill.DetailColl.Add(oItemSub);
 
                 }
+                //杩涜 浼氳鏈熼棿 缁撹处 鐨勫垽鏂拰鎺у埗
+                int sYear = 0;
+                int sPeriod = 0;
+                DateTime HDate = DateTime.Now;
+                if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(HDate, ref sYear, ref sPeriod, ref s) == false)
+                {
+                    objJsonResult.Message = s;
+                    return objJsonResult;
+                }
+
                 //淇濆瓨
                 //淇濆瓨瀹屾瘯鍚庡鐞�
                 bool bResult;
diff --git "a/WebAPI/Controllers/\344\273\223\345\255\230\347\256\241\347\220\206/\351\242\206\346\226\231\345\217\221\350\264\247/Kf_MateOutBillController.cs" "b/WebAPI/Controllers/\344\273\223\345\255\230\347\256\241\347\220\206/\351\242\206\346\226\231\345\217\221\350\264\247/Kf_MateOutBillController.cs"
index 7f61996..57452bb 100644
--- "a/WebAPI/Controllers/\344\273\223\345\255\230\347\256\241\347\220\206/\351\242\206\346\226\231\345\217\221\350\264\247/Kf_MateOutBillController.cs"
+++ "b/WebAPI/Controllers/\344\273\223\345\255\230\347\256\241\347\220\206/\351\242\206\346\226\231\345\217\221\350\264\247/Kf_MateOutBillController.cs"
@@ -126,6 +126,17 @@
                     objJsonResult.data = null;
                     return objJsonResult;
                 }
+
+                //杩涜 浼氳鏈熼棿 缁撹处 鐨勫垽鏂拰鎺у埗
+                int sYear = 0;
+                int sPeriod = 0;
+                DateTime HDate = DateTime.Now;
+                if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(HDate, ref sYear, ref sPeriod, ref s) == false)
+                {
+                    objJsonResult.Message = s;
+                    return objJsonResult;
+                }
+
                 bool IsDete = oBill.DeleteBill(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo);
                 if (IsDete)
                 {
@@ -597,6 +608,16 @@
                     oBill.DetailColl.Add(oItemSub);
 
                 }
+                //杩涜 浼氳鏈熼棿 缁撹处 鐨勫垽鏂拰鎺у埗
+                int sYear = 0;
+                int sPeriod = 0;
+                DateTime HDate = DateTime.Now;
+                if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(HDate, ref sYear, ref sPeriod, ref s) == false)
+                {
+                    objJsonResult.Message = s;
+                    return objJsonResult;
+                }
+
                 //淇濆瓨
                 //淇濆瓨瀹屾瘯鍚庡鐞�
                 bool bResult;
@@ -864,10 +885,20 @@
                     return objJsonResult;
                 }
 
+                //杩涜 浼氳鏈熼棿 缁撹处 鐨勫垽鏂拰鎺у埗
+                string s = "";
+                int sYear = 0;
+                int sPeriod = 0;
+                DateTime HDate = DateTime.Now;
+                if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(HDate, ref sYear, ref sPeriod, ref s) == false)
+                {
+                    objJsonResult.Message = s;
+                    return objJsonResult;
+                }
 
                 //杩涜闇�瑕佽繘琛岀殑瀹℃牳/鍙嶅鏍告搷浣�
                 if (IsAudit == 0) //瀹℃牳鎻愪氦
-                {
+                {                  
                     //瀹℃牳鎻愪氦
                     if (oBill.CheckBill(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo) == true)
                     {
@@ -887,7 +918,7 @@
                     }
                 }
                 if (IsAudit == 1) //鍙嶅鏍告彁浜�
-                {
+                {                   
                     //鍙嶅鏍告彁浜bandonCheck
                     if (oBill.AbandonCheck(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo) == true)
                     {
diff --git "a/WebAPI/Controllers/\344\273\223\345\255\230\347\256\241\347\220\206/\351\242\206\346\226\231\345\217\221\350\264\247/Kf_MateOutRequestBillController.cs" "b/WebAPI/Controllers/\344\273\223\345\255\230\347\256\241\347\220\206/\351\242\206\346\226\231\345\217\221\350\264\247/Kf_MateOutRequestBillController.cs"
index 105d0ca..85c936a 100644
--- "a/WebAPI/Controllers/\344\273\223\345\255\230\347\256\241\347\220\206/\351\242\206\346\226\231\345\217\221\350\264\247/Kf_MateOutRequestBillController.cs"
+++ "b/WebAPI/Controllers/\344\273\223\345\255\230\347\256\241\347\220\206/\351\242\206\346\226\231\345\217\221\350\264\247/Kf_MateOutRequestBillController.cs"
@@ -149,6 +149,16 @@
                 string HICCard = mainList[0].HICCard;
                 string HSUPPLYType = mainList[0].HSUPPLYType;//鍙戞枡鏂瑰紡
 
+                //杩涜 浼氳鏈熼棿 缁撹处 鐨勫垽鏂拰鎺у埗
+                string s = "";
+                int sYear = 0;
+                int sPeriod = 0;
+                if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(HDate, ref sYear, ref sPeriod, ref s) == false)
+                {
+                    objJsonResult.Message = s;
+                    return objJsonResult;
+                }
+
                 ds = oCn.RunProcReturn("select * from h_v_IF_MateOutRequestBillList where hmainid=" + HInterID + " and 鍗曟嵁鍙�='" + HBillNo + "'", "h_v_IF_MateOutRequestBillList");
 
                 if ((OperationType == 1 || OperationType == 2) && ds.Tables[0].Rows.Count == 0)//鏂板
@@ -278,6 +288,17 @@
         {
             try
             {
+                //杩涜 浼氳鏈熼棿 缁撹处 鐨勫垽鏂拰鎺у埗
+                string s = "";
+                int sYear = 0;
+                int sPeriod = 0;
+                DateTime HDate = DateTime.Now;
+                if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(HDate, ref sYear, ref sPeriod, ref s) == false)
+                {
+                    objJsonResult.Message = s;
+                    return objJsonResult;
+                }
+
                 oCn.BeginTran();
                 oCn.RunProc("Delete From Kf_MateOutRequestBillMain where HInterID = " + HInterID);
                 oCn.RunProc("Delete From Kf_MateOutRequestBillSub where HInterID = " + HInterID);
diff --git "a/WebAPI/Controllers/\344\273\223\345\255\230\347\256\241\347\220\206/\351\242\206\346\226\231\345\217\221\350\264\247/Kf_StepFoldOutBillController.cs" "b/WebAPI/Controllers/\344\273\223\345\255\230\347\256\241\347\220\206/\351\242\206\346\226\231\345\217\221\350\264\247/Kf_StepFoldOutBillController.cs"
index 974a991..81b8985 100644
--- "a/WebAPI/Controllers/\344\273\223\345\255\230\347\256\241\347\220\206/\351\242\206\346\226\231\345\217\221\350\264\247/Kf_StepFoldOutBillController.cs"
+++ "b/WebAPI/Controllers/\344\273\223\345\255\230\347\256\241\347\220\206/\351\242\206\346\226\231\345\217\221\350\264\247/Kf_StepFoldOutBillController.cs"
@@ -239,6 +239,16 @@
                 string HCloseDate = mainList[0].HCloseDate;
                 long HCurID = mainList[0].HCurID;
 
+                //杩涜 浼氳鏈熼棿 缁撹处 鐨勫垽鏂拰鎺у埗
+                string s = "";
+                int sYear = 0;
+                int sPeriod = 0;
+                if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(HDate, ref sYear, ref sPeriod, ref s) == false)
+                {
+                    objJsonResult.Message = s;
+                    return objJsonResult;
+                }
+
                 ds = oCn.RunProcReturn("select * from h_v_IF_StepFoldOutBillList where hmainid=" + HInterID + " and 鍗曟嵁鍙�='" + HBillNo + "'", "h_v_IF_StepFoldOutBillList");
 
                 if ((OperationType == 1 || OperationType == 2) && ds.Tables[0].Rows.Count == 0)//鏂板
@@ -392,6 +402,18 @@
         {
             try
             {
+
+                //杩涜 浼氳鏈熼棿 缁撹处 鐨勫垽鏂拰鎺у埗
+                string s = "";
+                int sYear = 0;
+                int sPeriod = 0;
+                DateTime HDate = DateTime.Now;
+                if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(HDate, ref sYear, ref sPeriod, ref s) == false)
+                {
+                    objJsonResult.Message = s;
+                    return objJsonResult;
+                }
+
                 oCn.BeginTran();
                 oCn.RunProc("Delete From Kf_ICStockBillMain where HInterID = " + HInterID);
                 oCn.RunProc("Delete From Kf_ICStockBillSub where HInterID = " + HInterID);
@@ -456,6 +478,20 @@
 
                 ds = oCn.RunProcReturn("select * from Kf_ICStockBillMain where HInterID = " + int.Parse(HInterID), "Kf_ICStockBillMain");
                 string HBillNo = "";
+
+
+                //杩涜 浼氳鏈熼棿 缁撹处 鐨勫垽鏂拰鎺у埗
+                string s = "";
+                int sYear = 0;
+                int sPeriod = 0;
+                DateTime HDate = DateTime.Now;
+                if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(HDate, ref sYear, ref sPeriod, ref s) == false)
+                {
+                    objJsonResult.Message = s;
+                    return objJsonResult;
+                }
+
+
                 oCn.BeginTran();//寮�濮嬩簨鍔�
 
                 if (ds == null || ds.Tables[0].Rows.Count == 0)
@@ -470,8 +506,6 @@
                 {
                     HBillNo = ds.Tables[0].Rows[0]["HBillNo"].ToString();
                 }
-
-
 
 
                 //Type 1 瀹℃牳  2  鍙嶅鏍�
diff --git "a/WebAPI/Controllers/\344\273\223\345\255\230\347\256\241\347\220\206/\351\242\206\346\226\231\345\217\221\350\264\247/Kf_StockOutRequestBillController.cs" "b/WebAPI/Controllers/\344\273\223\345\255\230\347\256\241\347\220\206/\351\242\206\346\226\231\345\217\221\350\264\247/Kf_StockOutRequestBillController.cs"
index 82efd80..303acbb 100644
--- "a/WebAPI/Controllers/\344\273\223\345\255\230\347\256\241\347\220\206/\351\242\206\346\226\231\345\217\221\350\264\247/Kf_StockOutRequestBillController.cs"
+++ "b/WebAPI/Controllers/\344\273\223\345\255\230\347\256\241\347\220\206/\351\242\206\346\226\231\345\217\221\350\264\247/Kf_StockOutRequestBillController.cs"
@@ -153,6 +153,16 @@
                 long HOWNERTYPEIDHEAD = mainList[0].HOWNERTYPEIDHEAD;
                 string HBIZTYPE = mainList[0].HBIZTYPE;
 
+                //杩涜 浼氳鏈熼棿 缁撹处 鐨勫垽鏂拰鎺у埗
+                string s = "";
+                int sYear = 0;
+                int sPeriod = 0;
+                if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(HDate, ref sYear, ref sPeriod, ref s) == false)
+                {
+                    objJsonResult.Message = s;
+                    return objJsonResult;
+                }
+
                 ds = oCn.RunProcReturn("select * from h_v_IF_StockOutRequestBillList where hmainid=" + HInterID + " and 鍗曟嵁鍙�='" + HBillNo + "'", "h_v_IF_StockOutRequestBillList");
 
                 if ((OperationType == 1 || OperationType == 2) && ds.Tables[0].Rows.Count == 0)//鏂板
@@ -333,6 +343,17 @@
         {
             try
             {
+                //杩涜 浼氳鏈熼棿 缁撹处 鐨勫垽鏂拰鎺у埗
+                string s = "";
+                int sYear = 0;
+                int sPeriod = 0;
+                DateTime HDate = DateTime.Now;
+                if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(HDate, ref sYear, ref sPeriod, ref s) == false)
+                {
+                    objJsonResult.Message = s;
+                    return objJsonResult;
+                }
+
                 oCn.BeginTran();
                 oCn.RunProc("Delete From Kf_StockOutRequestBillMain where HInterID = " + HInterID);
                 oCn.RunProc("Delete From Kf_StockOutRequestBillSub where HInterID = " + HInterID);
diff --git "a/WebAPI/Controllers/\344\273\223\345\255\230\347\256\241\347\220\206/\351\252\214\346\224\266\345\205\245\345\272\223/Kf_EntrustOutBackBillController.cs" "b/WebAPI/Controllers/\344\273\223\345\255\230\347\256\241\347\220\206/\351\252\214\346\224\266\345\205\245\345\272\223/Kf_EntrustOutBackBillController.cs"
index ca9a6c1..9a17344 100644
--- "a/WebAPI/Controllers/\344\273\223\345\255\230\347\256\241\347\220\206/\351\252\214\346\224\266\345\205\245\345\272\223/Kf_EntrustOutBackBillController.cs"
+++ "b/WebAPI/Controllers/\344\273\223\345\255\230\347\256\241\347\220\206/\351\252\214\346\224\266\345\205\245\345\272\223/Kf_EntrustOutBackBillController.cs"
@@ -66,5 +66,151 @@
         }
 
         #endregion
+
+        #region 濮斿鍔犲伐鍑哄簱鍗� 瀹℃牳/鍙嶅鏍�
+
+        [Route("Kf_EntrustOutBackBill/AuditKf_EntrustOutBackBill")]
+        [HttpGet]
+        public object AuditKf_EntrustOutBackBill(string HInterID, int Type, string user)
+        {
+            try
+            {
+                //鍒ゆ柇鏄惁鏈夊鏍告潈闄�
+                if (!DBUtility.ClsPub.Security_Log("Kf_EntrustOutBill_Check", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犳潈闄愬鏍�!";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                if (string.IsNullOrWhiteSpace(HInterID))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "HInterID涓虹┖锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                ClsPub.CurUserName = user;
+                oCn.BeginTran();//寮�濮嬩簨鍔�
+
+                //Type 1 瀹℃牳  2  鍙嶅鏍�
+                if (Type == 1)
+                {
+                    //鍒ゆ柇鍗曟嵁鏄惁宸茬粡瀹℃牳
+                    DataSet ds;
+                    string sql = "select * from Kf_ICStockBillMain where HinterID = " + HInterID;
+                    ds = oCn.RunProcReturn(sql, "Kf_ICStockBillMain");
+                    if (ds == null || ds.Tables[0].Rows.Count == 0)
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鍗曟嵁涓嶅瓨鍦紒";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HCloseMan"] != null && ds.Tables[0].Rows[0]["HCloseMan"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插叧闂�!涓嶈兘鍐嶆瀹℃牳锛�";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        if (ds.Tables[0].Rows[0]["HDeleteMan"] != null && ds.Tables[0].Rows[0]["HDeleteMan"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸蹭綔搴�!涓嶈兘鍐嶆瀹℃牳锛�";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        if (ds.Tables[0].Rows[0]["HChecker"] != null && ds.Tables[0].Rows[0]["HChecker"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插鏍�!涓嶈兘鍐嶆瀹℃牳锛�";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        //瀹℃牳鍗曟嵁
+                        oCn.RunProc("update Kf_ICStockBillMain set HChecker='" + user + "',HCheckDate=getdate(),HBillStatus=2 where HinterID=" + HInterID);
+                        //瀹℃牳鏇存柊 鍙婃椂搴撳瓨琛� 鍑忓皯搴撳瓨
+                        ds = oCn.RunProcReturn("exec h_KF_UPDateICinventory  '" + HInterID + "','" + ds.Tables[0].Rows[0]["HBillType"] + "','1'", "h_KF_UPDateICinventory");
+
+                        objJsonResult.code = "1";
+                        objJsonResult.count = 1;
+                        objJsonResult.Message = "瀹℃牳鎴愬姛";
+                        objJsonResult.data = null;
+                    }
+                }
+                else
+                {
+                    //鍒ゆ柇鍗曟嵁鏄惁宸茬粡鍙嶅鏍�
+                    DataSet ds;
+                    string sql = "select * from Kf_ICStockBillMain where HinterID = " + HInterID;
+                    ds = oCn.RunProcReturn(sql, "Kf_ICStockBillMain");
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HCloseMan"] != null && ds.Tables[0].Rows[0]["HCloseMan"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插叧闂�!涓嶈兘杩涜鍙嶅鏍革紒";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        if (ds.Tables[0].Rows[0]["HDeleteMan"] != null && ds.Tables[0].Rows[0]["HDeleteMan"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸蹭綔搴�!涓嶈兘杩涜鍙嶅鏍革紒";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        if (ds.Tables[0].Rows[0]["HChecker"] == null || ds.Tables[0].Rows[0]["HChecker"].ToString() == "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁鏈鏍�!涓嶉渶瑕佸弽瀹℃牳!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        //鍙嶅鏍稿崟鎹�
+                        oCn.RunProc("update Kf_ICStockBillMain set HChecker='',HCheckDate=null,HBillStatus=1 where HinterID=" + HInterID);
+                        //鍙嶅鏍告洿鏂� 鍙婃椂搴撳瓨琛� 澧炲姞搴撳瓨
+                        ds = oCn.RunProcReturn("exec h_KF_UPDateICinventory  '" + HInterID + "','" + ds.Tables[0].Rows[0]["HBillType"] + "','2'", "h_KF_UPDateICinventory");
+
+                        objJsonResult.code = "1";
+                        objJsonResult.count = 1;
+                        objJsonResult.Message = "鍙嶅鏍告垚鍔�";
+                        objJsonResult.data = null;
+                    }
+                }
+
+                oCn.Commit();//鎻愪氦浜嬪姟
+
+                objJsonResult.code = "0";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "鎵ц鎴愬姛锛�";
+                objJsonResult.data = null;
+                return objJsonResult; ;
+
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "鎵ц澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
     }
 }
diff --git "a/WebAPI/Controllers/\344\273\223\345\255\230\347\256\241\347\220\206/\351\252\214\346\224\266\345\205\245\345\272\223/Kf_ProductInBillController.cs" "b/WebAPI/Controllers/\344\273\223\345\255\230\347\256\241\347\220\206/\351\252\214\346\224\266\345\205\245\345\272\223/Kf_ProductInBillController.cs"
index a866df1..8a8526d 100644
--- "a/WebAPI/Controllers/\344\273\223\345\255\230\347\256\241\347\220\206/\351\252\214\346\224\266\345\205\245\345\272\223/Kf_ProductInBillController.cs"
+++ "b/WebAPI/Controllers/\344\273\223\345\255\230\347\256\241\347\220\206/\351\252\214\346\224\266\345\205\245\345\272\223/Kf_ProductInBillController.cs"
@@ -131,6 +131,18 @@
                             return objJsonResult;
                         }
                     }
+
+                    //杩涜 浼氳鏈熼棿 缁撹处 鐨勫垽鏂拰鎺у埗
+                    string s = "";
+                    int sYear = 0;
+                    int sPeriod = 0;
+                    DateTime HDate = DateTime.Now;
+                    if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(HDate, ref sYear, ref sPeriod, ref s) == false)
+                    {
+                        objJsonResult.Message = s;
+                        return objJsonResult;
+                    }
+
                     //鍒犻櫎鍗曟嵁锛堝寘鍚垹闄ゅ悗鎺у埗銆佸啓鍏ユ棩蹇楋級
                     if (!oBill.DeleteBill(oBill.omodel.HInterID, oBill.omodel.HBillNo, "h_p_Kf_ProductInBill_AfterDelCtrl", HMaker, ref ClsPub.sExeReturnInfo))
                     {
@@ -196,6 +208,16 @@
                 //鍒ゆ柇瀛樺湪鎬�
                 if (oBill.ShowBill(HInterID, ref DBUtility.ClsPub.sExeReturnInfo))
                 {
+                    //杩涜 浼氳鏈熼棿 缁撹处 鐨勫垽鏂拰鎺у埗
+                    string s = "";
+                    int sYear = 0;
+                    int sPeriod = 0;
+                    DateTime HDate = DateTime.Now;
+                    if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(HDate, ref sYear, ref sPeriod, ref s) == false)
+                    {
+                        objJsonResult.Message = s;
+                        return objJsonResult;
+                    }
                     //Type 1 瀹℃牳  2  鍙嶅鏍�
                     if (Type == 1)
                     {
@@ -243,7 +265,7 @@
                                 objJsonResult.data = null;
                                 return objJsonResult;
                             }
-                        }
+                        }                       
                         //瀹℃牳鍗曟嵁
                         if (!oBill.CheckBill(HInterID, oBill.omodel.HBillNo, "h_p_Kf_ProductInBill_AfterCheckCtrl", HMaker, ref ClsPub.sExeReturnInfo))
                         {
@@ -311,7 +333,7 @@
                             objJsonResult.data = null;
                             return objJsonResult; ;
                         }
-                    }
+                    }      
                 }
                 else
                 {
@@ -827,6 +849,16 @@
                 string HSUPPLYADDRESS = mainList2[0].HSUPPLYADDRESS == null ? "''" : mainList2[0].HSUPPLYADDRESS;
                 long HPROVIDERCONTACTID = mainList2[0].HPROVIDERCONTACTID == null ? 0 : mainList2[0].HPROVIDERCONTACTID;
 
+                //杩涜 浼氳鏈熼棿 缁撹处 鐨勫垽鏂拰鎺у埗
+                string s = "";
+                int sYear = 0;
+                int sPeriod = 0;
+                if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(HDate, ref sYear, ref sPeriod, ref s) == false)
+                {
+                    objJsonResult.Message = s;
+                    return objJsonResult;
+                }
+
                 ds = oCn.RunProcReturn("select * from h_v_IF_ProductInBillList where hmainid=" + HInterID + " and 鍗曟嵁鍙�='" + HBillNo + "'", "h_v_IF_ProductInBillList");
                 if ((OperationType == 1 || OperationType == 2 || OperationType == 4) && ds.Tables[0].Rows.Count == 0)//鏂板
                 {
diff --git "a/WebAPI/Controllers/\344\273\223\345\255\230\347\256\241\347\220\206/\351\252\214\346\224\266\345\205\245\345\272\223/Kf_StepFoldinBillController.cs" "b/WebAPI/Controllers/\344\273\223\345\255\230\347\256\241\347\220\206/\351\252\214\346\224\266\345\205\245\345\272\223/Kf_StepFoldinBillController.cs"
index c86a490..021f780 100644
--- "a/WebAPI/Controllers/\344\273\223\345\255\230\347\256\241\347\220\206/\351\252\214\346\224\266\345\205\245\345\272\223/Kf_StepFoldinBillController.cs"
+++ "b/WebAPI/Controllers/\344\273\223\345\255\230\347\256\241\347\220\206/\351\252\214\346\224\266\345\205\245\345\272\223/Kf_StepFoldinBillController.cs"
@@ -243,6 +243,16 @@
                 string HCloseDate = mainList[0].HCloseDate;
                 long HCurID = mainList[0].HCurID;
 
+                //杩涜 浼氳鏈熼棿 缁撹处 鐨勫垽鏂拰鎺у埗
+                string s = "";
+                int sYear = 0;
+                int sPeriod = 0;
+                if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(HDate, ref sYear, ref sPeriod, ref s) == false)
+                {
+                    objJsonResult.Message = s;
+                    return objJsonResult;
+                }
+
                 ds = oCN.RunProcReturn("select * from h_v_IF_StepFoldInBillList where hmainid=" + HInterID + " and 鍗曟嵁鍙�='" + HBillNo + "'", "h_v_IF_StepFoldInBillList");
 
                 if ((OperationType == 1 || OperationType == 2) && ds.Tables[0].Rows.Count == 0)//鏂板
@@ -402,6 +412,18 @@
         {
             try
             {
+
+                //杩涜 浼氳鏈熼棿 缁撹处 鐨勫垽鏂拰鎺у埗
+                string s = "";
+                int sYear = 0;
+                int sPeriod = 0;
+                DateTime HDate = DateTime.Now;
+                if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(HDate, ref sYear, ref sPeriod, ref s) == false)
+                {
+                    objJsonResult.Message = s;
+                    return objJsonResult;
+                }
+
                 oCN.BeginTran();
 
                 //鍒嗗竷寮忚皟鍏ュ崟鏂板鍥炲~鍒嗗竷寮忚皟鍑哄崟鍏宠仈鏁伴噺
@@ -465,9 +487,19 @@
                     return objJsonResult;
                 }
 
+                //杩涜 浼氳鏈熼棿 缁撹处 鐨勫垽鏂拰鎺у埗
+                string s = "";
+                int sYear = 0;
+                int sPeriod = 0;
+                DateTime HDate = DateTime.Now;
+                if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(HDate, ref sYear, ref sPeriod, ref s) == false)
+                {
+                    objJsonResult.Message = s;
+                    return objJsonResult;
+                }
+
                 ClsPub.CurUserName = user;
                 BillOld.MvarItemKey = "Kf_ICStockBillMain";
-
 
                 ds = oCN.RunProcReturn("select * from Kf_ICStockBillMain where HInterID = " + int.Parse(HInterID), "Kf_ICStockBillMain");
                 string HBillNo = "";
@@ -485,10 +517,6 @@
                 {
                     HBillNo = ds.Tables[0].Rows[0]["HBillNo"].ToString();
                 }
-
-
-
-
                 //Type 1 瀹℃牳  2  鍙嶅鏍�
                 if (Type == 1)
                 {
@@ -512,7 +540,6 @@
                         objJsonResult.data = null;
                         return objJsonResult;
                     }
-
                     if (!BillOld.CheckBill(int.Parse(HInterID), HBillNo, "h_p_Cg_POInStockBill_AfterCheckCtrl", user, ref ClsPub.sExeReturnInfo))
                     {
                         objJsonResult.code = "0";
diff --git "a/WebAPI/Controllers/\345\223\201\350\264\250\347\256\241\347\220\206/\345\272\223\345\255\230\346\243\200\351\252\214\345\215\225/QC_StockCheckBillController.cs" "b/WebAPI/Controllers/\345\223\201\350\264\250\347\256\241\347\220\206/\345\272\223\345\255\230\346\243\200\351\252\214\345\215\225/QC_StockCheckBillController.cs"
new file mode 100644
index 0000000..9964cde
--- /dev/null
+++ "b/WebAPI/Controllers/\345\223\201\350\264\250\347\256\241\347\220\206/\345\272\223\345\255\230\346\243\200\351\252\214\345\215\225/QC_StockCheckBillController.cs"
@@ -0,0 +1,1041 @@
+锘縰sing 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.Web.Http;
+using WebAPI.Models;
+
+namespace WebAPI.Controllers
+{
+    //搴撳瓨妫�楠屽崟Controller
+    //鏁版嵁搴撲富琛≦C_StockCheckBillMain
+    //鏁版嵁搴撳瓙琛≦C_StockCheckBillSub
+    public class QC_StockCheckBillController : ApiController
+    {
+        public DBUtility.ClsPub.Enum_BillStatus BillStatus;
+        private json objJsonResult = new json();
+        SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
+        public DAL.ClsQC_StockCheckBill BillOld = new DAL.ClsQC_StockCheckBill();
+        DataSet ds;
+        //鑾峰彇绯荤粺鍙傛暟
+        Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();
+
+        #region 搴撳瓨妫�楠屽崟鍒楄〃  涓�  缂栬緫鍥炴樉
+        [Route("QC_StockCheckBill/QC_StockCheckBillList")]
+        [HttpGet]
+        public object QC_FirstPieceCheckBillList(string sWhere, string user)
+        {
+            try
+            {
+                List<object> columnNameList = new List<object>();
+
+                string sql1 = "select * from h_v_QC_StockCheckBill where 1 = 1  ";
+                string sql = sql1 + sWhere + " order by hmainid desc";
+                ds = oCN.RunProcReturn(sql, "h_v_QC_StockCheckBill");
+
+                //娣诲姞鍒楀悕
+                foreach (DataColumn col in ds.Tables[0].Columns)
+                {
+                    Type dataType = col.DataType;
+                    string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}";
+                    columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//鑾峰彇鍒癉ataColumn鍒楀璞$殑鍒楀悕
+                }
+
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "Sucess锛�";
+                objJsonResult.list = columnNameList;
+                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;
+            }
+        }
+        #endregion
+
+        #region 搴撳瓨妫�楠屽崟淇濆瓨
+        [Route("QC_StockCheckBill/set_SaveBill")]
+        [HttpPost]
+        public object set_SaveBill([FromBody] JObject sMainSub)
+        {
+            var _value = sMainSub["sMainSub"].ToString();
+            string msg1 = _value.ToString();
+            //淇濆瓨鍗曟嵁
+            return objJsonResult = AddBillMain(msg1);
+        }
+
+        public json AddBillMain(string msg1)
+        {
+            string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
+            string msg2 = sArray[0].ToString();
+            string msg3 = sArray[1].ToString();
+            string OperationType = sArray[2].ToString().Trim();
+            string user = sArray[3].ToString();
+            string Value = sArray[4].ToString();
+            bool bResult;
+            try
+            {
+                //鍒ゆ柇鏉冮檺
+                if (!DBUtility.ClsPub.Security_Log("QC_StockCheckBill_Edit", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犱繚瀛樻潈闄�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                msg2 = "[" + msg2.ToString() + "]";
+                List<Model.ClsQC_StockCheckBillMain> mainList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Model.ClsQC_StockCheckBillMain>>(msg2);
+                DAL.ClsQC_StockCheckBill BillNew = new DAL.ClsQC_StockCheckBill();
+                //鍒ゆ柇浼氳鏈熸槸鍚﹀悎鐞�
+                string s = "";
+                int sYear = 0;
+                int sPeriod = 0; 
+                DateTime HDate = mainList[0].HDate;//鏃ユ湡
+                if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(HDate, ref sYear, ref sPeriod, ref s) == false)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = s;
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                BillNew.omodel.HYear = sYear;
+                BillNew.omodel.HPeriod = sPeriod;
+                //鍥哄畾璧嬪��=================================
+                BillNew.omodel.HInterID = mainList[0].HInterID;//閫掑叆type寰楀埌鐨勫崟鎹甀D
+                BillNew.omodel.HBillNo = mainList[0].HBillNo;//閫掑叆type寰楀埌鐨勫崟鎹彿
+                BillNew.omodel.HDate = HDate;
+                BillNew.omodel.HRemark = mainList[0].HRemark;//澶囨敞
+                BillNew.omodel.HMaker = mainList[0].HMaker;
+                BillNew.omodel.HSourceID = ClsPub.isLong(mainList[0].HSourceID);
+                BillNew.omodel.HICMOInterID = ClsPub.isLong(mainList[0].HICMOInterID);
+                BillNew.omodel.HICMOBillNo = ClsPub.isStrNull(mainList[0].HICMOBillNo);
+                BillNew.omodel.HICMOEntryID = ClsPub.isLong(mainList[0].HICMOEntryID);
+                BillNew.omodel.HICMOQty = ClsPub.isLong(mainList[0].HICMOQty);
+                BillNew.omodel.HProcExchInterID = ClsPub.isLong(mainList[0].HProcExchInterID);
+                BillNew.omodel.HProcExchEntryID = ClsPub.isLong(mainList[0].HProcExchEntryID);
+                BillNew.omodel.HProcExchBillNo = ClsPub.isStrNull(mainList[0].HProcExchBillNo);
+                BillNew.omodel.HProcExchQty = ClsPub.isLong(mainList[0].HProcExchQty);
+                BillNew.omodel.HMaterID = ClsPub.isLong(mainList[0].HMaterID);
+                BillNew.omodel.HFirstCheckEmp = ClsPub.isLong(mainList[0].HFirstCheckEmp);
+                BillNew.omodel.HLastResult = ClsPub.isBool(mainList[0].HLastResult);
+                BillNew.omodel.HMainSourceInterID = ClsPub.isLong(mainList[0].HMainSourceInterID);
+                BillNew.omodel.HMainSourceEntryID = ClsPub.isLong(mainList[0].HMainSourceEntryID);
+                BillNew.omodel.HMainSourceBillNo = ClsPub.isStrNull(mainList[0].HMainSourceBillNo);
+                BillNew.omodel.HMainSourceBillType = ClsPub.isStrNull(mainList[0].HMainSourceBillType);
+                BillNew.omodel.HQCSchemeID = ClsPub.isLong(mainList[0].HQCSchemeID);                
+                BillNew.omodel.HBillStatus = 1;
+                BillNew.omodel.HShiftsID = ClsPub.isLong(mainList[0].HShiftsID);
+                BillNew.omodel.HErrTreatment = ClsPub.isStrNull(mainList[0].HErrTreatment);
+                List<Model.ClsQC_StockCheckBillSub> subList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Model.ClsQC_StockCheckBillSub>>(msg3);
+                BillNew.DetailColl = new List<Model.ClsQC_StockCheckBillSub>();
+                for (int i = 0; i < subList.ToArray().Length; i++)
+                {
+                    if (i >= 0)//HQty
+                    {
+                        Model.ClsQC_StockCheckBillSub oSub = new Model.ClsQC_StockCheckBillSub();
+                        oSub.HEntryID = i+1;
+                        oSub.HRemark = ClsPub.isStrNull(subList[i].HRemark);
+                        oSub.HSourceInterID = ClsPub.isLong(subList[i].HSourceInterID);
+                        oSub.HSourceEntryID = ClsPub.isLong(subList[i].HSourceEntryID);
+                        oSub.HSourceBillType = ClsPub.isStrNull(subList[i].HSourceBillType); 
+                        oSub.HSourceBillNo = ClsPub.isStrNull(subList[i].HSourceBillNo);
+                        oSub.HRelationQty = DBUtility.ClsPub.isDoule(subList[i].HRelationQty);
+                        oSub.HRelationMoney = DBUtility.ClsPub.isDoule(subList[i].HRelationMoney);
+                        oSub.HCloseMan = DBUtility.ClsPub.isStrNull(subList[i].HCloseMan);
+                        oSub.HEntryCloseDate = DBUtility.ClsPub.isDate(subList[i].HEntryCloseDate);
+                        oSub.HCloseType = DBUtility.ClsPub.isBool(subList[i].HCloseType);
+                        oSub.HQCCheckItemID = DBUtility.ClsPub.isLong(subList[i].HQCCheckItemID);
+                        oSub.HQCStd = DBUtility.ClsPub.isStrNull(subList[i].HQCStd);
+                        oSub.HUnit = DBUtility.ClsPub.isStrNull(subList[i].HUnit);
+                        oSub.HQCNote = DBUtility.ClsPub.isStrNull(subList[i].HQCNote);
+                        oSub.HResult = DBUtility.ClsPub.isStrNull(subList[i].HResult);
+                        oSub.HMax = DBUtility.ClsPub.isStrNull(subList[i].HMax);
+                        oSub.HMin = DBUtility.ClsPub.isStrNull(subList[i].HMin);
+                        oSub.HAvg = DBUtility.ClsPub.isStrNull(subList[i].HAvg);
+                        oSub.HBillNo_bak = DBUtility.ClsPub.isStrNull(mainList[0].HBillNo);
+
+                        oSub.HSampleSchemeID= DBUtility.ClsPub.isLong(subList[i].HSampleSchemeID);
+                        oSub.HSampleQty= DBUtility.ClsPub.isLong(subList[i].HSampleQty);
+                        oSub.HSampleDamageQty= DBUtility.ClsPub.isDoule(subList[i].HSampleDamageQty);
+                        oSub.HAcceptQty= DBUtility.ClsPub.isLong(subList[i].HAcceptQty);
+                        oSub.HRejectQty= DBUtility.ClsPub.isLong(subList[i].HRejectQty);
+                        oSub.HSampleUnRightQty= DBUtility.ClsPub.isDoule(subList[i].HSampleUnRightQty);
+                        oSub.HStatus= DBUtility.ClsPub.isStrNull(subList[i].HStatus);
+                        //*淇濆瓨鐨勬椂鍊� 鍐呭鍦ㄨ〃澶�  
+                        oSub.HUnitID= DBUtility.ClsPub.isLong(mainList[0].HUnitID == null ? 0 : mainList[0].HUnitID);
+                        oSub.HInspectValB = DBUtility.ClsPub.isLong(mainList[0].HInspectValB == null ? 0 : mainList[0].HInspectValB);
+                        oSub.HTargetValB = DBUtility.ClsPub.isLong(mainList[0].HTargetValB == null ? 0 : mainList[0].HTargetValB);
+
+                        oSub.HInspectVal= DBUtility.ClsPub.isStrNull(mainList[0].HInspectVal);
+                        oSub.HTargetVal= DBUtility.ClsPub.isStrNull(mainList[0].HTargetVal);
+                        oSub.HUpLimit= DBUtility.ClsPub.isStrNull(mainList[0].HUpLimit);
+                        oSub.HDownLimit= DBUtility.ClsPub.isStrNull(mainList[0].HDownLimit);
+                        //*
+                        oSub.HUpOffSet= DBUtility.ClsPub.isStrNull(subList[i].HUpOffSet);
+                        oSub.HDownOffSet= DBUtility.ClsPub.isStrNull(subList[i].HDownOffSet);
+                        oSub.HAnalysisMethod = DBUtility.ClsPub.isStrNull(subList[i].HAnalysisMethod);
+                        oSub.HKeyInspect = DBUtility.ClsPub.isLong(subList[i].HKeyInspect);
+                        oSub.HInspectInstruMentID = DBUtility.ClsPub.isLong(subList[i].HInspectInstruMentID);
+                        oSub.HInspectResult = DBUtility.ClsPub.isStrNull(subList[i].HResult);
+                        BillNew.DetailColl.Add(oSub);
+                    }
+                    else
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鏃犳槑缁嗚淇℃伅!";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                }
+               
+                //淇濆瓨瀹屾瘯鍚庡鐞�
+                if (OperationType.Equals("1") || OperationType.Equals("2"))
+                {
+                    bResult = BillNew.AddBill(ref ClsPub.sExeReturnInfo);
+                }
+                else
+                {
+                    bResult = BillNew.ModifyBill(BillNew.omodel.HInterID, ref ClsPub.sExeReturnInfo);
+                }
+                //鎻愮ず
+                if (bResult == true)
+                {
+                    objJsonResult.code = "1";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = ClsPub.sExeReturnInfo+"鍗曟嵁鍙�:" + mainList[0].HBillNo.Trim();
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                else
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "淇濆瓨澶辫触!鍘熷洜:" + ClsPub.sExeReturnInfo;
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "Exception锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion      
+
+        #region 妫�楠屽�间繚瀛�
+        [Route("QC_StockCheckBill/set_SaveValue")]
+        [HttpPost]
+        public object set_SaveValue([FromBody] JObject msg)
+        {
+            ListModels oListModels = new ListModels();
+            try
+            {
+                var _value = msg["msg"].ToString();
+                string msg1 = _value.ToString();
+                string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
+
+                string Value = sArray[0].ToString(); //妫�楠屽�艰〃鏍�
+                Int64 HInterID = Convert.ToInt64(sArray[1]); //涓籌D
+                Int64 HEntryID = Convert.ToInt64(sArray[2]); //瀛怚D
+                bool bResult;
+
+
+                List<Model.ClsQC_StockCheckBillSub_ValueGrid> valueList = new List<Model.ClsQC_StockCheckBillSub_ValueGrid>();
+                valueList = oListModels.getObjectByJson_ClsQC_StockCheckBillSub_ValueGrid(Value);
+
+                DAL.ClsQC_StockCheckBill BillNew = new DAL.ClsQC_StockCheckBill();
+
+                for (int i = 0; i < valueList.ToArray().Length; i++)
+                {
+                    if (i >= 0)//HQty
+                    {
+                        Model.ClsQC_StockCheckBillSub_ValueGrid oSub_Value = new Model.ClsQC_StockCheckBillSub_ValueGrid();
+                        oSub_Value.HInterID = HInterID;
+                        oSub_Value.HEntryID = HEntryID;
+                        oSub_Value.HSEQ = i + 1;
+                        oSub_Value.HInSpectResult = ClsPub.isStrNull(valueList[i].HInSpectResult);
+                        oSub_Value.HInSpectValue = ClsPub.isDoule(valueList[i].HInSpectValue);
+                        oSub_Value.HInSpectValueB = ClsPub.isLong(valueList[i].HInSpectValueB);
+                        oSub_Value.HInSpectValueT = ClsPub.isStrNull(valueList[i].HInSpectValueT);
+
+                        BillNew.DetailColl_Value.Add(oSub_Value);
+                    }
+                    else
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鏃犳槑缁嗚淇℃伅!";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                }
+
+                bResult = BillNew.AddValue(ref ClsPub.sExeReturnInfo, ref HInterID, ref HEntryID);
+
+                if (bResult == true)
+                {
+                    objJsonResult.code = "1";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "淇濆瓨妫�楠屽�兼垚鍔�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                else
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "淇濆瓨澶辫触!鍘熷洜:" + ClsPub.sExeReturnInfo;
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "Exception锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }                      
+        }
+        #endregion
+
+
+        #region 瀛愯〃妫�娴嬪�煎洖鏄�
+        [Route("QC_StockCheckBill/getValueList")]
+        [HttpGet]
+        public object getValueList(Int64 HInterID, Int64 HEntryID, string user)
+        {
+            DataSet ds;
+            try
+            {              
+                SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
+                List<object> columnNameList = new List<object>();
+
+                ds = oCN.RunProcReturn("select * from QC_StockCheckBillSub_ValueGrid  where  HInterID=" + HInterID + " and HEntryID="+ HEntryID, "QC_StockCheckBillSub_ValueGrid");
+
+                //娣诲姞鍒楀悕
+                foreach (DataColumn col in ds.Tables[0].Columns)
+                {
+                    Type dataType = col.DataType;
+                    string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}";
+                    columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//鑾峰彇鍒癉ataColumn鍒楀璞$殑鍒楀悕
+                }
+
+                if (ds.Tables[0].Rows.Count > 0)
+                {
+                    objJsonResult.code = "1";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "Sucess锛�";
+                    objJsonResult.data = ds.Tables[0];
+                    objJsonResult.list = columnNameList;
+                    return objJsonResult;
+                }
+                else
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犳娴嬪�兼暟鎹紒";
+                    objJsonResult.data = ds.Tables[0];
+                    return objJsonResult;
+                }
+
+               
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "娌℃湁杩斿洖浠讳綍璁板綍锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 搴撳瓨妫�楠屽崟鍗� 瀹℃牳/鍙嶅鏍�     
+        [Route("QC_StockCheckBill/AuditQC_StockCheckBill")]
+        [HttpGet]
+        public object AuditQC_StockCheckBill(string HInterID, int Type, string user)
+        {
+            try
+            {
+                //鍒ゆ柇鏄惁鏈夊鏍告潈闄�
+                if (!DBUtility.ClsPub.Security_Log("QC_StockCheckBill_Check", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犳潈闄愬鏍�!";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                if (string.IsNullOrWhiteSpace(HInterID))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "HInterID涓虹┖锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                ClsPub.CurUserName = user;
+                BillOld.MvarItemKey = "QC_StockCheckBillMain";
+                oCN.BeginTran();//寮�濮嬩簨鍔�
+
+                //Type 1 瀹℃牳  2  鍙嶅鏍�
+                if (Type == 1)
+                {
+                    //鍒ゆ柇鍗曟嵁鏄惁宸茬粡瀹℃牳
+                    DataSet ds;
+                    string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
+                    if (ds == null || ds.Tables[0].Rows.Count == 0)
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鍗曟嵁涓嶅瓨鍦紒";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HCloseMan"] != null && ds.Tables[0].Rows[0]["HCloseMan"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插叧闂�!涓嶈兘鍐嶆瀹℃牳锛�";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        if (ds.Tables[0].Rows[0]["HDeleteMan"] != null && ds.Tables[0].Rows[0]["HDeleteMan"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸蹭綔搴�!涓嶈兘鍐嶆瀹℃牳锛�";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        if (ds.Tables[0].Rows[0]["HChecker"] != null && ds.Tables[0].Rows[0]["HChecker"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插鏍�!涓嶈兘鍐嶆瀹℃牳锛�";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        //瀹℃牳鍗曟嵁
+                        if (!BillOld.CheckBill(Int64.Parse(HInterID), ref ClsPub.sExeReturnInfo))
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 1;
+                            objJsonResult.Message = "瀹℃牳澶辫触!鍘熷洜:" + ClsPub.sExeReturnInfo;
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                }
+                else
+                {
+                    //鍒ゆ柇鍗曟嵁鏄惁宸茬粡鍙嶅鏍�
+                    DataSet ds;
+                    string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HCloseMan"] != null && ds.Tables[0].Rows[0]["HCloseMan"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插叧闂�!涓嶈兘杩涜鍙嶅鏍革紒";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        if (ds.Tables[0].Rows[0]["HDeleteMan"] != null && ds.Tables[0].Rows[0]["HDeleteMan"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸蹭綔搴�!涓嶈兘杩涜鍙嶅鏍革紒";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        if (ds.Tables[0].Rows[0]["HChecker"] == null || ds.Tables[0].Rows[0]["HChecker"].ToString() == "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁鏈鏍�!涓嶉渶瑕佸弽瀹℃牳!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        //鍙嶅鏍稿崟鎹�
+                        if (!BillOld.AbandonCheck(Int64.Parse(HInterID), ref ClsPub.sExeReturnInfo))
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 1;
+                            objJsonResult.Message = "鍙嶅鏍稿け璐�!鍘熷洜:" + ClsPub.sExeReturnInfo;
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                }
+
+                oCN.Commit();//鎻愪氦浜嬪姟
+
+                objJsonResult.code = "0";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "鎵ц鎴愬姛锛�";
+                objJsonResult.data = null;
+                return objJsonResult; ;
+
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "鎵ц澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 搴撳瓨妫�楠屽崟鍗� 鍏抽棴/鍙嶅叧闂姛鑳�
+        [Route("QC_StockCheckBill/CloseQC_StockCheckBill")]
+        [HttpGet]
+        public object CloseQC_StockCheckBill(string HInterID, int Type, string user)
+        {
+            try
+            {
+                //鍒ゆ柇鏄惁鏈夊垹闄ゆ潈闄�
+                if (!DBUtility.ClsPub.Security_Log("QC_StockCheckBill_Close", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犳潈闄愬叧闂�!";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                if (string.IsNullOrWhiteSpace(HInterID))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "HInterID涓虹┖锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                ClsPub.CurUserName = user;
+                BillOld.MvarItemKey = "QC_StockCheckBillMain";
+                oCN.BeginTran();//寮�濮嬩簨鍔�
+
+                //Type 1 鍏抽棴  2  鍙嶅叧闂�
+                if (Type == 1)
+                {
+                    //鍒ゆ柇鍗曟嵁鏄惁宸茬粡鍏抽棴
+                    DataSet ds;
+                    string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
+                    if (ds == null || ds.Tables[0].Rows.Count == 0)
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鍗曟嵁涓嶅瓨鍦紒";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HDeleteMan"] != null && ds.Tables[0].Rows[0]["HDeleteMan"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸蹭綔搴�!涓嶈兘杩涜鍏抽棴!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        if (ds.Tables[0].Rows[0]["HChecker"] == null || ds.Tables[0].Rows[0]["HChecker"].ToString() == "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁鏈鏍�!涓嶈兘杩涜鍏抽棴!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+
+                        if (ds.Tables[0].Rows[0]["HCloseMan"] != null && ds.Tables[0].Rows[0]["HCloseMan"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插叧闂�!涓嶈兘鍐嶆鍏抽棴!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        //鍏抽棴鍗曟嵁
+                        if (!BillOld.CloseBill(Int64.Parse(HInterID), ref ClsPub.sExeReturnInfo))
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 1;
+                            objJsonResult.Message = "鍏抽棴澶辫触!鍘熷洜:" + ClsPub.sExeReturnInfo;
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                }
+                else
+                {
+                    //鍒ゆ柇鍗曟嵁鏄惁宸茬粡鍙嶅叧闂�
+                    DataSet ds;
+                    string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HDeleteMan"] != null && ds.Tables[0].Rows[0]["HDeleteMan"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸蹭綔搴�!涓嶈兘杩涜鍏抽棴!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        if (ds.Tables[0].Rows[0]["HChecker"] == null || ds.Tables[0].Rows[0]["HChecker"].ToString() == "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁鏈鏍�!涓嶈兘杩涜鍏抽棴!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        if (ds.Tables[0].Rows[0]["HCloseMan"] == null || ds.Tables[0].Rows[0]["HCloseMan"].ToString() == "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁鏈叧闂�!涓嶉渶瑕佸啀鍙嶅叧闂�!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        //鍙嶅叧闂崟鎹�
+                        if (!BillOld.CancelClose(Int64.Parse(HInterID), ref ClsPub.sExeReturnInfo))
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 1;
+                            objJsonResult.Message = "鍙嶅叧闂け璐�!鍘熷洜:" + ClsPub.sExeReturnInfo;
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                }
+
+                oCN.Commit();//鎻愪氦浜嬪姟
+
+                objJsonResult.code = "0";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "鎵ц鎴愬姛锛�";
+                objJsonResult.data = null;
+                return objJsonResult; ;
+
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "鎵ц澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 搴撳瓨妫�楠屽崟鍗� 浣滃簾/鍙嶄綔搴熷姛鑳�
+        [Route("QC_StockCheckBill/DropQC_StockCheckBill")]
+        [HttpGet]
+        public object DropQC_StockCheckBill(string HInterID, int Type, string user)
+        {
+            try
+            {
+                //鍒ゆ柇鏄惁鏈変綔搴熸潈闄�
+                if (!DBUtility.ClsPub.Security_Log("QC_StockCheckBill_Drop", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犳潈闄愪綔搴�!";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                if (string.IsNullOrWhiteSpace(HInterID))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "HInterID涓虹┖锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                ClsPub.CurUserName = user;
+                BillOld.MvarItemKey = "QC_StockCheckBillMain";
+                oCN.BeginTran();//寮�濮嬩簨鍔�
+
+                //Type 1 浣滃簾  2  鍙嶄綔搴�
+                if (Type == 1)
+                {
+                    //鍒ゆ柇鍗曟嵁鏄惁宸茬粡浣滃簾
+                    DataSet ds;
+                    string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
+                    if (ds == null || ds.Tables[0].Rows.Count == 0)
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鍗曟嵁涓嶅瓨鍦紒";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HChecker"] != null && ds.Tables[0].Rows[0]["HChecker"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插鏍�!涓嶈兘杩涜浣滃簾!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        if (ds.Tables[0].Rows[0]["HDeleteMan"] != null && ds.Tables[0].Rows[0]["HDeleteMan"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸蹭綔搴�!涓嶉渶瑕佸啀浣滃簾!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        //浣滃簾鍗曟嵁
+                        if (!BillOld.Cancelltion(Int64.Parse(HInterID), ref ClsPub.sExeReturnInfo))
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 1;
+                            objJsonResult.Message = "浣滃簾澶辫触!鍘熷洜:" + ClsPub.sExeReturnInfo;
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                }
+                else
+                {
+                    //鍒ゆ柇鍗曟嵁鏄惁宸茬粡鍙嶄綔搴�
+                    DataSet ds;
+                    string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HChecker"] != null && ds.Tables[0].Rows[0]["HChecker"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插鏍�!涓嶈兘杩涜浣滃簾!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        if (ds.Tables[0].Rows[0]["HDeleteMan"] == null || ds.Tables[0].Rows[0]["HDeleteMan"].ToString() == "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁鏈綔搴�!涓嶉渶瑕佸啀鍙嶄綔搴�!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        //鍙嶄綔搴熷崟鎹�
+                        if (!BillOld.AbandonCancelltion(Int64.Parse(HInterID), ref ClsPub.sExeReturnInfo))
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 1;
+                            objJsonResult.Message = "鍙嶄綔搴熷け璐�!鍘熷洜:" + ClsPub.sExeReturnInfo;
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                }
+
+                oCN.Commit();//鎻愪氦浜嬪姟
+
+                objJsonResult.code = "0";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "鎵ц鎴愬姛锛�";
+                objJsonResult.data = null;
+                return objJsonResult; ;
+
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "鎵ц澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+
+
+        #region 搴撳瓨妫�楠屽崟鍒犻櫎鍔熻兘
+
+        [Route("QC_StockCheckBill/DeltetQC_StockCheckBill")]
+        [HttpGet]
+        public object DeltetQC_StockCheckBill(string HInterID, string user)
+        {
+            string ModRightNameCheck = "QC_StockCheckBill_Delete";
+            try
+            {
+                //鍒犻櫎鏉冮檺
+                if (!DBUtility.ClsPub.Security_Log(ModRightNameCheck, 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鍒犻櫎澶辫触锛佹棤鏉冮檺锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                if (string.IsNullOrWhiteSpace(HInterID))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "HInterID涓虹┖锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+
+                //寮�濮嬩簨鐗�
+                oCN.BeginTran();    
+
+                oCN.RunProc("Delete From QC_StockCheckBillMain where HInterID = " + HInterID);
+                oCN.RunProc("Delete From QC_StockCheckBillSub where HInterID = " + HInterID);
+                oCN.RunProc("Delete From QC_StockCheckBillSub_ValueGrid where HInterID = " + HInterID);
+                oCN.RunProc("Delete From QC_StockCheckBillSub_Result where HInterID = " + HInterID);
+            
+                //鎻愪氦浜嬪姟
+                oCN.Commit();
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "鍒犻櫎鎴愬姛锛�";
+                objJsonResult.data = null;
+                return objJsonResult;
+
+            }
+            catch (Exception e)
+            {
+                oCN.RollBack(); //鍥炴粴浜嬬墿
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "鍒犻櫎澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 搴撳瓨妫�楠屽崟鏍规嵁婧愬崟绫诲瀷鑾峰彇淇℃伅-婧愬崟涓哄伐搴忚繘绔欏崟
+        [Route("QC_StockCheckBill/get_StationInBill")]
+        [HttpGet]
+        public object get_StationInBill(string HInterID, string user)
+        {
+            try
+            {
+                List<object> columnNameList = new List<object>();
+
+                string sReturn = "";
+                string sql = "";
+                if (oSystemParameter.ShowBill(ref sReturn))
+                {
+                    switch (oSystemParameter.omodel.QC_FirstPieceCheckBill_QCSchemeSource)
+                    {
+                        case "宸ュ簭":
+                            sql = "exec h_p_QC_FirstPiece_GetStationInBillList " + "'宸ュ簭','" + HInterID + "'";
+                            break;
+                        case "鐗╂枡":
+                            sql = "exec h_p_QC_FirstPiece_GetStationInBillList " + "'鐗╂枡','" + HInterID + "'";
+                            break;
+                        case "宸ヨ壓璺嚎":
+                            sql = "exec h_p_QC_FirstPiece_GetStationInBillList " + "'宸ヨ壓璺嚎','" + HInterID + "'";
+                            break;
+                    }
+                   
+                }
+
+                ds = oCN.RunProcReturn(sql, "h_p_QC_FirstPiece_GetStationInBillList");
+             
+                //娣诲姞鍒楀悕
+                foreach (DataColumn col in ds.Tables[0].Columns)
+                {
+                    Type dataType = col.DataType;
+                    string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}";
+                    columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//鑾峰彇鍒癉ataColumn鍒楀璞$殑鍒楀悕
+                }
+             
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "Sucess锛�";
+                objJsonResult.data = ds.Tables[0];
+                objJsonResult.list = columnNameList;
+                return objJsonResult;               
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "鏌ヨ鏁版嵁寮傚父锛岃涓庣鐞嗗憳鑱旂郴锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 搴撳瓨/宸ュ簭 妫�楠屽崟鏍规嵁婧愬崟绫诲瀷鑾峰彇淇℃伅-婧愬崟涓哄伐搴忔祦杞崱
+        [Route("QC_StockCheckBill/get_ProcessExchangeBill")]
+        [HttpGet]
+        public object get_ProcessExchangeBill(string HInterID, string user)
+        {
+            try
+            {
+                List<object> columnNameList = new List<object>();
+
+                string sReturn = "";
+                string sql = "";
+                if (oSystemParameter.ShowBill(ref sReturn))
+                {
+                    switch (oSystemParameter.omodel.QC_FirstPieceCheckBill_QCSchemeSource)
+                    {
+                        case "宸ュ簭":
+                            sql = "exec h_p_QC_FirstPiece_GetProcessExchangeBillList " + "'宸ュ簭','" + HInterID + "'";
+                            break;
+                        case "鐗╂枡":
+                            sql = "exec h_p_QC_FirstPiece_GetProcessExchangeBillList " + "'鐗╂枡','" + HInterID + "'";
+                            break;
+                        case "宸ヨ壓璺嚎":
+                            sql = "exec h_p_QC_FirstPiece_GetProcessExchangeBillList " + "'宸ヨ壓璺嚎','" + HInterID + "'";
+                            break;
+                    }
+
+                }
+
+                ds = oCN.RunProcReturn(sql, "h_p_QC_FirstPiece_GetProcessExchangeBillList");
+
+                //娣诲姞鍒楀悕
+                foreach (DataColumn col in ds.Tables[0].Columns)
+                {
+                    Type dataType = col.DataType;
+                    string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}";
+                    columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//鑾峰彇鍒癉ataColumn鍒楀璞$殑鍒楀悕
+                }
+
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "Sucess锛�";
+                objJsonResult.data = ds.Tables[0];
+                objJsonResult.list = columnNameList;
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "鏌ヨ鏁版嵁寮傚父锛岃涓庣鐞嗗憳鑱旂郴锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 搴撳瓨妫�楠屽崟鏍规嵁婧愬崟绫诲瀷鑾峰彇淇℃伅-婧愬崟涓虹敓浜х姸鎬佷复鏃惰〃锛�3722锛�
+      
+        [Route("QC_StockCheckBill/get_ICMOBillStatus_Tmp")]
+        [HttpGet]
+        public object get_ICMOBillStatus_Tmp(int HInterID, int HEntryID, string HBillType)
+        {
+            try
+            {
+                List<object> columnNameList = new List<object>();
+
+                if (HInterID == 0 || HBillType.Equals(""))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鍙傛暟涓嶅叏锛岃幏鍙栨簮鍗曚俊鎭け璐ワ紒HInterID锛�" + HInterID + "锛汬EntryID锛�" + HEntryID + "锛汬BillType锛�" + HBillType + "锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                string sReturn = "";
+                string sql = "";
+                if (oSystemParameter.ShowBill(ref sReturn))
+                {
+                    switch (oSystemParameter.omodel.QC_FirstPieceCheckBill_QCSchemeSource)
+                    {                       
+                        case "鐗╂枡":
+                            sql = "exec h_p_QC_GetInfoByICMOStatusBill " + "'鐗╂枡'" + "," + HInterID + "," + HEntryID + "," + HBillType;
+                            break;                        
+                    }
+
+                }
+
+                ds = oCN.RunProcReturn(sql, "h_p_QC_GetInfoByICMOStatusBill");
+
+                if (ds == null || ds.Tables[0].Rows.Count == 0)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "娌℃煡璇㈠埌鏁版嵁锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                else
+                {
+                    //娣诲姞鍒楀悕
+                    foreach (DataColumn col in ds.Tables[0].Columns)
+                    {
+                        Type dataType = col.DataType;
+                        string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}";
+                        columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//鑾峰彇鍒癉ataColumn鍒楀璞$殑鍒楀悕
+                    }
+
+                    objJsonResult.code = "1";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "杩斿洖璁板綍鎴愬姛锛�";
+                    objJsonResult.data = ds.Tables[0];
+                    objJsonResult.list = columnNameList;
+                    return objJsonResult;
+                }
+            }
+            catch (Exception e)
+            {
+                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/Controllers/\345\223\201\350\264\250\347\256\241\347\220\206/\350\275\246\351\227\264\350\207\252\346\243\200\345\215\225/QC_WorkSelfCheckBillController.cs" "b/WebAPI/Controllers/\345\223\201\350\264\250\347\256\241\347\220\206/\350\275\246\351\227\264\350\207\252\346\243\200\345\215\225/QC_WorkSelfCheckBillController.cs"
new file mode 100644
index 0000000..2bdf992
--- /dev/null
+++ "b/WebAPI/Controllers/\345\223\201\350\264\250\347\256\241\347\220\206/\350\275\246\351\227\264\350\207\252\346\243\200\345\215\225/QC_WorkSelfCheckBillController.cs"
@@ -0,0 +1,1041 @@
+锘縰sing 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.Web.Http;
+using WebAPI.Models;
+
+namespace WebAPI.Controllers
+{
+    //杞﹂棿妫�楠屽崟Controller
+    //鏁版嵁搴撲富琛≦C_WorkSelfCheckBillMain
+    //鏁版嵁搴撳瓙琛≦C_WorkSelfCheckBillSub
+    public class QC_WorkSelfCheckBillController : ApiController
+    {
+        public DBUtility.ClsPub.Enum_BillStatus BillStatus;
+        private json objJsonResult = new json();
+        SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
+        public DAL.ClsQC_WorkSelfCheckBill BillOld = new DAL.ClsQC_WorkSelfCheckBill();
+        DataSet ds;
+        //鑾峰彇绯荤粺鍙傛暟
+        Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();
+
+        #region 杞﹂棿鑷鍗曞垪琛�  涓�  缂栬緫鍥炴樉
+        [Route("QC_WorkSelfCheckBill/QC_WorkSelfCheckBillList")]
+        [HttpGet]
+        public object QC_FirstPieceCheckBillList(string sWhere, string user)
+        {
+            try
+            {
+                List<object> columnNameList = new List<object>();
+
+                string sql1 = "select * from h_v_QC_WorkSelfCheckBill where 1 = 1  ";
+                string sql = sql1 + sWhere + " order by hmainid desc";
+                ds = oCN.RunProcReturn(sql, "h_v_QC_WorkSelfCheckBill");
+
+                //娣诲姞鍒楀悕
+                foreach (DataColumn col in ds.Tables[0].Columns)
+                {
+                    Type dataType = col.DataType;
+                    string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}";
+                    columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//鑾峰彇鍒癉ataColumn鍒楀璞$殑鍒楀悕
+                }
+
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "Sucess锛�";
+                objJsonResult.list = columnNameList;
+                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;
+            }
+        }
+        #endregion
+
+        #region 杞﹂棿鑷鍗曚繚瀛�
+        [Route("QC_WorkSelfCheckBill/set_SaveBill")]
+        [HttpPost]
+        public object set_SaveBill([FromBody] JObject sMainSub)
+        {
+            var _value = sMainSub["sMainSub"].ToString();
+            string msg1 = _value.ToString();
+            //淇濆瓨鍗曟嵁
+            return objJsonResult = AddBillMain(msg1);
+        }
+
+        public json AddBillMain(string msg1)
+        {
+            string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
+            string msg2 = sArray[0].ToString();
+            string msg3 = sArray[1].ToString();
+            string OperationType = sArray[2].ToString().Trim();
+            string user = sArray[3].ToString();
+            string Value = sArray[4].ToString();
+            bool bResult;
+            try
+            {
+                //鍒ゆ柇鏉冮檺
+                if (!DBUtility.ClsPub.Security_Log("QC_WorkSelfCheckBill_Edit", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犱繚瀛樻潈闄�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                msg2 = "[" + msg2.ToString() + "]";
+                List<Model.ClsQC_WorkSelfCheckBillMain> mainList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Model.ClsQC_WorkSelfCheckBillMain>>(msg2);
+                DAL.ClsQC_WorkSelfCheckBill BillNew = new DAL.ClsQC_WorkSelfCheckBill();
+                //鍒ゆ柇浼氳鏈熸槸鍚﹀悎鐞�
+                string s = "";
+                int sYear = 0;
+                int sPeriod = 0; 
+                DateTime HDate = mainList[0].HDate;//鏃ユ湡
+                if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(HDate, ref sYear, ref sPeriod, ref s) == false)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = s;
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                BillNew.omodel.HYear = sYear;
+                BillNew.omodel.HPeriod = sPeriod;
+                //鍥哄畾璧嬪��=================================
+                BillNew.omodel.HInterID = mainList[0].HInterID;//閫掑叆type寰楀埌鐨勫崟鎹甀D
+                BillNew.omodel.HBillNo = mainList[0].HBillNo;//閫掑叆type寰楀埌鐨勫崟鎹彿
+                BillNew.omodel.HDate = HDate;
+                BillNew.omodel.HRemark = mainList[0].HRemark;//澶囨敞
+                BillNew.omodel.HMaker = mainList[0].HMaker;
+                BillNew.omodel.HSourceID = ClsPub.isLong(mainList[0].HSourceID);
+                BillNew.omodel.HICMOInterID = ClsPub.isLong(mainList[0].HICMOInterID);
+                BillNew.omodel.HICMOBillNo = ClsPub.isStrNull(mainList[0].HICMOBillNo);
+                BillNew.omodel.HICMOEntryID = ClsPub.isLong(mainList[0].HICMOEntryID);
+                BillNew.omodel.HICMOQty = ClsPub.isLong(mainList[0].HICMOQty);
+                BillNew.omodel.HProcExchInterID = ClsPub.isLong(mainList[0].HProcExchInterID);
+                BillNew.omodel.HProcExchEntryID = ClsPub.isLong(mainList[0].HProcExchEntryID);
+                BillNew.omodel.HProcExchBillNo = ClsPub.isStrNull(mainList[0].HProcExchBillNo);
+                BillNew.omodel.HProcExchQty = ClsPub.isLong(mainList[0].HProcExchQty);
+                BillNew.omodel.HMaterID = ClsPub.isLong(mainList[0].HMaterID);
+                BillNew.omodel.HFirstCheckEmp = ClsPub.isLong(mainList[0].HFirstCheckEmp);
+                BillNew.omodel.HLastResult = ClsPub.isBool(mainList[0].HLastResult);
+                BillNew.omodel.HMainSourceInterID = ClsPub.isLong(mainList[0].HMainSourceInterID);
+                BillNew.omodel.HMainSourceEntryID = ClsPub.isLong(mainList[0].HMainSourceEntryID);
+                BillNew.omodel.HMainSourceBillNo = ClsPub.isStrNull(mainList[0].HMainSourceBillNo);
+                BillNew.omodel.HMainSourceBillType = ClsPub.isStrNull(mainList[0].HMainSourceBillType);
+                BillNew.omodel.HQCSchemeID = ClsPub.isLong(mainList[0].HQCSchemeID);                
+                BillNew.omodel.HBillStatus = 1;
+                BillNew.omodel.HShiftsID = ClsPub.isLong(mainList[0].HShiftsID);
+                BillNew.omodel.HErrTreatment = ClsPub.isStrNull(mainList[0].HErrTreatment);
+                List<Model.ClsQC_WorkSelfCheckBillSub> subList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Model.ClsQC_WorkSelfCheckBillSub>>(msg3);
+                BillNew.DetailColl = new List<Model.ClsQC_WorkSelfCheckBillSub>();
+                for (int i = 0; i < subList.ToArray().Length; i++)
+                {
+                    if (i >= 0)//HQty
+                    {
+                        Model.ClsQC_WorkSelfCheckBillSub oSub = new Model.ClsQC_WorkSelfCheckBillSub();
+                        oSub.HEntryID = i+1;
+                        oSub.HRemark = ClsPub.isStrNull(subList[i].HRemark);
+                        oSub.HSourceInterID = ClsPub.isLong(subList[i].HSourceInterID);
+                        oSub.HSourceEntryID = ClsPub.isLong(subList[i].HSourceEntryID);
+                        oSub.HSourceBillType = ClsPub.isStrNull(subList[i].HSourceBillType); 
+                        oSub.HSourceBillNo = ClsPub.isStrNull(subList[i].HSourceBillNo);
+                        oSub.HRelationQty = DBUtility.ClsPub.isDoule(subList[i].HRelationQty);
+                        oSub.HRelationMoney = DBUtility.ClsPub.isDoule(subList[i].HRelationMoney);
+                        oSub.HCloseMan = DBUtility.ClsPub.isStrNull(subList[i].HCloseMan);
+                        oSub.HEntryCloseDate = DBUtility.ClsPub.isDate(subList[i].HEntryCloseDate);
+                        oSub.HCloseType = DBUtility.ClsPub.isBool(subList[i].HCloseType);
+                        oSub.HQCCheckItemID = DBUtility.ClsPub.isLong(subList[i].HQCCheckItemID);
+                        oSub.HQCStd = DBUtility.ClsPub.isStrNull(subList[i].HQCStd);
+                        oSub.HUnit = DBUtility.ClsPub.isStrNull(subList[i].HUnit);
+                        oSub.HQCNote = DBUtility.ClsPub.isStrNull(subList[i].HQCNote);
+                        oSub.HResult = DBUtility.ClsPub.isStrNull(subList[i].HResult);
+                        oSub.HMax = DBUtility.ClsPub.isStrNull(subList[i].HMax);
+                        oSub.HMin = DBUtility.ClsPub.isStrNull(subList[i].HMin);
+                        oSub.HAvg = DBUtility.ClsPub.isStrNull(subList[i].HAvg);
+                        oSub.HBillNo_bak = DBUtility.ClsPub.isStrNull(mainList[0].HBillNo);
+
+                        oSub.HSampleSchemeID= DBUtility.ClsPub.isLong(subList[i].HSampleSchemeID);
+                        oSub.HSampleQty= DBUtility.ClsPub.isLong(subList[i].HSampleQty);
+                        oSub.HSampleDamageQty= DBUtility.ClsPub.isDoule(subList[i].HSampleDamageQty);
+                        oSub.HAcceptQty= DBUtility.ClsPub.isLong(subList[i].HAcceptQty);
+                        oSub.HRejectQty= DBUtility.ClsPub.isLong(subList[i].HRejectQty);
+                        oSub.HSampleUnRightQty= DBUtility.ClsPub.isDoule(subList[i].HSampleUnRightQty);
+                        oSub.HStatus= DBUtility.ClsPub.isStrNull(subList[i].HStatus);
+                        //*淇濆瓨鐨勬椂鍊� 鍐呭鍦ㄨ〃澶�  
+                        oSub.HUnitID= DBUtility.ClsPub.isLong(mainList[0].HUnitID == null ? 0 : mainList[0].HUnitID);
+                        oSub.HInspectValB = DBUtility.ClsPub.isLong(mainList[0].HInspectValB == null ? 0 : mainList[0].HInspectValB);
+                        oSub.HTargetValB = DBUtility.ClsPub.isLong(mainList[0].HTargetValB == null ? 0 : mainList[0].HTargetValB);
+
+                        oSub.HInspectVal= DBUtility.ClsPub.isStrNull(mainList[0].HInspectVal);
+                        oSub.HTargetVal= DBUtility.ClsPub.isStrNull(mainList[0].HTargetVal);
+                        oSub.HUpLimit= DBUtility.ClsPub.isStrNull(mainList[0].HUpLimit);
+                        oSub.HDownLimit= DBUtility.ClsPub.isStrNull(mainList[0].HDownLimit);
+                        //*
+                        oSub.HUpOffSet= DBUtility.ClsPub.isStrNull(subList[i].HUpOffSet);
+                        oSub.HDownOffSet= DBUtility.ClsPub.isStrNull(subList[i].HDownOffSet);
+                        oSub.HAnalysisMethod = DBUtility.ClsPub.isStrNull(subList[i].HAnalysisMethod);
+                        oSub.HKeyInspect = DBUtility.ClsPub.isLong(subList[i].HKeyInspect);
+                        oSub.HInspectInstruMentID = DBUtility.ClsPub.isLong(subList[i].HInspectInstruMentID);
+                        oSub.HInspectResult = DBUtility.ClsPub.isStrNull(subList[i].HResult);
+                        BillNew.DetailColl.Add(oSub);
+                    }
+                    else
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鏃犳槑缁嗚淇℃伅!";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                }
+               
+                //淇濆瓨瀹屾瘯鍚庡鐞�
+                if (OperationType.Equals("1") || OperationType.Equals("2"))
+                {
+                    bResult = BillNew.AddBill(ref ClsPub.sExeReturnInfo);
+                }
+                else
+                {
+                    bResult = BillNew.ModifyBill(BillNew.omodel.HInterID, ref ClsPub.sExeReturnInfo);
+                }
+                //鎻愮ず
+                if (bResult == true)
+                {
+                    objJsonResult.code = "1";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = ClsPub.sExeReturnInfo+"鍗曟嵁鍙�:" + mainList[0].HBillNo.Trim();
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                else
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "淇濆瓨澶辫触!鍘熷洜:" + ClsPub.sExeReturnInfo;
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "Exception锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion      
+
+        #region 妫�楠屽�间繚瀛�
+        [Route("QC_WorkSelfCheckBill/set_SaveValue")]
+        [HttpPost]
+        public object set_SaveValue([FromBody] JObject msg)
+        {
+            ListModels oListModels = new ListModels();
+            try
+            {
+                var _value = msg["msg"].ToString();
+                string msg1 = _value.ToString();
+                string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
+
+                string Value = sArray[0].ToString(); //妫�楠屽�艰〃鏍�
+                Int64 HInterID = Convert.ToInt64(sArray[1]); //涓籌D
+                Int64 HEntryID = Convert.ToInt64(sArray[2]); //瀛怚D
+                bool bResult;
+
+
+                List<Model.ClsQC_WorkSelfCheckBillSub_ValueGrid> valueList = new List<Model.ClsQC_WorkSelfCheckBillSub_ValueGrid>();
+                valueList = oListModels.getObjectByJson_ClsQC_WorkSelfCheckBillSub_ValueGrid(Value);
+
+                DAL.ClsQC_WorkSelfCheckBill BillNew = new DAL.ClsQC_WorkSelfCheckBill();
+
+                for (int i = 0; i < valueList.ToArray().Length; i++)
+                {
+                    if (i >= 0)//HQty
+                    {
+                        Model.ClsQC_WorkSelfCheckBillSub_ValueGrid oSub_Value = new Model.ClsQC_WorkSelfCheckBillSub_ValueGrid();
+                        oSub_Value.HInterID = HInterID;
+                        oSub_Value.HEntryID = HEntryID;
+                        oSub_Value.HSEQ = i + 1;
+                        oSub_Value.HInSpectResult = ClsPub.isStrNull(valueList[i].HInSpectResult);
+                        oSub_Value.HInSpectValue = ClsPub.isDoule(valueList[i].HInSpectValue);
+                        oSub_Value.HInSpectValueB = ClsPub.isLong(valueList[i].HInSpectValueB);
+                        oSub_Value.HInSpectValueT = ClsPub.isStrNull(valueList[i].HInSpectValueT);
+
+                        BillNew.DetailColl_Value.Add(oSub_Value);
+                    }
+                    else
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鏃犳槑缁嗚淇℃伅!";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                }
+
+                bResult = BillNew.AddValue(ref ClsPub.sExeReturnInfo, ref HInterID, ref HEntryID);
+
+                if (bResult == true)
+                {
+                    objJsonResult.code = "1";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "淇濆瓨妫�楠屽�兼垚鍔�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                else
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "淇濆瓨澶辫触!鍘熷洜:" + ClsPub.sExeReturnInfo;
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "Exception锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }                      
+        }
+        #endregion
+
+
+        #region 瀛愯〃妫�娴嬪�煎洖鏄�
+        [Route("QC_WorkSelfCheckBill/getValueList")]
+        [HttpGet]
+        public object getValueList(Int64 HInterID, Int64 HEntryID, string user)
+        {
+            DataSet ds;
+            try
+            {              
+                SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
+                List<object> columnNameList = new List<object>();
+
+                ds = oCN.RunProcReturn("select * from QC_WorkSelfCheckBillSub_ValueGrid  where  HInterID=" + HInterID + " and HEntryID="+ HEntryID, "QC_WorkSelfCheckBillSub_ValueGrid");
+
+                //娣诲姞鍒楀悕
+                foreach (DataColumn col in ds.Tables[0].Columns)
+                {
+                    Type dataType = col.DataType;
+                    string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}";
+                    columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//鑾峰彇鍒癉ataColumn鍒楀璞$殑鍒楀悕
+                }
+
+                if (ds.Tables[0].Rows.Count > 0)
+                {
+                    objJsonResult.code = "1";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "Sucess锛�";
+                    objJsonResult.data = ds.Tables[0];
+                    objJsonResult.list = columnNameList;
+                    return objJsonResult;
+                }
+                else
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犳娴嬪�兼暟鎹紒";
+                    objJsonResult.data = ds.Tables[0];
+                    return objJsonResult;
+                }
+
+               
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "娌℃湁杩斿洖浠讳綍璁板綍锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 杞﹂棿鑷鍗� 瀹℃牳/鍙嶅鏍�     
+        [Route("QC_WorkSelfCheckBill/AuditQC_WorkSelfCheckBill")]
+        [HttpGet]
+        public object AuditQC_WorkSelfCheckBill(string HInterID, int Type, string user)
+        {
+            try
+            {
+                //鍒ゆ柇鏄惁鏈夊鏍告潈闄�
+                if (!DBUtility.ClsPub.Security_Log("QC_WorkSelfCheckBill_Check", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犳潈闄愬鏍�!";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                if (string.IsNullOrWhiteSpace(HInterID))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "HInterID涓虹┖锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                ClsPub.CurUserName = user;
+                BillOld.MvarItemKey = "QC_WorkSelfCheckBillMain";
+                oCN.BeginTran();//寮�濮嬩簨鍔�
+
+                //Type 1 瀹℃牳  2  鍙嶅鏍�
+                if (Type == 1)
+                {
+                    //鍒ゆ柇鍗曟嵁鏄惁宸茬粡瀹℃牳
+                    DataSet ds;
+                    string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
+                    if (ds == null || ds.Tables[0].Rows.Count == 0)
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鍗曟嵁涓嶅瓨鍦紒";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HCloseMan"] != null && ds.Tables[0].Rows[0]["HCloseMan"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插叧闂�!涓嶈兘鍐嶆瀹℃牳锛�";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        if (ds.Tables[0].Rows[0]["HDeleteMan"] != null && ds.Tables[0].Rows[0]["HDeleteMan"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸蹭綔搴�!涓嶈兘鍐嶆瀹℃牳锛�";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        if (ds.Tables[0].Rows[0]["HChecker"] != null && ds.Tables[0].Rows[0]["HChecker"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插鏍�!涓嶈兘鍐嶆瀹℃牳锛�";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        //瀹℃牳鍗曟嵁
+                        if (!BillOld.CheckBill(Int64.Parse(HInterID), ref ClsPub.sExeReturnInfo))
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 1;
+                            objJsonResult.Message = "瀹℃牳澶辫触!鍘熷洜:" + ClsPub.sExeReturnInfo;
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                }
+                else
+                {
+                    //鍒ゆ柇鍗曟嵁鏄惁宸茬粡鍙嶅鏍�
+                    DataSet ds;
+                    string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HCloseMan"] != null && ds.Tables[0].Rows[0]["HCloseMan"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插叧闂�!涓嶈兘杩涜鍙嶅鏍革紒";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        if (ds.Tables[0].Rows[0]["HDeleteMan"] != null && ds.Tables[0].Rows[0]["HDeleteMan"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸蹭綔搴�!涓嶈兘杩涜鍙嶅鏍革紒";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        if (ds.Tables[0].Rows[0]["HChecker"] == null || ds.Tables[0].Rows[0]["HChecker"].ToString() == "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁鏈鏍�!涓嶉渶瑕佸弽瀹℃牳!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        //鍙嶅鏍稿崟鎹�
+                        if (!BillOld.AbandonCheck(Int64.Parse(HInterID), ref ClsPub.sExeReturnInfo))
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 1;
+                            objJsonResult.Message = "鍙嶅鏍稿け璐�!鍘熷洜:" + ClsPub.sExeReturnInfo;
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                }
+
+                oCN.Commit();//鎻愪氦浜嬪姟
+
+                objJsonResult.code = "0";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "鎵ц鎴愬姛锛�";
+                objJsonResult.data = null;
+                return objJsonResult; ;
+
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "鎵ц澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 杞﹂棿鑷鍗� 鍏抽棴/鍙嶅叧闂姛鑳�
+        [Route("QC_WorkSelfCheckBill/CloseQC_WorkSelfCheckBill")]
+        [HttpGet]
+        public object CloseQC_WorkSelfCheckBill(string HInterID, int Type, string user)
+        {
+            try
+            {
+                //鍒ゆ柇鏄惁鏈夊垹闄ゆ潈闄�
+                if (!DBUtility.ClsPub.Security_Log("QC_WorkSelfCheckBill_Close", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犳潈闄愬叧闂�!";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                if (string.IsNullOrWhiteSpace(HInterID))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "HInterID涓虹┖锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                ClsPub.CurUserName = user;
+                BillOld.MvarItemKey = "QC_WorkSelfCheckBillMain";
+                oCN.BeginTran();//寮�濮嬩簨鍔�
+
+                //Type 1 鍏抽棴  2  鍙嶅叧闂�
+                if (Type == 1)
+                {
+                    //鍒ゆ柇鍗曟嵁鏄惁宸茬粡鍏抽棴
+                    DataSet ds;
+                    string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
+                    if (ds == null || ds.Tables[0].Rows.Count == 0)
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鍗曟嵁涓嶅瓨鍦紒";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HDeleteMan"] != null && ds.Tables[0].Rows[0]["HDeleteMan"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸蹭綔搴�!涓嶈兘杩涜鍏抽棴!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        if (ds.Tables[0].Rows[0]["HChecker"] == null || ds.Tables[0].Rows[0]["HChecker"].ToString() == "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁鏈鏍�!涓嶈兘杩涜鍏抽棴!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+
+                        if (ds.Tables[0].Rows[0]["HCloseMan"] != null && ds.Tables[0].Rows[0]["HCloseMan"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插叧闂�!涓嶈兘鍐嶆鍏抽棴!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        //鍏抽棴鍗曟嵁
+                        if (!BillOld.CloseBill(Int64.Parse(HInterID), ref ClsPub.sExeReturnInfo))
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 1;
+                            objJsonResult.Message = "鍏抽棴澶辫触!鍘熷洜:" + ClsPub.sExeReturnInfo;
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                }
+                else
+                {
+                    //鍒ゆ柇鍗曟嵁鏄惁宸茬粡鍙嶅叧闂�
+                    DataSet ds;
+                    string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HDeleteMan"] != null && ds.Tables[0].Rows[0]["HDeleteMan"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸蹭綔搴�!涓嶈兘杩涜鍏抽棴!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        if (ds.Tables[0].Rows[0]["HChecker"] == null || ds.Tables[0].Rows[0]["HChecker"].ToString() == "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁鏈鏍�!涓嶈兘杩涜鍏抽棴!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        if (ds.Tables[0].Rows[0]["HCloseMan"] == null || ds.Tables[0].Rows[0]["HCloseMan"].ToString() == "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁鏈叧闂�!涓嶉渶瑕佸啀鍙嶅叧闂�!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        //鍙嶅叧闂崟鎹�
+                        if (!BillOld.CancelClose(Int64.Parse(HInterID), ref ClsPub.sExeReturnInfo))
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 1;
+                            objJsonResult.Message = "鍙嶅叧闂け璐�!鍘熷洜:" + ClsPub.sExeReturnInfo;
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                }
+
+                oCN.Commit();//鎻愪氦浜嬪姟
+
+                objJsonResult.code = "0";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "鎵ц鎴愬姛锛�";
+                objJsonResult.data = null;
+                return objJsonResult; ;
+
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "鎵ц澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 杞﹂棿鑷鍗� 浣滃簾/鍙嶄綔搴熷姛鑳�
+        [Route("QC_WorkSelfCheckBill/DropQC_WorkSelfCheckBill")]
+        [HttpGet]
+        public object DropQC_WorkSelfCheckBill(string HInterID, int Type, string user)
+        {
+            try
+            {
+                //鍒ゆ柇鏄惁鏈変綔搴熸潈闄�
+                if (!DBUtility.ClsPub.Security_Log("QC_WorkSelfCheckBill_Drop", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犳潈闄愪綔搴�!";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                if (string.IsNullOrWhiteSpace(HInterID))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "HInterID涓虹┖锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                ClsPub.CurUserName = user;
+                BillOld.MvarItemKey = "QC_WorkSelfCheckBillMain";
+                oCN.BeginTran();//寮�濮嬩簨鍔�
+
+                //Type 1 浣滃簾  2  鍙嶄綔搴�
+                if (Type == 1)
+                {
+                    //鍒ゆ柇鍗曟嵁鏄惁宸茬粡浣滃簾
+                    DataSet ds;
+                    string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
+                    if (ds == null || ds.Tables[0].Rows.Count == 0)
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鍗曟嵁涓嶅瓨鍦紒";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HChecker"] != null && ds.Tables[0].Rows[0]["HChecker"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插鏍�!涓嶈兘杩涜浣滃簾!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        if (ds.Tables[0].Rows[0]["HDeleteMan"] != null && ds.Tables[0].Rows[0]["HDeleteMan"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸蹭綔搴�!涓嶉渶瑕佸啀浣滃簾!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        //浣滃簾鍗曟嵁
+                        if (!BillOld.Cancelltion(Int64.Parse(HInterID), ref ClsPub.sExeReturnInfo))
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 1;
+                            objJsonResult.Message = "浣滃簾澶辫触!鍘熷洜:" + ClsPub.sExeReturnInfo;
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                }
+                else
+                {
+                    //鍒ゆ柇鍗曟嵁鏄惁宸茬粡鍙嶄綔搴�
+                    DataSet ds;
+                    string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HChecker"] != null && ds.Tables[0].Rows[0]["HChecker"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插鏍�!涓嶈兘杩涜浣滃簾!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        if (ds.Tables[0].Rows[0]["HDeleteMan"] == null || ds.Tables[0].Rows[0]["HDeleteMan"].ToString() == "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁鏈綔搴�!涓嶉渶瑕佸啀鍙嶄綔搴�!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        //鍙嶄綔搴熷崟鎹�
+                        if (!BillOld.AbandonCancelltion(Int64.Parse(HInterID), ref ClsPub.sExeReturnInfo))
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 1;
+                            objJsonResult.Message = "鍙嶄綔搴熷け璐�!鍘熷洜:" + ClsPub.sExeReturnInfo;
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                }
+
+                oCN.Commit();//鎻愪氦浜嬪姟
+
+                objJsonResult.code = "0";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "鎵ц鎴愬姛锛�";
+                objJsonResult.data = null;
+                return objJsonResult; ;
+
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "鎵ц澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+
+
+        #region 杞﹂棿鑷鍗曞垹闄ゅ姛鑳�
+
+        [Route("QC_WorkSelfCheckBill/DeltetQC_WorkSelfCheckBill")]
+        [HttpGet]
+        public object DeltetQC_WorkSelfCheckBill(string HInterID, string user)
+        {
+            string ModRightNameCheck = "QC_WorkSelfCheckBill_Delete";
+            try
+            {
+                //鍒犻櫎鏉冮檺
+                if (!DBUtility.ClsPub.Security_Log(ModRightNameCheck, 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鍒犻櫎澶辫触锛佹棤鏉冮檺锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                if (string.IsNullOrWhiteSpace(HInterID))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "HInterID涓虹┖锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+
+                //寮�濮嬩簨鐗�
+                oCN.BeginTran();    
+
+                oCN.RunProc("Delete From QC_WorkSelfCheckBillMain where HInterID = " + HInterID);
+                oCN.RunProc("Delete From QC_WorkSelfCheckBillSub where HInterID = " + HInterID);
+                oCN.RunProc("Delete From QC_WorkSelfCheckBillSub_ValueGrid where HInterID = " + HInterID);
+                oCN.RunProc("Delete From QC_WorkSelfCheckBillSub_Result where HInterID = " + HInterID);
+            
+                //鎻愪氦浜嬪姟
+                oCN.Commit();
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "鍒犻櫎鎴愬姛锛�";
+                objJsonResult.data = null;
+                return objJsonResult;
+
+            }
+            catch (Exception e)
+            {
+                oCN.RollBack(); //鍥炴粴浜嬬墿
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "鍒犻櫎澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 杞﹂棿鑷鍗曟牴鎹簮鍗曠被鍨嬭幏鍙栦俊鎭�-婧愬崟涓哄伐搴忚繘绔欏崟
+        [Route("QC_WorkSelfCheckBill/get_StationInBill")]
+        [HttpGet]
+        public object get_StationInBill(string HInterID, string user)
+        {
+            try
+            {
+                List<object> columnNameList = new List<object>();
+
+                string sReturn = "";
+                string sql = "";
+                if (oSystemParameter.ShowBill(ref sReturn))
+                {
+                    switch (oSystemParameter.omodel.QC_FirstPieceCheckBill_QCSchemeSource)
+                    {
+                        case "宸ュ簭":
+                            sql = "exec h_p_QC_FirstPiece_GetStationInBillList " + "'宸ュ簭','" + HInterID + "'";
+                            break;
+                        case "鐗╂枡":
+                            sql = "exec h_p_QC_FirstPiece_GetStationInBillList " + "'鐗╂枡','" + HInterID + "'";
+                            break;
+                        case "宸ヨ壓璺嚎":
+                            sql = "exec h_p_QC_FirstPiece_GetStationInBillList " + "'宸ヨ壓璺嚎','" + HInterID + "'";
+                            break;
+                    }
+                   
+                }
+
+                ds = oCN.RunProcReturn(sql, "h_p_QC_FirstPiece_GetStationInBillList");
+             
+                //娣诲姞鍒楀悕
+                foreach (DataColumn col in ds.Tables[0].Columns)
+                {
+                    Type dataType = col.DataType;
+                    string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}";
+                    columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//鑾峰彇鍒癉ataColumn鍒楀璞$殑鍒楀悕
+                }
+             
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "Sucess锛�";
+                objJsonResult.data = ds.Tables[0];
+                objJsonResult.list = columnNameList;
+                return objJsonResult;               
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "鏌ヨ鏁版嵁寮傚父锛岃涓庣鐞嗗憳鑱旂郴锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 搴撳瓨/宸ュ簭 妫�楠屽崟鏍规嵁婧愬崟绫诲瀷鑾峰彇淇℃伅-婧愬崟涓哄伐搴忔祦杞崱
+        [Route("QC_WorkSelfCheckBill/get_ProcessExchangeBill")]
+        [HttpGet]
+        public object get_ProcessExchangeBill(string HInterID, string user)
+        {
+            try
+            {
+                List<object> columnNameList = new List<object>();
+
+                string sReturn = "";
+                string sql = "";
+                if (oSystemParameter.ShowBill(ref sReturn))
+                {
+                    switch (oSystemParameter.omodel.QC_FirstPieceCheckBill_QCSchemeSource)
+                    {
+                        case "宸ュ簭":
+                            sql = "exec h_p_QC_FirstPiece_GetProcessExchangeBillList " + "'宸ュ簭','" + HInterID + "'";
+                            break;
+                        case "鐗╂枡":
+                            sql = "exec h_p_QC_FirstPiece_GetProcessExchangeBillList " + "'鐗╂枡','" + HInterID + "'";
+                            break;
+                        case "宸ヨ壓璺嚎":
+                            sql = "exec h_p_QC_FirstPiece_GetProcessExchangeBillList " + "'宸ヨ壓璺嚎','" + HInterID + "'";
+                            break;
+                    }
+
+                }
+
+                ds = oCN.RunProcReturn(sql, "h_p_QC_FirstPiece_GetProcessExchangeBillList");
+
+                //娣诲姞鍒楀悕
+                foreach (DataColumn col in ds.Tables[0].Columns)
+                {
+                    Type dataType = col.DataType;
+                    string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}";
+                    columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//鑾峰彇鍒癉ataColumn鍒楀璞$殑鍒楀悕
+                }
+
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "Sucess锛�";
+                objJsonResult.data = ds.Tables[0];
+                objJsonResult.list = columnNameList;
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "鏌ヨ鏁版嵁寮傚父锛岃涓庣鐞嗗憳鑱旂郴锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 杞﹂棿鑷鍗曟牴鎹簮鍗曠被鍨嬭幏鍙栦俊鎭�-婧愬崟涓虹敓浜х姸鎬佷复鏃惰〃锛�3722锛�
+      
+        [Route("QC_WorkSelfCheckBill/get_ICMOBillStatus_Tmp")]
+        [HttpGet]
+        public object get_ICMOBillStatus_Tmp(int HInterID, int HEntryID, string HBillType)
+        {
+            try
+            {
+                List<object> columnNameList = new List<object>();
+
+                if (HInterID == 0 || HBillType.Equals(""))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鍙傛暟涓嶅叏锛岃幏鍙栨簮鍗曚俊鎭け璐ワ紒HInterID锛�" + HInterID + "锛汬EntryID锛�" + HEntryID + "锛汬BillType锛�" + HBillType + "锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                string sReturn = "";
+                string sql = "";
+                if (oSystemParameter.ShowBill(ref sReturn))
+                {
+                    switch (oSystemParameter.omodel.QC_FirstPieceCheckBill_QCSchemeSource)
+                    {                       
+                        case "鐗╂枡":
+                            sql = "exec h_p_QC_GetInfoByICMOStatusBill " + "'鐗╂枡'" + "," + HInterID + "," + HEntryID + "," + HBillType;
+                            break;                        
+                    }
+
+                }
+
+                ds = oCN.RunProcReturn(sql, "h_p_QC_GetInfoByICMOStatusBill");
+
+                if (ds == null || ds.Tables[0].Rows.Count == 0)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "娌℃煡璇㈠埌鏁版嵁锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                else
+                {
+                    //娣诲姞鍒楀悕
+                    foreach (DataColumn col in ds.Tables[0].Columns)
+                    {
+                        Type dataType = col.DataType;
+                        string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}";
+                        columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//鑾峰彇鍒癉ataColumn鍒楀璞$殑鍒楀悕
+                    }
+
+                    objJsonResult.code = "1";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "杩斿洖璁板綍鎴愬姛锛�";
+                    objJsonResult.data = ds.Tables[0];
+                    objJsonResult.list = columnNameList;
+                    return objJsonResult;
+                }
+            }
+            catch (Exception e)
+            {
+                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/Controllers/\345\223\201\350\264\250\347\256\241\347\220\206/\351\246\226\344\273\266\346\243\200\351\252\214\345\215\225/QC_FirstPieceCheckBillController.cs" "b/WebAPI/Controllers/\345\223\201\350\264\250\347\256\241\347\220\206/\351\246\226\344\273\266\346\243\200\351\252\214\345\215\225/QC_FirstPieceCheckBillController.cs"
index 217a3a1..9db108b 100644
--- "a/WebAPI/Controllers/\345\223\201\350\264\250\347\256\241\347\220\206/\351\246\226\344\273\266\346\243\200\351\252\214\345\215\225/QC_FirstPieceCheckBillController.cs"
+++ "b/WebAPI/Controllers/\345\223\201\350\264\250\347\256\241\347\220\206/\351\246\226\344\273\266\346\243\200\351\252\214\345\215\225/QC_FirstPieceCheckBillController.cs"
@@ -1056,6 +1056,62 @@
         }
         #endregion
 
+        #region 棣栦欢/宸ュ簭 妫�楠屽崟鏍规嵁婧愬崟绫诲瀷鑾峰彇淇℃伅-婧愬崟涓哄伐搴忔祦杞崱
+        [Route("CheckBill/get_ProcessExchangeBill")]
+        [HttpGet]
+        public object get_ProcessExchangeBill(string HInterID, string user)
+        {
+            try
+            {
+                List<object> columnNameList = new List<object>();
+
+                string sReturn = "";
+                string sql = "";
+                if (oSystemParameter.ShowBill(ref sReturn))
+                {
+                    switch (oSystemParameter.omodel.QC_FirstPieceCheckBill_QCSchemeSource)
+                    {
+                        case "宸ュ簭":
+                            sql = "exec h_p_QC_FirstPiece_GetProcessExchangeBillList " + "'宸ュ簭','" + HInterID + "'";
+                            break;
+                        case "鐗╂枡":
+                            sql = "exec h_p_QC_FirstPiece_GetProcessExchangeBillList " + "'鐗╂枡','" + HInterID + "'";
+                            break;
+                        case "宸ヨ壓璺嚎":
+                            sql = "exec h_p_QC_FirstPiece_GetProcessExchangeBillList " + "'宸ヨ壓璺嚎','" + HInterID + "'";
+                            break;
+                    }
+
+                }
+
+                ds = oCN.RunProcReturn(sql, "h_p_QC_FirstPiece_GetProcessExchangeBillList");
+
+                //娣诲姞鍒楀悕
+                foreach (DataColumn col in ds.Tables[0].Columns)
+                {
+                    Type dataType = col.DataType;
+                    string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}";
+                    columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//鑾峰彇鍒癉ataColumn鍒楀璞$殑鍒楀悕
+                }
+
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "Sucess锛�";
+                objJsonResult.data = ds.Tables[0];
+                objJsonResult.list = columnNameList;
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "鏌ヨ鏁版嵁寮傚父锛岃涓庣鐞嗗憳鑱旂郴锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
         #region 棣栦欢妫�楠屽崟鏍规嵁婧愬崟绫诲瀷鑾峰彇淇℃伅-婧愬崟涓虹敓浜х姸鎬佷复鏃惰〃锛�3722锛�
         /// <summary>
         ///鍙傛暟锛歴tring sql銆�
diff --git "a/WebAPI/Controllers/\345\237\272\347\241\200\350\265\204\346\226\231/\345\237\272\347\241\200\350\265\204\346\226\231/Gy_MaintainBillController.cs" "b/WebAPI/Controllers/\345\237\272\347\241\200\350\265\204\346\226\231/\345\237\272\347\241\200\350\265\204\346\226\231/Gy_MaintainBillController.cs"
index 12b8612..569e1ac 100644
--- "a/WebAPI/Controllers/\345\237\272\347\241\200\350\265\204\346\226\231/\345\237\272\347\241\200\350\265\204\346\226\231/Gy_MaintainBillController.cs"
+++ "b/WebAPI/Controllers/\345\237\272\347\241\200\350\265\204\346\226\231/\345\237\272\347\241\200\350\265\204\346\226\231/Gy_MaintainBillController.cs"
@@ -21,6 +21,7 @@
         DataSet ds;
         Models.ClsGy_Maintain oDept = new Models.ClsGy_Maintain();
         Models.ClsGy_Maintain oDeptHlp = new Models.ClsGy_Maintain();
+        DAL.ClsGy_Maintain_Ctl oMaintain = new DAL.ClsGy_Maintain_Ctl();
 
         #region 淇濆吇椤圭洰鍒楄〃鏁版嵁
         [Route("Gy_Maintain/GetMaintainlist")]
@@ -197,7 +198,7 @@
                     return objJsonResult;
                 }
 
-                if (oDept.HavSameNumber(HItemID, HNumber))
+                if (oMaintain.HavSameNumber(HItemID, HNumber))
                 {
                     objJsonResult.code = "0";
                     objJsonResult.count = 0;
@@ -317,5 +318,108 @@
             }
         }
         #endregion
+
+        #region 淇濆吇椤圭洰瀹℃牳/鍙嶅鏍�
+        [Route("Gy_Maintain/AuditGy_Maintain")]
+        [HttpGet]
+        public object AuditGy_Maintain(string HInterID, int Type, string user)
+        {
+            try
+            {
+                //鍒ゆ柇鏄惁鏈夊鏍告潈闄�
+                if (!DBUtility.ClsPub.Security_Log("Gy_Maintain_Check", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犳潈闄愬鏍�!";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                if (string.IsNullOrWhiteSpace(HInterID))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "HInterID涓虹┖锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                DAL.ClsGy_Maintain_Ctl oBill = new DAL.ClsGy_Maintain_Ctl();
+                ClsPub.CurUserName = user;
+                oCN.BeginTran();//寮�濮嬩簨鍔�
+
+                //Type 1 瀹℃牳  2  鍙嶅鏍�
+                if (Type == 1)
+                {
+                    //鍒ゆ柇鍗曟嵁鏄惁宸茬粡瀹℃牳
+                    DataSet ds;
+                    string sql = "select * from  Gy_Maintain  where HItemID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, oBill.MvarItemKey);
+                    if (ds.Tables[0].Rows[0]["HCheckEmp"] != null && ds.Tables[0].Rows[0]["HCheckEmp"].ToString() != "")
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鍗曟嵁宸插鏍�!涓嶈兘鍐嶆瀹℃牳锛�";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    //瀹℃牳鍗曟嵁
+                    if (!oBill.AuditByID2(Int64.Parse(HInterID), ref ClsPub.sExeReturnInfo))
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 1;
+                        objJsonResult.Message = "瀹℃牳澶辫触!鍘熷洜:" + ClsPub.sExeReturnInfo;
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                }
+
+                else
+                {
+                    //鍒ゆ柇鍗曟嵁鏄惁宸茬粡鍙嶅鏍�
+                    DataSet ds;
+                    string sql = "select * from  Gy_Maintain  where HItemID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, oBill.MvarItemKey);
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HCheckEmp"] == null || ds.Tables[0].Rows[0]["HCheckEmp"].ToString() == "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁鏈鏍�!涓嶉渶瑕佸弽瀹℃牳!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        //鍙嶅鏍稿崟鎹�
+                        if (!oBill.DeAuditByID2(Int64.Parse(HInterID), ref ClsPub.sExeReturnInfo))
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 1;
+                            objJsonResult.Message = "鍙嶅鏍稿け璐�!鍘熷洜:" + ClsPub.sExeReturnInfo;
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                }
+
+                oCN.Commit();//鎻愪氦浜嬪姟
+
+                objJsonResult.code = "0";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "鎵ц鎴愬姛锛�";
+                objJsonResult.data = null;
+                return objJsonResult; ;
+
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "鎵ц澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
     }
 }
diff --git "a/WebAPI/Controllers/\345\237\272\347\241\200\350\265\204\346\226\231/\345\237\272\347\241\200\350\265\204\346\226\231/Gy_RepairBillController.cs" "b/WebAPI/Controllers/\345\237\272\347\241\200\350\265\204\346\226\231/\345\237\272\347\241\200\350\265\204\346\226\231/Gy_RepairBillController.cs"
index 6964319..23c3503 100644
--- "a/WebAPI/Controllers/\345\237\272\347\241\200\350\265\204\346\226\231/\345\237\272\347\241\200\350\265\204\346\226\231/Gy_RepairBillController.cs"
+++ "b/WebAPI/Controllers/\345\237\272\347\241\200\350\265\204\346\226\231/\345\237\272\347\241\200\350\265\204\346\226\231/Gy_RepairBillController.cs"
@@ -308,5 +308,109 @@
             }
         }
         #endregion
+
+        #region 缁翠慨椤圭洰瀹℃牳/鍙嶅鏍�
+        [Route("Gy_Repair/AuditGy_Repair")]
+        [HttpGet]
+        public object AuditGy_Repair(string HInterID, int Type, string user)
+        {
+            try
+            {
+                //鍒ゆ柇鏄惁鏈夊鏍告潈闄�
+                if (!DBUtility.ClsPub.Security_Log("Gy_Repair_Check", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犳潈闄愬鏍�!";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                if (string.IsNullOrWhiteSpace(HInterID))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "HInterID涓虹┖锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                DAL.ClsGy_Repair_Ctl oBill = new DAL.ClsGy_Repair_Ctl();
+                ClsPub.CurUserName = user;
+                oCN.BeginTran();//寮�濮嬩簨鍔�
+
+                //Type 1 瀹℃牳  2  鍙嶅鏍�
+                if (Type == 1)
+                {
+                    //鍒ゆ柇鍗曟嵁鏄惁宸茬粡瀹℃牳
+                    DataSet ds;
+                    string sql = "select * from  Gy_Repair  where HItemID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, oBill.MvarItemKey);
+                    if (ds.Tables[0].Rows[0]["HCheckEmp"] != null && ds.Tables[0].Rows[0]["HCheckEmp"].ToString() != "")
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鍗曟嵁宸插鏍�!涓嶈兘鍐嶆瀹℃牳锛�";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    //瀹℃牳鍗曟嵁
+                    if (!oBill.AuditByID2(Int64.Parse(HInterID), ref ClsPub.sExeReturnInfo))
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 1;
+                        objJsonResult.Message = "瀹℃牳澶辫触!鍘熷洜:" + ClsPub.sExeReturnInfo;
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                }
+
+                else
+                {
+                    //鍒ゆ柇鍗曟嵁鏄惁宸茬粡鍙嶅鏍�
+                    DataSet ds;
+                    string sql = "select * from  Gy_Repair  where HItemID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, oBill.MvarItemKey);
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HCheckEmp"] == null || ds.Tables[0].Rows[0]["HCheckEmp"].ToString() == "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁鏈鏍�!涓嶉渶瑕佸弽瀹℃牳!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        //鍙嶅鏍稿崟鎹�
+                        if (!oBill.DeAuditByID2(Int64.Parse(HInterID), ref ClsPub.sExeReturnInfo))
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 1;
+                            objJsonResult.Message = "鍙嶅鏍稿け璐�!鍘熷洜:" + ClsPub.sExeReturnInfo;
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                }
+
+                oCN.Commit();//鎻愪氦浜嬪姟
+
+                objJsonResult.code = "0";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "鎵ц鎴愬姛锛�";
+                objJsonResult.data = null;
+                return objJsonResult; ;
+
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "鎵ц澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
     }
 }
diff --git "a/WebAPI/Controllers/\345\237\272\347\241\200\350\265\204\346\226\231/\345\237\272\347\241\200\350\265\204\346\226\231/Gy_SOPBillController.cs" "b/WebAPI/Controllers/\345\237\272\347\241\200\350\265\204\346\226\231/\345\237\272\347\241\200\350\265\204\346\226\231/Gy_SOPBillController.cs"
index 2445cbd..9625818 100644
--- "a/WebAPI/Controllers/\345\237\272\347\241\200\350\265\204\346\226\231/\345\237\272\347\241\200\350\265\204\346\226\231/Gy_SOPBillController.cs"
+++ "b/WebAPI/Controllers/\345\237\272\347\241\200\350\265\204\346\226\231/\345\237\272\347\241\200\350\265\204\346\226\231/Gy_SOPBillController.cs"
@@ -216,5 +216,42 @@
             }
         }
 
+        /// <summary>
+        /// 鏍规嵁鐗╂枡+宸ュ簭鏌ユ壘浣滀笟鎸囧涔�
+        ///鍙傛暟锛歴tring sql銆�
+        ///杩斿洖鍊硷細object銆�
+        /// </summary>
+        [Route("Gy_SopBill/getListByMaterProc")]
+        [HttpGet]
+        public object getListByMaterProc(Int64 HMaterID, Int64 HProcID)
+        {
+            try
+            {
+                var sWhere = "";
+                if (Convert.ToInt32(HMaterID) != 0 && HMaterID.ToString() != "" && Convert.ToInt32(HProcID) != 0 && HProcID.ToString() != "")
+                {
+                    sWhere += " and HMaterID = " + HMaterID + " and HProcID = " + HProcID + " and HProcID2 = " + HProcID;
+                }
+                string sql1 = string.Format(@"select * from h_v_Sc_ICMOBillStatus_Tmp_SOP where 1 = 1 " + sWhere);
+
+                ds = oCN.RunProcReturn(sql1, "h_v_Sc_ICMOBillStatus_Tmp_SOP");
+
+
+                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;
+            }
+        }
+
     }
 }
\ No newline at end of file
diff --git "a/WebAPI/Controllers/\346\235\241\347\240\201\347\256\241\347\220\206/MouldController.cs" "b/WebAPI/Controllers/\346\235\241\347\240\201\347\256\241\347\220\206/MouldController.cs"
index 4ca28fa..6a5a6b5 100644
--- "a/WebAPI/Controllers/\346\235\241\347\240\201\347\256\241\347\220\206/MouldController.cs"
+++ "b/WebAPI/Controllers/\346\235\241\347\240\201\347\256\241\347\220\206/MouldController.cs"
@@ -25,6 +25,7 @@
         public DataSet ds = new DataSet();
         private json objJsonResult = new json();
         SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
+        Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();
 
 
         #region 鍣ㄥ叿鎵爜妯″潡璋冪敤鏂规硶
@@ -36,11 +37,99 @@
         /// <returns></returns>
         [Route("MouldController/Get_CheckTypeByMouldBarCode_Json")]
         [HttpGet]
-        public object Get_CheckTypeByMouldBarCode_Json(string sBarCode, Int64 HInterID, string HBillType, string HBillNo, string HMaker, Int64 HWhID, Int64 HSPID, Int64 HSCWhID, Int64 HSCSPID, bool HRedBlueFlag, string HSourceBillNo, string HSourceBillType, Int64 HStockOrgID)
+        public object Get_CheckTypeByMouldBarCode_Json(string sBarCode, Int64 HInterID, string HBillType, string HBillNo, string HMaker, Int64 HWhID, Int64 HSPID, Int64 HSCWhID, Int64 HSCSPID, bool HRedBlueFlag, string HSourceBillNo, string HSourceBillType, Int64 HStockOrgID, Int64 HStockOutOrgID)
         {
+            Int64 HBarCodeQty = 0;   //鍏佽鎵弿鏉$爜涓暟锛�0銆�1銆�2銆�3.....锛屽叾涓�0涓轰笉鎺у埗锛�
+
+            #region 鑾峰彇绯荤粺鍙傛暟
+            string sErrMsg = "";
+            if (oSystemParameter.ShowBillByOrgID(HStockOrgID, ref sErrMsg) == true)
+            {
+                //鍣ㄥ叿閲囪喘鍏ュ簱鍗�
+                if (HBillType == "3801")
+                {
+                    HBarCodeQty = DBUtility.ClsPub.isLong(oSystemParameter.omodel.Sc_MouldProdInBill_BarCodeQty);
+                }
+                //鍣ㄥ叿棰嗙敤鍑哄簱鍗�
+                else if (HBillType == "3802")
+                {
+                    HBarCodeQty = DBUtility.ClsPub.isLong(oSystemParameter.omodel.Sc_MouldProdOutBill_BarCodeQty);
+                }
+                //鍣ㄥ叿棰嗙敤閫�搴撳崟
+                else if (HBillType == "3803")
+                {
+                    HBarCodeQty = DBUtility.ClsPub.isLong(oSystemParameter.omodel.Sc_MouldProdBackBill_BarCodeQty);
+                }
+                //鍣ㄥ叿鏀瑰埗鍑哄簱鍗�
+                else if (HBillType == "3825")
+                {
+                    HBarCodeQty = DBUtility.ClsPub.isLong(oSystemParameter.omodel.Sc_MouldRepairOutBill_BarCodeQty);
+                }
+                //鍣ㄥ叿鏀瑰埗鍏ュ簱鍗�
+                else if (HBillType == "3826")
+                {
+                    HBarCodeQty = DBUtility.ClsPub.isLong(oSystemParameter.omodel.Sc_MouldRepairInBill_BarCodeQty);
+                }
+                //鍣ㄥ叿鍏朵粬鍏ュ簱鍗�
+                else if (HBillType == "3827")
+                {
+                    HBarCodeQty = DBUtility.ClsPub.isLong(oSystemParameter.omodel.Sc_MouldOtherInBill_BarCodeQty);
+                }
+                //鍣ㄥ叿鍏朵粬鍑哄簱鍗�
+                else if (HBillType == "3828")
+                {
+                    HBarCodeQty = DBUtility.ClsPub.isLong(oSystemParameter.omodel.Sc_MouldOtherOutBill_BarCodeQty);
+                }
+                //鍣ㄥ叿鏆傚�熷叆搴撳崟
+                else if (HBillType == "3829")
+                {
+                    HBarCodeQty = DBUtility.ClsPub.isLong(oSystemParameter.omodel.Sc_MouldBorrowInBill_BarCodeQty);
+                }
+                //鍣ㄥ叿鏆傚�熷嚭搴撳崟
+                else if (HBillType == "3830")
+                {
+                    HBarCodeQty = DBUtility.ClsPub.isLong(oSystemParameter.omodel.Sc_MouldBorrowOutBill_BarCodeQty);
+                }
+                //鍣ㄥ叿鎶ュ簾鍏ュ簱鍗�
+                else if (HBillType == "3831")
+                {
+                    HBarCodeQty = DBUtility.ClsPub.isLong(oSystemParameter.omodel.Sc_MouldScrapInBill_BarCodeQty);
+                }
+                //鍣ㄥ叿鎶ュ簾鍑哄簱鍗�
+                else if (HBillType == "3832")
+                {
+                    HBarCodeQty = DBUtility.ClsPub.isLong(oSystemParameter.omodel.Sc_MouldScrapOutBill_BarCodeQty);
+                }
+                //鍣ㄥ叿鐩存帴璋冩嫧鍗�
+                else if (HBillType == "3814")
+                {
+                    HBarCodeQty = DBUtility.ClsPub.isLong(oSystemParameter.omodel.Sc_MouldProdMoveBill_BarCodeQty);
+                }
+                //鍣ㄥ叿鍒嗘璋冨嚭鍗�
+                else if (HBillType == "3840")
+                {
+                    HBarCodeQty = DBUtility.ClsPub.isLong(oSystemParameter.omodel.Sc_MouldMoveStockStepOutBill_BarCodeQty);
+                }
+                //鍣ㄥ叿鍒嗘璋冨叆鍗�
+                else if (HBillType == "3841")
+                {
+                    HBarCodeQty = DBUtility.ClsPub.isLong(oSystemParameter.omodel.Sc_MouldMoveStockStepInBill_BarCodeQty);
+                }
+            }
+            else
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "鑾峰彇绯荤粺鍙傛暟澶辫触锛� " + sErrMsg;
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+
+            #endregion
+
             try
             {
-                ds = oCn.RunProcReturn("exec h_p_WMS_AddMouldBarCode_New '" + sBarCode + "'," + HInterID.ToString() + ",'" + HBillNo + "','" + HBillType + "'," + HWhID.ToString() + "," + HSPID.ToString() + "," + HSCWhID.ToString() + "," + HSCSPID.ToString() + ",'" + HSourceBillNo + "','" + HSourceBillType + "','" + HRedBlueFlag + "','" + HMaker + "'," + HStockOrgID.ToString(), "h_p_WMS_AddMouldBarCode_New");
+                ds = oCn.RunProcReturn("exec h_p_WMS_CheckMouldBarCode_Add '" + sBarCode + "'," + HInterID.ToString() + ",'" + HBillNo + "','" + HBillType + "'," + HWhID.ToString() + "," + HSPID.ToString() + "," + HSCWhID.ToString() + "," + HSCSPID.ToString() + ",'" + HSourceBillNo + "','" + HSourceBillType + "','" + HRedBlueFlag + "','" + HMaker + "'," + HStockOrgID.ToString() + "," + HStockOutOrgID.ToString() + "," + HBarCodeQty.ToString(), "h_p_WMS_CheckMouldBarCode_Add");
                 if (ds == null || ds.Tables[0].Rows.Count == 0)
                 {
                     objJsonResult.code = "0";
@@ -161,8 +250,302 @@
 
         #endregion
 
+        #region 鍣ㄥ叿缂撳瓨鍒楄〃妯″潡璋冪敤鏂规硶
 
-        #region 妯″叿棰嗙敤鍑哄簱鍗�
+        #region 鍣ㄥ叿缂撳瓨鍒楄〃鐣岄潰锛岃繑鍥炵紦瀛樺垪琛ㄤ俊鎭�
+
+        /// <summary>
+        /// 鍣ㄥ叿缂撳瓨鍒楄〃鐣岄潰锛岃繑鍥炵紦瀛樺垪琛ㄤ俊鎭�
+        /// </summary>
+        /// <returns></returns>
+        [Route("MouldController/GetSc_MouldStockBillMain_TempList_Json")]
+        [HttpGet]
+        public object GetSc_MouldStockBillMain_TempList_Json(string HBillType, string HMaker, Int64 HStockOrgID)
+        {
+            try
+            {
+                ds = oCn.RunProcReturn("exec h_p_Sc_GetMouldStockBillMain_TempList '" + HBillType + "','" + HMaker + "'," + HStockOrgID.ToString(), "h_p_Sc_GetMouldStockBillMain_TempList");
+                if (ds == null || ds.Tables[0].Rows.Count == 0)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "娌℃湁杩斿洖浠讳綍璁板綍锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                else
+                {
+                    List<object> columnNameList = new List<object>();
+                    //娣诲姞鍒楀悕
+                    foreach (DataColumn col in ds.Tables[0].Columns)
+                    {
+                        Type dataType = col.DataType;
+                        string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}";
+                        columnNameList.Add(JsonConvert.DeserializeObject(ColmString));  //鑾峰彇鍒癉ataColumn鍒楀璞$殑鍒楀悕
+                    }
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "鑾峰彇鍗曟嵁缂撳瓨鍒楄〃淇℃伅鎴愬姛锛�";
+                    objJsonResult.data = ds.Tables[0];
+                    objJsonResult.list = columnNameList;
+                    return objJsonResult;
+                }
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "鑾峰彇鍗曟嵁缂撳瓨鍒楄〃淇℃伅澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+
+        #endregion
+
+        #region 鍣ㄥ叿缂撳瓨鍒楄〃    缂栬緫鍔熻兘璋冪敤
+
+        /// <summary>
+        /// 鍣ㄥ叿缂撳瓨鍒楄〃閫夋嫨缂栬緫鏃讹紝鍒ゆ柇鎵�閫夊崟鎹槸鍚﹀凡瀛樺湪涓婁紶璁板綍
+        /// </summary>
+        /// <returns></returns>
+        [Route("MouldController/MouldTempList_Modify_Json")]
+        [HttpGet]
+        public object MouldTempList_Modify_Json(long HInterID, string HBillNo, string HBillType)
+        {
+            try
+            {
+                ds = oCn.RunProcReturn("exec h_p_WMS_MouldTempList_Modify " + HInterID + ",'" + HBillNo + "','" + HBillType + "'", "h_p_WMS_MouldTempList_Modify");
+                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.isLong(ds.Tables[0].Rows[0]["HBack"]) == 1)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HRemark"]);
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                objJsonResult.code = "0";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "鎴愬姛";
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "缂撳瓨鍒楄〃缂栬緫鍓嶅垽鏂け璐ワ紒" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+
+        #endregion
+
+        #region 鍣ㄥ叿缂撳瓨鍒楄〃妯″潡  鍒犻櫎缂撳瓨鍒楄〃鍗曟嵁
+
+        /// <summary>
+        /// 鍒犻櫎缂撳瓨鍒楄〃鍗曟嵁
+        /// </summary>
+        /// <returns></returns>
+        [Route("MouldController/set_DeleteMouldBillList_Json")]
+        [HttpGet]
+        public object set_DeleteMouldBillList_Json(long HInterID, string HBillType)
+        {
+            try
+            {
+                oCn.RunProc("Delete from Sc_MouldStockBillMain_Temp where HInterID=" + HInterID.ToString() + " and HBillType='" + HBillType + "'", ref DBUtility.ClsPub.sExeReturnInfo);
+                objJsonResult.code = "0";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "鍒犻櫎鎴愬姛";
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "鍒犻櫎鍣ㄥ叿缂撳瓨鍒楄〃鍗曟嵁澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+
+        #endregion
+
+        #endregion
+
+
+        #region 鍣ㄥ叿鎻愪氦鐢熷崟澶勭悊鏂规硶
+
+        #region 妯″叿閲囪喘鍏ュ簱鍗�     涓婁紶鐢熷崟
+
+        /// <summary>
+        /// 妯″叿閲囪喘鍏ュ簱鍗曟柊澧炰笂浼�
+        /// </summary>
+        /// <returns></returns>
+        [Route("MouldController/set_SaveMouldProdInBill_Json")]
+        [HttpPost]
+        public object set_SaveMouldProdInBill_Json([FromBody] JObject oMain)
+        {
+            BillStatus = DBUtility.ClsPub.Enum_BillStatus.BillStatus_AddNew;
+            DAL.ClsSc_MouldProdInBill BillNew = new DAL.ClsSc_MouldProdInBill();
+            var _value = oMain["oMain"].ToString();
+            string msg1 = _value.ToString();
+            try
+            {
+                string sMainStr = "[" + msg1.ToString() + "]";
+                List<Model.ClsSc_MouldProdInBillMain> mainList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Model.ClsSc_MouldProdInBillMain>>(sMainStr);
+
+                //鍗曟嵁鍙锋槸鍚﹂噸澶�
+                if (BillNew.IsExistBillNo(ref ClsPub.sExeReturnInfo, mainList[0].HBillNo, BillStatus, mainList[0].HInterID))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鍗曟嵁鍙烽噸澶嶏紒涓嶅厑璁镐繚瀛橈紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                //鍒ゆ柇浼氳鏈熸槸鍚﹀悎鐞�
+                string s = "";
+                int sYear = 0;
+                int sPeriod = 0;
+                if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(mainList[0].HDate, ref sYear, ref sPeriod, ref s) == false)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = s;
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                //鍥哄畾璧嬪��=================================
+                BillNew.omodel.HYear = sYear;
+                BillNew.omodel.HPeriod = sPeriod;
+                BillNew.omodel.HBillType = "3801";
+                BillNew.omodel.HInterID = mainList[0].HInterID;
+                BillNew.omodel.HBillNo = mainList[0].HBillNo;
+                BillNew.omodel.HDate = mainList[0].HDate;
+                BillNew.omodel.HRemark = mainList[0].HRemark;
+                BillNew.omodel.HMaker = mainList[0].HMaker;
+                BillNew.omodel.HSTOCKORGID = mainList[0].HSTOCKORGID;
+                DBUtility.ClsPub.CurUserName = mainList[0].HMaker;
+                //====================================================
+                BillNew.omodel.HSupID = mainList[0].HSupID;
+                BillNew.omodel.HSupTypeID = 1; //锛�1 渚涘簲鍟嗐��2 瀹㈡埛銆� 3 杞﹂棿閮ㄩ棬锛�
+                BillNew.omodel.HEmpID = mainList[0].HEmpID;
+                BillNew.omodel.HManagerID = mainList[0].HManagerID;
+                BillNew.omodel.HSecManagerID = mainList[0].HSecManagerID;
+                BillNew.omodel.HKeeperID = mainList[0].HKeeperID;
+                BillNew.omodel.HDeptID = mainList[0].HDeptID;
+                BillNew.omodel.HWHID = mainList[0].HWHID;
+                BillNew.omodel.HSCWHID = mainList[0].HSCWHID;
+                BillNew.omodel.HExplanation = mainList[0].HExplanation;
+                BillNew.omodel.HInnerBillNo = mainList[0].HInnerBillNo;
+                BillNew.omodel.HRedBlueFlag = mainList[0].HRedBlueFlag;
+                //瀛愯〃璧嬪��
+                ds = oCn.RunProcReturn("exec h_p_Sc_GetMouldStockBill_Temp " + BillNew.omodel.HInterID.ToString() + ",'" + BillNew.omodel.HBillType + "'", "h_p_Sc_GetMouldStockBill_Temp");
+                if (ds == null || ds.Tables[0].Rows.Count == 0)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "娌℃湁鎵爜淇℃伅锛岃鍏堟壂鎻忔潯鐮侊紝纭鏃犺鍚庡啀鎻愪氦锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                else
+                {
+                    for (int i = 0; i <= ds.Tables[0].Rows.Count - 1; i++)
+                    {
+                        Model.ClsSc_MouldStockBillSub oSub = new Model.ClsSc_MouldStockBillSub();
+                        //鍥哄畾璧嬪��========================================
+                        oSub.HEntryID = i + 1;
+                        oSub.HRemark = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[i]["HRemark"]);
+                        oSub.HSourceInterID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HSourceInterID"]);
+                        oSub.HSourceEntryID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HSourceEntryID"]);
+                        oSub.HSourceBillType = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[i]["HSourceBillType"]);
+                        oSub.HSourceBillNo = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[i]["HSourceBillNo"]);
+                        oSub.HRelationQty = DBUtility.ClsPub.isDoule(ds.Tables[0].Rows[i]["HRelationQty"]);
+                        oSub.HRelationMoney = DBUtility.ClsPub.isDoule(ds.Tables[0].Rows[i]["HRelationMoney"]);
+                        //=============================
+                        oSub.HMaterID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HMaterID"]);
+                        oSub.HPropertyID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HAuxPropID"]);
+                        oSub.HSecUnitID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HSecUnitID"]);
+                        oSub.HSecUnitRate = DBUtility.ClsPub.isSingle(ds.Tables[0].Rows[i]["HSecUnitRate"]);
+                        oSub.HUnitID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HUnitID"]);
+                        oSub.HBatchNo = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[i]["HBatchNo"]);
+                        oSub.HQtyMust = DBUtility.ClsPub.isDoule(ds.Tables[0].Rows[i]["HQtyMust"]);
+                        oSub.HQtyRel = DBUtility.ClsPub.isDoule(ds.Tables[0].Rows[i]["HQtyRel"]);
+                        oSub.HQty = DBUtility.ClsPub.isDoule(ds.Tables[0].Rows[i]["HQty"]);
+                        oSub.HPrice = DBUtility.ClsPub.isDoule(ds.Tables[0].Rows[i]["HPrice"]);
+                        oSub.HMoney = DBUtility.ClsPub.isDoule(ds.Tables[0].Rows[i]["HMoney"]);
+                        oSub.HDesignLife = DBUtility.ClsPub.isDoule(ds.Tables[0].Rows[i]["HDesignLife"]);
+                        oSub.HLeaveLife = DBUtility.ClsPub.isDoule(ds.Tables[0].Rows[i]["HLeaveLife"]);
+                        oSub.HUseLife = DBUtility.ClsPub.isDoule(ds.Tables[0].Rows[i]["HUseLife"]);
+                        oSub.HUseLifeQty = DBUtility.ClsPub.isDoule(ds.Tables[0].Rows[i]["HUseLifeQty"]);
+                        oSub.HNewLifeQty = DBUtility.ClsPub.isDoule(ds.Tables[0].Rows[i]["HNewLifeQty"]);
+                        oSub.HWHID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HWHID"]);
+                        oSub.HSCWHID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HSCWHID"]);
+                        oSub.HSPID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HSPID"]);
+                        oSub.HSCSPID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HSCSPID"]);
+                        oSub.HSPGroupID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HSPGroupID"]);
+                        oSub.HBarCode = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[i]["HBarCode"]);
+                        oSub.HCorrespondentTypeID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HCorrespondentTypeID"]);
+                        oSub.HCorrespondentID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HCorrespondentID"]);
+                        oSub.HPOOrderInterID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HPOOrderInterID"]);
+                        oSub.HPOOrderEntryID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HPOOrderEntryID"]);
+                        oSub.HPOOrderBillNo = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[i]["HPOOrderBillNo"]);
+                        oSub.HSeOrderInterID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HSeOrderInterID"]);
+                        oSub.HSeOrderEntryID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HSeOrderEntryID"]);
+                        oSub.HSeOrderBillNo = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[i]["HSeOrderBillNo"]);
+                        oSub.HStockOrgID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HStockOrgID"]);
+                        oSub.HOWNERID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HOWNERID"]);
+                        oSub.HOtherOrgID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HOtherOrgID"]);
+                        oSub.HOWNERTYPEID = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[i]["HOWNERTYPEID"]);
+                        BillNew.DetailColl.Add(oSub);
+                    }
+                }
+                //淇濆瓨
+                bool bResult;
+                bResult = BillNew.AddBill(ref DBUtility.ClsPub.sExeReturnInfo);
+
+                if (bResult)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = DBUtility.ClsPub.sExeReturnInfo;  //鎴愬姛锛�
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                else
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "淇濆瓨澶辫触锛�" + DBUtility.ClsPub.sExeReturnInfo;
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "妯″叿閲囪喘鍏ュ簱鍗曚笂浼犲け璐ワ紒" + e.Message;
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+
+        #endregion
+
+        #region 妯″叿棰嗙敤鍑哄簱鍗�     涓婁紶鐢熷崟
 
         /// <summary>
         /// 妯″叿棰嗙敤鍑哄簱鍗曟柊澧炰笂浼�
@@ -321,9 +704,1285 @@
 
         #endregion
 
+        #region 妯″叿棰嗙敤閫�搴撳崟     涓婁紶鐢熷崟
+
+        /// <summary>
+        /// 妯″叿棰嗙敤閫�搴撳崟鏂板涓婁紶
+        /// </summary>
+        /// <returns></returns>
+        [Route("MouldController/set_SaveMouldProdBackBill_Json")]
+        [HttpPost]
+        public object set_SaveMouldProdBackBill_Json([FromBody] JObject oMain)
+        {
+            BillStatus = DBUtility.ClsPub.Enum_BillStatus.BillStatus_AddNew;
+            DAL.ClsSc_MouldProdBackBill BillNew = new DAL.ClsSc_MouldProdBackBill();
+            var _value = oMain["oMain"].ToString();
+            string msg1 = _value.ToString();
+            try
+            {
+                string sMainStr = "[" + msg1.ToString() + "]";
+                List<Model.ClsSc_MouldProdBackBillMain> mainList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Model.ClsSc_MouldProdBackBillMain>>(sMainStr);
+
+                //鍗曟嵁鍙锋槸鍚﹂噸澶�
+                if (BillNew.IsExistBillNo(ref ClsPub.sExeReturnInfo, mainList[0].HBillNo, BillStatus, mainList[0].HInterID))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鍗曟嵁鍙烽噸澶嶏紒涓嶅厑璁镐繚瀛橈紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                //鍒ゆ柇浼氳鏈熸槸鍚﹀悎鐞�
+                string s = "";
+                int sYear = 0;
+                int sPeriod = 0;
+                if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(mainList[0].HDate, ref sYear, ref sPeriod, ref s) == false)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = s;
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                //鍥哄畾璧嬪��=================================
+                BillNew.omodel.HYear = sYear;
+                BillNew.omodel.HPeriod = sPeriod;
+                BillNew.omodel.HBillType = "3803";
+                BillNew.omodel.HInterID = mainList[0].HInterID;
+                BillNew.omodel.HBillNo = mainList[0].HBillNo;
+                BillNew.omodel.HDate = mainList[0].HDate;
+                BillNew.omodel.HRemark = mainList[0].HRemark;
+                BillNew.omodel.HMaker = mainList[0].HMaker;
+                BillNew.omodel.HSTOCKORGID = mainList[0].HSTOCKORGID;
+                DBUtility.ClsPub.CurUserName = mainList[0].HMaker;
+                //====================================================
+                BillNew.omodel.HSupID = mainList[0].HSupID;
+                BillNew.omodel.HSupTypeID = mainList[0].HSupTypeID;
+                BillNew.omodel.HEmpID = mainList[0].HEmpID;
+                BillNew.omodel.HManagerID = mainList[0].HManagerID;
+                BillNew.omodel.HSecManagerID = mainList[0].HSecManagerID;
+                BillNew.omodel.HKeeperID = mainList[0].HKeeperID;
+                BillNew.omodel.HDeptID = mainList[0].HDeptID;
+                BillNew.omodel.HWHID = mainList[0].HWHID;
+                BillNew.omodel.HSCWHID = mainList[0].HSCWHID;
+                BillNew.omodel.HExplanation = mainList[0].HExplanation;
+                BillNew.omodel.HInnerBillNo = mainList[0].HInnerBillNo;
+                BillNew.omodel.HRedBlueFlag = mainList[0].HRedBlueFlag;
+                //瀛愯〃璧嬪��
+                ds = oCn.RunProcReturn("exec h_p_Sc_GetMouldStockBill_Temp " + BillNew.omodel.HInterID.ToString() + ",'" + BillNew.omodel.HBillType + "'", "h_p_Sc_GetMouldStockBill_Temp");
+                if (ds == null || ds.Tables[0].Rows.Count == 0)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "娌℃湁鎵爜淇℃伅锛岃鍏堟壂鎻忔潯鐮侊紝纭鏃犺鍚庡啀鎻愪氦锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                else
+                {
+                    for (int i = 0; i <= ds.Tables[0].Rows.Count - 1; i++)
+                    {
+                        Model.ClsSc_MouldStockBillSub oSub = new Model.ClsSc_MouldStockBillSub();
+                        //鍥哄畾璧嬪��========================================
+                        oSub.HEntryID = i + 1;
+                        oSub.HRemark = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[i]["HRemark"]);
+                        oSub.HSourceInterID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HSourceInterID"]);
+                        oSub.HSourceEntryID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HSourceEntryID"]);
+                        oSub.HSourceBillType = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[i]["HSourceBillType"]);
+                        oSub.HSourceBillNo = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[i]["HSourceBillNo"]);
+                        oSub.HRelationQty = DBUtility.ClsPub.isDoule(ds.Tables[0].Rows[i]["HRelationQty"]);
+                        oSub.HRelationMoney = DBUtility.ClsPub.isDoule(ds.Tables[0].Rows[i]["HRelationMoney"]);
+                        //=============================
+                        oSub.HMaterID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HMaterID"]);
+                        oSub.HPropertyID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HAuxPropID"]);
+                        oSub.HSecUnitID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HSecUnitID"]);
+                        oSub.HSecUnitRate = DBUtility.ClsPub.isSingle(ds.Tables[0].Rows[i]["HSecUnitRate"]);
+                        oSub.HUnitID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HUnitID"]);
+                        oSub.HBatchNo = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[i]["HBatchNo"]);
+                        oSub.HQtyMust = DBUtility.ClsPub.isDoule(ds.Tables[0].Rows[i]["HQtyMust"]);
+                        oSub.HQtyRel = DBUtility.ClsPub.isDoule(ds.Tables[0].Rows[i]["HQtyRel"]);
+                        oSub.HQty = DBUtility.ClsPub.isDoule(ds.Tables[0].Rows[i]["HQty"]);
+                        oSub.HPrice = DBUtility.ClsPub.isDoule(ds.Tables[0].Rows[i]["HPrice"]);
+                        oSub.HMoney = DBUtility.ClsPub.isDoule(ds.Tables[0].Rows[i]["HMoney"]);
+                        oSub.HDesignLife = DBUtility.ClsPub.isDoule(ds.Tables[0].Rows[i]["HDesignLife"]);
+                        oSub.HLeaveLife = DBUtility.ClsPub.isDoule(ds.Tables[0].Rows[i]["HLeaveLife"]);
+                        oSub.HUseLife = DBUtility.ClsPub.isDoule(ds.Tables[0].Rows[i]["HUseLife"]);
+                        oSub.HUseLifeQty = DBUtility.ClsPub.isDoule(ds.Tables[0].Rows[i]["HUseLifeQty"]);
+                        oSub.HNewLifeQty = DBUtility.ClsPub.isDoule(ds.Tables[0].Rows[i]["HNewLifeQty"]);
+                        oSub.HWHID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HWHID"]);
+                        oSub.HSCWHID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HSCWHID"]);
+                        oSub.HSPID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HSPID"]);
+                        oSub.HSCSPID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HSCSPID"]);
+                        oSub.HSPGroupID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HSPGroupID"]);
+                        oSub.HBarCode = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[i]["HBarCode"]);
+                        oSub.HCorrespondentTypeID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HCorrespondentTypeID"]);
+                        oSub.HCorrespondentID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HCorrespondentID"]);
+                        oSub.HPOOrderInterID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HPOOrderInterID"]);
+                        oSub.HPOOrderEntryID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HPOOrderEntryID"]);
+                        oSub.HPOOrderBillNo = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[i]["HPOOrderBillNo"]);
+                        oSub.HSeOrderInterID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HSeOrderInterID"]);
+                        oSub.HSeOrderEntryID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HSeOrderEntryID"]);
+                        oSub.HSeOrderBillNo = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[i]["HSeOrderBillNo"]);
+                        oSub.HStockOrgID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HStockOrgID"]);
+                        oSub.HOWNERID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HOWNERID"]);
+                        oSub.HOtherOrgID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HOtherOrgID"]);
+                        oSub.HOWNERTYPEID = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[i]["HOWNERTYPEID"]);
+                        BillNew.DetailColl.Add(oSub);
+                    }
+                }
+                //淇濆瓨
+                bool bResult;
+                bResult = BillNew.AddBill(ref DBUtility.ClsPub.sExeReturnInfo);
+
+                if (bResult)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = DBUtility.ClsPub.sExeReturnInfo;  //鎴愬姛锛�
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                else
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "淇濆瓨澶辫触锛�" + DBUtility.ClsPub.sExeReturnInfo;
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "妯″叿棰嗙敤閫�搴撳崟涓婁紶澶辫触锛�" + e.Message;
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+
+        #endregion
+
+        #region 妯″叿鏀瑰埗鍏ュ簱鍗�     涓婁紶鐢熷崟
+
+        /// <summary>
+        /// 妯″叿鏀瑰埗鍏ュ簱鍗曟柊澧炰笂浼�
+        /// </summary>
+        /// <returns></returns>
+        [Route("MouldController/set_SaveMouldRepairInBill_Json")]
+        [HttpPost]
+        public object set_SaveMouldRepairInBill_Json([FromBody] JObject oMain)
+        {
+            BillStatus = DBUtility.ClsPub.Enum_BillStatus.BillStatus_AddNew;
+            DAL.ClsSc_MouldRepairInBill BillNew = new DAL.ClsSc_MouldRepairInBill();
+            var _value = oMain["oMain"].ToString();
+            string msg1 = _value.ToString();
+            try
+            {
+                string sMainStr = "[" + msg1.ToString() + "]";
+                List<Model.ClsSc_MouldRepairInBillMain> mainList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Model.ClsSc_MouldRepairInBillMain>>(sMainStr);
+
+                //鍗曟嵁鍙锋槸鍚﹂噸澶�
+                if (BillNew.IsExistBillNo(ref ClsPub.sExeReturnInfo, mainList[0].HBillNo, BillStatus, mainList[0].HInterID))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鍗曟嵁鍙烽噸澶嶏紒涓嶅厑璁镐繚瀛橈紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                //鍒ゆ柇浼氳鏈熸槸鍚﹀悎鐞�
+                string s = "";
+                int sYear = 0;
+                int sPeriod = 0;
+                if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(mainList[0].HDate, ref sYear, ref sPeriod, ref s) == false)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = s;
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                //鍥哄畾璧嬪��=================================
+                BillNew.omodel.HYear = sYear;
+                BillNew.omodel.HPeriod = sPeriod;
+                BillNew.omodel.HBillType = "3826";
+                BillNew.omodel.HInterID = mainList[0].HInterID;
+                BillNew.omodel.HBillNo = mainList[0].HBillNo;
+                BillNew.omodel.HDate = mainList[0].HDate;
+                BillNew.omodel.HRemark = mainList[0].HRemark;
+                BillNew.omodel.HMaker = mainList[0].HMaker;
+                BillNew.omodel.HSTOCKORGID = mainList[0].HSTOCKORGID;
+                DBUtility.ClsPub.CurUserName = mainList[0].HMaker;
+                //====================================================
+                BillNew.omodel.HSupID = mainList[0].HSupID;
+                BillNew.omodel.HSupTypeID = 1; //锛�1 渚涘簲鍟嗐��2 瀹㈡埛銆� 3 杞﹂棿閮ㄩ棬锛�
+                BillNew.omodel.HEmpID = mainList[0].HEmpID;
+                BillNew.omodel.HManagerID = mainList[0].HManagerID;
+                BillNew.omodel.HSecManagerID = mainList[0].HSecManagerID;
+                BillNew.omodel.HKeeperID = mainList[0].HKeeperID;
+                BillNew.omodel.HDeptID = mainList[0].HDeptID;
+                BillNew.omodel.HWHID = mainList[0].HWHID;
+                BillNew.omodel.HSCWHID = mainList[0].HSCWHID;
+                BillNew.omodel.HExplanation = mainList[0].HExplanation;
+                BillNew.omodel.HInnerBillNo = mainList[0].HInnerBillNo;
+                BillNew.omodel.HRedBlueFlag = mainList[0].HRedBlueFlag;
+                //瀛愯〃璧嬪��
+                ds = oCn.RunProcReturn("exec h_p_Sc_GetMouldStockBill_Temp " + BillNew.omodel.HInterID.ToString() + ",'" + BillNew.omodel.HBillType + "'", "h_p_Sc_GetMouldStockBill_Temp");
+                if (ds == null || ds.Tables[0].Rows.Count == 0)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "娌℃湁鎵爜淇℃伅锛岃鍏堟壂鎻忔潯鐮侊紝纭鏃犺鍚庡啀鎻愪氦锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                else
+                {
+                    for (int i = 0; i <= ds.Tables[0].Rows.Count - 1; i++)
+                    {
+                        Model.ClsSc_MouldStockBillSub oSub = new Model.ClsSc_MouldStockBillSub();
+                        //鍥哄畾璧嬪��========================================
+                        oSub.HEntryID = i + 1;
+                        oSub.HRemark = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[i]["HRemark"]);
+                        oSub.HSourceInterID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HSourceInterID"]);
+                        oSub.HSourceEntryID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HSourceEntryID"]);
+                        oSub.HSourceBillType = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[i]["HSourceBillType"]);
+                        oSub.HSourceBillNo = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[i]["HSourceBillNo"]);
+                        oSub.HRelationQty = DBUtility.ClsPub.isDoule(ds.Tables[0].Rows[i]["HRelationQty"]);
+                        oSub.HRelationMoney = DBUtility.ClsPub.isDoule(ds.Tables[0].Rows[i]["HRelationMoney"]);
+                        //=============================
+                        oSub.HMaterID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HMaterID"]);
+                        oSub.HPropertyID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HAuxPropID"]);
+                        oSub.HSecUnitID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HSecUnitID"]);
+                        oSub.HSecUnitRate = DBUtility.ClsPub.isSingle(ds.Tables[0].Rows[i]["HSecUnitRate"]);
+                        oSub.HUnitID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HUnitID"]);
+                        oSub.HBatchNo = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[i]["HBatchNo"]);
+                        oSub.HQtyMust = DBUtility.ClsPub.isDoule(ds.Tables[0].Rows[i]["HQtyMust"]);
+                        oSub.HQtyRel = DBUtility.ClsPub.isDoule(ds.Tables[0].Rows[i]["HQtyRel"]);
+                        oSub.HQty = DBUtility.ClsPub.isDoule(ds.Tables[0].Rows[i]["HQty"]);
+                        oSub.HPrice = DBUtility.ClsPub.isDoule(ds.Tables[0].Rows[i]["HPrice"]);
+                        oSub.HMoney = DBUtility.ClsPub.isDoule(ds.Tables[0].Rows[i]["HMoney"]);
+                        oSub.HDesignLife = DBUtility.ClsPub.isDoule(ds.Tables[0].Rows[i]["HDesignLife"]);
+                        oSub.HLeaveLife = DBUtility.ClsPub.isDoule(ds.Tables[0].Rows[i]["HLeaveLife"]);
+                        oSub.HUseLife = DBUtility.ClsPub.isDoule(ds.Tables[0].Rows[i]["HUseLife"]);
+                        oSub.HUseLifeQty = DBUtility.ClsPub.isDoule(ds.Tables[0].Rows[i]["HUseLifeQty"]);
+                        oSub.HNewLifeQty = DBUtility.ClsPub.isDoule(ds.Tables[0].Rows[i]["HNewLifeQty"]);
+                        oSub.HWHID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HWHID"]);
+                        oSub.HSCWHID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HSCWHID"]);
+                        oSub.HSPID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HSPID"]);
+                        oSub.HSCSPID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HSCSPID"]);
+                        oSub.HSPGroupID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HSPGroupID"]);
+                        oSub.HBarCode = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[i]["HBarCode"]);
+                        oSub.HCorrespondentTypeID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HCorrespondentTypeID"]);
+                        oSub.HCorrespondentID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HCorrespondentID"]);
+                        oSub.HPOOrderInterID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HPOOrderInterID"]);
+                        oSub.HPOOrderEntryID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HPOOrderEntryID"]);
+                        oSub.HPOOrderBillNo = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[i]["HPOOrderBillNo"]);
+                        oSub.HSeOrderInterID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HSeOrderInterID"]);
+                        oSub.HSeOrderEntryID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HSeOrderEntryID"]);
+                        oSub.HSeOrderBillNo = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[i]["HSeOrderBillNo"]);
+                        oSub.HStockOrgID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HStockOrgID"]);
+                        oSub.HOWNERID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HOWNERID"]);
+                        oSub.HOtherOrgID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HOtherOrgID"]);
+                        oSub.HOWNERTYPEID = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[i]["HOWNERTYPEID"]);
+                        BillNew.DetailColl.Add(oSub);
+                    }
+                }
+                //淇濆瓨
+                bool bResult;
+                bResult = BillNew.AddBill(ref DBUtility.ClsPub.sExeReturnInfo);
+
+                if (bResult)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = DBUtility.ClsPub.sExeReturnInfo;  //鎴愬姛锛�
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                else
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "淇濆瓨澶辫触锛�" + DBUtility.ClsPub.sExeReturnInfo;
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "妯″叿鏀瑰埗鍏ュ簱鍗曚笂浼犲け璐ワ紒" + e.Message;
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+
+        #endregion
+
+        #region 妯″叿鏀瑰埗鍑哄簱鍗�     涓婁紶鐢熷崟
+
+        /// <summary>
+        /// 妯″叿鏀瑰埗鍑哄簱鍗曟柊澧炰笂浼�
+        /// </summary>
+        /// <returns></returns>
+        [Route("MouldController/set_SaveMouldRepairOutBill_Json")]
+        [HttpPost]
+        public object set_SaveMouldRepairOutBill_Json([FromBody] JObject oMain)
+        {
+            BillStatus = DBUtility.ClsPub.Enum_BillStatus.BillStatus_AddNew;
+            DAL.ClsSc_MouldRepairOutBill BillNew = new DAL.ClsSc_MouldRepairOutBill();
+            var _value = oMain["oMain"].ToString();
+            string msg1 = _value.ToString();
+            try
+            {
+                string sMainStr = "[" + msg1.ToString() + "]";
+                List<Model.ClsSc_MouldRepairOutBillMain> mainList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Model.ClsSc_MouldRepairOutBillMain>>(sMainStr);
+
+                //鍗曟嵁鍙锋槸鍚﹂噸澶�
+                if (BillNew.IsExistBillNo(ref ClsPub.sExeReturnInfo, mainList[0].HBillNo, BillStatus, mainList[0].HInterID))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鍗曟嵁鍙烽噸澶嶏紒涓嶅厑璁镐繚瀛橈紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                //鍒ゆ柇浼氳鏈熸槸鍚﹀悎鐞�
+                string s = "";
+                int sYear = 0;
+                int sPeriod = 0;
+                if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(mainList[0].HDate, ref sYear, ref sPeriod, ref s) == false)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = s;
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                //鍥哄畾璧嬪��=================================
+                BillNew.omodel.HYear = sYear;
+                BillNew.omodel.HPeriod = sPeriod;
+                BillNew.omodel.HBillType = "3825";
+                BillNew.omodel.HInterID = mainList[0].HInterID;
+                BillNew.omodel.HBillNo = mainList[0].HBillNo;
+                BillNew.omodel.HDate = mainList[0].HDate;
+                BillNew.omodel.HRemark = mainList[0].HRemark;
+                BillNew.omodel.HMaker = mainList[0].HMaker;
+                BillNew.omodel.HSTOCKORGID = mainList[0].HSTOCKORGID;
+                DBUtility.ClsPub.CurUserName = mainList[0].HMaker;
+                //====================================================
+                BillNew.omodel.HSupID = mainList[0].HSupID;
+                BillNew.omodel.HSupTypeID = 1; //锛�1 渚涘簲鍟嗐��2 瀹㈡埛銆� 3 杞﹂棿閮ㄩ棬锛�
+                BillNew.omodel.HEmpID = mainList[0].HEmpID;
+                BillNew.omodel.HManagerID = mainList[0].HManagerID;
+                BillNew.omodel.HSecManagerID = mainList[0].HSecManagerID;
+                BillNew.omodel.HKeeperID = mainList[0].HKeeperID;
+                BillNew.omodel.HDeptID = mainList[0].HDeptID;
+                BillNew.omodel.HWHID = mainList[0].HWHID;
+                BillNew.omodel.HSCWHID = mainList[0].HSCWHID;
+                BillNew.omodel.HExplanation = mainList[0].HExplanation;
+                BillNew.omodel.HInnerBillNo = mainList[0].HInnerBillNo;
+                BillNew.omodel.HRedBlueFlag = mainList[0].HRedBlueFlag;
+                //瀛愯〃璧嬪��
+                ds = oCn.RunProcReturn("exec h_p_Sc_GetMouldStockBill_Temp " + BillNew.omodel.HInterID.ToString() + ",'" + BillNew.omodel.HBillType + "'", "h_p_Sc_GetMouldStockBill_Temp");
+                if (ds == null || ds.Tables[0].Rows.Count == 0)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "娌℃湁鎵爜淇℃伅锛岃鍏堟壂鎻忔潯鐮侊紝纭鏃犺鍚庡啀鎻愪氦锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                else
+                {
+                    for (int i = 0; i <= ds.Tables[0].Rows.Count - 1; i++)
+                    {
+                        Model.ClsSc_MouldStockBillSub oSub = new Model.ClsSc_MouldStockBillSub();
+                        //鍥哄畾璧嬪��========================================
+                        oSub.HEntryID = i + 1;
+                        oSub.HRemark = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[i]["HRemark"]);
+                        oSub.HSourceInterID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HSourceInterID"]);
+                        oSub.HSourceEntryID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HSourceEntryID"]);
+                        oSub.HSourceBillType = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[i]["HSourceBillType"]);
+                        oSub.HSourceBillNo = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[i]["HSourceBillNo"]);
+                        oSub.HRelationQty = DBUtility.ClsPub.isDoule(ds.Tables[0].Rows[i]["HRelationQty"]);
+                        oSub.HRelationMoney = DBUtility.ClsPub.isDoule(ds.Tables[0].Rows[i]["HRelationMoney"]);
+                        //=============================
+                        oSub.HMaterID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HMaterID"]);
+                        oSub.HPropertyID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HAuxPropID"]);
+                        oSub.HSecUnitID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HSecUnitID"]);
+                        oSub.HSecUnitRate = DBUtility.ClsPub.isSingle(ds.Tables[0].Rows[i]["HSecUnitRate"]);
+                        oSub.HUnitID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HUnitID"]);
+                        oSub.HBatchNo = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[i]["HBatchNo"]);
+                        oSub.HQtyMust = DBUtility.ClsPub.isDoule(ds.Tables[0].Rows[i]["HQtyMust"]);
+                        oSub.HQtyRel = DBUtility.ClsPub.isDoule(ds.Tables[0].Rows[i]["HQtyRel"]);
+                        oSub.HQty = DBUtility.ClsPub.isDoule(ds.Tables[0].Rows[i]["HQty"]);
+                        oSub.HPrice = DBUtility.ClsPub.isDoule(ds.Tables[0].Rows[i]["HPrice"]);
+                        oSub.HMoney = DBUtility.ClsPub.isDoule(ds.Tables[0].Rows[i]["HMoney"]);
+                        oSub.HDesignLife = DBUtility.ClsPub.isDoule(ds.Tables[0].Rows[i]["HDesignLife"]);
+                        oSub.HLeaveLife = DBUtility.ClsPub.isDoule(ds.Tables[0].Rows[i]["HLeaveLife"]);
+                        oSub.HUseLife = DBUtility.ClsPub.isDoule(ds.Tables[0].Rows[i]["HUseLife"]);
+                        oSub.HUseLifeQty = DBUtility.ClsPub.isDoule(ds.Tables[0].Rows[i]["HUseLifeQty"]);
+                        oSub.HNewLifeQty = DBUtility.ClsPub.isDoule(ds.Tables[0].Rows[i]["HNewLifeQty"]);
+                        oSub.HWHID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HWHID"]);
+                        oSub.HSCWHID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HSCWHID"]);
+                        oSub.HSPID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HSPID"]);
+                        oSub.HSCSPID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HSCSPID"]);
+                        oSub.HSPGroupID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HSPGroupID"]);
+                        oSub.HBarCode = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[i]["HBarCode"]);
+                        oSub.HCorrespondentTypeID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HCorrespondentTypeID"]);
+                        oSub.HCorrespondentID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HCorrespondentID"]);
+                        oSub.HPOOrderInterID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HPOOrderInterID"]);
+                        oSub.HPOOrderEntryID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HPOOrderEntryID"]);
+                        oSub.HPOOrderBillNo = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[i]["HPOOrderBillNo"]);
+                        oSub.HSeOrderInterID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HSeOrderInterID"]);
+                        oSub.HSeOrderEntryID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HSeOrderEntryID"]);
+                        oSub.HSeOrderBillNo = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[i]["HSeOrderBillNo"]);
+                        oSub.HStockOrgID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HStockOrgID"]);
+                        oSub.HOWNERID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HOWNERID"]);
+                        oSub.HOtherOrgID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HOtherOrgID"]);
+                        oSub.HOWNERTYPEID = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[i]["HOWNERTYPEID"]);
+                        BillNew.DetailColl.Add(oSub);
+                    }
+                }
+                //淇濆瓨
+                bool bResult;
+                bResult = BillNew.AddBill(ref DBUtility.ClsPub.sExeReturnInfo);
+
+                if (bResult)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = DBUtility.ClsPub.sExeReturnInfo;  //鎴愬姛锛�
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                else
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "淇濆瓨澶辫触锛�" + DBUtility.ClsPub.sExeReturnInfo;
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "妯″叿鏀瑰埗鍑哄簱鍗曚笂浼犲け璐ワ紒" + e.Message;
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+
+        #endregion
+
+        #region 妯″叿鍏朵粬鍏ュ簱鍗�     涓婁紶鐢熷崟
+
+        /// <summary>
+        /// 妯″叿鍏朵粬鍏ュ簱鍗曟柊澧炰笂浼�
+        /// </summary>
+        /// <returns></returns>
+        [Route("MouldController/set_SaveMouldOtherInBill_Json")]
+        [HttpPost]
+        public object set_SaveMouldOtherInBill_Json([FromBody] JObject oMain)
+        {
+            BillStatus = DBUtility.ClsPub.Enum_BillStatus.BillStatus_AddNew;
+            DAL.ClsSc_MouldOtherInBill BillNew = new DAL.ClsSc_MouldOtherInBill();
+            var _value = oMain["oMain"].ToString();
+            string msg1 = _value.ToString();
+            try
+            {
+                string sMainStr = "[" + msg1.ToString() + "]";
+                List<Model.ClsSc_MouldOtherInBillMain> mainList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Model.ClsSc_MouldOtherInBillMain>>(sMainStr);
+
+                //鍗曟嵁鍙锋槸鍚﹂噸澶�
+                if (BillNew.IsExistBillNo(ref ClsPub.sExeReturnInfo, mainList[0].HBillNo, BillStatus, mainList[0].HInterID))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鍗曟嵁鍙烽噸澶嶏紒涓嶅厑璁镐繚瀛橈紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                //鍒ゆ柇浼氳鏈熸槸鍚﹀悎鐞�
+                string s = "";
+                int sYear = 0;
+                int sPeriod = 0;
+                if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(mainList[0].HDate, ref sYear, ref sPeriod, ref s) == false)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = s;
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                //鍥哄畾璧嬪��=================================
+                BillNew.omodel.HYear = sYear;
+                BillNew.omodel.HPeriod = sPeriod;
+                BillNew.omodel.HBillType = "3827";
+                BillNew.omodel.HInterID = mainList[0].HInterID;
+                BillNew.omodel.HBillNo = mainList[0].HBillNo;
+                BillNew.omodel.HDate = mainList[0].HDate;
+                BillNew.omodel.HRemark = mainList[0].HRemark;
+                BillNew.omodel.HMaker = mainList[0].HMaker;
+                BillNew.omodel.HSTOCKORGID = mainList[0].HSTOCKORGID;
+                DBUtility.ClsPub.CurUserName = mainList[0].HMaker;
+                //====================================================
+                BillNew.omodel.HSupID = mainList[0].HSupID;
+                BillNew.omodel.HSupTypeID = 1; //锛�1 渚涘簲鍟嗐��2 瀹㈡埛銆� 3 杞﹂棿閮ㄩ棬锛�
+                BillNew.omodel.HEmpID = mainList[0].HEmpID;
+                BillNew.omodel.HManagerID = mainList[0].HManagerID;
+                BillNew.omodel.HSecManagerID = mainList[0].HSecManagerID;
+                BillNew.omodel.HKeeperID = mainList[0].HKeeperID;
+                BillNew.omodel.HDeptID = mainList[0].HDeptID;
+                BillNew.omodel.HWHID = mainList[0].HWHID;
+                BillNew.omodel.HSCWHID = mainList[0].HSCWHID;
+                BillNew.omodel.HExplanation = mainList[0].HExplanation;
+                BillNew.omodel.HInnerBillNo = mainList[0].HInnerBillNo;
+                BillNew.omodel.HRedBlueFlag = mainList[0].HRedBlueFlag;
+                //瀛愯〃璧嬪��
+                ds = oCn.RunProcReturn("exec h_p_Sc_GetMouldStockBill_Temp " + BillNew.omodel.HInterID.ToString() + ",'" + BillNew.omodel.HBillType + "'", "h_p_Sc_GetMouldStockBill_Temp");
+                if (ds == null || ds.Tables[0].Rows.Count == 0)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "娌℃湁鎵爜淇℃伅锛岃鍏堟壂鎻忔潯鐮侊紝纭鏃犺鍚庡啀鎻愪氦锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                else
+                {
+                    for (int i = 0; i <= ds.Tables[0].Rows.Count - 1; i++)
+                    {
+                        Model.ClsSc_MouldStockBillSub oSub = new Model.ClsSc_MouldStockBillSub();
+                        //鍥哄畾璧嬪��========================================
+                        oSub.HEntryID = i + 1;
+                        oSub.HRemark = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[i]["HRemark"]);
+                        oSub.HSourceInterID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HSourceInterID"]);
+                        oSub.HSourceEntryID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HSourceEntryID"]);
+                        oSub.HSourceBillType = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[i]["HSourceBillType"]);
+                        oSub.HSourceBillNo = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[i]["HSourceBillNo"]);
+                        oSub.HRelationQty = DBUtility.ClsPub.isDoule(ds.Tables[0].Rows[i]["HRelationQty"]);
+                        oSub.HRelationMoney = DBUtility.ClsPub.isDoule(ds.Tables[0].Rows[i]["HRelationMoney"]);
+                        //=============================
+                        oSub.HMaterID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HMaterID"]);
+                        oSub.HPropertyID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HAuxPropID"]);
+                        oSub.HSecUnitID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HSecUnitID"]);
+                        oSub.HSecUnitRate = DBUtility.ClsPub.isSingle(ds.Tables[0].Rows[i]["HSecUnitRate"]);
+                        oSub.HUnitID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HUnitID"]);
+                        oSub.HBatchNo = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[i]["HBatchNo"]);
+                        oSub.HQtyMust = DBUtility.ClsPub.isDoule(ds.Tables[0].Rows[i]["HQtyMust"]);
+                        oSub.HQtyRel = DBUtility.ClsPub.isDoule(ds.Tables[0].Rows[i]["HQtyRel"]);
+                        oSub.HQty = DBUtility.ClsPub.isDoule(ds.Tables[0].Rows[i]["HQty"]);
+                        oSub.HPrice = DBUtility.ClsPub.isDoule(ds.Tables[0].Rows[i]["HPrice"]);
+                        oSub.HMoney = DBUtility.ClsPub.isDoule(ds.Tables[0].Rows[i]["HMoney"]);
+                        oSub.HDesignLife = DBUtility.ClsPub.isDoule(ds.Tables[0].Rows[i]["HDesignLife"]);
+                        oSub.HLeaveLife = DBUtility.ClsPub.isDoule(ds.Tables[0].Rows[i]["HLeaveLife"]);
+                        oSub.HUseLife = DBUtility.ClsPub.isDoule(ds.Tables[0].Rows[i]["HUseLife"]);
+                        oSub.HUseLifeQty = DBUtility.ClsPub.isDoule(ds.Tables[0].Rows[i]["HUseLifeQty"]);
+                        oSub.HNewLifeQty = DBUtility.ClsPub.isDoule(ds.Tables[0].Rows[i]["HNewLifeQty"]);
+                        oSub.HWHID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HWHID"]);
+                        oSub.HSCWHID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HSCWHID"]);
+                        oSub.HSPID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HSPID"]);
+                        oSub.HSCSPID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HSCSPID"]);
+                        oSub.HSPGroupID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HSPGroupID"]);
+                        oSub.HBarCode = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[i]["HBarCode"]);
+                        oSub.HCorrespondentTypeID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HCorrespondentTypeID"]);
+                        oSub.HCorrespondentID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HCorrespondentID"]);
+                        oSub.HPOOrderInterID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HPOOrderInterID"]);
+                        oSub.HPOOrderEntryID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HPOOrderEntryID"]);
+                        oSub.HPOOrderBillNo = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[i]["HPOOrderBillNo"]);
+                        oSub.HSeOrderInterID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HSeOrderInterID"]);
+                        oSub.HSeOrderEntryID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HSeOrderEntryID"]);
+                        oSub.HSeOrderBillNo = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[i]["HSeOrderBillNo"]);
+                        oSub.HStockOrgID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HStockOrgID"]);
+                        oSub.HOWNERID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HOWNERID"]);
+                        oSub.HOtherOrgID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HOtherOrgID"]);
+                        oSub.HOWNERTYPEID = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[i]["HOWNERTYPEID"]);
+                        BillNew.DetailColl.Add(oSub);
+                    }
+                }
+                //淇濆瓨
+                bool bResult;
+                bResult = BillNew.AddBill(ref DBUtility.ClsPub.sExeReturnInfo);
+
+                if (bResult)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = DBUtility.ClsPub.sExeReturnInfo;  //鎴愬姛锛�
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                else
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "淇濆瓨澶辫触锛�" + DBUtility.ClsPub.sExeReturnInfo;
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "妯″叿鍏朵粬鍏ュ簱鍗曚笂浼犲け璐ワ紒" + e.Message;
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+
+        #endregion
+
+        #region 妯″叿鍏朵粬鍑哄簱鍗�     涓婁紶鐢熷崟
+
+        /// <summary>
+        /// 妯″叿鍏朵粬鍑哄簱鍗曟柊澧炰笂浼�
+        /// </summary>
+        /// <returns></returns>
+        [Route("MouldController/set_SaveMouldOtherOutBill_Json")]
+        [HttpPost]
+        public object set_SaveMouldOtherOutBill_Json([FromBody] JObject oMain)
+        {
+            BillStatus = DBUtility.ClsPub.Enum_BillStatus.BillStatus_AddNew;
+            DAL.ClsSc_MouldOtherOutBill BillNew = new DAL.ClsSc_MouldOtherOutBill();
+            var _value = oMain["oMain"].ToString();
+            string msg1 = _value.ToString();
+            try
+            {
+                string sMainStr = "[" + msg1.ToString() + "]";
+                List<Model.ClsSc_MouldOtherOutBillMain> mainList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Model.ClsSc_MouldOtherOutBillMain>>(sMainStr);
+
+                //鍗曟嵁鍙锋槸鍚﹂噸澶�
+                if (BillNew.IsExistBillNo(ref ClsPub.sExeReturnInfo, mainList[0].HBillNo, BillStatus, mainList[0].HInterID))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鍗曟嵁鍙烽噸澶嶏紒涓嶅厑璁镐繚瀛橈紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                //鍒ゆ柇浼氳鏈熸槸鍚﹀悎鐞�
+                string s = "";
+                int sYear = 0;
+                int sPeriod = 0;
+                if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(mainList[0].HDate, ref sYear, ref sPeriod, ref s) == false)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = s;
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                //鍥哄畾璧嬪��=================================
+                BillNew.omodel.HYear = sYear;
+                BillNew.omodel.HPeriod = sPeriod;
+                BillNew.omodel.HBillType = "3828";
+                BillNew.omodel.HInterID = mainList[0].HInterID;
+                BillNew.omodel.HBillNo = mainList[0].HBillNo;
+                BillNew.omodel.HDate = mainList[0].HDate;
+                BillNew.omodel.HRemark = mainList[0].HRemark;
+                BillNew.omodel.HMaker = mainList[0].HMaker;
+                BillNew.omodel.HSTOCKORGID = mainList[0].HSTOCKORGID;
+                DBUtility.ClsPub.CurUserName = mainList[0].HMaker;
+                //====================================================
+                BillNew.omodel.HSupID = mainList[0].HSupID;
+                BillNew.omodel.HSupTypeID = 1; //锛�1 渚涘簲鍟嗐��2 瀹㈡埛銆� 3 杞﹂棿閮ㄩ棬锛�
+                BillNew.omodel.HEmpID = mainList[0].HEmpID;
+                BillNew.omodel.HManagerID = mainList[0].HManagerID;
+                BillNew.omodel.HSecManagerID = mainList[0].HSecManagerID;
+                BillNew.omodel.HKeeperID = mainList[0].HKeeperID;
+                BillNew.omodel.HDeptID = mainList[0].HDeptID;
+                BillNew.omodel.HWHID = mainList[0].HWHID;
+                BillNew.omodel.HSCWHID = mainList[0].HSCWHID;
+                BillNew.omodel.HExplanation = mainList[0].HExplanation;
+                BillNew.omodel.HInnerBillNo = mainList[0].HInnerBillNo;
+                BillNew.omodel.HRedBlueFlag = mainList[0].HRedBlueFlag;
+                //瀛愯〃璧嬪��
+                ds = oCn.RunProcReturn("exec h_p_Sc_GetMouldStockBill_Temp " + BillNew.omodel.HInterID.ToString() + ",'" + BillNew.omodel.HBillType + "'", "h_p_Sc_GetMouldStockBill_Temp");
+                if (ds == null || ds.Tables[0].Rows.Count == 0)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "娌℃湁鎵爜淇℃伅锛岃鍏堟壂鎻忔潯鐮侊紝纭鏃犺鍚庡啀鎻愪氦锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                else
+                {
+                    for (int i = 0; i <= ds.Tables[0].Rows.Count - 1; i++)
+                    {
+                        Model.ClsSc_MouldStockBillSub oSub = new Model.ClsSc_MouldStockBillSub();
+                        //鍥哄畾璧嬪��========================================
+                        oSub.HEntryID = i + 1;
+                        oSub.HRemark = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[i]["HRemark"]);
+                        oSub.HSourceInterID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HSourceInterID"]);
+                        oSub.HSourceEntryID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HSourceEntryID"]);
+                        oSub.HSourceBillType = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[i]["HSourceBillType"]);
+                        oSub.HSourceBillNo = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[i]["HSourceBillNo"]);
+                        oSub.HRelationQty = DBUtility.ClsPub.isDoule(ds.Tables[0].Rows[i]["HRelationQty"]);
+                        oSub.HRelationMoney = DBUtility.ClsPub.isDoule(ds.Tables[0].Rows[i]["HRelationMoney"]);
+                        //=============================
+                        oSub.HMaterID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HMaterID"]);
+                        oSub.HPropertyID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HAuxPropID"]);
+                        oSub.HSecUnitID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HSecUnitID"]);
+                        oSub.HSecUnitRate = DBUtility.ClsPub.isSingle(ds.Tables[0].Rows[i]["HSecUnitRate"]);
+                        oSub.HUnitID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HUnitID"]);
+                        oSub.HBatchNo = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[i]["HBatchNo"]);
+                        oSub.HQtyMust = DBUtility.ClsPub.isDoule(ds.Tables[0].Rows[i]["HQtyMust"]);
+                        oSub.HQtyRel = DBUtility.ClsPub.isDoule(ds.Tables[0].Rows[i]["HQtyRel"]);
+                        oSub.HQty = DBUtility.ClsPub.isDoule(ds.Tables[0].Rows[i]["HQty"]);
+                        oSub.HPrice = DBUtility.ClsPub.isDoule(ds.Tables[0].Rows[i]["HPrice"]);
+                        oSub.HMoney = DBUtility.ClsPub.isDoule(ds.Tables[0].Rows[i]["HMoney"]);
+                        oSub.HDesignLife = DBUtility.ClsPub.isDoule(ds.Tables[0].Rows[i]["HDesignLife"]);
+                        oSub.HLeaveLife = DBUtility.ClsPub.isDoule(ds.Tables[0].Rows[i]["HLeaveLife"]);
+                        oSub.HUseLife = DBUtility.ClsPub.isDoule(ds.Tables[0].Rows[i]["HUseLife"]);
+                        oSub.HUseLifeQty = DBUtility.ClsPub.isDoule(ds.Tables[0].Rows[i]["HUseLifeQty"]);
+                        oSub.HNewLifeQty = DBUtility.ClsPub.isDoule(ds.Tables[0].Rows[i]["HNewLifeQty"]);
+                        oSub.HWHID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HWHID"]);
+                        oSub.HSCWHID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HSCWHID"]);
+                        oSub.HSPID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HSPID"]);
+                        oSub.HSCSPID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HSCSPID"]);
+                        oSub.HSPGroupID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HSPGroupID"]);
+                        oSub.HBarCode = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[i]["HBarCode"]);
+                        oSub.HCorrespondentTypeID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HCorrespondentTypeID"]);
+                        oSub.HCorrespondentID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HCorrespondentID"]);
+                        oSub.HPOOrderInterID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HPOOrderInterID"]);
+                        oSub.HPOOrderEntryID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HPOOrderEntryID"]);
+                        oSub.HPOOrderBillNo = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[i]["HPOOrderBillNo"]);
+                        oSub.HSeOrderInterID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HSeOrderInterID"]);
+                        oSub.HSeOrderEntryID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HSeOrderEntryID"]);
+                        oSub.HSeOrderBillNo = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[i]["HSeOrderBillNo"]);
+                        oSub.HStockOrgID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HStockOrgID"]);
+                        oSub.HOWNERID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HOWNERID"]);
+                        oSub.HOtherOrgID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HOtherOrgID"]);
+                        oSub.HOWNERTYPEID = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[i]["HOWNERTYPEID"]);
+                        BillNew.DetailColl.Add(oSub);
+                    }
+                }
+                //淇濆瓨
+                bool bResult;
+                bResult = BillNew.AddBill(ref DBUtility.ClsPub.sExeReturnInfo);
+
+                if (bResult)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = DBUtility.ClsPub.sExeReturnInfo;  //鎴愬姛锛�
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                else
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "淇濆瓨澶辫触锛�" + DBUtility.ClsPub.sExeReturnInfo;
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "妯″叿鍏朵粬鍑哄簱鍗曚笂浼犲け璐ワ紒" + e.Message;
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+
+        #endregion
+
+        #region 妯″叿鎶ュ簾鍏ュ簱鍗�     涓婁紶鐢熷崟
+
+        /// <summary>
+        /// 妯″叿鎶ュ簾鍏ュ簱鍗曟柊澧炰笂浼�
+        /// </summary>
+        /// <returns></returns>
+        [Route("MouldController/set_SaveMouldScrapInBill_Json")]
+        [HttpPost]
+        public object set_SaveMouldScrapInBill_Json([FromBody] JObject oMain)
+        {
+            BillStatus = DBUtility.ClsPub.Enum_BillStatus.BillStatus_AddNew;
+            DAL.ClsSc_MouldScrapInBill BillNew = new DAL.ClsSc_MouldScrapInBill();
+            var _value = oMain["oMain"].ToString();
+            string msg1 = _value.ToString();
+            try
+            {
+                string sMainStr = "[" + msg1.ToString() + "]";
+                List<Model.ClsSc_MouldScrapInBillMain> mainList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Model.ClsSc_MouldScrapInBillMain>>(sMainStr);
+
+                //鍗曟嵁鍙锋槸鍚﹂噸澶�
+                if (BillNew.IsExistBillNo(ref ClsPub.sExeReturnInfo, mainList[0].HBillNo, BillStatus, mainList[0].HInterID))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鍗曟嵁鍙烽噸澶嶏紒涓嶅厑璁镐繚瀛橈紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                //鍒ゆ柇浼氳鏈熸槸鍚﹀悎鐞�
+                string s = "";
+                int sYear = 0;
+                int sPeriod = 0;
+                if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(mainList[0].HDate, ref sYear, ref sPeriod, ref s) == false)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = s;
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                //鍥哄畾璧嬪��=================================
+                BillNew.omodel.HYear = sYear;
+                BillNew.omodel.HPeriod = sPeriod;
+                BillNew.omodel.HBillType = "3831";
+                BillNew.omodel.HInterID = mainList[0].HInterID;
+                BillNew.omodel.HBillNo = mainList[0].HBillNo;
+                BillNew.omodel.HDate = mainList[0].HDate;
+                BillNew.omodel.HRemark = mainList[0].HRemark;
+                BillNew.omodel.HMaker = mainList[0].HMaker;
+                BillNew.omodel.HSTOCKORGID = mainList[0].HSTOCKORGID;
+                DBUtility.ClsPub.CurUserName = mainList[0].HMaker;
+                //====================================================
+                BillNew.omodel.HSupID = mainList[0].HSupID;
+                BillNew.omodel.HSupTypeID = 1; //锛�1 渚涘簲鍟嗐��2 瀹㈡埛銆� 3 杞﹂棿閮ㄩ棬锛�
+                BillNew.omodel.HEmpID = mainList[0].HEmpID;
+                BillNew.omodel.HManagerID = mainList[0].HManagerID;
+                BillNew.omodel.HSecManagerID = mainList[0].HSecManagerID;
+                BillNew.omodel.HKeeperID = mainList[0].HKeeperID;
+                BillNew.omodel.HDeptID = mainList[0].HDeptID;
+                BillNew.omodel.HWHID = mainList[0].HWHID;
+                BillNew.omodel.HSCWHID = mainList[0].HSCWHID;
+                BillNew.omodel.HExplanation = mainList[0].HExplanation;
+                BillNew.omodel.HInnerBillNo = mainList[0].HInnerBillNo;
+                BillNew.omodel.HRedBlueFlag = mainList[0].HRedBlueFlag;
+                //瀛愯〃璧嬪��
+                ds = oCn.RunProcReturn("exec h_p_Sc_GetMouldStockBill_Temp " + BillNew.omodel.HInterID.ToString() + ",'" + BillNew.omodel.HBillType + "'", "h_p_Sc_GetMouldStockBill_Temp");
+                if (ds == null || ds.Tables[0].Rows.Count == 0)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "娌℃湁鎵爜淇℃伅锛岃鍏堟壂鎻忔潯鐮侊紝纭鏃犺鍚庡啀鎻愪氦锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                else
+                {
+                    for (int i = 0; i <= ds.Tables[0].Rows.Count - 1; i++)
+                    {
+                        Model.ClsSc_MouldStockBillSub oSub = new Model.ClsSc_MouldStockBillSub();
+                        //鍥哄畾璧嬪��========================================
+                        oSub.HEntryID = i + 1;
+                        oSub.HRemark = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[i]["HRemark"]);
+                        oSub.HSourceInterID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HSourceInterID"]);
+                        oSub.HSourceEntryID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HSourceEntryID"]);
+                        oSub.HSourceBillType = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[i]["HSourceBillType"]);
+                        oSub.HSourceBillNo = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[i]["HSourceBillNo"]);
+                        oSub.HRelationQty = DBUtility.ClsPub.isDoule(ds.Tables[0].Rows[i]["HRelationQty"]);
+                        oSub.HRelationMoney = DBUtility.ClsPub.isDoule(ds.Tables[0].Rows[i]["HRelationMoney"]);
+                        //=============================
+                        oSub.HMaterID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HMaterID"]);
+                        oSub.HPropertyID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HAuxPropID"]);
+                        oSub.HSecUnitID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HSecUnitID"]);
+                        oSub.HSecUnitRate = DBUtility.ClsPub.isSingle(ds.Tables[0].Rows[i]["HSecUnitRate"]);
+                        oSub.HUnitID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HUnitID"]);
+                        oSub.HBatchNo = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[i]["HBatchNo"]);
+                        oSub.HQtyMust = DBUtility.ClsPub.isDoule(ds.Tables[0].Rows[i]["HQtyMust"]);
+                        oSub.HQtyRel = DBUtility.ClsPub.isDoule(ds.Tables[0].Rows[i]["HQtyRel"]);
+                        oSub.HQty = DBUtility.ClsPub.isDoule(ds.Tables[0].Rows[i]["HQty"]);
+                        oSub.HPrice = DBUtility.ClsPub.isDoule(ds.Tables[0].Rows[i]["HPrice"]);
+                        oSub.HMoney = DBUtility.ClsPub.isDoule(ds.Tables[0].Rows[i]["HMoney"]);
+                        oSub.HDesignLife = DBUtility.ClsPub.isDoule(ds.Tables[0].Rows[i]["HDesignLife"]);
+                        oSub.HLeaveLife = DBUtility.ClsPub.isDoule(ds.Tables[0].Rows[i]["HLeaveLife"]);
+                        oSub.HUseLife = DBUtility.ClsPub.isDoule(ds.Tables[0].Rows[i]["HUseLife"]);
+                        oSub.HUseLifeQty = DBUtility.ClsPub.isDoule(ds.Tables[0].Rows[i]["HUseLifeQty"]);
+                        oSub.HNewLifeQty = DBUtility.ClsPub.isDoule(ds.Tables[0].Rows[i]["HNewLifeQty"]);
+                        oSub.HWHID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HWHID"]);
+                        oSub.HSCWHID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HSCWHID"]);
+                        oSub.HSPID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HSPID"]);
+                        oSub.HSCSPID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HSCSPID"]);
+                        oSub.HSPGroupID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HSPGroupID"]);
+                        oSub.HBarCode = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[i]["HBarCode"]);
+                        oSub.HCorrespondentTypeID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HCorrespondentTypeID"]);
+                        oSub.HCorrespondentID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HCorrespondentID"]);
+                        oSub.HPOOrderInterID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HPOOrderInterID"]);
+                        oSub.HPOOrderEntryID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HPOOrderEntryID"]);
+                        oSub.HPOOrderBillNo = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[i]["HPOOrderBillNo"]);
+                        oSub.HSeOrderInterID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HSeOrderInterID"]);
+                        oSub.HSeOrderEntryID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HSeOrderEntryID"]);
+                        oSub.HSeOrderBillNo = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[i]["HSeOrderBillNo"]);
+                        oSub.HStockOrgID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HStockOrgID"]);
+                        oSub.HOWNERID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HOWNERID"]);
+                        oSub.HOtherOrgID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HOtherOrgID"]);
+                        oSub.HOWNERTYPEID = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[i]["HOWNERTYPEID"]);
+                        BillNew.DetailColl.Add(oSub);
+                    }
+                }
+                //淇濆瓨
+                bool bResult;
+                bResult = BillNew.AddBill(ref DBUtility.ClsPub.sExeReturnInfo);
+
+                if (bResult)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = DBUtility.ClsPub.sExeReturnInfo;  //鎴愬姛锛�
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                else
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "淇濆瓨澶辫触锛�" + DBUtility.ClsPub.sExeReturnInfo;
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "妯″叿鎶ュ簾鍏ュ簱鍗曚笂浼犲け璐ワ紒" + e.Message;
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+
+        #endregion
+
+        #region 妯″叿鎶ュ簾鍑哄簱鍗�     涓婁紶鐢熷崟
+
+        /// <summary>
+        /// 妯″叿鎶ュ簾鍑哄簱鍗曟柊澧炰笂浼�
+        /// </summary>
+        /// <returns></returns>
+        [Route("MouldController/set_SaveMouldScrapOutBill_Json")]
+        [HttpPost]
+        public object set_SaveMouldScrapOutBill_Json([FromBody] JObject oMain)
+        {
+            BillStatus = DBUtility.ClsPub.Enum_BillStatus.BillStatus_AddNew;
+            DAL.ClsSc_MouldScrapOutBill BillNew = new DAL.ClsSc_MouldScrapOutBill();
+            var _value = oMain["oMain"].ToString();
+            string msg1 = _value.ToString();
+            try
+            {
+                string sMainStr = "[" + msg1.ToString() + "]";
+                List<Model.ClsSc_MouldStockBillMain> mainList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Model.ClsSc_MouldStockBillMain>>(sMainStr);
+
+                //鍗曟嵁鍙锋槸鍚﹂噸澶�
+                if (BillNew.IsExistBillNo(ref ClsPub.sExeReturnInfo, mainList[0].HBillNo, BillStatus, mainList[0].HInterID))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鍗曟嵁鍙烽噸澶嶏紒涓嶅厑璁镐繚瀛橈紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                //鍒ゆ柇浼氳鏈熸槸鍚﹀悎鐞�
+                string s = "";
+                int sYear = 0;
+                int sPeriod = 0;
+                if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(mainList[0].HDate, ref sYear, ref sPeriod, ref s) == false)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = s;
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                //鍥哄畾璧嬪��=================================
+                BillNew.omodel.HYear = sYear;
+                BillNew.omodel.HPeriod = sPeriod;
+                BillNew.omodel.HBillType = "3832";
+                BillNew.omodel.HInterID = mainList[0].HInterID;
+                BillNew.omodel.HBillNo = mainList[0].HBillNo;
+                BillNew.omodel.HDate = mainList[0].HDate;
+                BillNew.omodel.HRemark = mainList[0].HRemark;
+                BillNew.omodel.HMaker = mainList[0].HMaker;
+                BillNew.omodel.HSTOCKORGID = mainList[0].HSTOCKORGID;
+                DBUtility.ClsPub.CurUserName = mainList[0].HMaker;
+                //====================================================
+                BillNew.omodel.HSupID = mainList[0].HSupID;
+                BillNew.omodel.HSupTypeID = 1; //锛�1 渚涘簲鍟嗐��2 瀹㈡埛銆� 3 杞﹂棿閮ㄩ棬锛�
+                BillNew.omodel.HEmpID = mainList[0].HEmpID;
+                BillNew.omodel.HManagerID = mainList[0].HManagerID;
+                BillNew.omodel.HSecManagerID = mainList[0].HSecManagerID;
+                BillNew.omodel.HKeeperID = mainList[0].HKeeperID;
+                BillNew.omodel.HDeptID = mainList[0].HDeptID;
+                BillNew.omodel.HWHID = mainList[0].HWHID;
+                BillNew.omodel.HSCWHID = mainList[0].HSCWHID;
+                BillNew.omodel.HExplanation = mainList[0].HExplanation;
+                BillNew.omodel.HInnerBillNo = mainList[0].HInnerBillNo;
+                BillNew.omodel.HRedBlueFlag = mainList[0].HRedBlueFlag;
+                //瀛愯〃璧嬪��
+                ds = oCn.RunProcReturn("exec h_p_Sc_GetMouldStockBill_Temp " + BillNew.omodel.HInterID.ToString() + ",'" + BillNew.omodel.HBillType + "'", "h_p_Sc_GetMouldStockBill_Temp");
+                if (ds == null || ds.Tables[0].Rows.Count == 0)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "娌℃湁鎵爜淇℃伅锛岃鍏堟壂鎻忔潯鐮侊紝纭鏃犺鍚庡啀鎻愪氦锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                else
+                {
+                    for (int i = 0; i <= ds.Tables[0].Rows.Count - 1; i++)
+                    {
+                        Model.ClsSc_MouldStockBillSub oSub = new Model.ClsSc_MouldStockBillSub();
+                        //鍥哄畾璧嬪��========================================
+                        oSub.HEntryID = i + 1;
+                        oSub.HRemark = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[i]["HRemark"]);
+                        oSub.HSourceInterID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HSourceInterID"]);
+                        oSub.HSourceEntryID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HSourceEntryID"]);
+                        oSub.HSourceBillType = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[i]["HSourceBillType"]);
+                        oSub.HSourceBillNo = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[i]["HSourceBillNo"]);
+                        oSub.HRelationQty = DBUtility.ClsPub.isDoule(ds.Tables[0].Rows[i]["HRelationQty"]);
+                        oSub.HRelationMoney = DBUtility.ClsPub.isDoule(ds.Tables[0].Rows[i]["HRelationMoney"]);
+                        //=============================
+                        oSub.HMaterID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HMaterID"]);
+                        oSub.HPropertyID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HAuxPropID"]);
+                        oSub.HSecUnitID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HSecUnitID"]);
+                        oSub.HSecUnitRate = DBUtility.ClsPub.isSingle(ds.Tables[0].Rows[i]["HSecUnitRate"]);
+                        oSub.HUnitID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HUnitID"]);
+                        oSub.HBatchNo = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[i]["HBatchNo"]);
+                        oSub.HQtyMust = DBUtility.ClsPub.isDoule(ds.Tables[0].Rows[i]["HQtyMust"]);
+                        oSub.HQtyRel = DBUtility.ClsPub.isDoule(ds.Tables[0].Rows[i]["HQtyRel"]);
+                        oSub.HQty = DBUtility.ClsPub.isDoule(ds.Tables[0].Rows[i]["HQty"]);
+                        oSub.HPrice = DBUtility.ClsPub.isDoule(ds.Tables[0].Rows[i]["HPrice"]);
+                        oSub.HMoney = DBUtility.ClsPub.isDoule(ds.Tables[0].Rows[i]["HMoney"]);
+                        oSub.HDesignLife = DBUtility.ClsPub.isDoule(ds.Tables[0].Rows[i]["HDesignLife"]);
+                        oSub.HLeaveLife = DBUtility.ClsPub.isDoule(ds.Tables[0].Rows[i]["HLeaveLife"]);
+                        oSub.HUseLife = DBUtility.ClsPub.isDoule(ds.Tables[0].Rows[i]["HUseLife"]);
+                        oSub.HUseLifeQty = DBUtility.ClsPub.isDoule(ds.Tables[0].Rows[i]["HUseLifeQty"]);
+                        oSub.HNewLifeQty = DBUtility.ClsPub.isDoule(ds.Tables[0].Rows[i]["HNewLifeQty"]);
+                        oSub.HWHID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HWHID"]);
+                        oSub.HSCWHID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HSCWHID"]);
+                        oSub.HSPID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HSPID"]);
+                        oSub.HSCSPID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HSCSPID"]);
+                        oSub.HSPGroupID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HSPGroupID"]);
+                        oSub.HBarCode = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[i]["HBarCode"]);
+                        oSub.HCorrespondentTypeID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HCorrespondentTypeID"]);
+                        oSub.HCorrespondentID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HCorrespondentID"]);
+                        oSub.HPOOrderInterID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HPOOrderInterID"]);
+                        oSub.HPOOrderEntryID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HPOOrderEntryID"]);
+                        oSub.HPOOrderBillNo = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[i]["HPOOrderBillNo"]);
+                        oSub.HSeOrderInterID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HSeOrderInterID"]);
+                        oSub.HSeOrderEntryID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HSeOrderEntryID"]);
+                        oSub.HSeOrderBillNo = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[i]["HSeOrderBillNo"]);
+                        oSub.HStockOrgID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HStockOrgID"]);
+                        oSub.HOWNERID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HOWNERID"]);
+                        oSub.HOtherOrgID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HOtherOrgID"]);
+                        oSub.HOWNERTYPEID = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[i]["HOWNERTYPEID"]);
+                        BillNew.DetailColl.Add(oSub);
+                    }
+                }
+                //淇濆瓨
+                bool bResult;
+                bResult = BillNew.AddBill(ref DBUtility.ClsPub.sExeReturnInfo);
+
+                if (bResult)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = DBUtility.ClsPub.sExeReturnInfo;  //鎴愬姛锛�
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                else
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "淇濆瓨澶辫触锛�" + DBUtility.ClsPub.sExeReturnInfo;
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "妯″叿鎶ュ簾鍑哄簱鍗曚笂浼犲け璐ワ紒" + e.Message;
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+
+        #endregion
+
+        #region 妯″叿璋冩嫧鍗�     涓婁紶鐢熷崟
+
+        /// <summary>
+        /// 妯″叿璋冩嫧鍗曟柊澧炰笂浼�
+        /// </summary>
+        /// <returns></returns>
+        [Route("MouldController/set_SaveMouldProdMoveBill_Json")]
+        [HttpPost]
+        public object set_SaveMouldProdMoveBill_Json([FromBody] JObject oMain)
+        {
+            BillStatus = DBUtility.ClsPub.Enum_BillStatus.BillStatus_AddNew;
+            DAL.ClsSc_MouldProdMoveBill BillNew = new DAL.ClsSc_MouldProdMoveBill();
+            var _value = oMain["oMain"].ToString();
+            string msg1 = _value.ToString();
+            try
+            {
+                string sMainStr = "[" + msg1.ToString() + "]";
+                List<Model.ClsSc_MouldProdMoveBillMain> mainList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Model.ClsSc_MouldProdMoveBillMain>>(sMainStr);
+
+                //鍗曟嵁鍙锋槸鍚﹂噸澶�
+                if (BillNew.IsExistBillNo(ref ClsPub.sExeReturnInfo, mainList[0].HBillNo, BillStatus, mainList[0].HInterID))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鍗曟嵁鍙烽噸澶嶏紒涓嶅厑璁镐繚瀛橈紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                //鍒ゆ柇浼氳鏈熸槸鍚﹀悎鐞�
+                string s = "";
+                int sYear = 0;
+                int sPeriod = 0;
+                if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(mainList[0].HDate, ref sYear, ref sPeriod, ref s) == false)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = s;
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                //鍥哄畾璧嬪��=================================
+                BillNew.omodel.HYear = sYear;
+                BillNew.omodel.HPeriod = sPeriod;
+                BillNew.omodel.HBillType = "3814";
+                BillNew.omodel.HInterID = mainList[0].HInterID;
+                BillNew.omodel.HBillNo = mainList[0].HBillNo;
+                BillNew.omodel.HDate = mainList[0].HDate;
+                BillNew.omodel.HRemark = mainList[0].HRemark;
+                BillNew.omodel.HMaker = mainList[0].HMaker;
+                BillNew.omodel.HSTOCKORGID = mainList[0].HStockInOrgID;
+                DBUtility.ClsPub.CurUserName = mainList[0].HMaker;
+                //====================================================
+                BillNew.omodel.HSupID = mainList[0].HSupID;
+                BillNew.omodel.HSupTypeID = mainList[0].HSupTypeID;
+                BillNew.omodel.HEmpID = mainList[0].HEmpID;
+                BillNew.omodel.HManagerID = mainList[0].HManagerID;
+                BillNew.omodel.HSecManagerID = mainList[0].HSecManagerID;
+                BillNew.omodel.HKeeperID = mainList[0].HKeeperID;
+                BillNew.omodel.HDeptID = mainList[0].HDeptID;
+                BillNew.omodel.HWHID = mainList[0].HWHID;
+                BillNew.omodel.HSCWHID = mainList[0].HSCWHID;
+                BillNew.omodel.HExplanation = mainList[0].HExplanation;
+                BillNew.omodel.HInnerBillNo = mainList[0].HInnerBillNo;
+                BillNew.omodel.HRedBlueFlag = mainList[0].HRedBlueFlag;
+                BillNew.omodel.HStockStyle = mainList[0].HStockStyle;
+                BillNew.omodel.HStockInOrgID = mainList[0].HStockInOrgID;
+                BillNew.omodel.HStockOutOrgID = mainList[0].HStockOutOrgID;
+                //瀛愯〃璧嬪��
+                ds = oCn.RunProcReturn("exec h_p_Sc_GetMouldStockBill_Temp " + BillNew.omodel.HInterID.ToString() + ",'" + BillNew.omodel.HBillType + "'", "h_p_Sc_GetMouldStockBill_Temp");
+                if (ds == null || ds.Tables[0].Rows.Count == 0)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "娌℃湁鎵爜淇℃伅锛岃鍏堟壂鎻忔潯鐮侊紝纭鏃犺鍚庡啀鎻愪氦锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                else
+                {
+                    for (int i = 0; i <= ds.Tables[0].Rows.Count - 1; i++)
+                    {
+                        Model.ClsSc_MouldProdMoveBillSub oSub = new Model.ClsSc_MouldProdMoveBillSub();
+                        //鍥哄畾璧嬪��========================================
+                        oSub.HEntryID = i + 1;
+                        oSub.HRemark = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[i]["HRemark"]);
+                        oSub.HSourceInterID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HSourceInterID"]);
+                        oSub.HSourceEntryID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HSourceEntryID"]);
+                        oSub.HSourceBillType = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[i]["HSourceBillType"]);
+                        oSub.HSourceBillNo = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[i]["HSourceBillNo"]);
+                        oSub.HRelationQty = DBUtility.ClsPub.isDoule(ds.Tables[0].Rows[i]["HRelationQty"]);
+                        oSub.HRelationMoney = DBUtility.ClsPub.isDoule(ds.Tables[0].Rows[i]["HRelationMoney"]);
+                        //=============================
+                        oSub.HMaterID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HMaterID"]);
+                        oSub.HPropertyID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HAuxPropID"]);
+                        oSub.HSecUnitID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HSecUnitID"]);
+                        oSub.HSecUnitRate = DBUtility.ClsPub.isSingle(ds.Tables[0].Rows[i]["HSecUnitRate"]);
+                        oSub.HUnitID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HUnitID"]);
+                        oSub.HBatchNo = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[i]["HBatchNo"]);
+                        oSub.HQtyMust = DBUtility.ClsPub.isDoule(ds.Tables[0].Rows[i]["HQtyMust"]);
+                        oSub.HQtyRel = DBUtility.ClsPub.isDoule(ds.Tables[0].Rows[i]["HQtyRel"]);
+                        oSub.HQty = DBUtility.ClsPub.isDoule(ds.Tables[0].Rows[i]["HQty"]);
+                        oSub.HPrice = DBUtility.ClsPub.isDoule(ds.Tables[0].Rows[i]["HPrice"]);
+                        oSub.HMoney = DBUtility.ClsPub.isDoule(ds.Tables[0].Rows[i]["HMoney"]);
+                        oSub.HDesignLife = DBUtility.ClsPub.isDoule(ds.Tables[0].Rows[i]["HDesignLife"]);
+                        oSub.HLeaveLife = DBUtility.ClsPub.isDoule(ds.Tables[0].Rows[i]["HLeaveLife"]);
+                        oSub.HUseLife = DBUtility.ClsPub.isDoule(ds.Tables[0].Rows[i]["HUseLife"]);
+                        oSub.HUseLifeQty = DBUtility.ClsPub.isDoule(ds.Tables[0].Rows[i]["HUseLifeQty"]);
+                        oSub.HNewLifeQty = DBUtility.ClsPub.isDoule(ds.Tables[0].Rows[i]["HNewLifeQty"]);
+                        oSub.HWHID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HWHID"]);
+                        oSub.HSCWHID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HSCWHID"]);
+                        oSub.HSPID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HSPID"]);
+                        oSub.HSCSPID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HSCSPID"]);
+                        oSub.HSPGroupID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HSPGroupID"]);
+                        oSub.HBarCode = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[i]["HBarCode"]);
+                        oSub.HCorrespondentTypeID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HCorrespondentTypeID"]);
+                        oSub.HCorrespondentID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HCorrespondentID"]);
+                        oSub.HPOOrderInterID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HPOOrderInterID"]);
+                        oSub.HPOOrderEntryID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HPOOrderEntryID"]);
+                        oSub.HPOOrderBillNo = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[i]["HPOOrderBillNo"]);
+                        oSub.HSeOrderInterID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HSeOrderInterID"]);
+                        oSub.HSeOrderEntryID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HSeOrderEntryID"]);
+                        oSub.HSeOrderBillNo = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[i]["HSeOrderBillNo"]);
+                        oSub.HStockOrgID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HStockOrgID"]);
+                        oSub.HOWNERID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HOWNERID"]);
+                        oSub.HOtherOrgID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HOtherOrgID"]);
+                        oSub.HOWNERTYPEID = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[i]["HOWNERTYPEID"]);
+                        BillNew.DetailColl.Add(oSub);
+                    }
+                }
+                //淇濆瓨
+                bool bResult;
+                bResult = BillNew.AddBill(ref DBUtility.ClsPub.sExeReturnInfo);
+
+                if (bResult)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = DBUtility.ClsPub.sExeReturnInfo;  //鎴愬姛锛�
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                else
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "淇濆瓨澶辫触锛�" + DBUtility.ClsPub.sExeReturnInfo;
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "妯″叿璋冩嫧鍗曚笂浼犲け璐ワ紒" + e.Message;
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+
+        #endregion
 
 
 
+        #endregion
+
 
 
 
diff --git "a/WebAPI/Controllers/\346\235\241\347\240\201\347\256\241\347\220\206/WEBSController.cs" "b/WebAPI/Controllers/\346\235\241\347\240\201\347\256\241\347\220\206/WEBSController.cs"
index 5cd01d9..a018b3e 100644
--- "a/WebAPI/Controllers/\346\235\241\347\240\201\347\256\241\347\220\206/WEBSController.cs"
+++ "b/WebAPI/Controllers/\346\235\241\347\240\201\347\256\241\347\220\206/WEBSController.cs"
@@ -21,6 +21,7 @@
 {
     public class WEBSController : ApiController
     {
+        public DBUtility.ClsPub.Enum_BillStatus BillStatus;
         public string sWhere = "";
         public WebServer webserver = new WebServer();
         public DataSet ds = new DataSet();
@@ -898,6 +899,86 @@
                 objJsonResult.code = "0";
                 objJsonResult.count = 0;
                 objJsonResult.Message = "杩斿洖鐝粍淇℃伅澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+
+        #endregion
+
+        #region 鐢熶骇璁惧璧勬枡
+
+        /// <summary>
+        /// 鎵爜杩斿洖鐢熶骇璁惧淇℃伅
+        /// </summary>
+        /// <returns></returns>
+        [Route("WEBSController/GetEquip_Json")]
+        [HttpGet]
+        public object GetEquip_Json(string HBarCode)
+        {
+            try
+            {
+                ds = oCn.RunProcReturn("select HInterID,HEquipFileNumber,HName,HSourceID from h_v_Gy_EquipFileBill where HBarCode='" + HBarCode + "'", "h_v_Gy_EquipFileBill");
+                if (ds == null || ds.Tables[0].Rows.Count == 0)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "娌℃湁杩斿洖浠讳綍璁板綍锛岃纭鎵�鎵敓浜ц澶囨潯鐮佹槸鍚﹀瓨鍦ㄤ笖涓哄彲鐢ㄧ姸鎬侊紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                else
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "鎴愬姛锛�";
+                    objJsonResult.data = ds.Tables[0];
+                    return objJsonResult;
+                }
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "杩斿洖鐢熶骇璁惧淇℃伅澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+
+        /// <summary>
+        /// 鑾峰彇鐢熶骇璁惧鍒楄〃淇℃伅
+        /// </summary>
+        /// <returns></returns>
+        [Route("WEBSController/GetEquipList_Json")]
+        [HttpGet]
+        public object GetEquipList_Json(string Equip)
+        {
+            try
+            {
+                ds = oCn.RunProcReturn("select HInterID,HEquipFileNumber,HName,HSourceID,HSourceName from h_v_Gy_EquipFileBill where HEquipFileNumber like '%" + Equip + "%' or HName like '%" + Equip + "%'", "h_v_Gy_EquipFileBill");
+                if (ds == null || ds.Tables[0].Rows.Count == 0)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "娌℃湁杩斿洖浠讳綍鐢熶骇璁惧璁板綍锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                else
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "鎴愬姛锛�";
+                    objJsonResult.data = ds.Tables[0];
+                    return objJsonResult;
+                }
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "杩斿洖鐢熶骇璁惧淇℃伅澶辫触锛�" + e.ToString();
                 objJsonResult.data = null;
                 return objJsonResult;
             }
@@ -3141,6 +3222,152 @@
                 objJsonResult.code = "0";
                 objJsonResult.count = 0;
                 objJsonResult.Message = "鐢熸垚鐢熶骇缁勬墭鍗曞け璐ワ紒" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+
+        #endregion
+
+        #region 涓婃枡闃查敊鍗�     涓婁紶鐢熷崟
+
+        /// <summary>
+        /// 涓婃枡闃查敊鍗曟柊澧炰笂浼�
+        /// </summary>
+        /// <returns></returns>
+        [Route("WEBSController/set_SaveMaterToSourceBill_Json")]
+        [HttpPost]
+        public object set_SaveMaterToSourceBill_Json([FromBody] JObject oMain)
+        {
+            BillStatus = DBUtility.ClsPub.Enum_BillStatus.BillStatus_AddNew;
+            DAL.ClsSc_MaterToSourceBill BillNew = new DAL.ClsSc_MaterToSourceBill();
+            var _value = oMain["oMain"].ToString();
+            string msg1 = _value.ToString();
+            try
+            {
+                string sMainStr = "[" + msg1.ToString() + "]";
+                List<Model.ClsSc_MaterToSourceBillMain> mainList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Model.ClsSc_MaterToSourceBillMain>>(sMainStr);
+
+                //鍗曟嵁鍙锋槸鍚﹂噸澶�
+                if (BillNew.IsExistBillNo(ref ClsPub.sExeReturnInfo, mainList[0].HBillNo, BillStatus, mainList[0].HInterID))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鍗曟嵁鍙烽噸澶嶏紒涓嶅厑璁镐繚瀛橈紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                //鍒ゆ柇浼氳鏈熸槸鍚﹀悎鐞�
+                string s = "";
+                int sYear = 0;
+                int sPeriod = 0;
+                if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(mainList[0].HDate, ref sYear, ref sPeriod, ref s) == false)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = s;
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                //鍥哄畾璧嬪��=================================
+                BillNew.omodel.HYear = sYear;
+                BillNew.omodel.HPeriod = sPeriod;
+                BillNew.omodel.HBillType = "3786";
+                BillNew.omodel.HInterID = mainList[0].HInterID;
+                BillNew.omodel.HBillNo = mainList[0].HBillNo;
+                BillNew.omodel.HDate = mainList[0].HDate;
+                BillNew.omodel.HRemark = mainList[0].HRemark;
+                BillNew.omodel.HMaker = mainList[0].HMaker;
+                BillNew.omodel.HSTOCKORGID = mainList[0].HSTOCKORGID;
+                DBUtility.ClsPub.CurUserName = mainList[0].HMaker;
+                //====================================================
+                BillNew.omodel.HProcExchInterID = mainList[0].HProcExchInterID;
+                BillNew.omodel.HProcExchEntryID = mainList[0].HProcExchEntryID;
+                BillNew.omodel.HProcExchBillNo = mainList[0].HProcExchBillNo;
+                BillNew.omodel.HICMOInterID = mainList[0].HICMOInterID;
+                BillNew.omodel.HICMOEntryID = mainList[0].HICMOEntryID;
+                BillNew.omodel.HICMOBillNo = mainList[0].HICMOBillNo;
+                BillNew.omodel.HSourceID = mainList[0].HSourceID;
+                BillNew.omodel.HSourceBarCode = mainList[0].HSourceBarCode;
+                BillNew.omodel.HEquipID = mainList[0].HEquipID;
+                BillNew.omodel.HWorkerID = mainList[0].HWorkerID;
+                BillNew.omodel.HWorkerBarCode = mainList[0].HWorkerBarCode;
+                BillNew.omodel.HGroupID = mainList[0].HGroupID;
+                BillNew.omodel.HMainSourceBillType = mainList[0].HMainSourceBillType;
+                if (mainList[0].HMainSourceBillType == "3772")
+                {
+                    BillNew.omodel.HMainSourceInterID = mainList[0].HProcExchInterID;
+                    BillNew.omodel.HMainSourceEntryID = mainList[0].HProcExchEntryID;
+                    BillNew.omodel.HMainSourceBillNo = mainList[0].HProcExchBillNo;
+                }
+                else
+                {
+                    BillNew.omodel.HMainSourceInterID = mainList[0].HICMOInterID;
+                    BillNew.omodel.HMainSourceEntryID = mainList[0].HICMOEntryID;
+                    BillNew.omodel.HMainSourceBillNo = mainList[0].HICMOBillNo;
+                }
+                //瀛愯〃璧嬪��
+                ds = oCn.RunProcReturn("exec h_p_Sc_GetMaterToSourceBill_Temp " + BillNew.omodel.HInterID.ToString() + ",'" + BillNew.omodel.HBillType + "'", "h_p_Sc_GetMaterToSourceBill_Temp");
+                if (ds == null || ds.Tables[0].Rows.Count == 0)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "娌℃湁鎵爜淇℃伅锛岃鍏堟壂鎻忔潯鐮侊紝纭鏃犺鍚庡啀鎻愪氦锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                else
+                {
+                    for (int i = 0; i <= ds.Tables[0].Rows.Count - 1; i++)
+                    {
+                        Model.ClsSc_MaterToSourceBillSub oSub = new Model.ClsSc_MaterToSourceBillSub();
+                        //鍥哄畾璧嬪��========================================
+                        oSub.HEntryID = i + 1;
+                        oSub.HRemark = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[i]["HRemark"]);
+                        oSub.HSourceInterID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HSourceInterID"]);
+                        oSub.HSourceEntryID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HSourceEntryID"]);
+                        oSub.HSourceBillType = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[i]["HSourceBillType"]);
+                        oSub.HSourceBillNo = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[i]["HSourceBillNo"]);
+                        oSub.HRelationQty = DBUtility.ClsPub.isDoule(ds.Tables[0].Rows[i]["HRelationQty"]);
+                        oSub.HRelationMoney = DBUtility.ClsPub.isDoule(ds.Tables[0].Rows[i]["HRelationMoney"]);
+                        oSub.HBillNo_bak = mainList[0].HBillNo;
+                        //=============================
+                        oSub.HMaterID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HMaterID"]);
+                        oSub.HUnitID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HUnitID"]);
+                        oSub.HQty = DBUtility.ClsPub.isSingle(ds.Tables[0].Rows[i]["HQty"]);
+                        oSub.HPieceQty = DBUtility.ClsPub.isSingle(ds.Tables[0].Rows[i]["HPieceQty"]);
+                        oSub.HScanDate = DBUtility.ClsPub.isDate(ds.Tables[0].Rows[i]["HScanDate"]);
+                        oSub.HBarCode = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[i]["HBarCode"]);
+                        oSub.HBarCode_Pack = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[i]["HBarCode_Pack"]);
+                        BillNew.DetailColl.Add(oSub);
+                    }
+                }
+                //淇濆瓨
+                bool bResult;
+                bResult = BillNew.AddBill(ref DBUtility.ClsPub.sExeReturnInfo);
+
+                if (bResult)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = DBUtility.ClsPub.sExeReturnInfo;  //鎴愬姛锛�
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                else
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "淇濆瓨澶辫触锛�" + DBUtility.ClsPub.sExeReturnInfo;
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "涓婃枡闃查敊鍗曚笂浼犲け璐ワ紒" + e.Message;
                 objJsonResult.data = null;
                 return objJsonResult;
             }
@@ -5597,8 +5824,324 @@
         #endregion
 
 
-        #region 澶勭悊鏂规硶
+        #region 涓婃枡闃查敊鍗曟ā鍧楄皟鐢ㄦ柟娉�     20240528
 
+        #region 涓婃枡闃查敊鍗曟壂鐮佹ā鍧�  鎵弿婧愬崟鏉$爜璋冪敤鏂规硶
+        /// <summary>
+        /// 鎵弿婧愬崟鏉$爜
+        /// </summary>
+        /// <returns></returns>
+        [Route("WEBSController/get_SourceBarCode_MaterToSource_Json")]
+        [HttpGet]
+        public object get_SourceBarCode_MaterToSource_Json(Int64 HInterID, string HBillNo, string HBillType, string HSourceBillNo, string HSourceBillType, string HMaker)
+        {
+            try
+            {
+                ds = oCn.RunProcReturn("exec h_p_WMS_AddSourceBarCode_MaterToSource " + HInterID.ToString() + ",'" + HBillNo + "','" + HBillType + "','" + HSourceBillNo + "','" + HSourceBillType + "','" + HMaker + "'", "h_p_WMS_AddSourceBarCode_MaterToSource");
+                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.isLong(ds.Tables[0].Rows[0]["HBack"]) == 1)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HRemark"]);
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                else
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "鎴愬姛锛�";
+                    objJsonResult.data = ds.Tables[0];
+                    return objJsonResult;
+                }
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "鎵弿婧愬崟鏉$爜澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+
+        #endregion
+
+        #region 涓婃枡闃查敊鍗曟壂鐮佹ā鍧�  鎵弿鐗╂枡鏉$爜璋冪敤鏂规硶
+        /// <summary>
+        /// 鎵弿鐗╂枡鏉$爜
+        /// </summary>
+        /// <returns></returns>
+        [Route("WEBSController/get_BarCode_MaterToSource_Json")]
+        [HttpGet]
+        public object get_BarCode_MaterToSource_Json(Int64 HInterID, string HBillNo, string HBillType, string HBarCode, string HMaker)
+        {
+            try
+            {
+                ds = oCn.RunProcReturn("exec h_p_WMS_AddBarCode_MaterToSource " + HInterID.ToString() + ",'" + HBillNo + "','" + HBillType + "','" + HBarCode + "','" + HMaker + "'", "h_p_WMS_AddBarCode_MaterToSource");
+                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.isLong(ds.Tables[0].Rows[0]["HBack"]) == 1)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HRemark"]);
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                else
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "鎴愬姛锛�";
+                    objJsonResult.data = ds.Tables[0];
+                    return objJsonResult;
+                }
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "鎵弿鐗╂枡鏉$爜澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+
+        #endregion
+
+        #region 涓婃枡闃查敊鍗曟壂鐮佹ā鍧�  鑾峰彇鎵爜妯″潡鍒楄〃淇℃伅璋冪敤鏂规硶
+        /// <summary>
+        /// 鑾峰彇鎵爜妯″潡鍒楄〃淇℃伅
+        /// </summary>
+        /// <returns></returns>
+        [Route("WEBSController/GetBillEntryTmpList_MaterToSource_Json")]
+        [HttpGet]
+        public object GetBillEntryTmpList_MaterToSource_Json(Int64 HInterID, string HBillNo, string HBillType)
+        {
+            try
+            {
+                ds = oCn.RunProcReturn("exec h_p_WMS_BillEntryTmpList_MaterToSource " + HInterID.ToString() + ",'" + HBillType + "'", "h_p_WMS_BillEntryTmpList_MaterToSource");
+                if (ds == null || ds.Tables[0].Rows.Count == 0)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "娌℃湁杩斿洖浠讳綍璁板綍锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                else
+                {
+                    List<object> columnNameList = new List<object>();
+                    //娣诲姞鍒楀悕
+                    foreach (DataColumn col in ds.Tables[0].Columns)
+                    {
+                        Type dataType = col.DataType;
+                        string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}";
+                        columnNameList.Add(JsonConvert.DeserializeObject(ColmString));  //鑾峰彇鍒癉ataColumn鍒楀璞$殑鍒楀悕
+                    }
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "鑾峰彇淇℃伅鎴愬姛锛�";
+                    objJsonResult.data = ds.Tables[0];
+                    objJsonResult.list = columnNameList;
+                    return objJsonResult;
+                }
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "鑾峰彇鍒楄〃淇℃伅澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+
+        #endregion
+
+        #region 涓婃枡闃查敊鍗曟壂鐮佹ā鍧�    鍒犻櫎鍔熻兘鎸夐挳璋冪敤  鍒犻櫎閫変腑琛岀墿鏂欐潯鐮佷复鏃惰〃璁板綍
+
+        /// <summary>
+        /// 鍒犻櫎閫変腑琛岀墿鏂欐潯鐮佷复鏃惰〃璁板綍
+        /// </summary>
+        /// <returns></returns>
+        [Route("WEBSController/set_DelStationInBillSub_BindBarCodeTemp_Json")]
+        [HttpGet]
+        public object set_DelStationInBillSub_BindBarCodeTemp_Json(Int64 HInterID, string HBillType, string HBarCode)
+        {
+            try
+            {
+                oCn.RunProc("Delete from Sc_StationInBillSub_BindBarCodeTemp where HInterID=" + HInterID.ToString() + " and HBillType='" + HBillType + "' and HBarCode='" + HBarCode + "'", ref DBUtility.ClsPub.sExeReturnInfo);
+                objJsonResult.code = "0";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "鍒犻櫎鎴愬姛";
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "鍒犻櫎鏉$爜璁板綍澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+
+        #endregion
+
+        #region 涓婃枡闃查敊鍗曟壂鐮佹ā鍧�   浠庣紦瀛樺垪琛ㄩ〉闈㈣繑鍥炰俊鎭�
+
+        /// <summary>
+        /// 浠庣紦瀛樺垪琛ㄩ〉闈㈣繑鍥炰俊鎭�
+        /// </summary>
+        /// <returns></returns>
+        [Route("WEBSController/GetSourceBill_Temp_MaterToSource_Json")]
+        [HttpGet]
+        public object GetSourceBill_Temp_MaterToSource_Json(Int64 HInterID, string HBillType)
+        {
+            try
+            {
+                ds = oCn.RunProcReturn("exec h_p_WMS_SourceBill_Temp_MaterToSource " + HInterID.ToString() + ",'" + HBillType + "'", "h_p_WMS_SourceBill_Temp_MaterToSource");
+                if (ds == null || ds.Tables[0].Rows.Count == 0)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "浠庣紦瀛樺垪琛ㄨ繑鍥炴椂锛屾病鏈夎繑鍥炰换浣曡褰曪紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                else
+                {
+                    List<object> columnNameList = new List<object>();
+                    //娣诲姞鍒楀悕
+                    foreach (DataColumn col in ds.Tables[0].Columns)
+                    {
+                        Type dataType = col.DataType;
+                        string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}";
+                        columnNameList.Add(JsonConvert.DeserializeObject(ColmString));  //鑾峰彇鍒癉ataColumn鍒楀璞$殑鍒楀悕
+                    }
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "鎴愬姛锛�";
+                    objJsonResult.data = ds.Tables[0];
+                    objJsonResult.list = columnNameList;
+                    return objJsonResult;
+                }
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "杩斿洖缂撳瓨鍒楄〃鍗曟嵁淇℃伅澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+
+        #endregion
+
+        #region 涓婃枡闃查敊鍗曠紦瀛樺垪琛ㄦā鍧楄皟鐢ㄦ柟娉�
+
+        #region 涓婃枡闃查敊鍗曠紦瀛樺垪琛ㄧ晫闈紝杩斿洖缂撳瓨鍒楄〃淇℃伅
+
+        /// <summary>
+        /// 涓婃枡闃查敊鍗曠紦瀛樺垪琛ㄧ晫闈紝杩斿洖缂撳瓨鍒楄〃淇℃伅
+        /// </summary>
+        /// <returns></returns>
+        [Route("WEBSController/GetStationInBillSub_BindBarCodeTempList_Json")]
+        [HttpGet]
+        public object GetStationInBillSub_BindBarCodeTempList_Json(string HBillType, string HMaker, Int64 HStockOrgID)
+        {
+            try
+            {
+                ds = oCn.RunProcReturn("exec h_p_Sc_GetStationInBillSub_BindBarCodeTempList '" + HBillType + "','" + HMaker + "'," + HStockOrgID.ToString(), "h_p_Sc_GetStationInBillSub_BindBarCodeTempList");
+                if (ds == null || ds.Tables[0].Rows.Count == 0)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "娌℃湁杩斿洖浠讳綍璁板綍锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                else
+                {
+                    List<object> columnNameList = new List<object>();
+                    //娣诲姞鍒楀悕
+                    foreach (DataColumn col in ds.Tables[0].Columns)
+                    {
+                        Type dataType = col.DataType;
+                        string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}";
+                        columnNameList.Add(JsonConvert.DeserializeObject(ColmString));  //鑾峰彇鍒癉ataColumn鍒楀璞$殑鍒楀悕
+                    }
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "鑾峰彇鍗曟嵁缂撳瓨鍒楄〃淇℃伅鎴愬姛锛�";
+                    objJsonResult.data = ds.Tables[0];
+                    objJsonResult.list = columnNameList;
+                    return objJsonResult;
+                }
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "鑾峰彇鍗曟嵁缂撳瓨鍒楄〃淇℃伅澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+
+        #endregion
+
+        #region 涓婃枡闃查敊鍗曠紦瀛樺垪琛ㄦā鍧�  鍒犻櫎缂撳瓨鍒楄〃鍗曟嵁
+
+        /// <summary>
+        /// 鍒犻櫎缂撳瓨鍒楄〃鍗曟嵁
+        /// </summary>
+        /// <returns></returns>
+        [Route("WEBSController/set_DeleteStationInBillSub_BindBarCodeTemp_Json")]
+        [HttpGet]
+        public object set_DeleteStationInBillSub_BindBarCodeTemp_Json(long HInterID, string HBillType)
+        {
+            try
+            {
+                oCn.RunProc("Delete from Sc_StationInBillSub_BindSourceTemp where HInterID=" + HInterID.ToString() + " and HBillType='" + HBillType + "'", ref DBUtility.ClsPub.sExeReturnInfo);
+                oCn.RunProc("Delete from Sc_StationInBillSub_BindBarCodeTemp where HInterID=" + HInterID.ToString() + " and HBillType='" + HBillType + "'", ref DBUtility.ClsPub.sExeReturnInfo);
+                objJsonResult.code = "0";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "鍒犻櫎鎴愬姛";
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "鍒犻櫎缂撳瓨鍒楄〃鍗曟嵁澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+
+        #endregion
+
+        #endregion
 
         #endregion
 
@@ -6311,7 +6854,103 @@
 
         #endregion
 
+        #region 浠撳簱鏀跺彂瀛樻姤琛�
+        /// <summary>
+        /// 浠撳簱鏀跺彂瀛樻姤琛�
+        /// </summary>
+        /// <returns></returns>
+        [Route("WEBSController/GetKf_StockInOutSumQueryReport_Json")]
+        [HttpGet]
+        public object GetKf_StockInOutSumQueryReport_Json(string sWhere)
+        {
+            try
+            {
+                ds = oCn.RunProcReturn("exec h_p_Kf_StockInOutSumQueryReport " + sWhere, "h_p_Kf_StockInOutSumQueryReport");
+                if (ds == null || ds.Tables[0].Rows.Count == 0)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "褰撳墠鎵�杈撳叆杩囨护鏉′欢锛屾病鏈夎繑鍥炰换浣曠粨鏋滐紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                else
+                {
+                    List<object> columnNameList = new List<object>();
+                    //娣诲姞鍒楀悕
+                    foreach (DataColumn col in ds.Tables[0].Columns)
+                    {
+                        Type dataType = col.DataType;
+                        string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}";
+                        columnNameList.Add(JsonConvert.DeserializeObject(ColmString));  //鑾峰彇鍒癉ataColumn鍒楀璞$殑鍒楀悕
+                    }
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "鎴愬姛锛�";
+                    objJsonResult.data = ds.Tables[0];
+                    objJsonResult.list = columnNameList;
+                    return objJsonResult;
+                }
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "鏌ヨ鏉$爜鍑哄叆搴撹褰曚俊鎭け璐ワ紒" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
 
+        #region 鍙婃椂搴撳瓨鏌ヨ鎶ヨ〃
+        /// <summary>
+        /// 鍙婃椂搴撳瓨鏌ヨ鎶ヨ〃
+        /// </summary>
+        /// <returns></returns>
+        [Route("WEBSController/GetKF_ICinventoryQueryReport_Json")]
+        [HttpGet]
+        public object GetKF_ICinventoryQueryReport_Json(string sWhere)
+        {
+            try
+            {
+                ds = oCn.RunProcReturn("exec h_p_KF_ICinventoryQueryReport " + sWhere, "h_p_KF_ICinventoryQueryReport");
+                if (ds == null || ds.Tables[0].Rows.Count == 0)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "褰撳墠鎵�杈撳叆杩囨护鏉′欢锛屾病鏈夎繑鍥炰换浣曠粨鏋滐紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                else
+                {
+                    List<object> columnNameList = new List<object>();
+                    //娣诲姞鍒楀悕
+                    foreach (DataColumn col in ds.Tables[0].Columns)
+                    {
+                        Type dataType = col.DataType;
+                        string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}";
+                        columnNameList.Add(JsonConvert.DeserializeObject(ColmString));  //鑾峰彇鍒癉ataColumn鍒楀璞$殑鍒楀悕
+                    }
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "鎴愬姛锛�";
+                    objJsonResult.data = ds.Tables[0];
+                    objJsonResult.list = columnNameList;
+                    return objJsonResult;
+                }
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "鏌ヨ鏉$爜鍑哄叆搴撹褰曚俊鎭け璐ワ紒" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
         #endregion
 
 
diff --git "a/WebAPI/Controllers/\347\224\237\344\272\247\347\256\241\347\220\206/\347\224\237\344\272\247\344\273\273\345\212\241\345\215\225/Sc_ICMOBillController.cs" "b/WebAPI/Controllers/\347\224\237\344\272\247\347\256\241\347\220\206/\347\224\237\344\272\247\344\273\273\345\212\241\345\215\225/Sc_ICMOBillController.cs"
index a0267e5..95eff1a 100644
--- "a/WebAPI/Controllers/\347\224\237\344\272\247\347\256\241\347\220\206/\347\224\237\344\272\247\344\273\273\345\212\241\345\215\225/Sc_ICMOBillController.cs"
+++ "b/WebAPI/Controllers/\347\224\237\344\272\247\347\256\241\347\220\206/\347\224\237\344\272\247\344\273\273\345\212\241\345\215\225/Sc_ICMOBillController.cs"
@@ -327,12 +327,12 @@
                 //涓昏〃
                 oCN.RunProc(@"Insert Into Sc_ICMOBillMain   
                         (HBillType,HInterID,HBillNo,HDate,HPRDORGID
-                        ,HYear,HPeriod,HRemark,HMaker,HMakeDate
+                        ,HYear,HPeriod,HRemark,HMaker,HMakeDate,HChecker,HCheckDate
                         ,HSeOrderBillNo,HSeOrderInterID,HSeOrderEntryID,HEmpID,HCusID
                         ,HCenterID,HPlanQty,HDeptID,HMaterID,HUnitID,HBomID,HPlanBeginDate,HPlanEndDate,HBillStatus
                         ,HOWNERID,HOWNERTYPEID)
                         values('3710'," + mainList[0].HInterID + ",'" + mainList[0].HBillNo + "','" + mainList[0].HDate + "'," + mainList[0].HPRDORGID +
-                "," + DateTime.Now.Year + "," + DateTime.Now.Month + ",'" + mainList[0].HRemark + "','" + mainList[0].HMaker + "',getdate()" +
+                "," + DateTime.Now.Year + "," + DateTime.Now.Month + ",'" + mainList[0].HRemark + "','" + mainList[0].HMaker + "',getdate(),'" + mainList[0].HMaker + "',getdate()" +
                 ",'" + mainList[0].HSeOrderBillNo + "'," + mainList[0].HSeOrderInterID + "," + mainList[0].HSeOrderEntryID + "," + mainList[0].HEmpID + "," + mainList[0].HCusID +
                 "," + mainList[0].HCenterID + "," + mainList[0].HPlanQty + ",0,0,0,0,'','',2" +
                 ","+ mainList[0].HOWNERID + ",'"+ mainList[0].HOWNERTYPEID + "') ");
diff --git "a/WebAPI/Controllers/\347\224\237\344\272\247\347\256\241\347\220\206/\350\264\250\351\207\217\346\261\207\346\212\245\345\215\225/Sc_QualityReportBillController.cs" "b/WebAPI/Controllers/\347\224\237\344\272\247\347\256\241\347\220\206/\350\264\250\351\207\217\346\261\207\346\212\245\345\215\225/Sc_QualityReportBillController.cs"
index a4a2d41..0f33c84 100644
--- "a/WebAPI/Controllers/\347\224\237\344\272\247\347\256\241\347\220\206/\350\264\250\351\207\217\346\261\207\346\212\245\345\215\225/Sc_QualityReportBillController.cs"
+++ "b/WebAPI/Controllers/\347\224\237\344\272\247\347\256\241\347\220\206/\350\264\250\351\207\217\346\261\207\346\212\245\345\215\225/Sc_QualityReportBillController.cs"
@@ -87,12 +87,25 @@
                 }
                 else
                 {
-                    ds = oCN.RunProcReturn
-                        ("select a.HInterID,a.HBillType,a.HICMOBillNo,a.HICMOInterID,a.HMaterID" +
-                        ",m.HNumber HMaterNumber,m.HName HMaterName,m.HModel HMaterModel,a.HICMOEntryID " +
-                        " from Sc_ICMOBillStatus_Tmp a " +
-                        " left join Gy_Material m on a.HMaterID=m.HItemID " +
-                        " Where a.HInterID=" + HInterID + " and a.HBillType="+ HBillType, "Sc_ICMOBillStatus_Tmp");
+                    if (HBillType == "3772")
+                    {
+                        ds = oCN.RunProcReturn
+                     ("select a.HInterID,a.HBillType,a.HICMOBillNo,a.HICMOInterID,a.HMaterID" +
+                     ",m.HNumber HMaterNumber,m.HName HMaterName,m.HModel HMaterModel,a.HICMOEntryID" +
+                     ",a.HSourceBillNo,a.HSourceInterID,a.HSourceEntryID,a.HDatePlanQty " +
+                     " from Sc_ICMOBillStatus_Tmp a " +
+                     " left join Gy_Material m on a.HMaterID=m.HItemID " +
+                     " Where a.HInterID=" + HInterID + " and a.HBillType=" + HBillType, "Sc_ICMOBillStatus_Tmp");
+                    }
+                    else {
+                        ds = oCN.RunProcReturn
+                         ("select a.HInterID,a.HBillType,a.HICMOBillNo,a.HICMOInterID,a.HMaterID" +
+                         ",m.HNumber HMaterNumber,m.HName HMaterName,m.HModel HMaterModel,a.HICMOEntryID " +
+                         " from Sc_ICMOBillStatus_Tmp a " +
+                         " left join Gy_Material m on a.HMaterID=m.HItemID " +
+                         " Where a.HInterID=" + HInterID + " and a.HBillType=" + HBillType, "Sc_ICMOBillStatus_Tmp");
+                    }
+                 
                 }
                 if (ds == null || ds.Tables[0].Rows.Count == 0)
                 {
@@ -617,7 +630,7 @@
         #region 鎻愪氦淇濆瓨锛屽瓨涓诲瓙琛ㄥ強鏄庣粏琛�
         [Route("Sc_QualityReportBill/set_SaveBill")]
         [HttpGet]
-        public object set_SaveBill(long HInterID,string HChecker)
+        public object set_SaveBill(long HInterID,string HBillNo, string HChecker)
         {
             try
             {
@@ -625,7 +638,7 @@
                 bool bResult2 = false;
                 oCN.BeginTran();
                 //淇濆瓨鍓嶆帶鍒�=========================================              
-                ds = oCN.RunProcReturn("exec h_p_Sc_QualityReportBill_BeforeSaveCtrl " + HInterID, "h_p_Sc_QualityReportBill_BeforeSaveCtrl");
+                ds = oCN.RunProcReturn("exec h_p_Sc_QualityReportBill_BeforeSaveCtrl " + HInterID+",'"+ HBillNo + "','',1", "h_p_Sc_QualityReportBill_BeforeSaveCtrl");
 
                 if (ds == null || ds.Tables[0].Rows.Count == 0)
                 {
@@ -658,7 +671,7 @@
                     return objJsonResult;
                 }
                 //淇濆瓨鍚庢帶鍒�=========================================              
-                ds = oCN.RunProcReturn("exec h_p_Sc_QualityReportBill_AfterSaveCtrl " + HInterID, "h_p_Sc_QualityReportBill_AfterSaveCtrl");
+                ds = oCN.RunProcReturn("exec h_p_Sc_QualityReportBill_AfterSaveCtrl " + HInterID + ",'" + HBillNo + "',1", "h_p_Sc_QualityReportBill_AfterSaveCtrl");
 
                 if (ds == null || ds.Tables[0].Rows.Count == 0)
                 {
diff --git "a/WebAPI/Controllers/\351\241\271\347\233\256\347\256\241\347\220\206/\345\267\245\344\275\234\344\273\273\345\212\241/PM_WorkTaskBillController.cs" "b/WebAPI/Controllers/\351\241\271\347\233\256\347\256\241\347\220\206/\345\267\245\344\275\234\344\273\273\345\212\241/PM_WorkTaskBillController.cs"
index e6009d5..0660f8c 100644
--- "a/WebAPI/Controllers/\351\241\271\347\233\256\347\256\241\347\220\206/\345\267\245\344\275\234\344\273\273\345\212\241/PM_WorkTaskBillController.cs"
+++ "b/WebAPI/Controllers/\351\241\271\347\233\256\347\256\241\347\220\206/\345\267\245\344\275\234\344\273\273\345\212\241/PM_WorkTaskBillController.cs"
@@ -24,6 +24,8 @@
         string HName_LongShan = "";
         public DAL.ClsPM_WorkTaskMoneyBillMain BillNew0 = new DAL.ClsPM_WorkTaskMoneyBillMain();   //浠诲姟璐圭敤鍗曞搴斿崟鎹被
 
+        public DAL.ClsGy_WorkTaskMoneyBOMBill BillNew1 = new DAL.ClsGy_WorkTaskMoneyBOMBill();   //浠诲姟璐圭敤娓呭崟瀵瑰簲鍗曟嵁绫�
+        public DAL.ClsGy_WorkTaskMoneyBOMBill BillOld1 = new DAL.ClsGy_WorkTaskMoneyBOMBill();
         #region 宸ヤ綔浠诲姟 鏂板/缂栬緫
         #region 宸ヤ綔浠诲姟 琛ㄥご鏁版嵁
         public class PM_WorkTaskBill_Main
@@ -285,7 +287,8 @@
                     //璁板綍鏃ュ織
                     LogService.Write("鐢ㄦ埛:" + user + ",鏃ユ湡:" + DateTime.Now + ",淇敼宸ヤ綔浠诲姟:" + HBillNo);
                     oCN.RunProc("Insert into System_log (GeginDate, userid, WorkstationName, WorkList, SystemName, NetuserName, State) select GETDATE(),'" + user + "','" + HComputerName + "','" + "淇敼宸ヤ綔浠诲姟锛�" + HBillNo + "','LMES-宸ヤ綔浠诲姟妯″潡','" + DBUtility.ClsPub.IPAddress + "','淇敼鍗曟嵁'", ref DBUtility.ClsPub.sExeReturnInfo);
-                }else if (OperationType == 4 && ds.Tables[0].Rows.Count == 0)        //涓嬫帹
+                }
+                else if (OperationType == 4 && ds.Tables[0].Rows.Count == 0)        //涓嬫帹
                 {
                     string sql = "insert into PM_WorkTaskBillMain" +
                         "(HYear,HPeriod,HBillType,HBillSubType,HInterID,HBillNo,HProjectID,HProNumber,HProjectStageID,HName,HDate,HTaskNote,HPlanTimes" +
@@ -1446,7 +1449,8 @@
                     //璁板綍鏃ュ織
                     LogService.Write("鐢ㄦ埛:" + user + ",鏃ユ湡:" + DateTime.Now + ",淇敼椤圭洰闃舵娓呭崟:" + HBillNo);
                     oCN.RunProc("Insert into System_log (GeginDate, userid, WorkstationName, WorkList, SystemName, NetuserName, State) select GETDATE(),'" + user + "','" + HComputerName + "','" + "淇敼椤圭洰闃舵娓呭崟锛�" + HBillNo + "','LMES-椤圭洰闃舵娓呭崟妯″潡','" + DBUtility.ClsPub.IPAddress + "','淇敼鍗曟嵁'", ref DBUtility.ClsPub.sExeReturnInfo);
-                }else if(OperationType == 4 && ds.Tables[0].Rows.Count == 0)        //涓嬫帹
+                }
+                else if(OperationType == 4 && ds.Tables[0].Rows.Count == 0)        //涓嬫帹
                 {
                     string sql = "insert into PM_WorkTaskReportBillMain" +
                         "(HYear,HPeriod,HBillType,HBillSubType,HInterID,HDate,HBillNo,HBillStatus,HRemark,HMaker,HMakeDate,HOrgID,HReportEmpID,HMainSourceInterID,HMainSourceEntryID,HMainSourceBillType,HMainSourceBillNo) " +
@@ -3039,9 +3043,9 @@
 
                 oCN.BeginTran();
 
-                oCN.RunProc("delete from PM_WorkTaskMoneyBillMain   where HInterID = " + HInterID);
+                oCN.RunProc("delete from Gy_WorkTaskMoneyBOMBillMain   where HInterID = " + HInterID);
 
-                oCN.RunProc("delete from PM_WorkTaskMoneyBillSub   where HInterID = " + HInterID);
+                oCN.RunProc("delete from Gy_WorkTaskMoneyBOMBillSub   where HInterID = " + HInterID);
 
                 oCN.Commit();
 
@@ -3062,6 +3066,960 @@
         }
         #endregion
 
+        #region 浠诲姟璐圭敤娓呭崟
 
+        #region 浠诲姟璐圭敤娓呭崟 淇濆瓨/缂栬緫
+        /// <summary>
+        /// 浠诲姟璐圭敤娓呭崟
+        /// </summary>
+        /// <param name="msg"></param>
+        /// <returns></returns>
+        [Route("PM_WorkTaskBill/Save锘縂y_WorkTaskMoneyBOMBill")]
+        [HttpPost]
+        public object Save锘縂y_WorkTaskMoneyBOMBill([FromBody] JObject sMainSub)
+        {
+            var _value = sMainSub["sMainSub"].ToString();
+            string msg1 = _value.ToString();
+            string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
+            string msg2 = sArray[0].ToString();
+            string msg3 = sArray[1].ToString(); //瀛愯〃
+            string refSav = sArray[2].ToString();//鎿嶄綔鏂瑰紡鏁版嵁绫诲瀷 1娣诲姞 3淇敼 2 澶嶅埗
+            string user = sArray[3].ToString();//鐢ㄦ埛鍚�
+
+            string UserName = "";
+            string s = "";
+            ListModels oListModels = new ListModels();
+            try
+            {
+                //淇濆瓨鏉冮檺
+                if (!DBUtility.ClsPub.Security_Log_second("PM_WorkTaskMoneyBOMBill_Edit", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "淇濆瓨澶辫触锛佹棤鏉冮檺锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                DAL.ClsGy_WorkTaskMoneyBOMBill oBill = new DAL.ClsGy_WorkTaskMoneyBOMBill();
+                List<Model.Cls锘縂y_WorkTaskMoneyBOMBillMain> lsmain = new List<Model.Cls锘縂y_WorkTaskMoneyBOMBillMain>();
+                msg2 = msg2.Replace("\\", "");
+                msg2 = msg2.Replace("\n", "");  //\n
+                //搴忓垪鍖栦富琛ㄦ暟鎹�
+                var jsonString = "[" + msg2.ToString() + "]";
+                lsmain = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Model.Cls锘縂y_WorkTaskMoneyBOMBillMain>>(jsonString);
+                foreach (Model.Cls锘縂y_WorkTaskMoneyBOMBillMain oItem in lsmain)
+                {
+                    if (refSav == "Add")
+                    {
+                        //鍗曟嵁鍙锋槸鍚﹂噸澶�
+                        if (BillNew1.IsExistBillNo(ref ClsPub.sExeReturnInfo, oItem.HBillNo, BillStatus, BillOld.omodel.HInterID))
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁鍙烽噸澶嶏紒涓嶅厑璁镐繚瀛橈紒";
+                            objJsonResult.data = 1;
+                            return objJsonResult;
+                        }
+                    }
+                    if (refSav == "Update")
+                    {
+                        if (BillNew1.ShowBill(oItem.HInterID, ref s) == false)
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "姝ゅ崟鎹湁璇紒";
+                            objJsonResult.data = 1;
+                            return objJsonResult;
+                        }
+                        //鍒ゆ柇鏄惁鍙紪杈�
+                        if (BillNew1.omodel.HChecker != "" && BillNew1.omodel.HChecker != null)
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "姝ゅ崟鎹凡缁忚瀹℃牳锛屼笉鍏佽淇敼锛�";
+                            objJsonResult.data = 1;
+                            return objJsonResult;
+                        }
+                        if (BillNew1.omodel.HBillStatus > 1)
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "姝ゅ崟鎹浜庝笉鍙紪杈戠姸鎬侊紝涓嶅厑璁镐慨鏀癸紒";
+                            objJsonResult.data = 1;
+                            return objJsonResult;
+                        }
+
+                    }
+                    UserName = oItem.HMaker;  //鍒跺崟浜�
+                    oItem.HBillType = "3339";
+                    oItem.HBillSubType = "3339";
+
+
+
+                    //oItem.HYear = DBUtility.ClsPub.isLong(DateTime.Now.Year);
+                    oItem.HPeriod = DBUtility.ClsPub.isLong(DateTime.Now.Month);
+                    oItem.HMakeDate = DBUtility.ClsPub.isStrNull(DateTime.Now.ToString("yyyy-MM-dd"));
+
+                    if (DBUtility.ClsPub.isStrNull(oItem.HDate) == "")
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "淇濆瓨澶辫触锛佹病鏈夊崟鎹棩鏈燂紝鏃犳硶淇濆瓨锛�";
+                        objJsonResult.data = 1;
+                        return objJsonResult;
+                    }
+                    oBill.omodel = oItem;
+                }
+                // 琛ㄤ綋鏁版嵁
+                //鎸� },{鏉ユ媶鍒嗘暟缁� //鍘绘帀銆愬拰銆�
+                msg3 = msg3.Substring(1, msg3.Length - 2);
+                msg3 = msg3.Replace("\\", "");
+                msg3 = msg3.Replace("\n", "");  //\n
+                List<Model.Cls锘縂y_WorkTaskMoneyBOMBillSub> ls = new List<Model.Cls锘縂y_WorkTaskMoneyBOMBillSub>();
+                jsonString = "[" + msg3.ToString() + "]";
+                ls = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Model.Cls锘縂y_WorkTaskMoneyBOMBillSub>>(jsonString);
+                int i = 0;
+                foreach (Model.Cls锘縂y_WorkTaskMoneyBOMBillSub oItemSub in ls)
+                {
+                    i++;
+                    oItemSub.HEntryID = i;
+
+
+                    oItemSub.HEntryCloseDate = DBUtility.ClsPub.isDate(DateTime.Now);
+                    oItemSub.HCloseType = false;   //鍏抽棴绫诲瀷
+
+                    oBill.DetailColl.Add(oItemSub);
+
+                }
+                //淇濆瓨
+                //淇濆瓨瀹屾瘯鍚庡鐞�
+                bool bResult;
+                if (refSav == "Add")
+                {
+
+                    bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo);
+                }
+                else if (refSav == "Update")
+                {
+                    bResult = oBill.ModifyBill(oBill.omodel.HInterID, ref DBUtility.ClsPub.sExeReturnInfo);
+                }
+                else
+                {
+                    bResult = false;
+                }
+                if (bResult)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "淇濆瓨鎴愬姛锛�";
+                    objJsonResult.data = 1;
+                    return objJsonResult;
+                }
+                else
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "淇濆瓨澶辫触锛�" + DBUtility.ClsPub.sExeReturnInfo;
+                    objJsonResult.data = 1;
+                    return objJsonResult;
+                }
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "淇濆瓨澶辫触锛�" + e.ToString();
+                objJsonResult.data = 1;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 浠诲姟璐圭敤娓呭崟鍒楄〃 鏌ヨ
+        /// <summary>
+        /// 杩斿洖浠诲姟璐圭敤娓呭崟鍒楄〃
+        ///鍙傛暟锛歴tring sql銆�
+        ///杩斿洖鍊硷細object銆�
+        /// </summary>
+        [Route("PM_WorkTaskBill/get锘縂y_WorkTaskMoneyBOMBillList")]
+        [HttpGet]
+        public object get锘縂y_WorkTaskMoneyBOMBillList(string sWhere, string user)
+        {
+            try
+            {
+                List<object> columnNameList = new List<object>();
+
+                //鏌ョ湅鏉冮檺
+                if (!DBUtility.ClsPub.Security_Log_second("PM_WorkTaskMoneyBOMBill_Query", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏌ヨ澶辫触锛佹棤鏉冮檺锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+
+                if (sWhere == null || sWhere.Equals(""))
+                {
+                    ds = oCN.RunProcReturn("select * from h_v_Gy_WorkTaskMoneyBOMBillList order by 鍗曟嵁鍙� desc", "锘縣_v_Gy_WorkTaskMoneyBOMBillList");
+                }
+                else
+                {
+                    string sql1 = "select * from h_v_Gy_WorkTaskMoneyBOMBillList where 1 = 1 ";
+                    string sql = sql1 + sWhere + " order by 鍗曟嵁鍙� desc";
+                    ds = oCN.RunProcReturn(sql, "锘縣_v_Gy_WorkTaskMoneyBOMBillList");
+                }
+
+                //娣诲姞鍒楀悕
+                foreach (DataColumn col in ds.Tables[0].Columns)
+                {
+                    Type dataType = col.DataType;
+                    string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}";
+                    columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//鑾峰彇鍒癉ataColumn鍒楀璞$殑鍒楀悕
+                }
+
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "Sucess锛�";
+                objJsonResult.data = ds.Tables[0];
+                objJsonResult.list = columnNameList;
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "Exception锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 浠诲姟璐圭敤娓呭崟鍒楄〃 鑾峰彇缂栬緫鍒楄〃鏁版嵁
+        /// <summary>
+        /// 鑾峰彇缂栬緫鍒楄〃鏁版嵁
+        /// </summary>
+        /// <param name="HInterID"></param>
+        /// <param name="User"></param>
+        /// <returns></returns>
+        [Route("PM_WorkTaskBill/Gy_WorkTaskMoneyBOMBillEditList")]
+        [HttpGet]
+        public object Gy_WorkTaskMoneyBOMBillMainEditList(string HInterID, string User)
+        {
+            try
+            {
+                List<DataTable> tableList = new List<DataTable>();
+
+                //鏌ョ湅鏉冮檺
+                if (!DBUtility.ClsPub.Security_Log("PM_WorkTaskMoneyBOMBill_Edit", 1, false, User))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏌ヨ澶辫触!";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                if (HInterID == null || HInterID.Equals(""))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "HInterID涓嶈兘涓虹┖锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                ds = oCN.RunProcReturn("select * from h_v_Gy_WorkTaskMoneyBOMBillList where HInterID =" + HInterID, "h_v_Gy_WorkTaskMoneyBOMBillList");
+                if (ds == null || ds.Tables[0].Rows.Count == 0)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "false锛�";
+                    objJsonResult.data = null;
+                    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;
+            }
+        }
+        
+        #endregion
+
+        #region 浠诲姟璐圭敤娓呭崟鍒楄〃 瀹℃牳/鍙嶅鏍稿姛鑳�
+
+        [Route("PM_WorkTaskBill/CheckGy_WorkTaskMoneyBOMBill")]
+        [HttpGet]
+        public object CheckGy_WorkTaskMoneyBOMBill(string HInterID, int Type, string user)
+        {
+            try
+            {
+                //鍒ゆ柇鏄惁鏈夊鏍告潈闄�
+                if (!DBUtility.ClsPub.Security_Log("PM_WorkTaskMoneyBOMBill_Check", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犳潈闄愬鏍�!";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                if (string.IsNullOrWhiteSpace(HInterID))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "HInterID涓虹┖锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                ClsPub.CurUserName = user;
+                BillOld1.MvarItemKey = "Gy_WorkTaskMoneyBOMBillMain";
+                oCN.BeginTran();//寮�濮嬩簨鍔�
+
+                //Type 1 瀹℃牳  2  鍙嶅鏍�
+                if (Type == 1)
+                {
+                    //鍒ゆ柇鍗曟嵁鏄惁宸茬粡瀹℃牳
+                    DataSet ds;
+                    string sql = "select * from " + BillOld1.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld1.MvarItemKey);
+                    if (ds == null || ds.Tables[0].Rows.Count == 0)
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鍗曟嵁涓嶅瓨鍦紒";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HCloseMan"] != null && ds.Tables[0].Rows[0]["HCloseMan"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插叧闂�!涓嶈兘鍐嶆瀹℃牳锛�";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        if (ds.Tables[0].Rows[0]["HDeleteMan"] != null && ds.Tables[0].Rows[0]["HDeleteMan"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸蹭綔搴�!涓嶈兘鍐嶆瀹℃牳锛�";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        if (ds.Tables[0].Rows[0]["HChecker"] != null && ds.Tables[0].Rows[0]["HChecker"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插鏍�!涓嶈兘鍐嶆瀹℃牳锛�";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        //瀹℃牳鍗曟嵁
+                        if (!BillOld1.CheckBill(Int64.Parse(HInterID), ref ClsPub.sExeReturnInfo))
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 1;
+                            objJsonResult.Message = "瀹℃牳澶辫触!鍘熷洜:" + ClsPub.sExeReturnInfo;
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                }
+                else
+                {
+                    //鍒ゆ柇鍗曟嵁鏄惁宸茬粡鍙嶅鏍�
+                    DataSet ds;
+                    string sql = "select * from " + BillOld1.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld1.MvarItemKey);
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HCloseMan"] != null && ds.Tables[0].Rows[0]["HCloseMan"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插叧闂�!涓嶈兘杩涜鍙嶅鏍革紒";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        if (ds.Tables[0].Rows[0]["HDeleteMan"] != null && ds.Tables[0].Rows[0]["HDeleteMan"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸蹭綔搴�!涓嶈兘杩涜鍙嶅鏍革紒";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        if (ds.Tables[0].Rows[0]["HChecker"] == null || ds.Tables[0].Rows[0]["HChecker"].ToString() == "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁鏈鏍�!涓嶉渶瑕佸弽瀹℃牳!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        //鍙嶅鏍稿崟鎹�
+                        if (!BillOld1.AbandonCheck(Int64.Parse(HInterID), ref ClsPub.sExeReturnInfo))
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 1;
+                            objJsonResult.Message = "鍙嶅鏍稿け璐�!鍘熷洜:" + ClsPub.sExeReturnInfo;
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                }
+
+                oCN.Commit();//鎻愪氦浜嬪姟
+
+                objJsonResult.code = "0";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "鎵ц鎴愬姛锛�";
+                objJsonResult.data = null;
+                return objJsonResult; ;
+
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "鎵ц澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 浠诲姟璐圭敤娓呭崟鍒楄〃 鍏抽棴/鍙嶅叧闂姛鑳�
+
+        [Route("PM_WorkTaskBill/CloseGy_WorkTaskMoneyBOMBill")]
+        [HttpGet]
+        public object CloseGy_WorkTaskMoneyBOMBill(string HInterID, int Type, string user)
+        {
+            try
+            {
+                //鍒ゆ柇鏄惁鏈夊垹闄ゆ潈闄�
+                if (!DBUtility.ClsPub.Security_Log("PM_WorkTaskMoneyBOMBill_Close", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犳潈闄愬叧闂�!";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                if (string.IsNullOrWhiteSpace(HInterID))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "HInterID涓虹┖锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                ClsPub.CurUserName = user;
+                BillOld1.MvarItemKey = "Gy_WorkTaskMoneyBOMBillMain";
+                oCN.BeginTran();//寮�濮嬩簨鍔�
+
+                //Type 1 鍏抽棴  2  鍙嶅叧闂�
+                if (Type == 1)
+                {
+                    //鍒ゆ柇鍗曟嵁鏄惁宸茬粡鍏抽棴
+                    DataSet ds;
+                    string sql = "select * from " + BillOld1.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld1.MvarItemKey);
+                    if (ds == null || ds.Tables[0].Rows.Count == 0)
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鍗曟嵁涓嶅瓨鍦紒";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HDeleteMan"] != null && ds.Tables[0].Rows[0]["HDeleteMan"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸蹭綔搴�!涓嶈兘杩涜鍏抽棴!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        if (ds.Tables[0].Rows[0]["HChecker"] == null || ds.Tables[0].Rows[0]["HChecker"].ToString() == "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁鏈鏍�!涓嶈兘杩涜鍏抽棴!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+
+                        if (ds.Tables[0].Rows[0]["HCloseMan"] != null && ds.Tables[0].Rows[0]["HCloseMan"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插叧闂�!涓嶈兘鍐嶆鍏抽棴!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        //鍏抽棴鍗曟嵁
+                        if (!BillOld1.CloseBill(Int64.Parse(HInterID), ref ClsPub.sExeReturnInfo))
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 1;
+                            objJsonResult.Message = "鍏抽棴澶辫触!鍘熷洜:" + ClsPub.sExeReturnInfo;
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                }
+                else
+                {
+                    //鍒ゆ柇鍗曟嵁鏄惁宸茬粡鍙嶅叧闂�
+                    DataSet ds;
+                    string sql = "select * from " + BillOld1.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld1.MvarItemKey);
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HDeleteMan"] != null && ds.Tables[0].Rows[0]["HDeleteMan"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸蹭綔搴�!涓嶈兘杩涜鍏抽棴!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        if (ds.Tables[0].Rows[0]["HChecker"] == null || ds.Tables[0].Rows[0]["HChecker"].ToString() == "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁鏈鏍�!涓嶈兘杩涜鍏抽棴!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        if (ds.Tables[0].Rows[0]["HCloseMan"] == null || ds.Tables[0].Rows[0]["HCloseMan"].ToString() == "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁鏈叧闂�!涓嶉渶瑕佸啀鍙嶅叧闂�!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        //鍙嶅叧闂崟鎹�
+                        if (!BillOld1.CancelClose(Int64.Parse(HInterID), ref ClsPub.sExeReturnInfo))
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 1;
+                            objJsonResult.Message = "鍙嶅叧闂け璐�!鍘熷洜:" + ClsPub.sExeReturnInfo;
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                }
+
+                oCN.Commit();//鎻愪氦浜嬪姟
+
+                objJsonResult.code = "0";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "鎵ц鎴愬姛锛�";
+                objJsonResult.data = null;
+                return objJsonResult; ;
+
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "鎵ц澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 浠诲姟璐圭敤娓呭崟鍒楄〃 浣滃簾/鍙嶄綔搴熷姛鑳�
+
+        [Route("PM_WorkTaskBill/DropGy_WorkTaskMoneyBOMBill")]
+        [HttpGet]
+        public object DropGy_WorkTaskMoneyBOMBillMain(string HInterID, int Type, string user)
+        {
+            try
+            {
+                //鍒ゆ柇鏄惁鏈変綔搴熸潈闄�
+                if (!DBUtility.ClsPub.Security_Log("PM_WorkTaskMoneyBOMBill_Drop", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犳潈闄愪綔搴�!";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                if (string.IsNullOrWhiteSpace(HInterID))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "HInterID涓虹┖锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                ClsPub.CurUserName = user;
+                BillOld1.MvarItemKey = "Gy_WorkTaskMoneyBOMBillMain";
+                oCN.BeginTran();//寮�濮嬩簨鍔�
+
+                //Type 1 浣滃簾  2  鍙嶄綔搴�
+                if (Type == 1)
+                {
+                    //鍒ゆ柇鍗曟嵁鏄惁宸茬粡浣滃簾
+                    DataSet ds;
+                    string sql = "select * from " + BillOld1.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld1.MvarItemKey);
+                    if (ds == null || ds.Tables[0].Rows.Count == 0)
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鍗曟嵁涓嶅瓨鍦紒";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HChecker"] != null && ds.Tables[0].Rows[0]["HChecker"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插鏍�!涓嶈兘杩涜浣滃簾!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        if (ds.Tables[0].Rows[0]["HDeleteMan"] != null && ds.Tables[0].Rows[0]["HDeleteMan"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸蹭綔搴�!涓嶉渶瑕佸啀浣滃簾!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        //浣滃簾鍗曟嵁
+                        if (!BillOld1.Cancelltion(Int64.Parse(HInterID), ref ClsPub.sExeReturnInfo))
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 1;
+                            objJsonResult.Message = "浣滃簾澶辫触!鍘熷洜:" + ClsPub.sExeReturnInfo;
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                }
+                else
+                {
+                    //鍒ゆ柇鍗曟嵁鏄惁宸茬粡鍙嶄綔搴�
+                    DataSet ds;
+                    string sql = "select * from " + BillOld1.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld1.MvarItemKey);
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HChecker"] != null && ds.Tables[0].Rows[0]["HChecker"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插鏍�!涓嶈兘杩涜浣滃簾!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        if (ds.Tables[0].Rows[0]["HDeleteMan"] == null || ds.Tables[0].Rows[0]["HDeleteMan"].ToString() == "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁鏈綔搴�!涓嶉渶瑕佸啀鍙嶄綔搴�!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        //鍙嶄綔搴熷崟鎹�
+                        if (!BillOld1.AbandonCancelltion(Int64.Parse(HInterID), ref ClsPub.sExeReturnInfo))
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 1;
+                            objJsonResult.Message = "鍙嶄綔搴熷け璐�!鍘熷洜:" + ClsPub.sExeReturnInfo;
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                }
+
+                oCN.Commit();//鎻愪氦浜嬪姟
+
+                objJsonResult.code = "0";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "鎵ц鎴愬姛锛�";
+                objJsonResult.data = null;
+                return objJsonResult; ;
+
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "鎵ц澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 浠诲姟璐圭敤娓呭崟鍒楄〃 鍒犻櫎
+
+        /// <summary>
+        ///鍙傛暟锛歴tring HInterID銆�
+        ///杩斿洖鍊硷細object銆�
+        /// </summary>
+        [Route("PM_WorkTaskBill/DeleteGy_WorkTaskMoneyBOMBill")]
+        [HttpGet]
+        public object DeleteGy_WorkTaskMoneyBOMBillMain(string HInterID, string user)
+        {
+            try
+            {
+                //鏌ョ湅鏉冮檺
+                if (!DBUtility.ClsPub.Security_Log("PM_WorkTaskMoneyBOMBill_Delete", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犲垹闄ゆ潈闄愶紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                if (HInterID == null || HInterID.Equals(""))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "HInterID涓嶈兘涓虹┖锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                oCN.BeginTran();
+
+                oCN.RunProc("delete from Gy_WorkTaskMoneyBOMBillMain   where HInterID = " + HInterID);
+
+                oCN.RunProc("delete from Gy_WorkTaskMoneyBOMBillSub   where HInterID = " + HInterID);
+
+                oCN.Commit();
+
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "鍒犻櫎鎴愬姛锛�";
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "Exception锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 椤圭洰璐圭敤娓呭崟 琛屽叧闂�/琛屽弽鍏抽棴
+        /// <summary>
+        /// </summary>
+        /// <param name="HInterID">鍗曟嵁ID</param>
+        /// <param name="IsAudit">鍏抽棴(1),鍙嶅叧闂�(2)</param>
+        /// <param name="CurUserName">鍏抽棴浜�</param>
+        /// <returns></returns>
+        [Route("PM_WorkTaskBill/CloseRowGy_WorkTaskMoneyBOMBill")]
+        [HttpGet]
+        public object CloseRowGy_WorkTaskMoneyBOMBill(int HInterID, int HEntryID, int IsAudit, string CurUserName)
+        {
+            string ModRightNameCheck = "PM_ProjectMoneyBOMBill_Close";
+            string SubBillName = "Gy_WorkTaskMoneyBOMBillSub";                   //瀛愯〃琛ㄥ悕
+            DBUtility.ClsPub.CurUserName = CurUserName;
+            DataSet ds = null;
+            try
+            {
+                //妫�鏌ユ潈闄�
+                if (!DBUtility.ClsPub.Security_Log_second(ModRightNameCheck, 1, false, CurUserName))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "琛屽叧闂け璐ワ紒鏃犳潈闄愶紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                //HInterID鏁版嵁鍒ゆ柇
+                if (HInterID <= 0)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "HInterID灏忎簬0锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                Int64 lngBillKey = 0;
+                lngBillKey = DBUtility.ClsPub.isLong(HInterID);                                         //瀵笻InterID杩涜绫诲瀷鐨勮浆鎹�
+                DAL.ClsGy_WorkTaskMoneyBOMBill oBill = new DAL.ClsGy_WorkTaskMoneyBOMBill();              //瀹炰緥鍖栧崟鎹搷浣滅被锛岀敤浜庤繘琛岀浉鍏虫搷浣�
+
+                //閽堝闇�瑕佽繘琛岀殑鎿嶄綔锛屾楠屽綋鍓嶅崟鎹殑鐘舵�佹槸鍚︽敮鎸侀渶瑕佽繘琛岀殑鎿嶄綔
+                if (oBill.ShowBill(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo))                    //鏍规嵁HInterID鑾峰彇璇ュ崟鎹殑鏁版嵁
+                {
+                    if (oBill.omodel.HDeleteMan.Trim() != "")
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鍗曟嵁宸蹭綔搴�!涓嶈兘杩涜琛屽叧闂紒";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    if (oBill.omodel.HCloseMan.Trim() != "")
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鍗曟嵁宸插叧闂�!涓嶈兘杩涜琛屽叧闂紒";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    if (oBill.omodel.HChecker.Trim() == "")
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鍗曟嵁鏈鏍�!涓嶈兘杩涜琛屽叧闂紒";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+
+                    string sql = "select * from " + SubBillName + " where HInterID = " + HInterID + " and HEntryID = " + HEntryID;
+                    ds = oCN.RunProcReturn(sql, "Cg_POOrderBillSub");
+                    if (ds == null || ds.Tables[0].Rows.Count == 0)
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "璇ヨ鏁版嵁涓嶅瓨鍦�!鍘熷洜:" + DBUtility.ClsPub.sExeReturnInfo;
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    if (IsAudit == 1)  //琛屽叧闂垽鏂�
+                    {
+                        if (ds.Tables[0].Rows[0]["HCloseMan"].ToString().Trim() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "琛屽凡鍏抽棴!涓嶈兘鍐嶆琛屽叧闂紒";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                    if (IsAudit == 2) //琛屽弽鍏抽棴鍒ゆ柇
+                    {
+                        if (ds.Tables[0].Rows[0]["HCloseMan"].ToString().Trim() == "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "琛屾湭鍏抽棴!涓嶉渶瑕佸啀琛屽弽鍏抽棴锛�";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+
+                        //鍒ゆ柇琛屾槸鍚︿负鑷姩鍏抽棴
+                        string temp = ds.Tables[0].Rows[0]["HCloseType"].ToString();
+                        if (ds.Tables[0].Rows[0]["HCloseType"].ToString() == "False")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "琛屽弽鍏抽棴澶辫触!琛屼负鑷姩鍏抽棴锛屼笉鑳借繘琛屾墜鍔ㄥ弽鍏抽棴锛�";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                }
+                else
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鍗曟嵁涓嶅瓨鍦�!鍘熷洜:" + DBUtility.ClsPub.sExeReturnInfo;
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+
+                //杩涜闇�瑕佽繘琛岀殑琛屽叧闂�/琛屽弽鍏抽棴鎿嶄綔
+                if (IsAudit == 1) //琛屽叧闂彁浜�
+                {
+                    //琛屽叧闂彁浜�
+                    if (oBill.CloseRow(lngBillKey, HEntryID, oBill.omodel.HBillNo, CurUserName, ref DBUtility.ClsPub.sExeReturnInfo) == true)
+                    {
+                        objJsonResult.code = "1";
+                        objJsonResult.count = 1;
+                        objJsonResult.Message = "琛屽叧闂垚鍔�";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    else
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "琛屽叧闂け璐�!鍘熷洜:" + DBUtility.ClsPub.sExeReturnInfo;
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                }
+                if (IsAudit == 2) //琛屽弽鍏抽棴鎻愪氦
+                {
+                    //琛屽弽鍏抽棴鎻愪氦
+                    if (oBill.CancelRow(lngBillKey, HEntryID, oBill.omodel.HBillNo, CurUserName, ref DBUtility.ClsPub.sExeReturnInfo) == true)
+                    {
+                        objJsonResult.code = "1";
+                        objJsonResult.count = 1;
+                        objJsonResult.Message = "鍙嶅叧闂垚鍔�";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    else
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鍙嶅叧闂け璐�!鍘熷洜:" + DBUtility.ClsPub.sExeReturnInfo;
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                }
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "鍏抽棴澶辫触鎴栬�呭弽鍏抽棴澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #endregion
     }
 }
\ No newline at end of file
diff --git "a/WebAPI/Controllers/\351\241\271\347\233\256\347\256\241\347\220\206/\345\267\245\347\250\213\351\241\271\347\233\256/PM_ProjectBillController.cs" "b/WebAPI/Controllers/\351\241\271\347\233\256\347\256\241\347\220\206/\345\267\245\347\250\213\351\241\271\347\233\256/PM_ProjectBillController.cs"
index 1205101..eece527 100644
--- "a/WebAPI/Controllers/\351\241\271\347\233\256\347\256\241\347\220\206/\345\267\245\347\250\213\351\241\271\347\233\256/PM_ProjectBillController.cs"
+++ "b/WebAPI/Controllers/\351\241\271\347\233\256\347\256\241\347\220\206/\345\267\245\347\250\213\351\241\271\347\233\256/PM_ProjectBillController.cs"
@@ -40,6 +40,9 @@
         public DAL.ClsPM_ProjectEndBillMain BillNew6 = new DAL.ClsPM_ProjectEndBillMain();   //椤圭洰楠屾敹鍗曞搴斿崟鎹被
         public DAL.ClsPM_ProjectEndBillMain BillOld6 = new DAL.ClsPM_ProjectEndBillMain();
 
+        public DAL.ClsGy_ProjectMoneyBOMBill BillNew7 = new DAL.ClsGy_ProjectMoneyBOMBill();   //椤圭洰璐圭敤娓呭崟瀵瑰簲鍗曟嵁绫�
+        public DAL.ClsGy_ProjectMoneyBOMBill BillOld7 = new DAL.ClsGy_ProjectMoneyBOMBill();
+
         #region 宸ョ▼椤圭洰 鏂板/缂栬緫
         #region 宸ョ▼椤圭洰 琛ㄥご鏁版嵁
         public class PM_ProjectBill_Main
@@ -4470,6 +4473,948 @@
         }
         #endregion
 
+        #region 椤圭洰璐圭敤娓呭崟
 
+        #region 椤圭洰璐圭敤娓呭崟 淇濆瓨/缂栬緫
+        /// <summary>
+        /// 椤圭洰璐圭敤娓呭崟
+        /// </summary>
+        /// <param name="msg"></param>
+        /// <returns></returns>
+        [Route("PM_ProjectBill/SaveGy_ProjectMoneyBOMBill")]
+        [HttpPost]
+        public object Save锘縂y_ProjectMoneyBOMBill([FromBody] JObject sMainSub)
+        {
+            var _value = sMainSub["sMainSub"].ToString();
+            string msg1 = _value.ToString();
+            string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
+            string msg2 = sArray[0].ToString();
+            string msg3 = sArray[1].ToString(); //瀛愯〃
+            string refSav = sArray[2].ToString();//鎿嶄綔鏂瑰紡鏁版嵁绫诲瀷 1娣诲姞 3淇敼 2 澶嶅埗
+            string user = sArray[3].ToString();//鐢ㄦ埛鍚�
+
+            string UserName = "";
+            string s = "";
+            ListModels oListModels = new ListModels();
+            try
+            {
+                //淇濆瓨鏉冮檺
+                if (!DBUtility.ClsPub.Security_Log_second("PM_ProjectMoneyBOMBill_Edit", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "淇濆瓨澶辫触锛佹棤鏉冮檺锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                DAL.ClsGy_ProjectMoneyBOMBill oBill = new DAL.ClsGy_ProjectMoneyBOMBill();
+                List<Model.Cls锘縂y_ProjectMoneyBOMBillMain> lsmain = new List<Model.Cls锘縂y_ProjectMoneyBOMBillMain>();
+                msg2 = msg2.Replace("\\", "");
+                msg2 = msg2.Replace("\n", "");  //\n
+                //搴忓垪鍖栦富琛ㄦ暟鎹�
+                var jsonString = "[" + msg2.ToString() + "]";
+                lsmain = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Model.Cls锘縂y_ProjectMoneyBOMBillMain>>(jsonString);
+                foreach (Model.Cls锘縂y_ProjectMoneyBOMBillMain oItem in lsmain)
+                {
+                    if (refSav == "Add")
+                    {
+                        //鍗曟嵁鍙锋槸鍚﹂噸澶�
+                        if (BillNew7.IsExistBillNo(ref ClsPub.sExeReturnInfo, oItem.HBillNo, BillStatus, BillOld.omodel.HInterID))
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁鍙烽噸澶嶏紒涓嶅厑璁镐繚瀛橈紒";
+                            objJsonResult.data = 1;
+                            return objJsonResult;
+                        }
+                    }
+                    if (refSav == "Update")
+                    {
+                        if (BillNew7.ShowBill(oItem.HInterID, ref s) == false)
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "姝ゅ崟鎹湁璇紒";
+                            objJsonResult.data = 1;
+                            return objJsonResult;
+                        }
+                        //鍒ゆ柇鏄惁鍙紪杈�
+                        if (BillNew7.omodel.HChecker != "" && BillNew7.omodel.HChecker != null)
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "姝ゅ崟鎹凡缁忚瀹℃牳锛屼笉鍏佽淇敼锛�";
+                            objJsonResult.data = 1;
+                            return objJsonResult;
+                        }
+                        if (BillNew7.omodel.HBillStatus > 1)
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "姝ゅ崟鎹浜庝笉鍙紪杈戠姸鎬侊紝涓嶅厑璁镐慨鏀癸紒";
+                            objJsonResult.data = 1;
+                            return objJsonResult;
+                        }
+
+                    }
+                    UserName = oItem.HMaker;  //鍒跺崟浜�
+                    oItem.HBillType = "3338";
+                    oItem.HBillSubType = "3338";
+
+
+
+                    //oItem.HYear = DBUtility.ClsPub.isLong(DateTime.Now.Year);
+                    oItem.HPeriod = DBUtility.ClsPub.isLong(DateTime.Now.Month);
+                    oItem.HMakeDate = DBUtility.ClsPub.isStrNull(DateTime.Now.ToString("yyyy-MM-dd"));
+
+                    if (DBUtility.ClsPub.isStrNull(oItem.HDate) == "")
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "淇濆瓨澶辫触锛佹病鏈夊崟鎹棩鏈燂紝鏃犳硶淇濆瓨锛�";
+                        objJsonResult.data = 1;
+                        return objJsonResult;
+                    }
+                    oBill.omodel = oItem;
+                }
+                // 琛ㄤ綋鏁版嵁
+                //鎸� },{鏉ユ媶鍒嗘暟缁� //鍘绘帀銆愬拰銆�
+                msg3 = msg3.Substring(1, msg3.Length - 2);
+                msg3 = msg3.Replace("\\", "");
+                msg3 = msg3.Replace("\n", "");  //\n
+                List<Model.Cls锘縂y_ProjectMoneyBOMBillSub> ls = new List<Model.Cls锘縂y_ProjectMoneyBOMBillSub>();
+                jsonString = "[" + msg3.ToString() + "]";
+                ls = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Model.Cls锘縂y_ProjectMoneyBOMBillSub>>(jsonString);
+                int i = 0;
+                foreach (Model.Cls锘縂y_ProjectMoneyBOMBillSub oItemSub in ls)
+                {
+                    i++;
+                    oItemSub.HEntryID = i;
+                    oItemSub.HEntryCloseDate = DBUtility.ClsPub.isDate(DateTime.Now);
+                    oItemSub.HCloseType = false;   //鍏抽棴绫诲瀷
+
+                    oBill.DetailColl.Add(oItemSub);
+
+                }
+                //淇濆瓨
+                //淇濆瓨瀹屾瘯鍚庡鐞�
+                bool bResult;
+                if (refSav == "Add")
+                {
+
+                    bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo);
+                }
+                else if (refSav == "Update")
+                {
+                    bResult = oBill.ModifyBill(oBill.omodel.HInterID, ref DBUtility.ClsPub.sExeReturnInfo);
+                }
+                else
+                {
+                    bResult = false;
+                }
+                if (bResult)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "淇濆瓨鎴愬姛锛�";
+                    objJsonResult.data = 1;
+                    return objJsonResult;
+                }
+                else
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "淇濆瓨澶辫触锛�" + DBUtility.ClsPub.sExeReturnInfo;
+                    objJsonResult.data = 1;
+                    return objJsonResult;
+                }
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "淇濆瓨澶辫触锛�" + e.ToString();
+                objJsonResult.data = 1;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 椤圭洰璐圭敤娓呭崟鍒楄〃 鏌ヨ
+        /// <summary>
+        /// 杩斿洖椤圭洰璐圭敤娓呭崟鍒楄〃
+        ///鍙傛暟锛歴tring sql銆�
+        ///杩斿洖鍊硷細object銆�
+        /// </summary>
+        [Route("PM_ProjectBill/getGy_ProjectMoneyBOMBillList")]
+        [HttpGet]
+        public object get锘縂y_ProjectMoneyBOMBillList(string sWhere, string user)
+        {
+            try
+            {
+                List<object> columnNameList = new List<object>();
+
+                //鏌ョ湅鏉冮檺
+                if (!DBUtility.ClsPub.Security_Log_second("PM_ProjectMoneyBOMBill_Query", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏌ヨ澶辫触锛佹棤鏉冮檺锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+
+                if (sWhere == null || sWhere.Equals(""))
+                {
+                    ds = oCN.RunProcReturn("select * from h_v_Gy_ProjectMoneyBOMBillList order by 鍗曟嵁鍙� desc", "锘縣_v_Gy_ProjectMoneyBOMBillList");
+                }
+                else
+                {
+                    string sql1 = "select * from h_v_Gy_ProjectMoneyBOMBillList where 1 = 1 ";
+                    string sql = sql1 + sWhere + " order by 鍗曟嵁鍙� desc";
+                    ds = oCN.RunProcReturn(sql, "锘縣_v_Gy_ProjectMoneyBOMBillList");
+                }
+
+                //娣诲姞鍒楀悕
+                foreach (DataColumn col in ds.Tables[0].Columns)
+                {
+                    Type dataType = col.DataType;
+                    string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}";
+                    columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//鑾峰彇鍒癉ataColumn鍒楀璞$殑鍒楀悕
+                }
+
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "Sucess锛�";
+                objJsonResult.data = ds.Tables[0];
+                objJsonResult.list = columnNameList;
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "Exception锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 椤圭洰璐圭敤娓呭崟鍒楄〃 鑾峰彇缂栬緫鍒楄〃鏁版嵁
+
+        [Route("PM_ProjectBill/Gy_ProjectMoneyBOMBillEditList")]
+        [HttpGet]
+        public object Gy_ProjectMoneyBOMBillMainEditList(string HInterID, string User)
+        {
+            try
+            {
+                List<DataTable> tableList = new List<DataTable>();
+
+                //鏌ョ湅鏉冮檺
+                if (!DBUtility.ClsPub.Security_Log("PM_ProjectMoneyBOMBill_Edit", 1, false, User))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏌ヨ澶辫触!";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                if (HInterID == null || HInterID.Equals(""))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "HInterID涓嶈兘涓虹┖锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                ds = oCN.RunProcReturn("select * from h_v_Gy_ProjectMoneyBOMBillList where HInterID =" + HInterID, "h_v_Gy_ProjectMoneyBOMBillList");
+                if (ds == null || ds.Tables[0].Rows.Count == 0)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "false锛�";
+                    objJsonResult.data = null;
+                    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;
+            }
+        }
+        #endregion
+
+        #region 椤圭洰璐圭敤娓呭崟鍒楄〃 瀹℃牳/鍙嶅鏍稿姛鑳�
+        [Route("PM_ProjectBill/CheckGy_ProjectMoneyBOMBill")]
+        
+        [HttpGet]
+        public object CheckGy_ProjectMoneyBOMBill(string HInterID, int Type, string user)
+        {
+            try
+            {
+                //鍒ゆ柇鏄惁鏈夊鏍告潈闄�
+                if (!DBUtility.ClsPub.Security_Log("PM_ProjectMoneyBOMBill_Check", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犳潈闄愬鏍�!";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                if (string.IsNullOrWhiteSpace(HInterID))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "HInterID涓虹┖锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                ClsPub.CurUserName = user;
+                BillOld1.MvarItemKey = "Gy_ProjectMoneyBOMBillMain";
+                oCN.BeginTran();//寮�濮嬩簨鍔�
+
+                //Type 1 瀹℃牳  2  鍙嶅鏍�
+                if (Type == 1)
+                {
+                    //鍒ゆ柇鍗曟嵁鏄惁宸茬粡瀹℃牳
+                    DataSet ds;
+                    string sql = "select * from " + BillOld1.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld1.MvarItemKey);
+                    if (ds == null || ds.Tables[0].Rows.Count == 0)
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鍗曟嵁涓嶅瓨鍦紒";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HCloseMan"] != null && ds.Tables[0].Rows[0]["HCloseMan"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插叧闂�!涓嶈兘鍐嶆瀹℃牳锛�";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        if (ds.Tables[0].Rows[0]["HDeleteMan"] != null && ds.Tables[0].Rows[0]["HDeleteMan"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸蹭綔搴�!涓嶈兘鍐嶆瀹℃牳锛�";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        if (ds.Tables[0].Rows[0]["HChecker"] != null && ds.Tables[0].Rows[0]["HChecker"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插鏍�!涓嶈兘鍐嶆瀹℃牳锛�";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        //瀹℃牳鍗曟嵁
+                        if (!BillOld1.CheckBill(Int64.Parse(HInterID), ref ClsPub.sExeReturnInfo))
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 1;
+                            objJsonResult.Message = "瀹℃牳澶辫触!鍘熷洜:" + ClsPub.sExeReturnInfo;
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                }
+                else
+                {
+                    //鍒ゆ柇鍗曟嵁鏄惁宸茬粡鍙嶅鏍�
+                    DataSet ds;
+                    string sql = "select * from " + BillOld1.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld1.MvarItemKey);
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HCloseMan"] != null && ds.Tables[0].Rows[0]["HCloseMan"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插叧闂�!涓嶈兘杩涜鍙嶅鏍革紒";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        if (ds.Tables[0].Rows[0]["HDeleteMan"] != null && ds.Tables[0].Rows[0]["HDeleteMan"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸蹭綔搴�!涓嶈兘杩涜鍙嶅鏍革紒";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        if (ds.Tables[0].Rows[0]["HChecker"] == null || ds.Tables[0].Rows[0]["HChecker"].ToString() == "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁鏈鏍�!涓嶉渶瑕佸弽瀹℃牳!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        //鍙嶅鏍稿崟鎹�
+                        if (!BillOld1.AbandonCheck(Int64.Parse(HInterID), ref ClsPub.sExeReturnInfo))
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 1;
+                            objJsonResult.Message = "鍙嶅鏍稿け璐�!鍘熷洜:" + ClsPub.sExeReturnInfo;
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                }
+
+                oCN.Commit();//鎻愪氦浜嬪姟
+
+                objJsonResult.code = "0";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "鎵ц鎴愬姛锛�";
+                objJsonResult.data = null;
+                return objJsonResult; ;
+
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "鎵ц澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 椤圭洰璐圭敤娓呭崟鍒楄〃 鍏抽棴/鍙嶅叧闂姛鑳�
+        [Route("PM_ProjectBill/CloseGy_ProjectMoneyBOMBill")]
+        [HttpGet]
+        public object CloseGy_ProjectMoneyBOMBill(string HInterID, int Type, string user)
+        {
+            try
+            {
+                //鍒ゆ柇鏄惁鏈夊垹闄ゆ潈闄�
+                if (!DBUtility.ClsPub.Security_Log("PM_ProjectMoneyBOMBill_Close", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犳潈闄愬叧闂�!";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                if (string.IsNullOrWhiteSpace(HInterID))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "HInterID涓虹┖锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                ClsPub.CurUserName = user;
+                BillOld7.MvarItemKey = "Gy_ProjectMoneyBOMBillMain";
+                oCN.BeginTran();//寮�濮嬩簨鍔�
+
+                //Type 1 鍏抽棴  2  鍙嶅叧闂�
+                if (Type == 1)
+                {
+                    //鍒ゆ柇鍗曟嵁鏄惁宸茬粡鍏抽棴
+                    DataSet ds;
+                    string sql = "select * from " + BillOld7.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld7.MvarItemKey);
+                    if (ds == null || ds.Tables[0].Rows.Count == 0)
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鍗曟嵁涓嶅瓨鍦紒";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HDeleteMan"] != null && ds.Tables[0].Rows[0]["HDeleteMan"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸蹭綔搴�!涓嶈兘杩涜鍏抽棴!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        if (ds.Tables[0].Rows[0]["HChecker"] == null || ds.Tables[0].Rows[0]["HChecker"].ToString() == "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁鏈鏍�!涓嶈兘杩涜鍏抽棴!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+
+                        if (ds.Tables[0].Rows[0]["HCloseMan"] != null && ds.Tables[0].Rows[0]["HCloseMan"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插叧闂�!涓嶈兘鍐嶆鍏抽棴!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        //鍏抽棴鍗曟嵁
+                        if (!BillOld7.CloseBill(Int64.Parse(HInterID), ref ClsPub.sExeReturnInfo))
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 1;
+                            objJsonResult.Message = "鍏抽棴澶辫触!鍘熷洜:" + ClsPub.sExeReturnInfo;
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                }
+                else
+                {
+                    //鍒ゆ柇鍗曟嵁鏄惁宸茬粡鍙嶅叧闂�
+                    DataSet ds;
+                    string sql = "select * from " + BillOld7.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld7.MvarItemKey);
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HDeleteMan"] != null && ds.Tables[0].Rows[0]["HDeleteMan"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸蹭綔搴�!涓嶈兘杩涜鍏抽棴!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        if (ds.Tables[0].Rows[0]["HChecker"] == null || ds.Tables[0].Rows[0]["HChecker"].ToString() == "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁鏈鏍�!涓嶈兘杩涜鍏抽棴!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        if (ds.Tables[0].Rows[0]["HCloseMan"] == null || ds.Tables[0].Rows[0]["HCloseMan"].ToString() == "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁鏈叧闂�!涓嶉渶瑕佸啀鍙嶅叧闂�!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        //鍙嶅叧闂崟鎹�
+                        if (!BillOld7.CancelClose(Int64.Parse(HInterID), ref ClsPub.sExeReturnInfo))
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 1;
+                            objJsonResult.Message = "鍙嶅叧闂け璐�!鍘熷洜:" + ClsPub.sExeReturnInfo;
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                }
+
+                oCN.Commit();//鎻愪氦浜嬪姟
+
+                objJsonResult.code = "0";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "鎵ц鎴愬姛锛�";
+                objJsonResult.data = null;
+                return objJsonResult; ;
+
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "鎵ц澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 椤圭洰璐圭敤娓呭崟鍒楄〃 浣滃簾/鍙嶄綔搴熷姛鑳�
+        [Route("PM_ProjectBill/DropGy_ProjectMoneyBOMBill")]
+        [HttpGet]
+        public object DropGy_ProjectMoneyBOMBillMain(string HInterID, int Type, string user)
+        {
+            try
+            {
+                //鍒ゆ柇鏄惁鏈変綔搴熸潈闄�
+                if (!DBUtility.ClsPub.Security_Log("PM_ProjectMoneyBOMBill_Drop", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犳潈闄愪綔搴�!";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                if (string.IsNullOrWhiteSpace(HInterID))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "HInterID涓虹┖锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                ClsPub.CurUserName = user;
+                BillOld7.MvarItemKey = "Gy_ProjectMoneyBOMBillMain";
+                oCN.BeginTran();//寮�濮嬩簨鍔�
+
+                //Type 1 浣滃簾  2  鍙嶄綔搴�
+                if (Type == 1)
+                {
+                    //鍒ゆ柇鍗曟嵁鏄惁宸茬粡浣滃簾
+                    DataSet ds;
+                    string sql = "select * from " + BillOld7.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld7.MvarItemKey);
+                    if (ds == null || ds.Tables[0].Rows.Count == 0)
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鍗曟嵁涓嶅瓨鍦紒";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HChecker"] != null && ds.Tables[0].Rows[0]["HChecker"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插鏍�!涓嶈兘杩涜浣滃簾!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        if (ds.Tables[0].Rows[0]["HDeleteMan"] != null && ds.Tables[0].Rows[0]["HDeleteMan"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸蹭綔搴�!涓嶉渶瑕佸啀浣滃簾!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        //浣滃簾鍗曟嵁
+                        if (!BillOld7.Cancelltion(Int64.Parse(HInterID), ref ClsPub.sExeReturnInfo))
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 1;
+                            objJsonResult.Message = "浣滃簾澶辫触!鍘熷洜:" + ClsPub.sExeReturnInfo;
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                }
+                else
+                {
+                    //鍒ゆ柇鍗曟嵁鏄惁宸茬粡鍙嶄綔搴�
+                    DataSet ds;
+                    string sql = "select * from " + BillOld7.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld7.MvarItemKey);
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HChecker"] != null && ds.Tables[0].Rows[0]["HChecker"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插鏍�!涓嶈兘杩涜浣滃簾!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        if (ds.Tables[0].Rows[0]["HDeleteMan"] == null || ds.Tables[0].Rows[0]["HDeleteMan"].ToString() == "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁鏈綔搴�!涓嶉渶瑕佸啀鍙嶄綔搴�!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        //鍙嶄綔搴熷崟鎹�
+                        if (!BillOld7.AbandonCancelltion(Int64.Parse(HInterID), ref ClsPub.sExeReturnInfo))
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 1;
+                            objJsonResult.Message = "鍙嶄綔搴熷け璐�!鍘熷洜:" + ClsPub.sExeReturnInfo;
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                }
+
+                oCN.Commit();//鎻愪氦浜嬪姟
+
+                objJsonResult.code = "0";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "鎵ц鎴愬姛锛�";
+                objJsonResult.data = null;
+                return objJsonResult; ;
+
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "鎵ц澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 椤圭洰璐圭敤娓呭崟鍒楄〃 鍒犻櫎
+        /// <summary>
+        ///鍙傛暟锛歴tring HInterID銆�
+        ///杩斿洖鍊硷細object銆�
+        /// </summary>
+        [Route("PM_ProjectBill/DeleteGy_ProjectMoneyBOMBill")]
+        [HttpGet]
+        public object DeleteGy_ProjectMoneyBOMBillMain(string HInterID, string user)
+        {
+            try
+            {
+                //鏌ョ湅鏉冮檺
+                if (!DBUtility.ClsPub.Security_Log("PM_ProjectMoneyBOMBill_Delete", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犲垹闄ゆ潈闄愶紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                if (HInterID == null || HInterID.Equals(""))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "HInterID涓嶈兘涓虹┖锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                oCN.BeginTran();
+
+                oCN.RunProc("delete from Gy_ProjectMoneyBOMBillMain   where HInterID = " + HInterID);
+
+                oCN.RunProc("delete from Gy_ProjectMoneyBOMBillSub   where HInterID = " + HInterID);
+
+                oCN.Commit();
+
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "鍒犻櫎鎴愬姛锛�";
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "Exception锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 椤圭洰璐圭敤娓呭崟 琛屽叧闂�/琛屽弽鍏抽棴
+        /// <summary>
+        /// </summary>
+        /// <param name="HInterID">鍗曟嵁ID</param>
+        /// <param name="IsAudit">鍏抽棴(1),鍙嶅叧闂�(2)</param>
+        /// <param name="CurUserName">鍏抽棴浜�</param>
+        /// <returns></returns>
+        [Route("PM_ProjectBill/CloseRowGy_ProjectMoneyBOMBill")]
+        [HttpGet]
+        public object CloseRowGy_ProjectMoneyBOMBill(int HInterID, int HEntryID, int IsAudit, string CurUserName)
+        {
+            string ModRightNameCheck = "PM_ProjectMoneyBOMBill_Close";
+            string SubBillName = "Gy_ProjectMoneyBOMBillSub";                   //瀛愯〃琛ㄥ悕
+            DBUtility.ClsPub.CurUserName = CurUserName;
+            DataSet ds = null;
+            try
+            {
+                //妫�鏌ユ潈闄�
+                if (!DBUtility.ClsPub.Security_Log_second(ModRightNameCheck, 1, false, CurUserName))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "琛屽叧闂け璐ワ紒鏃犳潈闄愶紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                //HInterID鏁版嵁鍒ゆ柇
+                if (HInterID <= 0)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "HInterID灏忎簬0锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                Int64 lngBillKey = 0;
+                lngBillKey = DBUtility.ClsPub.isLong(HInterID);                                         //瀵笻InterID杩涜绫诲瀷鐨勮浆鎹�
+                DAL.ClsGy_ProjectMoneyBOMBill oBill = new DAL.ClsGy_ProjectMoneyBOMBill();              //瀹炰緥鍖栧崟鎹搷浣滅被锛岀敤浜庤繘琛岀浉鍏虫搷浣�
+
+                //閽堝闇�瑕佽繘琛岀殑鎿嶄綔锛屾楠屽綋鍓嶅崟鎹殑鐘舵�佹槸鍚︽敮鎸侀渶瑕佽繘琛岀殑鎿嶄綔
+                if (oBill.ShowBill(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo))                    //鏍规嵁HInterID鑾峰彇璇ュ崟鎹殑鏁版嵁
+                {
+                    if (oBill.omodel.HDeleteMan.Trim() != "")
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鍗曟嵁宸蹭綔搴�!涓嶈兘杩涜琛屽叧闂紒";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    if (oBill.omodel.HCloseMan.Trim() != "")
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鍗曟嵁宸插叧闂�!涓嶈兘杩涜琛屽叧闂紒";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    if (oBill.omodel.HChecker.Trim() == "")
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鍗曟嵁鏈鏍�!涓嶈兘杩涜琛屽叧闂紒";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+
+                    string sql = "select * from " + SubBillName + " where HInterID = " + HInterID + " and HEntryID = " + HEntryID;
+                    ds = oCN.RunProcReturn(sql, "Cg_POOrderBillSub");
+                    if (ds == null || ds.Tables[0].Rows.Count == 0)
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "璇ヨ鏁版嵁涓嶅瓨鍦�!鍘熷洜:" + DBUtility.ClsPub.sExeReturnInfo;
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    if (IsAudit == 1)  //琛屽叧闂垽鏂�
+                    {
+                        if (ds.Tables[0].Rows[0]["HCloseMan"].ToString().Trim() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "琛屽凡鍏抽棴!涓嶈兘鍐嶆琛屽叧闂紒";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                    if (IsAudit == 2) //琛屽弽鍏抽棴鍒ゆ柇
+                    {
+                        if (ds.Tables[0].Rows[0]["HCloseMan"].ToString().Trim() == "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "琛屾湭鍏抽棴!涓嶉渶瑕佸啀琛屽弽鍏抽棴锛�";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+
+                        //鍒ゆ柇琛屾槸鍚︿负鑷姩鍏抽棴
+                        string temp = ds.Tables[0].Rows[0]["HCloseType"].ToString();
+                        if (ds.Tables[0].Rows[0]["HCloseType"].ToString() == "False")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "琛屽弽鍏抽棴澶辫触!琛屼负鑷姩鍏抽棴锛屼笉鑳借繘琛屾墜鍔ㄥ弽鍏抽棴锛�";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                }
+                else
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鍗曟嵁涓嶅瓨鍦�!鍘熷洜:" + DBUtility.ClsPub.sExeReturnInfo;
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+
+                //杩涜闇�瑕佽繘琛岀殑琛屽叧闂�/琛屽弽鍏抽棴鎿嶄綔
+                if (IsAudit == 1) //琛屽叧闂彁浜�
+                {
+                    //琛屽叧闂彁浜�
+                    if (oBill.CloseRow(lngBillKey, HEntryID, oBill.omodel.HBillNo, CurUserName, ref DBUtility.ClsPub.sExeReturnInfo) == true)
+                    {
+                        objJsonResult.code = "1";
+                        objJsonResult.count = 1;
+                        objJsonResult.Message = "琛屽叧闂垚鍔�";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    else
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "琛屽叧闂け璐�!鍘熷洜:" + DBUtility.ClsPub.sExeReturnInfo;
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                }
+                if (IsAudit == 2) //琛屽弽鍏抽棴鎻愪氦
+                {
+                    //琛屽弽鍏抽棴鎻愪氦
+                    if (oBill.CancelRow(lngBillKey, HEntryID, oBill.omodel.HBillNo, CurUserName, ref DBUtility.ClsPub.sExeReturnInfo) == true)
+                    {
+                        objJsonResult.code = "1";
+                        objJsonResult.count = 1;
+                        objJsonResult.Message = "鍙嶅叧闂垚鍔�";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    else
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鍙嶅叧闂け璐�!鍘熷洜:" + DBUtility.ClsPub.sExeReturnInfo;
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                }
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "鍏抽棴澶辫触鎴栬�呭弽鍏抽棴澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+        #endregion
     }
 }
\ No newline at end of file
diff --git a/WebAPI/DLL/ClsGy_CheckNoteItem_Ctl.cs b/WebAPI/DLL/ClsGy_CheckNoteItem_Ctl.cs
new file mode 100644
index 0000000..5d27f31
--- /dev/null
+++ b/WebAPI/DLL/ClsGy_CheckNoteItem_Ctl.cs
@@ -0,0 +1,103 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Text;
+using System.Data;
+
+namespace WebAPI.DLL
+{
+    public class ClsGy_CheckNoteItem_Ctl : DBUtility.ClsGy_Base_Ctl   
+    {
+        
+           SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
+        //鍘熶唬鐮� 鐢ㄤ簬 鏇挎崲瀛愰」鐩�
+        public string HOldNumber;
+        public Model.ClsGy_CheckNoteItem_Model oModel = new Model.ClsGy_CheckNoteItem_Model();
+        //鏂板
+        public override bool AddNew()
+        {
+            //
+            try
+            {
+                oCn.BeginTran();
+                oCn.RunProc("Insert into " + MvarItemKey + " " +
+                    " (HNumber,HName,HHelpCode,HShortNumber,HParentID" +
+                    ",HLevel,HEndFlag,HStopflag,HRemark,HMakeTime,HUSEORGID,HUseFlag,HMakeEmp,HCREATEORGID,HCheckPostID) " +
+                    " Values('" + oModel.HNumber + "','" + oModel.HName + "','" + oModel.HHelpCode + "','" + oModel.HShortNumber + "'," + oModel.HParentID.ToString() +
+                    "," + oModel.HLevel.ToString() + "," + Convert.ToString(oModel.HEndFlag ? 1 : 0) + "," + Convert.ToString(oModel.HStopflag ? 1 : 0) + ",'" + oModel.HRemark + "','" +DateTime.Now+ "','" + oModel.HUSEORGID + "','" + oModel.HUseFlag + "','" + oModel.HMakeEmp+ "','" + oModel.HUSEORGID + "','" + oModel.HCheckPostID + "')", ref DBUtility.ClsPub.sExeReturnInfo);
+                //淇敼涓婄骇涓洪潪鏈骇浠g爜
+                oCn.RunProc("Update " + MvarItemKey + " set HEndflag=0 where HItemID=" + oModel.HParentID, ref DBUtility.ClsPub.sExeReturnInfo);
+                oCn.Commit();
+                return true;
+            }
+            catch (Exception e)
+            {
+                oCn.RollBack();
+                throw (e);
+            }
+        }
+
+        //淇敼
+        public override bool ModifyByID(Int64 sItemID)
+        {
+            try
+            {
+                
+                oCn.BeginTran();
+                oCn.RunProc("Update " + MvarItemKey + " set " +
+                    " HNumber='" + oModel.HNumber + "'" +
+                    ",HName='" + oModel.HName + "'" +
+                    ",HShortNumber='" + oModel.HShortNumber + "'" +
+                    ",HHelpCode='" + oModel.HHelpCode + "'" +
+                    ",HModifyTime='" + DateTime.Now + "'" +   
+                    ",HUSEORGID='" + oModel.HUSEORGID + "'" +
+                    ",HModifyEmp ='" + oModel.HMakeEmp + "'" +
+                    ",HUseFlag='" + oModel.HUseFlag + "'" +
+                    ",HCheckPostID='" + oModel.HCheckPostID + "'" +
+                    ",HStopflag=" + Convert.ToString(oModel.HStopflag ? 1 : 0) +
+                    ",HRemark= '" + oModel.HRemark + "' Where HItemID=" + sItemID, ref DBUtility.ClsPub.sExeReturnInfo);
+                //淇敼瀛愰」鐩唬鐮�
+                oCn.RunProc("exec h_p_Gy_UpdateNumber '" + MvarItemKey + "','" + oModel.HNumber + ".','" + this.HOldNumber + ".'", ref DBUtility.ClsPub.sExeReturnInfo);
+                //灏嗕笂绾� 涓洪潪鏈骇
+                oCn.RunProc("Update " + MvarItemKey + " set HEndflag=0 where HItemID=" + oModel.HParentID, ref DBUtility.ClsPub.sExeReturnInfo);
+                //
+                oCn.Commit();
+                return true;
+            }
+            catch (Exception e)
+            {
+                oCn.RollBack();
+                throw (e);
+            }
+        }
+        //鏍规嵁浠g爜鍒ゆ柇淇℃伅
+        public override bool HavParentCode(string sCode, Int64 sItemID)
+        {
+            DataSet DS;
+            try
+            {
+                DS = oCn.RunProcReturn("Select * from " + MvarItemKey + " Where HStopflag=0 and HNumber='" + sCode + "' and HItemID<>" + sItemID, MvarItemKey, ref Pub_Class.ClsPub.sExeReturnInfo);
+                if (DS.Tables[0].Rows.Count == 0)
+                    return false;
+                else
+                {
+                    oModel.HItemID = Convert.ToInt64(DS.Tables[0].Rows[0]["HItemID"]);
+                    return true;
+                }
+            }
+            catch (Exception e)
+            {
+                throw (e);
+            }
+        }
+        //鏋勯�犲嚱鏁�
+        public ClsGy_CheckNoteItem_Ctl()
+        {
+            MvarItemKey = "Gy_CheckNoteItem";
+            MvarReportTitle = "鍚姩妫�娴嬮」鐩缃�";
+            oModel = new Model.ClsGy_CheckNoteItem_Model();
+        }
+
+    
+
+    }
+}
diff --git a/WebAPI/DLL/ClsGy_MaintainLev_Ctl.cs b/WebAPI/DLL/ClsGy_MaintainLev_Ctl.cs
index 21389ea..f548074 100644
--- a/WebAPI/DLL/ClsGy_MaintainLev_Ctl.cs
+++ b/WebAPI/DLL/ClsGy_MaintainLev_Ctl.cs
@@ -92,7 +92,7 @@
         public ClsGy_MaintainLev_Ctl()
         {
             MvarItemKey = "Gy_MaintainLev";
-            MvarReportTitle = "闃查敊瑁呯疆璁剧疆";
+            MvarReportTitle = "淇濆吇绾у埆璁剧疆";
             oModel = new Model.ClsGy_MaintainLev_Model();
         }
 
diff --git a/WebAPI/DLL/ClsGy_PostSkill_Ctl.cs b/WebAPI/DLL/ClsGy_PostSkill_Ctl.cs
index 9af16c8..8d34add 100644
--- a/WebAPI/DLL/ClsGy_PostSkill_Ctl.cs
+++ b/WebAPI/DLL/ClsGy_PostSkill_Ctl.cs
@@ -20,9 +20,9 @@
                 oCn.BeginTran();
                 oCn.RunProc("Insert into " + MvarItemKey + " " +
                     " (HNumber,HName,HHelpCode,HShortNumber,HParentID" +
-                    ",HLevel,HEndFlag,HStopflag,HRemark,HMakeTime,HUSEORGID,HUseFlag,HMakeEmp,HCREATEORGID,HERPItemID) " +
+                    ",HLevel,HEndFlag,HStopflag,HRemark,HMakeTime,HUSEORGID,HUseFlag,HMakeEmp,HCREATEORGID,HPostID,HProcID) " +
                     " Values('" + oModel.HNumber + "','" + oModel.HName + "','" + oModel.HHelpCode + "','" + oModel.HShortNumber + "'," + oModel.HParentID.ToString() +
-                    "," + oModel.HLevel.ToString() + "," + Convert.ToString(oModel.HEndFlag ? 1 : 0) + "," + Convert.ToString(oModel.HStopflag ? 1 : 0) + ",'" + oModel.HRemark + "','" +DateTime.Now+ "','" + oModel.HUSEORGID + "','" + oModel.HUseFlag + "','" + oModel.HMakeEmp+ "','" + oModel.HUSEORGID + "','" + 0 + "')", ref DBUtility.ClsPub.sExeReturnInfo);
+                    "," + oModel.HLevel.ToString() + "," + Convert.ToString(oModel.HEndFlag ? 1 : 0) + "," + Convert.ToString(oModel.HStopflag ? 1 : 0) + ",'" + oModel.HRemark + "','" +DateTime.Now+ "','" + oModel.HUSEORGID + "','" + oModel.HUseFlag + "','" + oModel.HMakeEmp+ "','" + oModel.HUSEORGID + "','" +oModel.HPostID + "','" + oModel.HProcID + "')", ref DBUtility.ClsPub.sExeReturnInfo);
                 //淇敼涓婄骇涓洪潪鏈骇浠g爜
                 oCn.RunProc("Update " + MvarItemKey + " set HEndflag=0 where HItemID=" + oModel.HParentID, ref DBUtility.ClsPub.sExeReturnInfo);
                 oCn.Commit();
@@ -50,6 +50,8 @@
                     ",HModifyTime='" + DateTime.Now + "'" +   
                     ",HUSEORGID='" + oModel.HUSEORGID + "'" +
                     ",HModifyEmp ='" + oModel.HMakeEmp + "'" +
+                     ",HPostID ='" + oModel.HPostID + "'" +
+                      ",HProcID ='" + oModel.HProcID + "'" +
                     ",HUseFlag='" + oModel.HUseFlag + "'" +
                     ",HStopflag=" + Convert.ToString(oModel.HStopflag ? 1 : 0) +
                     ",HRemark= '" + oModel.HRemark + "' Where HItemID=" + sItemID, ref DBUtility.ClsPub.sExeReturnInfo);
diff --git a/WebAPI/DLL/ClsSb_EquipMaintainRuleBill.cs b/WebAPI/DLL/ClsSb_EquipMaintainRuleBill.cs
index 8bc97a1..8a88095 100644
--- a/WebAPI/DLL/ClsSb_EquipMaintainRuleBill.cs
+++ b/WebAPI/DLL/ClsSb_EquipMaintainRuleBill.cs
@@ -55,6 +55,8 @@
                 ",HCheckCycle=" + omodel.HCheckCycle.ToString() +
                 ",HExplanation='" + omodel.HExplanation + "'" +
                 ",HInnerBillNo='" + omodel.HInnerBillNo + "'" +
+                ",HMaintainLevID=" + omodel.HMaintainLevID +
+                ",HSafeDays=" + omodel.HSafeDays +                
                 " where HInterID=" + lngBillKey.ToString());
                 //鍒犻櫎鍏宠仈
                 DeleteRelation(ref sReturn, lngBillKey);
@@ -120,12 +122,12 @@
                 oCn.RunProc("Insert Into Sb_EquipMaintainRuleBillMain   " +
                 "(HBillType,HBillSubType,HInterID,HBillNo,HDate,HMaker,HMakeDate" +
                 ",HYear,HPeriod,HRemark" +
-                ",HCheckCycle,HCycleUnit,HExplanation,HInnerBillNo" +
+                ",HCheckCycle,HCycleUnit,HExplanation,HInnerBillNo,HMaintainLevID,HSafeDays" +
                 ") " +
                 " values('" + this.BillType + "','" + this.HBillSubType + "'," + omodel.HInterID.ToString() + ",'" + omodel.HBillNo + "','" + omodel.HDate + "','" + omodel.HMaker + "',getdate()" +
                 "," + omodel.HYear.ToString() + "," + omodel.HPeriod.ToString() + ",'" + omodel.HRemark + 
-                "',"+ omodel.HCheckCycle.ToString() + ",'" + omodel.HCycleUnit + "','" + omodel.HExplanation + "','" + omodel.HInnerBillNo +
-                "') ");
+                "',"+ omodel.HCheckCycle.ToString() + ",'" + omodel.HCycleUnit + "','" + omodel.HExplanation + "','" + omodel.HInnerBillNo + "'," + omodel.HMaintainLevID + "," + omodel.HSafeDays +
+                ") ");
 
                 //鎻掑叆淇濆吇椤瑰瓙琛�
                 foreach (Models.ClsSb_EquipMaintainRuleBillSub_Item Item in DetailColl_Pay)
diff --git a/WebAPI/DLL/ClsSc_MESBeginWorkBill.cs b/WebAPI/DLL/ClsSc_MESBeginWorkBill.cs
index 1b7e945..f8b31cf 100644
--- a/WebAPI/DLL/ClsSc_MESBeginWorkBill.cs
+++ b/WebAPI/DLL/ClsSc_MESBeginWorkBill.cs
@@ -212,6 +212,26 @@
                 }
                 //=========================================================
 
+                //鑾峰彇鏈�杩戠殑涓婃ā鍗�  鎶婂伐鍗曡窡妯″叿杩涜缁戝畾
+                ds = oCn.RunProcReturn(@"select  HICMOInterID,HICMOEntryID,HSourceInterID,HSourceEntryID,HSourceID from Sc_ICMOBillStatus_Tmp where HInterID=" + omodel.HMainSourceInterID.ToString(), "Sc_ICMOBillStatus_Tmp");
+
+                if (ds.Tables[0].Rows.Count > 0)
+                {
+                    string HICMOInterID = ds.Tables[0].Rows[0]["HICMOInterID"].ToString();
+                    string HICMOEntryID = ds.Tables[0].Rows[0]["HICMOEntryID"].ToString();
+                    string HSourceInterID = ds.Tables[0].Rows[0]["HSourceInterID"].ToString();
+                    string HSourceEntryID = ds.Tables[0].Rows[0]["HSourceEntryID"].ToString();
+                    string HSourceID = ds.Tables[0].Rows[0]["HSourceID"].ToString();
+
+                    ds = oCn.RunProcReturn(@"select  HMouldID from Sc_MouldUpperBillMain a
+inner join Sc_MouldUpperBillSub b on a.HInterID = b.HInterID where HICMOInterID=" + HICMOInterID + " and HICMOEntryID=" + HICMOEntryID + " and HProcExchInterID=" + HSourceInterID + " and  HProcExchEntryID=" + HSourceEntryID + " and HSourceID=" + HSourceID + " order by HMakeDate desc", "Sc_MouldUpperBillMain");
+                    if (ds.Tables[0].Rows.Count > 0)
+                    {
+                        oCn.RunProc("update Sc_ICMOBillStatus_Tmp set HMouldID= " + ds.Tables[0].Rows[0]["HMouldID"].ToString() + " where HInterID=" + omodel.HMainSourceInterID.ToString());
+                    }
+
+                }
+               
                 sReturn = omodel.HInterID.ToString();
                 oCn.Commit();
                 return true;
diff --git a/WebAPI/ListModels.cs b/WebAPI/ListModels.cs
index b264415..f791426 100644
--- a/WebAPI/ListModels.cs
+++ b/WebAPI/ListModels.cs
@@ -1148,6 +1148,18 @@
         }
 
         /// <summary>  
+        /// 澶勭悊鏂板鍚姩妫�鏌ラ」鐩〃鐨刯son
+        /// </summary>
+        /// <param name="jsonString"></param>
+        /// <returns></returns>
+        public List<Model.ClsGy_CheckNoteItem_Model> getObjectByJson_Gy_CheckNoteItem(string jsonString)
+        {
+            jsonString = "[" + jsonString.ToString() + "]";
+            List<Model.ClsGy_CheckNoteItem_Model> list = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Model.ClsGy_CheckNoteItem_Model>>(jsonString);
+            return list;
+        }
+
+        /// <summary>  
         /// 澶勭悊鏂板椤圭洰绫诲埆琛ㄧ殑json
         /// </summary>
         /// <param name="jsonString"></param>
@@ -2793,6 +2805,108 @@
             List<Model.ClsSc_MouldProdMoveBillSub> list = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Model.ClsSc_MouldProdMoveBillSub>>(jsonString);
             return list;
         }
+
+
+        /// <summary>
+        /// 澶勭悊鏂板鍚姩鐐规涓昏〃鐨刯son
+        /// </summary>
+        /// <param name="jsonString"></param>
+        /// <returns></returns>
+        public List<Model.ClsSc_WorkBeginDotCheckBillMain> getObjectByJson_Sc_WorkBeginDotCheckBillMain(string jsonString)
+        {
+            jsonString = "[" + jsonString.ToString() + "]";
+            List<Model.ClsSc_WorkBeginDotCheckBillMain> list = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Model.ClsSc_WorkBeginDotCheckBillMain>>(jsonString);
+            return list;
+        }
+
+
+        /// <summary>
+        /// 澶勭悊鏂板鍚姩鐐规瀛愯〃鐨刯son
+        /// </summary>
+        /// <param name="jsonString"></param>
+        /// <returns></returns>
+        public List<Model.ClsSc_WorkBeginDotCheckBillSub> getObjectByJson_Sc_WorkBeginDotCheckBillSub(string jsonString)
+        {
+            jsonString = "[" + jsonString.ToString() + "]";
+            List<Model.ClsSc_WorkBeginDotCheckBillSub> list = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Model.ClsSc_WorkBeginDotCheckBillSub>>(jsonString);
+            return list;
+        }
+
+        /// <summary>
+        /// 澶勭悊鏂板璁惧鍚姩鐐规娓呭崟涓昏〃鐨刯son
+        /// </summary>
+        /// <param name="jsonString"></param>
+        /// <returns></returns>
+        public List<Model.ClsGy_WorkBeginDotCheckListBillMain> getObjectByJson_Gy_WorkBeginDotCheckListBillMain(string jsonString)
+        {
+            jsonString = "[" + jsonString.ToString() + "]";
+            List<Model.ClsGy_WorkBeginDotCheckListBillMain> list = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Model.ClsGy_WorkBeginDotCheckListBillMain>>(jsonString);
+            return list;
+        }
+
+
+        /// <summary>
+        /// 澶勭悊鏂板璁惧鍚姩鐐规娓呭崟瀛愯〃鐨刯son
+        /// </summary>
+        /// <param name="jsonString"></param>
+        /// <returns></returns>
+        public List<Model.ClsGy_WorkBeginDotCheckListBillSub> getObjectByJson_Gy_WorkBeginDotCheckListBillSub(string jsonString)
+        {
+            jsonString = "[" + jsonString.ToString() + "]";
+            List<Model.ClsGy_WorkBeginDotCheckListBillSub> list = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Model.ClsGy_WorkBeginDotCheckListBillSub>>(jsonString);
+            return list;
+        }
+
+        /// <summary>
+        /// 澶勭悊鏂板浜у搧闃查敊楠岃瘉娓呭崟涓昏〃鐨刯son
+        /// </summary>
+        /// <param name="jsonString"></param>
+        /// <returns></returns>
+        public List<Model.ClsGy_MaterPreventErrMouldBillMain> getObjectByJson_Gy_MaterPreventErrMouldBillMain(string jsonString)
+        {
+            jsonString = "[" + jsonString.ToString() + "]";
+            List<Model.ClsGy_MaterPreventErrMouldBillMain> list = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Model.ClsGy_MaterPreventErrMouldBillMain>>(jsonString);
+            return list;
+        }
+
+
+        /// <summary>
+        /// 澶勭悊鏂板浜у搧鐘敊楠岃瘉娓呭崟瀛愯〃鐨刯son
+        /// </summary>
+        /// <param name="jsonString"></param>
+        /// <returns></returns>
+        public List<Model.ClsGy_MaterPreventErrMouldBillSub> getObjectByJson_Gy_MaterPreventErrMouldBillSub(string jsonString)
+        {
+            jsonString = "[" + jsonString.ToString() + "]";
+            List<Model.ClsGy_MaterPreventErrMouldBillSub> list = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Model.ClsGy_MaterPreventErrMouldBillSub>>(jsonString);
+            return list;
+        }
+
+        /// <summary>
+        /// 澶勭悊鏂板闃查敊楠岃瘉妫�鏌ヤ富琛ㄧ殑json
+        /// </summary>
+        /// <param name="jsonString"></param>
+        /// <returns></returns>
+        public List<Model.ClsQc_PreventErrMouldCheckBillMain> getObjectByJson_Qc_PreventErrMouldCheckBillMain(string jsonString)
+        {
+            jsonString = "[" + jsonString.ToString() + "]";
+            List<Model.ClsQc_PreventErrMouldCheckBillMain> list = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Model.ClsQc_PreventErrMouldCheckBillMain>>(jsonString);
+            return list;
+        }
+
+
+        /// <summary>
+        /// 澶勭悊鏂板闃查敊楠岃瘉妫�鏌ュ瓙琛ㄧ殑json
+        /// </summary>
+        /// <param name="jsonString"></param>
+        /// <returns></returns>
+        public List<Model.ClsQc_PreventErrMouldCheckBillSub> getObjectByJson_Qc_PreventErrMouldCheckBillSub(string jsonString)
+        {
+            jsonString = "[" + jsonString.ToString() + "]";
+            List<Model.ClsQc_PreventErrMouldCheckBillSub> list = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Model.ClsQc_PreventErrMouldCheckBillSub>>(jsonString);
+            return list;
+        }
+
         /// <summary>
         /// 澶勭悊鏂板鍣ㄥ叿鍒嗗竷寮忚皟鍏ュ崟涓昏〃鐨刯son
         /// </summary>
@@ -4035,6 +4149,24 @@
             return list;
         }
 
+        ///搴撳瓨妫�楠屽崟 瀛欒〃
+        ///ClsQC_StockCheckBillSub_ValueGrid
+        public List<Model.ClsQC_StockCheckBillSub_ValueGrid> getObjectByJson_ClsQC_StockCheckBillSub_ValueGrid(string jsonString)
+        {
+            //jsonString = "[" + jsonString.ToString() + "]";
+            List<Model.ClsQC_StockCheckBillSub_ValueGrid> list = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Model.ClsQC_StockCheckBillSub_ValueGrid>>(jsonString);
+            return list;
+        }
+
+        ///杞﹂棿鑷鍗� 瀛欒〃
+        ///ClsQC_WorkSelfCheckBillSub_ValueGrid
+        public List<Model.ClsQC_WorkSelfCheckBillSub_ValueGrid> getObjectByJson_ClsQC_WorkSelfCheckBillSub_ValueGrid(string jsonString)
+        {
+            //jsonString = "[" + jsonString.ToString() + "]";
+            List<Model.ClsQC_WorkSelfCheckBillSub_ValueGrid> list = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Model.ClsQC_WorkSelfCheckBillSub_ValueGrid>>(jsonString);
+            return list;
+        }
+
         ///宸ュ簭妫�楠屽崟 瀛欒〃
         ///ClsQC_ProcessCheckBillSub_ValueGrid
         public List<Model.ClsQC_ProcessCheckBillSub_ValueGrid> getObjectByJson_ClsQC_ProcessCheckBillSub_ValueGrid(string jsonString)
diff --git a/WebAPI/Models/ClsGy_EquipFileMain.cs b/WebAPI/Models/ClsGy_EquipFileMain.cs
index 88d8418..97e9fda 100644
--- a/WebAPI/Models/ClsGy_EquipFileMain.cs
+++ b/WebAPI/Models/ClsGy_EquipFileMain.cs
@@ -30,6 +30,9 @@
         public string HLogo;                //鈭�		varchar(50)	//鍝佺墝
         public int HSellSupID;              // 鈭�	int		//渚涘簲鍟�(Gy_Supplier)
         public int HMakeSupID;              // int		//鍒堕�犲晢 (Gy_Supplier) 
+        public string HMainSourceFlag;              // varchar(10) //鏄惁涓荤敓浜ц澶�(鍚︼紝鏄�)
+        public string HMacAddress;              // varchar(50) //鏁伴噰鐗╃悊鍦板潃
+        public int HMainSourceID;                //   鈭�	int    		鎵�灞炰富鐢熶骇璁惧锛圙y_EquipFileBillMain锛�
         public int HEquipDotCheckRuleInterID=0;
         public int HEquipMaintainRuleInterID=0;
         public int HSourceID = 0;
diff --git a/WebAPI/Models/ClsSb_EquipMaintainRuleBillMain.cs b/WebAPI/Models/ClsSb_EquipMaintainRuleBillMain.cs
index f729114..3bb82c5 100644
--- a/WebAPI/Models/ClsSb_EquipMaintainRuleBillMain.cs
+++ b/WebAPI/Models/ClsSb_EquipMaintainRuleBillMain.cs
@@ -11,5 +11,9 @@
         public int HCheckCycle;     //--淇濆吇鍛ㄦ湡
         public string HExplanation;   // varchar(500)   --鎽樿
         public string HInnerBillNo;   //varchar(50)     --鍐呴儴鍗曟嵁鍙�
+
+        public Int64 HMaintainLevID; //淇濆吇绾у埆锛坓y_HMaintainLev锛�
+
+        public Int64 HSafeDays;//淇濆吇瀹夊叏澶╂暟
     }
 }
\ No newline at end of file
diff --git a/WebAPI/Models/Gy_Mould.cs b/WebAPI/Models/Gy_Mould.cs
index 6780391..8d90e34 100644
--- a/WebAPI/Models/Gy_Mould.cs
+++ b/WebAPI/Models/Gy_Mould.cs
@@ -65,6 +65,8 @@
         public int HNowSupID { get; set; }
         public int HNowSupTypeID { get; set; }
         public int HMadeSupID { get; set; }
+        public int HNowWHID { get; set; }
+        public int HNowSPID { get; set; }
 
     }
 }
\ No newline at end of file
diff --git a/WebAPI/Models/Gy_MouldFileSub_SubMater.cs b/WebAPI/Models/Gy_MouldFileSub_SubMater.cs
new file mode 100644
index 0000000..d4dfef4
--- /dev/null
+++ b/WebAPI/Models/Gy_MouldFileSub_SubMater.cs
@@ -0,0 +1,29 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Web;
+
+namespace WebAPI.Models
+{
+    public class Gy_MouldFileSub_SubMater
+    {
+        public long HInterID { get; set; }//
+        public long HEntryID { get; set; }//
+        public string HCloseMan { get; set; }//
+        public DateTime HEntryCloseDate { get; set; }//
+        public string HCloseType { get; set; }//
+        public string HRemark { get; set; }//
+        public long HSourceInterID { get; set; }//
+        public long HSourceEntryID { get; set; }//
+
+        public string HSourceBillNo { get; set; }//
+        public string HSourceBillType { get; set; }//
+        public double HRelationQty { get; set; }//
+
+        public double HRelationMoney { get; set; }//
+        public int HItemSubID { get; set; }
+        public int HMouldFileID { get; set; }
+        public DateTime HUnionDate { get; set; }
+
+    }
+}
\ No newline at end of file
diff --git a/WebAPI/Models/Gy_RoutingBillSub.cs b/WebAPI/Models/Gy_RoutingBillSub.cs
index ac11bb8..d76ad2a 100644
--- a/WebAPI/Models/Gy_RoutingBillSub.cs
+++ b/WebAPI/Models/Gy_RoutingBillSub.cs
@@ -10,6 +10,7 @@
         public long HProcID { get; set; }//宸ュ簭ID
         public string HProcNo { get; set; }//娴佹按鍙�
         public long HSupID { get; set; }//渚涘簲鍟咺D
+        public bool HSNCtrl { get; set; }//SN杩囩珯
         public bool HSupFlag { get; set; }//澶栧崗鏍囪
         public double HWorkQty { get; set; }//鍔犲伐鏁伴噺
         public double HPassRate { get; set; }//鑹巼
diff --git a/WebAPI/Properties/PublishProfiles/FolderProfile.pubxml.user b/WebAPI/Properties/PublishProfiles/FolderProfile.pubxml.user
index 0542eda..b6d2f21 100644
--- a/WebAPI/Properties/PublishProfiles/FolderProfile.pubxml.user
+++ b/WebAPI/Properties/PublishProfiles/FolderProfile.pubxml.user
@@ -4,12 +4,12 @@
 -->
 <Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
   <PropertyGroup>
-    <_PublishTargetUrl>D:\缃戠珯鍙戝竷\鏅轰簯MESWMS\API</_PublishTargetUrl>
-    <History>True|2024-05-27T05:06:48.3704116Z;True|2024-05-27T12:50:02.0829184+08:00;True|2024-05-23T13:04:30.3143551+08:00;True|2024-05-23T13:02:26.6275335+08:00;True|2024-05-23T11:29:44.2508436+08:00;True|2024-05-23T11:25:41.7798758+08:00;True|2024-05-22T13:59:03.5211840+08:00;True|2024-05-21T16:09:15.7397641+08:00;True|2024-05-21T14:38:18.8916358+08:00;True|2024-05-21T14:31:42.6222298+08:00;True|2024-05-21T14:21:07.1884801+08:00;True|2024-05-17T15:56:58.2089398+08:00;True|2024-05-17T15:44:25.4311071+08:00;True|2024-05-17T15:03:06.3428044+08:00;True|2024-05-17T14:56:30.2579770+08:00;True|2024-05-17T13:59:36.0055715+08:00;True|2024-05-13T10:43:25.3157271+08:00;True|2024-05-11T15:38:00.5017527+08:00;True|2024-05-11T15:28:59.3906131+08:00;True|2024-05-11T14:23:57.9150381+08:00;True|2024-05-11T13:39:40.5777340+08:00;True|2024-05-11T08:10:40.5827748+08:00;True|2024-05-10T15:35:02.4787946+08:00;True|2024-04-09T13:59:05.4840966+08:00;True|2024-04-09T13:32:04.5173492+08:00;True|2024-04-09T10:49:57.0288282+08:00;True|2024-04-09T10:35:48.8906018+08:00;True|2024-04-08T13:40:57.0220970+08:00;True|2024-04-08T13:07:43.0357658+08:00;True|2024-04-08T08:51:13.3450522+08:00;True|2024-04-07T17:08:21.7140078+08:00;True|2024-04-07T16:20:47.0957220+08:00;True|2024-04-07T15:40:03.2944629+08:00;True|2024-04-07T15:36:39.8472773+08:00;True|2024-04-07T15:27:41.4586445+08:00;True|2024-04-07T15:24:44.9945335+08:00;True|2024-04-07T15:21:05.5907054+08:00;True|2024-04-07T14:18:24.9260992+08:00;True|2024-04-02T15:07:56.8405115+08:00;True|2024-03-28T09:57:40.6534155+08:00;True|2024-03-26T17:00:21.0687635+08:00;True|2024-03-26T16:55:53.0643450+08:00;True|2024-03-26T16:50:09.5271078+08:00;True|2024-03-26T16:35:58.3572743+08:00;True|2024-03-26T16:17:50.6562874+08:00;True|2024-03-26T16:02:58.7193861+08:00;True|2024-03-26T15:51:50.2451468+08:00;True|2024-03-26T15:38:02.2327749+08:00;True|2024-03-26T14:43:01.5314209+08:00;True|2024-03-26T14:36:32.9149121+08:00;True|2024-03-26T14:29:28.7806186+08:00;True|2024-03-26T14:11:55.5737213+08:00;True|2024-03-22T16:35:11.0518345+08:00;True|2024-03-21T15:56:07.0130392+08:00;True|2024-03-20T10:50:05.8645964+08:00;True|2024-03-19T15:59:58.2960231+08:00;True|2024-03-19T15:16:32.3388913+08:00;True|2024-03-19T14:51:16.6428107+08:00;True|2024-03-19T14:36:08.8885745+08:00;False|2024-03-19T14:34:44.2637614+08:00;True|2024-03-19T14:22:40.5900691+08:00;True|2024-03-19T14:02:08.9599381+08:00;True|2024-03-19T12:23:05.0332761+08:00;True|2024-03-19T11:53:43.6830010+08:00;True|2024-03-19T11:40:05.7903841+08:00;True|2024-03-15T20:49:17.5076444+08:00;True|2024-03-15T14:00:52.3630660+08:00;True|2024-03-15T12:47:34.8092587+08:00;True|2024-03-15T09:58:23.5517006+08:00;True|2024-03-13T15:28:48.6170490+08:00;True|2024-03-13T13:33:44.3051955+08:00;True|2024-03-13T13:25:15.0372313+08:00;True|2024-03-13T11:59:44.2551502+08:00;True|2024-03-13T11:49:04.7295629+08:00;True|2024-03-13T11:27:27.5893712+08:00;True|2024-03-13T11:12:33.2533839+08:00;True|2024-03-13T11:07:52.7174473+08:00;True|2024-03-13T09:34:08.0467534+08:00;True|2024-03-12T16:24:41.1248271+08:00;True|2024-03-12T12:57:34.1524922+08:00;True|2024-03-12T12:57:10.0401874+08:00;True|2024-03-12T12:37:38.8477356+08:00;True|2024-03-12T12:15:41.3846937+08:00;True|2024-03-12T11:42:00.2207406+08:00;True|2024-03-12T11:33:55.6697043+08:00;True|2024-03-12T11:05:02.7742504+08:00;True|2024-03-12T09:20:07.0762374+08:00;True|2024-03-11T23:16:36.7669114+08:00;True|2024-03-11T23:03:24.2725545+08:00;True|2024-03-11T22:49:15.9602661+08:00;True|2024-03-11T22:47:12.6755805+08:00;True|2024-03-11T17:00:27.3523033+08:00;True|2024-03-11T16:58:40.0175971+08:00;True|2024-03-11T16:44:38.6622087+08:00;True|2024-03-11T12:49:04.1659271+08:00;True|2024-03-11T12:34:46.2212554+08:00;True|2024-03-11T12:04:40.4848855+08:00;True|2024-03-11T11:58:33.1825785+08:00;True|2024-03-11T11:40:10.6536678+08:00;True|2024-03-11T09:04:20.1073972+08:00;True|2024-03-11T00:16:54.5372850+08:00;True|2024-03-11T00:13:59.7140451+08:00;True|2024-03-11T00:08:20.0809329+08:00;True|2024-03-10T23:51:03.0931056+08:00;True|2024-03-10T23:43:22.2299872+08:00;True|2024-03-10T23:31:27.0629130+08:00;True|2024-03-10T22:56:31.1232852+08:00;True|2024-03-10T22:36:41.8541660+08:00;True|2024-03-10T22:15:06.0859435+08:00;True|2024-03-10T21:44:04.4157994+08:00;True|2024-03-10T21:35:38.3813654+08:00;True|2024-03-10T21:21:19.7693278+08:00;True|2024-03-10T13:19:26.4221274+08:00;True|2024-03-08T16:42:34.3346854+08:00;True|2024-03-08T15:50:13.7379672+08:00;True|2024-03-08T15:44:16.4369842+08:00;True|2024-03-08T15:31:50.0622199+08:00;True|2024-03-08T14:26:09.1090416+08:00;True|2024-03-08T14:21:24.9470581+08:00;True|2024-03-08T14:17:32.2780390+08:00;True|2024-03-08T14:03:55.4922720+08:00;True|2024-03-08T13:57:55.4217170+08:00;True|2024-03-08T13:53:43.0935554+08:00;True|2024-03-08T12:54:18.4199897+08:00;True|2024-03-08T12:48:07.6789814+08:00;True|2024-03-08T12:38:48.2818977+08:00;True|2024-03-08T12:21:53.9153553+08:00;True|2024-03-08T12:06:46.9343077+08:00;True|2024-03-08T11:27:39.0237720+08:00;True|2024-03-08T10:59:31.7184492+08:00;True|2024-03-08T10:57:44.8205869+08:00;True|2024-03-08T10:47:27.6962408+08:00;True|2024-03-08T10:29:25.8508156+08:00;True|2024-03-08T10:23:30.0269659+08:00;True|2024-03-08T09:21:21.5915181+08:00;True|2024-03-08T09:16:30.6962592+08:00;True|2024-03-07T17:01:33.5406097+08:00;True|2024-03-07T16:52:05.1956454+08:00;True|2024-03-07T16:41:54.0594859+08:00;True|2024-03-07T16:33:14.5796954+08:00;True|2024-03-07T16:02:27.6565800+08:00;True|2024-03-07T15:45:18.3220942+08:00;True|2024-03-07T15:39:48.9700962+08:00;True|2024-03-07T15:35:21.4018654+08:00;True|2024-03-07T15:22:12.7348197+08:00;True|2024-03-07T15:19:49.2338225+08:00;True|2024-03-07T13:46:05.5084885+08:00;True|2024-03-07T13:42:41.9749496+08:00;True|2024-03-07T13:26:04.1927588+08:00;True|2024-03-07T13:04:29.8689660+08:00;True|2024-03-07T10:24:34.3368602+08:00;True|2024-03-07T09:18:28.2279706+08:00;True|2024-03-06T17:25:36.9409421+08:00;True|2024-03-06T17:04:06.6361562+08:00;True|2024-03-06T14:42:01.3198359+08:00;True|2024-03-06T12:10:29.5231191+08:00;True|2024-03-06T12:03:06.7428246+08:00;True|2024-03-06T11:51:03.6220101+08:00;True|2024-03-06T11:15:22.4977600+08:00;True|2024-03-06T09:38:13.9161080+08:00;True|2024-03-05T16:37:49.9679062+08:00;True|2024-03-05T15:12:23.1933204+08:00;True|2024-03-05T14:51:27.9123344+08:00;True|2024-03-05T12:42:45.6186917+08:00;True|2024-03-05T11:21:19.0499458+08:00;True|2024-03-05T11:07:43.2642432+08:00;True|2024-03-05T09:59:18.0467522+08:00;True|2024-03-05T09:57:25.8947310+08:00;True|2024-03-04T16:41:44.4465908+08:00;True|2024-03-04T16:27:02.5887336+08:00;True|2024-03-04T16:20:05.0027599+08:00;True|2024-03-04T16:19:26.5595399+08:00;True|2024-03-04T15:32:55.6131853+08:00;True|2024-03-04T15:28:44.2800619+08:00;True|2024-03-04T14:54:47.0567440+08:00;True|2024-03-04T10:23:15.8222065+08:00;True|2024-03-03T17:36:33.1017612+08:00;True|2024-03-03T16:51:26.3227366+08:00;True|2024-02-26T09:58:28.3684127+08:00;True|2024-02-26T09:40:27.2127438+08:00;True|2024-02-26T09:30:29.4139007+08:00;True|2024-02-26T08:58:31.6305017+08:00;True|2024-02-26T08:50:25.3686785+08:00;True|2024-02-25T22:42:22.6699571+08:00;True|2024-02-25T21:40:08.7124742+08:00;True|2024-02-23T16:33:06.9165845+08:00;True|2024-02-23T15:20:24.6631954+08:00;True|2024-02-22T13:35:39.8097749+08:00;True|2024-02-22T10:50:51.2245040+08:00;True|2024-02-22T10:37:36.2007251+08:00;True|2024-02-22T10:28:43.0780061+08:00;True|2024-02-22T10:25:14.6494230+08:00;True|2024-02-22T10:22:55.9164843+08:00;True|2024-02-22T10:20:22.7986646+08:00;True|2024-02-22T10:09:31.7828474+08:00;True|2024-02-22T09:52:49.6576546+08:00;True|2024-02-22T09:49:40.2304782+08:00;True|2024-02-22T09:11:37.5212025+08:00;False|2024-02-22T09:11:00.5740908+08:00;True|2024-02-22T09:08:58.7725741+08:00;True|2024-02-21T16:50:09.9380590+08:00;True|2024-02-21T16:25:03.2145943+08:00;True|2024-02-21T16:23:13.6740659+08:00;True|2024-02-21T16:17:53.0411127+08:00;True|2024-02-21T15:57:47.2254175+08:00;True|2024-02-21T15:10:17.2222102+08:00;True|2024-02-21T15:05:10.2464943+08:00;True|2024-02-21T14:27:06.5305080+08:00;True|2024-02-21T14:23:20.9423346+08:00;True|2024-02-21T14:10:37.5156508+08:00;True|2024-02-21T13:54:04.4018306+08:00;True|2024-02-21T08:47:17.0019565+08:00;True|2024-02-20T16:26:31.2412659+08:00;True|2024-02-20T16:23:36.2983740+08:00;True|2024-02-20T16:20:39.9515902+08:00;True|2024-02-20T15:46:12.8212665+08:00;True|2024-02-20T14:58:17.4600086+08:00;True|2024-02-20T10:45:52.2417786+08:00;True|2024-02-20T10:42:11.8298929+08:00;True|2024-02-19T13:06:24.8957799+08:00;True|2024-02-19T11:05:28.0139278+08:00;True|2024-02-19T10:27:01.0810368+08:00;True|2024-02-19T10:22:57.4053027+08:00;True|2024-02-19T10:15:48.5706154+08:00;True|2024-02-19T10:12:02.9076965+08:00;True|2024-02-18T14:57:44.7521494+08:00;True|2024-02-18T14:50:56.3550941+08:00;True|2024-02-18T13:36:49.3942430+08:00;True|2024-02-07T14:06:25.4964506+08:00;True|2024-02-07T10:42:52.2689528+08:00;True|2024-02-06T10:58:49.3342902+08:00;True|2024-02-06T10:53:42.5435511+08:00;True|2024-02-06T10:43:40.1003756+08:00;True|2024-02-06T10:40:46.8233200+08:00;True|2024-02-06T10:17:28.2865591+08:00;True|2024-02-06T10:14:31.6896095+08:00;True|2024-02-06T09:24:29.8745590+08:00;True|2024-02-06T09:20:58.3166183+08:00;True|2024-02-06T09:12:14.4841167+08:00;True|2024-02-06T09:05:10.5375167+08:00;True|2024-02-05T14:51:09.8954604+08:00;True|2024-02-05T14:30:01.0098544+08:00;True|2024-02-05T14:26:49.2548141+08:00;True|2024-02-05T14:05:18.6839229+08:00;True|2024-02-05T13:23:42.1639710+08:00;True|2024-02-05T08:39:07.5523831+08:00;True|2024-02-04T15:09:19.2455417+08:00;True|2024-02-04T13:27:46.2086590+08:00;True|2024-02-04T13:25:20.9639903+08:00;True|2024-02-04T13:20:32.2870983+08:00;True|2024-02-04T13:15:58.3909970+08:00;True|2024-02-04T11:18:59.5180822+08:00;True|2024-02-04T11:07:31.1414636+08:00;True|2024-02-04T11:03:38.8431285+08:00;True|2024-02-04T11:00:42.8307675+08:00;True|2024-02-04T10:59:07.3767796+08:00;True|2024-02-04T10:55:27.9454328+08:00;True|2024-02-04T10:52:29.5988914+08:00;True|2024-02-04T10:50:30.6883153+08:00;True|2024-02-04T10:38:13.0058874+08:00;True|2024-02-04T10:25:53.1906810+08:00;True|2024-02-04T10:14:51.7442720+08:00;True|2024-02-04T10:12:34.4696662+08:00;True|2024-02-04T10:08:56.5805097+08:00;True|2024-02-04T10:07:16.4922026+08:00;True|2024-02-04T09:59:27.2102397+08:00;True|2024-02-04T09:56:42.2238395+08:00;True|2024-02-04T09:52:47.5348300+08:00;True|2024-02-04T09:42:50.9349205+08:00;True|2024-02-04T09:30:32.3567175+08:00;True|2024-02-04T09:19:29.8036670+08:00;True|2024-02-04T09:11:56.0744927+08:00;True|2024-02-04T09:08:42.4432795+08:00;True|2024-02-04T09:05:25.4958302+08:00;True|2024-02-04T08:58:59.7993464+08:00;True|2024-02-04T08:51:20.3017735+08:00;True|2024-02-04T08:43:05.6974823+08:00;True|2024-02-02T16:12:24.3288882+08:00;True|2024-02-02T15:31:12.0724234+08:00;True|2024-02-02T15:14:24.5493301+08:00;True|2024-02-02T15:08:42.0775469+08:00;True|2024-02-02T14:50:25.2357715+08:00;True|2024-02-02T14:48:40.1311047+08:00;True|2024-02-02T14:44:57.9831751+08:00;True|2024-02-02T14:28:12.0713915+08:00;True|2024-02-02T13:55:59.7389347+08:00;True|2024-02-02T13:10:32.7073682+08:00;True|2024-02-02T10:21:41.3665075+08:00;True|2024-02-02T10:08:11.1755065+08:00;True|2024-02-01T16:28:42.6016378+08:00;True|2024-02-01T16:25:35.2865491+08:00;True|2024-02-01T15:48:00.8333105+08:00;True|2024-02-01T15:39:22.9864096+08:00;True|2024-02-01T15:30:30.4856347+08:00;True|2024-02-01T14:34:14.9484851+08:00;True|2024-02-01T13:53:48.9165284+08:00;False|2024-02-01T13:52:39.1911001+08:00;True|2024-02-01T10:40:28.0735829+08:00;True|2024-02-01T10:24:04.5914096+08:00;True|2024-02-01T10:13:00.9882363+08:00;True|2024-01-31T14:56:37.7352718+08:00;True|2024-01-31T14:46:49.9104890+08:00;True|2024-01-31T14:38:56.1841731+08:00;True|2024-01-31T14:35:45.4531352+08:00;True|2024-01-31T14:32:21.5100137+08:00;True|2024-01-31T14:15:26.3231430+08:00;True|2024-01-31T14:00:11.3994150+08:00;True|2024-01-31T13:18:54.8448212+08:00;True|2024-01-31T10:52:59.8159114+08:00;True|2024-01-31T10:28:03.5856625+08:00;True|2024-01-31T10:10:35.0250398+08:00;True|2024-01-30T09:53:14.3256577+08:00;True|2024-01-30T09:43:56.5551157+08:00;True|2024-01-30T08:27:16.7078317+08:00;True|2024-01-29T15:42:55.3394104+08:00;True|2024-01-29T15:36:57.2998818+08:00;True|2024-01-29T15:09:49.3214409+08:00;True|2024-01-29T14:54:23.0025170+08:00;True|2024-01-29T14:33:53.5586728+08:00;True|2024-01-29T10:21:47.9469052+08:00;True|2024-01-29T09:38:26.0354836+08:00;True|2024-01-29T09:28:57.3836958+08:00;True|2024-01-29T09:19:49.0488968+08:00;True|2024-01-26T16:11:46.3859476+08:00;True|2024-01-26T16:11:29.8529136+08:00;True|2024-01-26T10:23:35.6167838+08:00;True|2024-01-26T10:16:04.2780085+08:00;True|2024-01-26T10:05:56.0745647+08:00;True|2024-01-26T10:03:34.8490957+08:00;True|2024-01-26T09:18:57.1502238+08:00;True|2024-01-26T09:05:18.6887593+08:00;True|2024-01-25T16:19:44.3753587+08:00;True|2024-01-25T10:54:55.2695117+08:00;True|2024-01-25T10:52:43.0130697+08:00;True|2024-01-25T10:15:35.2061116+08:00;True|2024-01-25T10:12:55.7724345+08:00;True|2024-01-25T09:59:14.7336333+08:00;True|2024-01-25T09:54:00.8951944+08:00;True|2024-01-23T11:57:00.6176481+08:00;True|2024-01-23T11:48:46.0536266+08:00;True|2024-01-23T11:20:56.9686760+08:00;True|2024-01-23T10:07:03.1874795+08:00;True|2024-01-23T09:28:09.7921197+08:00;True|2024-01-22T17:23:56.8011615+08:00;True|2024-01-22T15:39:51.8307512+08:00;True|2024-01-21T16:56:29.0470984+08:00;True|2024-01-21T16:31:58.1736344+08:00;True|2024-01-21T16:24:19.3683647+08:00;True|2024-01-21T16:02:26.5427715+08:00;True|2024-01-21T15:45:21.0549809+08:00;True|2024-01-21T15:24:46.6563331+08:00;True|2024-01-21T12:57:07.2655536+08:00;True|2024-01-21T11:43:22.1675745+08:00;True|2024-01-21T11:04:07.4676661+08:00;True|2024-01-21T11:03:11.6972981+08:00;True|2024-01-19T12:12:51.7315607+08:00;True|2024-01-19T12:03:23.7846341+08:00;True|2024-01-19T09:21:40.1191844+08:00;True|2024-01-18T15:28:59.1079108+08:00;True|2024-01-18T15:25:00.9561275+08:00;True|2024-01-18T15:19:13.0404548+08:00;True|2024-01-18T13:06:18.2756609+08:00;True|2024-01-18T12:00:29.1983965+08:00;True|2024-01-18T09:51:08.2157377+08:00;True|2024-01-18T09:49:33.8817410+08:00;True|2024-01-17T17:14:07.4523354+08:00;True|2024-01-17T13:46:19.2002783+08:00;True|2024-01-17T13:17:28.0156428+08:00;True|2024-01-17T11:23:28.7024207+08:00;True|2024-01-17T11:07:35.4966809+08:00;True|2024-01-17T10:25:34.7098037+08:00;True|2024-01-17T09:13:26.1252511+08:00;True|2024-01-16T15:33:15.8976694+08:00;True|2024-01-16T13:06:21.8159184+08:00;True|2024-01-16T12:55:14.9963186+08:00;True|2024-01-16T10:26:35.3866122+08:00;True|2024-01-16T10:25:44.1826112+08:00;True|2024-01-12T16:34:51.6106928+08:00;True|2024-01-12T13:14:24.0546049+08:00;True|2024-01-12T13:06:52.9089433+08:00;True|2024-01-12T12:39:48.1623736+08:00;True|2024-01-12T12:36:04.4644966+08:00;True|2024-01-12T10:22:40.9168937+08:00;True|2024-01-12T10:10:47.1460616+08:00;True|2024-01-12T10:05:40.4318518+08:00;True|2024-01-12T10:02:01.3964907+08:00;True|2024-01-12T09:57:23.5579846+08:00;True|2024-01-12T09:52:39.7735343+08:00;True|2024-01-12T09:49:01.7855687+08:00;True|2024-01-12T09:44:26.1839115+08:00;True|2024-01-12T09:40:23.9216298+08:00;True|2024-01-12T09:36:41.0590000+08:00;True|2024-01-12T09:32:36.5860825+08:00;True|2024-01-12T09:18:47.5635433+08:00;True|2024-01-11T16:44:34.1615374+08:00;True|2024-01-11T16:40:15.6664078+08:00;True|2024-01-11T16:35:55.1073771+08:00;True|2024-01-11T16:30:59.0648321+08:00;True|2024-01-11T16:11:06.5473983+08:00;True|2024-01-11T16:00:13.6441008+08:00;True|2024-01-11T15:46:51.9760680+08:00;True|2024-01-11T15:36:57.4756880+08:00;True|2024-01-11T15:31:04.1093476+08:00;True|2024-01-11T15:29:01.9270892+08:00;True|2024-01-11T15:21:23.5612459+08:00;True|2024-01-11T15:20:16.1944310+08:00;True|2024-01-11T15:13:32.1080230+08:00;True|2024-01-11T15:06:57.4237688+08:00;True|2024-01-11T15:05:37.5128999+08:00;True|2024-01-11T14:57:22.7751079+08:00;True|2024-01-11T14:11:04.8587579+08:00;True|2024-01-11T11:21:14.0243941+08:00;True|2024-01-11T11:15:09.4678297+08:00;True|2024-01-09T17:06:36.4675498+08:00;True|2024-01-09T17:02:20.7904461+08:00;False|2024-01-09T11:59:36.2734315+08:00;False|2024-01-09T11:59:30.0330023+08:00;True|2024-01-09T11:59:17.2965616+08:00;True|2024-01-08T13:52:05.1989624+08:00;True|2024-01-08T11:12:57.8687468+08:00;True|2024-01-05T14:51:14.7636988+08:00;True|2024-01-05T14:05:34.1084252+08:00;True|2024-01-05T13:23:32.7473731+08:00;True|2024-01-05T11:23:22.0038600+08:00;True|2024-01-05T08:30:07.8997370+08:00;True|2024-01-04T17:03:59.0070371+08:00;True|2024-01-04T16:35:53.2667600+08:00;True|2024-01-04T13:54:55.5474585+08:00;True|2024-01-04T10:22:53.2575575+08:00;True|2024-01-04T10:19:29.6305295+08:00;True|2024-01-04T10:13:33.8544729+08:00;True|2024-01-04T10:09:45.5777175+08:00;True|2024-01-03T15:38:30.3306310+08:00;True|2024-01-03T15:33:57.3631133+08:00;True|2024-01-03T15:10:07.3593774+08:00;True|2024-01-03T13:01:19.4751344+08:00;True|2024-01-03T11:25:06.5732437+08:00;True|2024-01-03T10:55:20.7518873+08:00;True|2024-01-03T10:40:15.0650254+08:00;True|2024-01-03T10:29:15.9327684+08:00;True|2024-01-03T09:34:04.8587473+08:00;True|2024-01-03T08:19:57.3625106+08:00;True|2023-12-29T16:46:23.7770752+08:00;True|2023-12-29T16:45:18.9092534+08:00;True|2023-12-29T16:40:16.7253697+08:00;True|2023-12-29T16:35:46.0906100+08:00;True|2023-12-29T16:19:46.4369159+08:00;True|2023-12-29T15:13:11.2466536+08:00;True|2023-12-29T15:08:16.1413948+08:00;True|2023-12-29T11:54:24.8686181+08:00;True|2023-12-29T10:54:38.1200087+08:00;True|2023-12-29T10:43:44.2132588+08:00;True|2023-12-29T10:23:35.9589067+08:00;True|2023-12-29T10:21:38.3438976+08:00;True|2023-12-29T10:16:16.7097491+08:00;True|2023-12-29T09:53:37.8863387+08:00;True|2023-12-27T14:41:20.6098455+08:00;True|2023-12-27T14:15:27.0538444+08:00;True|2023-12-27T13:07:04.0423436+08:00;True|2023-12-27T11:13:53.7170363+08:00;True|2023-12-27T10:59:32.5371257+08:00;True|2023-12-27T10:48:01.7326864+08:00;True|2023-12-26T09:13:22.3086191+08:00;True|2023-12-26T09:12:47.2137946+08:00;True|2023-12-25T12:22:46.8608633+08:00;True|2023-12-25T12:18:59.4402254+08:00;True|2023-12-25T12:11:03.2410147+08:00;True|2023-12-25T09:37:48.6741194+08:00;True|2023-12-25T09:37:03.2635243+08:00;True|2023-12-22T09:44:26.5356492+08:00;True|2023-12-21T16:58:23.0505653+08:00;True|2023-12-21T16:51:26.4945132+08:00;True|2023-12-21T16:48:53.6772071+08:00;True|2023-12-21T16:23:16.4577315+08:00;True|2023-12-21T16:22:38.6599138+08:00;True|2023-12-21T16:11:43.8422015+08:00;True|2023-12-21T15:45:42.5751240+08:00;True|2023-12-15T16:26:52.3591879+08:00;True|2023-12-15T16:22:25.0756865+08:00;True|2023-12-15T14:19:10.1362534+08:00;True|2023-12-15T14:15:47.5585902+08:00;True|2023-12-15T13:41:56.8875380+08:00;True|2023-12-13T00:13:19.2052917+08:00;True|2023-12-12T23:45:04.0751980+08:00;True|2023-12-12T23:33:28.8199619+08:00;True|2023-12-11T16:31:01.1694979+08:00;True|2023-12-11T15:47:51.2813632+08:00;True|2023-12-11T14:31:49.0572919+08:00;True|2023-12-11T11:45:11.2736360+08:00;True|2023-12-11T11:42:47.5744097+08:00;True|2023-12-11T11:41:16.3262612+08:00;True|2023-12-11T11:32:42.2722966+08:00;True|2023-12-11T11:25:22.8877561+08:00;True|2023-12-11T11:18:20.8210764+08:00;True|2023-12-11T11:16:52.0927831+08:00;True|2023-12-11T11:12:29.9473078+08:00;True|2023-12-10T16:43:56.1726039+08:00;True|2023-12-08T16:50:00.8823437+08:00;True|2023-12-08T14:59:10.2356691+08:00;True|2023-12-08T14:53:13.6038106+08:00;True|2023-12-08T14:51:33.9002713+08:00;True|2023-12-08T14:49:22.0867686+08:00;True|2023-12-08T14:45:05.4216954+08:00;True|2023-12-08T14:30:25.7790911+08:00;True|2023-12-08T14:26:26.1041925+08:00;True|2023-12-08T10:55:36.7338237+08:00;True|2023-12-08T10:24:01.5463359+08:00;True|2023-12-08T10:04:35.7996746+08:00;True|2023-12-08T09:59:17.1279949+08:00;True|2023-12-08T09:52:45.7941909+08:00;True|2023-12-08T09:51:26.7251883+08:00;True|2023-12-08T09:27:43.4049328+08:00;True|2023-12-08T09:12:16.7029758+08:00;True|2023-12-07T11:13:10.4285460+08:00;True|2023-12-01T14:35:34.0005130+08:00;True|2023-12-01T13:21:46.3327168+08:00;True|2023-12-01T13:04:28.4801319+08:00;True|2023-11-30T16:46:41.8793520+08:00;True|2023-11-30T16:04:49.7131798+08:00;True|2023-11-30T15:51:12.9846550+08:00;True|2023-11-30T12:52:06.3440387+08:00;True|2023-11-28T11:20:26.3599705+08:00;True|2023-11-28T09:43:48.5733385+08:00;True|2023-11-27T12:13:11.3038226+08:00;True|2023-11-27T11:54:35.3665327+08:00;True|2023-11-24T13:10:19.3181494+08:00;True|2023-11-24T09:52:10.7335160+08:00;True|2023-11-24T09:31:32.3926443+08:00;True|2023-11-22T13:30:50.3888837+08:00;True|2023-11-22T13:22:29.5388053+08:00;True|2023-11-22T12:14:49.7935345+08:00;True|2023-11-22T11:28:30.8047701+08:00;True|2023-11-20T12:04:07.1512783+08:00;True|2023-11-20T11:58:16.7337435+08:00;True|2023-11-20T11:03:24.3231922+08:00;True|2023-11-20T10:59:12.6367033+08:00;True|2023-11-20T10:33:56.2434367+08:00;True|2023-11-17T15:05:08.6847106+08:00;True|2023-11-17T10:29:33.0225444+08:00;True|2023-11-16T14:21:42.1686146+08:00;True|2023-11-16T13:16:34.1913128+08:00;True|2023-11-16T12:57:16.2850606+08:00;True|2023-11-16T11:11:31.8430891+08:00;True|2023-11-16T10:20:42.1252046+08:00;True|2023-11-16T10:18:14.1408709+08:00;True|2023-11-16T09:23:36.6628173+08:00;True|2023-11-15T14:28:33.3369087+08:00;True|2023-11-15T12:26:26.2137336+08:00;True|2023-11-15T12:25:16.0092237+08:00;True|2023-11-15T11:14:45.4326153+08:00;True|2023-11-15T09:02:00.2711268+08:00;True|2023-11-15T08:53:27.1187290+08:00;True|2023-11-14T18:54:52.3812819+08:00;True|2023-11-14T18:52:20.2229451+08:00;True|2023-11-14T17:55:59.0996386+08:00;True|2023-11-14T17:04:46.5334994+08:00;True|2023-11-14T15:02:42.0419908+08:00;True|2023-11-14T14:56:49.6970449+08:00;True|2023-11-14T13:18:29.4329574+08:00;True|2023-11-14T12:23:09.7978978+08:00;True|2023-11-13T16:16:20.9105084+08:00;True|2023-11-13T16:11:45.1099698+08:00;True|2023-11-13T13:16:02.1477662+08:00;True|2023-11-13T13:15:15.6182523+08:00;True|2023-11-13T11:11:21.7620762+08:00;True|2023-11-13T10:01:31.2619079+08:00;True|2023-11-13T09:18:34.3054349+08:00;True|2023-11-13T00:48:47.6800494+08:00;True|2023-11-13T00:42:22.9854286+08:00;True|2023-11-10T16:59:57.9013482+08:00;True|2023-11-10T13:56:10.1520148+08:00;True|2023-11-10T12:25:28.8978413+08:00;True|2023-11-10T12:04:30.4991249+08:00;True|2023-11-10T11:55:52.1921552+08:00;True|2023-11-10T11:39:33.1910863+08:00;True|2023-11-10T11:17:17.2050570+08:00;True|2023-11-10T10:31:48.8350379+08:00;True|2023-11-09T13:11:02.1210376+08:00;True|2023-11-09T11:04:23.6279742+08:00;True|2023-11-09T09:52:39.0767165+08:00;True|2023-11-09T09:45:47.5629254+08:00;True|2023-11-09T09:41:09.1121998+08:00;True|2023-11-09T09:34:16.8133121+08:00;True|2023-11-08T16:33:38.3080500+08:00;True|2023-11-08T16:14:37.9282566+08:00;True|2023-11-08T15:31:46.8084522+08:00;True|2023-11-08T14:27:48.2352711+08:00;True|2023-11-08T12:23:56.5235127+08:00;True|2023-11-08T11:41:12.7035010+08:00;True|2023-11-08T11:38:42.5318310+08:00;True|2023-11-08T10:18:43.5798164+08:00;True|2023-11-08T09:06:35.6712939+08:00;True|2023-11-08T08:57:36.1174660+08:00;True|2023-11-08T00:07:44.2585670+08:00;True|2023-11-06T23:28:53.2559097+08:00;True|2023-11-06T23:00:40.3059201+08:00;True|2023-11-06T21:14:59.0505998+08:00;True|2023-11-03T22:08:06.7984691+08:00;True|2023-11-03T20:33:47.8005656+08:00;True|2023-11-03T19:18:45.1406730+08:00;True|2023-11-03T14:56:44.7332321+08:00;True|2023-11-02T20:13:15.5530300+08:00;True|2023-11-02T19:22:24.9140752+08:00;True|2023-11-02T18:58:18.1198017+08:00;True|2023-11-01T18:31:39.9490440+08:00;True|2023-11-01T14:49:43.8703361+08:00;True|2023-11-01T14:38:44.8729900+08:00;True|2023-11-01T14:14:57.6507597+08:00;True|2023-11-01T13:04:09.9744075+08:00;True|2023-10-31T13:03:41.1902847+08:00;True|2023-10-31T11:29:03.3252294+08:00;True|2023-10-30T18:35:01.5128678+08:00;True|2023-10-30T18:25:01.6612244+08:00;True|2023-10-26T17:07:56.7081658+08:00;True|2023-10-18T16:20:51.8420951+08:00;True|2023-10-16T16:44:43.7908528+08:00;True|2023-10-16T11:17:09.2728375+08:00;True|2023-10-16T10:28:07.3397339+08:00;True|2023-10-16T10:26:35.6073358+08:00;True|2023-10-16T10:21:48.9925797+08:00;True|2023-10-13T11:26:05.2730047+08:00;True|2023-10-12T08:19:04.3028512+08:00;True|2023-10-11T20:40:21.6934217+08:00;True|2023-10-11T20:28:04.3302789+08:00;True|2023-10-11T20:16:51.2741909+08:00;True|2023-10-11T20:10:01.4624158+08:00;True|2023-10-11T15:32:40.9782838+08:00;True|2023-10-11T15:21:09.0531801+08:00;True|2023-10-11T15:05:59.9622196+08:00;True|2023-10-11T10:51:46.8571661+08:00;True|2023-10-11T10:41:25.5037704+08:00;True|2023-10-11T10:13:32.2604453+08:00;True|2023-10-11T10:05:52.2170423+08:00;True|2023-10-11T09:47:35.6578975+08:00;True|2023-10-11T09:44:31.2001499+08:00;True|2023-10-11T09:37:09.6904898+08:00;True|2023-10-10T10:18:33.1073992+08:00;True|2023-10-10T09:32:05.6384867+08:00;True|2023-10-10T09:15:26.4844254+08:00;True|2023-10-10T09:03:39.1497247+08:00;True|2023-10-10T08:56:14.9475607+08:00;True|2023-10-09T15:38:52.6561232+08:00;True|2023-10-09T14:22:16.0301342+08:00;True|2023-10-09T13:24:40.4941388+08:00;True|2023-10-09T10:30:48.0015664+08:00;True|2023-10-09T09:52:47.4626658+08:00;True|2023-10-08T14:21:13.7960780+08:00;True|2023-10-08T10:31:55.0337899+08:00;True|2023-10-08T08:24:13.2663041+08:00;True|2023-10-07T10:40:04.1716715+08:00;True|2023-10-07T09:51:11.1928375+08:00;True|2023-10-07T09:43:13.8042516+08:00;True|2023-09-28T15:45:01.2865878+08:00;True|2023-09-28T15:32:23.8179822+08:00;True|2023-09-28T14:37:03.1119806+08:00;True|2023-09-28T14:30:07.0877531+08:00;True|2023-09-28T14:01:36.5862373+08:00;True|2023-09-28T08:29:16.5989163+08:00;True|2023-09-28T08:12:23.3924898+08:00;True|2023-09-27T17:04:09.2538198+08:00;True|2023-09-27T16:38:03.8237948+08:00;True|2023-09-27T16:12:28.7977056+08:00;True|2023-09-27T15:56:03.7725704+08:00;True|2023-09-27T15:12:31.1298921+08:00;True|2023-09-27T15:05:14.4058045+08:00;True|2023-09-27T14:55:43.4423114+08:00;True|2023-09-27T14:33:26.2272014+08:00;True|2023-09-22T13:26:44.6246077+08:00;True|2023-09-22T11:14:50.9067626+08:00;True|2023-09-22T09:36:50.6912928+08:00;True|2023-09-22T09:26:38.2305802+08:00;True|2023-09-22T09:02:22.5400635+08:00;True|2023-09-20T17:20:27.9780370+08:00;True|2023-09-19T09:20:00.1269897+08:00;True|2023-09-19T09:10:18.4900723+08:00;True|2023-09-19T08:30:20.1709390+08:00;True|2023-09-18T15:43:28.1580264+08:00;True|2023-09-15T10:08:50.6367258+08:00;True|2023-09-14T17:17:10.7002185+08:00;True|2023-09-14T16:55:47.7782477+08:00;True|2023-09-14T14:05:25.9485449+08:00;False|2023-09-14T14:04:51.9423918+08:00;True|2023-09-12T09:37:17.5430590+08:00;True|2023-09-11T16:38:00.9834961+08:00;True|2023-09-11T13:04:08.1338596+08:00;True|2023-09-11T09:33:03.5400174+08:00;True|2023-09-08T15:34:46.6427039+08:00;True|2023-09-08T15:32:26.7896155+08:00;True|2023-09-08T14:07:16.6283055+08:00;True|2023-09-08T08:21:08.8368055+08:00;True|2023-09-08T08:07:29.5992984+08:00;True|2023-09-07T13:03:24.6924914+08:00;True|2023-09-07T11:02:02.9462467+08:00;True|2023-09-07T08:57:36.4913496+08:00;True|2023-09-07T08:55:57.3245545+08:00;True|2023-09-06T13:47:04.0563026+08:00;True|2023-09-06T13:42:27.3031938+08:00;True|2023-09-05T08:28:44.6193871+08:00;True|2023-09-04T20:42:09.4672710+08:00;True|2023-09-03T14:06:37.5079909+08:00;True|2023-09-02T18:58:24.1492192+08:00;True|2023-09-01T13:19:28.2779978+08:00;True|2023-09-01T08:40:54.0577358+08:00;True|2023-08-31T16:47:34.8462721+08:00;True|2023-08-31T14:49:39.9056564+08:00;True|2023-08-31T14:20:01.4071384+08:00;True|2023-08-31T11:25:29.0233052+08:00;True|2023-08-31T10:28:13.4933678+08:00;True|2023-08-31T10:21:52.6638820+08:00;True|2023-08-31T08:46:57.8782261+08:00;True|2023-08-31T08:46:08.4791004+08:00;True|2023-08-30T09:06:17.4001684+08:00;True|2023-08-30T08:52:06.9481657+08:00;True|2023-08-29T17:11:33.7851914+08:00;True|2023-08-29T16:58:52.7298807+08:00;True|2023-08-29T15:58:23.4205277+08:00;True|2023-08-29T15:56:40.3534593+08:00;True|2023-08-29T15:54:29.1188567+08:00;True|2023-08-29T15:53:27.9719983+08:00;True|2023-08-29T15:52:38.7670005+08:00;True|2023-08-29T15:51:32.3703092+08:00;True|2023-08-29T15:47:38.5198946+08:00;True|2023-08-29T15:46:17.4698017+08:00;True|2023-08-29T15:42:04.1853400+08:00;True|2023-08-29T15:29:28.1098681+08:00;True|2023-08-29T15:18:40.8587286+08:00;True|2023-08-29T14:47:50.3088948+08:00;True|2023-08-29T14:47:27.6552611+08:00;False|2023-08-28T13:59:37.8725670+08:00;True|2023-08-18T13:23:38.9937084+08:00;True|2023-08-18T10:09:51.5247737+08:00;True|2023-08-18T08:26:21.8473123+08:00;True|2023-08-17T08:31:37.8696349+08:00;True|2023-08-17T08:23:59.5658185+08:00;True|2023-08-17T08:07:38.2174684+08:00;True|2023-08-16T16:49:44.2549852+08:00;True|2023-08-16T16:33:59.9298792+08:00;True|2023-08-16T15:35:29.6092783+08:00;True|2023-08-16T11:17:28.1086751+08:00;True|2023-08-16T11:17:22.3814672+08:00;True|2023-08-16T08:44:16.0941179+08:00;True|2023-08-15T15:29:15.8118269+08:00;True|2023-08-15T14:47:06.4963591+08:00;True|2023-08-11T16:49:35.8718314+08:00;True|2023-08-11T14:22:59.9440967+08:00;True|2023-08-11T14:16:25.0940743+08:00;True|2023-08-11T13:27:25.4148450+08:00;True|2023-08-11T09:08:31.5437265+08:00;True|2023-08-11T09:04:38.4540336+08:00;True|2023-08-10T14:11:07.0042283+08:00;True|2023-08-08T13:48:19.2402267+08:00;True|2023-08-08T13:44:15.6796969+08:00;True|2023-07-27T09:46:14.1491814+08:00;True|2023-07-21T11:13:10.0843656+08:00;True|2023-07-21T10:56:47.5835580+08:00;True|2023-07-21T10:30:33.0113443+08:00;True|2023-07-20T19:16:37.4936135+08:00;True|2023-07-20T19:00:41.0636578+08:00;True|2023-07-19T13:28:27.8671371+08:00;True|2023-07-19T13:23:42.1880500+08:00;True|2023-07-19T13:19:18.7201227+08:00;True|2023-07-19T13:06:38.9897249+08:00;True|2023-07-19T12:13:11.2061059+08:00;True|2023-07-19T11:45:20.0391356+08:00;True|2023-07-19T11:24:02.5425841+08:00;True|2023-07-19T10:32:06.7915754+08:00;True|2023-07-19T09:51:08.4553434+08:00;True|2023-07-19T09:48:11.2977426+08:00;True|2023-07-18T08:47:44.1724897+08:00;True|2023-07-17T16:25:10.8982872+08:00;True|2023-07-17T14:50:44.3708198+08:00;True|2023-07-17T14:20:26.4686898+08:00;True|2023-07-17T14:18:16.6127136+08:00;True|2023-07-17T14:16:34.9116950+08:00;True|2023-07-17T14:14:44.7988846+08:00;True|2023-07-17T14:06:18.1123806+08:00;True|2023-07-17T14:03:38.5290433+08:00;True|2023-07-17T13:48:54.3096778+08:00;True|2023-07-17T13:23:13.6097762+08:00;True|2023-07-17T09:54:25.9375716+08:00;True|2023-07-17T09:40:22.2531559+08:00;True|2023-07-17T09:21:15.0786649+08:00;True|2023-07-17T09:03:37.2081513+08:00;True|2023-07-16T21:20:45.3036514+08:00;True|2023-07-16T21:09:16.1559694+08:00;True|2023-07-16T21:05:22.2504644+08:00;True|2023-07-16T20:41:26.5956030+08:00;True|2023-07-16T20:19:33.5726613+08:00;True|2023-07-16T19:46:38.6493518+08:00;True|2023-07-14T10:33:17.6270692+08:00;True|2023-07-11T14:34:22.8852169+08:00;True|2023-07-11T14:27:22.7851108+08:00;True|2023-07-11T14:13:21.6512172+08:00;True|2023-07-11T14:06:33.9865646+08:00;True|2023-07-11T13:52:46.2830836+08:00;True|2023-07-11T13:38:56.3165889+08:00;True|2023-07-11T13:29:40.9636697+08:00;True|2023-07-11T13:25:23.0633788+08:00;True|2023-07-11T10:17:40.8002359+08:00;True|2023-07-11T10:15:47.5472709+08:00;True|2023-07-11T10:12:25.6440547+08:00;True|2023-07-11T10:07:39.3716167+08:00;True|2023-07-11T09:22:07.4191357+08:00;True|2023-07-04T13:07:10.1209516+08:00;True|2023-06-30T16:11:25.7541580+08:00;True|2023-06-30T15:39:26.6678989+08:00;True|2023-06-30T15:26:40.6581344+08:00;True|2023-06-30T15:12:57.9906312+08:00;True|2023-06-29T16:39:15.6477820+08:00;True|2023-06-28T17:01:51.9542466+08:00;True|2023-06-27T15:03:28.1320450+08:00;True|2023-06-27T13:36:39.6707848+08:00;True|2023-06-26T09:40:01.1754706+08:00;True|2023-06-25T12:16:28.9080024+08:00;True|2023-06-25T11:51:59.9238461+08:00;True|2023-06-25T11:50:29.3100358+08:00;True|2023-06-25T11:29:28.5338563+08:00;True|2023-06-25T09:10:26.2420288+08:00;True|2023-06-25T09:08:15.0702872+08:00;True|2023-06-25T08:43:15.0806611+08:00;True|2023-06-25T08:41:41.8156616+08:00;True|2023-06-25T08:39:30.6818013+08:00;True|2023-06-25T08:38:18.5996529+08:00;True|2023-06-25T08:36:34.1479706+08:00;True|2023-06-25T08:34:53.9856289+08:00;True|2023-06-25T08:31:24.0298080+08:00;True|2023-06-25T08:15:45.7453280+08:00;True|2023-06-25T08:01:52.7609075+08:00;True|2023-06-24T21:25:23.8938665+08:00;True|2023-06-22T03:02:26.7305758+08:00;True|2023-06-22T02:10:48.8222890+08:00;True|2023-06-22T01:57:41.7875184+08:00;True|2023-06-22T01:52:19.4217362+08:00;True|2023-06-21T16:27:15.1464129+08:00;True|2023-06-21T16:11:46.6111817+08:00;True|2023-06-21T13:14:00.6869253+08:00;True|2023-06-21T13:09:28.2689225+08:00;True|2023-06-21T12:24:02.6762426+08:00;True|2023-06-21T12:18:06.2748924+08:00;True|2023-06-21T11:18:02.6754143+08:00;True|2023-06-21T11:08:34.2149469+08:00;True|2023-06-21T08:20:50.0079906+08:00;True|2023-06-20T15:56:03.2638713+08:00;True|2023-06-20T15:48:38.2419545+08:00;True|2023-06-20T15:35:26.6615171+08:00;True|2023-06-20T15:20:31.9284860+08:00;True|2023-06-20T15:18:39.8265469+08:00;True|2023-06-20T15:09:16.7617272+08:00;True|2023-06-20T09:53:23.2658672+08:00;True|2023-06-16T10:00:58.0337616+08:00;True|2023-06-16T09:47:58.8912904+08:00;True|2023-06-16T09:26:36.4914832+08:00;True|2023-06-15T16:22:21.4509393+08:00;True|2023-06-12T13:21:12.0491357+08:00;True|2023-06-12T10:18:32.9287587+08:00;True|2023-06-09T16:22:24.1132267+08:00;True|2023-06-08T18:12:42.4814009+08:00;True|2023-06-08T11:08:48.0533571+08:00;True|2023-06-08T10:41:43.0121701+08:00;False|2023-06-08T10:40:19.2093235+08:00;True|2023-06-06T13:03:50.8124200+08:00;True|2023-06-05T10:12:24.1858209+08:00;True|2023-06-02T17:02:57.5817094+08:00;True|2023-05-26T13:54:40.2272218+08:00;True|2023-05-24T12:43:50.2427994+08:00;True|2023-05-24T12:34:24.3922836+08:00;True|2023-05-24T10:07:19.4995219+08:00;True|2023-05-24T09:21:29.1960080+08:00;True|2023-05-23T22:34:23.3220912+08:00;True|2023-05-23T22:01:14.4175449+08:00;True|2023-05-23T17:02:53.0308400+08:00;True|2023-05-23T16:30:11.7138623+08:00;True|2023-05-23T15:51:50.0152484+08:00;True|2023-05-23T15:50:52.0657433+08:00;True|2023-05-23T15:28:25.5802377+08:00;True|2023-05-23T15:25:56.4633020+08:00;True|2023-05-23T14:52:29.8759921+08:00;True|2023-05-23T14:48:44.6519763+08:00;True|2023-05-20T04:28:10.3108871+08:00;True|2023-05-20T03:56:22.7233820+08:00;True|2023-05-20T03:47:38.4405026+08:00;True|2023-05-20T03:46:40.6056451+08:00;True|2023-05-20T03:44:25.0883888+08:00;True|2023-05-20T03:41:10.1148691+08:00;True|2023-05-20T02:34:14.3757035+08:00;True|2023-05-20T02:27:50.5595075+08:00;True|2023-05-20T02:23:04.2256041+08:00;True|2023-05-20T01:46:59.9534021+08:00;True|2023-05-20T01:42:33.5106065+08:00;True|2023-05-20T01:40:39.6918060+08:00;True|2023-05-20T01:11:47.7436847+08:00;True|2023-05-20T01:03:58.9476094+08:00;True|2023-05-19T22:59:47.4591129+08:00;True|2023-05-19T22:34:44.7988447+08:00;True|2023-05-19T22:24:55.2320279+08:00;True|2023-05-19T21:40:19.5285575+08:00;True|2023-05-19T21:38:21.2073338+08:00;True|2023-05-19T20:54:59.2058809+08:00;True|2023-05-19T16:08:15.0151080+08:00;True|2023-05-19T15:26:16.2836301+08:00;True|2023-05-19T13:09:06.1592914+08:00;True|2023-05-19T12:24:23.6252771+08:00;True|2023-05-19T11:50:53.8948740+08:00;True|2023-05-19T11:43:57.9296933+08:00;True|2023-05-19T10:44:34.9904463+08:00;True|2023-05-19T09:32:02.1216663+08:00;False|2023-05-19T09:31:06.4251757+08:00;True|2023-05-18T22:34:36.5292968+08:00;True|2023-05-18T20:37:59.7940567+08:00;True|2023-05-18T20:36:35.2790349+08:00;True|2023-05-18T20:34:10.7400457+08:00;True|2023-05-18T20:32:43.8790879+08:00;True|2023-05-18T20:31:13.5389643+08:00;True|2023-05-18T20:29:19.6206139+08:00;True|2023-05-18T20:07:25.5074263+08:00;True|2023-05-18T18:19:43.5324315+08:00;True|2023-05-18T18:15:36.4290026+08:00;True|2023-05-18T18:12:31.8703551+08:00;True|2023-05-18T18:10:52.9289531+08:00;True|2023-05-18T18:09:23.9118797+08:00;True|2023-05-18T17:58:30.8068228+08:00;True|2023-05-18T17:56:55.8055382+08:00;False|2023-05-18T17:54:54.7950789+08:00;False|2023-05-18T17:11:18.2325105+08:00;True|2023-05-18T17:09:24.4186482+08:00;True|2023-05-18T17:06:32.0699130+08:00;False|2023-05-18T17:01:41.8164925+08:00;False|2023-05-18T16:59:32.1112741+08:00;True|2023-05-18T16:58:34.1784100+08:00;True|2023-05-18T16:56:36.9460541+08:00;True|2023-05-18T16:55:00.9843495+08:00;True|2023-05-18T16:49:04.0161640+08:00;True|2023-05-18T16:48:28.9011382+08:00;True|2023-05-18T16:44:52.0675900+08:00;False|2023-05-18T16:44:37.3514214+08:00;False|2023-05-18T16:43:23.3343369+08:00;True|2023-05-18T16:41:35.8818611+08:00;True|2023-05-18T16:25:43.5167900+08:00;False|2023-05-18T16:24:46.6646890+08:00;False|2023-05-18T16:19:55.4153618+08:00;False|2023-05-18T16:16:18.0052881+08:00;False|2023-05-18T16:14:32.3377278+08:00;True|2023-05-17T15:43:45.1868569+08:00;True|2023-05-17T15:35:42.2476880+08:00;True|2023-05-17T14:23:28.2390957+08:00;True|2023-05-17T13:54:00.6756387+08:00;True|2023-05-17T13:45:46.1115068+08:00;True|2023-05-17T07:57:34.7129429+08:00;True|2023-05-16T16:04:20.3198005+08:00;False|2023-05-16T16:03:52.0737233+08:00;True|2023-05-16T15:28:45.4945726+08:00;True|2023-05-16T15:14:10.4952128+08:00;True|2023-05-16T15:04:46.5706346+08:00;True|2023-05-16T14:46:48.7034492+08:00;True|2023-05-16T14:45:29.4047499+08:00;True|2023-05-16T14:42:47.3507679+08:00;True|2023-05-16T14:30:47.9199224+08:00;True|2023-05-16T14:29:10.9147184+08:00;True|2023-05-16T14:27:48.3632687+08:00;True|2023-05-16T14:24:44.6240034+08:00;True|2023-05-16T14:19:41.2962188+08:00;True|2023-05-16T13:41:13.3366211+08:00;True|2023-05-16T13:26:44.1532655+08:00;True|2023-05-16T13:23:40.2882422+08:00;True|2023-05-16T13:11:41.5416792+08:00;True|2023-05-16T13:08:41.6341863+08:00;True|2023-05-16T13:04:35.6916867+08:00;True|2023-05-16T13:00:34.6889598+08:00;True|2023-05-16T12:57:48.4561274+08:00;True|2023-05-16T12:50:57.7405833+08:00;True|2023-05-16T12:49:33.8394829+08:00;True|2023-05-16T12:44:28.6906226+08:00;True|2023-05-16T12:41:08.3554032+08:00;True|2023-05-16T12:32:32.3448036+08:00;True|2023-05-16T11:32:04.4504376+08:00;True|2023-05-15T18:39:28.9172042+08:00;True|2023-05-15T18:35:41.5268755+08:00;True|2023-05-15T18:16:16.2900985+08:00;True|2023-04-28T16:24:40.7430596+08:00;False|2023-04-28T16:21:34.8499384+08:00;True|2023-04-28T15:43:40.3023318+08:00;True|2023-04-28T15:41:18.8228620+08:00;True|2023-04-28T14:16:21.1595325+08:00;True|2023-04-28T10:27:55.2150739+08:00;True|2023-04-12T16:25:26.5218825+08:00;True|2023-04-12T15:45:29.3993255+08:00;True|2023-04-12T14:00:18.1960878+08:00;True|2023-04-12T13:16:39.0804178+08:00;True|2023-04-11T11:02:27.5200402+08:00;True|2023-04-11T09:57:11.5903829+08:00;True|2023-04-10T09:58:01.1775220+08:00;True|2023-03-13T11:19:32.0927720+08:00;True|2023-03-13T10:39:50.9250037+08:00;True|2023-03-13T08:54:57.5891390+08:00;True|2023-03-10T09:00:31.2441735+08:00;True|2023-03-08T08:25:11.1877416+08:00;True|2023-03-06T09:18:03.5502956+08:00;True|2023-03-06T09:14:57.8192971+08:00;True|2023-01-11T13:30:27.8190489+08:00;True|2023-01-06T14:29:14.6067256+08:00;True|2022-12-23T17:06:52.0688439+08:00;True|2022-12-23T16:12:04.4155951+08:00;True|2022-12-23T13:35:44.6439326+08:00;True|2022-11-30T08:24:02.9999976+08:00;True|2022-11-30T08:01:51.4579972+08:00;True|2022-11-29T21:32:14.4359673+08:00;True|2022-11-29T19:30:22.9466023+08:00;True|2022-11-29T19:24:30.1630119+08:00;True|2022-11-29T17:31:43.1926801+08:00;True|2022-11-29T17:14:32.5869985+08:00;True|2022-11-29T10:42:57.1877576+08:00;True|2022-11-27T14:40:28.4784748+08:00;True|2022-11-26T20:49:34.2789400+08:00;True|2022-11-26T19:24:58.9988205+08:00;True|2022-11-26T15:33:08.6274944+08:00;True|2022-11-26T14:37:46.3953592+08:00;True|2022-11-26T09:16:41.7487240+08:00;True|2022-11-24T09:49:50.7302637+08:00;True|2022-11-23T16:24:56.5946914+08:00;True|2022-11-23T16:19:57.5570583+08:00;True|2022-11-23T15:05:13.8032246+08:00;True|2022-11-22T20:24:39.7324815+08:00;True|2022-11-22T13:18:16.2143925+08:00;False|2022-11-22T13:12:53.0448580+08:00;True|2022-11-22T11:03:01.7571733+08:00;True|2022-11-21T13:20:11.1961237+08:00;True|2022-11-21T13:13:52.0360749+08:00;True|2022-11-18T15:48:13.0747365+08:00;True|2022-11-18T14:15:54.5626901+08:00;True|2022-11-17T18:41:26.5464503+08:00;True|2022-11-15T13:55:35.3496366+08:00;True|2022-11-15T11:03:23.6773297+08:00;True|2022-11-15T10:58:47.9703720+08:00;True|2022-11-15T10:12:27.8305782+08:00;True|2022-11-15T09:47:26.7480777+08:00;True|2022-11-15T08:55:44.0275263+08:00;True|2022-11-15T08:54:06.6396851+08:00;True|2022-11-15T08:44:18.2013404+08:00;True|2022-11-15T01:16:19.8154538+08:00;True|2022-11-15T01:15:03.7846810+08:00;True|2022-11-15T01:01:11.0318599+08:00;True|2022-11-15T00:30:33.7148460+08:00;True|2022-11-15T00:15:26.5178283+08:00;True|2022-11-14T23:54:32.6128172+08:00;True|2022-11-14T23:26:52.0335380+08:00;True|2022-11-14T22:21:28.0622050+08:00;True|2022-11-14T21:47:43.6964619+08:00;True|2022-11-14T21:41:42.3128804+08:00;True|2022-11-14T21:31:17.2784203+08:00;True|2022-11-14T20:48:20.0380343+08:00;True|2022-11-11T17:24:44.7029993+08:00;True|2022-11-11T16:47:29.3444029+08:00;True|2022-11-11T16:07:26.4718473+08:00;True|2022-11-11T15:52:41.7235701+08:00;True|2022-11-10T15:58:10.8883176+08:00;True|2022-11-10T15:29:59.3113740+08:00;True|2022-11-10T13:34:14.7380132+08:00;True|2022-11-10T10:28:02.1166569+08:00;True|2022-11-09T23:28:25.6401971+08:00;True|2022-11-09T16:20:53.2757536+08:00;True|2022-11-09T16:16:41.3169214+08:00;True|2022-11-09T14:02:55.1802832+08:00;True|2022-11-09T13:57:55.2726154+08:00;True|2022-11-09T13:28:53.2022669+08:00;True|2022-11-09T13:10:58.0740163+08:00;True|2022-11-09T12:59:42.2328933+08:00;True|2022-11-09T11:54:08.0187924+08:00;True|2022-11-09T11:49:32.4296758+08:00;True|2022-11-09T11:34:32.6613370+08:00;True|2022-11-09T11:06:56.9443306+08:00;True|2022-11-06T23:43:44.0833657+08:00;True|2022-11-06T23:29:52.0088244+08:00;True|2022-11-06T22:06:14.7091464+08:00;True|2022-11-06T22:03:25.2696951+08:00;True|2022-11-06T21:58:50.1055520+08:00;True|2022-11-06T21:54:14.0075395+08:00;True|2022-11-06T21:39:30.2652105+08:00;True|2022-11-04T15:54:37.9813194+08:00;True|2022-11-04T15:43:59.7702621+08:00;True|2022-11-04T13:59:29.3941234+08:00;True|2022-11-04T13:44:18.1212719+08:00;True|2022-11-04T13:42:06.1010393+08:00;True|2022-11-04T13:37:01.7814703+08:00;True|2022-11-04T13:35:43.1121709+08:00;True|2022-11-04T13:33:05.1362535+08:00;True|2022-11-04T13:30:11.1113703+08:00;True|2022-11-04T13:28:53.7185382+08:00;True|2022-11-04T13:27:08.0691684+08:00;True|2022-11-04T13:20:46.2297633+08:00;True|2022-11-04T13:17:57.1564250+08:00;True|2022-11-04T13:15:36.3651019+08:00;True|2022-11-04T13:13:44.6635701+08:00;True|2022-11-04T13:12:02.3968306+08:00;True|2022-11-04T13:08:07.7653927+08:00;True|2022-11-04T11:37:44.1975649+08:00;True|2022-11-04T11:36:20.3813848+08:00;True|2022-11-04T11:26:40.9713465+08:00;True|2022-11-04T10:17:36.4269558+08:00;True|2022-11-04T09:47:05.4607111+08:00;True|2022-11-04T09:28:27.9347785+08:00;True|2022-11-04T08:38:38.5253737+08:00;True|2022-11-03T13:31:32.7883545+08:00;False|2022-11-03T13:27:07.8579021+08:00;True|2022-11-03T11:07:07.3903101+08:00;True|2022-11-03T10:54:26.7818816+08:00;True|2022-11-03T10:35:59.1956262+08:00;True|2022-11-03T10:30:07.0651285+08:00;True|2022-11-03T10:01:20.8467911+08:00;True|2022-08-22T11:13:33.9211829+08:00;True|2022-06-17T11:19:24.4893458+08:00;True|2022-06-07T14:44:51.5702202+08:00;True|2022-06-07T14:42:44.8351600+08:00;True|2022-05-17T14:19:55.1158182+08:00;True|2022-05-17T13:25:44.2886247+08:00;True|2022-05-17T10:29:26.6813564+08:00;True|2022-05-17T09:02:49.1742018+08:00;True|2022-05-06T15:13:12.2438900+08:00;True|2022-05-06T14:49:39.8536594+08:00;True|2022-04-22T17:07:44.8823529+08:00;True|2022-04-19T19:13:40.8312746+08:00;True|2022-04-19T15:40:16.0022040+08:00;True|2022-04-19T15:13:32.9767736+08:00;False|2022-04-19T15:08:33.6507639+08:00;True|2022-04-19T15:02:51.9580210+08:00;True|2022-04-19T13:54:18.7579131+08:00;True|2022-04-12T10:36:02.1779173+08:00;True|2022-04-12T10:05:31.0222037+08:00;True|2022-04-12T09:47:49.3724819+08:00;True|2022-04-09T15:08:54.5697468+08:00;True|2022-04-08T17:31:31.0046258+08:00;True|2022-04-08T16:50:41.3018422+08:00;True|2022-04-08T10:35:36.5029980+08:00;True|2022-03-31T09:38:37.3646053+08:00;True|2022-03-29T13:57:45.4410942+08:00;True|2022-03-10T18:59:23.7994337+08:00;True|2022-03-10T18:52:39.5019082+08:00;True|2022-03-10T18:51:12.7949284+08:00;True|2022-03-10T18:50:47.2024177+08:00;True|2022-03-10T18:45:08.8409380+08:00;True|2022-03-10T18:41:17.0102564+08:00;True|2022-03-10T18:35:49.0742353+08:00;True|2022-03-10T17:57:47.4196965+08:00;True|2022-03-10T17:34:27.5723245+08:00;True|2022-03-10T16:13:59.3829164+08:00;True|2022-03-09T14:50:49.1222033+08:00;True|2022-03-09T11:21:03.0073651+08:00;False|2022-03-09T11:16:56.1792896+08:00;False|2022-03-09T11:16:49.7923320+08:00;True|2022-03-08T15:47:47.4722336+08:00;True|2022-03-08T15:47:28.5397115+08:00;True|2022-03-08T15:37:08.7379870+08:00;True|2022-03-02T17:37:54.4659976+08:00;True|2022-03-02T17:34:12.2949726+08:00;True|2022-03-02T17:26:38.7070673+08:00;True|2022-03-02T17:07:49.7024316+08:00;True|2022-03-02T17:05:22.4177336+08:00;True|2022-03-02T16:14:57.9880587+08:00;True|2022-03-01T17:52:52.6766959+08:00;True|2022-02-28T14:36:22.6449303+08:00;True|2022-02-24T15:43:36.8244163+08:00;True|2022-02-23T17:57:14.3693224+08:00;True|2022-02-23T17:46:42.1078183+08:00;False|2022-02-23T17:41:06.5886724+08:00;True|2022-02-23T16:59:45.5533581+08:00;True|2022-02-23T16:57:43.3328895+08:00;True|2022-02-21T09:09:37.2601134+08:00;True|2022-02-21T09:03:32.4071009+08:00;True|2022-02-21T08:59:59.0172082+08:00;True|2022-02-18T14:05:39.1358825+08:00;True|2022-02-18T10:23:02.4391239+08:00;True|2022-02-18T10:21:31.0559267+08:00;True|2022-02-17T16:50:11.7192509+08:00;True|2022-02-17T13:19:13.7697894+08:00;True|2022-02-11T10:36:12.7757100+08:00;True|2022-02-10T10:54:25.2685040+08:00;True|2022-02-10T10:37:02.1034768+08:00;True|2022-02-09T17:32:45.6511283+08:00;True|2022-02-09T17:24:32.5115193+08:00;True|2022-02-09T17:00:24.0662114+08:00;True|2022-02-09T16:56:42.3364622+08:00;True|2022-02-09T14:17:25.8688855+08:00;True|2022-02-09T14:11:51.6149822+08:00;True|2022-02-07T23:29:26.2842648+08:00;True|2022-02-07T23:28:58.8242274+08:00;False|2022-02-07T23:25:29.0647793+08:00;True|2022-02-07T13:06:37.5515985+08:00;True|2022-02-07T12:42:19.5220491+08:00;True|2022-02-07T09:52:59.6728595+08:00;True|2022-02-01T11:32:10.5831557+08:00;True|2022-01-29T14:09:02.9178986+08:00;True|2022-01-28T12:01:45.1416438+08:00;True|2022-01-28T11:03:41.6361866+08:00;True|2022-01-28T10:44:53.5367862+08:00;True|2022-01-28T10:40:41.6697563+08:00;True|2022-01-28T10:25:56.7093616+08:00;True|2022-01-28T09:58:13.0733060+08:00;True|2022-01-27T09:26:29.6568807+08:00;True|2022-01-27T00:47:57.9102528+08:00;True|2022-01-27T00:46:52.8845001+08:00;True|2022-01-27T00:36:34.5330938+08:00;True|2022-01-27T00:35:19.5439329+08:00;True|2022-01-27T00:33:38.5701950+08:00;True|2022-01-27T00:32:00.9028982+08:00;True|2022-01-27T00:30:13.2390921+08:00;True|2022-01-27T00:28:23.2989144+08:00;True|2022-01-27T00:16:01.3789455+08:00;True|2022-01-27T00:09:58.8112352+08:00;True|2022-01-27T00:00:40.8353538+08:00;True|2022-01-26T23:37:50.9494735+08:00;True|2022-01-26T23:29:39.8647473+08:00;True|2022-01-26T23:20:49.3274392+08:00;True|2022-01-26T23:15:53.7037293+08:00;True|2022-01-26T23:06:28.8595953+08:00;True|2022-01-26T23:02:12.9882299+08:00;True|2022-01-26T22:55:33.2535730+08:00;True|2022-01-26T22:51:01.8427947+08:00;True|2022-01-26T22:47:44.0715387+08:00;True|2022-01-26T22:20:21.7217039+08:00;True|2022-01-26T22:13:39.5372069+08:00;True|2022-01-26T22:01:31.2113177+08:00;True|2022-01-26T21:55:26.5478921+08:00;True|2022-01-26T21:50:18.2700369+08:00;True|2022-01-26T21:48:52.0020233+08:00;True|2022-01-26T19:19:29.4530523+08:00;True|2022-01-26T19:07:21.6474231+08:00;True|2022-01-26T18:25:42.2933291+08:00;True|2022-01-26T12:39:02.0149050+08:00;True|2022-01-26T12:13:43.9149452+08:00;True|2022-01-26T11:24:33.5742248+08:00;True|2022-01-26T08:51:10.8105076+08:00;True|2022-01-25T21:07:32.9069261+08:00;True|2022-01-24T01:35:12.3309466+08:00;True|2022-01-23T23:19:15.9702821+08:00;True|2022-01-23T21:50:41.6903353+08:00;True|2022-01-23T21:25:57.6084267+08:00;True|2022-01-23T21:16:10.1516535+08:00;True|2022-01-23T20:52:08.3745284+08:00;True|2022-01-23T18:19:32.2386502+08:00;True|2022-01-23T18:11:42.0830325+08:00;True|2022-01-23T18:00:01.3239547+08:00;True|2022-01-23T12:18:48.2466943+08:00;True|2022-01-22T00:48:50.4531647+08:00;True|2022-01-21T13:10:32.8173598+08:00;True|2022-01-21T13:04:01.6388059+08:00;True|2022-01-21T12:51:40.5304103+08:00;True|2022-01-21T12:44:06.3059885+08:00;True|2022-01-21T12:34:33.9314010+08:00;True|2022-01-21T11:39:20.1088577+08:00;True|2022-01-20T11:33:49.0516846+08:00;True|2022-01-20T10:02:12.0295471+08:00;True|2022-01-20T10:02:03.3535503+08:00;True|2022-01-19T23:56:18.7293193+08:00;True|2022-01-19T22:30:14.6986228+08:00;True|2022-01-19T22:15:08.8608795+08:00;True|2022-01-19T21:57:55.2295030+08:00;True|2022-01-19T13:50:37.8588759+08:00;True|2022-01-19T13:42:52.9761531+08:00;True|2022-01-19T00:26:36.9722917+08:00;True|2022-01-19T00:15:30.8583143+08:00;True|2022-01-18T21:19:30.6193048+08:00;True|2022-01-18T21:12:07.1453825+08:00;True|2022-01-18T20:35:27.3779956+08:00;True|2022-01-18T17:44:45.2318570+08:00;True|2022-01-18T14:45:29.0299640+08:00;True|2022-01-17T22:23:20.8214203+08:00;True|2022-01-17T21:49:15.7740045+08:00;True|2022-01-17T21:47:24.6997598+08:00;True|2022-01-17T21:44:00.1942787+08:00;True|2022-01-17T21:43:15.5992687+08:00;True|2022-01-17T21:33:16.8034756+08:00;True|2022-01-17T21:25:39.9909343+08:00;True|2022-01-17T21:13:03.9659338+08:00;True|2022-01-17T20:32:14.8869091+08:00;True|2022-01-17T19:01:46.5753686+08:00;True|2022-01-17T18:31:24.1032169+08:00;True|2022-01-17T18:21:39.2918684+08:00;True|2022-01-17T18:12:07.4859038+08:00;True|2022-01-17T18:09:26.6989718+08:00;True|2022-01-17T18:04:36.7564997+08:00;True|2022-01-17T17:57:44.7814863+08:00;True|2022-01-17T17:51:50.1516107+08:00;True|2022-01-17T17:39:29.2918799+08:00;True|2022-01-17T14:55:21.5859341+08:00;True|2022-01-17T14:38:06.5091500+08:00;True|2022-01-17T14:30:25.5378436+08:00;True|2022-01-16T19:15:24.5874858+08:00;True|2022-01-16T19:07:49.0613424+08:00;True|2022-01-16T16:10:47.3112741+08:00;False|2022-01-14T19:09:41.9296709+08:00;False|2022-01-14T18:56:11.0569808+08:00;False|2022-01-14T18:28:20.1376762+08:00;False|2022-01-14T18:27:30.8678130+08:00;False|2022-01-14T18:22:45.4436504+08:00;False|2022-01-14T18:19:37.0374753+08:00;False|2022-01-14T18:18:48.5868254+08:00;False|2022-01-14T18:14:02.5810257+08:00;False|2022-01-14T18:09:51.1730754+08:00;False|2022-01-14T18:09:17.8940754+08:00;True|2022-01-13T20:08:16.2937608+08:00;True|2022-01-13T20:07:30.1505466+08:00;True|2022-01-13T13:39:42.0146294+08:00;True|2022-01-13T13:38:07.5062471+08:00;True|2022-01-13T11:29:49.3751232+08:00;True|2022-01-13T11:05:43.9574142+08:00;True|2022-01-13T10:33:23.1921058+08:00;True|2022-01-12T20:38:16.9165651+08:00;True|2022-01-12T20:24:46.3779264+08:00;True|2022-01-12T20:03:06.5030626+08:00;True|2022-01-12T19:44:55.4294326+08:00;True|2022-01-12T12:58:45.9548600+08:00;True|2022-01-12T11:28:44.7797749+08:00;True|2022-01-11T18:07:30.9151356+08:00;True|2022-01-11T15:06:32.7301609+08:00;True|2022-01-11T09:27:00.1766442+08:00;True|2021-12-30T14:41:56.8541015+08:00;True|2021-12-30T13:45:00.6130694+08:00;True|2021-12-30T13:44:18.7370780+08:00;True|2021-12-30T13:36:52.8171136+08:00;True|2021-12-28T19:14:22.5979649+08:00;True|2021-12-28T13:13:39.3543252+08:00;True|2021-12-27T15:31:26.6037782+08:00;True|2021-12-27T15:28:54.4824480+08:00;True|2021-12-27T15:22:47.8436108+08:00;True|2021-12-27T15:04:37.0711590+08:00;True|2021-12-27T15:03:52.0932499+08:00;True|2021-12-27T15:03:33.0172733+08:00;True|2021-12-27T13:28:27.4252747+08:00;True|2021-12-25T19:38:33.6784042+08:00;True|2021-12-24T20:47:43.3471563+08:00;True|2021-12-24T20:14:57.6946814+08:00;True|2021-12-24T19:55:21.1843105+08:00;True|2021-12-24T19:49:54.6719726+08:00;True|2021-12-24T19:38:14.1180741+08:00;True|2021-12-22T13:51:37.1082523+08:00;True|2021-12-21T15:38:59.8015096+08:00;True|2021-12-21T15:29:54.8095063+08:00;False|2021-12-21T15:29:21.7006531+08:00;False|2021-12-21T15:16:18.2218025+08:00;False|2021-12-21T15:11:38.1215841+08:00;False|2021-12-21T15:08:27.0590078+08:00;True|2021-12-10T14:12:36.4065298+08:00;True|2021-12-10T13:54:03.4921778+08:00;True|2021-12-10T13:25:49.0439086+08:00;True|2021-12-10T13:19:58.9494477+08:00;True|2021-12-10T13:10:45.3929017+08:00;True|2021-12-10T11:06:53.2416794+08:00;True|2021-12-07T17:23:28.9380484+08:00;True|2021-12-07T17:13:52.4384814+08:00;True|2021-12-07T16:39:49.2020208+08:00;True|2021-12-07T15:18:20.9024533+08:00;True|2021-12-07T15:07:35.4428035+08:00;True|2021-12-07T15:01:02.0445043+08:00;True|2021-12-07T14:50:08.9019705+08:00;True|2021-12-07T14:34:50.4993666+08:00;False|2021-12-07T14:32:56.0408332+08:00;True|2021-12-06T17:11:41.4004606+08:00;True|2021-12-06T16:48:07.6029757+08:00;True|2021-12-06T13:46:35.9437718+08:00;True|2021-12-06T13:45:07.6622615+08:00;True|2021-12-06T11:25:04.3483155+08:00;True|2021-12-06T11:18:24.5804187+08:00;True|2021-11-22T16:27:05.4241947+08:00;True|2021-11-22T13:40:17.6768280+08:00;True|2021-11-19T16:15:19.9085104+08:00;True|2021-11-09T10:34:21.1623512+08:00;True|2021-11-07T16:57:59.7380254+08:00;True|2021-11-07T16:53:47.4198852+08:00;True|2021-11-07T16:42:05.5096826+08:00;True|2021-11-07T16:37:21.0729013+08:00;True|2021-11-05T20:51:17.6170717+08:00;True|2021-11-05T20:35:14.6250333+08:00;True|2021-11-05T19:30:19.8374158+08:00;True|2021-11-05T19:22:46.2276569+08:00;True|2021-11-05T19:20:30.8253213+08:00;True|2021-11-05T19:16:45.7553310+08:00;True|2021-11-05T19:16:00.4532689+08:00;True|2021-11-05T19:12:25.9022478+08:00;False|2021-11-05T19:11:26.5753529+08:00;True|2021-11-05T19:09:30.0085433+08:00;True|2021-11-05T18:48:19.9395153+08:00;True|2021-11-05T18:45:34.3437897+08:00;True|2021-11-05T18:43:43.4558159+08:00;True|2021-11-05T18:40:40.9948500+08:00;True|2021-11-05T18:34:18.4440455+08:00;True|2021-11-05T15:54:51.6037132+08:00;True|2021-10-28T16:27:53.9728270+08:00;True|2021-10-28T16:03:59.5629998+08:00;True|2021-10-28T08:51:04.2549186+08:00;True|2021-10-27T15:14:53.5506098+08:00;True|2021-10-27T15:00:44.9100320+08:00;True|2021-10-27T13:14:46.7921647+08:00;True|2021-10-27T11:24:49.4550753+08:00;True|2021-10-27T10:10:10.3545125+08:00;True|2021-10-27T10:02:24.9248610+08:00;True|2021-10-27T09:59:40.3795897+08:00;True|2021-10-27T09:56:30.6629207+08:00;True|2021-10-27T09:10:48.3883432+08:00;True|2021-10-27T09:03:31.9191991+08:00;True|2021-10-27T08:59:59.7651159+08:00;True|2021-10-27T08:36:11.8620997+08:00;True|2021-10-27T08:26:40.2533014+08:00;True|2021-10-26T09:19:35.5674748+08:00;True|2021-10-26T09:17:17.6900747+08:00;True|2021-10-26T09:14:32.3999220+08:00;True|2021-10-25T15:08:21.2581763+08:00;True|2021-10-25T10:01:57.8524903+08:00;True|2021-10-25T09:28:51.6294879+08:00;True|2021-10-25T09:25:50.3373336+08:00;True|2021-10-25T09:23:37.0203978+08:00;True|2021-10-25T09:18:23.3380608+08:00;True|2021-10-25T09:15:10.5292071+08:00;True|2021-10-25T08:56:30.4632027+08:00;True|2021-10-25T08:50:11.4697392+08:00;True|2021-10-22T13:46:49.7207066+08:00;True|2021-10-22T10:06:33.3130089+08:00;True|2021-10-20T14:32:10.1235516+08:00;True|2021-10-20T14:16:18.6496291+08:00;True|2021-10-20T14:08:49.2443715+08:00;True|2021-10-20T14:05:14.6847950+08:00;True|2021-10-20T13:30:21.6057636+08:00;True|2021-10-20T10:55:22.2151716+08:00;True|2021-10-19T10:42:13.4198267+08:00;True|2021-10-19T10:01:41.0018108+08:00;True|2021-10-19T09:59:11.2127619+08:00;True|2021-10-19T09:54:04.8472874+08:00;True|2021-10-15T11:19:15.5327495+08:00;True|2021-10-15T11:17:41.0686485+08:00;True|2021-10-15T11:12:11.8295042+08:00;True|2021-10-15T10:33:31.5670079+08:00;True|2021-10-15T10:27:45.0815146+08:00;True|2021-10-14T14:51:28.5331025+08:00;True|2021-10-14T14:37:28.3276051+08:00;True|2021-10-14T14:23:39.0606792+08:00;True|2021-10-14T14:21:03.8140347+08:00;True|2021-10-13T10:31:10.6628977+08:00;True|2021-10-13T10:12:24.4238027+08:00;True|2021-10-13T08:47:43.9314486+08:00;True|2021-10-12T14:07:18.6065183+08:00;True|2021-10-12T10:34:10.1682362+08:00;True|2021-10-12T10:27:14.3073332+08:00;True|2021-10-12T10:22:08.0004619+08:00;True|2021-10-12T10:21:03.0275378+08:00;True|2021-10-12T10:11:54.9812692+08:00;True|2021-10-11T16:59:07.3568342+08:00;True|2021-10-11T16:53:14.2016138+08:00;True|2021-10-11T16:21:35.0133775+08:00;True|2021-10-11T15:34:19.5731935+08:00;True|2021-10-11T15:31:07.5780983+08:00;True|2021-10-11T15:06:47.1145237+08:00;True|2021-10-11T15:03:25.5000280+08:00;True|2021-10-11T10:12:57.6416898+08:00;True|2021-10-09T10:15:17.9235165+08:00;True|2021-10-09T10:13:51.3318441+08:00;True|2021-10-09T10:01:21.6661542+08:00;True|2021-10-09T09:58:41.9225837+08:00;True|2021-10-08T14:56:49.7935800+08:00;True|2021-10-08T14:35:41.4490063+08:00;True|2021-10-08T14:02:42.6990656+08:00;True|2021-09-29T15:48:55.1547397+08:00;True|2021-09-29T15:48:23.5567191+08:00;True|2021-09-27T16:17:35.7180978+08:00;True|2021-09-27T15:51:50.4240134+08:00;True|2021-09-23T20:55:27.3554447+08:00;True|2021-09-23T14:14:44.0572017+08:00;True|2021-09-23T13:51:56.2344673+08:00;True|2021-09-23T10:46:16.7417007+08:00;True|2021-09-23T10:42:23.2117537+08:00;True|2021-09-22T15:21:22.9615672+08:00;True|2021-09-22T14:23:32.7907754+08:00;True|2021-09-22T13:48:03.4780947+08:00;True|2021-09-22T11:05:24.5249356+08:00;True|2021-09-22T10:00:19.0962943+08:00;True|2021-09-22T09:30:26.2686514+08:00;True|2021-09-17T11:22:34.5692792+08:00;True|2021-09-16T16:11:27.5372277+08:00;True|2021-09-16T14:53:40.8396557+08:00;True|2021-09-16T14:32:29.7905500+08:00;True|2021-09-16T14:26:46.2224219+08:00;True|2021-09-16T10:32:24.4244440+08:00;True|2021-09-15T11:10:35.3529360+08:00;True|2021-09-15T11:08:30.0857376+08:00;True|2021-09-15T11:05:56.7191571+08:00;True|2021-09-14T01:24:39.8041136+08:00;True|2021-09-14T01:05:01.1593327+08:00;True|2021-09-14T00:44:14.7233198+08:00;True|2021-09-13T23:48:19.4506233+08:00;True|2021-09-13T20:30:31.3243872+08:00;True|2021-09-13T19:45:35.9108911+08:00;False|2021-09-13T19:44:59.2779092+08:00;True|2021-09-13T18:09:22.4994381+08:00;True|2021-09-10T14:18:27.5788854+08:00;True|2021-09-09T15:57:01.7407207+08:00;True|2021-09-09T15:49:34.2598998+08:00;True|2021-09-09T11:32:10.7853024+08:00;True|2021-09-09T11:10:48.6840025+08:00;True|2021-09-09T10:35:37.3883078+08:00;True|2021-09-07T14:11:49.8497588+08:00;True|2021-09-07T13:34:48.4693349+08:00;True|2021-09-06T14:33:48.7549675+08:00;True|2021-09-03T16:27:51.1888520+08:00;True|2021-09-03T16:19:35.9003465+08:00;True|2021-09-03T15:46:28.1828032+08:00;True|2021-09-03T15:34:21.9362871+08:00;True|2021-09-03T11:24:49.8749819+08:00;True|2021-09-03T11:21:17.8373159+08:00;True|2021-09-03T11:16:53.2208136+08:00;True|2021-09-03T11:12:23.9063804+08:00;True|2021-09-03T09:11:09.2435721+08:00;True|2021-09-02T11:16:15.1370453+08:00;True|2021-09-02T10:35:39.1171879+08:00;True|2021-09-01T10:17:09.4536285+08:00;True|2021-09-01T09:46:28.4581776+08:00;True|2021-08-31T08:54:26.8588887+08:00;True|2021-08-31T08:39:08.3685693+08:00;True|2021-08-30T17:11:56.8438985+08:00;True|2021-08-30T15:59:42.0820292+08:00;True|2021-08-30T15:45:18.1868510+08:00;True|2021-08-30T14:56:08.3958863+08:00;True|2021-08-30T14:37:11.5379830+08:00;True|2021-08-30T14:35:34.8775934+08:00;True|2021-08-30T14:24:36.5111821+08:00;True|2021-08-30T10:05:49.6945200+08:00;True|2021-08-30T10:03:28.4064538+08:00;True|2021-08-30T10:00:16.8360929+08:00;True|2021-08-30T09:56:09.4434379+08:00;True|2021-08-30T09:55:36.1725334+08:00;True|2021-08-30T09:52:04.8600054+08:00;True|2021-08-30T09:47:46.4225655+08:00;True|2021-08-30T09:45:20.4894962+08:00;False|2021-08-27T17:17:34.2646751+08:00;False|2021-08-27T16:01:21.2791979+08:00;False|2021-08-27T15:58:06.9667160+08:00;False|2021-08-27T15:38:37.4818036+08:00;False|2021-08-27T15:21:02.8863114+08:00;False|2021-08-27T15:20:28.6828668+08:00;True|2021-08-26T16:00:44.3162145+08:00;True|2021-08-26T08:57:31.3842587+08:00;True|2021-08-23T08:43:41.1549775+08:00;True|2021-08-22T09:24:12.7210871+08:00;True|2021-08-22T09:19:53.8300229+08:00;True|2021-08-20T20:00:52.0140407+08:00;True|2021-08-20T19:40:14.7712765+08:00;True|2021-08-19T17:37:54.9748049+08:00;True|2021-08-19T17:20:11.0515687+08:00;True|2021-08-19T16:12:35.4392809+08:00;True|2021-08-19T16:06:50.6204587+08:00;True|2021-08-19T16:03:53.0824286+08:00;True|2021-08-19T15:56:01.3498791+08:00;True|2021-08-19T10:18:50.8113630+08:00;True|2021-08-19T09:58:06.2784035+08:00;True|2021-08-19T09:56:54.0619777+08:00;True|2021-08-19T00:32:08.3503093+08:00;True|2021-08-19T00:11:18.3150227+08:00;True|2021-08-19T00:02:49.4827718+08:00;True|2021-08-18T23:54:45.4845900+08:00;True|2021-08-18T23:39:51.6147977+08:00;True|2021-08-18T23:16:42.7214379+08:00;True|2021-08-18T22:38:57.4681929+08:00;True|2021-08-18T21:41:58.7560707+08:00;True|2021-08-18T21:11:52.2369249+08:00;True|2021-08-18T21:01:49.5669106+08:00;True|2021-08-18T20:47:46.5352688+08:00;False|2021-08-18T20:46:36.7956141+08:00;False|2021-08-18T20:46:01.0502138+08:00;True|2021-08-18T19:39:12.8186242+08:00;False|2021-08-18T19:38:12.6839708+08:00;True|2021-08-18T19:15:51.4626694+08:00;True|2021-08-18T16:07:20.4350886+08:00;True|2021-08-18T14:29:41.7171934+08:00;True|2021-08-18T14:20:36.3647361+08:00;True|2021-08-16T09:08:58.3617662+08:00;True|2021-08-15T20:44:29.9214083+08:00;True|2021-08-15T20:36:17.0958549+08:00;True|2021-08-15T20:29:34.3879773+08:00;True|2021-08-15T20:23:47.4052038+08:00;True|2021-08-15T15:01:19.7830862+08:00;True|2021-08-15T12:15:18.3433782+08:00;True|2021-08-13T20:59:11.3947130+08:00;True|2021-08-06T22:49:09.9538339+08:00;True|2021-08-06T22:35:19.0418168+08:00;True|2021-08-06T20:29:47.4241975+08:00;True|2021-08-06T14:08:16.4791827+08:00;True|2021-08-06T13:59:28.9874611+08:00;True|2021-08-06T13:57:34.3723977+08:00;True|2021-08-06T13:36:03.4816652+08:00;True|2021-08-06T12:22:52.5055221+08:00;True|2021-08-06T09:31:58.1272499+08:00;True|2021-08-06T09:26:51.6310039+08:00;True|2021-08-06T09:24:22.2899244+08:00;True|2021-08-06T09:06:30.6477912+08:00;True|2021-08-06T09:00:55.5101612+08:00;True|2021-08-06T08:49:59.9616490+08:00;True|2021-08-06T08:45:18.8586902+08:00;True|2021-08-05T20:09:25.8861998+08:00;True|2021-08-04T19:14:27.2396953+08:00;True|2021-08-04T19:11:47.5849093+08:00;True|2021-08-04T16:42:54.0149043+08:00;True|2021-08-04T15:02:11.5056561+08:00;True|2021-08-04T14:58:37.1435509+08:00;True|2021-08-04T14:55:34.7380132+08:00;True|2021-08-04T14:47:42.5933921+08:00;True|2021-08-04T14:45:17.9911874+08:00;True|2021-08-04T13:52:20.9601351+08:00;True|2021-08-04T09:48:28.8796992+08:00;True|2021-08-03T18:14:13.1894998+08:00;True|2021-08-03T17:45:35.1349721+08:00;True|2021-08-03T17:21:52.6028977+08:00;True|2021-08-03T17:20:35.4423020+08:00;True|2021-08-03T17:03:33.1667669+08:00;True|2021-08-03T17:01:54.2656787+08:00;True|2021-08-03T17:00:22.2778374+08:00;True|2021-08-03T16:56:58.8902582+08:00;True|2021-08-03T15:02:21.8601533+08:00;True|2021-08-03T14:57:34.0186758+08:00;True|2021-08-03T14:28:47.2242515+08:00;True|2021-08-03T14:22:22.4554236+08:00;True|2021-08-03T14:21:51.1339715+08:00;True|2021-08-03T13:37:33.9697131+08:00;True|2021-08-03T13:28:29.7591095+08:00;True|2021-08-03T11:35:09.5118324+08:00;True|2021-08-03T11:11:23.3051573+08:00;True|2021-08-02T13:14:42.3663755+08:00;True|2021-07-30T22:50:19.9749878+08:00;True|2021-07-30T22:49:31.2150970+08:00;True|2021-07-28T19:12:05.8381075+08:00;True|2021-07-28T18:59:45.4808797+08:00;True|2021-07-28T18:15:58.8301509+08:00;True|2021-07-28T18:04:54.8613546+08:00;True|2021-07-28T17:53:48.6225611+08:00;True|2021-07-28T17:42:50.9171563+08:00;True|2021-07-28T17:17:16.3137677+08:00;True|2021-07-28T17:11:46.8925200+08:00;True|2021-07-28T16:28:27.6823943+08:00;True|2021-07-28T16:23:00.3385836+08:00;True|2021-07-28T09:57:55.4237411+08:00;True|2021-07-28T08:38:29.6691541+08:00;True|2021-07-27T23:16:32.0331671+08:00;True|2021-07-27T23:06:08.1947249+08:00;True|2021-07-27T23:05:58.4619176+08:00;True|2021-07-27T18:42:09.5358261+08:00;True|2021-07-27T18:30:04.8532823+08:00;True|2021-07-27T18:29:43.5775092+08:00;True|2021-07-27T15:16:49.8356224+08:00;True|2021-07-27T15:05:27.8453220+08:00;True|2021-07-27T14:59:15.9519440+08:00;True|2021-07-27T09:23:32.6111337+08:00;True|2021-07-27T08:27:41.6395353+08:00;True|2021-07-27T08:25:56.7378296+08:00;True|2021-07-26T11:18:46.0856966+08:00;True|2021-07-26T11:18:02.0751924+08:00;True|2021-07-26T11:13:49.6285395+08:00;True|2021-07-21T21:08:25.9898902+08:00;True|2021-07-21T20:09:26.2258104+08:00;True|2021-07-13T16:17:25.8407435+08:00;True|2021-07-13T13:46:13.4309531+08:00;True|2021-07-13T12:29:04.5082461+08:00;True|2021-06-29T13:55:01.6864637+08:00;True|2021-06-29T10:38:52.2206472+08:00;True|2021-06-29T10:10:13.1540749+08:00;True|2021-06-28T14:37:56.3853273+08:00;False|2021-06-28T14:36:57.5726124+08:00;True|2021-06-25T14:17:57.5196108+08:00;True|2021-06-25T13:56:38.9522535+08:00;True|2021-06-24T19:38:32.8766933+08:00;True|2021-06-24T18:26:35.6118833+08:00;True|2021-06-24T18:02:52.8136877+08:00;True|2021-06-24T17:48:49.5851948+08:00;True|2021-06-24T17:45:46.7527572+08:00;True|2021-06-24T15:05:20.1592723+08:00;True|2021-06-23T16:18:15.6814625+08:00;True|2021-06-23T16:05:24.6112343+08:00;True|2021-06-23T15:14:08.2489658+08:00;True|2021-06-23T13:52:58.6029788+08:00;True|2021-06-22T16:11:20.4726923+08:00;True|2021-06-22T16:04:53.7231389+08:00;True|2021-06-22T15:50:59.2583262+08:00;True|2021-06-22T15:38:15.3016140+08:00;True|2021-06-22T15:34:42.9185543+08:00;True|2021-06-22T15:21:55.1419108+08:00;True|2021-06-22T15:07:21.5357494+08:00;True|2021-06-22T15:03:35.0535733+08:00;True|2021-06-22T14:54:47.8802969+08:00;True|2021-06-22T11:19:38.7303011+08:00;True|2021-06-22T08:53:49.2882695+08:00;True|2021-06-22T08:47:54.8286530+08:00;True|2021-06-21T16:27:19.3017700+08:00;True|2021-06-21T15:32:28.7237952+08:00;True|2021-06-21T12:34:02.6329555+08:00;True|2021-06-21T12:24:17.5427495+08:00;True|2021-06-21T10:47:30.6423502+08:00;True|2021-06-21T08:43:20.3026558+08:00;True|2021-06-19T15:10:06.8335499+08:00;True|2021-06-18T15:37:29.5009930+08:00;True|2021-06-18T13:46:35.6283432+08:00;True|2021-06-18T10:00:37.1474954+08:00;True|2021-06-18T09:55:21.8551780+08:00;True|2021-06-18T09:22:27.8432927+08:00;True|2021-06-17T11:17:43.2166430+08:00;True|2021-06-17T09:24:09.8350403+08:00;True|2021-06-16T16:10:47.8564888+08:00;True|2021-06-16T16:04:09.8286582+08:00;True|2021-06-16T15:12:29.9427169+08:00;True|2021-06-16T14:58:45.6801892+08:00;True|2021-06-16T14:46:01.6873221+08:00;True|2021-06-16T11:02:06.1272477+08:00;True|2021-06-16T09:33:56.0223915+08:00;True|2021-06-16T08:50:07.6995413+08:00;True|2021-06-16T08:28:38.7692635+08:00;True|2021-06-16T01:04:19.6282474+08:00;True|2021-06-16T01:03:50.5058323+08:00;False|2021-06-16T01:02:15.3819672+08:00;False|2021-06-16T01:01:38.6171098+08:00;True|2021-06-16T00:34:54.9902044+08:00;True|2021-06-15T23:55:36.2003828+08:00;True|2021-06-15T22:47:17.2192750+08:00;True|2021-06-15T22:42:41.1512585+08:00;True|2021-06-15T22:38:01.7390462+08:00;True|2021-06-15T22:14:11.2060782+08:00;True|2021-06-15T22:12:27.0615357+08:00;True|2021-06-15T22:07:59.9280871+08:00;True|2021-06-15T22:04:21.5051427+08:00;True|2021-06-15T21:25:55.0099814+08:00;True|2021-06-15T19:13:51.3494172+08:00;True|2021-06-15T19:02:17.6844742+08:00;True|2021-06-15T18:47:37.1629411+08:00;False|2021-06-15T18:47:11.0828111+08:00;True|2021-06-15T18:38:26.6620668+08:00;True|2021-06-15T18:33:45.2069831+08:00;True|2021-06-15T18:24:52.0550838+08:00;True|2021-06-15T18:19:43.6999796+08:00;True|2021-06-15T18:08:17.2464506+08:00;True|2021-06-15T18:03:51.3952624+08:00;True|2021-06-15T18:01:20.6141766+08:00;True|2021-06-15T17:59:04.4479416+08:00;True|2021-06-15T17:41:44.6389379+08:00;True|2021-06-15T17:39:03.1565124+08:00;True|2021-06-15T17:34:41.0634638+08:00;True|2021-06-15T17:33:50.4853178+08:00;True|2021-06-15T17:25:38.5914037+08:00;True|2021-06-15T17:22:21.3611360+08:00;True|2021-06-15T17:16:49.4970813+08:00;True|2021-06-15T17:05:28.9389484+08:00;True|2021-06-15T16:52:54.6372199+08:00;True|2021-06-15T16:51:23.9081030+08:00;True|2021-06-15T16:45:40.6017997+08:00;True|2021-06-15T16:41:05.0218887+08:00;True|2021-06-15T16:38:02.8541862+08:00;True|2021-06-15T16:22:10.3118721+08:00;True|2021-06-15T16:12:11.1552506+08:00;True|2021-06-15T15:33:42.0100494+08:00;True|2021-06-15T15:28:39.7145659+08:00;True|2021-06-15T15:15:02.7939125+08:00;True|2021-06-15T14:49:14.2300396+08:00;True|2021-06-15T14:42:28.1198064+08:00;True|2021-06-15T13:30:12.7997686+08:00;True|2021-06-15T13:25:37.7284670+08:00;True|2021-06-15T13:23:43.6207813+08:00;False|2021-06-15T13:23:19.4190232+08:00;True|2021-06-15T13:16:38.5062674+08:00;True|2021-06-15T13:03:31.2055635+08:00;True|2021-06-15T12:58:43.1653215+08:00;True|2021-06-15T12:39:22.8442109+08:00;True|2021-06-15T12:35:09.1288556+08:00;False|2021-06-15T12:33:50.0723143+08:00;True|2021-06-15T11:28:01.9733727+08:00;True|2021-06-15T11:26:26.6569392+08:00;True|2021-06-15T11:22:43.0366435+08:00;True|2021-06-15T11:07:50.1610580+08:00;True|2021-06-15T10:32:59.1925931+08:00;True|2021-06-10T17:16:57.9552310+08:00;True|2021-06-10T16:44:42.2731836+08:00;True|2021-06-10T14:39:27.6745737+08:00;True|2021-06-10T12:15:05.1524413+08:00;True|2021-06-09T18:19:24.1005606+08:00;True|2021-06-09T17:56:09.5646288+08:00;True|2021-06-09T13:34:06.1882292+08:00;True|2021-06-09T13:29:54.5924933+08:00;True|2021-06-09T13:25:55.7520662+08:00;True|2021-06-09T13:07:47.6686811+08:00;True|2021-06-09T12:59:41.2595048+08:00;True|2021-06-09T12:45:27.1305548+08:00;True|2021-06-09T12:29:52.1418191+08:00;True|2021-06-09T12:24:12.7610588+08:00;True|2021-06-09T11:31:25.3409568+08:00;True|2021-06-09T09:57:44.4387175+08:00;True|2021-06-09T09:54:26.5161307+08:00;True|2021-06-09T09:14:14.7288045+08:00;True|2021-06-09T09:10:25.1812139+08:00;True|2021-06-09T08:46:21.6585123+08:00;True|2021-06-08T19:56:55.7192062+08:00;True|2021-06-08T19:52:59.0326821+08:00;True|2021-06-08T19:49:13.6274217+08:00;True|2021-06-08T19:09:22.1038939+08:00;True|2021-06-08T15:28:41.3716247+08:00;True|2021-06-08T15:26:47.2621178+08:00;True|2021-06-08T13:49:45.8936617+08:00;True|2021-06-08T13:43:18.8115502+08:00;True|2021-06-08T10:04:06.2200731+08:00;True|2021-06-08T09:17:10.0470792+08:00;True|2021-06-08T08:44:37.4395849+08:00;True|2021-06-08T00:01:09.3745613+08:00;True|2021-06-07T23:49:31.5196888+08:00;True|2021-06-07T23:41:00.8017855+08:00;True|2021-06-07T23:21:53.1371134+08:00;True|2021-06-07T23:01:27.5712153+08:00;True|2021-06-07T22:36:12.9274014+08:00;True|2021-06-07T22:23:00.6545134+08:00;True|2021-06-07T17:44:47.5686346+08:00;True|2021-06-07T17:17:01.3431233+08:00;True|2021-06-07T16:53:28.9989587+08:00;True|2021-06-07T16:41:10.4975607+08:00;True|2021-06-07T14:21:06.8176477+08:00;True|2021-06-07T14:10:39.0355659+08:00;True|2021-06-07T12:34:31.4562732+08:00;True|2021-06-07T12:28:44.9629488+08:00;True|2021-06-07T10:30:26.9387988+08:00;True|2021-06-07T09:12:14.7658099+08:00;True|2021-06-07T08:37:19.6353792+08:00;True|2021-06-07T08:35:25.2031954+08:00;True|2021-06-05T07:07:32.0541266+08:00;True|2021-06-05T06:44:35.9475270+08:00;True|2021-06-05T06:37:27.4595197+08:00;True|2021-06-05T06:26:59.7663998+08:00;True|2021-06-05T05:43:12.8699318+08:00;True|2021-06-04T17:00:41.2426007+08:00;True|2021-06-04T16:08:03.8078072+08:00;True|2021-06-04T15:47:21.6412616+08:00;True|2021-06-04T15:21:02.4239800+08:00;True|2021-06-04T15:20:37.8641854+08:00;True|2021-06-04T13:38:51.5088395+08:00;True|2021-06-04T10:20:01.7784282+08:00;True|2021-06-04T10:13:50.3548857+08:00;True|2021-06-04T10:11:25.5017821+08:00;True|2021-06-04T10:09:51.6792228+08:00;True|2021-06-04T10:02:39.5851057+08:00;True|2021-06-04T09:30:40.4495494+08:00;True|2021-06-03T13:16:36.0317546+08:00;True|2021-06-03T13:12:47.0402047+08:00;True|2021-06-02T14:37:08.9683351+08:00;True|2021-06-02T14:10:15.7439829+08:00;True|2021-06-02T13:59:46.5841931+08:00;True|2021-06-02T13:25:18.7962660+08:00;True|2021-06-02T13:23:16.2261980+08:00;True|2021-06-01T15:37:32.2495085+08:00;True|2021-06-01T15:21:01.2856122+08:00;True|2021-06-01T15:13:36.7262365+08:00;True|2021-06-01T15:10:26.8905629+08:00;True|2021-06-01T14:56:17.5231551+08:00;True|2021-06-01T14:38:39.7895927+08:00;True|2021-06-01T14:23:12.3265287+08:00;True|2021-03-01T09:11:31.3226422+08:00;True|2021-05-26T14:54:56.9426462+08:00;True|2021-05-26T13:57:33.7780451+08:00;True|2021-05-26T13:39:02.8043358+08:00;True|2021-02-25T16:01:40.2917200+08:00;True|2021-02-25T15:49:46.6681205+08:00;True|2021-02-25T15:16:30.9372640+08:00;True|2021-05-25T13:10:21.7831921+08:00;True|2021-05-25T11:21:38.5224475+08:00;True|2021-05-25T11:12:52.0637175+08:00;True|2021-05-25T11:02:18.4164663+08:00;True|2021-05-25T10:52:06.8998521+08:00;True|2021-05-25T10:50:45.0929606+08:00;True|2021-05-25T10:45:54.1498313+08:00;True|2021-05-25T10:39:27.8602249+08:00;True|2021-05-25T10:34:49.5771162+08:00;True|2021-05-25T10:17:30.3009163+08:00;True|2021-05-25T10:14:03.8512581+08:00;True|2021-05-25T10:05:33.4343836+08:00;True|2021-05-24T17:01:23.3221168+08:00;True|2021-05-24T10:11:24.0197347+08:00;False|2021-05-24T10:11:07.6338995+08:00;</History>
+    <_PublishTargetUrl>G:\issWeb\缃戠珯鍙戝竷\API</_PublishTargetUrl>
+    <History>True|2024-05-31T07:57:19.8208236Z;True|2024-05-31T15:22:42.1789930+08:00;True|2024-05-31T15:13:09.3310754+08:00;True|2024-05-31T15:07:27.2528961+08:00;True|2024-05-31T14:46:54.7960188+08:00;True|2024-05-31T14:34:13.9077799+08:00;True|2024-05-31T14:05:03.8345173+08:00;True|2024-05-31T12:52:38.8326102+08:00;True|2024-05-31T10:29:32.0441427+08:00;True|2024-05-31T10:08:48.0021543+08:00;True|2024-05-31T09:43:32.2488411+08:00;True|2024-05-30T16:29:38.6305342+08:00;True|2024-05-30T16:16:08.3671859+08:00;True|2024-05-30T16:00:42.8690838+08:00;True|2024-05-30T15:07:20.8506508+08:00;True|2024-05-30T14:28:44.1018902+08:00;True|2024-05-30T14:14:25.3034479+08:00;True|2024-05-30T13:36:02.4352359+08:00;True|2024-05-29T13:45:51.8854629+08:00;True|2024-05-28T08:33:52.1977980+08:00;True|2024-05-27T16:00:53.4656146+08:00;True|2024-05-27T10:43:46.1023173+08:00;True|2024-05-27T09:14:09.4690569+08:00;False|2024-05-27T09:09:16.7204665+08:00;False|2024-05-27T08:51:21.5199349+08:00;False|2024-05-27T08:35:49.4339724+08:00;False|2024-05-27T08:29:02.9972247+08:00;True|2024-05-24T14:24:09.8444039+08:00;True|2024-05-24T10:52:44.4487225+08:00;True|2024-05-23T16:36:02.2415058+08:00;True|2024-05-23T13:43:27.7682349+08:00;True|2024-05-23T13:41:26.5710135+08:00;True|2024-05-23T13:25:30.0501860+08:00;True|2024-05-23T13:01:01.8142912+08:00;True|2024-05-22T11:27:52.3476712+08:00;True|2024-04-28T11:08:24.9627592+08:00;True|2024-04-28T09:08:43.2454678+08:00;True|2024-04-09T13:59:05.4840966+08:00;True|2024-04-09T13:32:04.5173492+08:00;True|2024-04-09T10:49:57.0288282+08:00;True|2024-04-09T10:35:48.8906018+08:00;True|2024-04-08T13:40:57.0220970+08:00;True|2024-04-08T13:07:43.0357658+08:00;True|2024-04-08T08:51:13.3450522+08:00;True|2024-04-07T17:08:21.7140078+08:00;True|2024-04-07T16:20:47.0957220+08:00;True|2024-04-07T15:40:03.2944629+08:00;True|2024-04-07T15:36:39.8472773+08:00;True|2024-04-07T15:27:41.4586445+08:00;True|2024-04-07T15:24:44.9945335+08:00;True|2024-04-07T15:21:05.5907054+08:00;True|2024-04-07T14:18:24.9260992+08:00;True|2024-04-02T15:07:56.8405115+08:00;True|2024-03-28T09:57:40.6534155+08:00;True|2024-03-26T17:00:21.0687635+08:00;True|2024-03-26T16:55:53.0643450+08:00;True|2024-03-26T16:50:09.5271078+08:00;True|2024-03-26T16:35:58.3572743+08:00;True|2024-03-26T16:17:50.6562874+08:00;True|2024-03-26T16:02:58.7193861+08:00;True|2024-03-26T15:51:50.2451468+08:00;True|2024-03-26T15:38:02.2327749+08:00;True|2024-03-26T14:43:01.5314209+08:00;True|2024-03-26T14:36:32.9149121+08:00;True|2024-03-26T14:29:28.7806186+08:00;True|2024-03-26T14:11:55.5737213+08:00;True|2024-03-22T16:35:11.0518345+08:00;True|2024-03-21T15:56:07.0130392+08:00;True|2024-03-20T10:50:05.8645964+08:00;True|2024-03-19T15:59:58.2960231+08:00;True|2024-03-19T15:16:32.3388913+08:00;True|2024-03-19T14:51:16.6428107+08:00;True|2024-03-19T14:36:08.8885745+08:00;False|2024-03-19T14:34:44.2637614+08:00;True|2024-03-19T14:22:40.5900691+08:00;True|2024-03-19T14:02:08.9599381+08:00;True|2024-03-19T12:23:05.0332761+08:00;True|2024-03-19T11:53:43.6830010+08:00;True|2024-03-19T11:40:05.7903841+08:00;True|2024-03-15T20:49:17.5076444+08:00;True|2024-03-15T14:00:52.3630660+08:00;True|2024-03-15T12:47:34.8092587+08:00;True|2024-03-15T09:58:23.5517006+08:00;True|2024-03-13T15:28:48.6170490+08:00;True|2024-03-13T13:33:44.3051955+08:00;True|2024-03-13T13:25:15.0372313+08:00;True|2024-03-13T11:59:44.2551502+08:00;True|2024-03-13T11:49:04.7295629+08:00;True|2024-03-13T11:27:27.5893712+08:00;True|2024-03-13T11:12:33.2533839+08:00;True|2024-03-13T11:07:52.7174473+08:00;True|2024-03-13T09:34:08.0467534+08:00;True|2024-03-12T16:24:41.1248271+08:00;True|2024-03-12T12:57:34.1524922+08:00;True|2024-03-12T12:57:10.0401874+08:00;True|2024-03-12T12:37:38.8477356+08:00;True|2024-03-12T12:15:41.3846937+08:00;True|2024-03-12T11:42:00.2207406+08:00;True|2024-03-12T11:33:55.6697043+08:00;True|2024-03-12T11:05:02.7742504+08:00;True|2024-03-12T09:20:07.0762374+08:00;True|2024-03-11T23:16:36.7669114+08:00;True|2024-03-11T23:03:24.2725545+08:00;True|2024-03-11T22:49:15.9602661+08:00;True|2024-03-11T22:47:12.6755805+08:00;True|2024-03-11T17:00:27.3523033+08:00;True|2024-03-11T16:58:40.0175971+08:00;True|2024-03-11T16:44:38.6622087+08:00;True|2024-03-11T12:49:04.1659271+08:00;True|2024-03-11T12:34:46.2212554+08:00;True|2024-03-11T12:04:40.4848855+08:00;True|2024-03-11T11:58:33.1825785+08:00;True|2024-03-11T11:40:10.6536678+08:00;True|2024-03-11T09:04:20.1073972+08:00;True|2024-03-11T00:16:54.5372850+08:00;True|2024-03-11T00:13:59.7140451+08:00;True|2024-03-11T00:08:20.0809329+08:00;True|2024-03-10T23:51:03.0931056+08:00;True|2024-03-10T23:43:22.2299872+08:00;True|2024-03-10T23:31:27.0629130+08:00;True|2024-03-10T22:56:31.1232852+08:00;True|2024-03-10T22:36:41.8541660+08:00;True|2024-03-10T22:15:06.0859435+08:00;True|2024-03-10T21:44:04.4157994+08:00;True|2024-03-10T21:35:38.3813654+08:00;True|2024-03-10T21:21:19.7693278+08:00;True|2024-03-10T13:19:26.4221274+08:00;True|2024-03-08T16:42:34.3346854+08:00;True|2024-03-08T15:50:13.7379672+08:00;True|2024-03-08T15:44:16.4369842+08:00;True|2024-03-08T15:31:50.0622199+08:00;True|2024-03-08T14:26:09.1090416+08:00;True|2024-03-08T14:21:24.9470581+08:00;True|2024-03-08T14:17:32.2780390+08:00;True|2024-03-08T14:03:55.4922720+08:00;True|2024-03-08T13:57:55.4217170+08:00;True|2024-03-08T13:53:43.0935554+08:00;True|2024-03-08T12:54:18.4199897+08:00;True|2024-03-08T12:48:07.6789814+08:00;True|2024-03-08T12:38:48.2818977+08:00;True|2024-03-08T12:21:53.9153553+08:00;True|2024-03-08T12:06:46.9343077+08:00;True|2024-03-08T11:27:39.0237720+08:00;True|2024-03-08T10:59:31.7184492+08:00;True|2024-03-08T10:57:44.8205869+08:00;True|2024-03-08T10:47:27.6962408+08:00;True|2024-03-08T10:29:25.8508156+08:00;True|2024-03-08T10:23:30.0269659+08:00;True|2024-03-08T09:21:21.5915181+08:00;True|2024-03-08T09:16:30.6962592+08:00;True|2024-03-07T17:01:33.5406097+08:00;True|2024-03-07T16:52:05.1956454+08:00;True|2024-03-07T16:41:54.0594859+08:00;True|2024-03-07T16:33:14.5796954+08:00;True|2024-03-07T16:02:27.6565800+08:00;True|2024-03-07T15:45:18.3220942+08:00;True|2024-03-07T15:39:48.9700962+08:00;True|2024-03-07T15:35:21.4018654+08:00;True|2024-03-07T15:22:12.7348197+08:00;True|2024-03-07T15:19:49.2338225+08:00;True|2024-03-07T13:46:05.5084885+08:00;True|2024-03-07T13:42:41.9749496+08:00;True|2024-03-07T13:26:04.1927588+08:00;True|2024-03-07T13:04:29.8689660+08:00;True|2024-03-07T10:24:34.3368602+08:00;True|2024-03-07T09:18:28.2279706+08:00;True|2024-03-06T17:25:36.9409421+08:00;True|2024-03-06T17:04:06.6361562+08:00;True|2024-03-06T14:42:01.3198359+08:00;True|2024-03-06T12:10:29.5231191+08:00;True|2024-03-06T12:03:06.7428246+08:00;True|2024-03-06T11:51:03.6220101+08:00;True|2024-03-06T11:15:22.4977600+08:00;True|2024-03-06T09:38:13.9161080+08:00;True|2024-03-05T16:37:49.9679062+08:00;True|2024-03-05T15:12:23.1933204+08:00;True|2024-03-05T14:51:27.9123344+08:00;True|2024-03-05T12:42:45.6186917+08:00;True|2024-03-05T11:21:19.0499458+08:00;True|2024-03-05T11:07:43.2642432+08:00;True|2024-03-05T09:59:18.0467522+08:00;True|2024-03-05T09:57:25.8947310+08:00;True|2024-03-04T16:41:44.4465908+08:00;True|2024-03-04T16:27:02.5887336+08:00;True|2024-03-04T16:20:05.0027599+08:00;True|2024-03-04T16:19:26.5595399+08:00;True|2024-03-04T15:32:55.6131853+08:00;True|2024-03-04T15:28:44.2800619+08:00;True|2024-03-04T14:54:47.0567440+08:00;True|2024-03-04T10:23:15.8222065+08:00;True|2024-03-03T17:36:33.1017612+08:00;True|2024-03-03T16:51:26.3227366+08:00;True|2024-02-26T09:58:28.3684127+08:00;True|2024-02-26T09:40:27.2127438+08:00;True|2024-02-26T09:30:29.4139007+08:00;True|2024-02-26T08:58:31.6305017+08:00;True|2024-02-26T08:50:25.3686785+08:00;True|2024-02-25T22:42:22.6699571+08:00;True|2024-02-25T21:40:08.7124742+08:00;True|2024-02-23T16:33:06.9165845+08:00;True|2024-02-23T15:20:24.6631954+08:00;True|2024-02-22T13:35:39.8097749+08:00;True|2024-02-22T10:50:51.2245040+08:00;True|2024-02-22T10:37:36.2007251+08:00;True|2024-02-22T10:28:43.0780061+08:00;True|2024-02-22T10:25:14.6494230+08:00;True|2024-02-22T10:22:55.9164843+08:00;True|2024-02-22T10:20:22.7986646+08:00;True|2024-02-22T10:09:31.7828474+08:00;True|2024-02-22T09:52:49.6576546+08:00;True|2024-02-22T09:49:40.2304782+08:00;True|2024-02-22T09:11:37.5212025+08:00;False|2024-02-22T09:11:00.5740908+08:00;True|2024-02-22T09:08:58.7725741+08:00;True|2024-02-21T16:50:09.9380590+08:00;True|2024-02-21T16:25:03.2145943+08:00;True|2024-02-21T16:23:13.6740659+08:00;True|2024-02-21T16:17:53.0411127+08:00;True|2024-02-21T15:57:47.2254175+08:00;True|2024-02-21T15:10:17.2222102+08:00;True|2024-02-21T15:05:10.2464943+08:00;True|2024-02-21T14:27:06.5305080+08:00;True|2024-02-21T14:23:20.9423346+08:00;True|2024-02-21T14:10:37.5156508+08:00;True|2024-02-21T13:54:04.4018306+08:00;True|2024-02-21T08:47:17.0019565+08:00;True|2024-02-20T16:26:31.2412659+08:00;True|2024-02-20T16:23:36.2983740+08:00;True|2024-02-20T16:20:39.9515902+08:00;True|2024-02-20T15:46:12.8212665+08:00;True|2024-02-20T14:58:17.4600086+08:00;True|2024-02-20T10:45:52.2417786+08:00;True|2024-02-20T10:42:11.8298929+08:00;True|2024-02-19T13:06:24.8957799+08:00;True|2024-02-19T11:05:28.0139278+08:00;True|2024-02-19T10:27:01.0810368+08:00;True|2024-02-19T10:22:57.4053027+08:00;True|2024-02-19T10:15:48.5706154+08:00;True|2024-02-19T10:12:02.9076965+08:00;True|2024-02-18T14:57:44.7521494+08:00;True|2024-02-18T14:50:56.3550941+08:00;True|2024-02-18T13:36:49.3942430+08:00;True|2024-02-07T14:06:25.4964506+08:00;True|2024-02-07T10:42:52.2689528+08:00;True|2024-02-06T10:58:49.3342902+08:00;True|2024-02-06T10:53:42.5435511+08:00;True|2024-02-06T10:43:40.1003756+08:00;True|2024-02-06T10:40:46.8233200+08:00;True|2024-02-06T10:17:28.2865591+08:00;True|2024-02-06T10:14:31.6896095+08:00;True|2024-02-06T09:24:29.8745590+08:00;True|2024-02-06T09:20:58.3166183+08:00;True|2024-02-06T09:12:14.4841167+08:00;True|2024-02-06T09:05:10.5375167+08:00;True|2024-02-05T14:51:09.8954604+08:00;True|2024-02-05T14:30:01.0098544+08:00;True|2024-02-05T14:26:49.2548141+08:00;True|2024-02-05T14:05:18.6839229+08:00;True|2024-02-05T13:23:42.1639710+08:00;True|2024-02-05T08:39:07.5523831+08:00;True|2024-02-04T15:09:19.2455417+08:00;True|2024-02-04T13:27:46.2086590+08:00;True|2024-02-04T13:25:20.9639903+08:00;True|2024-02-04T13:20:32.2870983+08:00;True|2024-02-04T13:15:58.3909970+08:00;True|2024-02-04T11:18:59.5180822+08:00;True|2024-02-04T11:07:31.1414636+08:00;True|2024-02-04T11:03:38.8431285+08:00;True|2024-02-04T11:00:42.8307675+08:00;True|2024-02-04T10:59:07.3767796+08:00;True|2024-02-04T10:55:27.9454328+08:00;True|2024-02-04T10:52:29.5988914+08:00;True|2024-02-04T10:50:30.6883153+08:00;True|2024-02-04T10:38:13.0058874+08:00;True|2024-02-04T10:25:53.1906810+08:00;True|2024-02-04T10:14:51.7442720+08:00;True|2024-02-04T10:12:34.4696662+08:00;True|2024-02-04T10:08:56.5805097+08:00;True|2024-02-04T10:07:16.4922026+08:00;True|2024-02-04T09:59:27.2102397+08:00;True|2024-02-04T09:56:42.2238395+08:00;True|2024-02-04T09:52:47.5348300+08:00;True|2024-02-04T09:42:50.9349205+08:00;True|2024-02-04T09:30:32.3567175+08:00;True|2024-02-04T09:19:29.8036670+08:00;True|2024-02-04T09:11:56.0744927+08:00;True|2024-02-04T09:08:42.4432795+08:00;True|2024-02-04T09:05:25.4958302+08:00;True|2024-02-04T08:58:59.7993464+08:00;True|2024-02-04T08:51:20.3017735+08:00;True|2024-02-04T08:43:05.6974823+08:00;True|2024-02-02T16:12:24.3288882+08:00;True|2024-02-02T15:31:12.0724234+08:00;True|2024-02-02T15:14:24.5493301+08:00;True|2024-02-02T15:08:42.0775469+08:00;True|2024-02-02T14:50:25.2357715+08:00;True|2024-02-02T14:48:40.1311047+08:00;True|2024-02-02T14:44:57.9831751+08:00;True|2024-02-02T14:28:12.0713915+08:00;True|2024-02-02T13:55:59.7389347+08:00;True|2024-02-02T13:10:32.7073682+08:00;True|2024-02-02T10:21:41.3665075+08:00;True|2024-02-02T10:08:11.1755065+08:00;True|2024-02-01T16:28:42.6016378+08:00;True|2024-02-01T16:25:35.2865491+08:00;True|2024-02-01T15:48:00.8333105+08:00;True|2024-02-01T15:39:22.9864096+08:00;True|2024-02-01T15:30:30.4856347+08:00;True|2024-02-01T14:34:14.9484851+08:00;True|2024-02-01T13:53:48.9165284+08:00;False|2024-02-01T13:52:39.1911001+08:00;True|2024-02-01T10:40:28.0735829+08:00;True|2024-02-01T10:24:04.5914096+08:00;True|2024-02-01T10:13:00.9882363+08:00;True|2024-01-31T14:56:37.7352718+08:00;True|2024-01-31T14:46:49.9104890+08:00;True|2024-01-31T14:38:56.1841731+08:00;True|2024-01-31T14:35:45.4531352+08:00;True|2024-01-31T14:32:21.5100137+08:00;True|2024-01-31T14:15:26.3231430+08:00;True|2024-01-31T14:00:11.3994150+08:00;True|2024-01-31T13:18:54.8448212+08:00;True|2024-01-31T10:52:59.8159114+08:00;True|2024-01-31T10:28:03.5856625+08:00;True|2024-01-31T10:10:35.0250398+08:00;True|2024-01-30T09:53:14.3256577+08:00;True|2024-01-30T09:43:56.5551157+08:00;True|2024-01-30T08:27:16.7078317+08:00;True|2024-01-29T15:42:55.3394104+08:00;True|2024-01-29T15:36:57.2998818+08:00;True|2024-01-29T15:09:49.3214409+08:00;True|2024-01-29T14:54:23.0025170+08:00;True|2024-01-29T14:33:53.5586728+08:00;True|2024-01-29T10:21:47.9469052+08:00;True|2024-01-29T09:38:26.0354836+08:00;True|2024-01-29T09:28:57.3836958+08:00;True|2024-01-29T09:19:49.0488968+08:00;True|2024-01-26T16:11:46.3859476+08:00;True|2024-01-26T16:11:29.8529136+08:00;True|2024-01-26T10:23:35.6167838+08:00;True|2024-01-26T10:16:04.2780085+08:00;True|2024-01-26T10:05:56.0745647+08:00;True|2024-01-26T10:03:34.8490957+08:00;True|2024-01-26T09:18:57.1502238+08:00;True|2024-01-26T09:05:18.6887593+08:00;True|2024-01-25T16:19:44.3753587+08:00;True|2024-01-25T10:54:55.2695117+08:00;True|2024-01-25T10:52:43.0130697+08:00;True|2024-01-25T10:15:35.2061116+08:00;True|2024-01-25T10:12:55.7724345+08:00;True|2024-01-25T09:59:14.7336333+08:00;True|2024-01-25T09:54:00.8951944+08:00;True|2024-01-23T11:57:00.6176481+08:00;True|2024-01-23T11:48:46.0536266+08:00;True|2024-01-23T11:20:56.9686760+08:00;True|2024-01-23T10:07:03.1874795+08:00;True|2024-01-23T09:28:09.7921197+08:00;True|2024-01-22T17:23:56.8011615+08:00;True|2024-01-22T15:39:51.8307512+08:00;True|2024-01-21T16:56:29.0470984+08:00;True|2024-01-21T16:31:58.1736344+08:00;True|2024-01-21T16:24:19.3683647+08:00;True|2024-01-21T16:02:26.5427715+08:00;True|2024-01-21T15:45:21.0549809+08:00;True|2024-01-21T15:24:46.6563331+08:00;True|2024-01-21T12:57:07.2655536+08:00;True|2024-01-21T11:43:22.1675745+08:00;True|2024-01-21T11:04:07.4676661+08:00;True|2024-01-21T11:03:11.6972981+08:00;True|2024-01-19T12:12:51.7315607+08:00;True|2024-01-19T12:03:23.7846341+08:00;True|2024-01-19T09:21:40.1191844+08:00;True|2024-01-18T15:28:59.1079108+08:00;True|2024-01-18T15:25:00.9561275+08:00;True|2024-01-18T15:19:13.0404548+08:00;True|2024-01-18T13:06:18.2756609+08:00;True|2024-01-18T12:00:29.1983965+08:00;True|2024-01-18T09:51:08.2157377+08:00;True|2024-01-18T09:49:33.8817410+08:00;True|2024-01-17T17:14:07.4523354+08:00;True|2024-01-17T13:46:19.2002783+08:00;True|2024-01-17T13:17:28.0156428+08:00;True|2024-01-17T11:23:28.7024207+08:00;True|2024-01-17T11:07:35.4966809+08:00;True|2024-01-17T10:25:34.7098037+08:00;True|2024-01-17T09:13:26.1252511+08:00;True|2024-01-16T15:33:15.8976694+08:00;True|2024-01-16T13:06:21.8159184+08:00;True|2024-01-16T12:55:14.9963186+08:00;True|2024-01-16T10:26:35.3866122+08:00;True|2024-01-16T10:25:44.1826112+08:00;True|2024-01-12T16:34:51.6106928+08:00;True|2024-01-12T13:14:24.0546049+08:00;True|2024-01-12T13:06:52.9089433+08:00;True|2024-01-12T12:39:48.1623736+08:00;True|2024-01-12T12:36:04.4644966+08:00;True|2024-01-12T10:22:40.9168937+08:00;True|2024-01-12T10:10:47.1460616+08:00;True|2024-01-12T10:05:40.4318518+08:00;True|2024-01-12T10:02:01.3964907+08:00;True|2024-01-12T09:57:23.5579846+08:00;True|2024-01-12T09:52:39.7735343+08:00;True|2024-01-12T09:49:01.7855687+08:00;True|2024-01-12T09:44:26.1839115+08:00;True|2024-01-12T09:40:23.9216298+08:00;True|2024-01-12T09:36:41.0590000+08:00;True|2024-01-12T09:32:36.5860825+08:00;True|2024-01-12T09:18:47.5635433+08:00;True|2024-01-11T16:44:34.1615374+08:00;True|2024-01-11T16:40:15.6664078+08:00;True|2024-01-11T16:35:55.1073771+08:00;True|2024-01-11T16:30:59.0648321+08:00;True|2024-01-11T16:11:06.5473983+08:00;True|2024-01-11T16:00:13.6441008+08:00;True|2024-01-11T15:46:51.9760680+08:00;True|2024-01-11T15:36:57.4756880+08:00;True|2024-01-11T15:31:04.1093476+08:00;True|2024-01-11T15:29:01.9270892+08:00;True|2024-01-11T15:21:23.5612459+08:00;True|2024-01-11T15:20:16.1944310+08:00;True|2024-01-11T15:13:32.1080230+08:00;True|2024-01-11T15:06:57.4237688+08:00;True|2024-01-11T15:05:37.5128999+08:00;True|2024-01-11T14:57:22.7751079+08:00;True|2024-01-11T14:11:04.8587579+08:00;True|2024-01-11T11:21:14.0243941+08:00;True|2024-01-11T11:15:09.4678297+08:00;True|2024-01-09T17:06:36.4675498+08:00;True|2024-01-09T17:02:20.7904461+08:00;False|2024-01-09T11:59:36.2734315+08:00;False|2024-01-09T11:59:30.0330023+08:00;True|2024-01-09T11:59:17.2965616+08:00;True|2024-01-08T13:52:05.1989624+08:00;True|2024-01-08T11:12:57.8687468+08:00;True|2024-01-05T14:51:14.7636988+08:00;True|2024-01-05T14:05:34.1084252+08:00;True|2024-01-05T13:23:32.7473731+08:00;True|2024-01-05T11:23:22.0038600+08:00;True|2024-01-05T08:30:07.8997370+08:00;True|2024-01-04T17:03:59.0070371+08:00;True|2024-01-04T16:35:53.2667600+08:00;True|2024-01-04T13:54:55.5474585+08:00;True|2024-01-04T10:22:53.2575575+08:00;True|2024-01-04T10:19:29.6305295+08:00;True|2024-01-04T10:13:33.8544729+08:00;True|2024-01-04T10:09:45.5777175+08:00;True|2024-01-03T15:38:30.3306310+08:00;True|2024-01-03T15:33:57.3631133+08:00;True|2024-01-03T15:10:07.3593774+08:00;True|2024-01-03T13:01:19.4751344+08:00;True|2024-01-03T11:25:06.5732437+08:00;True|2024-01-03T10:55:20.7518873+08:00;True|2024-01-03T10:40:15.0650254+08:00;True|2024-01-03T10:29:15.9327684+08:00;True|2024-01-03T09:34:04.8587473+08:00;True|2024-01-03T08:19:57.3625106+08:00;True|2023-12-29T16:46:23.7770752+08:00;True|2023-12-29T16:45:18.9092534+08:00;True|2023-12-29T16:40:16.7253697+08:00;True|2023-12-29T16:35:46.0906100+08:00;True|2023-12-29T16:19:46.4369159+08:00;True|2023-12-29T15:13:11.2466536+08:00;True|2023-12-29T15:08:16.1413948+08:00;True|2023-12-29T11:54:24.8686181+08:00;True|2023-12-29T10:54:38.1200087+08:00;True|2023-12-29T10:43:44.2132588+08:00;True|2023-12-29T10:23:35.9589067+08:00;True|2023-12-29T10:21:38.3438976+08:00;True|2023-12-29T10:16:16.7097491+08:00;True|2023-12-29T09:53:37.8863387+08:00;True|2023-12-27T14:41:20.6098455+08:00;True|2023-12-27T14:15:27.0538444+08:00;True|2023-12-27T13:07:04.0423436+08:00;True|2023-12-27T11:13:53.7170363+08:00;True|2023-12-27T10:59:32.5371257+08:00;True|2023-12-27T10:48:01.7326864+08:00;True|2023-12-26T09:13:22.3086191+08:00;True|2023-12-26T09:12:47.2137946+08:00;True|2023-12-25T12:22:46.8608633+08:00;True|2023-12-25T12:18:59.4402254+08:00;True|2023-12-25T12:11:03.2410147+08:00;True|2023-12-25T09:37:48.6741194+08:00;True|2023-12-25T09:37:03.2635243+08:00;True|2023-12-22T09:44:26.5356492+08:00;True|2023-12-21T16:58:23.0505653+08:00;True|2023-12-21T16:51:26.4945132+08:00;True|2023-12-21T16:48:53.6772071+08:00;True|2023-12-21T16:23:16.4577315+08:00;True|2023-12-21T16:22:38.6599138+08:00;True|2023-12-21T16:11:43.8422015+08:00;True|2023-12-21T15:45:42.5751240+08:00;True|2023-12-15T16:26:52.3591879+08:00;True|2023-12-15T16:22:25.0756865+08:00;True|2023-12-15T14:19:10.1362534+08:00;True|2023-12-15T14:15:47.5585902+08:00;True|2023-12-15T13:41:56.8875380+08:00;True|2023-12-13T00:13:19.2052917+08:00;True|2023-12-12T23:45:04.0751980+08:00;True|2023-12-12T23:33:28.8199619+08:00;True|2023-12-11T16:31:01.1694979+08:00;True|2023-12-11T15:47:51.2813632+08:00;True|2023-12-11T14:31:49.0572919+08:00;True|2023-12-11T11:45:11.2736360+08:00;True|2023-12-11T11:42:47.5744097+08:00;True|2023-12-11T11:41:16.3262612+08:00;True|2023-12-11T11:32:42.2722966+08:00;True|2023-12-11T11:25:22.8877561+08:00;True|2023-12-11T11:18:20.8210764+08:00;True|2023-12-11T11:16:52.0927831+08:00;True|2023-12-11T11:12:29.9473078+08:00;True|2023-12-10T16:43:56.1726039+08:00;True|2023-12-08T16:50:00.8823437+08:00;True|2023-12-08T14:59:10.2356691+08:00;True|2023-12-08T14:53:13.6038106+08:00;True|2023-12-08T14:51:33.9002713+08:00;True|2023-12-08T14:49:22.0867686+08:00;True|2023-12-08T14:45:05.4216954+08:00;True|2023-12-08T14:30:25.7790911+08:00;True|2023-12-08T14:26:26.1041925+08:00;True|2023-12-08T10:55:36.7338237+08:00;True|2023-12-08T10:24:01.5463359+08:00;True|2023-12-08T10:04:35.7996746+08:00;True|2023-12-08T09:59:17.1279949+08:00;True|2023-12-08T09:52:45.7941909+08:00;True|2023-12-08T09:51:26.7251883+08:00;True|2023-12-08T09:27:43.4049328+08:00;True|2023-12-08T09:12:16.7029758+08:00;True|2023-12-07T11:13:10.4285460+08:00;True|2023-12-01T14:35:34.0005130+08:00;True|2023-12-01T13:21:46.3327168+08:00;True|2023-12-01T13:04:28.4801319+08:00;True|2023-11-30T16:46:41.8793520+08:00;True|2023-11-30T16:04:49.7131798+08:00;True|2023-11-30T15:51:12.9846550+08:00;True|2023-11-30T12:52:06.3440387+08:00;True|2023-11-28T11:20:26.3599705+08:00;True|2023-11-28T09:43:48.5733385+08:00;True|2023-11-27T12:13:11.3038226+08:00;True|2023-11-27T11:54:35.3665327+08:00;True|2023-11-24T13:10:19.3181494+08:00;True|2023-11-24T09:52:10.7335160+08:00;True|2023-11-24T09:31:32.3926443+08:00;True|2023-11-22T13:30:50.3888837+08:00;True|2023-11-22T13:22:29.5388053+08:00;True|2023-11-22T12:14:49.7935345+08:00;True|2023-11-22T11:28:30.8047701+08:00;True|2023-11-20T12:04:07.1512783+08:00;True|2023-11-20T11:58:16.7337435+08:00;True|2023-11-20T11:03:24.3231922+08:00;True|2023-11-20T10:59:12.6367033+08:00;True|2023-11-20T10:33:56.2434367+08:00;True|2023-11-17T15:05:08.6847106+08:00;True|2023-11-17T10:29:33.0225444+08:00;True|2023-11-16T14:21:42.1686146+08:00;True|2023-11-16T13:16:34.1913128+08:00;True|2023-11-16T12:57:16.2850606+08:00;True|2023-11-16T11:11:31.8430891+08:00;True|2023-11-16T10:20:42.1252046+08:00;True|2023-11-16T10:18:14.1408709+08:00;True|2023-11-16T09:23:36.6628173+08:00;True|2023-11-15T14:28:33.3369087+08:00;True|2023-11-15T12:26:26.2137336+08:00;True|2023-11-15T12:25:16.0092237+08:00;True|2023-11-15T11:14:45.4326153+08:00;True|2023-11-15T09:02:00.2711268+08:00;True|2023-11-15T08:53:27.1187290+08:00;True|2023-11-14T18:54:52.3812819+08:00;True|2023-11-14T18:52:20.2229451+08:00;True|2023-11-14T17:55:59.0996386+08:00;True|2023-11-14T17:04:46.5334994+08:00;True|2023-11-14T15:02:42.0419908+08:00;True|2023-11-14T14:56:49.6970449+08:00;True|2023-11-14T13:18:29.4329574+08:00;True|2023-11-14T12:23:09.7978978+08:00;True|2023-11-13T16:16:20.9105084+08:00;True|2023-11-13T16:11:45.1099698+08:00;True|2023-11-13T13:16:02.1477662+08:00;True|2023-11-13T13:15:15.6182523+08:00;True|2023-11-13T11:11:21.7620762+08:00;True|2023-11-13T10:01:31.2619079+08:00;True|2023-11-13T09:18:34.3054349+08:00;True|2023-11-13T00:48:47.6800494+08:00;True|2023-11-13T00:42:22.9854286+08:00;True|2023-11-10T16:59:57.9013482+08:00;True|2023-11-10T13:56:10.1520148+08:00;True|2023-11-10T12:25:28.8978413+08:00;True|2023-11-10T12:04:30.4991249+08:00;True|2023-11-10T11:55:52.1921552+08:00;True|2023-11-10T11:39:33.1910863+08:00;True|2023-11-10T11:17:17.2050570+08:00;True|2023-11-10T10:31:48.8350379+08:00;True|2023-11-09T13:11:02.1210376+08:00;True|2023-11-09T11:04:23.6279742+08:00;True|2023-11-09T09:52:39.0767165+08:00;True|2023-11-09T09:45:47.5629254+08:00;True|2023-11-09T09:41:09.1121998+08:00;True|2023-11-09T09:34:16.8133121+08:00;True|2023-11-08T16:33:38.3080500+08:00;True|2023-11-08T16:14:37.9282566+08:00;True|2023-11-08T15:31:46.8084522+08:00;True|2023-11-08T14:27:48.2352711+08:00;True|2023-11-08T12:23:56.5235127+08:00;True|2023-11-08T11:41:12.7035010+08:00;True|2023-11-08T11:38:42.5318310+08:00;True|2023-11-08T10:18:43.5798164+08:00;True|2023-11-08T09:06:35.6712939+08:00;True|2023-11-08T08:57:36.1174660+08:00;True|2023-11-08T00:07:44.2585670+08:00;True|2023-11-06T23:28:53.2559097+08:00;True|2023-11-06T23:00:40.3059201+08:00;True|2023-11-06T21:14:59.0505998+08:00;True|2023-11-03T22:08:06.7984691+08:00;True|2023-11-03T20:33:47.8005656+08:00;True|2023-11-03T19:18:45.1406730+08:00;True|2023-11-03T14:56:44.7332321+08:00;True|2023-11-02T20:13:15.5530300+08:00;True|2023-11-02T19:22:24.9140752+08:00;True|2023-11-02T18:58:18.1198017+08:00;True|2023-11-01T18:31:39.9490440+08:00;True|2023-11-01T14:49:43.8703361+08:00;True|2023-11-01T14:38:44.8729900+08:00;True|2023-11-01T14:14:57.6507597+08:00;True|2023-11-01T13:04:09.9744075+08:00;True|2023-10-31T13:03:41.1902847+08:00;True|2023-10-31T11:29:03.3252294+08:00;True|2023-10-30T18:35:01.5128678+08:00;True|2023-10-30T18:25:01.6612244+08:00;True|2023-10-26T17:07:56.7081658+08:00;True|2023-10-18T16:20:51.8420951+08:00;True|2023-10-16T16:44:43.7908528+08:00;True|2023-10-16T11:17:09.2728375+08:00;True|2023-10-16T10:28:07.3397339+08:00;True|2023-10-16T10:26:35.6073358+08:00;True|2023-10-16T10:21:48.9925797+08:00;True|2023-10-13T11:26:05.2730047+08:00;True|2023-10-12T08:19:04.3028512+08:00;True|2023-10-11T20:40:21.6934217+08:00;True|2023-10-11T20:28:04.3302789+08:00;True|2023-10-11T20:16:51.2741909+08:00;True|2023-10-11T20:10:01.4624158+08:00;True|2023-10-11T15:32:40.9782838+08:00;True|2023-10-11T15:21:09.0531801+08:00;True|2023-10-11T15:05:59.9622196+08:00;True|2023-10-11T10:51:46.8571661+08:00;True|2023-10-11T10:41:25.5037704+08:00;True|2023-10-11T10:13:32.2604453+08:00;True|2023-10-11T10:05:52.2170423+08:00;True|2023-10-11T09:47:35.6578975+08:00;True|2023-10-11T09:44:31.2001499+08:00;True|2023-10-11T09:37:09.6904898+08:00;True|2023-10-10T10:18:33.1073992+08:00;True|2023-10-10T09:32:05.6384867+08:00;True|2023-10-10T09:15:26.4844254+08:00;True|2023-10-10T09:03:39.1497247+08:00;True|2023-10-10T08:56:14.9475607+08:00;True|2023-10-09T15:38:52.6561232+08:00;True|2023-10-09T14:22:16.0301342+08:00;True|2023-10-09T13:24:40.4941388+08:00;True|2023-10-09T10:30:48.0015664+08:00;True|2023-10-09T09:52:47.4626658+08:00;True|2023-10-08T14:21:13.7960780+08:00;True|2023-10-08T10:31:55.0337899+08:00;True|2023-10-08T08:24:13.2663041+08:00;True|2023-10-07T10:40:04.1716715+08:00;True|2023-10-07T09:51:11.1928375+08:00;True|2023-10-07T09:43:13.8042516+08:00;True|2023-09-28T15:45:01.2865878+08:00;True|2023-09-28T15:32:23.8179822+08:00;True|2023-09-28T14:37:03.1119806+08:00;True|2023-09-28T14:30:07.0877531+08:00;True|2023-09-28T14:01:36.5862373+08:00;True|2023-09-28T08:29:16.5989163+08:00;True|2023-09-28T08:12:23.3924898+08:00;True|2023-09-27T17:04:09.2538198+08:00;True|2023-09-27T16:38:03.8237948+08:00;True|2023-09-27T16:12:28.7977056+08:00;True|2023-09-27T15:56:03.7725704+08:00;True|2023-09-27T15:12:31.1298921+08:00;True|2023-09-27T15:05:14.4058045+08:00;True|2023-09-27T14:55:43.4423114+08:00;True|2023-09-27T14:33:26.2272014+08:00;True|2023-09-22T13:26:44.6246077+08:00;True|2023-09-22T11:14:50.9067626+08:00;True|2023-09-22T09:36:50.6912928+08:00;True|2023-09-22T09:26:38.2305802+08:00;True|2023-09-22T09:02:22.5400635+08:00;True|2023-09-20T17:20:27.9780370+08:00;True|2023-09-19T09:20:00.1269897+08:00;True|2023-09-19T09:10:18.4900723+08:00;True|2023-09-19T08:30:20.1709390+08:00;True|2023-09-18T15:43:28.1580264+08:00;True|2023-09-15T10:08:50.6367258+08:00;True|2023-09-14T17:17:10.7002185+08:00;True|2023-09-14T16:55:47.7782477+08:00;True|2023-09-14T14:05:25.9485449+08:00;False|2023-09-14T14:04:51.9423918+08:00;True|2023-09-12T09:37:17.5430590+08:00;True|2023-09-11T16:38:00.9834961+08:00;True|2023-09-11T13:04:08.1338596+08:00;True|2023-09-11T09:33:03.5400174+08:00;True|2023-09-08T15:34:46.6427039+08:00;True|2023-09-08T15:32:26.7896155+08:00;True|2023-09-08T14:07:16.6283055+08:00;True|2023-09-08T08:21:08.8368055+08:00;True|2023-09-08T08:07:29.5992984+08:00;True|2023-09-07T13:03:24.6924914+08:00;True|2023-09-07T11:02:02.9462467+08:00;True|2023-09-07T08:57:36.4913496+08:00;True|2023-09-07T08:55:57.3245545+08:00;True|2023-09-06T13:47:04.0563026+08:00;True|2023-09-06T13:42:27.3031938+08:00;True|2023-09-05T08:28:44.6193871+08:00;True|2023-09-04T20:42:09.4672710+08:00;True|2023-09-03T14:06:37.5079909+08:00;True|2023-09-02T18:58:24.1492192+08:00;True|2023-09-01T13:19:28.2779978+08:00;True|2023-09-01T08:40:54.0577358+08:00;True|2023-08-31T16:47:34.8462721+08:00;True|2023-08-31T14:49:39.9056564+08:00;True|2023-08-31T14:20:01.4071384+08:00;True|2023-08-31T11:25:29.0233052+08:00;True|2023-08-31T10:28:13.4933678+08:00;True|2023-08-31T10:21:52.6638820+08:00;True|2023-08-31T08:46:57.8782261+08:00;True|2023-08-31T08:46:08.4791004+08:00;True|2023-08-30T09:06:17.4001684+08:00;True|2023-08-30T08:52:06.9481657+08:00;True|2023-08-29T17:11:33.7851914+08:00;True|2023-08-29T16:58:52.7298807+08:00;True|2023-08-29T15:58:23.4205277+08:00;True|2023-08-29T15:56:40.3534593+08:00;True|2023-08-29T15:54:29.1188567+08:00;True|2023-08-29T15:53:27.9719983+08:00;True|2023-08-29T15:52:38.7670005+08:00;True|2023-08-29T15:51:32.3703092+08:00;True|2023-08-29T15:47:38.5198946+08:00;True|2023-08-29T15:46:17.4698017+08:00;True|2023-08-29T15:42:04.1853400+08:00;True|2023-08-29T15:29:28.1098681+08:00;True|2023-08-29T15:18:40.8587286+08:00;True|2023-08-29T14:47:50.3088948+08:00;True|2023-08-29T14:47:27.6552611+08:00;False|2023-08-28T13:59:37.8725670+08:00;True|2023-08-18T13:23:38.9937084+08:00;True|2023-08-18T10:09:51.5247737+08:00;True|2023-08-18T08:26:21.8473123+08:00;True|2023-08-17T08:31:37.8696349+08:00;True|2023-08-17T08:23:59.5658185+08:00;True|2023-08-17T08:07:38.2174684+08:00;True|2023-08-16T16:49:44.2549852+08:00;True|2023-08-16T16:33:59.9298792+08:00;True|2023-08-16T15:35:29.6092783+08:00;True|2023-08-16T11:17:28.1086751+08:00;True|2023-08-16T11:17:22.3814672+08:00;True|2023-08-16T08:44:16.0941179+08:00;True|2023-08-15T15:29:15.8118269+08:00;True|2023-08-15T14:47:06.4963591+08:00;True|2023-08-11T16:49:35.8718314+08:00;True|2023-08-11T14:22:59.9440967+08:00;True|2023-08-11T14:16:25.0940743+08:00;True|2023-08-11T13:27:25.4148450+08:00;True|2023-08-11T09:08:31.5437265+08:00;True|2023-08-11T09:04:38.4540336+08:00;True|2023-08-10T14:11:07.0042283+08:00;True|2023-08-08T13:48:19.2402267+08:00;True|2023-08-08T13:44:15.6796969+08:00;True|2023-07-27T09:46:14.1491814+08:00;True|2023-07-21T11:13:10.0843656+08:00;True|2023-07-21T10:56:47.5835580+08:00;True|2023-07-21T10:30:33.0113443+08:00;True|2023-07-20T19:16:37.4936135+08:00;True|2023-07-20T19:00:41.0636578+08:00;True|2023-07-19T13:28:27.8671371+08:00;True|2023-07-19T13:23:42.1880500+08:00;True|2023-07-19T13:19:18.7201227+08:00;True|2023-07-19T13:06:38.9897249+08:00;True|2023-07-19T12:13:11.2061059+08:00;True|2023-07-19T11:45:20.0391356+08:00;True|2023-07-19T11:24:02.5425841+08:00;True|2023-07-19T10:32:06.7915754+08:00;True|2023-07-19T09:51:08.4553434+08:00;True|2023-07-19T09:48:11.2977426+08:00;True|2023-07-18T08:47:44.1724897+08:00;True|2023-07-17T16:25:10.8982872+08:00;True|2023-07-17T14:50:44.3708198+08:00;True|2023-07-17T14:20:26.4686898+08:00;True|2023-07-17T14:18:16.6127136+08:00;True|2023-07-17T14:16:34.9116950+08:00;True|2023-07-17T14:14:44.7988846+08:00;True|2023-07-17T14:06:18.1123806+08:00;True|2023-07-17T14:03:38.5290433+08:00;True|2023-07-17T13:48:54.3096778+08:00;True|2023-07-17T13:23:13.6097762+08:00;True|2023-07-17T09:54:25.9375716+08:00;True|2023-07-17T09:40:22.2531559+08:00;True|2023-07-17T09:21:15.0786649+08:00;True|2023-07-17T09:03:37.2081513+08:00;True|2023-07-16T21:20:45.3036514+08:00;True|2023-07-16T21:09:16.1559694+08:00;True|2023-07-16T21:05:22.2504644+08:00;True|2023-07-16T20:41:26.5956030+08:00;True|2023-07-16T20:19:33.5726613+08:00;True|2023-07-16T19:46:38.6493518+08:00;True|2023-07-14T10:33:17.6270692+08:00;True|2023-07-11T14:34:22.8852169+08:00;True|2023-07-11T14:27:22.7851108+08:00;True|2023-07-11T14:13:21.6512172+08:00;True|2023-07-11T14:06:33.9865646+08:00;True|2023-07-11T13:52:46.2830836+08:00;True|2023-07-11T13:38:56.3165889+08:00;True|2023-07-11T13:29:40.9636697+08:00;True|2023-07-11T13:25:23.0633788+08:00;True|2023-07-11T10:17:40.8002359+08:00;True|2023-07-11T10:15:47.5472709+08:00;True|2023-07-11T10:12:25.6440547+08:00;True|2023-07-11T10:07:39.3716167+08:00;True|2023-07-11T09:22:07.4191357+08:00;True|2023-07-04T13:07:10.1209516+08:00;True|2023-06-30T16:11:25.7541580+08:00;True|2023-06-30T15:39:26.6678989+08:00;True|2023-06-30T15:26:40.6581344+08:00;True|2023-06-30T15:12:57.9906312+08:00;True|2023-06-29T16:39:15.6477820+08:00;True|2023-06-28T17:01:51.9542466+08:00;True|2023-06-27T15:03:28.1320450+08:00;True|2023-06-27T13:36:39.6707848+08:00;True|2023-06-26T09:40:01.1754706+08:00;True|2023-06-25T12:16:28.9080024+08:00;True|2023-06-25T11:51:59.9238461+08:00;True|2023-06-25T11:50:29.3100358+08:00;True|2023-06-25T11:29:28.5338563+08:00;True|2023-06-25T09:10:26.2420288+08:00;True|2023-06-25T09:08:15.0702872+08:00;True|2023-06-25T08:43:15.0806611+08:00;True|2023-06-25T08:41:41.8156616+08:00;True|2023-06-25T08:39:30.6818013+08:00;True|2023-06-25T08:38:18.5996529+08:00;True|2023-06-25T08:36:34.1479706+08:00;True|2023-06-25T08:34:53.9856289+08:00;True|2023-06-25T08:31:24.0298080+08:00;True|2023-06-25T08:15:45.7453280+08:00;True|2023-06-25T08:01:52.7609075+08:00;True|2023-06-24T21:25:23.8938665+08:00;True|2023-06-22T03:02:26.7305758+08:00;True|2023-06-22T02:10:48.8222890+08:00;True|2023-06-22T01:57:41.7875184+08:00;True|2023-06-22T01:52:19.4217362+08:00;True|2023-06-21T16:27:15.1464129+08:00;True|2023-06-21T16:11:46.6111817+08:00;True|2023-06-21T13:14:00.6869253+08:00;True|2023-06-21T13:09:28.2689225+08:00;True|2023-06-21T12:24:02.6762426+08:00;True|2023-06-21T12:18:06.2748924+08:00;True|2023-06-21T11:18:02.6754143+08:00;True|2023-06-21T11:08:34.2149469+08:00;True|2023-06-21T08:20:50.0079906+08:00;True|2023-06-20T15:56:03.2638713+08:00;True|2023-06-20T15:48:38.2419545+08:00;True|2023-06-20T15:35:26.6615171+08:00;True|2023-06-20T15:20:31.9284860+08:00;True|2023-06-20T15:18:39.8265469+08:00;True|2023-06-20T15:09:16.7617272+08:00;True|2023-06-20T09:53:23.2658672+08:00;True|2023-06-16T10:00:58.0337616+08:00;True|2023-06-16T09:47:58.8912904+08:00;True|2023-06-16T09:26:36.4914832+08:00;True|2023-06-15T16:22:21.4509393+08:00;True|2023-06-12T13:21:12.0491357+08:00;True|2023-06-12T10:18:32.9287587+08:00;True|2023-06-09T16:22:24.1132267+08:00;True|2023-06-08T18:12:42.4814009+08:00;True|2023-06-08T11:08:48.0533571+08:00;True|2023-06-08T10:41:43.0121701+08:00;False|2023-06-08T10:40:19.2093235+08:00;True|2023-06-06T13:03:50.8124200+08:00;True|2023-06-05T10:12:24.1858209+08:00;True|2023-06-02T17:02:57.5817094+08:00;True|2023-05-26T13:54:40.2272218+08:00;True|2023-05-24T12:43:50.2427994+08:00;True|2023-05-24T12:34:24.3922836+08:00;True|2023-05-24T10:07:19.4995219+08:00;True|2023-05-24T09:21:29.1960080+08:00;True|2023-05-23T22:34:23.3220912+08:00;True|2023-05-23T22:01:14.4175449+08:00;True|2023-05-23T17:02:53.0308400+08:00;True|2023-05-23T16:30:11.7138623+08:00;True|2023-05-23T15:51:50.0152484+08:00;True|2023-05-23T15:50:52.0657433+08:00;True|2023-05-23T15:28:25.5802377+08:00;True|2023-05-23T15:25:56.4633020+08:00;True|2023-05-23T14:52:29.8759921+08:00;True|2023-05-23T14:48:44.6519763+08:00;True|2023-05-20T04:28:10.3108871+08:00;True|2023-05-20T03:56:22.7233820+08:00;True|2023-05-20T03:47:38.4405026+08:00;True|2023-05-20T03:46:40.6056451+08:00;True|2023-05-20T03:44:25.0883888+08:00;True|2023-05-20T03:41:10.1148691+08:00;True|2023-05-20T02:34:14.3757035+08:00;True|2023-05-20T02:27:50.5595075+08:00;True|2023-05-20T02:23:04.2256041+08:00;True|2023-05-20T01:46:59.9534021+08:00;True|2023-05-20T01:42:33.5106065+08:00;True|2023-05-20T01:40:39.6918060+08:00;True|2023-05-20T01:11:47.7436847+08:00;True|2023-05-20T01:03:58.9476094+08:00;True|2023-05-19T22:59:47.4591129+08:00;True|2023-05-19T22:34:44.7988447+08:00;True|2023-05-19T22:24:55.2320279+08:00;True|2023-05-19T21:40:19.5285575+08:00;True|2023-05-19T21:38:21.2073338+08:00;True|2023-05-19T20:54:59.2058809+08:00;True|2023-05-19T16:08:15.0151080+08:00;True|2023-05-19T15:26:16.2836301+08:00;True|2023-05-19T13:09:06.1592914+08:00;True|2023-05-19T12:24:23.6252771+08:00;True|2023-05-19T11:50:53.8948740+08:00;True|2023-05-19T11:43:57.9296933+08:00;True|2023-05-19T10:44:34.9904463+08:00;True|2023-05-19T09:32:02.1216663+08:00;False|2023-05-19T09:31:06.4251757+08:00;True|2023-05-18T22:34:36.5292968+08:00;True|2023-05-18T20:37:59.7940567+08:00;True|2023-05-18T20:36:35.2790349+08:00;True|2023-05-18T20:34:10.7400457+08:00;True|2023-05-18T20:32:43.8790879+08:00;True|2023-05-18T20:31:13.5389643+08:00;True|2023-05-18T20:29:19.6206139+08:00;True|2023-05-18T20:07:25.5074263+08:00;True|2023-05-18T18:19:43.5324315+08:00;True|2023-05-18T18:15:36.4290026+08:00;True|2023-05-18T18:12:31.8703551+08:00;True|2023-05-18T18:10:52.9289531+08:00;True|2023-05-18T18:09:23.9118797+08:00;True|2023-05-18T17:58:30.8068228+08:00;True|2023-05-18T17:56:55.8055382+08:00;False|2023-05-18T17:54:54.7950789+08:00;False|2023-05-18T17:11:18.2325105+08:00;True|2023-05-18T17:09:24.4186482+08:00;True|2023-05-18T17:06:32.0699130+08:00;False|2023-05-18T17:01:41.8164925+08:00;False|2023-05-18T16:59:32.1112741+08:00;True|2023-05-18T16:58:34.1784100+08:00;True|2023-05-18T16:56:36.9460541+08:00;True|2023-05-18T16:55:00.9843495+08:00;True|2023-05-18T16:49:04.0161640+08:00;True|2023-05-18T16:48:28.9011382+08:00;True|2023-05-18T16:44:52.0675900+08:00;False|2023-05-18T16:44:37.3514214+08:00;False|2023-05-18T16:43:23.3343369+08:00;True|2023-05-18T16:41:35.8818611+08:00;True|2023-05-18T16:25:43.5167900+08:00;False|2023-05-18T16:24:46.6646890+08:00;False|2023-05-18T16:19:55.4153618+08:00;False|2023-05-18T16:16:18.0052881+08:00;False|2023-05-18T16:14:32.3377278+08:00;True|2023-05-17T15:43:45.1868569+08:00;True|2023-05-17T15:35:42.2476880+08:00;True|2023-05-17T14:23:28.2390957+08:00;True|2023-05-17T13:54:00.6756387+08:00;True|2023-05-17T13:45:46.1115068+08:00;True|2023-05-17T07:57:34.7129429+08:00;True|2023-05-16T16:04:20.3198005+08:00;False|2023-05-16T16:03:52.0737233+08:00;True|2023-05-16T15:28:45.4945726+08:00;True|2023-05-16T15:14:10.4952128+08:00;True|2023-05-16T15:04:46.5706346+08:00;True|2023-05-16T14:46:48.7034492+08:00;True|2023-05-16T14:45:29.4047499+08:00;True|2023-05-16T14:42:47.3507679+08:00;True|2023-05-16T14:30:47.9199224+08:00;True|2023-05-16T14:29:10.9147184+08:00;True|2023-05-16T14:27:48.3632687+08:00;True|2023-05-16T14:24:44.6240034+08:00;True|2023-05-16T14:19:41.2962188+08:00;True|2023-05-16T13:41:13.3366211+08:00;True|2023-05-16T13:26:44.1532655+08:00;True|2023-05-16T13:23:40.2882422+08:00;True|2023-05-16T13:11:41.5416792+08:00;True|2023-05-16T13:08:41.6341863+08:00;True|2023-05-16T13:04:35.6916867+08:00;True|2023-05-16T13:00:34.6889598+08:00;True|2023-05-16T12:57:48.4561274+08:00;True|2023-05-16T12:50:57.7405833+08:00;True|2023-05-16T12:49:33.8394829+08:00;True|2023-05-16T12:44:28.6906226+08:00;True|2023-05-16T12:41:08.3554032+08:00;True|2023-05-16T12:32:32.3448036+08:00;True|2023-05-16T11:32:04.4504376+08:00;True|2023-05-15T18:39:28.9172042+08:00;True|2023-05-15T18:35:41.5268755+08:00;True|2023-05-15T18:16:16.2900985+08:00;True|2023-04-28T16:24:40.7430596+08:00;False|2023-04-28T16:21:34.8499384+08:00;True|2023-04-28T15:43:40.3023318+08:00;True|2023-04-28T15:41:18.8228620+08:00;True|2023-04-28T14:16:21.1595325+08:00;True|2023-04-28T10:27:55.2150739+08:00;True|2023-04-12T16:25:26.5218825+08:00;True|2023-04-12T15:45:29.3993255+08:00;True|2023-04-12T14:00:18.1960878+08:00;True|2023-04-12T13:16:39.0804178+08:00;True|2023-04-11T11:02:27.5200402+08:00;True|2023-04-11T09:57:11.5903829+08:00;True|2023-04-10T09:58:01.1775220+08:00;True|2023-03-13T11:19:32.0927720+08:00;True|2023-03-13T10:39:50.9250037+08:00;True|2023-03-13T08:54:57.5891390+08:00;True|2023-03-10T09:00:31.2441735+08:00;True|2023-03-08T08:25:11.1877416+08:00;True|2023-03-06T09:18:03.5502956+08:00;True|2023-03-06T09:14:57.8192971+08:00;True|2023-01-11T13:30:27.8190489+08:00;True|2023-01-06T14:29:14.6067256+08:00;True|2022-12-23T17:06:52.0688439+08:00;True|2022-12-23T16:12:04.4155951+08:00;True|2022-12-23T13:35:44.6439326+08:00;True|2022-11-30T08:24:02.9999976+08:00;True|2022-11-30T08:01:51.4579972+08:00;True|2022-11-29T21:32:14.4359673+08:00;True|2022-11-29T19:30:22.9466023+08:00;True|2022-11-29T19:24:30.1630119+08:00;True|2022-11-29T17:31:43.1926801+08:00;True|2022-11-29T17:14:32.5869985+08:00;True|2022-11-29T10:42:57.1877576+08:00;True|2022-11-27T14:40:28.4784748+08:00;True|2022-11-26T20:49:34.2789400+08:00;True|2022-11-26T19:24:58.9988205+08:00;True|2022-11-26T15:33:08.6274944+08:00;True|2022-11-26T14:37:46.3953592+08:00;True|2022-11-26T09:16:41.7487240+08:00;True|2022-11-24T09:49:50.7302637+08:00;True|2022-11-23T16:24:56.5946914+08:00;True|2022-11-23T16:19:57.5570583+08:00;True|2022-11-23T15:05:13.8032246+08:00;True|2022-11-22T20:24:39.7324815+08:00;True|2022-11-22T13:18:16.2143925+08:00;False|2022-11-22T13:12:53.0448580+08:00;True|2022-11-22T11:03:01.7571733+08:00;True|2022-11-21T13:20:11.1961237+08:00;True|2022-11-21T13:13:52.0360749+08:00;True|2022-11-18T15:48:13.0747365+08:00;True|2022-11-18T14:15:54.5626901+08:00;True|2022-11-17T18:41:26.5464503+08:00;True|2022-11-15T13:55:35.3496366+08:00;True|2022-11-15T11:03:23.6773297+08:00;True|2022-11-15T10:58:47.9703720+08:00;True|2022-11-15T10:12:27.8305782+08:00;True|2022-11-15T09:47:26.7480777+08:00;True|2022-11-15T08:55:44.0275263+08:00;True|2022-11-15T08:54:06.6396851+08:00;True|2022-11-15T08:44:18.2013404+08:00;True|2022-11-15T01:16:19.8154538+08:00;True|2022-11-15T01:15:03.7846810+08:00;True|2022-11-15T01:01:11.0318599+08:00;True|2022-11-15T00:30:33.7148460+08:00;True|2022-11-15T00:15:26.5178283+08:00;True|2022-11-14T23:54:32.6128172+08:00;True|2022-11-14T23:26:52.0335380+08:00;True|2022-11-14T22:21:28.0622050+08:00;True|2022-11-14T21:47:43.6964619+08:00;True|2022-11-14T21:41:42.3128804+08:00;True|2022-11-14T21:31:17.2784203+08:00;True|2022-11-14T20:48:20.0380343+08:00;True|2022-11-11T17:24:44.7029993+08:00;True|2022-11-11T16:47:29.3444029+08:00;True|2022-11-11T16:07:26.4718473+08:00;True|2022-11-11T15:52:41.7235701+08:00;True|2022-11-10T15:58:10.8883176+08:00;True|2022-11-10T15:29:59.3113740+08:00;True|2022-11-10T13:34:14.7380132+08:00;True|2022-11-10T10:28:02.1166569+08:00;True|2022-11-09T23:28:25.6401971+08:00;True|2022-11-09T16:20:53.2757536+08:00;True|2022-11-09T16:16:41.3169214+08:00;True|2022-11-09T14:02:55.1802832+08:00;True|2022-11-09T13:57:55.2726154+08:00;True|2022-11-09T13:28:53.2022669+08:00;True|2022-11-09T13:10:58.0740163+08:00;True|2022-11-09T12:59:42.2328933+08:00;True|2022-11-09T11:54:08.0187924+08:00;True|2022-11-09T11:49:32.4296758+08:00;True|2022-11-09T11:34:32.6613370+08:00;True|2022-11-09T11:06:56.9443306+08:00;True|2022-11-06T23:43:44.0833657+08:00;True|2022-11-06T23:29:52.0088244+08:00;True|2022-11-06T22:06:14.7091464+08:00;True|2022-11-06T22:03:25.2696951+08:00;True|2022-11-06T21:58:50.1055520+08:00;True|2022-11-06T21:54:14.0075395+08:00;True|2022-11-06T21:39:30.2652105+08:00;True|2022-11-04T15:54:37.9813194+08:00;True|2022-11-04T15:43:59.7702621+08:00;True|2022-11-04T13:59:29.3941234+08:00;True|2022-11-04T13:44:18.1212719+08:00;True|2022-11-04T13:42:06.1010393+08:00;True|2022-11-04T13:37:01.7814703+08:00;True|2022-11-04T13:35:43.1121709+08:00;True|2022-11-04T13:33:05.1362535+08:00;True|2022-11-04T13:30:11.1113703+08:00;True|2022-11-04T13:28:53.7185382+08:00;True|2022-11-04T13:27:08.0691684+08:00;True|2022-11-04T13:20:46.2297633+08:00;True|2022-11-04T13:17:57.1564250+08:00;True|2022-11-04T13:15:36.3651019+08:00;True|2022-11-04T13:13:44.6635701+08:00;True|2022-11-04T13:12:02.3968306+08:00;True|2022-11-04T13:08:07.7653927+08:00;True|2022-11-04T11:37:44.1975649+08:00;True|2022-11-04T11:36:20.3813848+08:00;True|2022-11-04T11:26:40.9713465+08:00;True|2022-11-04T10:17:36.4269558+08:00;True|2022-11-04T09:47:05.4607111+08:00;True|2022-11-04T09:28:27.9347785+08:00;True|2022-11-04T08:38:38.5253737+08:00;True|2022-11-03T13:31:32.7883545+08:00;False|2022-11-03T13:27:07.8579021+08:00;True|2022-11-03T11:07:07.3903101+08:00;True|2022-11-03T10:54:26.7818816+08:00;True|2022-11-03T10:35:59.1956262+08:00;True|2022-11-03T10:30:07.0651285+08:00;True|2022-11-03T10:01:20.8467911+08:00;True|2022-08-22T11:13:33.9211829+08:00;True|2022-06-17T11:19:24.4893458+08:00;True|2022-06-07T14:44:51.5702202+08:00;True|2022-06-07T14:42:44.8351600+08:00;True|2022-05-17T14:19:55.1158182+08:00;True|2022-05-17T13:25:44.2886247+08:00;True|2022-05-17T10:29:26.6813564+08:00;True|2022-05-17T09:02:49.1742018+08:00;True|2022-05-06T15:13:12.2438900+08:00;True|2022-05-06T14:49:39.8536594+08:00;True|2022-04-22T17:07:44.8823529+08:00;True|2022-04-19T19:13:40.8312746+08:00;True|2022-04-19T15:40:16.0022040+08:00;True|2022-04-19T15:13:32.9767736+08:00;False|2022-04-19T15:08:33.6507639+08:00;True|2022-04-19T15:02:51.9580210+08:00;True|2022-04-19T13:54:18.7579131+08:00;True|2022-04-12T10:36:02.1779173+08:00;True|2022-04-12T10:05:31.0222037+08:00;True|2022-04-12T09:47:49.3724819+08:00;True|2022-04-09T15:08:54.5697468+08:00;True|2022-04-08T17:31:31.0046258+08:00;True|2022-04-08T16:50:41.3018422+08:00;True|2022-04-08T10:35:36.5029980+08:00;True|2022-03-31T09:38:37.3646053+08:00;True|2022-03-29T13:57:45.4410942+08:00;True|2022-03-10T18:59:23.7994337+08:00;True|2022-03-10T18:52:39.5019082+08:00;True|2022-03-10T18:51:12.7949284+08:00;True|2022-03-10T18:50:47.2024177+08:00;True|2022-03-10T18:45:08.8409380+08:00;True|2022-03-10T18:41:17.0102564+08:00;True|2022-03-10T18:35:49.0742353+08:00;True|2022-03-10T17:57:47.4196965+08:00;True|2022-03-10T17:34:27.5723245+08:00;True|2022-03-10T16:13:59.3829164+08:00;True|2022-03-09T14:50:49.1222033+08:00;True|2022-03-09T11:21:03.0073651+08:00;False|2022-03-09T11:16:56.1792896+08:00;False|2022-03-09T11:16:49.7923320+08:00;True|2022-03-08T15:47:47.4722336+08:00;True|2022-03-08T15:47:28.5397115+08:00;True|2022-03-08T15:37:08.7379870+08:00;True|2022-03-02T17:37:54.4659976+08:00;True|2022-03-02T17:34:12.2949726+08:00;True|2022-03-02T17:26:38.7070673+08:00;True|2022-03-02T17:07:49.7024316+08:00;True|2022-03-02T17:05:22.4177336+08:00;True|2022-03-02T16:14:57.9880587+08:00;True|2022-03-01T17:52:52.6766959+08:00;True|2022-02-28T14:36:22.6449303+08:00;True|2022-02-24T15:43:36.8244163+08:00;True|2022-02-23T17:57:14.3693224+08:00;True|2022-02-23T17:46:42.1078183+08:00;False|2022-02-23T17:41:06.5886724+08:00;True|2022-02-23T16:59:45.5533581+08:00;True|2022-02-23T16:57:43.3328895+08:00;True|2022-02-21T09:09:37.2601134+08:00;True|2022-02-21T09:03:32.4071009+08:00;True|2022-02-21T08:59:59.0172082+08:00;True|2022-02-18T14:05:39.1358825+08:00;True|2022-02-18T10:23:02.4391239+08:00;True|2022-02-18T10:21:31.0559267+08:00;True|2022-02-17T16:50:11.7192509+08:00;True|2022-02-17T13:19:13.7697894+08:00;True|2022-02-11T10:36:12.7757100+08:00;True|2022-02-10T10:54:25.2685040+08:00;True|2022-02-10T10:37:02.1034768+08:00;True|2022-02-09T17:32:45.6511283+08:00;True|2022-02-09T17:24:32.5115193+08:00;True|2022-02-09T17:00:24.0662114+08:00;True|2022-02-09T16:56:42.3364622+08:00;True|2022-02-09T14:17:25.8688855+08:00;True|2022-02-09T14:11:51.6149822+08:00;True|2022-02-07T23:29:26.2842648+08:00;True|2022-02-07T23:28:58.8242274+08:00;False|2022-02-07T23:25:29.0647793+08:00;True|2022-02-07T13:06:37.5515985+08:00;True|2022-02-07T12:42:19.5220491+08:00;True|2022-02-07T09:52:59.6728595+08:00;True|2022-02-01T11:32:10.5831557+08:00;True|2022-01-29T14:09:02.9178986+08:00;True|2022-01-28T12:01:45.1416438+08:00;True|2022-01-28T11:03:41.6361866+08:00;True|2022-01-28T10:44:53.5367862+08:00;True|2022-01-28T10:40:41.6697563+08:00;True|2022-01-28T10:25:56.7093616+08:00;True|2022-01-28T09:58:13.0733060+08:00;True|2022-01-27T09:26:29.6568807+08:00;True|2022-01-27T00:47:57.9102528+08:00;True|2022-01-27T00:46:52.8845001+08:00;True|2022-01-27T00:36:34.5330938+08:00;True|2022-01-27T00:35:19.5439329+08:00;True|2022-01-27T00:33:38.5701950+08:00;True|2022-01-27T00:32:00.9028982+08:00;True|2022-01-27T00:30:13.2390921+08:00;True|2022-01-27T00:28:23.2989144+08:00;True|2022-01-27T00:16:01.3789455+08:00;True|2022-01-27T00:09:58.8112352+08:00;True|2022-01-27T00:00:40.8353538+08:00;True|2022-01-26T23:37:50.9494735+08:00;True|2022-01-26T23:29:39.8647473+08:00;True|2022-01-26T23:20:49.3274392+08:00;True|2022-01-26T23:15:53.7037293+08:00;True|2022-01-26T23:06:28.8595953+08:00;True|2022-01-26T23:02:12.9882299+08:00;True|2022-01-26T22:55:33.2535730+08:00;True|2022-01-26T22:51:01.8427947+08:00;True|2022-01-26T22:47:44.0715387+08:00;True|2022-01-26T22:20:21.7217039+08:00;True|2022-01-26T22:13:39.5372069+08:00;True|2022-01-26T22:01:31.2113177+08:00;True|2022-01-26T21:55:26.5478921+08:00;True|2022-01-26T21:50:18.2700369+08:00;True|2022-01-26T21:48:52.0020233+08:00;True|2022-01-26T19:19:29.4530523+08:00;True|2022-01-26T19:07:21.6474231+08:00;True|2022-01-26T18:25:42.2933291+08:00;True|2022-01-26T12:39:02.0149050+08:00;True|2022-01-26T12:13:43.9149452+08:00;True|2022-01-26T11:24:33.5742248+08:00;True|2022-01-26T08:51:10.8105076+08:00;True|2022-01-25T21:07:32.9069261+08:00;True|2022-01-24T01:35:12.3309466+08:00;True|2022-01-23T23:19:15.9702821+08:00;True|2022-01-23T21:50:41.6903353+08:00;True|2022-01-23T21:25:57.6084267+08:00;True|2022-01-23T21:16:10.1516535+08:00;True|2022-01-23T20:52:08.3745284+08:00;True|2022-01-23T18:19:32.2386502+08:00;True|2022-01-23T18:11:42.0830325+08:00;True|2022-01-23T18:00:01.3239547+08:00;True|2022-01-23T12:18:48.2466943+08:00;True|2022-01-22T00:48:50.4531647+08:00;True|2022-01-21T13:10:32.8173598+08:00;True|2022-01-21T13:04:01.6388059+08:00;True|2022-01-21T12:51:40.5304103+08:00;True|2022-01-21T12:44:06.3059885+08:00;True|2022-01-21T12:34:33.9314010+08:00;True|2022-01-21T11:39:20.1088577+08:00;True|2022-01-20T11:33:49.0516846+08:00;True|2022-01-20T10:02:12.0295471+08:00;True|2022-01-20T10:02:03.3535503+08:00;True|2022-01-19T23:56:18.7293193+08:00;True|2022-01-19T22:30:14.6986228+08:00;True|2022-01-19T22:15:08.8608795+08:00;True|2022-01-19T21:57:55.2295030+08:00;True|2022-01-19T13:50:37.8588759+08:00;True|2022-01-19T13:42:52.9761531+08:00;True|2022-01-19T00:26:36.9722917+08:00;True|2022-01-19T00:15:30.8583143+08:00;True|2022-01-18T21:19:30.6193048+08:00;True|2022-01-18T21:12:07.1453825+08:00;True|2022-01-18T20:35:27.3779956+08:00;True|2022-01-18T17:44:45.2318570+08:00;True|2022-01-18T14:45:29.0299640+08:00;True|2022-01-17T22:23:20.8214203+08:00;True|2022-01-17T21:49:15.7740045+08:00;True|2022-01-17T21:47:24.6997598+08:00;True|2022-01-17T21:44:00.1942787+08:00;True|2022-01-17T21:43:15.5992687+08:00;True|2022-01-17T21:33:16.8034756+08:00;True|2022-01-17T21:25:39.9909343+08:00;True|2022-01-17T21:13:03.9659338+08:00;True|2022-01-17T20:32:14.8869091+08:00;True|2022-01-17T19:01:46.5753686+08:00;True|2022-01-17T18:31:24.1032169+08:00;True|2022-01-17T18:21:39.2918684+08:00;True|2022-01-17T18:12:07.4859038+08:00;True|2022-01-17T18:09:26.6989718+08:00;True|2022-01-17T18:04:36.7564997+08:00;True|2022-01-17T17:57:44.7814863+08:00;True|2022-01-17T17:51:50.1516107+08:00;True|2022-01-17T17:39:29.2918799+08:00;True|2022-01-17T14:55:21.5859341+08:00;True|2022-01-17T14:38:06.5091500+08:00;True|2022-01-17T14:30:25.5378436+08:00;True|2022-01-16T19:15:24.5874858+08:00;True|2022-01-16T19:07:49.0613424+08:00;True|2022-01-16T16:10:47.3112741+08:00;False|2022-01-14T19:09:41.9296709+08:00;False|2022-01-14T18:56:11.0569808+08:00;False|2022-01-14T18:28:20.1376762+08:00;False|2022-01-14T18:27:30.8678130+08:00;False|2022-01-14T18:22:45.4436504+08:00;False|2022-01-14T18:19:37.0374753+08:00;False|2022-01-14T18:18:48.5868254+08:00;False|2022-01-14T18:14:02.5810257+08:00;False|2022-01-14T18:09:51.1730754+08:00;False|2022-01-14T18:09:17.8940754+08:00;True|2022-01-13T20:08:16.2937608+08:00;True|2022-01-13T20:07:30.1505466+08:00;True|2022-01-13T13:39:42.0146294+08:00;True|2022-01-13T13:38:07.5062471+08:00;True|2022-01-13T11:29:49.3751232+08:00;True|2022-01-13T11:05:43.9574142+08:00;True|2022-01-13T10:33:23.1921058+08:00;True|2022-01-12T20:38:16.9165651+08:00;True|2022-01-12T20:24:46.3779264+08:00;True|2022-01-12T20:03:06.5030626+08:00;True|2022-01-12T19:44:55.4294326+08:00;True|2022-01-12T12:58:45.9548600+08:00;True|2022-01-12T11:28:44.7797749+08:00;True|2022-01-11T18:07:30.9151356+08:00;True|2022-01-11T15:06:32.7301609+08:00;True|2022-01-11T09:27:00.1766442+08:00;True|2021-12-30T14:41:56.8541015+08:00;True|2021-12-30T13:45:00.6130694+08:00;True|2021-12-30T13:44:18.7370780+08:00;True|2021-12-30T13:36:52.8171136+08:00;True|2021-12-28T19:14:22.5979649+08:00;True|2021-12-28T13:13:39.3543252+08:00;True|2021-12-27T15:31:26.6037782+08:00;True|2021-12-27T15:28:54.4824480+08:00;True|2021-12-27T15:22:47.8436108+08:00;True|2021-12-27T15:04:37.0711590+08:00;True|2021-12-27T15:03:52.0932499+08:00;True|2021-12-27T15:03:33.0172733+08:00;True|2021-12-27T13:28:27.4252747+08:00;True|2021-12-25T19:38:33.6784042+08:00;True|2021-12-24T20:47:43.3471563+08:00;True|2021-12-24T20:14:57.6946814+08:00;True|2021-12-24T19:55:21.1843105+08:00;True|2021-12-24T19:49:54.6719726+08:00;True|2021-12-24T19:38:14.1180741+08:00;True|2021-12-22T13:51:37.1082523+08:00;True|2021-12-21T15:38:59.8015096+08:00;True|2021-12-21T15:29:54.8095063+08:00;False|2021-12-21T15:29:21.7006531+08:00;False|2021-12-21T15:16:18.2218025+08:00;False|2021-12-21T15:11:38.1215841+08:00;False|2021-12-21T15:08:27.0590078+08:00;True|2021-12-10T14:12:36.4065298+08:00;True|2021-12-10T13:54:03.4921778+08:00;True|2021-12-10T13:25:49.0439086+08:00;True|2021-12-10T13:19:58.9494477+08:00;True|2021-12-10T13:10:45.3929017+08:00;True|2021-12-10T11:06:53.2416794+08:00;True|2021-12-07T17:23:28.9380484+08:00;True|2021-12-07T17:13:52.4384814+08:00;True|2021-12-07T16:39:49.2020208+08:00;True|2021-12-07T15:18:20.9024533+08:00;True|2021-12-07T15:07:35.4428035+08:00;True|2021-12-07T15:01:02.0445043+08:00;True|2021-12-07T14:50:08.9019705+08:00;True|2021-12-07T14:34:50.4993666+08:00;False|2021-12-07T14:32:56.0408332+08:00;True|2021-12-06T17:11:41.4004606+08:00;True|2021-12-06T16:48:07.6029757+08:00;True|2021-12-06T13:46:35.9437718+08:00;True|2021-12-06T13:45:07.6622615+08:00;True|2021-12-06T11:25:04.3483155+08:00;True|2021-12-06T11:18:24.5804187+08:00;True|2021-11-22T16:27:05.4241947+08:00;True|2021-11-22T13:40:17.6768280+08:00;True|2021-11-19T16:15:19.9085104+08:00;True|2021-11-09T10:34:21.1623512+08:00;True|2021-11-07T16:57:59.7380254+08:00;True|2021-11-07T16:53:47.4198852+08:00;True|2021-11-07T16:42:05.5096826+08:00;True|2021-11-07T16:37:21.0729013+08:00;True|2021-11-05T20:51:17.6170717+08:00;True|2021-11-05T20:35:14.6250333+08:00;True|2021-11-05T19:30:19.8374158+08:00;True|2021-11-05T19:22:46.2276569+08:00;True|2021-11-05T19:20:30.8253213+08:00;True|2021-11-05T19:16:45.7553310+08:00;True|2021-11-05T19:16:00.4532689+08:00;True|2021-11-05T19:12:25.9022478+08:00;False|2021-11-05T19:11:26.5753529+08:00;True|2021-11-05T19:09:30.0085433+08:00;True|2021-11-05T18:48:19.9395153+08:00;True|2021-11-05T18:45:34.3437897+08:00;True|2021-11-05T18:43:43.4558159+08:00;True|2021-11-05T18:40:40.9948500+08:00;True|2021-11-05T18:34:18.4440455+08:00;True|2021-11-05T15:54:51.6037132+08:00;True|2021-10-28T16:27:53.9728270+08:00;True|2021-10-28T16:03:59.5629998+08:00;True|2021-10-28T08:51:04.2549186+08:00;True|2021-10-27T15:14:53.5506098+08:00;True|2021-10-27T15:00:44.9100320+08:00;True|2021-10-27T13:14:46.7921647+08:00;True|2021-10-27T11:24:49.4550753+08:00;True|2021-10-27T10:10:10.3545125+08:00;True|2021-10-27T10:02:24.9248610+08:00;True|2021-10-27T09:59:40.3795897+08:00;True|2021-10-27T09:56:30.6629207+08:00;True|2021-10-27T09:10:48.3883432+08:00;True|2021-10-27T09:03:31.9191991+08:00;True|2021-10-27T08:59:59.7651159+08:00;True|2021-10-27T08:36:11.8620997+08:00;True|2021-10-27T08:26:40.2533014+08:00;True|2021-10-26T09:19:35.5674748+08:00;True|2021-10-26T09:17:17.6900747+08:00;True|2021-10-26T09:14:32.3999220+08:00;True|2021-10-25T15:08:21.2581763+08:00;True|2021-10-25T10:01:57.8524903+08:00;True|2021-10-25T09:28:51.6294879+08:00;True|2021-10-25T09:25:50.3373336+08:00;True|2021-10-25T09:23:37.0203978+08:00;True|2021-10-25T09:18:23.3380608+08:00;True|2021-10-25T09:15:10.5292071+08:00;True|2021-10-25T08:56:30.4632027+08:00;True|2021-10-25T08:50:11.4697392+08:00;True|2021-10-22T13:46:49.7207066+08:00;True|2021-10-22T10:06:33.3130089+08:00;True|2021-10-20T14:32:10.1235516+08:00;True|2021-10-20T14:16:18.6496291+08:00;True|2021-10-20T14:08:49.2443715+08:00;True|2021-10-20T14:05:14.6847950+08:00;True|2021-10-20T13:30:21.6057636+08:00;True|2021-10-20T10:55:22.2151716+08:00;True|2021-10-19T10:42:13.4198267+08:00;True|2021-10-19T10:01:41.0018108+08:00;True|2021-10-19T09:59:11.2127619+08:00;True|2021-10-19T09:54:04.8472874+08:00;True|2021-10-15T11:19:15.5327495+08:00;True|2021-10-15T11:17:41.0686485+08:00;True|2021-10-15T11:12:11.8295042+08:00;True|2021-10-15T10:33:31.5670079+08:00;True|2021-10-15T10:27:45.0815146+08:00;True|2021-10-14T14:51:28.5331025+08:00;True|2021-10-14T14:37:28.3276051+08:00;True|2021-10-14T14:23:39.0606792+08:00;True|2021-10-14T14:21:03.8140347+08:00;True|2021-10-13T10:31:10.6628977+08:00;True|2021-10-13T10:12:24.4238027+08:00;True|2021-10-13T08:47:43.9314486+08:00;True|2021-10-12T14:07:18.6065183+08:00;True|2021-10-12T10:34:10.1682362+08:00;True|2021-10-12T10:27:14.3073332+08:00;True|2021-10-12T10:22:08.0004619+08:00;True|2021-10-12T10:21:03.0275378+08:00;True|2021-10-12T10:11:54.9812692+08:00;True|2021-10-11T16:59:07.3568342+08:00;True|2021-10-11T16:53:14.2016138+08:00;True|2021-10-11T16:21:35.0133775+08:00;True|2021-10-11T15:34:19.5731935+08:00;True|2021-10-11T15:31:07.5780983+08:00;True|2021-10-11T15:06:47.1145237+08:00;True|2021-10-11T15:03:25.5000280+08:00;True|2021-10-11T10:12:57.6416898+08:00;True|2021-10-09T10:15:17.9235165+08:00;True|2021-10-09T10:13:51.3318441+08:00;True|2021-10-09T10:01:21.6661542+08:00;True|2021-10-09T09:58:41.9225837+08:00;True|2021-10-08T14:56:49.7935800+08:00;True|2021-10-08T14:35:41.4490063+08:00;True|2021-10-08T14:02:42.6990656+08:00;True|2021-09-29T15:48:55.1547397+08:00;True|2021-09-29T15:48:23.5567191+08:00;True|2021-09-27T16:17:35.7180978+08:00;True|2021-09-27T15:51:50.4240134+08:00;True|2021-09-23T20:55:27.3554447+08:00;True|2021-09-23T14:14:44.0572017+08:00;True|2021-09-23T13:51:56.2344673+08:00;True|2021-09-23T10:46:16.7417007+08:00;True|2021-09-23T10:42:23.2117537+08:00;True|2021-09-22T15:21:22.9615672+08:00;True|2021-09-22T14:23:32.7907754+08:00;True|2021-09-22T13:48:03.4780947+08:00;True|2021-09-22T11:05:24.5249356+08:00;True|2021-09-22T10:00:19.0962943+08:00;True|2021-09-22T09:30:26.2686514+08:00;True|2021-09-17T11:22:34.5692792+08:00;True|2021-09-16T16:11:27.5372277+08:00;True|2021-09-16T14:53:40.8396557+08:00;True|2021-09-16T14:32:29.7905500+08:00;True|2021-09-16T14:26:46.2224219+08:00;True|2021-09-16T10:32:24.4244440+08:00;True|2021-09-15T11:10:35.3529360+08:00;True|2021-09-15T11:08:30.0857376+08:00;True|2021-09-15T11:05:56.7191571+08:00;True|2021-09-14T01:24:39.8041136+08:00;True|2021-09-14T01:05:01.1593327+08:00;True|2021-09-14T00:44:14.7233198+08:00;True|2021-09-13T23:48:19.4506233+08:00;True|2021-09-13T20:30:31.3243872+08:00;True|2021-09-13T19:45:35.9108911+08:00;False|2021-09-13T19:44:59.2779092+08:00;True|2021-09-13T18:09:22.4994381+08:00;True|2021-09-10T14:18:27.5788854+08:00;True|2021-09-09T15:57:01.7407207+08:00;True|2021-09-09T15:49:34.2598998+08:00;True|2021-09-09T11:32:10.7853024+08:00;True|2021-09-09T11:10:48.6840025+08:00;True|2021-09-09T10:35:37.3883078+08:00;True|2021-09-07T14:11:49.8497588+08:00;True|2021-09-07T13:34:48.4693349+08:00;True|2021-09-06T14:33:48.7549675+08:00;True|2021-09-03T16:27:51.1888520+08:00;True|2021-09-03T16:19:35.9003465+08:00;True|2021-09-03T15:46:28.1828032+08:00;True|2021-09-03T15:34:21.9362871+08:00;True|2021-09-03T11:24:49.8749819+08:00;True|2021-09-03T11:21:17.8373159+08:00;True|2021-09-03T11:16:53.2208136+08:00;True|2021-09-03T11:12:23.9063804+08:00;True|2021-09-03T09:11:09.2435721+08:00;True|2021-09-02T11:16:15.1370453+08:00;True|2021-09-02T10:35:39.1171879+08:00;True|2021-09-01T10:17:09.4536285+08:00;True|2021-09-01T09:46:28.4581776+08:00;True|2021-08-31T08:54:26.8588887+08:00;True|2021-08-31T08:39:08.3685693+08:00;True|2021-08-30T17:11:56.8438985+08:00;True|2021-08-30T15:59:42.0820292+08:00;True|2021-08-30T15:45:18.1868510+08:00;True|2021-08-30T14:56:08.3958863+08:00;True|2021-08-30T14:37:11.5379830+08:00;True|2021-08-30T14:35:34.8775934+08:00;True|2021-08-30T14:24:36.5111821+08:00;True|2021-08-30T10:05:49.6945200+08:00;True|2021-08-30T10:03:28.4064538+08:00;True|2021-08-30T10:00:16.8360929+08:00;True|2021-08-30T09:56:09.4434379+08:00;True|2021-08-30T09:55:36.1725334+08:00;True|2021-08-30T09:52:04.8600054+08:00;True|2021-08-30T09:47:46.4225655+08:00;True|2021-08-30T09:45:20.4894962+08:00;False|2021-08-27T17:17:34.2646751+08:00;False|2021-08-27T16:01:21.2791979+08:00;False|2021-08-27T15:58:06.9667160+08:00;False|2021-08-27T15:38:37.4818036+08:00;False|2021-08-27T15:21:02.8863114+08:00;False|2021-08-27T15:20:28.6828668+08:00;True|2021-08-26T16:00:44.3162145+08:00;True|2021-08-26T08:57:31.3842587+08:00;True|2021-08-23T08:43:41.1549775+08:00;True|2021-08-22T09:24:12.7210871+08:00;True|2021-08-22T09:19:53.8300229+08:00;True|2021-08-20T20:00:52.0140407+08:00;True|2021-08-20T19:40:14.7712765+08:00;True|2021-08-19T17:37:54.9748049+08:00;True|2021-08-19T17:20:11.0515687+08:00;True|2021-08-19T16:12:35.4392809+08:00;True|2021-08-19T16:06:50.6204587+08:00;True|2021-08-19T16:03:53.0824286+08:00;True|2021-08-19T15:56:01.3498791+08:00;True|2021-08-19T10:18:50.8113630+08:00;True|2021-08-19T09:58:06.2784035+08:00;True|2021-08-19T09:56:54.0619777+08:00;True|2021-08-19T00:32:08.3503093+08:00;True|2021-08-19T00:11:18.3150227+08:00;True|2021-08-19T00:02:49.4827718+08:00;True|2021-08-18T23:54:45.4845900+08:00;True|2021-08-18T23:39:51.6147977+08:00;True|2021-08-18T23:16:42.7214379+08:00;True|2021-08-18T22:38:57.4681929+08:00;True|2021-08-18T21:41:58.7560707+08:00;True|2021-08-18T21:11:52.2369249+08:00;True|2021-08-18T21:01:49.5669106+08:00;True|2021-08-18T20:47:46.5352688+08:00;False|2021-08-18T20:46:36.7956141+08:00;False|2021-08-18T20:46:01.0502138+08:00;True|2021-08-18T19:39:12.8186242+08:00;False|2021-08-18T19:38:12.6839708+08:00;True|2021-08-18T19:15:51.4626694+08:00;True|2021-08-18T16:07:20.4350886+08:00;True|2021-08-18T14:29:41.7171934+08:00;True|2021-08-18T14:20:36.3647361+08:00;True|2021-08-16T09:08:58.3617662+08:00;True|2021-08-15T20:44:29.9214083+08:00;True|2021-08-15T20:36:17.0958549+08:00;True|2021-08-15T20:29:34.3879773+08:00;True|2021-08-15T20:23:47.4052038+08:00;True|2021-08-15T15:01:19.7830862+08:00;True|2021-08-15T12:15:18.3433782+08:00;True|2021-08-13T20:59:11.3947130+08:00;True|2021-08-06T22:49:09.9538339+08:00;True|2021-08-06T22:35:19.0418168+08:00;True|2021-08-06T20:29:47.4241975+08:00;True|2021-08-06T14:08:16.4791827+08:00;True|2021-08-06T13:59:28.9874611+08:00;True|2021-08-06T13:57:34.3723977+08:00;True|2021-08-06T13:36:03.4816652+08:00;True|2021-08-06T12:22:52.5055221+08:00;True|2021-08-06T09:31:58.1272499+08:00;True|2021-08-06T09:26:51.6310039+08:00;True|2021-08-06T09:24:22.2899244+08:00;True|2021-08-06T09:06:30.6477912+08:00;True|2021-08-06T09:00:55.5101612+08:00;True|2021-08-06T08:49:59.9616490+08:00;True|2021-08-06T08:45:18.8586902+08:00;True|2021-08-05T20:09:25.8861998+08:00;True|2021-08-04T19:14:27.2396953+08:00;True|2021-08-04T19:11:47.5849093+08:00;True|2021-08-04T16:42:54.0149043+08:00;True|2021-08-04T15:02:11.5056561+08:00;True|2021-08-04T14:58:37.1435509+08:00;True|2021-08-04T14:55:34.7380132+08:00;True|2021-08-04T14:47:42.5933921+08:00;True|2021-08-04T14:45:17.9911874+08:00;True|2021-08-04T13:52:20.9601351+08:00;True|2021-08-04T09:48:28.8796992+08:00;True|2021-08-03T18:14:13.1894998+08:00;True|2021-08-03T17:45:35.1349721+08:00;True|2021-08-03T17:21:52.6028977+08:00;True|2021-08-03T17:20:35.4423020+08:00;True|2021-08-03T17:03:33.1667669+08:00;True|2021-08-03T17:01:54.2656787+08:00;True|2021-08-03T17:00:22.2778374+08:00;True|2021-08-03T16:56:58.8902582+08:00;True|2021-08-03T15:02:21.8601533+08:00;True|2021-08-03T14:57:34.0186758+08:00;True|2021-08-03T14:28:47.2242515+08:00;True|2021-08-03T14:22:22.4554236+08:00;True|2021-08-03T14:21:51.1339715+08:00;True|2021-08-03T13:37:33.9697131+08:00;True|2021-08-03T13:28:29.7591095+08:00;True|2021-08-03T11:35:09.5118324+08:00;True|2021-08-03T11:11:23.3051573+08:00;True|2021-08-02T13:14:42.3663755+08:00;True|2021-07-30T22:50:19.9749878+08:00;True|2021-07-30T22:49:31.2150970+08:00;True|2021-07-28T19:12:05.8381075+08:00;True|2021-07-28T18:59:45.4808797+08:00;True|2021-07-28T18:15:58.8301509+08:00;True|2021-07-28T18:04:54.8613546+08:00;True|2021-07-28T17:53:48.6225611+08:00;True|2021-07-28T17:42:50.9171563+08:00;True|2021-07-28T17:17:16.3137677+08:00;True|2021-07-28T17:11:46.8925200+08:00;True|2021-07-28T16:28:27.6823943+08:00;True|2021-07-28T16:23:00.3385836+08:00;True|2021-07-28T09:57:55.4237411+08:00;True|2021-07-28T08:38:29.6691541+08:00;True|2021-07-27T23:16:32.0331671+08:00;True|2021-07-27T23:06:08.1947249+08:00;True|2021-07-27T23:05:58.4619176+08:00;True|2021-07-27T18:42:09.5358261+08:00;True|2021-07-27T18:30:04.8532823+08:00;True|2021-07-27T18:29:43.5775092+08:00;True|2021-07-27T15:16:49.8356224+08:00;True|2021-07-27T15:05:27.8453220+08:00;True|2021-07-27T14:59:15.9519440+08:00;True|2021-07-27T09:23:32.6111337+08:00;True|2021-07-27T08:27:41.6395353+08:00;True|2021-07-27T08:25:56.7378296+08:00;True|2021-07-26T11:18:46.0856966+08:00;True|2021-07-26T11:18:02.0751924+08:00;True|2021-07-26T11:13:49.6285395+08:00;True|2021-07-21T21:08:25.9898902+08:00;True|2021-07-21T20:09:26.2258104+08:00;True|2021-07-13T16:17:25.8407435+08:00;True|2021-07-13T13:46:13.4309531+08:00;True|2021-07-13T12:29:04.5082461+08:00;True|2021-06-29T13:55:01.6864637+08:00;True|2021-06-29T10:38:52.2206472+08:00;True|2021-06-29T10:10:13.1540749+08:00;True|2021-06-28T14:37:56.3853273+08:00;False|2021-06-28T14:36:57.5726124+08:00;True|2021-06-25T14:17:57.5196108+08:00;True|2021-06-25T13:56:38.9522535+08:00;True|2021-06-24T19:38:32.8766933+08:00;True|2021-06-24T18:26:35.6118833+08:00;True|2021-06-24T18:02:52.8136877+08:00;True|2021-06-24T17:48:49.5851948+08:00;True|2021-06-24T17:45:46.7527572+08:00;True|2021-06-24T15:05:20.1592723+08:00;True|2021-06-23T16:18:15.6814625+08:00;True|2021-06-23T16:05:24.6112343+08:00;True|2021-06-23T15:14:08.2489658+08:00;True|2021-06-23T13:52:58.6029788+08:00;True|2021-06-22T16:11:20.4726923+08:00;True|2021-06-22T16:04:53.7231389+08:00;True|2021-06-22T15:50:59.2583262+08:00;True|2021-06-22T15:38:15.3016140+08:00;True|2021-06-22T15:34:42.9185543+08:00;True|2021-06-22T15:21:55.1419108+08:00;True|2021-06-22T15:07:21.5357494+08:00;True|2021-06-22T15:03:35.0535733+08:00;True|2021-06-22T14:54:47.8802969+08:00;True|2021-06-22T11:19:38.7303011+08:00;True|2021-06-22T08:53:49.2882695+08:00;True|2021-06-22T08:47:54.8286530+08:00;True|2021-06-21T16:27:19.3017700+08:00;True|2021-06-21T15:32:28.7237952+08:00;True|2021-06-21T12:34:02.6329555+08:00;True|2021-06-21T12:24:17.5427495+08:00;True|2021-06-21T10:47:30.6423502+08:00;True|2021-06-21T08:43:20.3026558+08:00;True|2021-06-19T15:10:06.8335499+08:00;True|2021-06-18T15:37:29.5009930+08:00;True|2021-06-18T13:46:35.6283432+08:00;True|2021-06-18T10:00:37.1474954+08:00;True|2021-06-18T09:55:21.8551780+08:00;True|2021-06-18T09:22:27.8432927+08:00;True|2021-06-17T11:17:43.2166430+08:00;True|2021-06-17T09:24:09.8350403+08:00;True|2021-06-16T16:10:47.8564888+08:00;True|2021-06-16T16:04:09.8286582+08:00;True|2021-06-16T15:12:29.9427169+08:00;True|2021-06-16T14:58:45.6801892+08:00;True|2021-06-16T14:46:01.6873221+08:00;True|2021-06-16T11:02:06.1272477+08:00;True|2021-06-16T09:33:56.0223915+08:00;True|2021-06-16T08:50:07.6995413+08:00;True|2021-06-16T08:28:38.7692635+08:00;True|2021-06-16T01:04:19.6282474+08:00;True|2021-06-16T01:03:50.5058323+08:00;False|2021-06-16T01:02:15.3819672+08:00;False|2021-06-16T01:01:38.6171098+08:00;True|2021-06-16T00:34:54.9902044+08:00;True|2021-06-15T23:55:36.2003828+08:00;True|2021-06-15T22:47:17.2192750+08:00;True|2021-06-15T22:42:41.1512585+08:00;True|2021-06-15T22:38:01.7390462+08:00;True|2021-06-15T22:14:11.2060782+08:00;True|2021-06-15T22:12:27.0615357+08:00;True|2021-06-15T22:07:59.9280871+08:00;True|2021-06-15T22:04:21.5051427+08:00;True|2021-06-15T21:25:55.0099814+08:00;True|2021-06-15T19:13:51.3494172+08:00;True|2021-06-15T19:02:17.6844742+08:00;True|2021-06-15T18:47:37.1629411+08:00;False|2021-06-15T18:47:11.0828111+08:00;True|2021-06-15T18:38:26.6620668+08:00;True|2021-06-15T18:33:45.2069831+08:00;True|2021-06-15T18:24:52.0550838+08:00;True|2021-06-15T18:19:43.6999796+08:00;True|2021-06-15T18:08:17.2464506+08:00;True|2021-06-15T18:03:51.3952624+08:00;True|2021-06-15T18:01:20.6141766+08:00;True|2021-06-15T17:59:04.4479416+08:00;True|2021-06-15T17:41:44.6389379+08:00;True|2021-06-15T17:39:03.1565124+08:00;True|2021-06-15T17:34:41.0634638+08:00;True|2021-06-15T17:33:50.4853178+08:00;True|2021-06-15T17:25:38.5914037+08:00;True|2021-06-15T17:22:21.3611360+08:00;True|2021-06-15T17:16:49.4970813+08:00;True|2021-06-15T17:05:28.9389484+08:00;True|2021-06-15T16:52:54.6372199+08:00;True|2021-06-15T16:51:23.9081030+08:00;True|2021-06-15T16:45:40.6017997+08:00;True|2021-06-15T16:41:05.0218887+08:00;True|2021-06-15T16:38:02.8541862+08:00;True|2021-06-15T16:22:10.3118721+08:00;True|2021-06-15T16:12:11.1552506+08:00;True|2021-06-15T15:33:42.0100494+08:00;True|2021-06-15T15:28:39.7145659+08:00;True|2021-06-15T15:15:02.7939125+08:00;True|2021-06-15T14:49:14.2300396+08:00;True|2021-06-15T14:42:28.1198064+08:00;True|2021-06-15T13:30:12.7997686+08:00;True|2021-06-15T13:25:37.7284670+08:00;True|2021-06-15T13:23:43.6207813+08:00;False|2021-06-15T13:23:19.4190232+08:00;True|2021-06-15T13:16:38.5062674+08:00;True|2021-06-15T13:03:31.2055635+08:00;True|2021-06-15T12:58:43.1653215+08:00;True|2021-06-15T12:39:22.8442109+08:00;True|2021-06-15T12:35:09.1288556+08:00;False|2021-06-15T12:33:50.0723143+08:00;True|2021-06-15T11:28:01.9733727+08:00;True|2021-06-15T11:26:26.6569392+08:00;True|2021-06-15T11:22:43.0366435+08:00;True|2021-06-15T11:07:50.1610580+08:00;True|2021-06-15T10:32:59.1925931+08:00;True|2021-06-10T17:16:57.9552310+08:00;True|2021-06-10T16:44:42.2731836+08:00;True|2021-06-10T14:39:27.6745737+08:00;True|2021-06-10T12:15:05.1524413+08:00;True|2021-06-09T18:19:24.1005606+08:00;True|2021-06-09T17:56:09.5646288+08:00;True|2021-06-09T13:34:06.1882292+08:00;True|2021-06-09T13:29:54.5924933+08:00;True|2021-06-09T13:25:55.7520662+08:00;True|2021-06-09T13:07:47.6686811+08:00;True|2021-06-09T12:59:41.2595048+08:00;True|2021-06-09T12:45:27.1305548+08:00;True|2021-06-09T12:29:52.1418191+08:00;True|2021-06-09T12:24:12.7610588+08:00;True|2021-06-09T11:31:25.3409568+08:00;True|2021-06-09T09:57:44.4387175+08:00;True|2021-06-09T09:54:26.5161307+08:00;True|2021-06-09T09:14:14.7288045+08:00;True|2021-06-09T09:10:25.1812139+08:00;True|2021-06-09T08:46:21.6585123+08:00;True|2021-06-08T19:56:55.7192062+08:00;True|2021-06-08T19:52:59.0326821+08:00;True|2021-06-08T19:49:13.6274217+08:00;True|2021-06-08T19:09:22.1038939+08:00;True|2021-06-08T15:28:41.3716247+08:00;True|2021-06-08T15:26:47.2621178+08:00;True|2021-06-08T13:49:45.8936617+08:00;True|2021-06-08T13:43:18.8115502+08:00;True|2021-06-08T10:04:06.2200731+08:00;True|2021-06-08T09:17:10.0470792+08:00;True|2021-06-08T08:44:37.4395849+08:00;True|2021-06-08T00:01:09.3745613+08:00;True|2021-06-07T23:49:31.5196888+08:00;True|2021-06-07T23:41:00.8017855+08:00;True|2021-06-07T23:21:53.1371134+08:00;True|2021-06-07T23:01:27.5712153+08:00;True|2021-06-07T22:36:12.9274014+08:00;True|2021-06-07T22:23:00.6545134+08:00;True|2021-06-07T17:44:47.5686346+08:00;True|2021-06-07T17:17:01.3431233+08:00;True|2021-06-07T16:53:28.9989587+08:00;True|2021-06-07T16:41:10.4975607+08:00;True|2021-06-07T14:21:06.8176477+08:00;True|2021-06-07T14:10:39.0355659+08:00;True|2021-06-07T12:34:31.4562732+08:00;True|2021-06-07T12:28:44.9629488+08:00;True|2021-06-07T10:30:26.9387988+08:00;True|2021-06-07T09:12:14.7658099+08:00;True|2021-06-07T08:37:19.6353792+08:00;True|2021-06-07T08:35:25.2031954+08:00;True|2021-06-05T07:07:32.0541266+08:00;True|2021-06-05T06:44:35.9475270+08:00;True|2021-06-05T06:37:27.4595197+08:00;True|2021-06-05T06:26:59.7663998+08:00;True|2021-06-05T05:43:12.8699318+08:00;True|2021-06-04T17:00:41.2426007+08:00;True|2021-06-04T16:08:03.8078072+08:00;True|2021-06-04T15:47:21.6412616+08:00;True|2021-06-04T15:21:02.4239800+08:00;True|2021-06-04T15:20:37.8641854+08:00;True|2021-06-04T13:38:51.5088395+08:00;True|2021-06-04T10:20:01.7784282+08:00;True|2021-06-04T10:13:50.3548857+08:00;True|2021-06-04T10:11:25.5017821+08:00;True|2021-06-04T10:09:51.6792228+08:00;True|2021-06-04T10:02:39.5851057+08:00;True|2021-06-04T09:30:40.4495494+08:00;True|2021-06-03T13:16:36.0317546+08:00;True|2021-06-03T13:12:47.0402047+08:00;True|2021-06-02T14:37:08.9683351+08:00;True|2021-06-02T14:10:15.7439829+08:00;True|2021-06-02T13:59:46.5841931+08:00;True|2021-06-02T13:25:18.7962660+08:00;True|2021-06-02T13:23:16.2261980+08:00;True|2021-06-01T15:37:32.2495085+08:00;True|2021-06-01T15:21:01.2856122+08:00;True|2021-06-01T15:13:36.7262365+08:00;True|2021-06-01T15:10:26.8905629+08:00;True|2021-06-01T14:56:17.5231551+08:00;True|2021-06-01T14:38:39.7895927+08:00;True|2021-06-01T14:23:12.3265287+08:00;True|2021-03-01T09:11:31.3226422+08:00;True|2021-05-26T14:54:56.9426462+08:00;True|2021-05-26T13:57:33.7780451+08:00;True|2021-05-26T13:39:02.8043358+08:00;True|2021-02-25T16:01:40.2917200+08:00;True|2021-02-25T15:49:46.6681205+08:00;True|2021-02-25T15:16:30.9372640+08:00;True|2021-05-25T13:10:21.7831921+08:00;True|2021-05-25T11:21:38.5224475+08:00;True|2021-05-25T11:12:52.0637175+08:00;True|2021-05-25T11:02:18.4164663+08:00;True|2021-05-25T10:52:06.8998521+08:00;True|2021-05-25T10:50:45.0929606+08:00;True|2021-05-25T10:45:54.1498313+08:00;True|2021-05-25T10:39:27.8602249+08:00;True|2021-05-25T10:34:49.5771162+08:00;True|2021-05-25T10:17:30.3009163+08:00;True|2021-05-25T10:14:03.8512581+08:00;True|2021-05-25T10:05:33.4343836+08:00;True|2021-05-24T17:01:23.3221168+08:00;True|2021-05-24T10:11:24.0197347+08:00;False|2021-05-24T10:11:07.6338995+08:00;</History>
   </PropertyGroup>
   <ItemGroup>
     <File Include="apiapp.json">
-      <publishTime>04/06/2023 15:57:02</publishTime>
+      <publishTime>04/15/2024 12:55:47</publishTime>
     </File>
     <File Include="bin/Antlr3.Runtime.dll">
       <publishTime>02/22/2013 16:43:40</publishTime>
@@ -20,12 +20,12 @@
     <File Include="bin/BLL.dll">
       <publishTime>11/09/2022 16:02:08</publishTime>
       <publishTime>11/02/2022 22:03:01</publishTime>
-      <publishTime>05/27/2024 15:47:30</publishTime>
+      <publishTime>05/31/2024 15:56:10</publishTime>
     </File>
     <File Include="bin/BLL.pdb">
       <publishTime>11/09/2022 16:02:08</publishTime>
       <publishTime>11/02/2022 22:03:01</publishTime>
-      <publishTime>05/27/2024 15:47:30</publishTime>
+      <publishTime>05/31/2024 15:56:10</publishTime>
     </File>
     <File Include="bin/BouncyCastle.Crypto.dll">
       <publishTime>12/18/2020 05:32:28</publishTime>
@@ -33,12 +33,12 @@
     <File Include="bin/DAL.dll">
       <publishTime>11/09/2022 16:02:06</publishTime>
       <publishTime>11/02/2022 22:02:58</publishTime>
-      <publishTime>05/27/2024 15:47:28</publishTime>
+      <publishTime>05/31/2024 15:56:08</publishTime>
     </File>
     <File Include="bin/DAL.pdb">
       <publishTime>11/09/2022 16:02:06</publishTime>
       <publishTime>11/02/2022 22:02:58</publishTime>
-      <publishTime>05/27/2024 15:47:28</publishTime>
+      <publishTime>05/31/2024 15:56:08</publishTime>
     </File>
     <File Include="bin/Dapper.dll">
       <publishTime>07/22/2016 22:52:40</publishTime>
@@ -46,12 +46,12 @@
     <File Include="bin/DBUtility.dll">
       <publishTime>11/02/2022 22:02:56</publishTime>
       <publishTime>11/15/2022 13:55:23</publishTime>
-      <publishTime>05/27/2024 15:47:22</publishTime>
+      <publishTime>05/31/2024 15:56:04</publishTime>
     </File>
     <File Include="bin/DBUtility.pdb">
       <publishTime>11/09/2022 16:01:58</publishTime>
       <publishTime>11/02/2022 22:02:56</publishTime>
-      <publishTime>05/27/2024 15:47:22</publishTime>
+      <publishTime>05/31/2024 15:56:04</publishTime>
     </File>
     <File Include="bin/Grpc.Core.Api.dll">
       <publishTime>03/22/2022 13:17:26</publishTime>
@@ -81,7 +81,7 @@
       <publishTime>08/25/2021 10:28:25</publishTime>
     </File>
     <File Include="bin/Kingdee.BOS.WebApi.Client.dll">
-      <publishTime>04/06/2023 15:57:02</publishTime>
+      <publishTime>04/15/2024 12:55:44</publishTime>
     </File>
     <File Include="bin/Kingdee.BOS.WebApi.FormService.dll">
       <publishTime>09/20/2018 19:23:20</publishTime>
@@ -107,15 +107,15 @@
     <File Include="bin/Model.dll">
       <publishTime>11/09/2022 16:02:01</publishTime>
       <publishTime>11/02/2022 22:02:56</publishTime>
-      <publishTime>05/27/2024 15:47:23</publishTime>
+      <publishTime>05/31/2024 15:56:05</publishTime>
     </File>
     <File Include="bin/Model.pdb">
       <publishTime>11/09/2022 16:02:01</publishTime>
       <publishTime>11/02/2022 22:02:56</publishTime>
-      <publishTime>05/27/2024 15:47:23</publishTime>
+      <publishTime>05/31/2024 15:56:05</publishTime>
     </File>
     <File Include="bin/Models/ClsSc_MouldScrapOutBillMain.cs">
-      <publishTime>04/06/2023 15:57:02</publishTime>
+      <publishTime>04/15/2024 12:55:45</publishTime>
     </File>
     <File Include="bin/Newtonsoft.Json.dll">
       <publishTime>08/04/2014 04:33:56</publishTime>
@@ -147,33 +147,33 @@
     <File Include="bin/Pub_Class.dll">
       <publishTime>11/09/2022 16:01:56</publishTime>
       <publishTime>11/02/2022 22:02:54</publishTime>
-      <publishTime>05/27/2024 15:47:20</publishTime>
+      <publishTime>05/31/2024 15:56:03</publishTime>
     </File>
     <File Include="bin/Pub_Class.pdb">
       <publishTime>11/09/2022 16:01:56</publishTime>
       <publishTime>11/02/2022 22:02:54</publishTime>
-      <publishTime>05/27/2024 15:47:20</publishTime>
+      <publishTime>05/31/2024 15:56:03</publishTime>
     </File>
     <File Include="bin/Pub_Control.dll">
       <publishTime>11/09/2022 16:01:57</publishTime>
       <publishTime>11/02/2022 22:02:55</publishTime>
-      <publishTime>05/27/2024 15:47:21</publishTime>
+      <publishTime>05/31/2024 15:56:04</publishTime>
     </File>
     <File Include="bin/Pub_Control.pdb">
       <publishTime>11/09/2022 16:01:57</publishTime>
       <publishTime>11/02/2022 22:02:55</publishTime>
-      <publishTime>05/27/2024 15:47:21</publishTime>
+      <publishTime>05/31/2024 15:56:04</publishTime>
     </File>
     <File Include="bin/RestSharp.dll">
       <publishTime>08/31/2012 06:22:50</publishTime>
     </File>
     <File Include="bin/SQLHelper.dll">
-      <publishTime>05/27/2024 15:47:22</publishTime>
+      <publishTime>05/31/2024 15:56:04</publishTime>
     </File>
     <File Include="bin/SQLHelper.pdb">
       <publishTime>11/09/2022 16:01:57</publishTime>
       <publishTime>11/02/2022 22:02:55</publishTime>
-      <publishTime>05/27/2024 15:47:22</publishTime>
+      <publishTime>05/31/2024 15:56:04</publishTime>
     </File>
     <File Include="bin/stdole.dll">
       <publishTime>05/09/2021 13:35:37</publishTime>
@@ -251,7 +251,7 @@
       <publishTime>11/28/2018 21:01:00</publishTime>
     </File>
     <File Include="bin/System.Web.Http.WebHost.dll">
-      <publishTime>04/06/2023 15:57:02</publishTime>
+      <publishTime>04/15/2024 12:55:45</publishTime>
     </File>
     <File Include="bin/System.Web.Mvc.dll">
       <publishTime>01/28/2015 12:02:18</publishTime>
@@ -286,7 +286,7 @@
     <File Include="bin/WebAPI.dll">
       <publishTime>11/14/2022 11:23:59</publishTime>
       <publishTime>11/02/2022 22:03:04</publishTime>
-      <publishTime>05/27/2024 15:47:39</publishTime>
+      <publishTime>05/31/2024 15:56:15</publishTime>
     </File>
     <File Include="bin/WebAPI.dll.config">
       <publishTime>12/15/2021 17:59:43</publishTime>
@@ -294,7 +294,7 @@
     <File Include="bin/WebAPI.pdb">
       <publishTime>11/14/2022 11:23:59</publishTime>
       <publishTime>11/02/2022 22:03:04</publishTime>
-      <publishTime>05/27/2024 15:47:39</publishTime>
+      <publishTime>05/31/2024 15:56:15</publishTime>
     </File>
     <File Include="bin/WebGrease.dll">
       <publishTime>07/18/2013 01:03:52</publishTime>
@@ -306,58 +306,58 @@
       <publishTime>11/29/2018 21:26:30</publishTime>
     </File>
     <File Include="Config/kdapi.config">
-      <publishTime>04/06/2023 15:57:01</publishTime>
+      <publishTime>04/15/2024 12:55:43</publishTime>
     </File>
     <File Include="Content/bootstrap.css">
-      <publishTime>04/06/2023 15:57:01</publishTime>
+      <publishTime>04/15/2024 12:55:43</publishTime>
     </File>
     <File Include="Content/bootstrap.min.css">
-      <publishTime>04/06/2023 15:57:01</publishTime>
+      <publishTime>04/15/2024 12:55:43</publishTime>
     </File>
     <File Include="Content/Site.css">
-      <publishTime>04/06/2023 15:57:01</publishTime>
+      <publishTime>04/15/2024 12:55:43</publishTime>
     </File>
     <File Include="DLL/BLL.dll">
-      <publishTime>04/06/2023 15:57:02</publishTime>
+      <publishTime>04/15/2024 12:55:44</publishTime>
     </File>
     <File Include="DLL/DAL.dll">
-      <publishTime>04/06/2023 15:57:02</publishTime>
+      <publishTime>04/15/2024 12:55:44</publishTime>
     </File>
     <File Include="DLL/DBUtility.dll">
-      <publishTime>04/06/2023 15:57:02</publishTime>
+      <publishTime>04/15/2024 12:55:44</publishTime>
     </File>
     <File Include="DLL/Kingdee.BOS.WebApi.Client.dll">
-      <publishTime>04/06/2023 15:57:02</publishTime>
+      <publishTime>04/15/2024 12:55:44</publishTime>
     </File>
     <File Include="DLL/Model.dll">
-      <publishTime>04/06/2023 15:57:02</publishTime>
+      <publishTime>04/15/2024 12:55:44</publishTime>
     </File>
     <File Include="DLL/Newtonsoft.Json.Net35.dll">
-      <publishTime>04/06/2023 15:57:02</publishTime>
+      <publishTime>04/15/2024 12:55:44</publishTime>
     </File>
     <File Include="DLL/Pub_Class.dll">
-      <publishTime>04/06/2023 15:57:02</publishTime>
+      <publishTime>04/15/2024 12:55:45</publishTime>
     </File>
     <File Include="DLL/Pub_Control.dll">
-      <publishTime>04/06/2023 15:57:02</publishTime>
+      <publishTime>04/15/2024 12:55:45</publishTime>
     </File>
     <File Include="DLL/SQLHelper.dll">
-      <publishTime>04/06/2023 15:57:02</publishTime>
+      <publishTime>04/15/2024 12:55:45</publishTime>
     </File>
     <File Include="fonts/glyphicons-halflings-regular.eot">
-      <publishTime>04/06/2023 15:57:02</publishTime>
+      <publishTime>04/15/2024 12:55:47</publishTime>
     </File>
     <File Include="fonts/glyphicons-halflings-regular.svg">
-      <publishTime>04/06/2023 15:57:02</publishTime>
+      <publishTime>04/15/2024 12:55:47</publishTime>
     </File>
     <File Include="fonts/glyphicons-halflings-regular.ttf">
-      <publishTime>04/06/2023 15:57:02</publishTime>
+      <publishTime>04/15/2024 12:55:47</publishTime>
     </File>
     <File Include="fonts/glyphicons-halflings-regular.woff">
-      <publishTime>04/06/2023 15:57:02</publishTime>
+      <publishTime>04/15/2024 12:55:47</publishTime>
     </File>
     <File Include="Global.asax">
-      <publishTime>04/06/2023 15:57:02</publishTime>
+      <publishTime>04/15/2024 12:55:45</publishTime>
     </File>
     <File Include="grpc_csharp_ext.x64.dll">
       <publishTime>03/22/2022 13:17:22</publishTime>
@@ -366,7 +366,7 @@
       <publishTime>03/22/2022 13:17:22</publishTime>
     </File>
     <File Include="Index.html">
-      <publishTime>04/06/2023 15:57:02</publishTime>
+      <publishTime>04/15/2024 12:55:45</publishTime>
     </File>
     <File Include="libgrpc_csharp_ext.x64.dylib">
       <publishTime>03/19/2022 07:38:44</publishTime>
@@ -375,121 +375,121 @@
       <publishTime>03/19/2022 07:38:42</publishTime>
     </File>
     <File Include="libman.json">
-      <publishTime>07/12/2023 08:14:21</publishTime>
+      <publishTime>04/15/2024 12:55:47</publishTime>
     </File>
     <File Include="Metadata/deploymentTemplates/apiappconfig.azureresource.json">
-      <publishTime>04/06/2023 15:57:02</publishTime>
+      <publishTime>04/15/2024 12:55:45</publishTime>
     </File>
     <File Include="packages.config">
-      <publishTime>04/06/2023 15:57:02</publishTime>
+      <publishTime>04/15/2024 12:55:47</publishTime>
     </File>
     <File Include="Views/Scripts/bootstrap.js">
-      <publishTime>04/06/2023 15:57:02</publishTime>
+      <publishTime>04/15/2024 12:55:46</publishTime>
     </File>
     <File Include="Views/Scripts/bootstrap.min.js">
-      <publishTime>04/06/2023 15:57:02</publishTime>
+      <publishTime>04/15/2024 12:55:46</publishTime>
     </File>
     <File Include="Views/Scripts/jquery-1.10.2.js">
-      <publishTime>04/06/2023 15:57:02</publishTime>
+      <publishTime>04/15/2024 12:55:46</publishTime>
     </File>
     <File Include="Views/Scripts/jquery-1.10.2.min.js">
-      <publishTime>04/06/2023 15:57:02</publishTime>
+      <publishTime>04/15/2024 12:55:46</publishTime>
     </File>
     <File Include="Views/Scripts/jquery-1.10.2.min.map">
-      <publishTime>04/06/2023 15:57:02</publishTime>
+      <publishTime>04/15/2024 12:55:46</publishTime>
     </File>
     <File Include="Views/Scripts/jquery.validate.js">
-      <publishTime>04/06/2023 15:57:02</publishTime>
+      <publishTime>04/15/2024 12:55:46</publishTime>
     </File>
     <File Include="Views/Scripts/jquery.validate.min.js">
-      <publishTime>04/06/2023 15:57:02</publishTime>
+      <publishTime>04/15/2024 12:55:46</publishTime>
     </File>
     <File Include="Views/Scripts/jquery.validate.unobtrusive.js">
-      <publishTime>04/06/2023 15:57:02</publishTime>
+      <publishTime>04/15/2024 12:55:46</publishTime>
     </File>
     <File Include="Views/Scripts/jquery.validate.unobtrusive.min.js">
-      <publishTime>04/06/2023 15:57:02</publishTime>
+      <publishTime>04/15/2024 12:55:46</publishTime>
     </File>
     <File Include="Views/Scripts/modernizr-2.6.2.js">
-      <publishTime>04/06/2023 15:57:02</publishTime>
+      <publishTime>04/15/2024 12:55:46</publishTime>
     </File>
     <File Include="Views/Shared/Error.cshtml">
-      <publishTime>04/06/2023 15:57:02</publishTime>
+      <publishTime>04/15/2024 12:55:46</publishTime>
     </File>
     <File Include="Views/Shared/_Layout.cshtml">
-      <publishTime>04/06/2023 15:57:02</publishTime>
+      <publishTime>04/15/2024 12:55:46</publishTime>
     </File>
     <File Include="Views/web.config">
-      <publishTime>04/06/2023 15:57:02</publishTime>
+      <publishTime>04/15/2024 12:55:46</publishTime>
     </File>
     <File Include="Views/_ViewStart.cshtml">
-      <publishTime>04/06/2023 15:57:02</publishTime>
+      <publishTime>04/15/2024 12:55:46</publishTime>
     </File>
     <File Include="Web References/WebS/ClsCLD_Customer_Model.datasource">
-      <publishTime>04/06/2023 15:57:02</publishTime>
+      <publishTime>04/15/2024 12:55:46</publishTime>
     </File>
     <File Include="Web References/WebS/ClsCLD_Department_Model.datasource">
-      <publishTime>04/06/2023 15:57:02</publishTime>
+      <publishTime>04/15/2024 12:55:46</publishTime>
     </File>
     <File Include="Web References/WebS/ClsCLD_Employee_Model.datasource">
-      <publishTime>04/06/2023 15:57:02</publishTime>
+      <publishTime>04/15/2024 12:55:46</publishTime>
     </File>
     <File Include="Web References/WebS/ClsCLD_StockPlace_Model.datasource">
-      <publishTime>04/06/2023 15:57:02</publishTime>
+      <publishTime>04/15/2024 12:55:46</publishTime>
     </File>
     <File Include="Web References/WebS/ClsCLD_Supplier_Model.datasource">
-      <publishTime>04/06/2023 15:57:02</publishTime>
+      <publishTime>04/15/2024 12:55:46</publishTime>
     </File>
     <File Include="Web References/WebS/ClsCLD_Warehouse_Model.datasource">
-      <publishTime>04/06/2023 15:57:02</publishTime>
+      <publishTime>04/15/2024 12:55:46</publishTime>
     </File>
     <File Include="Web References/WebS/ClsGy_BadReason_Model.datasource">
-      <publishTime>04/06/2023 15:57:02</publishTime>
+      <publishTime>04/15/2024 12:55:46</publishTime>
     </File>
     <File Include="Web References/WebS/ClsGy_BarCodeBill_WMS_Model.datasource">
-      <publishTime>04/06/2023 15:57:02</publishTime>
+      <publishTime>04/15/2024 12:55:46</publishTime>
     </File>
     <File Include="Web References/WebS/ClsGy_BarCodeBill_WMS_Model_View.datasource">
-      <publishTime>04/06/2023 15:57:02</publishTime>
+      <publishTime>04/15/2024 12:55:46</publishTime>
     </File>
     <File Include="Web References/WebS/ClsGy_Customer_Model.datasource">
-      <publishTime>04/06/2023 15:57:02</publishTime>
+      <publishTime>04/15/2024 12:55:46</publishTime>
     </File>
     <File Include="Web References/WebS/ClsGy_Department_Model.datasource">
-      <publishTime>04/06/2023 15:57:02</publishTime>
+      <publishTime>04/15/2024 12:55:46</publishTime>
     </File>
     <File Include="Web References/WebS/ClsGy_Employee_Model.datasource">
-      <publishTime>04/06/2023 15:57:02</publishTime>
+      <publishTime>04/15/2024 12:55:46</publishTime>
     </File>
     <File Include="Web References/WebS/ClsGy_Group_Model.datasource">
-      <publishTime>04/06/2023 15:57:02</publishTime>
+      <publishTime>04/15/2024 12:55:46</publishTime>
     </File>
     <File Include="Web References/WebS/ClsGy_Item30JiTai_Model.datasource">
-      <publishTime>04/06/2023 15:57:02</publishTime>
+      <publishTime>04/15/2024 12:55:46</publishTime>
     </File>
     <File Include="Web References/WebS/ClsGy_Source_Model.datasource">
-      <publishTime>04/06/2023 15:57:02</publishTime>
+      <publishTime>04/15/2024 12:55:46</publishTime>
     </File>
     <File Include="Web References/WebS/ClsGy_StockPlace_Model.datasource">
-      <publishTime>04/06/2023 15:57:02</publishTime>
+      <publishTime>04/15/2024 12:55:46</publishTime>
     </File>
     <File Include="Web References/WebS/ClsGy_Supplier_Model.datasource">
-      <publishTime>04/06/2023 15:57:02</publishTime>
+      <publishTime>04/15/2024 12:55:46</publishTime>
     </File>
     <File Include="Web References/WebS/ClsGy_Warehouse_Model.datasource">
-      <publishTime>04/06/2023 15:57:02</publishTime>
+      <publishTime>04/15/2024 12:55:46</publishTime>
     </File>
     <File Include="Web References/WebS/ClsKf_ICStockBill_Mould.datasource">
-      <publishTime>04/06/2023 15:57:02</publishTime>
+      <publishTime>04/15/2024 12:55:46</publishTime>
     </File>
     <File Include="Web References/WebS/ClsKf_ICStockBill_WMS.datasource">
-      <publishTime>04/06/2023 15:57:02</publishTime>
+      <publishTime>04/15/2024 12:55:46</publishTime>
     </File>
     <File Include="Web References/WebS/Reference.cs">
       <publishTime>12/20/2021 13:19:56</publishTime>
     </File>
     <File Include="Web References/WebS/Reference.map">
-      <publishTime>05/06/2024 13:47:57</publishTime>
+      <publishTime>04/29/2024 08:30:03</publishTime>
     </File>
     <File Include="Web References/WebS/WebService1.disco">
       <publishTime>12/20/2021 13:19:56</publishTime>
@@ -503,7 +503,7 @@
     <File Include="Web.config">
       <publishTime>11/14/2022 11:24:08</publishTime>
       <publishTime>11/02/2022 22:03:20</publishTime>
-      <publishTime>05/27/2024 15:49:08</publishTime>
+      <publishTime>05/31/2024 15:57:18</publishTime>
     </File>
   </ItemGroup>
 </Project>
\ No newline at end of file
diff --git a/WebAPI/Properties/PublishProfiles/FolderProfile8.pubxml b/WebAPI/Properties/PublishProfiles/FolderProfile8.pubxml
new file mode 100644
index 0000000..cb89d73
--- /dev/null
+++ b/WebAPI/Properties/PublishProfiles/FolderProfile8.pubxml
@@ -0,0 +1,17 @@
+锘�<?xml version="1.0" encoding="utf-8"?>
+<!--
+https://go.microsoft.com/fwlink/?LinkID=208121. 
+-->
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <PropertyGroup>
+    <DeleteExistingFiles>True</DeleteExistingFiles>
+    <ExcludeApp_Data>False</ExcludeApp_Data>
+    <LaunchSiteAfterPublish>True</LaunchSiteAfterPublish>
+    <LastUsedBuildConfiguration>Debug</LastUsedBuildConfiguration>
+    <LastUsedPlatform>Any CPU</LastUsedPlatform>
+    <PublishProvider>FileSystem</PublishProvider>
+    <PublishUrl>D:\缃戠珯鍙戝竷\鏅轰簯MESWMS\API</PublishUrl>
+    <WebPublishMethod>FileSystem</WebPublishMethod>
+    <SiteUrlToLaunchAfterPublish />
+  </PropertyGroup>
+</Project>
\ No newline at end of file
diff --git a/WebAPI/Properties/PublishProfiles/FolderProfile8.pubxml.user b/WebAPI/Properties/PublishProfiles/FolderProfile8.pubxml.user
new file mode 100644
index 0000000..2eb1c05
--- /dev/null
+++ b/WebAPI/Properties/PublishProfiles/FolderProfile8.pubxml.user
@@ -0,0 +1,450 @@
+锘�<?xml version="1.0" encoding="utf-8"?>
+<!--
+https://go.microsoft.com/fwlink/?LinkID=208121. 
+-->
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <PropertyGroup>
+    <_PublishTargetUrl>D:\缃戠珯鍙戝竷\鏅轰簯MESWMS\API</_PublishTargetUrl>
+    <History>True|2024-05-25T02:20:28.8635566Z;True|2024-05-25T10:13:55.8351663+08:00;True|2024-05-25T10:09:48.5835797+08:00;True|2024-05-25T10:07:03.5401063+08:00;True|2024-05-25T09:59:32.4252784+08:00;</History>
+  </PropertyGroup>
+  <ItemGroup>
+    <File Include="apiapp.json">
+      <publishTime>05/25/2024 09:46:41</publishTime>
+    </File>
+    <File Include="bin/Antlr3.Runtime.dll">
+      <publishTime>02/22/2013 16:43:40</publishTime>
+    </File>
+    <File Include="bin/Antlr3.Runtime.pdb">
+      <publishTime>02/22/2013 16:43:40</publishTime>
+    </File>
+    <File Include="bin/BLL.dll">
+      <publishTime>05/25/2024 10:20:17</publishTime>
+    </File>
+    <File Include="bin/BLL.pdb">
+      <publishTime>05/25/2024 10:20:17</publishTime>
+    </File>
+    <File Include="bin/BouncyCastle.Crypto.dll">
+      <publishTime>12/18/2020 05:32:28</publishTime>
+    </File>
+    <File Include="bin/DAL.dll">
+      <publishTime>05/25/2024 10:20:16</publishTime>
+    </File>
+    <File Include="bin/DAL.pdb">
+      <publishTime>05/25/2024 10:20:16</publishTime>
+    </File>
+    <File Include="bin/Dapper.dll">
+      <publishTime>07/22/2016 22:52:40</publishTime>
+    </File>
+    <File Include="bin/DBUtility.dll">
+      <publishTime>05/25/2024 10:20:14</publishTime>
+    </File>
+    <File Include="bin/DBUtility.pdb">
+      <publishTime>05/25/2024 10:20:14</publishTime>
+    </File>
+    <File Include="bin/Grpc.Core.Api.dll">
+      <publishTime>03/22/2022 13:17:26</publishTime>
+    </File>
+    <File Include="bin/Grpc.Core.Api.pdb">
+      <publishTime>03/19/2022 07:39:42</publishTime>
+    </File>
+    <File Include="bin/Grpc.Core.dll">
+      <publishTime>03/22/2022 13:17:20</publishTime>
+    </File>
+    <File Include="bin/Grpc.Core.pdb">
+      <publishTime>03/19/2022 07:39:48</publishTime>
+    </File>
+    <File Include="bin/grpc_csharp_ext.x64.dll">
+      <publishTime>03/22/2022 13:17:22</publishTime>
+    </File>
+    <File Include="bin/grpc_csharp_ext.x86.dll">
+      <publishTime>03/22/2022 13:17:22</publishTime>
+    </File>
+    <File Include="bin/ICSharpCode.SharpZipLib.dll">
+      <publishTime>05/09/2021 01:08:30</publishTime>
+    </File>
+    <File Include="bin/ICSharpCode.SharpZipLib.pdb">
+      <publishTime>05/09/2021 01:08:30</publishTime>
+    </File>
+    <File Include="bin/Kingdee.BOS.WebApi.Client.dll">
+      <publishTime>05/25/2024 09:46:41</publishTime>
+    </File>
+    <File Include="bin/libgrpc_csharp_ext.x64.dylib">
+      <publishTime>03/19/2022 07:38:44</publishTime>
+    </File>
+    <File Include="bin/libgrpc_csharp_ext.x64.so">
+      <publishTime>03/19/2022 07:38:42</publishTime>
+    </File>
+    <File Include="bin/Microsoft.Azure.AppService.ApiApps.Service.dll">
+      <publishTime>03/19/2015 01:02:50</publishTime>
+    </File>
+    <File Include="bin/Microsoft.CSharp.dll">
+      <publishTime>09/26/2012 03:16:08</publishTime>
+    </File>
+    <File Include="bin/Microsoft.Web.Infrastructure.dll">
+      <publishTime>07/25/2012 19:48:56</publishTime>
+    </File>
+    <File Include="bin/Model.dll">
+      <publishTime>05/25/2024 10:20:14</publishTime>
+    </File>
+    <File Include="bin/Model.pdb">
+      <publishTime>05/25/2024 10:20:14</publishTime>
+    </File>
+    <File Include="bin/Models/ClsSc_MouldScrapOutBillMain.cs">
+      <publishTime>05/25/2024 09:46:41</publishTime>
+    </File>
+    <File Include="bin/Newtonsoft.Json.dll">
+      <publishTime>08/04/2014 04:33:56</publishTime>
+    </File>
+    <File Include="bin/NPOI.dll">
+      <publishTime>10/23/2021 09:07:54</publishTime>
+    </File>
+    <File Include="bin/NPOI.OOXML.dll">
+      <publishTime>10/23/2021 09:07:56</publishTime>
+    </File>
+    <File Include="bin/NPOI.OOXML.pdb">
+      <publishTime>10/23/2021 17:07:56</publishTime>
+    </File>
+    <File Include="bin/NPOI.OpenXml4Net.dll">
+      <publishTime>10/23/2021 09:07:54</publishTime>
+    </File>
+    <File Include="bin/NPOI.OpenXml4Net.pdb">
+      <publishTime>10/23/2021 17:07:54</publishTime>
+    </File>
+    <File Include="bin/NPOI.OpenXmlFormats.dll">
+      <publishTime>10/23/2021 09:07:54</publishTime>
+    </File>
+    <File Include="bin/NPOI.OpenXmlFormats.pdb">
+      <publishTime>10/23/2021 17:07:54</publishTime>
+    </File>
+    <File Include="bin/NPOI.pdb">
+      <publishTime>10/23/2021 17:07:54</publishTime>
+    </File>
+    <File Include="bin/Pub_Class.dll">
+      <publishTime>05/25/2024 10:20:13</publishTime>
+    </File>
+    <File Include="bin/Pub_Class.pdb">
+      <publishTime>05/25/2024 10:20:13</publishTime>
+    </File>
+    <File Include="bin/Pub_Control.dll">
+      <publishTime>05/25/2024 10:20:13</publishTime>
+    </File>
+    <File Include="bin/Pub_Control.pdb">
+      <publishTime>05/25/2024 10:20:13</publishTime>
+    </File>
+    <File Include="bin/RestSharp.dll">
+      <publishTime>08/31/2012 06:22:50</publishTime>
+    </File>
+    <File Include="bin/SQLHelper.dll">
+      <publishTime>05/25/2024 10:20:13</publishTime>
+    </File>
+    <File Include="bin/SQLHelper.pdb">
+      <publishTime>05/25/2024 10:20:13</publishTime>
+    </File>
+    <File Include="bin/Swashbuckle.Core.dll">
+      <publishTime>02/16/2015 01:57:08</publishTime>
+    </File>
+    <File Include="bin/System.Buffers.dll">
+      <publishTime>07/19/2017 18:01:28</publishTime>
+    </File>
+    <File Include="bin/System.ComponentModel.DataAnnotations.dll">
+      <publishTime>09/26/2012 03:16:08</publishTime>
+    </File>
+    <File Include="bin/System.Configuration.dll">
+      <publishTime>09/26/2012 03:16:08</publishTime>
+    </File>
+    <File Include="bin/System.Data.DataSetExtensions.dll">
+      <publishTime>09/26/2012 03:16:08</publishTime>
+    </File>
+    <File Include="bin/System.Data.dll">
+      <publishTime>09/26/2012 03:16:08</publishTime>
+    </File>
+    <File Include="bin/System.dll">
+      <publishTime>09/26/2012 03:16:08</publishTime>
+    </File>
+    <File Include="bin/System.Drawing.dll">
+      <publishTime>09/26/2012 03:16:08</publishTime>
+    </File>
+    <File Include="bin/System.EnterpriseServices.dll">
+      <publishTime>09/26/2012 03:16:08</publishTime>
+    </File>
+    <File Include="bin/System.IdentityModel.Tokens.Jwt.dll">
+      <publishTime>08/19/2014 18:03:34</publishTime>
+    </File>
+    <File Include="bin/System.Memory.dll">
+      <publishTime>04/18/2019 00:24:34</publishTime>
+    </File>
+    <File Include="bin/System.Net.Http.dll">
+      <publishTime>09/26/2012 03:16:08</publishTime>
+    </File>
+    <File Include="bin/System.Net.Http.Formatting.dll">
+      <publishTime>11/28/2018 21:00:36</publishTime>
+    </File>
+    <File Include="bin/System.Runtime.CompilerServices.Unsafe.dll">
+      <publishTime>09/19/2018 03:38:10</publishTime>
+    </File>
+    <File Include="bin/System.Runtime.Serialization.dll">
+      <publishTime>09/26/2012 03:16:08</publishTime>
+    </File>
+    <File Include="bin/System.Web.ApplicationServices.dll">
+      <publishTime>09/26/2012 03:16:08</publishTime>
+    </File>
+    <File Include="bin/System.Web.Cors.dll">
+      <publishTime>11/28/2018 20:58:44</publishTime>
+    </File>
+    <File Include="bin/System.Web.dll">
+      <publishTime>09/26/2012 03:16:08</publishTime>
+    </File>
+    <File Include="bin/System.Web.DynamicData.dll">
+      <publishTime>09/26/2012 03:16:08</publishTime>
+    </File>
+    <File Include="bin/System.Web.Entity.dll">
+      <publishTime>09/26/2012 03:16:08</publishTime>
+    </File>
+    <File Include="bin/System.Web.Extensions.dll">
+      <publishTime>09/26/2012 03:16:08</publishTime>
+    </File>
+    <File Include="bin/System.Web.Helpers.dll">
+      <publishTime>01/28/2015 12:04:30</publishTime>
+    </File>
+    <File Include="bin/System.Web.Http.Cors.dll">
+      <publishTime>11/28/2018 21:01:26</publishTime>
+    </File>
+    <File Include="bin/System.Web.Http.dll">
+      <publishTime>11/28/2018 21:01:00</publishTime>
+    </File>
+    <File Include="bin/System.Web.Http.WebHost.dll">
+      <publishTime>05/25/2024 09:46:41</publishTime>
+    </File>
+    <File Include="bin/System.Web.Mvc.dll">
+      <publishTime>01/28/2015 12:02:18</publishTime>
+    </File>
+    <File Include="bin/System.Web.Optimization.dll">
+      <publishTime>02/11/2014 23:26:04</publishTime>
+    </File>
+    <File Include="bin/System.Web.Razor.dll">
+      <publishTime>01/28/2015 12:02:32</publishTime>
+    </File>
+    <File Include="bin/System.Web.Services.dll">
+      <publishTime>09/26/2012 03:16:08</publishTime>
+    </File>
+    <File Include="bin/System.Web.WebPages.Deployment.dll">
+      <publishTime>01/28/2015 12:04:30</publishTime>
+    </File>
+    <File Include="bin/System.Web.WebPages.dll">
+      <publishTime>01/28/2015 12:04:30</publishTime>
+    </File>
+    <File Include="bin/System.Web.WebPages.Razor.dll">
+      <publishTime>01/28/2015 12:04:30</publishTime>
+    </File>
+    <File Include="bin/System.Xml.dll">
+      <publishTime>09/26/2012 03:16:08</publishTime>
+    </File>
+    <File Include="bin/System.Xml.Linq.dll">
+      <publishTime>09/26/2012 03:16:08</publishTime>
+    </File>
+    <File Include="bin/WebActivatorEx.dll">
+      <publishTime>11/24/2014 19:18:48</publishTime>
+    </File>
+    <File Include="bin/WebAPI.dll">
+      <publishTime>05/25/2024 10:20:21</publishTime>
+    </File>
+    <File Include="bin/WebAPI.pdb">
+      <publishTime>05/25/2024 10:20:21</publishTime>
+    </File>
+    <File Include="bin/WebGrease.dll">
+      <publishTime>07/18/2013 01:03:52</publishTime>
+    </File>
+    <File Include="bin/zh-Hans/System.Net.Http.Formatting.resources.dll">
+      <publishTime>11/29/2018 21:26:02</publishTime>
+    </File>
+    <File Include="bin/zh-Hans/System.Web.Http.resources.dll">
+      <publishTime>11/29/2018 21:26:30</publishTime>
+    </File>
+    <File Include="Config/kdapi.config">
+      <publishTime>05/25/2024 09:46:41</publishTime>
+    </File>
+    <File Include="Content/bootstrap.css">
+      <publishTime>05/25/2024 09:46:41</publishTime>
+    </File>
+    <File Include="Content/bootstrap.min.css">
+      <publishTime>05/25/2024 09:46:41</publishTime>
+    </File>
+    <File Include="Content/Site.css">
+      <publishTime>05/25/2024 09:46:41</publishTime>
+    </File>
+    <File Include="DLL/BLL.dll">
+      <publishTime>05/25/2024 09:46:41</publishTime>
+    </File>
+    <File Include="DLL/DAL.dll">
+      <publishTime>05/25/2024 09:46:41</publishTime>
+    </File>
+    <File Include="DLL/DBUtility.dll">
+      <publishTime>05/25/2024 09:46:41</publishTime>
+    </File>
+    <File Include="DLL/Kingdee.BOS.WebApi.Client.dll">
+      <publishTime>05/25/2024 09:46:41</publishTime>
+    </File>
+    <File Include="DLL/Model.dll">
+      <publishTime>05/25/2024 09:46:41</publishTime>
+    </File>
+    <File Include="DLL/Newtonsoft.Json.Net35.dll">
+      <publishTime>05/25/2024 09:46:41</publishTime>
+    </File>
+    <File Include="DLL/Pub_Class.dll">
+      <publishTime>05/25/2024 09:46:41</publishTime>
+    </File>
+    <File Include="DLL/Pub_Control.dll">
+      <publishTime>05/25/2024 09:46:41</publishTime>
+    </File>
+    <File Include="DLL/SQLHelper.dll">
+      <publishTime>05/25/2024 09:46:41</publishTime>
+    </File>
+    <File Include="fonts/glyphicons-halflings-regular.eot">
+      <publishTime>05/25/2024 09:46:41</publishTime>
+    </File>
+    <File Include="fonts/glyphicons-halflings-regular.svg">
+      <publishTime>05/25/2024 09:46:41</publishTime>
+    </File>
+    <File Include="fonts/glyphicons-halflings-regular.ttf">
+      <publishTime>05/25/2024 09:46:41</publishTime>
+    </File>
+    <File Include="fonts/glyphicons-halflings-regular.woff">
+      <publishTime>05/25/2024 09:46:41</publishTime>
+    </File>
+    <File Include="Global.asax">
+      <publishTime>05/25/2024 09:46:41</publishTime>
+    </File>
+    <File Include="grpc_csharp_ext.x64.dll">
+      <publishTime>03/22/2022 13:17:22</publishTime>
+    </File>
+    <File Include="grpc_csharp_ext.x86.dll">
+      <publishTime>03/22/2022 13:17:22</publishTime>
+    </File>
+    <File Include="Index.html">
+      <publishTime>05/25/2024 09:46:41</publishTime>
+    </File>
+    <File Include="libgrpc_csharp_ext.x64.dylib">
+      <publishTime>03/19/2022 07:38:44</publishTime>
+    </File>
+    <File Include="libgrpc_csharp_ext.x64.so">
+      <publishTime>03/19/2022 07:38:42</publishTime>
+    </File>
+    <File Include="libman.json">
+      <publishTime>05/25/2024 09:46:41</publishTime>
+    </File>
+    <File Include="Metadata/deploymentTemplates/apiappconfig.azureresource.json">
+      <publishTime>05/25/2024 09:46:41</publishTime>
+    </File>
+    <File Include="packages.config">
+      <publishTime>05/25/2024 09:46:41</publishTime>
+    </File>
+    <File Include="Views/Scripts/bootstrap.js">
+      <publishTime>05/25/2024 09:46:41</publishTime>
+    </File>
+    <File Include="Views/Scripts/bootstrap.min.js">
+      <publishTime>05/25/2024 09:46:41</publishTime>
+    </File>
+    <File Include="Views/Scripts/jquery-1.10.2.js">
+      <publishTime>05/25/2024 09:46:41</publishTime>
+    </File>
+    <File Include="Views/Scripts/jquery-1.10.2.min.js">
+      <publishTime>05/25/2024 09:46:41</publishTime>
+    </File>
+    <File Include="Views/Scripts/jquery-1.10.2.min.map">
+      <publishTime>05/25/2024 09:46:41</publishTime>
+    </File>
+    <File Include="Views/Scripts/jquery.validate.js">
+      <publishTime>05/25/2024 09:46:41</publishTime>
+    </File>
+    <File Include="Views/Scripts/jquery.validate.min.js">
+      <publishTime>05/25/2024 09:46:41</publishTime>
+    </File>
+    <File Include="Views/Scripts/jquery.validate.unobtrusive.js">
+      <publishTime>05/25/2024 09:46:41</publishTime>
+    </File>
+    <File Include="Views/Scripts/jquery.validate.unobtrusive.min.js">
+      <publishTime>05/25/2024 09:46:41</publishTime>
+    </File>
+    <File Include="Views/Scripts/modernizr-2.6.2.js">
+      <publishTime>05/25/2024 09:46:41</publishTime>
+    </File>
+    <File Include="Views/Shared/Error.cshtml">
+      <publishTime>05/25/2024 09:46:41</publishTime>
+    </File>
+    <File Include="Views/Shared/_Layout.cshtml">
+      <publishTime>05/25/2024 09:46:41</publishTime>
+    </File>
+    <File Include="Views/web.config">
+      <publishTime>05/25/2024 09:46:41</publishTime>
+    </File>
+    <File Include="Views/_ViewStart.cshtml">
+      <publishTime>05/25/2024 09:46:41</publishTime>
+    </File>
+    <File Include="Web References/WebS/ClsCLD_Customer_Model.datasource">
+      <publishTime>05/25/2024 09:46:41</publishTime>
+    </File>
+    <File Include="Web References/WebS/ClsCLD_Department_Model.datasource">
+      <publishTime>05/25/2024 09:46:41</publishTime>
+    </File>
+    <File Include="Web References/WebS/ClsCLD_Employee_Model.datasource">
+      <publishTime>05/25/2024 09:46:41</publishTime>
+    </File>
+    <File Include="Web References/WebS/ClsCLD_StockPlace_Model.datasource">
+      <publishTime>05/25/2024 09:46:41</publishTime>
+    </File>
+    <File Include="Web References/WebS/ClsCLD_Supplier_Model.datasource">
+      <publishTime>05/25/2024 09:46:41</publishTime>
+    </File>
+    <File Include="Web References/WebS/ClsCLD_Warehouse_Model.datasource">
+      <publishTime>05/25/2024 09:46:41</publishTime>
+    </File>
+    <File Include="Web References/WebS/ClsGy_BadReason_Model.datasource">
+      <publishTime>05/25/2024 09:46:41</publishTime>
+    </File>
+    <File Include="Web References/WebS/ClsGy_BarCodeBill_WMS_Model.datasource">
+      <publishTime>05/25/2024 09:46:41</publishTime>
+    </File>
+    <File Include="Web References/WebS/ClsGy_BarCodeBill_WMS_Model_View.datasource">
+      <publishTime>05/25/2024 09:46:41</publishTime>
+    </File>
+    <File Include="Web References/WebS/ClsGy_Customer_Model.datasource">
+      <publishTime>05/25/2024 09:46:41</publishTime>
+    </File>
+    <File Include="Web References/WebS/ClsGy_Department_Model.datasource">
+      <publishTime>05/25/2024 09:46:41</publishTime>
+    </File>
+    <File Include="Web References/WebS/ClsGy_Employee_Model.datasource">
+      <publishTime>05/25/2024 09:46:41</publishTime>
+    </File>
+    <File Include="Web References/WebS/ClsGy_Group_Model.datasource">
+      <publishTime>05/25/2024 09:46:41</publishTime>
+    </File>
+    <File Include="Web References/WebS/ClsGy_Item30JiTai_Model.datasource">
+      <publishTime>05/25/2024 09:46:41</publishTime>
+    </File>
+    <File Include="Web References/WebS/ClsGy_Source_Model.datasource">
+      <publishTime>05/25/2024 09:46:41</publishTime>
+    </File>
+    <File Include="Web References/WebS/ClsGy_StockPlace_Model.datasource">
+      <publishTime>05/25/2024 09:46:41</publishTime>
+    </File>
+    <File Include="Web References/WebS/ClsGy_Supplier_Model.datasource">
+      <publishTime>05/25/2024 09:46:41</publishTime>
+    </File>
+    <File Include="Web References/WebS/ClsGy_Warehouse_Model.datasource">
+      <publishTime>05/25/2024 09:46:41</publishTime>
+    </File>
+    <File Include="Web References/WebS/ClsKf_ICStockBill_Mould.datasource">
+      <publishTime>05/25/2024 09:46:41</publishTime>
+    </File>
+    <File Include="Web References/WebS/ClsKf_ICStockBill_WMS.datasource">
+      <publishTime>05/25/2024 09:46:41</publishTime>
+    </File>
+    <File Include="Web References/WebS/Reference.map">
+      <publishTime>05/25/2024 09:46:41</publishTime>
+    </File>
+    <File Include="Web.config">
+      <publishTime>05/25/2024 10:20:28</publishTime>
+    </File>
+  </ItemGroup>
+</Project>
\ No newline at end of file
diff --git a/WebAPI/Properties/PublishProfiles/FolderProfile9.pubxml b/WebAPI/Properties/PublishProfiles/FolderProfile9.pubxml
new file mode 100644
index 0000000..cb89d73
--- /dev/null
+++ b/WebAPI/Properties/PublishProfiles/FolderProfile9.pubxml
@@ -0,0 +1,17 @@
+锘�<?xml version="1.0" encoding="utf-8"?>
+<!--
+https://go.microsoft.com/fwlink/?LinkID=208121. 
+-->
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <PropertyGroup>
+    <DeleteExistingFiles>True</DeleteExistingFiles>
+    <ExcludeApp_Data>False</ExcludeApp_Data>
+    <LaunchSiteAfterPublish>True</LaunchSiteAfterPublish>
+    <LastUsedBuildConfiguration>Debug</LastUsedBuildConfiguration>
+    <LastUsedPlatform>Any CPU</LastUsedPlatform>
+    <PublishProvider>FileSystem</PublishProvider>
+    <PublishUrl>D:\缃戠珯鍙戝竷\鏅轰簯MESWMS\API</PublishUrl>
+    <WebPublishMethod>FileSystem</WebPublishMethod>
+    <SiteUrlToLaunchAfterPublish />
+  </PropertyGroup>
+</Project>
\ No newline at end of file
diff --git a/WebAPI/Properties/PublishProfiles/FolderProfile9.pubxml.user b/WebAPI/Properties/PublishProfiles/FolderProfile9.pubxml.user
new file mode 100644
index 0000000..643a521
--- /dev/null
+++ b/WebAPI/Properties/PublishProfiles/FolderProfile9.pubxml.user
@@ -0,0 +1,450 @@
+锘�<?xml version="1.0" encoding="utf-8"?>
+<!--
+https://go.microsoft.com/fwlink/?LinkID=208121. 
+-->
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <PropertyGroup>
+    <History>True|2024-05-28T07:39:01.7560878Z;False|2024-05-28T15:38:15.0419571+08:00;</History>
+    <_PublishTargetUrl>D:\缃戠珯鍙戝竷\鏅轰簯MESWMS\API</_PublishTargetUrl>
+  </PropertyGroup>
+  <ItemGroup>
+    <File Include="apiapp.json">
+      <publishTime>05/25/2024 09:46:41</publishTime>
+    </File>
+    <File Include="bin/Antlr3.Runtime.dll">
+      <publishTime>02/22/2013 16:43:40</publishTime>
+    </File>
+    <File Include="bin/Antlr3.Runtime.pdb">
+      <publishTime>02/22/2013 16:43:40</publishTime>
+    </File>
+    <File Include="bin/BLL.dll">
+      <publishTime>05/28/2024 15:35:42</publishTime>
+    </File>
+    <File Include="bin/BLL.pdb">
+      <publishTime>05/28/2024 15:35:42</publishTime>
+    </File>
+    <File Include="bin/BouncyCastle.Crypto.dll">
+      <publishTime>12/18/2020 05:32:28</publishTime>
+    </File>
+    <File Include="bin/DAL.dll">
+      <publishTime>05/28/2024 15:35:41</publishTime>
+    </File>
+    <File Include="bin/DAL.pdb">
+      <publishTime>05/28/2024 15:35:41</publishTime>
+    </File>
+    <File Include="bin/Dapper.dll">
+      <publishTime>07/22/2016 22:52:40</publishTime>
+    </File>
+    <File Include="bin/DBUtility.dll">
+      <publishTime>05/28/2024 15:35:39</publishTime>
+    </File>
+    <File Include="bin/DBUtility.pdb">
+      <publishTime>05/28/2024 15:35:39</publishTime>
+    </File>
+    <File Include="bin/Grpc.Core.Api.dll">
+      <publishTime>03/22/2022 13:17:26</publishTime>
+    </File>
+    <File Include="bin/Grpc.Core.Api.pdb">
+      <publishTime>03/19/2022 07:39:42</publishTime>
+    </File>
+    <File Include="bin/Grpc.Core.dll">
+      <publishTime>03/22/2022 13:17:20</publishTime>
+    </File>
+    <File Include="bin/Grpc.Core.pdb">
+      <publishTime>03/19/2022 07:39:48</publishTime>
+    </File>
+    <File Include="bin/grpc_csharp_ext.x64.dll">
+      <publishTime>03/22/2022 13:17:22</publishTime>
+    </File>
+    <File Include="bin/grpc_csharp_ext.x86.dll">
+      <publishTime>03/22/2022 13:17:22</publishTime>
+    </File>
+    <File Include="bin/ICSharpCode.SharpZipLib.dll">
+      <publishTime>05/09/2021 01:08:30</publishTime>
+    </File>
+    <File Include="bin/ICSharpCode.SharpZipLib.pdb">
+      <publishTime>05/09/2021 01:08:30</publishTime>
+    </File>
+    <File Include="bin/Kingdee.BOS.WebApi.Client.dll">
+      <publishTime>05/25/2024 09:46:41</publishTime>
+    </File>
+    <File Include="bin/libgrpc_csharp_ext.x64.dylib">
+      <publishTime>03/19/2022 07:38:44</publishTime>
+    </File>
+    <File Include="bin/libgrpc_csharp_ext.x64.so">
+      <publishTime>03/19/2022 07:38:42</publishTime>
+    </File>
+    <File Include="bin/Microsoft.Azure.AppService.ApiApps.Service.dll">
+      <publishTime>03/19/2015 01:02:50</publishTime>
+    </File>
+    <File Include="bin/Microsoft.CSharp.dll">
+      <publishTime>09/26/2012 03:16:08</publishTime>
+    </File>
+    <File Include="bin/Microsoft.Web.Infrastructure.dll">
+      <publishTime>07/25/2012 19:48:56</publishTime>
+    </File>
+    <File Include="bin/Model.dll">
+      <publishTime>05/28/2024 15:35:39</publishTime>
+    </File>
+    <File Include="bin/Model.pdb">
+      <publishTime>05/28/2024 15:35:39</publishTime>
+    </File>
+    <File Include="bin/Models/ClsSc_MouldScrapOutBillMain.cs">
+      <publishTime>05/25/2024 09:46:41</publishTime>
+    </File>
+    <File Include="bin/Newtonsoft.Json.dll">
+      <publishTime>08/04/2014 04:33:56</publishTime>
+    </File>
+    <File Include="bin/NPOI.dll">
+      <publishTime>10/23/2021 09:07:54</publishTime>
+    </File>
+    <File Include="bin/NPOI.OOXML.dll">
+      <publishTime>10/23/2021 09:07:56</publishTime>
+    </File>
+    <File Include="bin/NPOI.OOXML.pdb">
+      <publishTime>10/23/2021 17:07:56</publishTime>
+    </File>
+    <File Include="bin/NPOI.OpenXml4Net.dll">
+      <publishTime>10/23/2021 09:07:54</publishTime>
+    </File>
+    <File Include="bin/NPOI.OpenXml4Net.pdb">
+      <publishTime>10/23/2021 17:07:54</publishTime>
+    </File>
+    <File Include="bin/NPOI.OpenXmlFormats.dll">
+      <publishTime>10/23/2021 09:07:54</publishTime>
+    </File>
+    <File Include="bin/NPOI.OpenXmlFormats.pdb">
+      <publishTime>10/23/2021 17:07:54</publishTime>
+    </File>
+    <File Include="bin/NPOI.pdb">
+      <publishTime>10/23/2021 17:07:54</publishTime>
+    </File>
+    <File Include="bin/Pub_Class.dll">
+      <publishTime>05/28/2024 15:35:38</publishTime>
+    </File>
+    <File Include="bin/Pub_Class.pdb">
+      <publishTime>05/28/2024 15:35:38</publishTime>
+    </File>
+    <File Include="bin/Pub_Control.dll">
+      <publishTime>05/28/2024 15:35:38</publishTime>
+    </File>
+    <File Include="bin/Pub_Control.pdb">
+      <publishTime>05/28/2024 15:35:38</publishTime>
+    </File>
+    <File Include="bin/RestSharp.dll">
+      <publishTime>08/31/2012 06:22:50</publishTime>
+    </File>
+    <File Include="bin/SQLHelper.dll">
+      <publishTime>05/28/2024 15:35:38</publishTime>
+    </File>
+    <File Include="bin/SQLHelper.pdb">
+      <publishTime>05/28/2024 15:35:38</publishTime>
+    </File>
+    <File Include="bin/Swashbuckle.Core.dll">
+      <publishTime>02/16/2015 01:57:08</publishTime>
+    </File>
+    <File Include="bin/System.Buffers.dll">
+      <publishTime>07/19/2017 18:01:28</publishTime>
+    </File>
+    <File Include="bin/System.ComponentModel.DataAnnotations.dll">
+      <publishTime>09/26/2012 03:16:08</publishTime>
+    </File>
+    <File Include="bin/System.Configuration.dll">
+      <publishTime>09/26/2012 03:16:08</publishTime>
+    </File>
+    <File Include="bin/System.Data.DataSetExtensions.dll">
+      <publishTime>09/26/2012 03:16:08</publishTime>
+    </File>
+    <File Include="bin/System.Data.dll">
+      <publishTime>09/26/2012 03:16:08</publishTime>
+    </File>
+    <File Include="bin/System.dll">
+      <publishTime>09/26/2012 03:16:08</publishTime>
+    </File>
+    <File Include="bin/System.Drawing.dll">
+      <publishTime>09/26/2012 03:16:08</publishTime>
+    </File>
+    <File Include="bin/System.EnterpriseServices.dll">
+      <publishTime>09/26/2012 03:16:08</publishTime>
+    </File>
+    <File Include="bin/System.IdentityModel.Tokens.Jwt.dll">
+      <publishTime>08/19/2014 18:03:34</publishTime>
+    </File>
+    <File Include="bin/System.Memory.dll">
+      <publishTime>04/18/2019 00:24:34</publishTime>
+    </File>
+    <File Include="bin/System.Net.Http.dll">
+      <publishTime>09/26/2012 03:16:08</publishTime>
+    </File>
+    <File Include="bin/System.Net.Http.Formatting.dll">
+      <publishTime>11/28/2018 21:00:36</publishTime>
+    </File>
+    <File Include="bin/System.Runtime.CompilerServices.Unsafe.dll">
+      <publishTime>09/19/2018 03:38:10</publishTime>
+    </File>
+    <File Include="bin/System.Runtime.Serialization.dll">
+      <publishTime>09/26/2012 03:16:08</publishTime>
+    </File>
+    <File Include="bin/System.Web.ApplicationServices.dll">
+      <publishTime>09/26/2012 03:16:08</publishTime>
+    </File>
+    <File Include="bin/System.Web.Cors.dll">
+      <publishTime>11/28/2018 20:58:44</publishTime>
+    </File>
+    <File Include="bin/System.Web.dll">
+      <publishTime>09/26/2012 03:16:08</publishTime>
+    </File>
+    <File Include="bin/System.Web.DynamicData.dll">
+      <publishTime>09/26/2012 03:16:08</publishTime>
+    </File>
+    <File Include="bin/System.Web.Entity.dll">
+      <publishTime>09/26/2012 03:16:08</publishTime>
+    </File>
+    <File Include="bin/System.Web.Extensions.dll">
+      <publishTime>09/26/2012 03:16:08</publishTime>
+    </File>
+    <File Include="bin/System.Web.Helpers.dll">
+      <publishTime>01/28/2015 12:04:30</publishTime>
+    </File>
+    <File Include="bin/System.Web.Http.Cors.dll">
+      <publishTime>11/28/2018 21:01:26</publishTime>
+    </File>
+    <File Include="bin/System.Web.Http.dll">
+      <publishTime>11/28/2018 21:01:00</publishTime>
+    </File>
+    <File Include="bin/System.Web.Http.WebHost.dll">
+      <publishTime>05/25/2024 09:46:41</publishTime>
+    </File>
+    <File Include="bin/System.Web.Mvc.dll">
+      <publishTime>01/28/2015 12:02:18</publishTime>
+    </File>
+    <File Include="bin/System.Web.Optimization.dll">
+      <publishTime>02/11/2014 23:26:04</publishTime>
+    </File>
+    <File Include="bin/System.Web.Razor.dll">
+      <publishTime>01/28/2015 12:02:32</publishTime>
+    </File>
+    <File Include="bin/System.Web.Services.dll">
+      <publishTime>09/26/2012 03:16:08</publishTime>
+    </File>
+    <File Include="bin/System.Web.WebPages.Deployment.dll">
+      <publishTime>01/28/2015 12:04:30</publishTime>
+    </File>
+    <File Include="bin/System.Web.WebPages.dll">
+      <publishTime>01/28/2015 12:04:30</publishTime>
+    </File>
+    <File Include="bin/System.Web.WebPages.Razor.dll">
+      <publishTime>01/28/2015 12:04:30</publishTime>
+    </File>
+    <File Include="bin/System.Xml.dll">
+      <publishTime>09/26/2012 03:16:08</publishTime>
+    </File>
+    <File Include="bin/System.Xml.Linq.dll">
+      <publishTime>09/26/2012 03:16:08</publishTime>
+    </File>
+    <File Include="bin/WebActivatorEx.dll">
+      <publishTime>11/24/2014 19:18:48</publishTime>
+    </File>
+    <File Include="bin/WebAPI.dll">
+      <publishTime>05/28/2024 15:39:00</publishTime>
+    </File>
+    <File Include="bin/WebAPI.pdb">
+      <publishTime>05/28/2024 15:39:00</publishTime>
+    </File>
+    <File Include="bin/WebGrease.dll">
+      <publishTime>07/18/2013 01:03:52</publishTime>
+    </File>
+    <File Include="bin/zh-Hans/System.Net.Http.Formatting.resources.dll">
+      <publishTime>11/29/2018 21:26:02</publishTime>
+    </File>
+    <File Include="bin/zh-Hans/System.Web.Http.resources.dll">
+      <publishTime>11/29/2018 21:26:30</publishTime>
+    </File>
+    <File Include="Config/kdapi.config">
+      <publishTime>05/25/2024 09:46:41</publishTime>
+    </File>
+    <File Include="Content/bootstrap.css">
+      <publishTime>05/25/2024 09:46:41</publishTime>
+    </File>
+    <File Include="Content/bootstrap.min.css">
+      <publishTime>05/25/2024 09:46:41</publishTime>
+    </File>
+    <File Include="Content/Site.css">
+      <publishTime>05/25/2024 09:46:41</publishTime>
+    </File>
+    <File Include="DLL/BLL.dll">
+      <publishTime>05/25/2024 09:46:41</publishTime>
+    </File>
+    <File Include="DLL/DAL.dll">
+      <publishTime>05/25/2024 09:46:41</publishTime>
+    </File>
+    <File Include="DLL/DBUtility.dll">
+      <publishTime>05/25/2024 09:46:41</publishTime>
+    </File>
+    <File Include="DLL/Kingdee.BOS.WebApi.Client.dll">
+      <publishTime>05/25/2024 09:46:41</publishTime>
+    </File>
+    <File Include="DLL/Model.dll">
+      <publishTime>05/25/2024 09:46:41</publishTime>
+    </File>
+    <File Include="DLL/Newtonsoft.Json.Net35.dll">
+      <publishTime>05/25/2024 09:46:41</publishTime>
+    </File>
+    <File Include="DLL/Pub_Class.dll">
+      <publishTime>05/25/2024 09:46:41</publishTime>
+    </File>
+    <File Include="DLL/Pub_Control.dll">
+      <publishTime>05/25/2024 09:46:41</publishTime>
+    </File>
+    <File Include="DLL/SQLHelper.dll">
+      <publishTime>05/25/2024 09:46:41</publishTime>
+    </File>
+    <File Include="fonts/glyphicons-halflings-regular.eot">
+      <publishTime>05/25/2024 09:46:41</publishTime>
+    </File>
+    <File Include="fonts/glyphicons-halflings-regular.svg">
+      <publishTime>05/25/2024 09:46:41</publishTime>
+    </File>
+    <File Include="fonts/glyphicons-halflings-regular.ttf">
+      <publishTime>05/25/2024 09:46:41</publishTime>
+    </File>
+    <File Include="fonts/glyphicons-halflings-regular.woff">
+      <publishTime>05/25/2024 09:46:41</publishTime>
+    </File>
+    <File Include="Global.asax">
+      <publishTime>05/25/2024 09:46:41</publishTime>
+    </File>
+    <File Include="grpc_csharp_ext.x64.dll">
+      <publishTime>03/22/2022 13:17:22</publishTime>
+    </File>
+    <File Include="grpc_csharp_ext.x86.dll">
+      <publishTime>03/22/2022 13:17:22</publishTime>
+    </File>
+    <File Include="Index.html">
+      <publishTime>05/25/2024 09:46:41</publishTime>
+    </File>
+    <File Include="libgrpc_csharp_ext.x64.dylib">
+      <publishTime>03/19/2022 07:38:44</publishTime>
+    </File>
+    <File Include="libgrpc_csharp_ext.x64.so">
+      <publishTime>03/19/2022 07:38:42</publishTime>
+    </File>
+    <File Include="libman.json">
+      <publishTime>05/25/2024 09:46:41</publishTime>
+    </File>
+    <File Include="Metadata/deploymentTemplates/apiappconfig.azureresource.json">
+      <publishTime>05/25/2024 09:46:41</publishTime>
+    </File>
+    <File Include="packages.config">
+      <publishTime>05/25/2024 09:46:41</publishTime>
+    </File>
+    <File Include="Views/Scripts/bootstrap.js">
+      <publishTime>05/25/2024 09:46:41</publishTime>
+    </File>
+    <File Include="Views/Scripts/bootstrap.min.js">
+      <publishTime>05/25/2024 09:46:41</publishTime>
+    </File>
+    <File Include="Views/Scripts/jquery-1.10.2.js">
+      <publishTime>05/25/2024 09:46:41</publishTime>
+    </File>
+    <File Include="Views/Scripts/jquery-1.10.2.min.js">
+      <publishTime>05/25/2024 09:46:41</publishTime>
+    </File>
+    <File Include="Views/Scripts/jquery-1.10.2.min.map">
+      <publishTime>05/25/2024 09:46:41</publishTime>
+    </File>
+    <File Include="Views/Scripts/jquery.validate.js">
+      <publishTime>05/25/2024 09:46:41</publishTime>
+    </File>
+    <File Include="Views/Scripts/jquery.validate.min.js">
+      <publishTime>05/25/2024 09:46:41</publishTime>
+    </File>
+    <File Include="Views/Scripts/jquery.validate.unobtrusive.js">
+      <publishTime>05/25/2024 09:46:41</publishTime>
+    </File>
+    <File Include="Views/Scripts/jquery.validate.unobtrusive.min.js">
+      <publishTime>05/25/2024 09:46:41</publishTime>
+    </File>
+    <File Include="Views/Scripts/modernizr-2.6.2.js">
+      <publishTime>05/25/2024 09:46:41</publishTime>
+    </File>
+    <File Include="Views/Shared/Error.cshtml">
+      <publishTime>05/25/2024 09:46:41</publishTime>
+    </File>
+    <File Include="Views/Shared/_Layout.cshtml">
+      <publishTime>05/25/2024 09:46:41</publishTime>
+    </File>
+    <File Include="Views/web.config">
+      <publishTime>05/25/2024 09:46:41</publishTime>
+    </File>
+    <File Include="Views/_ViewStart.cshtml">
+      <publishTime>05/25/2024 09:46:41</publishTime>
+    </File>
+    <File Include="Web References/WebS/ClsCLD_Customer_Model.datasource">
+      <publishTime>05/25/2024 09:46:41</publishTime>
+    </File>
+    <File Include="Web References/WebS/ClsCLD_Department_Model.datasource">
+      <publishTime>05/25/2024 09:46:41</publishTime>
+    </File>
+    <File Include="Web References/WebS/ClsCLD_Employee_Model.datasource">
+      <publishTime>05/25/2024 09:46:41</publishTime>
+    </File>
+    <File Include="Web References/WebS/ClsCLD_StockPlace_Model.datasource">
+      <publishTime>05/25/2024 09:46:41</publishTime>
+    </File>
+    <File Include="Web References/WebS/ClsCLD_Supplier_Model.datasource">
+      <publishTime>05/25/2024 09:46:41</publishTime>
+    </File>
+    <File Include="Web References/WebS/ClsCLD_Warehouse_Model.datasource">
+      <publishTime>05/25/2024 09:46:41</publishTime>
+    </File>
+    <File Include="Web References/WebS/ClsGy_BadReason_Model.datasource">
+      <publishTime>05/25/2024 09:46:41</publishTime>
+    </File>
+    <File Include="Web References/WebS/ClsGy_BarCodeBill_WMS_Model.datasource">
+      <publishTime>05/25/2024 09:46:41</publishTime>
+    </File>
+    <File Include="Web References/WebS/ClsGy_BarCodeBill_WMS_Model_View.datasource">
+      <publishTime>05/25/2024 09:46:41</publishTime>
+    </File>
+    <File Include="Web References/WebS/ClsGy_Customer_Model.datasource">
+      <publishTime>05/25/2024 09:46:41</publishTime>
+    </File>
+    <File Include="Web References/WebS/ClsGy_Department_Model.datasource">
+      <publishTime>05/25/2024 09:46:41</publishTime>
+    </File>
+    <File Include="Web References/WebS/ClsGy_Employee_Model.datasource">
+      <publishTime>05/25/2024 09:46:41</publishTime>
+    </File>
+    <File Include="Web References/WebS/ClsGy_Group_Model.datasource">
+      <publishTime>05/25/2024 09:46:41</publishTime>
+    </File>
+    <File Include="Web References/WebS/ClsGy_Item30JiTai_Model.datasource">
+      <publishTime>05/25/2024 09:46:41</publishTime>
+    </File>
+    <File Include="Web References/WebS/ClsGy_Source_Model.datasource">
+      <publishTime>05/25/2024 09:46:41</publishTime>
+    </File>
+    <File Include="Web References/WebS/ClsGy_StockPlace_Model.datasource">
+      <publishTime>05/25/2024 09:46:41</publishTime>
+    </File>
+    <File Include="Web References/WebS/ClsGy_Supplier_Model.datasource">
+      <publishTime>05/25/2024 09:46:41</publishTime>
+    </File>
+    <File Include="Web References/WebS/ClsGy_Warehouse_Model.datasource">
+      <publishTime>05/25/2024 09:46:41</publishTime>
+    </File>
+    <File Include="Web References/WebS/ClsKf_ICStockBill_Mould.datasource">
+      <publishTime>05/25/2024 09:46:41</publishTime>
+    </File>
+    <File Include="Web References/WebS/ClsKf_ICStockBill_WMS.datasource">
+      <publishTime>05/25/2024 09:46:41</publishTime>
+    </File>
+    <File Include="Web References/WebS/Reference.map">
+      <publishTime>05/25/2024 09:46:41</publishTime>
+    </File>
+    <File Include="Web.config">
+      <publishTime>05/28/2024 15:39:00</publishTime>
+    </File>
+  </ItemGroup>
+</Project>
\ No newline at end of file
diff --git a/WebAPI/Service/LuBaoSevice.cs b/WebAPI/Service/LuBaoSevice.cs
index b566298..c1d3017 100644
--- a/WebAPI/Service/LuBaoSevice.cs
+++ b/WebAPI/Service/LuBaoSevice.cs
@@ -326,7 +326,7 @@
         public static DataSet GetGy_UserProcessDb(string HID)
         {
             SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
-            var dataSet = oCN.RunProcReturn("select top 1 * from h_v_Gy_UserProcess  where HItemID= " + HID + " ", "h_v_Gy_UserProcess");
+            var dataSet = oCN.RunProcReturn("select * from h_v_Gy_InspectBasis_Edit  where HItemID= " + HID + " ", "h_v_Gy_InspectBasis_Edit");
             return dataSet;
         }
 
@@ -680,6 +680,25 @@
             return dataSet;
         }
 
+        /// <summary>
+        /// 鍚姩妫�鏌ラ」鐩牴鎹甶d鑾峰彇淇℃伅
+        /// </summary>
+        public static ApiResult<DataSet> GetGy_CheckNoteItemDetail(string HID)
+        {
+            if (string.IsNullOrEmpty(HID))
+                return new ApiResult<DataSet> { code = -1, msg = "ID涓嶈兘涓虹┖" };
+            var dataSet = GetGy_CheckNoteItemDb(HID);
+            if (dataSet == null || dataSet.Tables[0].Rows.Count == 0)
+                return new ApiResult<DataSet> { code = -1, msg = "涓嶅瓨鍦ㄥ惎鍔ㄦ鏌ラ」鐩暟鎹�" };
+            return new ApiResult<DataSet> { code = 1, msg = "鏌ヨ鎴愬姛", data = dataSet };
+        }
+        public static DataSet GetGy_CheckNoteItemDb(string HID)
+        {
+            SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
+            var dataSet = oCN.RunProcReturn("select top 1 * from h_v_Gy_CheckNoteItem  where HItemID= " + HID + " ", "h_v_Gy_CheckNoteItem");
+            return dataSet;
+        }
+
 
         /// <summary>
         /// 椤圭洰绫诲埆鏍规嵁id鑾峰彇淇℃伅
diff --git a/WebAPI/Web.config b/WebAPI/Web.config
index 2807e64..2beafce 100644
--- a/WebAPI/Web.config
+++ b/WebAPI/Web.config
@@ -22,7 +22,7 @@
 		<!--<add key="FileIP" value="http://localhost:8082/LuBaoAPI"/>-->
 		<!--<add key="FileIP" value="http://localhost:8080/" />-->
 		<!--<add key="sUrl" value="http://183.129.128.86:9090/WEBS-WMSTest/WebService1.asmx"/>    -->
-		<add key="sUrl" value="http://192.168.0.81/WEBS-WMS/WebService1.asmx"/>   <!--棰滃彴寮忔満-->
+		<!--<add key="sUrl" value="http://192.168.0.81/WEBS-WMS/WebService1.asmx"/>   --><!--棰滃彴寮忔満-->
 		<!--<add key="sUrl" value="http://60.190.4.42:9003/WebService/WebService1.asmx" /> 澶忓疂-->
 		<!--<add key="sUrl" value="http://60.190.4.42:9003/WebService/WebService1.asmx" /> -->
 		<!--<add key="sUrl" value="http://10.10.130.181/WEBS-WMS/WebService1.asmx"/>    鍗氭棩绉戞妧-->
@@ -35,9 +35,10 @@
 		<!--<add key="sUrl" value="http://47.96.97.237/WEBS-WMS/WebService1.asmx"/> -->	<!--娴嬭瘯鏈嶅姟鍣�-->
 		<!--<add key="surl" value="http://localhost:8082/webs/webservice1.asmx"/>    鏈湴-->
 		<!--<add key="sUrl" value="http://192.168.110.57:81/WEBS/WebService1.asmx"/>-->	<!--闄堥洴闈欐湰鍦伴厤缃�-->
-		<!--<add key="surl" value="http://localhost/webs-web/webservice1.asmx"/>-->	<!--缈佹稕娑涙湰鍦伴厤缃�-->
+		<!--<add key="surl" value="http://localhost/webs-web/webservice1.asmx"/>	--><!--缈佹稕娑涙湰鍦伴厤缃�-->
 		<!--<add key="sUrl" value="http://192.168.1.57:8082/WEBS-WMS/WebService1.asmx"/>涔濊彵-->
-
+		<add key="sUrl" value="http://61.130.182.102:18181/WEBSCS/WebService1.asmx"/><!--鏂帿灏�-->
+		
 		<add key="webpages:Version" value="3.0.0.0" />
 		<add key="webpages:Enabled" value="false" />
 		<add key="ClientValidationEnabled" value="true" />
@@ -105,7 +106,7 @@
 			</basicHttpBinding>
 		</bindings>
 		<client>
-			<endpoint address="http://192.168.0.81/WEBS-WMS/WebService1.asmx" binding="basicHttpBinding"
+			<endpoint address="http://61.130.182.102:18181/WEBSCS/WebService1.asmx" binding="basicHttpBinding"
      bindingConfiguration="WebService1Soap" contract="Webs1.WebService1Soap"
      name="WebService1Soap" />
 		</client>
@@ -114,7 +115,7 @@
  <applicationSettings>
   <WebAPI.Properties.Settings>
    <setting name="WebAPI_WebS_WebService1" serializeAs="String">
-    <value>http://192.168.0.81/WEBS-WMS/WebService1.asmx</value>
+    <value>http://61.130.182.102:18181/WEBSCS/WebService1.asmx</value>
    </setting>
   </WebAPI.Properties.Settings>
  </applicationSettings>
diff --git a/WebAPI/WebAPI.csproj b/WebAPI/WebAPI.csproj
index edf3d0b..cfe43c8 100644
--- a/WebAPI/WebAPI.csproj
+++ b/WebAPI/WebAPI.csproj
@@ -379,6 +379,7 @@
     <Compile Include="Controllers\BLL\Xt_UserController.cs" />
     <Compile Include="Controllers\BLL\Xt_SystemLogController.cs" />
     <Compile Include="Controllers\CellWidthController.cs" />
+    <Compile Include="Controllers\CGGL\Cg_ContractBillController.cs" />
     <Compile Include="Controllers\CGGL\Cg_PORequestBillController.cs" />
     <Compile Include="Controllers\CGGL\Cg_PurchaseReturnController.cs" />
     <Compile Include="Controllers\CGGL\Kf_POStockInBackBillController.cs" />
@@ -396,6 +397,9 @@
     <Compile Include="Controllers\CJGL\Cj_NoPassProcController.cs" />
     <Compile Include="Controllers\CJGL\Cj_SendGoodsBillController.cs" />
     <Compile Include="Controllers\CJGL\Mes_OrderProcFlowAllReportController.cs" />
+    <Compile Include="Controllers\CJGL\Gy_MaterPreventErrMouldBillController.cs" />
+    <Compile Include="Controllers\CJGL\Qc_PreventErrMouldCheckBillController.cs" />
+    <Compile Include="Controllers\CJGL\Sc_WorkBeginDotCheckBillController.cs" />
     <Compile Include="Controllers\CJGL\ProductionPlanReportController.cs" />
     <Compile Include="Controllers\CJGL\Sc_ProcessExchangeBillController.cs" />
     <Compile Include="Controllers\CJGL\Cj_StationOutBillController.cs" />
@@ -482,6 +486,7 @@
     <Compile Include="Controllers\XSGL\Xs_SellOutChangeBillController.cs" />
     <Compile Include="Controllers\XSGL\Xs_CusBalanceReportController.cs" />
     <Compile Include="Controllers\XSGL\Xs_ReceivableBillController.cs" />
+    <Compile Include="Controllers\XSGL\Xs_ContractBillController.cs" />
     <Compile Include="Controllers\XSGL\YS_ContactBalController.cs" />
     <Compile Include="Controllers\XSGL\Xs_SeOrderChangeBillController.cs" />
     <Compile Include="Controllers\XSGL\Xs_ExceptiveCheckRequestBillController.cs" />
@@ -519,7 +524,9 @@
     <Compile Include="Controllers\鍝佽川绠$悊\瀹㈣瘔澶勭悊鍗昞Crm_CustomerAppealBillController.cs" />
     <Compile Include="Controllers\鍝佽川绠$悊\宸℃鍗昞QC_PatrolProcCheckBillController.cs" />
     <Compile Include="Controllers\鍝佽川绠$悊\宸ュ簭妫�楠屽崟\MES_ProcessCheckBill_PDAController.cs" />
+    <Compile Include="Controllers\鍝佽川绠$悊\搴撳瓨妫�楠屽崟\QC_StockCheckBillController.cs" />
     <Compile Include="Controllers\鍝佽川绠$悊\璐ㄩ噺鎶ヨ〃\QC_QualityReportsController.cs" />
+    <Compile Include="Controllers\鍝佽川绠$悊\杞﹂棿鑷鍗昞QC_WorkSelfCheckBillController.cs" />
     <Compile Include="Controllers\鍩虹璧勬枡\鍩虹璧勬枡\Gy_CardChangeTypeController.cs" />
     <Compile Include="Controllers\鍩虹璧勬枡\鍩虹璧勬枡\Gy_CardStatusController.cs" />
     <Compile Include="Controllers\鍩虹璧勬枡\鍩虹璧勬枡\Gy_CardAddressController.cs" />
@@ -657,6 +664,7 @@
     <Compile Include="DLL\ClsGy_BadPhenomena_Ctl.cs" />
     <Compile Include="DLL\ClsGy_InspectInstruMent_Ctl.cs" />
     <Compile Include="DLL\ClsGy_InspectBasis_Ctl.cs" />
+    <Compile Include="DLL\ClsGy_CheckNoteItem_Ctl.cs" />
     <Compile Include="DLL\ClsGy_PoStockStyle_Ctl.cs" />
     <Compile Include="DLL\ClsGy_AreaSet_Ctl.cs" />
     <Compile Include="DLL\ClsGy_CusType_Ctl.cs" />
@@ -728,6 +736,7 @@
     <Compile Include="Models\ClsGy_SupMaterial.cs" />
     <Compile Include="Models\ClsSc_AssemblyBillMain.cs" />
     <Compile Include="Models\ClsSc_AssemblyBillSub.cs" />
+    <Compile Include="Models\Gy_MouldFileSub_SubMater.cs" />
     <Compile Include="Models\鍩虹璧勬枡\Gy_ColorClass.cs" />
     <Compile Include="Models\Employee.cs" />
     <Compile Include="Models\Gy_UserCustomer.cs" />
diff --git a/WebAPI/WebAPI.csproj.user b/WebAPI/WebAPI.csproj.user
index 88fad74..de642fd 100644
--- a/WebAPI/WebAPI.csproj.user
+++ b/WebAPI/WebAPI.csproj.user
@@ -9,7 +9,7 @@
     <WebStackScaffolding_IsAsyncSelected>False</WebStackScaffolding_IsAsyncSelected>
     <NameOfLastUsedPublishProfile>FolderProfile</NameOfLastUsedPublishProfile>
     <NameOfLastUsedPublishProfile>D:\Git\houduan\WebAPI\Properties\PublishProfiles\FolderProfile.pubxml</NameOfLastUsedPublishProfile>
-    <NameOfLastUsedPublishProfile>D:\缃戠珯鍙戝竷\鍚庣浠g爜\MES-WEB-API\MES-WEB-API\WebAPI\Properties\PublishProfiles\FolderProfile.pubxml</NameOfLastUsedPublishProfile>
+    <NameOfLastUsedPublishProfile>D:\鏅轰簯杩堟�漒MES\MES-WEB-API\WebAPI\Properties\PublishProfiles\FolderProfile9.pubxml</NameOfLastUsedPublishProfile>
     <LastActiveSolutionConfig>Debug|Any CPU</LastActiveSolutionConfig>
     <UseIISExpress>true</UseIISExpress>
     <Use64BitIISExpress />
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"
index 4f33691..3f029ac 100644
--- "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"
@@ -191,21 +191,21 @@
             //}
             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);
-                    }
-                }
-            }
+            //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 = "";

--
Gitblit v1.9.1