1
yangle
2024-10-09 ec5c31cfa93b3c195e4d2721ea689da6ac1e4f2e
1
56个文件已修改
12个文件已添加
6771 ■■■■■ 已修改文件
DAL/生产管理/模具管理/ClsSc_MouldMaintainPlanBill.cs 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DAL/计划管理/ClsGy_RoutingBill.cs 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
DAL/质检管理/ClsQC_TakeSampleCheckBill.cs 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Model/Model.csproj 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Model/obj/Release/Model.csproj.AssemblyReference.cache 补丁 | 查看 | 原始文档 | blame | 历史
Model/生产管理/模具管理/ClsSc_MouldMaintainPlanBillSub_Plan.cs 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Model/质检管理/ClsQC_TakeSampleCheckBillMain.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Pub_Class/CustomerCls/ClsXt_SystemParameter.cs 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Pub_Class/CustomerCls/ClsXt_SystemParameterMain.cs 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
SyntacticSugar/bin/Debug/SyntacticSugar.dll 补丁 | 查看 | 原始文档 | blame | 历史
SyntacticSugar/bin/Debug/SyntacticSugar.pdb 补丁 | 查看 | 原始文档 | blame | 历史
SyntacticSugar/constant/EmptyConstant.cs 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
SyntacticSugar/obj/Debug/SyntacticSugar.csproj.FileListAbsolute.txt 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
SyntacticSugar/obj/Debug/SyntacticSugar.dll 补丁 | 查看 | 原始文档 | blame | 历史
SyntacticSugar/obj/Debug/SyntacticSugar.pdb 补丁 | 查看 | 原始文档 | blame | 历史
WarM/条码打印/Kf_WeighToBarCode.cs 257 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WarM/条码打印/Kf_WeighToBarCode.designer.cs 467 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WarM/条码打印/Kf_WeighToBarCode.resx 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Controllers/BaseSet/Gy_BadReasonController.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Controllers/BaseSet/Gy_CheckItemController.cs 65 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Controllers/BaseSet/Gy_CustomerController.cs 116 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Controllers/BaseSet/Gy_DepartmentController.cs 242 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Controllers/BaseSet/Gy_EmployeeController.cs 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Controllers/BaseSet/Gy_GroupController.cs 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Controllers/BaseSet/Gy_MaterialController.cs 54 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Controllers/BaseSet/Gy_ProcessController.cs 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Controllers/BaseSet/Gy_QCCheckClassController.cs 79 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Controllers/BaseSet/Gy_WarehouseController.cs 242 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Controllers/CJGL/Cj_StationEntrustInBillController.cs 52 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Controllers/CJGL/Cj_StationOutBillController.cs 58 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Controllers/CJGL/Sc_ProcessExchangeBillController.cs 54 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Controllers/CKGL/TMZD/Gy_BarCodeBillListController.cs 77 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Controllers/JHGL/Gy_RoutingBillController.cs 654 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Controllers/LMESController.cs 108 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Controllers/SBGL/Gy_EquipFileMainController.cs 44 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Controllers/SBGL/SBBB/Sb_EquipMentCollectionTechParam_TempController.cs 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Controllers/Sc_MouldRepairInBillListController.cs 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Controllers/WebAPIController.cs 1292 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Controllers/品质管理/质量报表/QC_QualityReportsController.cs 19 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Controllers/基础资料/基础资料/Gy_ConkReasonBillController.cs 280 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Controllers/基础资料/基础资料/Gy_DisposeWayController.cs 279 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Controllers/基础资料/基础资料/Gy_MaterTypeBillController.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Controllers/基础资料/基础资料/Gy_ProcMulController.cs 537 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Controllers/基础资料/工资基础资料/Gy_WorkTypeController.cs 295 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Controllers/工资管理/Pay_ProcPriceRequestBillController.cs 626 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Controllers/工资管理/Pay_SalaryCalculateController.cs 52 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Controllers/工资管理/Pay_SingleBalBillController.cs 16 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Controllers/条码管理/WEBSController.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/DLL/ClsGy_ProcMul_Ctl.cs 102 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Exceptions/EmptyException.cs 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Exceptions/ExcelException.cs 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/ListModels.cs 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Models/Gy_Group.cs 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Models/Gy_Mould.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Models/Query/QueryModel.cs 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Models/QueryModel.cs 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Models/StationBill.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Models/基础资料/Gy_Process.cs 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Properties/PublishProfiles/FolderProfile10.pubxml.user 44 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Properties/PublishProfiles/FolderProfilewtt.pubxml.user 44 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Utility/TreeUtil.cs 74 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Web.config 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/WebAPI.csproj 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/WebAPI.csproj.user 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/WebBLL/JCJM/GYZL/Gy_CustomerService.cs 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/WebBLL/JCJM/IMPL/Gy_CustomerImpl.cs 207 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
sdk_dingding/TopSdk/obj/Debug/TopSdk.csproj.AssemblyReference.cache 补丁 | 查看 | 原始文档 | blame | 历史
sdk_dingding/TopSdk/obj/Debug/TopSdk.csproj.FileListAbsolute.txt 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DAL/Éú²ú¹ÜÀí/Ä£¾ß¹ÜÀí/ClsSc_MouldMaintainPlanBill.cs
@@ -10,11 +10,12 @@
        public Model.ClsSc_MouldMaintainPlanBillMain omodel = new Model.ClsSc_MouldMaintainPlanBillMain();
        public List<Model.ClsSc_MouldMaintainPlanBillSub> DetailColl = new List<Model.ClsSc_MouldMaintainPlanBillSub>();
        public List<Model.ClsSc_MouldMaintainPlanBillSub_Item> DetailCol = new List<Model.ClsSc_MouldMaintainPlanBillSub_Item>();
        public List<Model.ClsSc_MouldMaintainPlanBillSub_Plan> DetailCol2 = new List<Model.ClsSc_MouldMaintainPlanBillSub_Plan>();
        public ClsSc_MouldMaintainPlanBill()
        {
            base.MvarItemKeySub = "Sc_MouldMaintainPlanBillSub";
            base.MvarItemKeySub2 = "";
            base.MvarItemKeySub2 = "Sc_MouldMaintainPlanBillSub_Plan";
            base.MvarItemKeySub3 = "";
            base.MvarItemKeySub4 = "";
            base.MvarItemKey="Sc_MouldMaintainPlanBillMain";
@@ -77,6 +78,7 @@
                DeleteRelation(ref sReturn, lngBillKey);
                //删除子表
                DeleteBillSub(lngBillKey);
                DeleteBillSub2(lngBillKey);
                oCn.RunProc("delete from Sc_MouldMaintainPlanBillSub_Item where HInterID=" + lngBillKey);
                
                omodel.HInterID = lngBillKey;
@@ -113,6 +115,23 @@
                          "," + Item.HSourceInterID.ToString() + "," + Item.HSourceEntryID.ToString() + ",'" + Item.HSourceBillNo + "','" + Item.HSourceBillType + "'," + Item.HRelationQty.ToString() + "," + Item.HRelationMoney.ToString() + ",'" + Item.HMaintainItem.ToString() +
                          "') ");
                }
                //插入点检计划
                foreach (Model.ClsSc_MouldMaintainPlanBillSub_Plan Items in DetailCol2)
                {
                    oCn.RunProc("Insert into Sc_MouldMaintainPlanBillSub_Plan " +
                      " (HInterID,HEntryID,HCloseMan,HEntryCloseDate,HCloseType,HRemark" +
                      ",HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HRelationQty,HRelationMoney" +
                      ",HPlanDate,HPlanBeginTime,HPlanEndTime,HSafeEndTime,HErrBeginTime," +
                      "HRelationFlag,HSendFlag,HErrBeginQty,HUseNowQty,HUseEndQty" +
                      ") values("
                      + omodel.HInterID.ToString() + "," + Items.HEntryID.ToString() + ",'" + Items.HCloseMan + "','" + Items.HEntryCloseDate.ToShortDateString() + "'," + Convert.ToString(Items.HCloseType ? 1 : 0) + ",'" + Items.HRemark + "'" +
                      "," + Items.HSourceInterID.ToString() + "," + Items.HSourceEntryID.ToString() + ",'" + Items.HSourceBillNo + "','" + Items.HSourceBillType + "'," + Items.HRelationQty.ToString() + "," + Items.HRelationMoney.ToString() +
                      ",'" + Items.HPlanDate.ToString() + "','" + Items.HPlanBeginTime.ToString() + "','" + Items.HPlanEndTime.ToString() + "','" + Items.HSafeEndTime.ToString() + "','" + Items.HErrBeginTime.ToString() + "'," +
                      "'" + DBUtility.ClsPub.BoolToString(Items.HRelationFlag) + "','" + DBUtility.ClsPub.BoolToString(Items.HSendFlag) + "','" + Items.HErrBeginQty.ToString() + "','" + Items.HUseNowQty.ToString() + "','" + Items.HUseEndQty.ToString() +
                      "') ");
                }
                //
                //foreach (Model.ClsSc_MouldMaintainPlanBillSub oSub in DetailColl)
                //{
DAL/¼Æ»®¹ÜÀí/ClsGy_RoutingBill.cs
@@ -280,7 +280,7 @@
            {
                //查询主表
                DataSet Ds ;
                Ds = oCn.RunProcReturn("Select * from Gy_RoutingBillMain Where HInterID=" + lngBillKey.ToString()+" and HPRDORGID='"+DBUtility.ClsPub.HOrgID.ToString()+"'", "Gy_RoutingBillMain");
                Ds = oCn.RunProcReturn("Select * from Gy_RoutingBillMain Where HInterID=" + lngBillKey.ToString(), "Gy_RoutingBillMain");
                if(Ds.Tables[0].Rows.Count==0)
                {
                    sReturn = "单据未找到!";
@@ -288,6 +288,8 @@
                }
                //赋值
                omodel.HInterID =DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HInterID"].ToString());
                omodel.HBillStatus = DBUtility.ClsPub.isInt(Ds.Tables[0].Rows[0]["HBillStatus"].ToString());
                omodel.HBillNo = Ds.Tables[0].Rows[0]["HBillNo"].ToString().Trim();
                omodel.HName = Ds.Tables[0].Rows[0]["HName"].ToString().Trim();
                omodel.HDate = Convert.ToDateTime(Ds.Tables[0].Rows[0]["HDate"].ToString().Trim());
DAL/Öʼì¹ÜÀí/ClsQC_TakeSampleCheckBill.cs
@@ -74,6 +74,7 @@
                "',HProdWeight2='" + omodel.HProdWeight2.ToString() +
                "',HProdWeight3='" + omodel.HProdWeight3.ToString() +
                "',HBadNote='" + omodel.HBadNote.ToString() +
                "',TestType='" + omodel.TestType.ToString() +
                "' where HInterID=" + lngBillKey.ToString());
                //删除关联
                DeleteRelation(ref sReturn, lngBillKey);
@@ -107,14 +108,14 @@
                ",HYear,HPeriod,HRemark" +
                ",HSourceID,HICMOInterID,HICMOEntryID,HICMOBillNo,HICMOQty,HProcExchInterID,HProcExchEntryID" +
                ",HProcExchBillNo,HProcExchQty,HDeptID,HMaterID,HUnitID,HBatchNo,HCheckEmp,HProcID" +
                ",HGroupID,HShiftsID,HQty,HSourceOrgID,HInspectOrgID,HSampleDamageQty,HBadNote,HProdWeight1,HProdWeight2,HProdWeight3" +
                ",HGroupID,HShiftsID,HQty,HSourceOrgID,HInspectOrgID,HSampleDamageQty,HBadNote,HProdWeight1,HProdWeight2,HProdWeight3,TestType" +
                ") " +
                " values('" + this.BillType + "','" + this.HBillSubType + "'," + omodel.HInterID.ToString() + ",'" + omodel.HBillNo + "'," + omodel.HBillStatus.ToString() + ",getdate(),'" + DBUtility.ClsPub.CurUserName + "',getdate()" +
                "," + omodel.HYear.ToString() + "," + omodel.HPeriod.ToString() + ",'" + omodel.HRemark + "'" +
                ",'" + omodel.HSourceID.ToString() + "','" + omodel.HICMOInterID.ToString() + "','" + omodel.HICMOEntryID.ToString() + "','" + omodel.HICMOBillNo.ToString() + "','" + omodel.HICMOQty.ToString() + "','" + omodel.HProcExchInterID.ToString() + "','" + omodel.HProcExchEntryID.ToString() +
                "','" + omodel.HProcExchBillNo + "','" + omodel.HProcExchQty.ToString() + "','" + omodel.HDeptID.ToString() + "','" + omodel.HMaterID.ToString() + "','" + omodel.HUnitID.ToString() + "','" + omodel.HBatchNo.ToString() +
                "','" + omodel.HCheckEmp.ToString() + "','" + omodel.HProcID.ToString() + "','" + omodel.HGroupID.ToString() + "','" + omodel.HShiftsID.ToString() + "','" + omodel.HQty.ToString() + "','" + omodel.HSourceOrgID.ToString() + "','" +omodel.HInspectOrgID.ToString()+
              "','" + omodel.HSampleDamageQty.ToString() + "','" + omodel.HBadNote + "','" + omodel.HProdWeight1.ToString() + "','" + omodel.HProdWeight2.ToString() + "','" + omodel.HProdWeight3.ToString() + "') ");
              "','" + omodel.HSampleDamageQty.ToString() + "','" + omodel.HBadNote + "','" + omodel.HProdWeight1.ToString() + "','" + omodel.HProdWeight2.ToString() + "','" + omodel.HProdWeight3.ToString() + "','" + omodel.TestType.ToString() + "') ");
                sReturn = "新增单据成功!";
                oCn.Commit();
                return true;
Model/Model.csproj
@@ -147,6 +147,7 @@
    <Compile Include="WMS\ClsWMS_CusBarCodeCheckBillMain.cs" />
    <Compile Include="基础资料\基础资料\ClsGy_TechnologyParameterType_Model .cs" />
    <Compile Include="基础资料\基础资料\ClsGy_RestDay_Model.cs" />
    <Compile Include="生产管理\模具管理\ClsSc_MouldMaintainPlanBillSub_Plan.cs" />
    <Compile Include="质检管理\ClsQC_MonthTarGetBillMain.cs" />
    <Compile Include="质检管理\ClsQC_MonthTarGetBillSub.cs" />
    <Compile Include="生产管理\设备管理\ClsSb_EquipRepairSignBillMain.cs" />
Model/obj/Release/Model.csproj.AssemblyReference.cache
Binary files differ
Model/Éú²ú¹ÜÀí/Ä£¾ß¹ÜÀí/ClsSc_MouldMaintainPlanBillSub_Plan.cs
New file
@@ -0,0 +1,22 @@
using System;
using System.Collections.Generic;
using System.Text;
namespace Model
{
    public class ClsSc_MouldMaintainPlanBillSub_Plan : DBUtility.ClsXt_BaseBillSub
    {
        //============
        public string HPlanDate; // --计划日期
        public string HPlanBeginTime; //--计划开始时间点(默认00:00:00)
        public string HPlanEndTime; //--计划结束时间点(默认23:59:59)
        public string HSafeEndTime; //--安全结束时间点
        public string HErrBeginTime; //--预警开始时间点
        public bool HRelationFlag; // --关联标记(是否已生成保养记录)
        public bool HSendFlag; //是否发送信息 ï¼ˆå‘送钉钉)
        public int HErrBeginQty; //预警开始次数
        public int HUseNowQty; //当前使用次数
        public int HUseEndQty; //结束使用次数
    }
}
Model/Öʼì¹ÜÀí/ClsQC_TakeSampleCheckBillMain.cs
@@ -32,6 +32,7 @@
        public Double HProdWeight1;  //dec(18,8) --产品单重1(界面默认为0) 
        public Double HProdWeight2;  //dec(18,8) --产品单重2(界面默认为0) 
        public Double HProdWeight3;  //dec(18,8) --产品单重3(界面默认为0) 
        public string TestType;  //dec(18,8) --产品单重3(界面默认为0)
    }
}
Pub_Class/CustomerCls/ClsXt_SystemParameter.cs
@@ -1820,7 +1820,12 @@
                    {
                        omodel.MES_StationOutBill_MustBeginWorkCtl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
                    }
                    //=========出站汇报单
                    //自动审核
                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "MES_StationOutBill_AutoCheck")
                    {
                        omodel.MES_StationOutBill_AutoCheck = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
                    }
                    //=========设备工艺参数点检                   
                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "SB_EquipICMOTechParamBill_MustBeginWorkCtl")
                    {
@@ -2004,6 +2009,14 @@
                    {
                        omodel.YS_ReceiveBill_AutoCheck = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
                    }
                    //=========考勤汇报单
                    //自动审核
                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Pay_WorkTimesBill_AutoCheck")
                    {
                        omodel.Pay_WorkTimesBill_AutoCheck = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
                    }
                    ////=========工序进站单
                    ////自动匹配流水号
                    //if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "MES_StationBill_ProcNo")
Pub_Class/CustomerCls/ClsXt_SystemParameterMain.cs
@@ -660,6 +660,9 @@
        //收款单
        public string YS_ReceiveBill_AutoCheck;       //保存后是否自动审核
        //考勤汇报单
        public string Pay_WorkTimesBill_AutoCheck;   //保存后是否自动审核
        //下模单
        public string Sc_MouldLowerBill_MouldUpper;  //必须做上模单才能生成下模单
SyntacticSugar/bin/Debug/SyntacticSugar.dll
Binary files differ
SyntacticSugar/bin/Debug/SyntacticSugar.pdb
Binary files differ
SyntacticSugar/constant/EmptyConstant.cs
New file
@@ -0,0 +1,16 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace SyntacticSugar.constant
{
    public static class EmptyConstant
    {
        /// <summary>
        /// ç©º
        /// </summary>
        public static int EMPTY = 0;
    }
}
SyntacticSugar/obj/Debug/SyntacticSugar.csproj.FileListAbsolute.txt
@@ -1,6 +1,21 @@
D:\vs\项目代码\MES-WEB-API\MES-WEB-API\SyntacticSugar\bin\Debug\SyntacticSugar.dll
D:\vs\项目代码\MES-WEB-API\MES-WEB-API\SyntacticSugar\bin\Debug\SyntacticSugar.pdb
D:\vs\项目代码\MES-WEB-API\MES-WEB-API\SyntacticSugar\obj\Debug\SyntacticSugar.csproj.CoreCompileInputs.cache
D:\vs\项目代码\MES-WEB-API\MES-WEB-API\SyntacticSugar\obj\Debug\SyntacticSugar.dll
D:\vs\项目代码\MES-WEB-API\MES-WEB-API\SyntacticSugar\obj\Debug\SyntacticSugar.pdb
D:\vs\项目代码\MES-WEB-API\MES-WEB-API\SyntacticSugar\obj\Debug\SyntacticSugar.csproj.AssemblyReference.cache
E:\智云mes\mes\MES-WEB-API\SyntacticSugar\bin\Debug\SyntacticSugar.dll
E:\智云mes\mes\MES-WEB-API\SyntacticSugar\bin\Debug\SyntacticSugar.pdb
E:\智云mes\mes\MES-WEB-API\SyntacticSugar\obj\Debug\SyntacticSugar.csproj.CoreCompileInputs.cache
E:\智云mes\mes\MES-WEB-API\SyntacticSugar\obj\Debug\SyntacticSugar.dll
E:\智云mes\mes\MES-WEB-API\SyntacticSugar\obj\Debug\SyntacticSugar.pdb
<<<<<<< HEAD
E:\智云mes\mes\MES-WEB-API\SyntacticSugar\obj\Debug\SyntacticSugar.csproj.AssemblyReference.cache
=======
C:\Users\86130\Desktop\智云迈思\MES-WEB-API\SyntacticSugar\bin\Debug\SyntacticSugar.dll
C:\Users\86130\Desktop\智云迈思\MES-WEB-API\SyntacticSugar\bin\Debug\SyntacticSugar.pdb
C:\Users\86130\Desktop\智云迈思\MES-WEB-API\SyntacticSugar\obj\Debug\SyntacticSugar.csproj.CoreCompileInputs.cache
C:\Users\86130\Desktop\智云迈思\MES-WEB-API\SyntacticSugar\obj\Debug\SyntacticSugar.dll
C:\Users\86130\Desktop\智云迈思\MES-WEB-API\SyntacticSugar\obj\Debug\SyntacticSugar.pdb
C:\Users\86130\Desktop\智云迈思\MES-WEB-API\SyntacticSugar\obj\Debug\SyntacticSugar.csproj.AssemblyReference.cache
>>>>>>> 9ebf0d1329b78732aa2f8d0ae0ebaf03d13ccb26
SyntacticSugar/obj/Debug/SyntacticSugar.dll
Binary files differ
SyntacticSugar/obj/Debug/SyntacticSugar.pdb
Binary files differ
WarM/ÌõÂë´òÓ¡/Kf_WeighToBarCode.cs
@@ -703,6 +703,7 @@
            Int64 HBadReasonID = 0;     //不良原因ID
            string HCusMaterName = "";  //客户物料名称
            string HCusModel = "";      //客户规格型号
            string HBarCode_Pack = "";  //托盘条码
            HBarCode = TM;
            HBarCodeType = DBUtility.ClsPub.isStrNull(cmbHBarCodeType.Text);
@@ -719,6 +720,7 @@
            HBadReasonID = DBUtility.ClsPub.isLong(txtHRemark.Tag);
            HCusMaterName = DBUtility.ClsPub.isStrNull(txtHCusMaterName.Text);
            HCusModel = DBUtility.ClsPub.isStrNull(txtHCusModel.Text);
            HBarCode_Pack = DBUtility.ClsPub.isStrNull(txtHBarCode_Pack.Text);
            try
            {
@@ -730,7 +732,7 @@
                ",HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HEndQty " +
                ",HBarcodeQtys,HBarcodeNo,HDeptID,HWhID,HSPID,HRemark " +
                ",HCusID,HCusType,HEndDate,HWorkLineName,HBarCodeDate,HMaterialJQty,HMaterialMQty,HNowQty " +
                ",HSTOCKORGID,HOWNERID,HSeOrderBillNo,HInterID,HGiveAwayFlag " +
                ",HSTOCKORGID,HOWNERID,HSeOrderBillNo,HInterID,HGiveAwayFlag,HBarCode_Pack " +
                ",HOrderInterID,HOrderEntryID,HOrderBillNo,HCustomQty1,HMaterialModel,HCusModel " +
                ",HMaterName,HMaterModel,HPinfan,HAuxPropID,HMTONo,HInnerBillNo,HLogo " +
                ") Values ("
@@ -739,7 +741,7 @@
                + ", " + HSourceInterID.ToString() + "," + HSourceEntryID.ToString() + ",'" + HSourceBillNo + "','" + HSourceBillType + "',''"
                + ", 1," + HBarcodeNo.ToString() + "," + HDeptID.ToString() + "," + HWhID.ToString() + "," + HSPID.ToString() + ",'" + HRemark + "'"
                + ", 0,'',getdate(),'','" + sDate + "'," + HMaterialJQty.ToString() + "," + HMaterialMQty.ToString() + "," + HNowQty.ToString()
                + ", " + HStockOrgID.ToString() + "," + HStockOrgID.ToString() + ",''," + HInterID.ToString() + ",0"
                + ", " + HStockOrgID.ToString() + "," + HStockOrgID.ToString() + ",''," + HInterID.ToString() + ",0,'" + HBarCode_Pack + "'"
                + ", " + HProcessExchangeInterID.ToString() + ",0,'" + HProcessExchangeBillNo + "'," + HBadReasonID.ToString() + ",'" + HCusMaterName + "','" + HCusModel + "'"
                + ",'" + HMaterName + "','" + HMaterModel + "',''," + HAuxPropID.ToString() + ",'','','1')");
@@ -761,8 +763,8 @@
                    " Values("
                    + HInterID.ToString() + ",'" + HBillNo + "','" + HBillType + "'," + HMaterID.ToString() + "," + HAuxPropID.ToString() + ",0"
                    + "," + HWhID.ToString() + ",0," + HSPID.ToString() + ",0,0,''"
                    +",0," + HQty.ToString() + ",1,'" + HBatchNo + "','" + HBarCode + "',''"
                    +",'" + HMaker + "',getdate()," + HSourceInterID.ToString() + "," + HSourceEntryID.ToString() + ",'" + HSourceBillType + "','" + HSourceBillNo + "'"
                    +",0," + HQty.ToString() + ",1,'" + HBatchNo + "','" + HBarCode + "','" + HBarCode_Pack + "'"
                    + ",'" + HMaker + "',getdate()," + HSourceInterID.ToString() + "," + HSourceEntryID.ToString() + ",'" + HSourceBillType + "','" + HSourceBillNo + "'"
                    +",0,0,'',0,'',0"
                    +"," + HStockOrgID.ToString() + "," + HStockOrgID.ToString() + "," + HStockOrgID.ToString() + ",'','称重入库生成','2'"
                    +",0,0,'',0)");
@@ -888,6 +890,11 @@
                        {
                            HRemark = HRemark + "、" + DBUtility.ClsPub.isStrNull(grdMain.SelectedRows[i].Cells[Fun_GetCol("条码编号")].Value);
                        }
                        if (DBUtility.ClsPub.isStrNull(grdMain.SelectedRows[i].Cells[Fun_GetCol("条码类型")].Value) == "托盘条码")
                        {
                            MessageBox.Show("所选条码编号:" + DBUtility.ClsPub.isStrNull(grdMain.SelectedRows[i].Cells[Fun_GetCol("条码编号")].Value) + " ä¸ºæ‰˜ç›˜æ¡ç ï¼Œä¸å…è®¸ä½œåºŸï¼", "提示");
                            return;
                        }
                    }
                    if (HRemark != "")
                    {
@@ -950,6 +957,7 @@
                    string HItemID = "";
                    string HBarCode = "";
                    string HBarCode2 = "";
                    string HBarCode_Pack = DBUtility.ClsPub.isStrNull(txtHBarCode_Pack.Text);
                    for (int i = 0; i <= grdMain.SelectedRows.Count - 1; i++)
                    {
                        HItemID = HItemID + "," + DBUtility.ClsPub.isLong(grdMain.SelectedRows[i].Cells[Fun_GetCol("hmainid")].Value.ToString());
@@ -965,6 +973,17 @@
                        if (DBUtility.ClsPub.isStrNull(grdMain.SelectedRows[i].Cells[Fun_GetCol("作废标记")].Value) == "")
                        {
                            HRemark = HRemark + "、" + DBUtility.ClsPub.isStrNull(grdMain.SelectedRows[i].Cells[Fun_GetCol("条码编号")].Value);
                        }
                        if (DBUtility.ClsPub.isStrNull(grdMain.SelectedRows[i].Cells[Fun_GetCol("条码类型")].Value) == "托盘条码")
                        {
                            MessageBox.Show("所选条码编号:" + DBUtility.ClsPub.isStrNull(grdMain.SelectedRows[i].Cells[Fun_GetCol("条码编号")].Value) + " ä¸ºæ‰˜ç›˜æ¡ç ï¼Œä¸å…è®¸åä½œåºŸï¼", "提示");
                            return;
                        }
                        if (DBUtility.ClsPub.isStrNull(grdMain.SelectedRows[i].Cells[Fun_GetCol("HBarCode_Pack")].Value) != ""
                            && DBUtility.ClsPub.isStrNull(grdMain.SelectedRows[i].Cells[Fun_GetCol("HBarCode_Pack")].Value) != HBarCode_Pack)
                        {
                            MessageBox.Show("所选条码编号:" + DBUtility.ClsPub.isStrNull(grdMain.SelectedRows[i].Cells[Fun_GetCol("条码编号")].Value) + " å·²ç”Ÿæˆå¯¹åº”组托单,不允许反作废!", "提示");
                            return;
                        }
                    }
                    if (HRemark != "")
@@ -999,7 +1018,7 @@
                        ",HCusID,HDeptID,HCusBarCode,HMulSourceBill) " +
                        " select " + HInterID.ToString() + ",'" + HBillNo + "','" + HBillType + "',HMaterID,HAuxPropID,0" +
                        ",HWhID,0,HSPID,0,0,''" +
                        ",0,HQty,1,HBatchNo,HBarCode,''" +
                        ",0,HQty,1,HBatchNo,HBarCode,HBarCode_Pack" +
                        ",'" + HMaker + "',getdate(),HSourceInterID,HSourceEntryID,HSourceBillType,HSourceBillNo" +
                        ",0,0,'',0,'',0" +
                        ",HSTOCKORGID,HSTOCKORGID,HSTOCKORGID,'','称重入库生成-反作废','2'" +
@@ -1043,6 +1062,229 @@
        #endregion
        #region  //开始组托
        private void cmdHBPack_Click(object sender, EventArgs e)
        {
            if (!PackSub_AllowSave())
            {
                return;
            }
            SavePackBarCode();
            BarCode_Display();
            grdMain.Rows[0].Selected = true;
            txtHBarCode_Pack.Text = DBUtility.ClsPub.isStrNull(grdMain.Rows[grdMain.SelectedRows[0].Index].Cells[Fun_GetCol("条码编号")].Value);
            cmdHBPack.Enabled = false;
            sBarCodeItemID = DBUtility.ClsPub.isLong(grdMain.Rows[grdMain.SelectedRows[0].Index].Cells[Fun_GetCol("HItemID")].Value).ToString();
            //自动打印
            if (chkHDYFlag.Checked == true)
            {
                //打印条码
                Sub_SetReport("托盘条码");
                Report.Print(false);
                Thread.Sleep(1000);
            }
            else
            {
                //选择打印模板
                BLL.Gy_OpenTmp oFrm = new BLL.Gy_OpenTmp();
                oFrm.sBillName = ModName;
                oFrm.sBillModel = ModCaption;
                oFrm.ShowDialog();
                if (oFrm.OKTag == Pub_Class.ClsPub.Enum_OKTag.OKTag_OK)
                {
                    Sub_SetReport(oFrm.sOpenTmp);
                    Report.Print(false);
                    Thread.Sleep(1000);
                }
            }
        }
        //条码生成前判断
        private bool PackSub_AllowSave()
        {
            //判断当前单据ID是否已上传生成单据
            DataSet Ds = oCn.RunProcReturn("select top 1 1 from KF_WeighSource_Temp with(nolock) where HInterID=" + HInterID.ToString() + " and HRelationInterID=1 ", "KF_WeighSource_Temp", ref DBUtility.ClsPub.sExeReturnInfo);
            if (Ds == null || Ds.Tables[0].Rows.Count == 0)
            {
            }
            else
            {
                MessageBox.Show("当前条码记录已换班上传生成单据,请退出后重新进入该模块进行条码生成操作!", "提示");
                return false;
            }
            if (HInterID == 0 || HBillNo == "")
            {
                MessageBox.Show("获取条码对应单据ID或单据号失败,请重新刷新界面!", "提示");
                return false;
            }
            return true;
        }
        //生成托盘条码
        private void SavePackBarCode()
        {
            int LSHlen = 6;             //流水号长度
            Int64 LSH = 0;              //流水号
            string LSH2 = "";           //流水号转换成字符
            string sDate = "";          //日期
            string sYear = "";          //å¹´
            string sPeriod = "";        //月
            string sDay = "";           //日
            string sTMNumber = "";      //条码自定义前缀
            string TM = "";             //条码编号
            DataSet Ds;
            //日期获取方式
            sDate = dtpHDate.Value.ToShortDateString();
            sYear = DBUtility.ClsPub.isDate(sDate).Year.ToString().Substring(2, 2);
            sPeriod = "0" + DBUtility.ClsPub.isDate(sDate).Month.ToString();
            sPeriod = sPeriod.Substring(sPeriod.Length - 2, 2);
            sDay = "0" + DBUtility.ClsPub.isDate(sDate).Day.ToString();
            sDay = sDay.Substring(sDay.Length - 2, 2);
            //==================================
            //条码前缀 = 'TP' + ç»„织代码 + å¹´ + æœˆ + æ—¥
            sTMNumber = "TP" + DBUtility.ClsPub.HOrgNumber + sYear + sPeriod + sDay;
            Ds = oCn.RunProcReturn("exec h_p_WMS_GetMaxNo '" + sTMNumber + "'", "h_p_WMS_GetMaxNo");    //获取最大流水号
            LSH = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0][0]);
            LSH = LSH + 1;
            LSH2 = LSH.ToString();
            while (LSH2.Length < LSHlen)  //如果流水号小于6位数前面补0
            {
                LSH2 = "0" + LSH2;
            }
            TM = sTMNumber + LSH2;
            string HBarCode = "";
            string HBarCodeType = "托盘条码";
            HBarCode = TM;
            HBarCodeType = "";
            try
            {
                oCn.BeginTran();
                //写入条码档案
                oCn.RunProc("Insert into Gy_BarCodeBill " +
                "(HBarCode,HBarCodeType,HMaterID,HUnitID,HQty,HBarCode_Pack" +
                ",HBatchNo,HSupID,HGroupID,HMaker,HMakeDate,HPrintQty,HinitQty" +
                ",HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HEndQty " +
                ",HBarcodeQtys,HBarcodeNo,HDeptID,HWhID,HSPID,HRemark " +
                ",HCusID,HCusType,HEndDate,HWorkLineName,HBarCodeDate,HMaterialJQty,HMaterialMQty,HNowQty " +
                ",HSTOCKORGID,HOWNERID,HSeOrderBillNo,HInterID,HGiveAwayFlag " +
                ",HOrderInterID,HOrderEntryID,HOrderBillNo,HCustomQty1,HMaterialModel,HCusModel " +
                ",HMaterName,HMaterModel,HPinfan,HAuxPropID,HMTONo,HInnerBillNo,HLogo " +
                ") Values ("
                + "'" + HBarCode + "','" + HBarCodeType + "',0,0,1,'" + HBarCode + "'"
                + ",'',0,0,'" + HMaker + "',getdate(),0,1"
                + ",0,0,'','',''"
                + ",1,0,0,0,0,''"
                + ", 0,'',getdate(),'','" + sDate + "',0,0,0"
                + ", " + HStockOrgID.ToString() + "," + HStockOrgID.ToString() + ",''," + HInterID.ToString() + ",0"
                + ", " + HProcessExchangeInterID.ToString() + ",0,'',0,'',''"
                + ",'','','',0,'','','1')");
                //回填最大流水号
                oCn.RunProc("exec h_p_WMS_SetMaxNo_QTY '" + sTMNumber + "',1 ");
                oCn.Commit();
            }
            catch (Exception e)
            {
                oCn.RollBack();
                MessageBox.Show("托盘条码生成失败!" + e.Message);
            }
        }
        #endregion
        #region  //结束组托
        private void cmdHEPack_Click(object sender, EventArgs e)
        {
            string HBarCode_Pack = DBUtility.ClsPub.isStrNull(txtHBarCode_Pack.Text);
            //生成组托单前判断
            if(HBarCode_Pack=="")
            {
                MessageBox.Show("请先点击开始组托,进行条码组托操作!", "提示");
                return;
            }
            bool b = false;
            for (int i = 0; i < grdMain.RowCount; i++)
            {
                if (DBUtility.ClsPub.isStrNull(grdMain.Rows[i].Cells[Fun_GetCol("条码类型")].Value) == "唯一条码"
                    && DBUtility.ClsPub.isStrNull(grdMain.Rows[i].Cells[Fun_GetCol("HBarCode_Pack")].Value) == HBarCode_Pack)
                {
                    b = true;
                    break;
                }
            }
            if (b == false)
            {
                MessageBox.Show("当前托盘条码下还没生成对应条码,不允许生成组托单!", "提示");
                return;
            }
            //判断会计期是否合理
            string s = "";
            int sYear = 0;
            int sPeriod = 0;
            if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(HDate, ref sYear, ref sPeriod, ref s) == false)
            {
                MessageBox.Show(s, "提示");
                return;
            }
            try
            {
                oCn.BeginTran();
                //生成生产组托单
                Int64 HPUInterID = DBUtility.ClsPub.CreateBillID_Prod("3783", ref DBUtility.ClsPub.sExeReturnInfo);         //得到最新生产组托单ID
                string HPUBillNo = DBUtility.ClsPub.CreateBillCode_Prod("3783", ref DBUtility.ClsPub.sExeReturnInfo, true); //得到最新生产组托单号
                //写入生产组托单主表
                oCn.RunProc("Insert Into Sc_PackUnionBillMain " +
                    "(HInterID,HBillNo,HBillType,HBillSubType,HDate,HRemark" +
                    ",HYear,HPeriod,HChecker,HCheckDate,HMaker,HMakeDate" +
                    ",HICMOInterID,HICMOBillNo,HBarCode_Pack,HMaterID,HUnitID,HProdOrgID" +
                    ") Values ("
                    + " " + HPUInterID.ToString() + ",'" + HPUBillNo + "','3783','3783',convert(varchar(10),getdate(),120),''"
                    + "," + sYear.ToString() + "," + sPeriod.ToString() + ",'" + HMaker + "',getdate(),'" + HMaker + "',getdate()"
                    + ",0,'','" + HBarCode_Pack + "',0,0," + HStockOrgID.ToString() + ") ");
                //写入生产装箱单子表
                oCn.RunProc("Insert into Sc_PackUnionBillSub " +
                "(HInterID,HEntryID,HRelationQty,HRelationMoney,HRemark" +
                ",HMaterID,HUnitID,HQty,HBarCode,HBarCode_Pack,HScanDate" +
                ",HAuxPropID,HBatchNo,HMTONo" +
                ",HSourceID,HEquipID,HGroupID,HWorkerID,HStatus" +
                ",HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType) " +
                " select " + HPUInterID.ToString() + ",HItemID,'0,0,''" +
                ",HMaterID,HUnitID,HQty,HBarCode,HBarCode_Pack,getdate()" +
                ",HAuxPropID,HBatchNo,HMTONo" +
                ",0,0,0,0,0" +
                ",HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType" +
                "from Gy_BarCodeBill with(nolock) where HInterID=" + HInterID.ToString() + " and HBarCode_Pack='" + HBarCode_Pack + "' and HStopflag=0"
                );
                MessageBox.Show("生成生产组托单:" + HPUBillNo + " æˆåŠŸï¼", "提示");
                txtHBarCode_Pack.Text = "";
                cmdHBPack.Enabled = true;
                oCn.Commit();
                return;
            }
            catch (Exception e2)
            {
                oCn.RollBack();
                MessageBox.Show("生成生产组托单失败!" + e2.Message);
                return;
            }
        }
        #endregion
@@ -1343,7 +1585,12 @@
                fs.Close();
            }
        }
        #endregion
        #endregion
    }
}
WarM/ÌõÂë´òÓ¡/Kf_WeighToBarCode.designer.cs
@@ -30,8 +30,8 @@
        {
            this.components = new System.ComponentModel.Container();
            System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Kf_WeighToBarCode));
            System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle();
            System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle2 = new System.Windows.Forms.DataGridViewCellStyle();
            System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle3 = new System.Windows.Forms.DataGridViewCellStyle();
            System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle4 = new System.Windows.Forms.DataGridViewCellStyle();
            this.Tool = new System.Windows.Forms.ToolStrip();
            this.toolStripSeparator9 = new System.Windows.Forms.ToolStripSeparator();
            this.mrlk = new System.Windows.Forms.ToolStripButton();
@@ -55,6 +55,10 @@
            this.label4 = new System.Windows.Forms.Label();
            this.txtHMaterNumber = new System.Windows.Forms.TextBox();
            this.gbUp = new System.Windows.Forms.GroupBox();
            this.textBox_COM = new System.Windows.Forms.TextBox();
            this.label_COM = new System.Windows.Forms.Label();
            this.button_OpenCom = new System.Windows.Forms.Button();
            this.button_getHWeight = new System.Windows.Forms.Button();
            this.label17 = new System.Windows.Forms.Label();
            this.txtHOrderPickRemark = new System.Windows.Forms.TextBox();
            this.label15 = new System.Windows.Forms.Label();
@@ -102,10 +106,10 @@
            this.右侧 = new System.Windows.Forms.Panel();
            this.timer2 = new System.Windows.Forms.Timer(this.components);
            this.backgroundWorker1 = new System.ComponentModel.BackgroundWorker();
            this.button_getHWeight = new System.Windows.Forms.Button();
            this.button_OpenCom = new System.Windows.Forms.Button();
            this.label_COM = new System.Windows.Forms.Label();
            this.textBox_COM = new System.Windows.Forms.TextBox();
            this.cmdHBPack = new System.Windows.Forms.Button();
            this.cmdHEPack = new System.Windows.Forms.Button();
            this.label18 = new System.Windows.Forms.Label();
            this.txtHBarCode_Pack = new System.Windows.Forms.TextBox();
            this.Tool.SuspendLayout();
            ((System.ComponentModel.ISupportInitialize)(this.grdMain)).BeginInit();
            this.gbUp.SuspendLayout();
@@ -140,7 +144,7 @@
            this.Tool.Location = new System.Drawing.Point(0, 0);
            this.Tool.Name = "Tool";
            this.Tool.Padding = new System.Windows.Forms.Padding(0);
            this.Tool.Size = new System.Drawing.Size(1924, 75);
            this.Tool.Size = new System.Drawing.Size(1283, 50);
            this.Tool.Stretch = true;
            this.Tool.TabIndex = 16;
            this.Tool.Text = "toolStrip1";
@@ -149,7 +153,7 @@
            // 
            this.toolStripSeparator9.Alignment = System.Windows.Forms.ToolStripItemAlignment.Right;
            this.toolStripSeparator9.Name = "toolStripSeparator9";
            this.toolStripSeparator9.Size = new System.Drawing.Size(6, 75);
            this.toolStripSeparator9.Size = new System.Drawing.Size(6, 50);
            // 
            // mrlk
            // 
@@ -159,7 +163,7 @@
            this.mrlk.ImageScaling = System.Windows.Forms.ToolStripItemImageScaling.None;
            this.mrlk.ImageTransparentColor = System.Drawing.Color.White;
            this.mrlk.Name = "mrlk";
            this.mrlk.Size = new System.Drawing.Size(86, 70);
            this.mrlk.Size = new System.Drawing.Size(60, 47);
            this.mrlk.Text = "默认列宽";
            this.mrlk.TextAlign = System.Drawing.ContentAlignment.BottomCenter;
            this.mrlk.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageAboveText;
@@ -169,7 +173,7 @@
            // 
            this.toolStripSeparator7.Alignment = System.Windows.Forms.ToolStripItemAlignment.Right;
            this.toolStripSeparator7.Name = "toolStripSeparator7";
            this.toolStripSeparator7.Size = new System.Drawing.Size(6, 75);
            this.toolStripSeparator7.Size = new System.Drawing.Size(6, 50);
            // 
            // bclk
            // 
@@ -179,7 +183,7 @@
            this.bclk.ImageScaling = System.Windows.Forms.ToolStripItemImageScaling.None;
            this.bclk.ImageTransparentColor = System.Drawing.Color.White;
            this.bclk.Name = "bclk";
            this.bclk.Size = new System.Drawing.Size(86, 70);
            this.bclk.Size = new System.Drawing.Size(60, 47);
            this.bclk.Text = "保存列宽";
            this.bclk.TextAlign = System.Drawing.ContentAlignment.BottomCenter;
            this.bclk.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageAboveText;
@@ -189,7 +193,7 @@
            // 
            this.toolStripSeparator8.Alignment = System.Windows.Forms.ToolStripItemAlignment.Right;
            this.toolStripSeparator8.Name = "toolStripSeparator8";
            this.toolStripSeparator8.Size = new System.Drawing.Size(6, 75);
            this.toolStripSeparator8.Size = new System.Drawing.Size(6, 50);
            // 
            // sx
            // 
@@ -208,7 +212,7 @@
            // toolStripSeparator1
            // 
            this.toolStripSeparator1.Name = "toolStripSeparator1";
            this.toolStripSeparator1.Size = new System.Drawing.Size(6, 75);
            this.toolStripSeparator1.Size = new System.Drawing.Size(6, 50);
            // 
            // dy
            // 
@@ -227,7 +231,7 @@
            // toolStripSeparator2
            // 
            this.toolStripSeparator2.Name = "toolStripSeparator2";
            this.toolStripSeparator2.Size = new System.Drawing.Size(6, 75);
            this.toolStripSeparator2.Size = new System.Drawing.Size(6, 50);
            // 
            // hb
            // 
@@ -246,7 +250,7 @@
            // toolStripSeparator3
            // 
            this.toolStripSeparator3.Name = "toolStripSeparator3";
            this.toolStripSeparator3.Size = new System.Drawing.Size(6, 75);
            this.toolStripSeparator3.Size = new System.Drawing.Size(6, 50);
            // 
            // tc
            // 
@@ -265,7 +269,7 @@
            // toolStripSeparator4
            // 
            this.toolStripSeparator4.Name = "toolStripSeparator4";
            this.toolStripSeparator4.Size = new System.Drawing.Size(6, 75);
            this.toolStripSeparator4.Size = new System.Drawing.Size(6, 50);
            // 
            // timer1
            // 
@@ -278,22 +282,22 @@
            this.grdMain.AllowUserToDeleteRows = false;
            this.grdMain.BackgroundColor = System.Drawing.SystemColors.ControlLightLight;
            this.grdMain.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
            dataGridViewCellStyle1.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
            dataGridViewCellStyle1.BackColor = System.Drawing.SystemColors.Window;
            dataGridViewCellStyle1.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
            dataGridViewCellStyle1.ForeColor = System.Drawing.SystemColors.ControlText;
            dataGridViewCellStyle1.SelectionBackColor = System.Drawing.SystemColors.Highlight;
            dataGridViewCellStyle1.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
            dataGridViewCellStyle1.WrapMode = System.Windows.Forms.DataGridViewTriState.False;
            this.grdMain.DefaultCellStyle = dataGridViewCellStyle1;
            dataGridViewCellStyle3.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
            dataGridViewCellStyle3.BackColor = System.Drawing.SystemColors.Window;
            dataGridViewCellStyle3.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
            dataGridViewCellStyle3.ForeColor = System.Drawing.SystemColors.ControlText;
            dataGridViewCellStyle3.SelectionBackColor = System.Drawing.SystemColors.Highlight;
            dataGridViewCellStyle3.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
            dataGridViewCellStyle3.WrapMode = System.Windows.Forms.DataGridViewTriState.False;
            this.grdMain.DefaultCellStyle = dataGridViewCellStyle3;
            this.grdMain.Dock = System.Windows.Forms.DockStyle.Fill;
            this.grdMain.Location = new System.Drawing.Point(4, 4);
            this.grdMain.Location = new System.Drawing.Point(3, 3);
            this.grdMain.Margin = new System.Windows.Forms.Padding(0);
            this.grdMain.Name = "grdMain";
            this.grdMain.ReadOnly = true;
            this.grdMain.RowHeadersWidth = 51;
            this.grdMain.RowTemplate.Height = 23;
            this.grdMain.Size = new System.Drawing.Size(1472, 508);
            this.grdMain.Size = new System.Drawing.Size(978, 334);
            this.grdMain.TabIndex = 19;
            this.grdMain.Paint += new System.Windows.Forms.PaintEventHandler(this.grdMain_Paint);
            // 
@@ -302,10 +306,9 @@
            this.label2.AutoSize = true;
            this.label2.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
            this.label2.ForeColor = System.Drawing.Color.Black;
            this.label2.Location = new System.Drawing.Point(663, 90);
            this.label2.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
            this.label2.Location = new System.Drawing.Point(442, 60);
            this.label2.Name = "label2";
            this.label2.Size = new System.Drawing.Size(80, 18);
            this.label2.Size = new System.Drawing.Size(53, 12);
            this.label2.TabIndex = 49;
            this.label2.Text = "规格型号";
            // 
@@ -313,11 +316,10 @@
            // 
            this.txtHMaterModel.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
            this.txtHMaterModel.ImeMode = System.Windows.Forms.ImeMode.NoControl;
            this.txtHMaterModel.Location = new System.Drawing.Point(747, 84);
            this.txtHMaterModel.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
            this.txtHMaterModel.Location = new System.Drawing.Point(498, 56);
            this.txtHMaterModel.Name = "txtHMaterModel";
            this.txtHMaterModel.ReadOnly = true;
            this.txtHMaterModel.Size = new System.Drawing.Size(190, 28);
            this.txtHMaterModel.Size = new System.Drawing.Size(128, 21);
            this.txtHMaterModel.TabIndex = 50;
            // 
            // label3
@@ -325,10 +327,9 @@
            this.label3.AutoSize = true;
            this.label3.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
            this.label3.ForeColor = System.Drawing.Color.Black;
            this.label3.Location = new System.Drawing.Point(94, 222);
            this.label3.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
            this.label3.Location = new System.Drawing.Point(63, 148);
            this.label3.Name = "label3";
            this.label3.Size = new System.Drawing.Size(44, 18);
            this.label3.Size = new System.Drawing.Size(29, 12);
            this.label3.TabIndex = 52;
            this.label3.Text = "备注";
            // 
@@ -336,10 +337,9 @@
            // 
            this.txtHRemark.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
            this.txtHRemark.ImeMode = System.Windows.Forms.ImeMode.NoControl;
            this.txtHRemark.Location = new System.Drawing.Point(142, 216);
            this.txtHRemark.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
            this.txtHRemark.Location = new System.Drawing.Point(95, 144);
            this.txtHRemark.Name = "txtHRemark";
            this.txtHRemark.Size = new System.Drawing.Size(1056, 28);
            this.txtHRemark.Size = new System.Drawing.Size(705, 21);
            this.txtHRemark.TabIndex = 53;
            // 
            // label4
@@ -347,10 +347,9 @@
            this.label4.AutoSize = true;
            this.label4.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
            this.label4.ForeColor = System.Drawing.Color.Black;
            this.label4.Location = new System.Drawing.Point(58, 90);
            this.label4.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
            this.label4.Location = new System.Drawing.Point(39, 60);
            this.label4.Name = "label4";
            this.label4.Size = new System.Drawing.Size(80, 18);
            this.label4.Size = new System.Drawing.Size(53, 12);
            this.label4.TabIndex = 55;
            this.label4.Text = "物料代码";
            // 
@@ -358,16 +357,19 @@
            // 
            this.txtHMaterNumber.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
            this.txtHMaterNumber.ImeMode = System.Windows.Forms.ImeMode.NoControl;
            this.txtHMaterNumber.Location = new System.Drawing.Point(142, 84);
            this.txtHMaterNumber.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
            this.txtHMaterNumber.Location = new System.Drawing.Point(95, 56);
            this.txtHMaterNumber.Name = "txtHMaterNumber";
            this.txtHMaterNumber.ReadOnly = true;
            this.txtHMaterNumber.Size = new System.Drawing.Size(190, 28);
            this.txtHMaterNumber.Size = new System.Drawing.Size(128, 21);
            this.txtHMaterNumber.TabIndex = 56;
            // 
            // gbUp
            // 
            this.gbUp.BackColor = System.Drawing.Color.Transparent;
            this.gbUp.Controls.Add(this.label18);
            this.gbUp.Controls.Add(this.txtHBarCode_Pack);
            this.gbUp.Controls.Add(this.cmdHEPack);
            this.gbUp.Controls.Add(this.cmdHBPack);
            this.gbUp.Controls.Add(this.textBox_COM);
            this.gbUp.Controls.Add(this.label_COM);
            this.gbUp.Controls.Add(this.button_OpenCom);
@@ -412,22 +414,65 @@
            this.gbUp.Controls.Add(this.label2);
            this.gbUp.Dock = System.Windows.Forms.DockStyle.Top;
            this.gbUp.Location = new System.Drawing.Point(0, 0);
            this.gbUp.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
            this.gbUp.Name = "gbUp";
            this.gbUp.Padding = new System.Windows.Forms.Padding(4, 4, 4, 4);
            this.gbUp.Size = new System.Drawing.Size(1488, 392);
            this.gbUp.Size = new System.Drawing.Size(992, 261);
            this.gbUp.TabIndex = 58;
            this.gbUp.TabStop = false;
            //
            // textBox_COM
            //
            this.textBox_COM.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
            this.textBox_COM.ImeMode = System.Windows.Forms.ImeMode.NoControl;
            this.textBox_COM.Location = new System.Drawing.Point(498, 112);
            this.textBox_COM.Name = "textBox_COM";
            this.textBox_COM.Size = new System.Drawing.Size(128, 21);
            this.textBox_COM.TabIndex = 329;
            //
            // label_COM
            //
            this.label_COM.AutoSize = true;
            this.label_COM.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
            this.label_COM.ForeColor = System.Drawing.Color.Black;
            this.label_COM.Location = new System.Drawing.Point(472, 116);
            this.label_COM.Name = "label_COM";
            this.label_COM.Size = new System.Drawing.Size(23, 12);
            this.label_COM.TabIndex = 328;
            this.label_COM.Text = "COM";
            //
            // button_OpenCom
            //
            this.button_OpenCom.BackColor = System.Drawing.Color.White;
            this.button_OpenCom.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
            this.button_OpenCom.Location = new System.Drawing.Point(429, 222);
            this.button_OpenCom.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
            this.button_OpenCom.Name = "button_OpenCom";
            this.button_OpenCom.Size = new System.Drawing.Size(86, 32);
            this.button_OpenCom.TabIndex = 327;
            this.button_OpenCom.Text = "打开串口";
            this.button_OpenCom.UseVisualStyleBackColor = false;
            this.button_OpenCom.Click += new System.EventHandler(this.button_OpenCom_Click);
            //
            // button_getHWeight
            //
            this.button_getHWeight.BackColor = System.Drawing.Color.White;
            this.button_getHWeight.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
            this.button_getHWeight.Location = new System.Drawing.Point(322, 222);
            this.button_getHWeight.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
            this.button_getHWeight.Name = "button_getHWeight";
            this.button_getHWeight.Size = new System.Drawing.Size(86, 32);
            this.button_getHWeight.TabIndex = 326;
            this.button_getHWeight.Text = "称重";
            this.button_getHWeight.UseVisualStyleBackColor = false;
            this.button_getHWeight.Click += new System.EventHandler(this.button_getHWeight_Click);
            // 
            // label17
            // 
            this.label17.AutoSize = true;
            this.label17.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
            this.label17.ForeColor = System.Drawing.Color.Black;
            this.label17.Location = new System.Drawing.Point(22, 266);
            this.label17.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
            this.label17.Location = new System.Drawing.Point(15, 177);
            this.label17.Name = "label17";
            this.label17.Size = new System.Drawing.Size(116, 18);
            this.label17.Size = new System.Drawing.Size(77, 12);
            this.label17.TabIndex = 324;
            this.label17.Text = "订单包装备注";
            // 
@@ -437,13 +482,12 @@
            this.txtHOrderPickRemark.Font = new System.Drawing.Font("宋体", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
            this.txtHOrderPickRemark.ForeColor = System.Drawing.Color.Red;
            this.txtHOrderPickRemark.ImeMode = System.Windows.Forms.ImeMode.NoControl;
            this.txtHOrderPickRemark.Location = new System.Drawing.Point(142, 260);
            this.txtHOrderPickRemark.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
            this.txtHOrderPickRemark.Location = new System.Drawing.Point(95, 173);
            this.txtHOrderPickRemark.Multiline = true;
            this.txtHOrderPickRemark.Name = "txtHOrderPickRemark";
            this.txtHOrderPickRemark.ReadOnly = true;
            this.txtHOrderPickRemark.ScrollBars = System.Windows.Forms.ScrollBars.Vertical;
            this.txtHOrderPickRemark.Size = new System.Drawing.Size(1087, 64);
            this.txtHOrderPickRemark.Size = new System.Drawing.Size(726, 44);
            this.txtHOrderPickRemark.TabIndex = 325;
            // 
            // label15
@@ -451,10 +495,9 @@
            this.label15.AutoSize = true;
            this.label15.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
            this.label15.ForeColor = System.Drawing.Color.Black;
            this.label15.Location = new System.Drawing.Point(336, 174);
            this.label15.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
            this.label15.Location = new System.Drawing.Point(224, 116);
            this.label15.Name = "label15";
            this.label15.Size = new System.Drawing.Size(116, 18);
            this.label15.Size = new System.Drawing.Size(77, 12);
            this.label15.TabIndex = 322;
            this.label15.Text = "客户规格型号";
            // 
@@ -462,11 +505,10 @@
            // 
            this.txtHCusModel.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
            this.txtHCusModel.ImeMode = System.Windows.Forms.ImeMode.NoControl;
            this.txtHCusModel.Location = new System.Drawing.Point(454, 168);
            this.txtHCusModel.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
            this.txtHCusModel.Location = new System.Drawing.Point(303, 112);
            this.txtHCusModel.Name = "txtHCusModel";
            this.txtHCusModel.ReadOnly = true;
            this.txtHCusModel.Size = new System.Drawing.Size(190, 28);
            this.txtHCusModel.Size = new System.Drawing.Size(128, 21);
            this.txtHCusModel.TabIndex = 323;
            // 
            // label16
@@ -474,10 +516,9 @@
            this.label16.AutoSize = true;
            this.label16.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
            this.label16.ForeColor = System.Drawing.Color.Black;
            this.label16.Location = new System.Drawing.Point(22, 174);
            this.label16.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
            this.label16.Location = new System.Drawing.Point(15, 116);
            this.label16.Name = "label16";
            this.label16.Size = new System.Drawing.Size(116, 18);
            this.label16.Size = new System.Drawing.Size(77, 12);
            this.label16.TabIndex = 320;
            this.label16.Text = "客户物料名称";
            // 
@@ -485,11 +526,10 @@
            // 
            this.txtHCusMaterName.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
            this.txtHCusMaterName.ImeMode = System.Windows.Forms.ImeMode.NoControl;
            this.txtHCusMaterName.Location = new System.Drawing.Point(142, 168);
            this.txtHCusMaterName.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
            this.txtHCusMaterName.Location = new System.Drawing.Point(95, 112);
            this.txtHCusMaterName.Name = "txtHCusMaterName";
            this.txtHCusMaterName.ReadOnly = true;
            this.txtHCusMaterName.Size = new System.Drawing.Size(190, 28);
            this.txtHCusMaterName.Size = new System.Drawing.Size(128, 21);
            this.txtHCusMaterName.TabIndex = 321;
            // 
            // label13
@@ -497,10 +537,9 @@
            this.label13.AutoSize = true;
            this.label13.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
            this.label13.ForeColor = System.Drawing.Color.Black;
            this.label13.Location = new System.Drawing.Point(993, 132);
            this.label13.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
            this.label13.Location = new System.Drawing.Point(662, 88);
            this.label13.Name = "label13";
            this.label13.Size = new System.Drawing.Size(44, 18);
            this.label13.Size = new System.Drawing.Size(29, 12);
            this.label13.TabIndex = 318;
            this.label13.Text = "包号";
            // 
@@ -508,10 +547,9 @@
            // 
            this.txtHBarcodeNo.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
            this.txtHBarcodeNo.ImeMode = System.Windows.Forms.ImeMode.NoControl;
            this.txtHBarcodeNo.Location = new System.Drawing.Point(1040, 126);
            this.txtHBarcodeNo.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
            this.txtHBarcodeNo.Location = new System.Drawing.Point(693, 84);
            this.txtHBarcodeNo.Name = "txtHBarcodeNo";
            this.txtHBarcodeNo.Size = new System.Drawing.Size(190, 28);
            this.txtHBarcodeNo.Size = new System.Drawing.Size(128, 21);
            this.txtHBarcodeNo.TabIndex = 319;
            // 
            // cmdHBadReasonID
@@ -519,10 +557,9 @@
            this.cmdHBadReasonID.BackColor = System.Drawing.Color.Transparent;
            this.cmdHBadReasonID.Image = ((System.Drawing.Image)(resources.GetObject("cmdHBadReasonID.Image")));
            this.cmdHBadReasonID.ImageAlign = System.Drawing.ContentAlignment.TopRight;
            this.cmdHBadReasonID.Location = new System.Drawing.Point(1198, 214);
            this.cmdHBadReasonID.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
            this.cmdHBadReasonID.Location = new System.Drawing.Point(799, 143);
            this.cmdHBadReasonID.Name = "cmdHBadReasonID";
            this.cmdHBadReasonID.Size = new System.Drawing.Size(33, 33);
            this.cmdHBadReasonID.Size = new System.Drawing.Size(22, 22);
            this.cmdHBadReasonID.TabIndex = 317;
            this.cmdHBadReasonID.UseVisualStyleBackColor = false;
            this.cmdHBadReasonID.Click += new System.EventHandler(this.cmdHBadReasonID_Click);
@@ -530,9 +567,10 @@
            // chkHDYFlag
            // 
            this.chkHDYFlag.AutoSize = true;
            this.chkHDYFlag.Location = new System.Drawing.Point(837, 354);
            this.chkHDYFlag.Location = new System.Drawing.Point(558, 236);
            this.chkHDYFlag.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
            this.chkHDYFlag.Name = "chkHDYFlag";
            this.chkHDYFlag.Size = new System.Drawing.Size(106, 22);
            this.chkHDYFlag.Size = new System.Drawing.Size(72, 16);
            this.chkHDYFlag.TabIndex = 316;
            this.chkHDYFlag.Text = "自动打印";
            this.chkHDYFlag.UseVisualStyleBackColor = true;
@@ -541,9 +579,10 @@
            // 
            this.cmdFZF.BackColor = System.Drawing.Color.White;
            this.cmdFZF.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
            this.cmdFZF.Location = new System.Drawing.Point(1094, 333);
            this.cmdFZF.Location = new System.Drawing.Point(729, 222);
            this.cmdFZF.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
            this.cmdFZF.Name = "cmdFZF";
            this.cmdFZF.Size = new System.Drawing.Size(129, 48);
            this.cmdFZF.Size = new System.Drawing.Size(86, 32);
            this.cmdFZF.TabIndex = 157;
            this.cmdFZF.Text = "反作废";
            this.cmdFZF.UseVisualStyleBackColor = false;
@@ -553,9 +592,10 @@
            // 
            this.cmdZF.BackColor = System.Drawing.Color.White;
            this.cmdZF.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
            this.cmdZF.Location = new System.Drawing.Point(952, 333);
            this.cmdZF.Location = new System.Drawing.Point(635, 222);
            this.cmdZF.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
            this.cmdZF.Name = "cmdZF";
            this.cmdZF.Size = new System.Drawing.Size(129, 48);
            this.cmdZF.Size = new System.Drawing.Size(86, 32);
            this.cmdZF.TabIndex = 156;
            this.cmdZF.Text = "作废";
            this.cmdZF.UseVisualStyleBackColor = false;
@@ -565,11 +605,10 @@
            // 
            this.txtHDeptName.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
            this.txtHDeptName.ImeMode = System.Windows.Forms.ImeMode.NoControl;
            this.txtHDeptName.Location = new System.Drawing.Point(747, 42);
            this.txtHDeptName.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
            this.txtHDeptName.Location = new System.Drawing.Point(498, 28);
            this.txtHDeptName.Name = "txtHDeptName";
            this.txtHDeptName.ReadOnly = true;
            this.txtHDeptName.Size = new System.Drawing.Size(190, 28);
            this.txtHDeptName.Size = new System.Drawing.Size(128, 21);
            this.txtHDeptName.TabIndex = 155;
            // 
            // label12
@@ -577,10 +616,9 @@
            this.label12.AutoSize = true;
            this.label12.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
            this.label12.ForeColor = System.Drawing.Color.Black;
            this.label12.Location = new System.Drawing.Point(699, 48);
            this.label12.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
            this.label12.Location = new System.Drawing.Point(466, 32);
            this.label12.Name = "label12";
            this.label12.Size = new System.Drawing.Size(44, 18);
            this.label12.Size = new System.Drawing.Size(29, 12);
            this.label12.TabIndex = 154;
            this.label12.Text = "车间";
            // 
@@ -588,11 +626,10 @@
            // 
            this.txtHBatchNo.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
            this.txtHBatchNo.ImeMode = System.Windows.Forms.ImeMode.NoControl;
            this.txtHBatchNo.Location = new System.Drawing.Point(1040, 84);
            this.txtHBatchNo.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
            this.txtHBatchNo.Location = new System.Drawing.Point(693, 56);
            this.txtHBatchNo.Name = "txtHBatchNo";
            this.txtHBatchNo.ReadOnly = true;
            this.txtHBatchNo.Size = new System.Drawing.Size(190, 28);
            this.txtHBatchNo.Size = new System.Drawing.Size(128, 21);
            this.txtHBatchNo.TabIndex = 153;
            // 
            // label11
@@ -600,10 +637,9 @@
            this.label11.AutoSize = true;
            this.label11.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
            this.label11.ForeColor = System.Drawing.Color.Black;
            this.label11.Location = new System.Drawing.Point(993, 90);
            this.label11.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
            this.label11.Location = new System.Drawing.Point(662, 60);
            this.label11.Name = "label11";
            this.label11.Size = new System.Drawing.Size(44, 18);
            this.label11.Size = new System.Drawing.Size(29, 12);
            this.label11.TabIndex = 152;
            this.label11.Text = "批号";
            // 
@@ -612,10 +648,9 @@
            this.label10.AutoSize = true;
            this.label10.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
            this.label10.ForeColor = System.Drawing.Color.Black;
            this.label10.Location = new System.Drawing.Point(681, 132);
            this.label10.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
            this.label10.Location = new System.Drawing.Point(454, 88);
            this.label10.Name = "label10";
            this.label10.Size = new System.Drawing.Size(62, 18);
            this.label10.Size = new System.Drawing.Size(41, 12);
            this.label10.TabIndex = 150;
            this.label10.Text = "扣点数";
            // 
@@ -623,10 +658,9 @@
            // 
            this.txtHKDQty.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
            this.txtHKDQty.ImeMode = System.Windows.Forms.ImeMode.NoControl;
            this.txtHKDQty.Location = new System.Drawing.Point(747, 126);
            this.txtHKDQty.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
            this.txtHKDQty.Location = new System.Drawing.Point(498, 84);
            this.txtHKDQty.Name = "txtHKDQty";
            this.txtHKDQty.Size = new System.Drawing.Size(190, 28);
            this.txtHKDQty.Size = new System.Drawing.Size(128, 21);
            this.txtHKDQty.TabIndex = 151;
            // 
            // label9
@@ -634,10 +668,9 @@
            this.label9.AutoSize = true;
            this.label9.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
            this.label9.ForeColor = System.Drawing.Color.Black;
            this.label9.Location = new System.Drawing.Point(408, 132);
            this.label9.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
            this.label9.Location = new System.Drawing.Point(272, 88);
            this.label9.Name = "label9";
            this.label9.Size = new System.Drawing.Size(44, 18);
            this.label9.Size = new System.Drawing.Size(29, 12);
            this.label9.TabIndex = 148;
            this.label9.Text = "重量";
            // 
@@ -645,10 +678,9 @@
            // 
            this.txtHWeightQyt.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
            this.txtHWeightQyt.ImeMode = System.Windows.Forms.ImeMode.NoControl;
            this.txtHWeightQyt.Location = new System.Drawing.Point(454, 126);
            this.txtHWeightQyt.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
            this.txtHWeightQyt.Location = new System.Drawing.Point(303, 84);
            this.txtHWeightQyt.Name = "txtHWeightQyt";
            this.txtHWeightQyt.Size = new System.Drawing.Size(190, 28);
            this.txtHWeightQyt.Size = new System.Drawing.Size(128, 21);
            this.txtHWeightQyt.TabIndex = 149;
            // 
            // label7
@@ -656,10 +688,9 @@
            this.label7.AutoSize = true;
            this.label7.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
            this.label7.ForeColor = System.Drawing.Color.Black;
            this.label7.Location = new System.Drawing.Point(94, 132);
            this.label7.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
            this.label7.Location = new System.Drawing.Point(63, 88);
            this.label7.Name = "label7";
            this.label7.Size = new System.Drawing.Size(44, 18);
            this.label7.Size = new System.Drawing.Size(29, 12);
            this.label7.TabIndex = 146;
            this.label7.Text = "米数";
            // 
@@ -667,10 +698,9 @@
            // 
            this.txtHQty.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
            this.txtHQty.ImeMode = System.Windows.Forms.ImeMode.NoControl;
            this.txtHQty.Location = new System.Drawing.Point(142, 126);
            this.txtHQty.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
            this.txtHQty.Location = new System.Drawing.Point(95, 84);
            this.txtHQty.Name = "txtHQty";
            this.txtHQty.Size = new System.Drawing.Size(190, 28);
            this.txtHQty.Size = new System.Drawing.Size(128, 21);
            this.txtHQty.TabIndex = 147;
            // 
            // label14
@@ -678,10 +708,9 @@
            this.label14.AutoSize = true;
            this.label14.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
            this.label14.ForeColor = System.Drawing.Color.Black;
            this.label14.Location = new System.Drawing.Point(372, 90);
            this.label14.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
            this.label14.Location = new System.Drawing.Point(248, 60);
            this.label14.Name = "label14";
            this.label14.Size = new System.Drawing.Size(80, 18);
            this.label14.Size = new System.Drawing.Size(53, 12);
            this.label14.TabIndex = 144;
            this.label14.Text = "物料名称";
            // 
@@ -689,20 +718,20 @@
            // 
            this.txtHMaterName.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
            this.txtHMaterName.ImeMode = System.Windows.Forms.ImeMode.NoControl;
            this.txtHMaterName.Location = new System.Drawing.Point(454, 84);
            this.txtHMaterName.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
            this.txtHMaterName.Location = new System.Drawing.Point(303, 56);
            this.txtHMaterName.Name = "txtHMaterName";
            this.txtHMaterName.ReadOnly = true;
            this.txtHMaterName.Size = new System.Drawing.Size(190, 28);
            this.txtHMaterName.Size = new System.Drawing.Size(128, 21);
            this.txtHMaterName.TabIndex = 145;
            // 
            // cmdSave
            // 
            this.cmdSave.BackColor = System.Drawing.Color.White;
            this.cmdSave.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
            this.cmdSave.Location = new System.Drawing.Point(314, 333);
            this.cmdSave.Location = new System.Drawing.Point(209, 222);
            this.cmdSave.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
            this.cmdSave.Name = "cmdSave";
            this.cmdSave.Size = new System.Drawing.Size(129, 48);
            this.cmdSave.Size = new System.Drawing.Size(86, 32);
            this.cmdSave.TabIndex = 139;
            this.cmdSave.Text = "保存";
            this.cmdSave.UseVisualStyleBackColor = false;
@@ -713,10 +742,9 @@
            this.label5.AutoSize = true;
            this.label5.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
            this.label5.ForeColor = System.Drawing.Color.Black;
            this.label5.Location = new System.Drawing.Point(76, 48);
            this.label5.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
            this.label5.Location = new System.Drawing.Point(51, 32);
            this.label5.Name = "label5";
            this.label5.Size = new System.Drawing.Size(62, 18);
            this.label5.Size = new System.Drawing.Size(41, 12);
            this.label5.TabIndex = 142;
            this.label5.Text = "单据号";
            // 
@@ -724,9 +752,10 @@
            // 
            this.cmdSourceBillNo.BackColor = System.Drawing.Color.White;
            this.cmdSourceBillNo.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
            this.cmdSourceBillNo.Location = new System.Drawing.Point(153, 333);
            this.cmdSourceBillNo.Location = new System.Drawing.Point(102, 222);
            this.cmdSourceBillNo.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
            this.cmdSourceBillNo.Name = "cmdSourceBillNo";
            this.cmdSourceBillNo.Size = new System.Drawing.Size(129, 48);
            this.cmdSourceBillNo.Size = new System.Drawing.Size(86, 32);
            this.cmdSourceBillNo.TabIndex = 138;
            this.cmdSourceBillNo.Text = "选单";
            this.cmdSourceBillNo.UseVisualStyleBackColor = false;
@@ -736,11 +765,10 @@
            // 
            this.txtHBillNo.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
            this.txtHBillNo.ImeMode = System.Windows.Forms.ImeMode.NoControl;
            this.txtHBillNo.Location = new System.Drawing.Point(142, 42);
            this.txtHBillNo.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
            this.txtHBillNo.Location = new System.Drawing.Point(95, 28);
            this.txtHBillNo.Name = "txtHBillNo";
            this.txtHBillNo.ReadOnly = true;
            this.txtHBillNo.Size = new System.Drawing.Size(190, 28);
            this.txtHBillNo.Size = new System.Drawing.Size(128, 21);
            this.txtHBillNo.TabIndex = 143;
            // 
            // cmbHBarCodeType
@@ -749,9 +777,10 @@
            this.cmbHBarCodeType.FormattingEnabled = true;
            this.cmbHBarCodeType.Items.AddRange(new object[] {
            "唯一条码"});
            this.cmbHBarCodeType.Location = new System.Drawing.Point(1040, 42);
            this.cmbHBarCodeType.Location = new System.Drawing.Point(693, 28);
            this.cmbHBarCodeType.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
            this.cmbHBarCodeType.Name = "cmbHBarCodeType";
            this.cmbHBarCodeType.Size = new System.Drawing.Size(190, 26);
            this.cmbHBarCodeType.Size = new System.Drawing.Size(128, 20);
            this.cmbHBarCodeType.TabIndex = 139;
            // 
            // label8
@@ -759,10 +788,9 @@
            this.label8.AutoSize = true;
            this.label8.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
            this.label8.ForeColor = System.Drawing.Color.Black;
            this.label8.Location = new System.Drawing.Point(957, 48);
            this.label8.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
            this.label8.Location = new System.Drawing.Point(638, 32);
            this.label8.Name = "label8";
            this.label8.Size = new System.Drawing.Size(80, 18);
            this.label8.Size = new System.Drawing.Size(53, 12);
            this.label8.TabIndex = 138;
            this.label8.Text = "条码类型";
            // 
@@ -770,9 +798,10 @@
            // 
            this.dtpHDate.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
            this.dtpHDate.Format = System.Windows.Forms.DateTimePickerFormat.Short;
            this.dtpHDate.Location = new System.Drawing.Point(454, 42);
            this.dtpHDate.Location = new System.Drawing.Point(303, 28);
            this.dtpHDate.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
            this.dtpHDate.Name = "dtpHDate";
            this.dtpHDate.Size = new System.Drawing.Size(190, 28);
            this.dtpHDate.Size = new System.Drawing.Size(128, 21);
            this.dtpHDate.TabIndex = 100;
            // 
            // label6
@@ -780,10 +809,9 @@
            this.label6.AutoSize = true;
            this.label6.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
            this.label6.ForeColor = System.Drawing.Color.Black;
            this.label6.Location = new System.Drawing.Point(408, 48);
            this.label6.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
            this.label6.Location = new System.Drawing.Point(272, 32);
            this.label6.Name = "label6";
            this.label6.Size = new System.Drawing.Size(44, 18);
            this.label6.Size = new System.Drawing.Size(29, 12);
            this.label6.TabIndex = 99;
            this.label6.Text = "日期";
            // 
@@ -793,22 +821,22 @@
            this.grdSub.AllowUserToDeleteRows = false;
            this.grdSub.BackgroundColor = System.Drawing.SystemColors.ControlLightLight;
            this.grdSub.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
            dataGridViewCellStyle2.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
            dataGridViewCellStyle2.BackColor = System.Drawing.SystemColors.Window;
            dataGridViewCellStyle2.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
            dataGridViewCellStyle2.ForeColor = System.Drawing.SystemColors.ControlText;
            dataGridViewCellStyle2.SelectionBackColor = System.Drawing.SystemColors.Highlight;
            dataGridViewCellStyle2.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
            dataGridViewCellStyle2.WrapMode = System.Windows.Forms.DataGridViewTriState.False;
            this.grdSub.DefaultCellStyle = dataGridViewCellStyle2;
            dataGridViewCellStyle4.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
            dataGridViewCellStyle4.BackColor = System.Drawing.SystemColors.Window;
            dataGridViewCellStyle4.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
            dataGridViewCellStyle4.ForeColor = System.Drawing.SystemColors.ControlText;
            dataGridViewCellStyle4.SelectionBackColor = System.Drawing.SystemColors.Highlight;
            dataGridViewCellStyle4.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
            dataGridViewCellStyle4.WrapMode = System.Windows.Forms.DataGridViewTriState.False;
            this.grdSub.DefaultCellStyle = dataGridViewCellStyle4;
            this.grdSub.Dock = System.Windows.Forms.DockStyle.Fill;
            this.grdSub.Location = new System.Drawing.Point(0, 110);
            this.grdSub.Location = new System.Drawing.Point(0, 73);
            this.grdSub.Margin = new System.Windows.Forms.Padding(0);
            this.grdSub.Name = "grdSub";
            this.grdSub.ReadOnly = true;
            this.grdSub.RowHeadersWidth = 51;
            this.grdSub.RowTemplate.Height = 23;
            this.grdSub.Size = new System.Drawing.Size(386, 830);
            this.grdSub.Size = new System.Drawing.Size(257, 554);
            this.grdSub.TabIndex = 18;
            this.grdSub.Paint += new System.Windows.Forms.PaintEventHandler(this.grdSub_Paint);
            // 
@@ -816,21 +844,19 @@
            // 
            this.tabControl1.Controls.Add(this.tabPage1);
            this.tabControl1.Dock = System.Windows.Forms.DockStyle.Fill;
            this.tabControl1.Location = new System.Drawing.Point(0, 392);
            this.tabControl1.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
            this.tabControl1.Location = new System.Drawing.Point(0, 261);
            this.tabControl1.Name = "tabControl1";
            this.tabControl1.SelectedIndex = 0;
            this.tabControl1.Size = new System.Drawing.Size(1488, 548);
            this.tabControl1.Size = new System.Drawing.Size(992, 366);
            this.tabControl1.TabIndex = 149;
            // 
            // tabPage1
            // 
            this.tabPage1.Controls.Add(this.grdMain);
            this.tabPage1.Location = new System.Drawing.Point(4, 28);
            this.tabPage1.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
            this.tabPage1.Location = new System.Drawing.Point(4, 22);
            this.tabPage1.Name = "tabPage1";
            this.tabPage1.Padding = new System.Windows.Forms.Padding(4, 4, 4, 4);
            this.tabPage1.Size = new System.Drawing.Size(1480, 516);
            this.tabPage1.Padding = new System.Windows.Forms.Padding(3, 3, 3, 3);
            this.tabPage1.Size = new System.Drawing.Size(984, 340);
            this.tabPage1.TabIndex = 0;
            this.tabPage1.Text = "称重记录";
            this.tabPage1.UseVisualStyleBackColor = true;
@@ -840,10 +866,9 @@
            this.panel1.Controls.Add(this.grdSub);
            this.panel1.Controls.Add(this.groupBox1);
            this.panel1.Dock = System.Windows.Forms.DockStyle.Left;
            this.panel1.Location = new System.Drawing.Point(16, 75);
            this.panel1.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
            this.panel1.Location = new System.Drawing.Point(11, 50);
            this.panel1.Name = "panel1";
            this.panel1.Size = new System.Drawing.Size(386, 940);
            this.panel1.Size = new System.Drawing.Size(257, 627);
            this.panel1.TabIndex = 59;
            // 
            // groupBox1
@@ -853,10 +878,8 @@
            this.groupBox1.Controls.Add(this.cmdOK);
            this.groupBox1.Dock = System.Windows.Forms.DockStyle.Top;
            this.groupBox1.Location = new System.Drawing.Point(0, 0);
            this.groupBox1.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
            this.groupBox1.Name = "groupBox1";
            this.groupBox1.Padding = new System.Windows.Forms.Padding(4, 4, 4, 4);
            this.groupBox1.Size = new System.Drawing.Size(386, 110);
            this.groupBox1.Size = new System.Drawing.Size(257, 73);
            this.groupBox1.TabIndex = 146;
            this.groupBox1.TabStop = false;
            // 
@@ -865,10 +888,9 @@
            this.label1.AutoSize = true;
            this.label1.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
            this.label1.ForeColor = System.Drawing.Color.Black;
            this.label1.Location = new System.Drawing.Point(16, 60);
            this.label1.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
            this.label1.Location = new System.Drawing.Point(11, 40);
            this.label1.Name = "label1";
            this.label1.Size = new System.Drawing.Size(62, 18);
            this.label1.Size = new System.Drawing.Size(41, 12);
            this.label1.TabIndex = 151;
            this.label1.Text = "条形码";
            // 
@@ -876,10 +898,9 @@
            // 
            this.txtHBarCode.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
            this.txtHBarCode.ImeMode = System.Windows.Forms.ImeMode.NoControl;
            this.txtHBarCode.Location = new System.Drawing.Point(86, 54);
            this.txtHBarCode.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
            this.txtHBarCode.Location = new System.Drawing.Point(57, 36);
            this.txtHBarCode.Name = "txtHBarCode";
            this.txtHBarCode.Size = new System.Drawing.Size(188, 28);
            this.txtHBarCode.Size = new System.Drawing.Size(127, 21);
            this.txtHBarCode.TabIndex = 152;
            this.txtHBarCode.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.txtHBarCode_KeyPress);
            // 
@@ -888,9 +909,10 @@
            this.cmdOK.BackColor = System.Drawing.Color.White;
            this.cmdOK.Cursor = System.Windows.Forms.Cursors.Default;
            this.cmdOK.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
            this.cmdOK.Location = new System.Drawing.Point(284, 50);
            this.cmdOK.Location = new System.Drawing.Point(189, 33);
            this.cmdOK.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
            this.cmdOK.Name = "cmdOK";
            this.cmdOK.Size = new System.Drawing.Size(82, 40);
            this.cmdOK.Size = new System.Drawing.Size(55, 27);
            this.cmdOK.TabIndex = 150;
            this.cmdOK.Text = "确认";
            this.cmdOK.UseVisualStyleBackColor = false;
@@ -901,105 +923,101 @@
            this.panel2.Controls.Add(this.tabControl1);
            this.panel2.Controls.Add(this.gbUp);
            this.panel2.Dock = System.Windows.Forms.DockStyle.Fill;
            this.panel2.Location = new System.Drawing.Point(418, 75);
            this.panel2.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
            this.panel2.Location = new System.Drawing.Point(279, 50);
            this.panel2.Name = "panel2";
            this.panel2.Size = new System.Drawing.Size(1488, 940);
            this.panel2.Size = new System.Drawing.Size(992, 627);
            this.panel2.TabIndex = 60;
            // 
            // å·¦ä¾§
            // 
            this.左侧.Dock = System.Windows.Forms.DockStyle.Left;
            this.左侧.Location = new System.Drawing.Point(0, 75);
            this.左侧.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
            this.左侧.Location = new System.Drawing.Point(0, 50);
            this.左侧.Name = "左侧";
            this.左侧.Size = new System.Drawing.Size(16, 940);
            this.左侧.Size = new System.Drawing.Size(11, 627);
            this.左侧.TabIndex = 61;
            // 
            // ä¸­é—´
            // 
            this.中间.Dock = System.Windows.Forms.DockStyle.Left;
            this.中间.Location = new System.Drawing.Point(402, 75);
            this.中间.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
            this.中间.Location = new System.Drawing.Point(268, 50);
            this.中间.Name = "中间";
            this.中间.Size = new System.Drawing.Size(16, 940);
            this.中间.Size = new System.Drawing.Size(11, 627);
            this.中间.TabIndex = 62;
            // 
            // åº•部
            // 
            this.底部.Dock = System.Windows.Forms.DockStyle.Bottom;
            this.底部.Location = new System.Drawing.Point(0, 1015);
            this.底部.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
            this.底部.Location = new System.Drawing.Point(0, 677);
            this.底部.Name = "底部";
            this.底部.Size = new System.Drawing.Size(1924, 15);
            this.底部.Size = new System.Drawing.Size(1283, 10);
            this.底部.TabIndex = 63;
            // 
            // å³ä¾§
            // 
            this.右侧.Dock = System.Windows.Forms.DockStyle.Right;
            this.右侧.Location = new System.Drawing.Point(1906, 75);
            this.右侧.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
            this.右侧.Location = new System.Drawing.Point(1271, 50);
            this.右侧.Name = "右侧";
            this.右侧.Size = new System.Drawing.Size(18, 940);
            this.右侧.Size = new System.Drawing.Size(12, 627);
            this.右侧.TabIndex = 64;
            // 
            // timer2
            // 
            this.timer2.Tick += new System.EventHandler(this.timer2_Tick);
            // 
            // button_getHWeight
            // cmdHBPack
            // 
            this.button_getHWeight.BackColor = System.Drawing.Color.White;
            this.button_getHWeight.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
            this.button_getHWeight.Location = new System.Drawing.Point(483, 333);
            this.button_getHWeight.Name = "button_getHWeight";
            this.button_getHWeight.Size = new System.Drawing.Size(129, 48);
            this.button_getHWeight.TabIndex = 326;
            this.button_getHWeight.Text = "称重";
            this.button_getHWeight.UseVisualStyleBackColor = false;
            this.button_getHWeight.Click += new System.EventHandler(this.button_getHWeight_Click);
            this.cmdHBPack.BackColor = System.Drawing.Color.White;
            this.cmdHBPack.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
            this.cmdHBPack.Location = new System.Drawing.Point(847, 40);
            this.cmdHBPack.Margin = new System.Windows.Forms.Padding(2);
            this.cmdHBPack.Name = "cmdHBPack";
            this.cmdHBPack.Size = new System.Drawing.Size(86, 32);
            this.cmdHBPack.TabIndex = 330;
            this.cmdHBPack.Text = "开始组托";
            this.cmdHBPack.UseVisualStyleBackColor = false;
            this.cmdHBPack.Click += new System.EventHandler(this.cmdHBPack_Click);
            // 
            // button_OpenCom
            // cmdHEPack
            // 
            this.button_OpenCom.BackColor = System.Drawing.Color.White;
            this.button_OpenCom.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
            this.button_OpenCom.Location = new System.Drawing.Point(644, 333);
            this.button_OpenCom.Name = "button_OpenCom";
            this.button_OpenCom.Size = new System.Drawing.Size(129, 48);
            this.button_OpenCom.TabIndex = 327;
            this.button_OpenCom.Text = "打开串口";
            this.button_OpenCom.UseVisualStyleBackColor = false;
            this.button_OpenCom.Click += new System.EventHandler(this.button_OpenCom_Click);
            this.cmdHEPack.BackColor = System.Drawing.Color.White;
            this.cmdHEPack.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
            this.cmdHEPack.Location = new System.Drawing.Point(847, 94);
            this.cmdHEPack.Margin = new System.Windows.Forms.Padding(2);
            this.cmdHEPack.Name = "cmdHEPack";
            this.cmdHEPack.Size = new System.Drawing.Size(86, 32);
            this.cmdHEPack.TabIndex = 331;
            this.cmdHEPack.Text = "结束组托";
            this.cmdHEPack.UseVisualStyleBackColor = false;
            this.cmdHEPack.Click += new System.EventHandler(this.cmdHEPack_Click);
            // 
            // label_COM
            // label18
            // 
            this.label_COM.AutoSize = true;
            this.label_COM.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
            this.label_COM.ForeColor = System.Drawing.Color.Black;
            this.label_COM.Location = new System.Drawing.Point(708, 171);
            this.label_COM.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
            this.label_COM.Name = "label_COM";
            this.label_COM.Size = new System.Drawing.Size(35, 18);
            this.label_COM.TabIndex = 328;
            this.label_COM.Text = "COM";
            this.label18.AutoSize = true;
            this.label18.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
            this.label18.ForeColor = System.Drawing.Color.Black;
            this.label18.Location = new System.Drawing.Point(638, 116);
            this.label18.Name = "label18";
            this.label18.Size = new System.Drawing.Size(53, 12);
            this.label18.TabIndex = 332;
            this.label18.Text = "托盘条码";
            // 
            // textBox_COM
            // txtHBarCode_Pack
            // 
            this.textBox_COM.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
            this.textBox_COM.ImeMode = System.Windows.Forms.ImeMode.NoControl;
            this.textBox_COM.Location = new System.Drawing.Point(747, 168);
            this.textBox_COM.Margin = new System.Windows.Forms.Padding(4);
            this.textBox_COM.Name = "textBox_COM";
            this.textBox_COM.Size = new System.Drawing.Size(190, 28);
            this.textBox_COM.TabIndex = 329;
            this.txtHBarCode_Pack.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
            this.txtHBarCode_Pack.ImeMode = System.Windows.Forms.ImeMode.NoControl;
            this.txtHBarCode_Pack.Location = new System.Drawing.Point(693, 112);
            this.txtHBarCode_Pack.Name = "txtHBarCode_Pack";
            this.txtHBarCode_Pack.ReadOnly = true;
            this.txtHBarCode_Pack.Size = new System.Drawing.Size(128, 21);
            this.txtHBarCode_Pack.TabIndex = 333;
            // 
            // Kf_WeighToBarCode
            // 
            this.AutoScaleDimensions = new System.Drawing.SizeF(9F, 18F);
            this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
            this.AutoSize = true;
            this.BackColor = System.Drawing.SystemColors.ActiveCaption;
            this.ClientSize = new System.Drawing.Size(1924, 1030);
            this.ClientSize = new System.Drawing.Size(1283, 687);
            this.Controls.Add(this.panel2);
            this.Controls.Add(this.中间);
            this.Controls.Add(this.panel1);
@@ -1007,7 +1025,6 @@
            this.Controls.Add(this.右侧);
            this.Controls.Add(this.底部);
            this.Controls.Add(this.Tool);
            this.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
            this.Name = "Kf_WeighToBarCode";
            this.Text = "称重入库";
            this.WindowState = System.Windows.Forms.FormWindowState.Maximized;
@@ -1103,5 +1120,9 @@
        private System.Windows.Forms.Button button_OpenCom;
        private System.Windows.Forms.TextBox textBox_COM;
        private System.Windows.Forms.Label label_COM;
        private System.Windows.Forms.Button cmdHEPack;
        private System.Windows.Forms.Button cmdHBPack;
        private System.Windows.Forms.Label label18;
        private System.Windows.Forms.TextBox txtHBarCode_Pack;
    }
}
WarM/ÌõÂë´òÓ¡/Kf_WeighToBarCode.resx
@@ -360,7 +360,7 @@
  <data name="mrlk.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
    <value>
        iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
        YQUAAAAJcEhZcwAAFiUAABYlAUlSJPAAAAH/SURBVDhPfZHfS1NhGMefkCLQu/A/6MK6SbMQFlg3dudN
        YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAH/SURBVDhPfZHfS1NhGMefkCLQu/A/6MK6SbMQFlg3dudN
        oBFDY9BF05XMMAoLL3bhxGB4zjzoVCKim4iCgkCMSam1cqP9aO4YJlpIDmqh00IRv73Pe87OWuV54Mt7
        znm/n895z0aF8Stj6FdGoARDUAf/H97jTp96FyZmjC8QwuRUBB0zACkiwT0i9rxvgBcvX4MZEye65Vex
        vp6HJ7yJ+1nYpmNyE3nRZcbEiW74AljL5UB3gOk84J8HnFPA0UfirZqIaoZPMQDZZcbEibp6+vE9mwUF
@@ -375,7 +375,7 @@
  <data name="bclk.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
    <value>
        iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
        YQUAAAAJcEhZcwAAFiUAABYlAUlSJPAAAAH4SURBVDhPjZPNS1RRGMZfI2jRLlqUEKLUQgsl3EauEoRW
        YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAH4SURBVDhPjZPNS1RRGMZfI2jRLlqUEKLUQgsl3EauEoRW
        /QN+phG4CQXTNrPLbzFrpZAuBIfEqChctFRndHI0YzKnxkHFYQgH50NH5+o8Pm/HwQ/s4oGHc++5z/O7
        77nnvSKPPZDyKYSfA8tN55N6NfMvK1XT+LIBxAH8PqfUqxnNitR+g1x/yQuRlJWCZVm2Uo965RozmpXq
        aRR/Io1jYgJwTdlLPeqt92QqqHLj7phZTCST2Nqxl3rUWzrOTKX7JGBykm9x2Us96r3p1ApOAf5G49iI
@@ -390,7 +390,7 @@
  <data name="sx.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
    <value>
        iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
        YQUAAAAJcEhZcwAAFiUAABYlAUlSJPAAAAFtSURBVDhPtVPLTsJAFOUj+kV+gWv9CaAWBApoITzER6UJ
        YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAFtSURBVDhPtVPLTsJAFOUj+kV+gWv9CaAWBApoITzER6UJ
        EYMuNLIiigkaCKAGEhWN78ToQqMLTTS60I3GzXHu2CpxCsGFJ5l0eu8959y50zr+DcrYAPoH+4RFcbOk
        M6jQaIXReDFQf9JRuptA4SqJhfMYAqUhSJLUWYTIe28ZHHzM8GeTiVQedRRvUli6iCN3rCHNxG1FqD1y
        JvIZZvmeCq1F7nMnER6nvXAccm+8Gmi9Z77JZorDEknvhhDfCohdkED9eZqfXUiaoBp9O4jYhs9eoHQ/
@@ -402,7 +402,7 @@
  <data name="dy.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
    <value>
        iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
        YQUAAAAJcEhZcwAAFiUAABYlAUlSJPAAAADmSURBVDhPlY6xDYMwFES9U3bKCmzACEh0FJmACRiAnoqK
        YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAADmSURBVDhPlY6xDYMwFES9U3bKCmzACEh0FJmACRiAnoqK
        jo6OzvH7yVk/OFHg0MnC/vfuhzOq6zrK76vzIrRtm3nf92sgBpdlieu6ZgCe5xmAXEot0zTZMABBXLiU
        grRUVRWHYTATYpOfYR9kiGbMnQelUTu5wzmsoDWk796GOI6jGRDDzH0BxAyQ1Z5e4xhuGUSQWbkAaE2B
        FMRN05h9uAD4JoHato1d9yjCOjOAH9Y+QggDOW5gwZdfEgR7iAf4YG53yq0eBADzjlWk/+QP2WXf9xmk
@@ -412,7 +412,7 @@
  <data name="hb.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
    <value>
        iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
        YQUAAAAJcEhZcwAAFiUAABYlAUlSJPAAAAGgSURBVDhPlZPPK8NhHMc/5T7tRM0cOCAHJXGbxQ7c/AEc
        YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGgSURBVDhPlZPPK8NhHMc/5T7tRM0cOCAHJXGbxQ7c/AEc
        d1EcjEwytSiH4SZcRHLQ7FemtlJDOPiZml8XSzMWMz9mK7Xevs/z7DvDzLzr9X2253k+r8+nvn0pM10t
        hGykjnMndRE1ZWJlVKvF+qdErytIF/1G6k72sMPTBULIRcCF4H2bcOMknC8SNsb/IXheJ8R8hAfPPwUH
        M4Qz6fKVlXBtJwRWxP99aX/NnKfgcJZwMkfwS9OwdW86TwFLc6MGmxPE2Zok+CwCzwjB5XDkLpbDJHYj
@@ -425,7 +425,7 @@
  <data name="tc.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
    <value>
        iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
        YQUAAAAJcEhZcwAAFiUAABYlAUlSJPAAAADCSURBVDhPpZJdCoMwEIRzpxxJ6Ak2z/ZZnysIBXuUHMA7
        YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAADCSURBVDhPpZJdCoMwEIRzpxxJ6Ak2z/ZZnysIBXuUHMA7
        bXeWrGBMYkoHh+gk8xl/XEneP7jXqXIWJkIgHscnT/PEy2vhz7ZhMQ/Dm5l3ObRcB1ACzAKQ6FTcV69G
        rgWTbUl3QFQtFgGpfAAoAVDOi2ZbrwW5hwY4N+P6FmDlkrsBq6zOy3AXIEkhGHMbIMaorgGgI8Cu7CsY
        wOZbAEgDBch/gOveRzgJAKLwH0CGJsDmxU1dAMiSu3R5iZr+oJuic1+SJ5jRbOqnmgAAAABJRU5ErkJg
WebAPI/Controllers/BaseSet/Gy_BadReasonController.cs
@@ -4529,7 +4529,7 @@
                }
                string sql1 = "select * from  h_v_Gy_CusType where 1 = 1";
                string sql = sql1 + sWhere + " order by HNumber ";
                string sql = sql1 + sWhere;
                ds = oCN.RunProcReturn(sql, "h_v_Gy_CusType");
                //添加列名
WebAPI/Controllers/BaseSet/Gy_CheckItemController.cs
@@ -643,9 +643,9 @@
        #endregion
        #region æ ¡éªŒé¡¹ç›®åˆ—表 æ–‡ä»¶ä¸Šä¼ 
        [Route("Gy_CheckItem/Gy_Process_Excel")]
        [Route("Gy_CheckItem/Gy_CheckItem_Excel")]
        [HttpPost]
        public json Gy_Process_Excel()
        public json Gy_CheckItem_Excel()
        {
            json res = new json();
            try
@@ -674,7 +674,7 @@
                //模板缺少列 ä½†éœ€è¦ä»Žæ•°æ®åº“中查询出来显示在页面的字段
                provisional.Columns.Add("HOrgID", typeof(Int32));//组织ID
                provisional.Columns.Add("HDeptID", typeof(Int32));//部门ID
                provisional.Columns.Add("HQCCheckClassID", typeof(Int32));//检验项目分类ID
                //添加数据
                for (int i = 1; i < ExcelDs.Tables[0].Rows.Count; i++)
@@ -700,22 +700,20 @@
                for (int i = 0; i <= provisional.Rows.Count - 1; i++)
                {
                    string HNumber = DBUtility.ClsPub.isStrNull(provisional.Rows[i]["代码"].ToString());
                    string HUSEORGID = DBUtility.ClsPub.isStrNull(provisional.Rows[i]["组织代码"].ToString());
                    string HQCCheckClassID = DBUtility.ClsPub.isStrNull(provisional.Rows[i]["检验项目类别代码"].ToString());
                    string HQCCheckClassName = DBUtility.ClsPub.isStrNull(provisional.Rows[i]["检验项目类别名称"].ToString());
                    string HName = DBUtility.ClsPub.isStrNull(provisional.Rows[i]["名称"].ToString());
                    string HCheckItemName = DBUtility.ClsPub.isStrNull(provisional.Rows[i]["检验项目"].ToString());
                    string HCheckItemNumber = DBUtility.ClsPub.isStrNull(provisional.Rows[i]["检验项目代码"].ToString());
                    string HQCCheckClassName = DBUtility.ClsPub.isStrNull(provisional.Rows[i]["检验项目分类"].ToString());
                    string HQCCheckClassNumber = DBUtility.ClsPub.isStrNull(provisional.Rows[i]["检验项目分类代码"].ToString());
                    string HORGNumber = DBUtility.ClsPub.isStrNull(provisional.Rows[i]["组织代码"].ToString());
                    string HORGName = DBUtility.ClsPub.isStrNull(provisional.Rows[i]["组织名称"].ToString());
                    string HHelpCode = DBUtility.ClsPub.isStrNull(provisional.Rows[i]["助记码"]);
                    string HRemark = DBUtility.ClsPub.isStrNull(provisional.Rows[i]["备注"].ToString());
                    //获取真实行数
                    int line = i + 1;
                    if (HUSEORGID != "")
                    if (HORGNumber != "")
                    {
                        //查询组织
                        ds = oCN.RunProcReturn("select * from Xt_ORGANIZATIONS where  HNumber='" + HUSEORGID + "' and Hname='" + HORGName + "'", "Xt_ORGANIZATIONS");
                        ds = oCN.RunProcReturn("select * from Xt_ORGANIZATIONS where  HNumber='" + HORGNumber + "' and Hname='" + HORGName + "'", "Xt_ORGANIZATIONS");
                        if (ds.Tables[0].Rows.Count == 0)
                        {
@@ -731,8 +729,8 @@
                        }
                        string HORGid = ds.Tables[0].Rows[0]["HItemID"].ToString();
                        //查询检验项目是否存在
                        DataSet checkClass = oCN.RunProcReturn("select * from Gy_QCCheckClass where HNumber = '" + HQCCheckClassID + "' and HName = '" + HQCCheckClassName + "'", "Gy_QCCheckClass");
                        //查询检验项目分类是否存在
                        DataSet checkClass = oCN.RunProcReturn("select * from Gy_QCCheckClass where HNumber = '" + HQCCheckClassNumber + "' and HName = '" + HQCCheckClassName + "'", "Gy_QCCheckClass");
                        if (checkClass.Tables[0].Rows.Count == 0)
                        {
                            res.code = CodeConstant.FAIL;
@@ -740,6 +738,10 @@
                            res.Message = "第" + line + "行,检验项目不存在!";
                            res.data = null;
                            return res;
                        }
                        else
                        {
                            provisional.Rows[i]["HQCCheckClassID"] = ds.Tables[0].Rows[0]["HItemID"].ToString();
                        }
                    }
                    else
@@ -781,14 +783,32 @@
            if (!provisional.Columns.Contains("组织代码"))
                error += "没有找到【组织代码】的标题,";
            if(!provisional.Columns.Contains("检验项目类别名称"))
                error += "没有找到【检验项目类别名称】的标题,";
            if(!provisional.Columns.Contains("检验项目分类代码"))
                error += "没有找到【检验项目分类代码】的标题,";
            if (!provisional.Columns.Contains("组织名称"))
                error += "没有找到【组织名称】的标题,";
            if (!provisional.Columns.Contains("检验项目分类"))
                error += "没有找到【检验项目分类】的标题,";
            if (!provisional.Columns.Contains("检验项目"))
                error += "没有找到【检验项目】的标题,";
            if (!provisional.Columns.Contains("检验项目代码"))
                error += "没有找到【检验项目代码】的标题,";
            if (!provisional.Columns.Contains("助记码"))
                error += "没有找到【助记码】的标题,";
            if (!provisional.Columns.Contains("备注"))
                error += "没有找到【备注】的标题,";
            return error;
        }
        #endregion
        #region æ ¡éªŒé¡¹ç›®åˆ—表 å¯¼å…¥(保存)
        [Route("Gy_CheckItem/Gy_Process_btnSave")]
        [Route("Gy_CheckItem/Gy_CheckItem_btnSave")]
        [HttpPost]
        public object Gy_Group_btnSave([FromBody] JObject sMainSub)
        {
@@ -799,7 +819,7 @@
            string user = sArray[1].ToString();
            try
            {
                if (!DBUtility.ClsPub.Security_Log("Gy_Group_Edit", 1, false, user))
                if (!DBUtility.ClsPub.Security_Log("Gy_QCCheckItem_Edit", 1, false, user))
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
@@ -825,12 +845,11 @@
                int i = 1;
                foreach (Dictionary<string, string> item in list)
                {
                    string HNumber = item["代码"].ToString();
                    string HUSEORGID = item["组织代码"].ToString();
                    string HName = item["名称"].ToString();
                    string HORGName = item["组织名称"].ToString();
                    string HNumber = item["检验项目代码"].ToString();
                    string HUSEORGID = item["HOrgID"].ToString();
                    string HName = item["检验项目"].ToString();
                    string HHelpCode = item["助记码"];
                    string HQCCheckClassID = item["检验项目类别代码"];
                    string HQCCheckClassID = item["HQCCheckClassID"];
                    string HRemark = item["备注"].ToString();
                    string sShortNumber;
WebAPI/Controllers/BaseSet/Gy_CustomerController.cs
@@ -9,6 +9,12 @@
using System.Web.Http;
using WebAPI.Models;
using System.Text.RegularExpressions;
using SyntacticSugar.constant;
using System.Web;
using WebAPI.Controllers.SCGL.日计划管理;
//using WebAPI.WebBLL.JCJM.GYZL;
//using WebAPI.WebBLL.JCJM.IMPL;
using System.IO;
namespace WebAPI.Controllers
{
    public class Gy_CustomerController : ApiController
@@ -19,9 +25,10 @@
        private json objJsonResult = new json();
        SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
        //private Gy_CustomerService customerService = new Gy_CustomerImpl();
        DataSet ds;
        #region è¿”回客户列表
        /// <summary>
        /// è¿”回客户列表
        ///参数:string sql。
@@ -93,6 +100,7 @@
                return objJsonResult;
            }
        }
        #endregion
        #region å®¢æˆ·å­è¡¨[关联用户] æŸ¥è¯¢
        /// <summary>
@@ -137,6 +145,7 @@
        }
        #endregion
        #region å®¢æˆ·åˆ—表修改按钮方法
        /// <summary>
        /// å®¢æˆ·åˆ—表修改按钮方法
        ///参数:string sql。
@@ -174,7 +183,7 @@
                return objJsonResult;
            }
        }
        #endregion
        #region èŽ·å–å½“å‰æœ€å¤§çš„å®¢æˆ·ä»£ç 
        [Route("Gy_Customer/getMaxCusNumber")]
@@ -214,6 +223,7 @@
        }
        #endregion
        #region èŽ·å–æœ€å¤§èµ„æ–™ID参数
        /// <summary>
        /// èŽ·å–æœ€å¤§åŸºç¡€èµ„æ–™ID
        ///参数:string sql。
@@ -242,6 +252,7 @@
                return objJsonResult;
            }
        }
        #endregion
        #region å®¢æˆ·æ ¹æ®åˆ†ç±»èŽ·å–æœ€å¤§å®¢æˆ·ç¼–ç 
        [Route("Gy_Customer/getMaxNum")]
@@ -320,7 +331,7 @@
        }
        #endregion
        #region å®¢æˆ·åˆ—表树形结构
        /// <summary>
        /// å®¢æˆ·åˆ—表树形结构
        ///参数:string sql。
@@ -350,7 +361,9 @@
                return objJsonResult;
            }
        }
        #endregion
        #region æ–°å¢žå•据
        /// <summary>
        /// æ–°å¢žå•据-保存按钮
        ///参数:string sql。
@@ -506,9 +519,14 @@
                return objJsonResult;
            }
        }
        #endregion
        #region ä¿å­˜å®¢æˆ·åˆ—表
        /// <summary>
        /// ä¿å­˜å®¢æˆ·åˆ—表
        /// </summary>
        /// <param name="oMain"></param>
        /// <returns></returns>
        [Route("Gy_Customer/SaveGy_CustomerListApi")]
        [HttpPost]
        public object SaveGy_CustomerListApi([FromBody] JObject oMain)
@@ -632,9 +650,9 @@
                return objJsonResult;
            }
        }
        #endregion
        #region ä¿®æ”¹å•据-保存按钮
        /// <summary>
        /// ä¿®æ”¹å•据-保存按钮
        ///参数:string sql。
@@ -805,9 +823,9 @@
                return objJsonResult;
            }
        }
        #endregion
        # region å®¢æˆ·åˆ—表删除按钮
        /// <summary>
        /// å®¢æˆ·åˆ—表删除按钮
        ///参数:string sql。
@@ -898,7 +916,7 @@
                return objJsonResult;
            }
        }
        #endregion
        #region å®¢æˆ·å®¡æ ¸ã€åå®¡æ ¸
        /// <summary>
@@ -1090,7 +1108,6 @@
        }
        #endregion
        #region [同步基础资料]
        [Route("Gy_Customer/Gy_CustomerViewApi")]
        [HttpGet]
@@ -1253,7 +1270,7 @@
        }
        #endregion
         #region å®¢æˆ·åˆ†ç±» æ ‘形图(根据代码展开树状图)
        #region å®¢æˆ·åˆ†ç±» æ ‘形图(根据代码展开树状图)
        [Route("Gy_BadReason/Gy_CusrTypeTreeList")]
        [HttpGet]
@@ -1309,7 +1326,7 @@
        {
            try
            {
                string sql1 = string.Format("select hitemid,hnumber,hname,hparentid,hlevel from Gy_CusType order by hnumber");
                string sql1 = string.Format("select hitemid,hnumber,hname,hparentid,hlevel from Gy_CusType order by hnumber ");
                ds = oCN.RunProcReturn(sql1, "Gy_CusType");
@@ -1349,7 +1366,77 @@
        }
        #endregion
        #region å®¢æˆ·åˆ—表 æ–‡ä»¶ä¸Šä¼ 
        //[Route("Gy_Customer/Gy_Process_Excel")]
        //[HttpPost]
        //public json Gy_Department_Excel()
        //{
        //    json res = new json();
        //    try
        //    {
        //        //获取文件名称
        //        var file = HttpContext.Current.Request.Files[0];
        //        //获取文件物理路径
        //        string ExcelPath = HttpContext.Current.Server.MapPath("~/" + file.FileName);
        //        //保存文件
        //        file.SaveAs(ExcelPath);
        //        NpoiHelper np = new NpoiHelper();
        //        DataSet ExcelDs = np.ReadExcel(ExcelPath, 1, 1, "0");
        //        //删除文件
        //        File.Delete(ExcelPath);
        //        DataTable provisional = customerService.UploadExcel(ExcelDs);
        //        res.code = CodeConstant.SUCCEED;
        //        res.count = CountConstant.SUCCEED;
        //        res.Message = "上传成功";
        //        res.data = provisional;
        //        return res;
        //    }
        //    catch (Exception e)
        //    {
        //        res.code = "0";
        //        res.count = 0;
        //        res.Message = "Exception!" + e.ToString();
        //        res.data = null;
        //        return res;
        //    }
        //}
        /// <summary>
        /// åˆ¤æ–­å½“前职员是否存在
        /// </summary>
        /// <param name="HEmpNumber"></param>
        /// <param name="HEmpName"></param>
        /// <returns></returns>
        //private bool JudgeEmp(string HEmpNumber, string HEmpName)
        //{
        //    if (!String.IsNullOrEmpty(HEmpNumber) && !String.IsNullOrEmpty(HEmpName))
        //    {
        //        DataSet emp = oCN.RunProcReturn("select * from Gy_Employee where HNumber = '" + HEmpNumber + "' and HName = '" + HEmpName + "'", "Gy_Employee");
        //        return emp.Tables[0].Rows.Count <= EmptyConstant.EMPTY ? true : false;
        //    }
        //    return false;
        //}
        /// <summary>
        /// åˆ¤æ–­åˆ—
        /// </summary>
        /// <param name="provisional"></param>
        /// <returns></returns>
        private static string JudgmentColumns(DataTable provisional)
        {
            var error = "";
            //查询没有的列
            if (!provisional.Columns.Contains("部门代码"))
                error += "没有找到【部门代码】的标题,";
            if (!provisional.Columns.Contains("部门名称"))
                error += "没有找到【部门名称】的标题,";
            return error;
        }
        #endregion
        #region ç‰©æ–™åˆ†ç±» æ ‘形图(根据代码展开树状图)
@@ -1375,7 +1462,6 @@
                    getTreeByLevel(dt, tree[m].children, num + 1);//再次用子集去循环,拿出子集的子集
                }
            }
        }
        public class TreeModel
        {
@@ -1386,6 +1472,7 @@
        #endregion
        #region é€’归函数
        /// <summary>
        /// é€’归函数
        /// </summary>
@@ -1415,4 +1502,5 @@
        }
    }
    #endregion
}
WebAPI/Controllers/BaseSet/Gy_DepartmentController.cs
@@ -1,12 +1,16 @@
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using Pub_Class;
using SyntacticSugar.constant;
using System;
using System.Collections;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.IO;
using System.Web;
using System.Web.Http;
using WebAPI.Controllers.SCGL.日计划管理;
using WebAPI.Models;
namespace WebAPI.Controllers
{
@@ -1161,5 +1165,243 @@
        }
        #endregion
        #region éƒ¨é—¨åˆ—表 æ–‡ä»¶ä¸Šä¼ 
        //[Route("Gy_Department/Gy_Process_Excel")]
        //[HttpPost]
        //public json Gy_Department_Excel()
        //{
        //    json res = new json();
        //    try
        //    {
        //        //获取文件名称
        //        var file = HttpContext.Current.Request.Files[0];
        //        //获取文件物理路径
        //        string ExcelPath = HttpContext.Current.Server.MapPath("~/" + file.FileName);
        //        //保存文件
        //        file.SaveAs(ExcelPath);
        //        NpoiHelper np = new NpoiHelper();
        //        DataSet ExcelDs = np.ReadExcel(ExcelPath, 1, 1, "0");
        //        //删除文件
        //        File.Delete(ExcelPath);
        //        //创建临时表
        //        DataTable provisional = new DataTable("dt2");
        //        //添加列名
        //        for (int i = 0; i < ExcelDs.Tables[0].Columns.Count; i++)
        //        {
        //            provisional.Columns.Add(ExcelDs.Tables[0].Rows[0][i].ToString());
        //        }
        //        //添加数据
        //        for (int i = 1; i < ExcelDs.Tables[0].Rows.Count; i++)
        //        {
        //            DataRow row = provisional.NewRow();
        //            for (int j = 0; j < ExcelDs.Tables[0].Columns.Count; j++)
        //            {
        //                row[j] = ExcelDs.Tables[0].Rows[i][j].ToString();
        //            }
        //            provisional.Rows.Add(row);
        //        }
        //        //判断列
        //        string error = JudgmentColumns(provisional);
        //        if (error.Length > 0)
        //        {
        //            res.code = "0";
        //            res.count = 0;
        //            res.Message = $"Excel模板存在错误,{error}\r\n";
        //            res.data = null;
        //            return res;
        //        }
        //        for (int i = 0; i <= provisional.Rows.Count - 1; i++)
        //        {
        //            string HNumber = DBUtility.ClsPub.isStrNull(provisional.Rows[i]["部门代码"].ToString());
        //            string HName = DBUtility.ClsPub.isStrNull(provisional.Rows[i]["部门名称"].ToString());
        //            string HEmpNumber = DBUtility.ClsPub.isStrNull(provisional.Rows[i]["负责人代码"].ToString());
        //            string HEmpName = DBUtility.ClsPub.isStrNull(provisional.Rows[i]["负责人名称"].ToString());
        //            string HBarCode = DBUtility.ClsPub.isStrNull(provisional.Rows[i]["条形码"].ToString());
        //            string HHelpCode = DBUtility.ClsPub.isStrNull(provisional.Rows[i]["助记码"]);
        //            string HRemark = DBUtility.ClsPub.isStrNull(provisional.Rows[i]["备注"].ToString());
        //            //判断负责人是否存在
        //            if (JudgeEmp(HEmpNumber, HEmpName))
        //            {
        //                res.code = CodeConstant.FAIL;
        //                res.count = CountConstant.FAIL;
        //                res.Message = "当前职员不存在";
        //                res.data = null;
        //                return res;
        //            }
        //            //获取真实行数
        //            int line = i + 1;
        //        }
        //        res.code = "1";
        //        res.count = 1;
        //        res.Message = error;
        //        res.data = provisional;
        //        return res;
        //    }
        //    catch (Exception e)
        //    {
        //        res.code = "0";
        //        res.count = 0;
        //        res.Message = "Exception!" + e.ToString();
        //        res.data = null;
        //        return res;
        //    }
        //}
        /// <summary>
        /// åˆ¤æ–­å½“前职员是否存在
        /// </summary>
        /// <param name="HEmpNumber"></param>
        /// <param name="HEmpName"></param>
        /// <returns></returns>
        //private bool JudgeEmp(string HEmpNumber, string HEmpName)
        //{
        //    if (!String.IsNullOrEmpty(HEmpNumber) && !String.IsNullOrEmpty(HEmpName))
        //    {
        //        DataSet emp = oCN.RunProcReturn("select * from Gy_Employee where HNumber = '" + HEmpNumber + "' and HName = '" + HEmpName + "'", "Gy_Employee");
        //        return emp.Tables[0].Rows.Count <= EmptyConstant.EMPTY ? true : false;
        //    }
        //    return false;
        //}
        /// <summary>
        /// åˆ¤æ–­åˆ—
        /// </summary>
        /// <param name="provisional"></param>
        /// <returns></returns>
        private static string JudgmentColumns(DataTable provisional)
        {
            var error = "";
            //查询没有的列
            if (!provisional.Columns.Contains("部门代码"))
                error += "没有找到【部门代码】的标题,";
            if (!provisional.Columns.Contains("部门名称"))
                error += "没有找到【部门名称】的标题,";
            return error;
        }
        #endregion
        #region éƒ¨é—¨åˆ—表 å¯¼å…¥(保存)
        [Route("Gy_Department/Gy_Process_btnSave")]
        [HttpPost]
        public object Gy_InspectBasis_btnSave([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 user = sArray[1].ToString();
            string organ = sArray[2].ToString();
            json res = new json();
            try
            {
                if (!DBUtility.ClsPub.Security_Log("Gy_Group_Edit", 1, false, user))
                {
                    res.code = "0";
                    res.count = 0;
                    res.Message = "无保存权限!";
                    res.data = null;
                    return res;
                }
                List<object> Excel = Newtonsoft.Json.JsonConvert.DeserializeObject<List<object>>(msg2);
                List<Dictionary<string, string>> list = new List<Dictionary<string, string>>();
                foreach (JObject item in Excel)
                {
                    Dictionary<string, string> dic = new Dictionary<string, string>();
                    foreach (var itm in item.Properties())
                    {
                        dic.Add(itm.Name, itm.Value.ToString());
                    }
                    list.Add(dic);
                }
                oCN.BeginTran();
                int i = 1;
                foreach (Dictionary<string, string> item in list)
                {
                    string HNumber = item["部门代码"].ToString();
                    string HName = item["部门名称"].ToString();
                    string HEmpNumber = item["负责人代码"].ToString();
                    string HEmpName = item["负责人名称"].ToString();
                    string HBarCode = item["条形码"].ToString();
                    string HHelpCode = item["助记码"].ToString();
                    string HRemark = item["备注"].ToString();
                    int HEmpID = 0;
                    if (!String.IsNullOrEmpty(HEmpName) && !String.IsNullOrEmpty(HEmpNumber))
                    {
                        DataSet emp = oCN.RunProcReturn("select HItemID from Gy_Employee where HNumber = '" + HEmpNumber + "' and HName = '" + HEmpName + "'", "Gy_Employee");
                        HEmpID = (int)emp.Tables[0].Rows[0]["HItemID"];
                    }
                    string sShortNumber;
                    sShortNumber = DBUtility.ClsPub.GetShortNumber(HNumber);//短代码
                    if (sShortNumber.Trim() == "")
                    {
                        res.code = "0";
                        res.count = 0;
                        res.Message = "保存失败!短代码为空!";
                        res.data = 1;
                        return res;
                    }
                    int HEndFlag = 1;//末级标志
                    int HLevel = DBUtility.ClsPub.GetLevel(HNumber); //等级
                    if (!DBUtility.ClsPub.AllowNumber(HNumber.Trim()))
                    {
                        res.code = "0";
                        res.count = 0;
                        res.Message = "保存失败!代码中不能出现连续‘.’并且首位末位不能为‘.’!";
                        res.data = 1;
                        return res;
                    }
                    ds = oCN.RunProcReturn("select * from Gy_Department where HNumber='" + HNumber + "'", "Gy_InspectInstruMent");
                    if (ds.Tables[0].Rows.Count == 0)
                    {
                        string sql = "insert into Gy_Department (HName,HNumber,HShortNumber,HLevel,HHelpCode,HParentID,HStopflag,HEndFlag,HRemark,HUseFlag, HUSEORGID, HCREATEORGID, HEmpID, HBarCodeForBase)" +
                            $"values('{HName}', '{HNumber}', '{sShortNumber}',{HLevel},'',0,'0','0','{HRemark}', '未使用', '{organ}', '{organ}', '{HEmpID}', '{HBarCode}')";
                        oCN.RunProc(sql);
                    }
                    else
                    {
                        oCN.RunProc("update Gy_Department  set  HName ='" + HName + "' , HHelpCode = '" + HHelpCode + " ', HBarCodeForBase = '" + HBarCode + "', HEmpID = '" + HEmpID + "', HModifyEmp = '" + user + "', HModifyTime = '" + System.DateTime.Now.ToString("G") + "' where HNumber= '" + HNumber + "'");
                    }
                    i++;
                }
                oCN.Commit();
                res.code = "1";
                res.count = 1;
                res.Message = "导入成功!";
                res.data = null;
                return res;
            }
            catch (Exception e)
            {
                LogService.Write(e);
                res.code = "0";
                res.count = 0;
                res.Message = "Exception!" + e.ToString();
                res.data = null;
                return res;
            }
        }
        #endregion
    }
}
WebAPI/Controllers/BaseSet/Gy_EmployeeController.cs
@@ -1348,7 +1348,8 @@
            try
            {
                //返回列表信息
                ds = oCN.RunProcReturn("select * from h_v_IF_EmployeeList where ç¦ç”¨æ ‡è®°='' and HGroupID=" + HGroupID + " order by èŒå‘˜ä»£ç ", "h_v_IF_EmployeeList");
                ds = oCN.RunProcReturn("exec h_p_Pay_GetEmployeeByGroup " + HGroupID.ToString(), "h_p_Pay_GetEmployeeByGroup");
                //ds = oCN.RunProcReturn("select * from h_v_IF_EmployeeList where ç¦ç”¨æ ‡è®°='' and HGroupID=" + HGroupID + " order by èŒå‘˜ä»£ç ", "h_v_IF_EmployeeList");
                if (ds == null || ds.Tables[0].Rows.Count == 0)
                {
                    objJsonResult.code = "0";
WebAPI/Controllers/BaseSet/Gy_GroupController.cs
@@ -304,6 +304,7 @@
                long HProcID = list[0].HProcID;
                int HUSEORGID = list[0].HUSEORGID;
                string HCompName = list[0].HCompName;
                string HPayMentType = list[0].HPayMentType;
                var HDeptNumber = "";
                //var HEndFlag = 0;
                long HLevel = 1;
@@ -344,10 +345,10 @@
                    oCN.RunProc("Insert into Gy_Group " +
                    " (HNumber,HName,HHelpCode,HShortNumber,HParentID" +
                    ",HEmpQty,HDeptID,HDeptNumber,HProcID" +
                    ",HLevel,HEndFlag,HStopflag,HRemark,HBarCodeForBase,HUSEORGID,HCompName) " +
                    ",HLevel,HEndFlag,HStopflag,HRemark,HBarCodeForBase,HUSEORGID,HCompName,HPayMentType) " +
                    " Values('" + HNumber + "','" + HName + "','" + HHelpCode + "','" + HShortNumber + "'," + HParentID.ToString() +
                    "," + HEmpQty.ToString() + "," + HDeptID.ToString() + ",'" + HDeptNumber + "'," + HProcID.ToString() +
                    "," + HLevel.ToString() + "," + Convert.ToString(HEndFlag ? 1 : 0) + "," + Convert.ToString(HStopflag ? 1 : 0) + ",'" + HRemark + "','" + HBarCodeForBase + "',"+ HUSEORGID + ",'" + HCompName + "')", ref DBUtility.ClsPub.sExeReturnInfo);
                    "," + HLevel.ToString() + "," + Convert.ToString(HEndFlag ? 1 : 0) + "," + Convert.ToString(HStopflag ? 1 : 0) + ",'" + HRemark + "','" + HBarCodeForBase + "',"+ HUSEORGID + ",'" + HCompName +"','"+ HPayMentType + "')", ref DBUtility.ClsPub.sExeReturnInfo);
                    //修改上级为非末级代码
                    oCN.RunProc("Update Gy_Group set HEndflag=0 where HItemID=" + HParentID, ref DBUtility.ClsPub.sExeReturnInfo);
                    oCN.Commit();
@@ -366,7 +367,8 @@
                                 ",HRemark= '" + HRemark + "'" +
                                 ",HDeptID=" + HDeptID +
                                 ",HEmpQty=" + HEmpQty +
                                 ",HCompName='"+ HCompName+
                                 ",HCompName='"+ HCompName+"'"+
                                 ",HPayMentType='" + HPayMentType +
                                 "',HBarCodeForBase='" + HBarCodeForBase + "' " +
                                 ", HProcID = '" + HProcID + "'  Where HItemID=" + HItemID, ref DBUtility.ClsPub.sExeReturnInfo);
                    oCN.RunProc("Update Gy_Group set HEndflag=0 where HItemID=" + HParentID, ref DBUtility.ClsPub.sExeReturnInfo);
WebAPI/Controllers/BaseSet/Gy_MaterialController.cs
@@ -2036,6 +2036,30 @@
                string HMouldClass = mainList[0].HMouldClass;
                int HNowWHID = mainList[0].HNowWHID;
                int HNowSPID = mainList[0].HNowSPID;
                string HMouldUseStatus = mainList[0].HMouldUseStatus;
                //保存前控制=========================================
                string HBillNote = "";
                ds = oCN.RunProcReturn("Exec h_p_Gy_MouldFileMain_BeforeSaveCtrl " + HInterID.ToString() + ", '" + HBillNo + "','" + HBillNote + "',1 ", "h_p_Gy_MouldFileMain_BeforeSaveCtrl");
                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]["HBackRemark"].ToString(); ;
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                //=========================================================
                //主表
                oCN.RunProc("Insert Into Gy_MouldFileMain   " +
@@ -2048,7 +2072,7 @@
                ",HPrintQty,HMouldStatus,HWhID,HRoutingID,HCaveQty" +
                ",HBomID,HVersion,HSPGroupID,HSPID,HDesignLife,HNowSupID,HNowSupTypeID" +
                ",HUseLife,HLeaveLife,HProdQty,HProdWeight,HMouldOWNER,HSaveLife,HMouldDotCheckRuleInterID,HMouldMaintainRuleInterID,HBarCode,HMadeSupID" +
                ",HMouldClass,HNowWHID,HNowSPID,HInitLife) " +
                ",HMouldClass,HNowWHID,HNowSPID,HInitLife,HMouldUseStatus) " +
                " values('" + BillType + "','" + BillType + "'," + HInterID + ",'" + HBillNo + "','" + HDate + "'" +
                "," + HYear + "," + HPeriod + ",'" + HRemark + "','" + HMaker + "',getdate()" +
                ",'" + HMouldNo + "','" + HName + "','" + HModel + "','" + HModel2 + "','" + HDiameter + "'" +
@@ -2058,7 +2082,7 @@
                "," + HPrintQty + ",'" + HMouldStatus + "'," + HWHID + "," + HRoutingID + "," + HCaveQty +
                "," + HBOMID + ",'" + HVersion + "'," + HSPGroupID + "," + HSPID + ",'" + HDesignLife + "','" + HNowSupID + "','" + HNowSupTypeID + "'" +
                ",'" + HUseLife + "','" + HLeaveLife + "','" + HProdQty + "','" + HProdWeight + "','" + HMouldOWNER + "','" + HSaveLife + "','" + HMouldDotCheckRuleInterID + "','" + HMouldMaintainRuleInterID + "','" + HBarCode + "'," + HMadeSupID +
                ",'"+ HMouldClass + "'," + HNowWHID + "," + HNowSPID + ",'" + HInitLife + "') ");
                ",'"+ HMouldClass + "'," + HNowWHID + "," + HNowSPID + ",'" + HInitLife + "','" + HMouldUseStatus + "') ");
                //子表
                oCN.RunProc("Insert into Gy_MouldFileSub " +
@@ -2070,6 +2094,29 @@
                ") ");
                objJsonResult = AddBillSub(msg5,msg6,msg7,HInterID, HBillNo);
                //保存后控制=========================================
                ds = oCN.RunProcReturn("Exec h_p_Gy_MouldFileMain_AfterSaveCtrl " + HInterID.ToString() + ", '" + HBillNo + "','" + HBillNote + "',1 ", "h_p_Gy_MouldFileMain_AfterSaveCtrl");
                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]["HBackRemark"].ToString(); ;
                    objJsonResult.data = null;
                    oCN.RollBack();
                    return objJsonResult;
                }
                //=========================================================
                if (objJsonResult.code == "0")
                {
@@ -2185,7 +2232,7 @@
                string HMouldClass = mainList[0].HMouldClass;
                int HNowWHID = mainList[0].HNowWHID;
                int HNowSPID = mainList[0].HNowSPID;
                string HMouldUseStatus = mainList[0].HMouldUseStatus;
                //若MAINDI重复则重新获取
                oCN.BeginTran();
                //主表
@@ -2242,6 +2289,7 @@
                ",HNowWHID=" + HNowWHID +
                ",HNowSPID=" + HNowSPID +
                ",HInitLife='" + HInitLife +
                "',HMouldUseStatus='" + HMouldUseStatus +
                "' where HInterID=" + HInterID.ToString());
                //修改子项目代码
WebAPI/Controllers/BaseSet/Gy_ProcessController.cs
@@ -725,9 +725,6 @@
                int HQCSchemeID_Proc = list[0].HQCSchemeID_Proc;
                int HQCSchemeID_Patrol = list[0].HQCSchemeID_Patrol;
                long HWorkCenterID = list[0].HWorkCenterID;    //工作中心
                long HBadWHID = list[0].HBadWHID; //不良仓库
@@ -736,6 +733,8 @@
                long HWWBadWHID = list[0].HWWBadWHID; //委外不良仓库
                long HWWWasterWHID = list[0].HWWWasterWHID; //委外报废仓库
                long HWHID = list[0].HWHID; //良品仓库
                string HPayMentType = list[0].HPayMentType; //计件工资类型
                //判断权限
@@ -776,13 +775,14 @@
                        ",HLevel,HEndFlag,HStopflag,HRemark,HDeptID,HBarCodeForBase,HProcessID_K3,HBillSubType,HAutoTrunFlag" +
                        ",HFixPrice,HOverFixPrice,HProcMulID,HProcCheckNote" +
                        ",HUSEORGID,HWorkCenterID,HBadWHID,HWasterWHID,HBadCountDevelopWHID,HWWBadWHID,HWWWasterWHID,HWHID,HTProcessFlag" +
                        ",HQCSchemeID_Fst,HQCSchemeID_Proc,HQCSchemeID_Patrol) " +
                        ",HQCSchemeID_Fst,HQCSchemeID_Proc,HQCSchemeID_Patrol,HPayMentType) " +
                        " Values('" + HNumber + "','" + HName + "','" + HHelpCode + "','" + HShortNumber + "'," + HParentID.ToString() +
                        "," + Convert.ToString(HTypeFlow ? 1 : 0) + "," + Convert.ToString(HTypeCount ? 1 : 0) + ",'" + HDeptNumber + "','" + HSNo.ToString() +
                        "'," + HLevel.ToString() + "," + Convert.ToString(HEndFlag ? 1 : 0) + "," + Convert.ToString(HStopflag ? 1 : 0) + ",'" + HRemark + "'," + HDeptID +
                        ",'" + HBarCode + "'," + HProcessID_K3 + ",'" + HBillSubType + "'," + Convert.ToString(HAutoTrunFlag ? 1 : 0) +
                        ",'" + HFixPrice.ToString() + "'," + HOverFixPrice.ToString() + "," + HProcMulID.ToString() + ",'" + HProcCheckNote.ToString() + "'" +
                        "," + HUSEORGID + "," + HWorkCenterID + "," + HBadWHID + "," + HWasterWHID + "," + HBadCountDevelopWHID + "," + HWWBadWHID + "," + HWWWasterWHID + "," + HWHID + "," + Convert.ToString(HTProcessFlag ? 1 : 0) + "," + HQCSchemeID_Fst + "," + HQCSchemeID_Proc + "," + HQCSchemeID_Patrol + ")", ref DBUtility.ClsPub.sExeReturnInfo);
                        "," + HUSEORGID + "," + HWorkCenterID + "," + HBadWHID + "," + HWasterWHID + "," + HBadCountDevelopWHID + "," + HWWBadWHID + "," + HWWWasterWHID + "," + HWHID + "," + Convert.ToString(HTProcessFlag ? 1 : 0) + "," + HQCSchemeID_Fst + "," + HQCSchemeID_Proc + "," + HQCSchemeID_Patrol
                        + ",'" + HPayMentType + "'" + ")", ref DBUtility.ClsPub.sExeReturnInfo);
                    //修改上级为非末级代码
                    oCN.RunProc("Update Gy_Process set HEndflag=0 where HItemID=" + HParentID, ref DBUtility.ClsPub.sExeReturnInfo);
                    oCN.Commit();
@@ -824,6 +824,7 @@
                        ",HQCSchemeID_Fst= " + HQCSchemeID_Fst +
                        ",HQCSchemeID_Proc= " + HQCSchemeID_Proc +
                        ",HQCSchemeID_Patrol= " + HQCSchemeID_Patrol +
                        ",HPayMentType= '" + HPayMentType + "'" +
                        ",HProcCheckNote='" + HProcCheckNote + "' Where HItemID=" + HItemID, ref DBUtility.ClsPub.sExeReturnInfo);
                    //修改上级为非末级代码
                    oCN.RunProc("Update Gy_Process set HEndflag=0 where HItemID=" + HParentID, ref DBUtility.ClsPub.sExeReturnInfo);
WebAPI/Controllers/BaseSet/Gy_QCCheckClassController.cs
@@ -463,10 +463,10 @@
        }
        #endregion
        #region æ ¡éªŒé¡¹ç›®åˆ—表 æ–‡ä»¶ä¸Šä¼ 
        [Route("Gy_QCCheckClass/Gy_Process_Excel")]
        #region æ ¡éªŒé¡¹ç›®åˆ†ç±»åˆ—表 æ–‡ä»¶ä¸Šä¼ 
        [Route("Gy_QCCheckClass/Gy_QCCheckClass_Excel")]
        [HttpPost]
        public json Gy_Process_Excel()
        public json Gy_QCCheckClass_Excel()
        {
            json res = new json();
            try
@@ -492,7 +492,8 @@
                {
                    provisional.Columns.Add(ExcelDs.Tables[0].Rows[0][i].ToString());
                }
                //模板缺少列 ä½†éœ€è¦ä»Žæ•°æ®åº“中查询出来显示在页面的字段
                provisional.Columns.Add("HOrgID", typeof(Int32));//组织ID
                //添加数据
                for (int i = 1; i < ExcelDs.Tables[0].Rows.Count; i++)
                {
@@ -517,12 +518,39 @@
                for (int i = 0; i <= provisional.Rows.Count - 1; i++)
                {
                    string HNumber = DBUtility.ClsPub.isStrNull(provisional.Rows[i]["代码"].ToString());
                    string HName = DBUtility.ClsPub.isStrNull(provisional.Rows[i]["名称"].ToString());
                    string HHelpCode = DBUtility.ClsPub.isStrNull(provisional.Rows[i]["助记码"]);
                    string HRemark = DBUtility.ClsPub.isStrNull(provisional.Rows[i]["备注"].ToString());
                    string HQCCheckClassName = DBUtility.ClsPub.isStrNull(provisional.Rows[i]["检验项目分类"].ToString());
                    string HQCCheckClassNumber = DBUtility.ClsPub.isStrNull(provisional.Rows[i]["检验项目分类代码"].ToString());
                    string HORGNumber = DBUtility.ClsPub.isStrNull(provisional.Rows[i]["组织代码"].ToString());
                    string HORGName = DBUtility.ClsPub.isStrNull(provisional.Rows[i]["组织名称"].ToString());
                    //获取真实行数
                    int line = i + 1;
                    if (HORGNumber != "")
                    {
                        //查询组织
                        ds = oCN.RunProcReturn("select * from Xt_ORGANIZATIONS where  HNumber='" + HORGNumber + "' and Hname='" + HORGName + "'", "Xt_ORGANIZATIONS");
                        if (ds.Tables[0].Rows.Count == 0)
                        {
                            res.code = "0";
                            res.count = 0;
                            res.Message = "第" + line + "行,组织不存在!";
                            res.data = null;
                            return res;
                        }
                        else
                        {
                            provisional.Rows[i]["HOrgID"] = ds.Tables[0].Rows[0]["HItemID"].ToString();
                        }
                        string HORGid = ds.Tables[0].Rows[0]["HItemID"].ToString();
                    }
                    else
                    {
                        res.code = CodeConstant.FAIL;
                        res.count = CountConstant.FAIL;
                        res.Message = "第" + line + "行,组织代码为空";
                        res.data = null;
                        return res;
                    }
                }
                res.code = "1";
@@ -551,17 +579,29 @@
            var error = "";
            //查询没有的列
            if (!provisional.Columns.Contains("代码"))
                error += "没有找到【代码】的标题,";
            if (!provisional.Columns.Contains("组织代码"))
                error += "没有找到【组织代码】的标题,";
            if (!provisional.Columns.Contains("名称"))
                error += "没有找到【名称】的标题,";
            if(!provisional.Columns.Contains("检验项目分类代码"))
                error += "没有找到【检验项目分类代码】的标题,";
            if (!provisional.Columns.Contains("组织名称"))
                error += "没有找到【组织名称】的标题,";
            if (!provisional.Columns.Contains("检验项目分类"))
                error += "没有找到【检验项目分类】的标题,";
            if (!provisional.Columns.Contains("助记码"))
                error += "没有找到【助记码】的标题,";
            if (!provisional.Columns.Contains("备注"))
                error += "没有找到【备注】的标题,";
            return error;
        }
        #endregion
        #region æ ¡éªŒé¡¹ç›®åˆ—表 å¯¼å…¥(保存)
        [Route("Gy_QCCheckClass/Gy_Process_btnSave")]
        #region æ ¡éªŒé¡¹ç›®åˆ†ç±»åˆ—表 å¯¼å…¥(保存)
        [Route("Gy_QCCheckClass/Gy_QCCheckClass_btnSave")]
        [HttpPost]
        public object Gy_Group_btnSave([FromBody] JObject sMainSub)
        {
@@ -573,7 +613,7 @@
            string organ = sArray[2].ToString();
            try
            {
                if (!DBUtility.ClsPub.Security_Log("Gy_Group_Edit", 1, false, user))
                if (!DBUtility.ClsPub.Security_Log("Gy_QCCheckClass_Edit", 1, false, user))
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
@@ -599,8 +639,9 @@
                int i = 1;
                foreach (Dictionary<string, string> item in list)
                {
                    string HNumber = item["代码"].ToString();
                    string HName = item["名称"].ToString();
                    string HNumber = item["检验项目分类代码"].ToString();
                    string HUSEORGID = item["HOrgID"].ToString();
                    string HName = item["检验项目分类"].ToString();
                    string HHelpCode = item["助记码"];
                    string HRemark = item["备注"].ToString();
@@ -633,12 +674,12 @@
                    {
                        string sql = "insert into Gy_QCCheckClass (HName,HNumber,HShortNumber,HLevel,HHelpCode,HParentID,HStopflag,HEndFlag,HRemark,HUseFlag, HUSEORGID, HCREATEORGID, HMakeTime,HMakeEmp)" +
                            $"values('{HName}', '{HNumber}', '{sShortNumber}',{HLevel},'',0,'0','0','{HRemark}', '未使用', '{organ}', '{organ}', '{System.DateTime.Now.ToString("G")}', '{user}')";
                            $"values('{HName}', '{HNumber}', '{sShortNumber}',{HLevel},'',0,'0','0','{HRemark}', '未使用', '{HUSEORGID}', '{HUSEORGID}', '{System.DateTime.Now.ToString("G")}', '{user}')";
                        oCN.RunProc(sql);
                    }
                    else
                    {
                        oCN.RunProc("update  Gy_QCCheckClass  set  HName='" + HName + "', HHelpCode='" + HHelpCode + "', HModifyEmp = '" + user + "', HModifyTime = '" + System.DateTime.Now.ToString("G") + "'where HNumber='" + HNumber + "'");
                        oCN.RunProc("update  Gy_QCCheckClass  set  HName='" + HName + "', HHelpCode='" + HHelpCode + "', HModifyEmp = '" + user + "', HModifyTime = '" + System.DateTime.Now.ToString("G") + "',HUSEORGID="+ HUSEORGID + ",HRemark='"+HRemark+"' where HNumber='" + HNumber + "'");
                    }
                    i++;
WebAPI/Controllers/BaseSet/Gy_WarehouseController.cs
@@ -2,11 +2,14 @@
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using Pub_Class;
using SyntacticSugar.constant;
using System;
using System.Collections;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.IO;
using System.Web;
using System.Web.Http;
using WebAPI.Controllers.SCGL.日计划管理;
using WebAPI.Models;
@@ -781,8 +784,6 @@
        }
        #endregion
        #region ç‰©æ–™åˆ†ç±»å®¡æ ¸ã€åå®¡æ ¸
        /// <summary>
        /// 
@@ -973,5 +974,242 @@
        }
        #endregion
        #region æ£€éªŒä¾æ®åˆ—表 æ–‡ä»¶ä¸Šä¼ 
        //[Route("Gy_Warehouse/Gy_Process_Excel")]
        //[HttpPost]
        //public json Gy_InspectBasis_Excel()
        //{
        //    json res = new json();
        //    try
        //    {
        //        //获取文件名称
        //        var file = HttpContext.Current.Request.Files[0];
        //        //获取文件物理路径
        //        string ExcelPath = HttpContext.Current.Server.MapPath("~/" + file.FileName);
        //        //保存文件
        //        file.SaveAs(ExcelPath);
        //        NpoiHelper np = new NpoiHelper();
        //        DataSet ExcelDs = np.ReadExcel(ExcelPath, 1, 1, "0");
        //        //删除文件
        //        File.Delete(ExcelPath);
        //        //创建临时表
        //        DataTable provisional = new DataTable("dt2");
        //        //添加列名
        //        for (int i = 0; i < ExcelDs.Tables[0].Columns.Count; i++)
        //        {
        //            provisional.Columns.Add(ExcelDs.Tables[0].Rows[0][i].ToString());
        //        }
        //        //添加数据
        //        for (int i = 1; i < ExcelDs.Tables[0].Rows.Count; i++)
        //        {
        //            DataRow row = provisional.NewRow();
        //            for (int j = 0; j < ExcelDs.Tables[0].Columns.Count; j++)
        //            {
        //                row[j] = ExcelDs.Tables[0].Rows[i][j].ToString();
        //            }
        //            provisional.Rows.Add(row);
        //        }
        //        //判断列
        //        string error = JudgmentColumns(provisional);
        //        if (error.Length > 0)
        //        {
        //            res.code = "0";
        //            res.count = 0;
        //            res.Message = $"Excel模板存在错误,{error}\r\n";
        //            res.data = null;
        //            return res;
        //        }
        //        for (int i = 0; i <= provisional.Rows.Count - 1; i++)
        //        {
        //            string HNumber = DBUtility.ClsPub.isStrNull(provisional.Rows[i]["仓库代码"].ToString());
        //            string HName = DBUtility.ClsPub.isStrNull(provisional.Rows[i]["仓库名称"].ToString());
        //            string phone = DBUtility.ClsPub.isStrNull(provisional.Rows[i]["联系电话"].ToString());
        //            string HEmpNumber = DBUtility.ClsPub.isStrNull(provisional.Rows[i]["职员代码"].ToString());
        //            string HEmpName = DBUtility.ClsPub.isStrNull(provisional.Rows[i]["职员名称"].ToString());
        //            string HHelpCode = DBUtility.ClsPub.isStrNull(provisional.Rows[i]["助记码"]);
        //            string HRemark = DBUtility.ClsPub.isStrNull(provisional.Rows[i]["备注"].ToString());
        //            if(JudgeEmp(HEmpNumber, HEmpName))
        //            {
        //                res.code = CodeConstant.FAIL;
        //                res.count = CountConstant.FAIL;
        //                res.Message = "当前职员不存在";
        //                res.data = null;
        //                return res;
        //            }
        //            //获取真实行数
        //            int line = i + 1;
        //        }
        //        res.code = "1";
        //        res.count = 1;
        //        res.Message = error;
        //        res.data = provisional;
        //        return res;
        //    }
        //    catch (Exception e)
        //    {
        //        res.code = "0";
        //        res.count = 0;
        //        res.Message = "Exception!" + e.ToString();
        //        res.data = null;
        //        return res;
        //    }
        //}
        ///// <summary>
        ///// åˆ¤æ–­å½“前职员是否存在
        ///// </summary>
        ///// <param name="HEmpNumber"></param>
        ///// <param name="HEmpName"></param>
        ///// <returns></returns>
        //private bool JudgeEmp(string HEmpNumber, string HEmpName)
        //{
        //    if (!String.IsNullOrEmpty(HEmpNumber) && !String.IsNullOrEmpty(HEmpName))
        //    {
        //        DataSet emp = oCN.RunProcReturn("select * from Gy_Employee where HNumber = '" + HEmpNumber + "' and HName = '" + HEmpName + "'", "Gy_Employee");
        //        return emp.Tables[0].Rows.Count <= EmptyConstant.EMPTY ? true : false;
        //    }
        //    return false;
        //}
        /// <summary>
        /// åˆ¤æ–­åˆ—
        /// </summary>
        /// <param name="provisional"></param>
        /// <returns></returns>
        private static string JudgmentColumns(DataTable provisional)
        {
            var error = "";
            //查询没有的列
            if (!provisional.Columns.Contains("仓库代码"))
                error += "没有找到【仓库代码】的标题,";
            if (!provisional.Columns.Contains("仓库名称"))
                error += "没有找到【仓库名称】的标题,";
            return error;
        }
        #endregion
        #region æ£€éªŒä¾æ®åˆ—表 å¯¼å…¥(保存)
        [Route("Gy_Warehouse/Gy_Process_btnSave")]
        [HttpPost]
        public object Gy_InspectBasis_btnSave([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 user = sArray[1].ToString();
            string organ = sArray[2].ToString();
            json res = new json();
            try
            {
                if (!DBUtility.ClsPub.Security_Log("Gy_Group_Edit", 1, false, user))
                {
                    res.code = "0";
                    res.count = 0;
                    res.Message = "无保存权限!";
                    res.data = null;
                    return res;
                }
                List<object> Excel = Newtonsoft.Json.JsonConvert.DeserializeObject<List<object>>(msg2);
                List<Dictionary<string, string>> list = new List<Dictionary<string, string>>();
                foreach (JObject item in Excel)
                {
                    Dictionary<string, string> dic = new Dictionary<string, string>();
                    foreach (var itm in item.Properties())
                    {
                        dic.Add(itm.Name, itm.Value.ToString());
                    }
                    list.Add(dic);
                }
                oCN.BeginTran();
                int i = 1;
                foreach (Dictionary<string, string> item in list)
                {
                    string HNumber = item["仓库代码"].ToString();
                    string HName = item["仓库名称"].ToString();
                    string phone = item["联系电话"].ToString();
                    string HEmpNumber = item["职员代码"].ToString();
                    string HEmpName = item["职员名称"].ToString();
                    string HHelpCode = item["助记码"].ToString();
                    string HRemark = item["备注"].ToString();
                    int HEmpID = 0;
                    if (!String.IsNullOrEmpty(HEmpName) && !String.IsNullOrEmpty(HEmpNumber))
                    {
                        DataSet emp = oCN.RunProcReturn("select HItemID from Gy_Employee where HNumber = '" + HEmpNumber + "' and HName = '" + HEmpName + "'", "Gy_Employee");
                        HEmpID = (int)emp.Tables[0].Rows[0]["HItemID"];
                    }
                    string sShortNumber;
                    sShortNumber = DBUtility.ClsPub.GetShortNumber(HNumber);//短代码
                    if (sShortNumber.Trim() == "")
                    {
                        res.code = "0";
                        res.count = 0;
                        res.Message = "保存失败!短代码为空!";
                        res.data = 1;
                        return res;
                    }
                    int HEndFlag = 1;//末级标志
                    int HLevel = DBUtility.ClsPub.GetLevel(HNumber); //等级
                    if (!DBUtility.ClsPub.AllowNumber(HNumber.Trim()))
                    {
                        res.code = "0";
                        res.count = 0;
                        res.Message = "保存失败!代码中不能出现连续‘.’并且首位末位不能为‘.’!";
                        res.data = 1;
                        return res;
                    }
                    ds = oCN.RunProcReturn("select * from Gy_Warehouse where HNumber='" + HNumber + "'", "Gy_InspectInstruMent");
                    if (ds.Tables[0].Rows.Count == 0)
                    {
                        string sql = "insert into Gy_Warehouse (HName,HNumber,HShortNumber,HLevel,HHelpCode,HParentID,HStopflag,HEndFlag,HRemark,HUseFlag, HUSEORGID, HCREATEORGID, HEmpID, HPhone)" +
                            $"values('{HName}', '{HNumber}', '{sShortNumber}',{HLevel},'',0,'0','0','{HRemark}', '未使用', '{organ}', '{organ}', '{HEmpID}', '{phone}')";
                        oCN.RunProc(sql);
                    }
                    else
                    {
                        oCN.RunProc("update Gy_Warehouse  set  HName ='" + HName + "' , HHelpCode = '" + HHelpCode + " ', HPhone= '" + phone + "', HEmpID = '" + HEmpID + "', HModifyEmp = '" + user + "', HModifyTime = '" + System.DateTime.Now.ToString("G") + "' where HNumber= '" + HNumber + "'");
                    }
                    i++;
                }
                oCN.Commit();
                res.code = "1";
                res.count = 1;
                res.Message = "导入成功!";
                res.data = null;
                return res;
            }
            catch (Exception e)
            {
                LogService.Write(e);
                res.code = "0";
                res.count = 0;
                res.Message = "Exception!" + e.ToString();
                res.data = null;
                return res;
            }
        }
        #endregion
    }
}
WebAPI/Controllers/CJGL/Cj_StationEntrustInBillController.cs
@@ -226,6 +226,13 @@
                            }
                        }
                        break;
                    case "P202"://流转卡
                    case "P203"://流转卡
                    case "P204"://流转卡
                    case "P205"://流转卡
                    case "P201"://流转卡
                        ds = oCN.RunProcReturn("select top 1 * from h_v_Sc_ProcessExchangeBillList  where å•据号= '" + BillNo_PGD + "'", "h_v_Sc_ProcessExchangeBillList");
                        break;
                }
                switch (BillNoType)
                //得到信息
@@ -332,6 +339,51 @@
        }
        #endregion
        #region å·¥åºå‡ºç«™æ±‡æŠ¥å•PDA扫操作员
        [Route("Cj_StationBill/txtHBarCode_KeyDown_Operator")]
        [HttpGet]
        public object txtHBarCode_KeyDown_Operator(string HBarCode, string HInterID, string UserID, string HBillType)
        {
            try
            {
                if (HBarCode == null || HBarCode.Equals(""))
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "空白码,条形码不能为空!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                ds = oCN.RunProcReturn("select * from h_v_Gy_EmployeeList_New  where èŒå‘˜ä»£ç  = '" + HBarCode + "'", "h_v_Gy_EmployeeList_New");
                //写入信息
                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 å·¥åºè¿›ç«™æ‰«é…ä»¶ç 
        [Route("Cj_StationBill/txtHBarCode_Mater_KeyDown")]
        [HttpGet]
WebAPI/Controllers/CJGL/Cj_StationOutBillController.cs
@@ -2,6 +2,7 @@
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using Pub_Class;
using SyntacticSugar.constant;
using System;
using System.Collections;
using System.Collections.Generic;
@@ -76,6 +77,7 @@
                long HMainInterID = 0;
                HMainInterID = list[0].HMainInterID;
                string eventType = list[0].eventType;
                string HDate = list[0].HDate;
                string BillType = "3791";
                string HBillSubType = "3791";
                long HInterID = list[0].HInterID;//递入type得到的单据ID
@@ -225,7 +227,7 @@
                if (oSystemParameter.ShowBill(ref Ret))
                {
                    //判断客户不为龙山汽配
                    if (oSystemParameter.omodel.WMS_CampanyName != "龙山汽配" && oSystemParameter.omodel.WMS_CampanyName != "瑞与祺") //系统参数
                    if (oSystemParameter.omodel.WMS_CampanyName != "龙山汽配" && oSystemParameter.omodel.WMS_CampanyName != "瑞与祺" && oSystemParameter.omodel.WMS_CampanyName != "添康科技") //系统参数
                    {
                        if (HSourceID == 0)
                        {
@@ -407,7 +409,7 @@
                    ",HmaterOutqty,HProcPriceRate,HTemporaryAreaID,HWasterQty_Work,HWasterQty_Mater,HBackWorkQty,HShiftsID" +
                    ",HToCheckQty,HLossQty,HBackWorkByMaterQty,HMouldID" +
                    ") " +
                    " values('" + BillType + "','" + (OperationType == "5" ? "SUB" : HBillSubType)  + "'," + HInterID + ",'" + HBillNo + "'," + HBillStatus + ",getdate(),'" + HMaker + "',getdate(),'" + HMouldNum + "'" +
                    " values('" + BillType + "','" + (OperationType == "5" ? "SUB" : HBillSubType)  + "'," + HInterID + ",'" + HBillNo + "'," + HBillStatus + ",'"+ HDate + "','" + HMaker + "',getdate(),'" + HMouldNum + "'" +
                    "," + HYear + "," + HPeriod + ",'" + HRemark + "','" + HSourceName + "'," + HPieceQty + "," + HWasterQty + "," + HPlanPieceQty + "," + HBadPNL +
                    "," + HICMOInterID + ",'" + HICMOBillNo + "'," + HProcPlanInterID + "," + HProcPlanEntryID + ",'" + HProcPlanBillNo + "'," + HProcExchInterID + "," + HProcExchEntryID +
                    ",'" + HProcExchBillNo + "'," + HMaterID + "," + HProcID + "," + HICMOQty + "," + HPlanQty + ",getdate()," + HSourceID + "," + HPayProcID +
@@ -1715,6 +1717,58 @@
        }
        #endregion
        #region å·¥åºå‡ºç«™æ±‡æŠ¥å•列表
        [Route("Cj_StationOutBill/page")]
        [HttpGet]
        public json page(string sWhere, string user, int page, int size)
        {
            json res = new json();
            try
            {
                List<object> columnNameList = new List<object>();
                    //判断是否有查询权限
             if (!DBUtility.ClsPub.Security_Log("Cj_StationOutBill_Query", 1, false, user))
                    {
                        res.code = "0";
                        res.count = 0;
                        res.Message = "出站单无查询权限!";
                        res.data = null;
                        return res;
                    }
                if (sWhere == null || sWhere.Equals(""))
                {
                    ds = oCN.RunProcReturn("exec h_p_MES_StationOutBillList " + page + "," + size + ",''", "h_p_MES_StationOutBillList");
                }
                else
                {
                    ds = oCN.RunProcReturn("exec h_p_MES_StationOutBillList " + page + "," + size + ",'" + sWhere + "'", "h_p_MES_StationOutBillList");
                }
                //添加列名
                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));//获取到DataColumn列对象的列名
                }
                res.code = CodeConstant.SUCCEED;
                res.count = int.Parse(ds.Tables[1].Rows[0]["count"].ToString());
                res.Message = "Sucess!";
                res.list = columnNameList;
                res.data = ds.Tables[0];
                return res;
            }
            catch (Exception e)
            {
                res.code = CodeConstant.FAIL;
                res.count = CountConstant.FAIL;
                res.Message = "Exception!" + e.ToString();
                res.data = null;
                return objJsonResult;
            }
        }
        #endregion
        #region å·¥åºå‡ºç«™æ±‡æŠ¥å• å­è¡¨æŸ¥è¯¢
        [Route("Cj_StationOutBill/get_SubDisplay")]
        [HttpGet]
WebAPI/Controllers/CJGL/Sc_ProcessExchangeBillController.cs
@@ -1,6 +1,7 @@
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using Pub_Class;
using SyntacticSugar.constant;
using System;
using System.Collections;
using System.Collections.Generic;
@@ -1911,6 +1912,59 @@
        }
        #endregion
        #region å·¥åºæµè½¬å¡åˆ†é¡µåˆ—表
        [Route("Sc_ProcessExchangeBillList/page")]
        [HttpGet]
        public json page(string sWhere, string user, int page, int size)
        {
            json res = new json();
            try
            {
                List<object> columnNameList = new List<object>();
                //编辑权限
                if (!DBUtility.ClsPub.Security_Log_second("Sc_ProcessExchangeBill_SubQuery", 1, false, user))
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "无查看权限!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                if (sWhere == null || sWhere.Equals(""))
                {
                    ds = oCN.RunProcReturn("exec h_p_Sc_ProcessExchangeBillList_Query " + page + "," + size + ",''", "h_p_Sc_ProcessExchangeBillList_Query");
                }
                else
                {
                    ds = oCN.RunProcReturn("exec h_p_Sc_ProcessExchangeBillList_Query " + page + "," + size + ",'" + sWhere + "'", "h_p_Sc_ProcessExchangeBillList_Query");
                }
                //添加列名
                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));//获取到DataColumn列对象的列名
                }
                res.code = CodeConstant.SUCCEED;
                res.count = int.Parse(ds.Tables[1].Rows[0]["count"].ToString());
                res.Message = "Sucess!";
                res.list = columnNameList;
                res.data = ds.Tables[0];
                return res;
            }
            catch (Exception e)
            {
                res.code = CodeConstant.FAIL;
                res.count = CountConstant.FAIL;
                res.Message = "Exception!" + e.ToString();
                res.data = null;
                return objJsonResult;
            }
        }
        #endregion
        #region å·¥åºæµè½¬å¡åˆ—表
        /// <summary>
        /// èŽ·å–å·¥åºæµè½¬å¡åˆ—è¡¨ä¿¡æ¯
WebAPI/Controllers/CKGL/TMZD/Gy_BarCodeBillListController.cs
New file
@@ -0,0 +1,77 @@
using Newtonsoft.Json;
using SyntacticSugar.constant;
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Web.Http;
using WebAPI.Models;
namespace WebAPI.Controllers.CKGL.TMZD
{
    public class Gy_BarCodeBillListController : ApiController
    {
        //获取系统参数
        Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();
        public DBUtility.ClsPub.Enum_BillStatus BillStatus;
        public string sWhere = "";
        private json objJsonResult = new json();
        SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
        DataSet ds;
        #region æ¡ç ä¸»æ¡£åˆ†é¡µåˆ—表
        [Route("Gy_BarCodeBillList/page")]
        [HttpGet]
        public json page(string sWhere, string user, int page, int size)
        {
            json res = new json();
            try
            {
                List<object> columnNameList = new List<object>();
                //编辑权限
                if (!DBUtility.ClsPub.Security_Log_second("Gy_Material", 1, false, user))
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "无查看权限!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                if (sWhere == null || sWhere.Equals(""))
                {
                    ds = oCN.RunProcReturn("exec h_p_IF_BarCodeBillList " + page + "," + size  + ",''", "h_p_IF_BarCodeBillList");
                }
                else
                {
                    ds = oCN.RunProcReturn("exec h_p_IF_BarCodeBillList " + page + "," + size  +  ",'" + sWhere + "'", "h_p_IF_BarCodeBillList");
                }
                //添加列名
                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));//获取到DataColumn列对象的列名
                }
                res.code = CodeConstant.SUCCEED;
                res.count = int.Parse(ds.Tables[1].Rows[0]["count"].ToString());
                res.Message = "Sucess!";
                res.list = columnNameList;
                res.data = ds.Tables[0];
                return res;
            }
            catch (Exception e)
            {
                res.code = CodeConstant.FAIL;
                res.count = CountConstant.FAIL;
                res.Message = "Exception!" + e.ToString();
                res.data = null;
                return objJsonResult;
            }
        }
        #endregion
    }
}
WebAPI/Controllers/JHGL/Gy_RoutingBillController.cs
@@ -13,7 +13,7 @@
using System.Windows.Forms;
using WebAPI.Controllers.SCGL.日计划管理;
using WebAPI.Models;
using SyntacticSugar.constant;
namespace WebAPI.Controllers
{
    //工艺路线Controller
@@ -198,7 +198,8 @@
                int IsProNo = mainList[0].IsProNo;//是否转工序                     
                HName_LongShan = mainList[0].HName;//工艺路线名称
                string HProcPriceType = mainList[0].HProcPriceType;//定额类型(临时定额,永久定额)
                DateTime HBeginDate = mainList[0].HBeginDate;//开始日期
                DateTime HEndDate = mainList[0].HEndDate;//失效日期
                if (oSystemParameter.omodel.WMS_CampanyName == "凯贝奈特")
                {
@@ -267,13 +268,13 @@
                    ",HRoutingGroupID,HUnitID,HMaterNumber,HUnitNumber,HStandard" +
                    ",HMainGroupID,HMainProcID,HMainCenterID,HMainTimeUnit,HMainUnitTime,HMainWorkQty" +
                    ",HMainPrice,HStdSourceQty,HAddSourceRate,HPRDORGID,HDelSourceRate" +
                    ",HPicNumVer,HPicNumAssemble,HMaterTexture,HProductNum,HVerNum,HOrgID,HProcPriceType) " +
                    ",HPicNumVer,HPicNumAssemble,HMaterTexture,HProductNum,HVerNum,HOrgID,HProcPriceType,HBeginDate,HEndDate) " +
                    " values('" + BillType + "','"+ HBillSubType + "'," + HInterID + ",'" + HBillNo + "','" + HDate + "'" +
                    "," + HYear + "," + HPeriod + ",'" + HRemark + "','" + HMaker + "',getdate()," + HMaterID + ",'" + HName + "'," + HMaterTypeID +
                    "," + HRoutingGroupID + "," + HUnitID + ",'" + HMaterNumber + "','" + HUnitNumber + "'," + Convert.ToString(HStandard ? 1 : 0) +
                    "," + HMainGroupID + "," + HMainProcID + "," + HMainCenterID + ",'" + HMainTimeUnit + "'," + HMainUnitTime + "," + HMainWorkQty +
                    "," + HMainPrice + "," + HStdSourceQty + "," + HAddSourceRate + "," + HPRDORGID + "," + HDelSourceRate +
                    ",'" + HPicNumVer + "','" + HPicNumAssemble + "','" + HMaterTexture + "','" + HProductNum + "','" + HVerNum + "'," + HOrgID + ",'"+ HProcPriceType + "') ");
                    ",'" + HPicNumVer + "','" + HPicNumAssemble + "','" + HMaterTexture + "','" + HProductNum + "','" + HVerNum + "'," + HOrgID + ",'"+ HProcPriceType + "','" + HBeginDate + "','" + HEndDate + "') ");
                    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);
@@ -289,7 +290,7 @@
                       "',HMainTimeUnit='" + HMainTimeUnit + "',HMainUnitTime='" + HMainUnitTime + "',HMainWorkQty='" + HMainWorkQty + "',HMainPrice='" + HMainPrice +
                       "',HStdSourceQty='" + HStdSourceQty + "',HAddSourceRate='" + HAddSourceRate + "',HDelSourceRate='" + HDelSourceRate +
                        "',HPicNumVer='" + HPicNumVer + "',HPicNumAssemble='" + HPicNumAssemble + "',HMaterTexture='" + HMaterTexture + "'" +
                        ",HProductNum='" + HProductNum + "',HVerNum='" + HVerNum + "',HProcPriceType = '" + HProcPriceType + "' where HInterID='" + HInterID + "'");
                        ",HProductNum='" + HProductNum + "',HVerNum='" + HVerNum + "',HProcPriceType = '" + HProcPriceType + "',HBeginDate = '" + HBeginDate + "',HEndDate = '" + HEndDate + "' where HInterID='" + HInterID + "'");
                    //删除子表
                    oCN.RunProc("delete from Gy_RoutingBillSub where HInterID='" + HInterID + "'");
@@ -404,7 +405,7 @@
            foreach (Gy_RoutingBillSub oSub in DetailColl)
            {
                i++;
                if (oSystemParameter.omodel.WMS_CampanyName != "龙山汽配")
                if (oSystemParameter.omodel.WMS_CampanyName != "龙山汽配" && oSystemParameter.omodel.WMS_CampanyName != "添康科技")
                {
                    if (oSub.HWorkQty <= 0)
                    {
@@ -502,7 +503,28 @@
                        oCN.RunProc("Insert into System_log (GeginDate, userid, WorkstationName, WorkList, SystemName, NetuserName, State) select GETDATE(),'" + user_LongShan + "','" + HComputerName + "','" + "Gy_RoutingBill_Edit,工艺路线_编辑" + "','LMES系统-工艺路线编辑模块','" + DBUtility.ClsPub.IPAddress + "','" + "修改了工艺路线:" + HName_LongShan + " å·¥åºå·ï¼š" + oSub.HProcNo + " å·¥ä»·ä¸ºï¼š" + oSub.HProcPrice.ToString() + "'", ref DBUtility.ClsPub.sExeReturnInfo);
                    }
                }
                }
                //保存后控制=========================================           æ·»åŠ å®¡æ‰¹æµ
                ds = oCN.RunProcReturn("exec h_p_Gy_RoutingBill_AfterSaveCtrl " + HInterID, "h_p_Gy_RoutingBill_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";
@@ -1485,5 +1507,623 @@
        }
        #endregion
        #region å·¥è‰ºè·¯çº¿éœ€è¦æˆ‘审批流审批的
        [Route("Gy_Routing/NeedChecklist")]
        [HttpGet]
        public object NeedChecklist(string user, string userid)
        {
            try
            {
                List<object> columnNameList = new List<object>();
                //判断是否有查询权限
                if (!DBUtility.ClsPub.Security_Log("Gy_RoutingBill_Query", 1, false, user))
                {
                    objJsonResult.code = CodeConstant.FAIL;
                    objJsonResult.count = CountConstant.FAIL;
                    objJsonResult.Message = "无权限查看!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                //搜索需要审核的
                string sql = "  select a.*,c.HItemID as HCheckFlowStatusID,m.HName as å®¡æ‰¹æµ,c.HCheckFlowID,i.HName as å®¡æ‰¹é¡¹ç›®åç§°,c.HCheckItemID,c.HChecker as é¡¹ç›®å®¡æ ¸äºº,c.HCheckNote as å®¡æ‰¹æµå®¡æ ¸å»ºè®®,c.HCheckDate å®¡æ‰¹æµå®¡æ ¸æ—¥æœŸ   from h_v_Gy_RoutingBillList AS a LEFT JOIN Xt_BillCheckFlowStatus AS c ON a.hmainid = c.HBillInterID and a.单据类型 = c.HBillTypeID" +
                    " LEFT JOIN Xt_CheckFlowMain as m ON m.HInterID = c.HCheckFlowID" +
                    " LEFT JOIN Gy_RoutingBillMain as po ON a.hmainid = po.HInterID" +
                    " LEFT JOIN Xt_CheckItem as i ON i.HItemID = c.HCheckItemID" +
                    " LEFT JOIN Xt_CheckUserRight as cr ON cr.HCheckItemID = i.HItemID and cr.HCheckFlowInterID = m.HInterID" +
                    " where po.HBillStatus = 6 and po.HCheckItemNowID = i.HItemID  and cr.HUserID = '" + userid + "'";
                ds = oCN.RunProcReturn(sql, "h_v_Gy_RoutingBillList");
                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));//获取到DataColumn列对象的列名
                }
                objJsonResult.code = CodeConstant.SUCCEED;
                objJsonResult.count = CountConstant.SUCCEED;
                objJsonResult.Message = "Sucess!";
                objJsonResult.data = ds.Tables[0];
                objJsonResult.list = columnNameList;
                return objJsonResult;
            }
            catch (Exception e)
            {
                objJsonResult.code = CodeConstant.FAIL;
                objJsonResult.count = CountConstant.FAIL;
                objJsonResult.Message = "Exception!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #endregion
        #region å·¥è‰ºè·¯çº¿å·²ç»å®¡æ‰¹æµå®¡æ‰¹çš„
        [Route("Gy_Routing/Checkedlist")]
        [HttpGet]
        public object Checkedlist(string user)
        {
            try
            {
                List<object> columnNameList = new List<object>();
                //判断是否有查询权限
                if (!DBUtility.ClsPub.Security_Log("Gy_RoutingBill_Query", 1, false, user))
                {
                    objJsonResult.code = CodeConstant.FAIL;
                    objJsonResult.count = CountConstant.FAIL;
                    objJsonResult.Message = "无权限查看!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                //搜索需要审核的
                string sql = "  select DISTINCT a.*,c.HItemID as HCheckFlowStatusID,m.HName as å®¡æ‰¹æµ,c.HCheckFlowID,i.HName as å®¡æ‰¹é¡¹ç›®åç§°,c.HCheckItemID,c.HChecker as é¡¹ç›®å®¡æ ¸äºº,c.HCheckNote as å®¡æ‰¹æµå®¡æ ¸å»ºè®®,c.HCheckDate å®¡æ‰¹æµå®¡æ ¸æ—¥æœŸ   from h_v_Gy_RoutingBillList AS a LEFT JOIN Xt_BillCheckFlowStatus AS c ON a.hmainid = c.HBillInterID and a.单据类型 = c.HBillTypeID" +
                    " LEFT JOIN Xt_CheckFlowMain as m ON m.HInterID = c.HCheckFlowID" +
                    " LEFT JOIN Xt_CheckItem as i ON i.HItemID = c.HCheckItemID" +
                    " where c.HCheckDate is  not NUll and c.HChecker = '" + user + "'";
                ds = oCN.RunProcReturn(sql, "h_v_Gy_RoutingBillList");
                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));//获取到DataColumn列对象的列名
                }
                objJsonResult.code = CodeConstant.SUCCEED;
                objJsonResult.count = CountConstant.SUCCEED;
                objJsonResult.Message = "Sucess!";
                objJsonResult.data = ds.Tables[0];
                objJsonResult.list = columnNameList;
                return objJsonResult;
            }
            catch (Exception e)
            {
                objJsonResult.code = CodeConstant.FAIL;
                objJsonResult.count = CountConstant.FAIL;
                objJsonResult.Message = "Exception!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #endregion
        #region å·¥è‰ºè·¯çº¿é©³å›ž
        [Route("Gy_Routing/RejectCheckFlow")]
        [HttpGet]
        public object RejectCheckFlow(string HInterID, string CurUserID)
        {
            try
            {
                Int64 lngBillKey = 0;
                lngBillKey = DBUtility.ClsPub.isLong(HInterID);      //对HInterID进行类型的转换
                DAL.ClsGy_RoutingBill oBill = new DAL.ClsGy_RoutingBill();                              //实例化单据操作类,用于进行相关操作
                if (oBill.ShowBill(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo))                    //根据HInterID获取该单据的数据
                {
                    if (oBill.omodel.HBillStatus != 6)
                    {
                        objJsonResult.code = CodeConstant.FAIL;
                        objJsonResult.count = CountConstant.FAIL;
                        objJsonResult.Message = "单据未在审核中不能驳回";
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                    //发起驳回
                    if (oBill.RejectCheckFlowProgress(lngBillKey, oBill.omodel.HBillNo, CurUserID, ref DBUtility.ClsPub.sExeReturnInfo) == true)
                    {
                        objJsonResult.code = CodeConstant.SUCCEED;
                        objJsonResult.count = CountConstant.SUCCEED;
                        objJsonResult.Message = "驳回成功";
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                    else
                    {
                        objJsonResult.code = CodeConstant.FAIL;
                        objJsonResult.count = CountConstant.FAIL;
                        objJsonResult.Message = "驳回失败失败!原因:" + DBUtility.ClsPub.sExeReturnInfo;
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                }
                else
                {
                    objJsonResult.code = CodeConstant.FAIL;
                    objJsonResult.count = CountConstant.FAIL;
                    objJsonResult.Message = "单据不存在!原因:" + DBUtility.ClsPub.sExeReturnInfo;
                    objJsonResult.data = null;
                    return objJsonResult;
                }
            }
            catch (Exception e)
            {
                oCN.RollBack();
                objJsonResult.code = CodeConstant.FAIL;
                objJsonResult.count = CountConstant.FAIL;
                objJsonResult.Message = "Exception!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #endregion
        #region å·¥è‰ºè·¯çº¿ å‘起审批
        [Route("Gy_Routing/StartCheckFlow")]
        [HttpGet]
        public object StartCheckFlow(int HInterID, string CurUserName)
        {
            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 = CodeConstant.FAIL;
                    objJsonResult.count = CountConstant.FAIL;
                    objJsonResult.Message = "HInterID小于0!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                Int64 lngBillKey = 0;
                lngBillKey = DBUtility.ClsPub.isLong(HInterID);                                         //对HInterID进行类型的转换
                DAL.ClsGy_RoutingBill oBill = new DAL.ClsGy_RoutingBill();                              //实例化单据操作类,用于进行相关操作
                //发起审批
                if (oBill.startCheckFlow(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo) == true)
                {
                    objJsonResult.code = CodeConstant.SUCCEED;
                    objJsonResult.count = CountConstant.SUCCEED;
                    objJsonResult.Message = "发起审批成功";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                else
                {
                    objJsonResult.code = CodeConstant.FAIL;
                    objJsonResult.count = CountConstant.FAIL;
                    objJsonResult.Message = "发起审批失败!原因:" + DBUtility.ClsPub.sExeReturnInfo;
                    objJsonResult.data = null;
                    return objJsonResult;
                }
            }
            catch (Exception e)
            {
                objJsonResult.code = CodeConstant.FAIL;
                objJsonResult.count = CountConstant.FAIL;
                objJsonResult.Message = "发起审批失败失败!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #endregion
        #region å·¥è‰ºè·¯çº¿ å¤šçº§ å®¡æ ¸/反审核
        /// <summary>
        /// </summary>
        /// <param name="HInterID">单据ID</param>
        /// <param name="IsAudit">审核(0),反审核(1)</param>
        /// <param name="CurUserName">审核人</param>
        /// <returns></returns>
        [Route("Gy_Routing/AuditFlow")]
        [HttpGet]
        public object AuditGy_Routing_Flow(int HInterID, int IsAudit, string CurUserName, string CurUserID)
        {
            //string ModRightNameCheck = "Gy_Routing_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 = CodeConstant.FAIL;
                    objJsonResult.count = CountConstant.FAIL;
                    objJsonResult.Message = "HInterID小于0!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                Int64 lngBillKey = 0;
                lngBillKey = DBUtility.ClsPub.isLong(HInterID);                                         //对HInterID进行类型的转换
                DAL.ClsGy_RoutingBill oBill = new DAL.ClsGy_RoutingBill();                              //实例化单据操作类,用于进行相关操作
                //针对需要进行的操作,检验当前单据的状态是否支持需要进行的操作
                if (oBill.ShowBill(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo))                    //根据HInterID获取该单据的数据
                {
                    if (oBill.omodel.HCloseMan.Trim() != "")
                    {
                        objJsonResult.code = CodeConstant.FAIL;
                        objJsonResult.count = CountConstant.FAIL;
                        objJsonResult.Message = "单据已关闭!不能再次审核!";
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                    if (oBill.omodel.HDeleteMan.Trim() != "")
                    {
                        objJsonResult.code = CodeConstant.FAIL;
                        objJsonResult.count = CountConstant.FAIL;
                        objJsonResult.Message = "单据已作废!不能再次审核!";
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                    if (IsAudit == TypeConstant.AUDIT)  //审核判断
                    {
                        //判断是否已经发起审批
                        string sql0 = "select * from Xt_BillCheckFlowStatus where HBillInterID = " + lngBillKey + " and HBillTypeID = '" + oBill.BillType + "'";
                        DataSet ds0 = oCN.RunProcReturn(sql0, "Xt_BillCheckFlowStatus");
                        if (ds0 != null && ds0.Tables[0].Rows.Count == 0)
                        {
                            objJsonResult.code = CodeConstant.FAIL;
                            objJsonResult.count = CountConstant.FAIL;
                            objJsonResult.Message = "审核失败!原因:单据未发起审批!";
                            objJsonResult.data = null;
                            return objJsonResult;
                        }
                        //判断单据当前状态
                        if (oBill.omodel.HChecker.Trim() != "")
                        {
                            objJsonResult.code = CodeConstant.FAIL;
                            objJsonResult.count = CountConstant.FAIL;
                            objJsonResult.Message = "审核失败!原因:单据已完成审核!不能继续审核!";
                            objJsonResult.data = null;
                            return objJsonResult;
                        }
                    }
                    if (IsAudit == TypeConstant.REVERSE_AUDIT) //反审核判断
                    {
                        //判断是否存在审核过的项目
                        string sql0 = "select * from Xt_BillCheckFlowStatus where HBillInterID = " + lngBillKey + " and HBillTypeID = '" + oBill.BillType + "' and ISNULL(HChecker,'') <> ''";
                        DataSet ds0 = oCN.RunProcReturn(sql0, "Xt_BillCheckFlowStatus");
                        if (ds0 != null && ds0.Tables[0].Rows.Count == 0)
                        {
                            objJsonResult.code = CodeConstant.FAIL;
                            objJsonResult.count = CountConstant.FAIL;
                            objJsonResult.Message = "反审核失败!原因:单据不存在已经审核的项目!!";
                            objJsonResult.data = null;
                            return objJsonResult;
                        }
                    }
                }
                else
                {
                    objJsonResult.code = CodeConstant.FAIL;
                    objJsonResult.count = CountConstant.FAIL;
                    objJsonResult.Message = "单据不存在!原因:" + DBUtility.ClsPub.sExeReturnInfo;
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                oCN.BeginTran();
                //进行需要进行的审核/反审核操作
                if (IsAudit == TypeConstant.AUDIT) //审核提交
                {
                    #region å®¡æ ¸å‰çš„相关判断
                    //审核前控制=========================================
                    //string sql1 = "exec h_p_Gy_Routing_BeforeCheckCtrl " + oBill.omodel.HInterID + ",'" + oBill.omodel.HBillNo + "','" + CurUserName + "'";
                    //ds = oCN.RunProcReturn(sql1, "h_p_Gy_Routing_BeforeCheckCtrl");
                    //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;
                    //}
                    //==================================================================================
                    //进行 ä¼šè®¡æœŸé—´ ç»“è´¦ çš„判断和控制
                    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;
                    }
                    #endregion
                    //获取当前审核项目
                    string sql0 = "select * from " + oBill.MvarItemKey + " where HInterID = " + lngBillKey;
                    DataSet ds0 = oCN.RunProcReturn(sql0, oBill.MvarItemKey);
                    string HCheckFlowID = ds0.Tables[0].Rows[0]["HCheckFlowID"].ToString();             //审批流内码
                    string HCheckItemNowID = ds0.Tables[0].Rows[0]["HCheckItemNowID"].ToString();       //当前审批项目内码
                    string HCheckItemNextID = ds0.Tables[0].Rows[0]["HCheckItemNextID"].ToString();     //待审批项目内码
                    //判断用户是否有权限 å®¡æ‰¹ å½“前审批流的审批项目
                    //string sql01 = "select * from Xt_CheckUserRight where HUserID = '" + CurUserID + "' and HCheckFlowInterID = " + HCheckFlowID + " and HCheckItemID = " + HCheckItemNowID + " and HValue = 1";
                    string sql01 = "select * from Xt_CheckUserRight where HUserID = '" + CurUserID + "' and HCheckFlowInterID = " + HCheckFlowID + " and HCheckItemID = " + HCheckItemNowID + "";
                    DataSet ds01 = oCN.RunProcReturn(sql01, "Xt_CheckUserRight");
                    if (ds01.Tables[0].Rows.Count == 0)
                    {
                        objJsonResult.code = CodeConstant.FAIL;
                        objJsonResult.count = CountConstant.FAIL;
                        objJsonResult.Message = "审核失败!原因:用户无当前审核项目的审核权限!";
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                    //更新 å•据审批状态表 ä¸­å¯¹åº”审核项目的审核状态
                    string sql02 = "update Xt_BillCheckFlowStatus set HChecker='" + CurUserName + "',HCheckDate=getdate() where HBillTypeID = '" + oBill.BillType + "' and HBillInterID=" + lngBillKey + " and HCheckFlowID=" + HCheckFlowID + " and HCheckItemID=" + HCheckItemNowID;
                    oCN.RunProc(sql02);
                    //判断当前审核项目是否是最后一个项目,如果是,审核后反写单据的单据状态。如果不是,获取下一个审核项目并更新到销售订单主表
                    if (HCheckItemNextID != "0")                //刚刚审核的审核项目不是最后一个审核项目
                    {
                        string sql03 = "select b.HInterID,b.HCheckItemID from Xt_CheckFlowMain as a " +
                                "inner join Xt_CheckFlowSub as b on a.HInterID = b.HInterID " +
                                "where a.HBillTypeID = '" + oBill.BillType + "' " +
                                "and a.HInterID = " + HCheckFlowID + " " +
                                "order by b.HFlowNo asc";
                        DataSet ds03 = oCN.RunProcReturn(sql03, "Xt_CheckFlowMain");
                        //获取新的当前审核项目和待审核项目
                        for (int i = 0; i < ds03.Tables[0].Rows.Count; i++)
                        {
                            if (ds03.Tables[0].Rows[i]["HCheckItemID"].ToString() == HCheckItemNextID)
                            {
                                HCheckItemNowID = HCheckItemNextID;
                            }
                            else if (HCheckItemNowID == HCheckItemNextID)
                            {
                                HCheckItemNextID = ds03.Tables[0].Rows[i]["HCheckItemID"].ToString();
                                break;
                            }
                        }
                        //新的当前审核项目为最后一个审核项目,待审核项目不存在,设为默认值"0"
                        if (HCheckItemNowID == HCheckItemNextID)
                        {
                            HCheckItemNextID = "0";
                        }
                        //更新单据主表的审批流数据
                        string sql04 = "update " + oBill.MvarItemKey + " set HCheckItemNowID=" + HCheckItemNowID + ",HCheckItemNextID=" + HCheckItemNextID + " where HInterID = " + lngBillKey;
                        oCN.RunProc(sql04);
                        objJsonResult.code = CodeConstant.SUCCEED;
                        objJsonResult.count = CountConstant.SUCCEED;
                        objJsonResult.Message = "审核成功";
                        objJsonResult.data = null;
                    }
                    else                                                                //刚刚审核的审核项目是最后一个审核项目
                    {
                        //更新单据主表的审批流数据
                        HCheckItemNowID = "0";
                        HCheckItemNextID = "0";
                        string sql04 = "update " + oBill.MvarItemKey + " set HCheckItemNowID=" + HCheckItemNowID + ",HCheckItemNextID=" + HCheckItemNextID + " where HInterID = " + lngBillKey;
                        oCN.RunProc(sql04);
                        //更新单据的单据状态
                        if (oBill.CheckBill(oCN, oBill.omodel.HInterID, oBill.omodel.HBillNo, "h_p_Gy_RoutingBill_AfterCheckCtrl", CurUserName, ref DBUtility.ClsPub.sExeReturnInfo) == true)
                        {
                            objJsonResult.code = CodeConstant.SUCCEED;
                            objJsonResult.count = CountConstant.SUCCEED;
                            objJsonResult.Message = "审核成功";
                            objJsonResult.data = null;
                        }
                        else
                        {
                            objJsonResult.code = CodeConstant.FAIL;
                            objJsonResult.count = CountConstant.FAIL;
                            objJsonResult.Message = "审核失败!原因:" + DBUtility.ClsPub.sExeReturnInfo;
                            objJsonResult.data = null;
                            oCN.RollBack();
                            return objJsonResult;
                        }
                    }
                }
                if (IsAudit == TypeConstant.REVERSE_AUDIT) //反审核提交
                {
                    #region åå®¡æ ¸å‰çš„相关判断
                    //反审核前控制=========================================
                    DataSet ds = oCN.RunProcReturn("Exec h_p_Gy_Routing_BeforeUnCheckCtrl " + oBill.omodel.HInterID + ",'" + oBill.omodel.HBillNo + "','" + CurUserName + "'", "h_p_Gy_Routing_BeforeUnCheckCtrl");
                    if (ds == null)
                    {
                        objJsonResult.code = CodeConstant.FAIL;
                        objJsonResult.count = CountConstant.FAIL;
                        objJsonResult.Message = "反审核失败!原因:" + "反审核前判断失败!";
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                    if (DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBack"]) != "0")
                    {
                        objJsonResult.code = CodeConstant.FAIL;
                        objJsonResult.count = CountConstant.FAIL;
                        objJsonResult.Message = "反审核失败!原因:" + DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBackRemark"]);
                        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;
                    }
                    #endregion
                    //获取需要反审核的审核项目
                    string sql0 = "select c.* from Xt_CheckFlowMain as a " +
                                  "inner join Xt_CheckFlowSub as b on a.HInterID = b.HInterID " +
                                  "inner join Xt_BillCheckFlowStatus as c on a.HBillTypeID = c.HBillTypeID and b.HCheckItemID = c.HCheckItemID " +
                                  "where c.HBillTypeID = '" + oBill.BillType + "' and c.HBillInterID = " + lngBillKey + " " +
                                  "order by b.HFlowNo asc";
                    DataSet ds0 = oCN.RunProcReturn(sql0, "Xt_BillCheckFlowStatus");
                    if (ds0 == null || ds0.Tables[0].Rows.Count == 0)
                    {
                        objJsonResult.code = CodeConstant.FAIL;
                        objJsonResult.count = CountConstant.FAIL;
                        objJsonResult.Message = "反审核失败!原因:未发起审批!";
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                    string HCheckFlowID = ds0.Tables[0].Rows[0]["HCheckFlowID"].ToString();             //审批流内码
                    string HCheckItemNowID = "0";       //当前审批项目内码
                    string HCheckItemNextID = "0";     //待审批项目内码
                    if (oBill.omodel.HBillStatus == 6)
                    {
                        for (int i = 0; i < ds0.Tables[0].Rows.Count; i++)
                        {
                            if (ds0.Tables[0].Rows[i]["HChecker"].ToString() != "")
                            {
                                HCheckItemNowID = ds0.Tables[0].Rows[i]["HCheckItemID"].ToString();
                                HCheckItemNextID = ds0.Tables[0].Rows[i]["HCheckItemID"].ToString();
                            }
                            else
                            {
                                HCheckItemNextID = ds0.Tables[0].Rows[i]["HCheckItemID"].ToString();
                                break;
                            }
                        }
                        if (HCheckItemNowID == HCheckItemNextID)
                        {
                            HCheckItemNextID = "0";
                        }
                    }
                    else
                    {
                        HCheckItemNowID = ds0.Tables[0].Rows[ds0.Tables[0].Rows.Count - 1]["HCheckItemID"].ToString();
                        HCheckItemNextID = "0";
                    }
                    //判断用户是否有权限 å®¡æ‰¹ å½“前审批流的审批项目
                    //string sql01 = "select * from Xt_CheckUserRight where HUserID = '" + CurUserID + "' and HCheckFlowInterID = " + HCheckFlowID + " and HCheckItemID = " + HCheckItemNowID + " and HValue = 1";
                    string sql01 = "select * from Xt_CheckUserRight where HUserID = '" + CurUserID + "' and HCheckFlowInterID = " + HCheckFlowID + " and HCheckItemID = " + HCheckItemNowID + "";
                    DataSet ds01 = oCN.RunProcReturn(sql01, "Xt_CheckUserRight");
                    if (ds01.Tables[0].Rows.Count == 0)
                    {
                        objJsonResult.code = CodeConstant.FAIL;
                        objJsonResult.count = CountConstant.FAIL;
                        objJsonResult.Message = "反审核失败!原因:用户无当前审核项目的审核权限!";
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                    //更新 å•据审批状态表 ä¸­å¯¹åº”审核项目的审核状态
                    string sql02 = "update Xt_BillCheckFlowStatus set HChecker='',HCheckDate='' where HBillTypeID = '" + oBill.BillType + "' and HBillInterID=" + lngBillKey + " and HCheckFlowID=" + HCheckFlowID + " and HCheckItemID=" + HCheckItemNowID;
                    oCN.RunProc(sql02);
                    //判断反审核的单据是否已经审核完成,若审核完成,反审核需要变更单据状态。
                    if (oBill.omodel.HBillStatus == 6)
                    {
                        //更新单据主表的审批流数据
                        string sql04 = "update " + oBill.MvarItemKey + " set HCheckItemNowID=" + HCheckItemNowID + ",HCheckItemNextID=" + HCheckItemNextID + " where HInterID = " + lngBillKey;
                        oCN.RunProc(sql04);
                        objJsonResult.code = CodeConstant.SUCCEED;
                        objJsonResult.count = CountConstant.SUCCEED;
                        objJsonResult.Message = "审核成功";
                        objJsonResult.data = null;
                    }
                    else
                    {
                        //反审核提交AbandonCheck
                        if (oBill.AbandonCheck(oBill.omodel.HInterID, ref DBUtility.ClsPub.sExeReturnInfo) == true)
                        {
                            //更新单据主表的审批流数据
                            string sql04 = "update " + oBill.MvarItemKey + " set HCheckItemNowID=" + HCheckItemNowID + ",HCheckItemNextID=" + HCheckItemNextID + ",HBillStatus=6 " + " where HInterID = " + lngBillKey;
                            oCN.RunProc(sql04);
                            objJsonResult.code = CodeConstant.SUCCEED;
                            objJsonResult.count = CountConstant.SUCCEED;
                            objJsonResult.Message = "反审核成功";
                            objJsonResult.data = null;
                        }
                        else
                        {
                            objJsonResult.code = CodeConstant.FAIL;
                            objJsonResult.count = CountConstant.FAIL;
                            objJsonResult.Message = "反审核失败!原因:" + DBUtility.ClsPub.sExeReturnInfo;
                            objJsonResult.data = null;
                            oCN.RollBack();
                            return objJsonResult;
                        }
                    }
                }
                oCN.Commit();
                return objJsonResult;
            }
            catch (Exception e)
            {
                objJsonResult.code = CodeConstant.FAIL;
                objJsonResult.count = CountConstant.FAIL;
                objJsonResult.Message = "审核失败或者反审核失败!" + e.ToString();
                objJsonResult.data = null;
                oCN.RollBack();
                return objJsonResult;
            }
        }
        #endregion
    }
}
WebAPI/Controllers/LMESController.cs
@@ -1,6 +1,7 @@
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using Pub_Class;
using SyntacticSugar.constant;
using System;
using System.Collections;
using System.Collections.Generic;
@@ -1114,6 +1115,60 @@
        #region å·¥è‰ºè·¯çº¿
        #region å·¥è‰ºè·¯çº¿åˆ†é¡µåˆ—表
        [Route("Gy_RoutingBill/page")]
        [HttpGet]
        public json Gy_RoutingBillPage(string sWhere, string user, int page, int size)
        {
            DataSet ds;
            json res = new json();
            try
            {
                List<object> columnNameList = new List<object>();
                //编辑权限
                if (!DBUtility.ClsPub.Security_Log_second("Gy_RoutingBill_Query", 1, false, user))
                {
                    res.code = "0";
                    res.count = 0;
                    res.Message = "无查看权限!";
                    res.data = null;
                    return res;
                }
                if (sWhere == null || sWhere.Equals(""))
                {
                    ds = oCN.RunProcReturn("exec h_p_Gy_RoutingBillList " + page + "," + size + ",''", "h_p_Gy_RoutingBillList");
                }
                else
                {
                    ds = oCN.RunProcReturn("exec h_p_Gy_RoutingBillList " + page + "," + size + ",'" + sWhere + "'", "h_p_Gy_RoutingBillList");
                }
                //添加列名
                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));//获取到DataColumn列对象的列名
                }
                res.code = CodeConstant.SUCCEED;
                res.count = int.Parse(ds.Tables[1].Rows[0]["count"].ToString());
                res.Message = "Sucess!";
                res.list = columnNameList;
                res.data = ds.Tables[0];
                return res;
            }
            catch (Exception e)
            {
                res.code = CodeConstant.FAIL;
                res.count = CountConstant.FAIL;
                res.Message = "Exception!" + e.ToString();
                res.data = null;
                return objJsonResult;
            }
        }
        #endregion
        #region å·¥è‰ºè·¯çº¿åˆ—表
        /// <summary>
        /// è¿”回工艺路线列表
@@ -1676,6 +1731,59 @@
            return GetObjectJson(ds);
        }
        #region ç”Ÿäº§è®¢å•分页列表
        [Route("LEMS/MES_IF_ICMOBillListPage")]
        [HttpGet]
        public object MES_IF_ICMOBillListPage(string sWhere, string user, int page, int size)
        {
            DataSet ds;
            try
            {
                List<object> columnNameList = new List<object>();
                //编辑权限
                if (!DBUtility.ClsPub.Security_Log_second("Sc_ICMOBillQuery", 1, false, user))
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "无查看权限!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                if (sWhere == null || sWhere.Equals(""))
                {
                    ds = oCN.RunProcReturn("exec h_p_IF_ICMOBillList " + page + "," + size + ",''", "h_p_IF_ICMOBillList");
                }
                else
                {
                    ds = oCN.RunProcReturn("exec h_p_IF_ICMOBillList " + page + "," + size + ",'" + sWhere + "'", "h_p_IF_ICMOBillList");
                }
                //添加列名
                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));//获取到DataColumn列对象的列名
                }
                objJsonResult.code = "1";
                objJsonResult.count = int.Parse(ds.Tables[1].Rows[0]["count"].ToString());
                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("LEMS/MES_IF_ProcessBillList_Json")]
        [HttpGet]
WebAPI/Controllers/SBGL/Gy_EquipFileMainController.cs
@@ -323,6 +323,27 @@
                }
                //若MAINDI重复则重新获取
                oCN.BeginTran();
                //保存前控制=========================================
                string HBillNote = "";
                ds = oCN.RunProcReturn("Exec h_p_Gy_EquipFileBillMain_BeforeSaveCtrl " + HInterID.ToString() + ", '" + hbillno + "','" + HBillNote + "',1 ", "h_p_Gy_EquipFileBillMain_BeforeSaveCtrl");
                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]["HBackRemark"].ToString(); ;
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                //=========================================================
                //主表
                oCN.RunProc("Insert into Gy_EquipFileBillMain " +
                   " (HInterID,hbillno,HEquipFileNumber,HEquipFileNo,HName,HModel,HModel2,HMaterID,HUnitID,HOutComDate" +
@@ -334,6 +355,29 @@
                   "','" + HBarCode + "','" + HWorkArea + "','" + HLogo + "'," + HSellSupID + "," + HMakeSupID + ",'3308','" + HDate + "','" + HYear + "','" + HMaker + "','" + HMakeDate + "','" + HEquipMaintainRuleInterID + "','" + HEquipDotCheckRuleInterID +"'," + HSourceID + ",'" + HMainSourceFlag + "','" + HMacAddress + "','" + HMainSourceID + "')", ref DBUtility.ClsPub.sExeReturnInfo);
                //修改上级为非末级代码
                objJsonResult = AddBillSub(msg3, msg4, HInterID, hbillno, 1);
                //保存后控制=========================================
                ds = oCN.RunProcReturn("Exec h_p_Gy_EquipFileBillMain_AfterSaveCtrl " + HInterID.ToString() + ", '" + hbillno + "','" + HBillNote + "',1 ", "h_p_Gy_EquipFileBillMain_AfterSaveCtrl");
                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]["HBackRemark"].ToString(); ;
                    objJsonResult.data = null;
                    oCN.RollBack();
                    return objJsonResult;
                }
                //=========================================================
                oCN.Commit();
                //objJsonResult.data = null;
                return objJsonResult;
WebAPI/Controllers/SBGL/SBBB/Sb_EquipMentCollectionTechParam_TempController.cs
@@ -1,4 +1,5 @@
using Newtonsoft.Json;
using Model;
using Newtonsoft.Json;
using SyntacticSugar.constant;
using System;
using System.Collections.Generic;
@@ -36,6 +37,8 @@
                string sql = "select * from h_v_Sb_EquipMentCollectionTechParam_TempList where 1 = 1" + sWhere;
                DataSet ds = oCN.RunProcReturn(sql, "h_v_Sb_EquipMentCollectionTechParam_TempList");
                //数据遍历, èŽ·å–åˆ—å
                List<object> columnNameList = new List<object>();
                foreach (DataColumn col in ds.Tables[0].Columns)
WebAPI/Controllers/Sc_MouldRepairInBillListController.cs
@@ -5102,7 +5102,7 @@
            string msg3 = sArray[1].ToString();
            string msg4 = sArray[2].ToString();
            string msg5 = sArray[3].ToString();
            string msg6 = sArray[4].ToString();
            string UserName = "";
            ListModels oListModels = new ListModels();
@@ -5223,6 +5223,32 @@
                    oBill.DetailColl.Add(oItemSub);
                }
                //表体数据
                //按 },{来拆分数组 //去掉【和】
                //如果是编辑就允许保存,否则不允许
                if (oBill.omodel.HInterID != 0)
                {
                    msg6 = msg6.Substring(1, msg6.Length - 2);
                    msg6 = msg6.Replace("\\", "");
                    msg6 = msg6.Replace("\n", "");
                    List<Model.ClsSc_MouldMaintainPlanBillSub_Plan> lss = new List<Model.ClsSc_MouldMaintainPlanBillSub_Plan>();
                    lss = oListModels.getObjectByJson_Sc_MouldMaintainPlanBillSub_Plan(msg6);
                    int l = 0;
                    foreach (Model.ClsSc_MouldMaintainPlanBillSub_Plan oItem in lss)
                    {
                        l++;
                        oItem.HEntryID = l;
                        oItem.HEntryCloseDate = DBUtility.ClsPub.isDate(DateTime.Now);
                        oItem.HCloseType = false;   //关闭类型
                        oItem.HSourceInterID = 0;     // æºå•主内码
                        oItem.HSourceEntryID = 0;   //源单子内码
                        oItem.HRelationQty = 0;     //关联数量
                        oBill.DetailCol2.Add(oItem);
                    }
                }
                //保存
                //保存完毕后处理
                bool bResult;
WebAPI/Controllers/WebAPIController.cs
@@ -171,6 +171,68 @@
            }
        }
        [Route("Web/GetMAXNum_ProcExchange")]
        [HttpGet]
        public object GetMAXNum_ProcExchange(string HBillType)
        {
            try
            {
                string HBillNo = "";
                string sErrMsg = "";
                Int64 HInterID = 0;//显示的字段
                HInterID = DBUtility.ClsPub.CreateBillID_Prod(HBillType, ref sErrMsg);
                //HBillNo = DBUtility.ClsPub.CreateBillCode_Prod(HBillType, ref sErrMsg, true);
                DataSet ds;
                SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
                ds = oCN.RunProcReturn("exec h_p_IF_CheckBillIDExists_WMS  " + HInterID + ",'" + HBillNo + "'", "h_p_IF_CheckBillIDExists_WMS");
                if (ds == null || ds.Tables[0].Rows.Count == 0)
                {
                    sErrMsg = "存在重复单据内码或单据号的单据,不允许新增,请退出后重新登录!";
                    objjson.code = "0";
                    objjson.count = 0;
                    objjson.Message = sErrMsg;
                    objjson.data = null;
                    return objjson;
                }
                else if (DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0][0]) == "1")
                {
                    sErrMsg = "存在重复单据内码或单据号的单据,不允许新增,请退出后重新登录!";
                    objjson.code = "0";
                    objjson.count = 0;
                    objjson.Message = sErrMsg;
                    objjson.data = null;
                    return objjson;
                }
                else
                {
                    //----------创建虚表------------------------
                    DataTable dt_Main = new DataTable("Json");
                    dt_Main.Columns.Add("HBillNo", typeof(string));
                    dt_Main.Columns.Add("HInterID", typeof(Int64));
                    //---------创建新行------------------------
                    DataRow dr_main = dt_Main.NewRow();//创建新行
                    dt_Main.Rows.Add(dr_main);//将新行加入到表中
                    dr_main["HBillNo"] = DBUtility.ClsPub.isStrNull(HBillNo);
                    dr_main["HInterID"] = DBUtility.ClsPub.isLong(HInterID);
                    //返回数据
                    objjson.code = "0";
                    objjson.count = 1;
                    objjson.Message = "获取成功";
                    objjson.data = dt_Main;
                    return objjson;
                }
            }
            catch (Exception e)
            {
                objjson.code = "0";
                objjson.count = 0;
                objjson.Message = "获取失败" + e.ToString();
                objjson.data = null;
                return objjson;
            }
        }
        /// <summary>
        /// è‡ªåŠ¨èŽ·å–åŸºç¡€èµ„æ–™ æµæ°´å· å°±æ˜¯ä»£ç 
        /// </summary>
@@ -373,47 +435,57 @@
        /// <returns></returns>
        [Route("Web/GetXGPassword")]
        [HttpGet]
        public object GetXGPassword(string UserName, string oldPassword, string PassWord, string Repassword)
        public object GetXGPassword(string UserName, string oldPassword, string PassWord, string Repassword,string HCloudUserName,string HCloudUserPsd)
        {
            try
            {
                ClsCN oCn = new ClsCN();
                DataSet oDs = new DataSet();
                //==========
                oDs = oCn.RunProcReturn("select Czmm from  Gy_Czygl where Czybm='" + UserName + "'", "Gy_Czygl");
                if (PassWord.Trim() != Repassword.Trim())
                if(PassWord!=null)
                {
                    objjson.code = "0";
                    objjson.count = 0;
                    objjson.Message = "2次密码不一致!";
                    objjson.data = oDs.Tables[0];
                    return objjson; ;
                }
                //===========
                if (oDs == null || oDs.Tables[0].Rows.Count == 0)
                {
                    objjson.code = "0";
                    objjson.count = 0;
                    objjson.Message = "没有这个用户,不能修改密码!";
                    objjson.data = null;
                    return objjson; ;
                }
                else
                {
                    oCn.RunProc("update  Gy_Czygl set Czmm='" + ClsPub.StrToPsd(PassWord.Trim()) + "' where Czybm='" + UserName.Trim() + "'");
                    oDs = oCn.RunProcReturn("select Czmm from  Gy_Czygl where Czybm='" + UserName + "'", "Gy_Czygl");
                    if (PassWord.Trim() != Repassword.Trim())
                    {
                        objjson.code = "0";
                        objjson.count = 0;
                        objjson.Message = "2次密码不一致!";
                        objjson.data = oDs.Tables[0];
                        return objjson; ;
                    }
                    //===========
                    if (oDs == null || oDs.Tables[0].Rows.Count == 0)
                    {
                        objjson.code = "0";
                        objjson.count = 0;
                        objjson.Message = "没有这个用户,不能修改密码!";
                        objjson.data = null;
                        return objjson; ;
                    }
                    oCn.RunProc("update  Gy_Czygl set Czmm='" + ClsPub.StrToPsd(PassWord.Trim()) + "',HCloudUserName = '" + HCloudUserName+ "',HCloudUserPsd = '" + HCloudUserPsd+ "' where Czybm='" + UserName.Trim() + "'");
                    objjson.code = "0";
                    objjson.count = 1;
                    objjson.Message = "* å¯†ç ä¿®æ”¹æˆåŠŸï¼";
                    objjson.data = null;
                    return objjson;
                }
                else
                {
                    oCn.RunProc("update  Gy_Czygl set HCloudUserName = '" + HCloudUserName + "',HCloudUserPsd = '" + HCloudUserPsd + "' where Czybm='" + UserName.Trim() + "'");
                    objjson.code = "0";
                    objjson.count = 1;
                    objjson.Message = "* é‡‘蝶云账号修改成功!";
                    objjson.data = null;
                    return objjson; ;
                }
            }
            catch (Exception)
            catch (Exception e)
            {
                objjson.code = "0";
                objjson.count = 0;
                objjson.Message = "修改密码异常!";
                objjson.Message = "修改密码异常!" + e.ToString();
                objjson.data = null;
                return objjson; ;
            }
@@ -5747,6 +5819,309 @@
        #endregion
        #region å²—位技能 æ–‡ä»¶å¯¼å…¥ä¿å­˜
        #region å²—位技能 æ–‡ä»¶ä¸Šä¼ 
        [Route("Gy_PostSkill/Gy_PostSkill_Excel")]
        [HttpPost]
        public object Gy_PostSkill_Excel()
        {
            try
            {
                //获取文件名称
                var file = HttpContext.Current.Request.Files[0];
                //获取文件物理路径
                string ExcelPath = HttpContext.Current.Server.MapPath("~/" + file.FileName);
                //保存文件
                file.SaveAs(ExcelPath);
                NpoiHelper np = new NpoiHelper();
                DataSet ExcelDs = np.ReadExcel(ExcelPath, 1, 1, "0");
                //删除文件
                File.Delete(ExcelPath);
                //创建临时表
                DataTable tb2 = new DataTable("dt2");
                //添加列名
                for (int i = 0; i < ExcelDs.Tables[0].Columns.Count; i++)
                {
                    tb2.Columns.Add(ExcelDs.Tables[0].Rows[0][i].ToString());
                }
                //模板缺少列 ä½†éœ€è¦ä»Žæ•°æ®åº“中查询出来显示在页面的字段
                tb2.Columns.Add("HOrgID", typeof(Int32));//组织ID
                tb2.Columns.Add("HPostID", typeof(Int32));//岗位id
                //添加数据
                for (int i = 1; i < ExcelDs.Tables[0].Rows.Count; i++)
                {
                    DataRow row = tb2.NewRow();
                    for (int j = 0; j < ExcelDs.Tables[0].Columns.Count; j++)
                    {
                        row[j] = ExcelDs.Tables[0].Rows[i][j].ToString();
                    }
                    tb2.Rows.Add(row);
                }
                var error = "";
                //查询没有的列
                if (!tb2.Columns.Contains("组织代码"))
                    error += "没有找到【组织代码】的标题,";
                if (!tb2.Columns.Contains("组织名称"))
                    error += "没有找到【组织名称】的标题,";
                if (!tb2.Columns.Contains("岗位技能"))
                    error += "没有找到【岗位技能】的标题,";
                if (!tb2.Columns.Contains("岗位技能代码"))
                    error += "没有找到【岗位技能代码】的标题,";
                if (!tb2.Columns.Contains("岗位"))
                    error += "没有找到【岗位】的标题,";
                if (!tb2.Columns.Contains("岗位代码"))
                    error += "没有找到【岗位代码】的标题,";
                if (!tb2.Columns.Contains("备注"))
                    error += "没有找到【备注】的标题,";
                if (!tb2.Columns.Contains("助记码"))
                    error += "没有找到【助记码】的标题,";
                if (error.Length > 0)
                {
                    objJsonResult.code = CodeConstant.FAIL;
                    objJsonResult.count = CountConstant.FAIL;
                    objJsonResult.Message = $"Excel模板存在错误,{error}\r\n";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                for (int i = 0; i <= tb2.Rows.Count - 1; i++)
                {
                    string HProcessName = "";
                    string HProcessNum = "";
                    string HORGNumber = "";
                    string HORGName = "";
                    string HPostName = "";
                    string HPostNumber = "";
                    HProcessName = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["岗位技能"].ToString());
                    HProcessNum = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["岗位技能代码"].ToString());
                    HORGNumber = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["组织代码"].ToString());
                    HORGName = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["组织名称"].ToString());
                    HPostName = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["岗位"].ToString());
                    HPostNumber = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["岗位代码"].ToString());
                    //检查物料
                    int index = i + 1;
                    if (HORGNumber != "")
                    {
                        //查询组织
                        ds = oCN.RunProcReturn("select * from Xt_ORGANIZATIONS where  HNumber='" + HORGNumber + "' and Hname='" + HORGName + "'", "Xt_ORGANIZATIONS");
                        if (ds.Tables[0].Rows.Count == 0)
                        {
                            objJsonResult.code = CodeConstant.FAIL;
                            objJsonResult.count = CountConstant.FAIL;
                            objJsonResult.Message = "第" + index + "行,组织不存在!";
                            objJsonResult.data = null;
                            return objJsonResult;
                        }
                        else
                        {
                            tb2.Rows[i]["HOrgID"] = ds.Tables[0].Rows[0]["HItemID"].ToString();
                        }
                        string HORGid = ds.Tables[0].Rows[0]["HItemID"].ToString();
                        //查询岗位
                        ds = oCN.RunProcReturn("select * from Gy_Post where  HNumber='" + HPostNumber + "' and Hname='" + HPostName + "' and HUSEORGID = "+ HORGid, "Gy_Post");
                        if (ds.Tables[0].Rows.Count == 0)
                        {
                            objJsonResult.code = CodeConstant.FAIL;
                            objJsonResult.count = CountConstant.FAIL;
                            objJsonResult.Message = "第" + index + "行,岗位不存在!";
                            objJsonResult.data = null;
                            return objJsonResult;
                        }
                        else
                        {
                            tb2.Rows[i]["HPostID"] = ds.Tables[0].Rows[0]["HItemID"].ToString();
                        }
                        //岗位技能名称
                        if (HProcessName == "")
                        {
                            objJsonResult.code = CodeConstant.FAIL;
                            objJsonResult.count = CountConstant.FAIL;
                            objJsonResult.Message = "第" + index + "行,岗位技能不能为空!";
                            objJsonResult.data = null;
                            return objJsonResult;
                        }
                        //岗位技能代码
                        if (HProcessNum == "")
                        {
                            objJsonResult.code = CodeConstant.FAIL;
                            objJsonResult.count = CountConstant.FAIL;
                            objJsonResult.Message = "第" + index + "行,岗位技能代码不能为空!";
                            objJsonResult.data = null;
                            return objJsonResult;
                        }
                    }
                    else
                    {
                        objJsonResult.code = CodeConstant.FAIL;
                        objJsonResult.count = CountConstant.FAIL;
                        objJsonResult.Message = "第" + index + "行,组织代码为空";
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                }
                objJsonResult.code = CodeConstant.SUCCEED;
                objJsonResult.count = CountConstant.SUCCEED;
                objJsonResult.Message = error;
                objJsonResult.data = tb2;
                return objJsonResult;
            }
            catch (Exception e)
            {
                objJsonResult.code = CodeConstant.FAIL;
                objJsonResult.count = CountConstant.FAIL;
                objJsonResult.Message = "Exception!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #endregion
        #region å²—位技能项目 å¯¼å…¥(保存)
        [Route("Gy_PostSkill/Gy_PostSkill_btnSave")]
        [HttpPost]
        public object Gy_PostSkill_btnSave([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 user = sArray[1].ToString();
            try
            {
                if (!DBUtility.ClsPub.Security_Log("Gy_PostSkill_Edit", 1, false, user))
                {
                    objJsonResult.code = CodeConstant.FAIL;
                    objJsonResult.count = CountConstant.FAIL;
                    objJsonResult.Message = "无保存权限!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                List<object> Excel = Newtonsoft.Json.JsonConvert.DeserializeObject<List<object>>(msg2);
                List<Dictionary<string, string>> list = new List<Dictionary<string, string>>();
                foreach (JObject item in Excel)
                {
                    Dictionary<string, string> dic = new Dictionary<string, string>();
                    foreach (var itm in item.Properties())
                    {
                        dic.Add(itm.Name, itm.Value.ToString());
                    }
                    list.Add(dic);
                }
                oCN.BeginTran();
                int i = 1;
                foreach (Dictionary<string, string> item in list)
                {
                    string HOrgID = item["HOrgID"].ToString();//组织ID
                    string HPostID = item["HPostID"].ToString();//组织ID
                    string HName = item["岗位技能"].ToString();
                    string HNumber = item["岗位技能代码"].ToString();
                    string HRemark = item["备注"].ToString();
                    string HHelpCode = item["助记码"].ToString();
                    string HUseFlag = "未检测";
                    string HShortNumber;
                    HShortNumber = DBUtility.ClsPub.GetShortNumber(HNumber);//短代码
                    if (HShortNumber.Trim() == "")
                    {
                        objJsonResult.code = CodeConstant.FAIL;
                        objJsonResult.count = CountConstant.FAIL;
                        objJsonResult.Message = "保存失败!短代码为空!";
                        objJsonResult.data = 1;
                        return objJsonResult;
                    }
                    int HEndFlag = 1;//末级标志
                    int HLevel = DBUtility.ClsPub.GetLevel(HNumber); //等级
                    if (!DBUtility.ClsPub.AllowNumber(HNumber.Trim()))
                    {
                        objJsonResult.code = CodeConstant.FAIL;
                        objJsonResult.count = CountConstant.FAIL;
                        objJsonResult.Message = "保存失败!代码中不能出现连续‘.’并且首位末位不能为‘.’!";
                        objJsonResult.data = 1;
                        return objJsonResult;
                    }
                    ds = oCN.RunProcReturn("select * from Gy_PostSkill where HNumber='" + HNumber + "'", "Gy_PostSkill");
                    if (ds.Tables[0].Rows.Count == 0)
                    {
                        oCN.RunProc("Insert into " + "Gy_PostSkill" +
                        " (HNumber,HName,HHelpCode,HShortNumber,HParentID" +
                        ",HLevel,HEndFlag,HStopflag,HRemark,HMakeTime,HUSEORGID,HUseFlag,HMakeEmp,HCREATEORGID,HPostID,HProcID) " +
                        " Values('" + HNumber + "','" + HName + "','" + HHelpCode + "','" + HShortNumber + "'," + 0 +
                        "," + HLevel + "," + HEndFlag + "," + 0 + ",'" + HRemark + "','" + DateTime.Now + "','" + HOrgID + "','" + HUseFlag + "','" + user + "','" + HOrgID + "','" + HPostID + "','" + 0 + "')");
                    }
                    else
                    {
                        oCN.RunProc("Update " + "Gy_PostSkill" + " set " +
                        "HName='" + HName + "'" +
                        ",HShortNumber='" + HShortNumber + "'" +
                        ",HHelpCode='" + HHelpCode + "'" +
                        ",HModifyTime='" + DateTime.Now + "'" +
                        ",HUSEORGID='" + HOrgID + "'" +
                        ",HModifyEmp ='" + user + "'" +
                         ",HPostID ='" + HPostID + "'" +
                        ",HRemark= '" + HRemark + "' Where HNumber='" + HNumber + "'");
                    }
                    i++;
                }
                oCN.Commit();
                objJsonResult.code = CodeConstant.SUCCEED;
                objJsonResult.count = CountConstant.SUCCEED;
                objJsonResult.Message = "导入成功!";
                objJsonResult.data = null;
                return objJsonResult;
            }
            catch (Exception e)
            {
                LogService.Write(e);
                objJsonResult.code = CodeConstant.FAIL;
                objJsonResult.count = CountConstant.FAIL;
                objJsonResult.Message = "Exception!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #endregion
        #endregion
        #region  å²—位 è®¾ç½®åˆ—表/保存/编辑/删除方法
        /// <summary>
        /// ä¿å­˜å²—位
@@ -6025,6 +6400,279 @@
                return objJsonResult;
            }
        }
        #endregion
        #region å²—位 æ–‡ä»¶å¯¼å…¥ä¿å­˜
        #region å²—位 æ–‡ä»¶ä¸Šä¼ 
        [Route("Gy_Post/Gy_Post_Excel")]
        [HttpPost]
        public object Gy_Post_Excel()
        {
            try
            {
                //获取文件名称
                var file = HttpContext.Current.Request.Files[0];
                //获取文件物理路径
                string ExcelPath = HttpContext.Current.Server.MapPath("~/" + file.FileName);
                //保存文件
                file.SaveAs(ExcelPath);
                NpoiHelper np = new NpoiHelper();
                DataSet ExcelDs = np.ReadExcel(ExcelPath, 1, 1, "0");
                //删除文件
                File.Delete(ExcelPath);
                //创建临时表
                DataTable tb2 = new DataTable("dt2");
                //添加列名
                for (int i = 0; i < ExcelDs.Tables[0].Columns.Count; i++)
                {
                    tb2.Columns.Add(ExcelDs.Tables[0].Rows[0][i].ToString());
                }
                //模板缺少列 ä½†éœ€è¦ä»Žæ•°æ®åº“中查询出来显示在页面的字段
                tb2.Columns.Add("HOrgID", typeof(Int32));//组织ID
                //添加数据
                for (int i = 1; i < ExcelDs.Tables[0].Rows.Count; i++)
                {
                    DataRow row = tb2.NewRow();
                    for (int j = 0; j < ExcelDs.Tables[0].Columns.Count; j++)
                    {
                        row[j] = ExcelDs.Tables[0].Rows[i][j].ToString();
                    }
                    tb2.Rows.Add(row);
                }
                var error = "";
                //查询没有的列
                if (!tb2.Columns.Contains("组织代码"))
                    error += "没有找到【组织代码】的标题,";
                if (!tb2.Columns.Contains("组织名称"))
                    error += "没有找到【组织名称】的标题,";
                if (!tb2.Columns.Contains("岗位"))
                    error += "没有找到【岗位名称】的标题,";
                if (!tb2.Columns.Contains("岗位代码"))
                    error += "没有找到【岗位代码】的标题,";
                if (!tb2.Columns.Contains("备注"))
                    error += "没有找到【备注】的标题,";
                if (!tb2.Columns.Contains("助记码"))
                    error += "没有找到【助记码】的标题,";
                if (error.Length > 0)
                {
                    objJsonResult.code = CodeConstant.FAIL;
                    objJsonResult.count = CountConstant.FAIL;
                    objJsonResult.Message = $"Excel模板存在错误,{error}\r\n";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                for (int i = 0; i <= tb2.Rows.Count - 1; i++)
                {
                    string HProcessName = "";
                    string HProcessNum = "";
                    string HORGNumber = "";
                    string HORGName = "";
                    HProcessName = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["岗位"].ToString());
                    HProcessNum = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["岗位代码"].ToString());
                    HORGNumber = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["组织代码"].ToString());
                    HORGName = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["组织名称"].ToString());
                    //检查物料
                    int index = i + 1;
                    if (HORGNumber != "")
                    {
                        //查询组织
                        ds = oCN.RunProcReturn("select * from Xt_ORGANIZATIONS where  HNumber='" + HORGNumber + "' and Hname='" + HORGName + "'", "Xt_ORGANIZATIONS");
                        if (ds.Tables[0].Rows.Count == 0)
                        {
                            objJsonResult.code = CodeConstant.FAIL;
                            objJsonResult.count = CountConstant.FAIL;
                            objJsonResult.Message = "第" + index + "行,组织不存在!";
                            objJsonResult.data = null;
                            return objJsonResult;
                        }
                        else
                        {
                            tb2.Rows[i]["HOrgID"] = ds.Tables[0].Rows[0]["HItemID"].ToString();
                        }
                        string HORGid = ds.Tables[0].Rows[0]["HItemID"].ToString();
                        //岗位名称
                        if (HProcessName == "")
                        {
                            objJsonResult.code = CodeConstant.FAIL;
                            objJsonResult.count = CountConstant.FAIL;
                            objJsonResult.Message = "第" + index + "行,岗位名称不能为空!";
                            objJsonResult.data = null;
                            return objJsonResult;
                        }
                        //岗位代码
                        if (HProcessNum == "")
                        {
                            objJsonResult.code = CodeConstant.FAIL;
                            objJsonResult.count = CountConstant.FAIL;
                            objJsonResult.Message = "第" + index + "行,岗位代码不能为空!";
                            objJsonResult.data = null;
                            return objJsonResult;
                        }
                    }
                    else
                    {
                        objJsonResult.code = CodeConstant.FAIL;
                        objJsonResult.count = CountConstant.FAIL;
                        objJsonResult.Message = "第" + index + "行,组织代码为空";
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                }
                objJsonResult.code = CodeConstant.SUCCEED;
                objJsonResult.count = CountConstant.SUCCEED;
                objJsonResult.Message = error;
                objJsonResult.data = tb2;
                return objJsonResult;
            }
            catch (Exception e)
            {
                objJsonResult.code = CodeConstant.FAIL;
                objJsonResult.count = CountConstant.FAIL;
                objJsonResult.Message = "Exception!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #endregion
        #region å²—位项目 å¯¼å…¥(保存)
        [Route("Gy_Post/Gy_Post_btnSave")]
        [HttpPost]
        public object Gy_Post_btnSave([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 user = sArray[1].ToString();
            try
            {
                if (!DBUtility.ClsPub.Security_Log("Gy_Post_Edit", 1, false, user))
                {
                    objJsonResult.code = CodeConstant.FAIL;
                    objJsonResult.count = CountConstant.FAIL;
                    objJsonResult.Message = "无保存权限!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                List<object> Excel = Newtonsoft.Json.JsonConvert.DeserializeObject<List<object>>(msg2);
                List<Dictionary<string, string>> list = new List<Dictionary<string, string>>();
                foreach (JObject item in Excel)
                {
                    Dictionary<string, string> dic = new Dictionary<string, string>();
                    foreach (var itm in item.Properties())
                    {
                        dic.Add(itm.Name, itm.Value.ToString());
                    }
                    list.Add(dic);
                }
                oCN.BeginTran();
                int i = 1;
                foreach (Dictionary<string, string> item in list)
                {
                    string HOrgID = item["HOrgID"].ToString();//组织ID
                    string HName = item["岗位"].ToString();
                    string HNumber = item["岗位代码"].ToString();
                    string HRemark = item["备注"].ToString();
                    string HHelpCode = item["助记码"].ToString();
                    string HUseFlag = "未检测";
                    string HShortNumber;
                    HShortNumber = DBUtility.ClsPub.GetShortNumber(HNumber);//短代码
                    if (HShortNumber.Trim() == "")
                    {
                        objJsonResult.code = CodeConstant.FAIL;
                        objJsonResult.count = CountConstant.FAIL;
                        objJsonResult.Message = "保存失败!短代码为空!";
                        objJsonResult.data = 1;
                        return objJsonResult;
                    }
                    int HEndFlag = 1;//末级标志
                    int HLevel = DBUtility.ClsPub.GetLevel(HNumber); //等级
                    if (!DBUtility.ClsPub.AllowNumber(HNumber.Trim()))
                    {
                        objJsonResult.code = CodeConstant.FAIL;
                        objJsonResult.count = CountConstant.FAIL;
                        objJsonResult.Message = "保存失败!代码中不能出现连续‘.’并且首位末位不能为‘.’!";
                        objJsonResult.data = 1;
                        return objJsonResult;
                    }
                    ds = oCN.RunProcReturn("select * from Gy_Post where HNumber='" + HNumber + "'", "Gy_Post");
                    if (ds.Tables[0].Rows.Count == 0)
                    {
                        oCN.RunProc("Insert into " + "Gy_Post" +
                    " (HNumber,HName,HHelpCode,HShortNumber,HParentID" +
                    ",HLevel,HEndFlag,HStopflag,HRemark,HMakeTime,HUSEORGID,HUseFlag,HMakeEmp,HCREATEORGID) " +
                    " Values('" + HNumber + "','" + HName + "','" + HHelpCode + "','" + HShortNumber + "'," + 0 +
                    "," + HLevel + "," + HEndFlag + "," + 0 + ",'" + HRemark + "','" + DateTime.Now + "','" + HOrgID + "','" + HUseFlag + "','" + user + "','" + HOrgID + "')");
                    }
                    else
                    {
                        oCN.RunProc("Update " + "Gy_Post" + " set " +
                        "HName='" + HName + "'" +
                        ",HShortNumber='" + HShortNumber + "'" +
                        ",HHelpCode='" + HHelpCode + "'" +
                        ",HModifyTime='" + DateTime.Now + "'" +
                        ",HUSEORGID='" + HOrgID + "'" +
                        ",HModifyEmp ='" + user + "'" +
                        ",HRemark= '" + HRemark + "' Where HNumber='" + HNumber + "'");
                    }
                    i++;
                }
                oCN.Commit();
                objJsonResult.code = CodeConstant.SUCCEED;
                objJsonResult.count = CountConstant.SUCCEED;
                objJsonResult.Message = "导入成功!";
                objJsonResult.data = null;
                return objJsonResult;
            }
            catch (Exception e)
            {
                LogService.Write(e);
                objJsonResult.code = CodeConstant.FAIL;
                objJsonResult.count = CountConstant.FAIL;
                objJsonResult.Message = "Exception!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #endregion
        #endregion
        #region  è°ƒæ‹¨ç±»åž‹  è®¾ç½®åˆ—表/保存/编辑/删除方法
@@ -10590,6 +11238,274 @@
        }
        #endregion
        #region é˜²é”™è£…ç½® æ–‡ä»¶å¯¼å…¥ä¿å­˜
        #region é˜²é”™è£…ç½® æ–‡ä»¶ä¸Šä¼ 
        [Route("Gy_PreventErrMould/Gy_PreventErrMould_Excel")]
        [HttpPost]
        public object Gy_PreventErrMould_Excel()
        {
            try
            {
                //获取文件名称
                var file = HttpContext.Current.Request.Files[0];
                //获取文件物理路径
                string ExcelPath = HttpContext.Current.Server.MapPath("~/" + file.FileName);
                //保存文件
                file.SaveAs(ExcelPath);
                NpoiHelper np = new NpoiHelper();
                DataSet ExcelDs = np.ReadExcel(ExcelPath, 1, 1, "0");
                //删除文件
                File.Delete(ExcelPath);
                //创建临时表
                DataTable tb2 = new DataTable("dt2");
                //添加列名
                for (int i = 0; i < ExcelDs.Tables[0].Columns.Count; i++)
                {
                    tb2.Columns.Add(ExcelDs.Tables[0].Rows[0][i].ToString());
                }
                //模板缺少列 ä½†éœ€è¦ä»Žæ•°æ®åº“中查询出来显示在页面的字段
                tb2.Columns.Add("HOrgID", typeof(Int32));//组织ID
                //添加数据
                for (int i = 1; i < ExcelDs.Tables[0].Rows.Count; i++)
                {
                    DataRow row = tb2.NewRow();
                    for (int j = 0; j < ExcelDs.Tables[0].Columns.Count; j++)
                    {
                        row[j] = ExcelDs.Tables[0].Rows[i][j].ToString();
                    }
                    tb2.Rows.Add(row);
                }
                var error = "";
                //查询没有的列
                if (!tb2.Columns.Contains("组织代码"))
                    error += "没有找到【组织代码】的标题,";
                if (!tb2.Columns.Contains("组织名称"))
                    error += "没有找到【组织名称】的标题,";
                if (!tb2.Columns.Contains("防错装置名称"))
                    error += "没有找到【防错装置名称】的标题,";
                if (!tb2.Columns.Contains("防错装置代码"))
                    error += "没有找到【防错装置代码】的标题,";
                if (!tb2.Columns.Contains("备注"))
                    error += "没有找到【备注】的标题,";
                if (!tb2.Columns.Contains("助记码"))
                    error += "没有找到【助记码】的标题,";
                if (error.Length > 0)
                {
                    objJsonResult.code = CodeConstant.FAIL;
                    objJsonResult.count = CountConstant.FAIL;
                    objJsonResult.Message = $"Excel模板存在错误,{error}\r\n";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                for (int i = 0; i <= tb2.Rows.Count - 1; i++)
                {
                    string HProcessName = "";
                    string HProcessNum = "";
                    string HORGNumber = "";
                    string HORGName = "";
                    HProcessName = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["防错装置名称"].ToString());
                    HProcessNum = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["防错装置代码"].ToString());
                    HORGNumber = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["组织代码"].ToString());
                    HORGName = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["组织名称"].ToString());
                    //检查物料
                    int index = i + 1;
                    if (HORGNumber != "")
                    {
                        //查询组织
                        ds = oCN.RunProcReturn("select * from Xt_ORGANIZATIONS where  HNumber='" + HORGNumber + "' and Hname='" + HORGName + "'", "Xt_ORGANIZATIONS");
                        if (ds.Tables[0].Rows.Count == 0)
                        {
                            objJsonResult.code = CodeConstant.FAIL;
                            objJsonResult.count = CountConstant.FAIL;
                            objJsonResult.Message = "第" + index + "行,组织不存在!";
                            objJsonResult.data = null;
                            return objJsonResult;
                        }
                        else
                        {
                            tb2.Rows[i]["HOrgID"] = ds.Tables[0].Rows[0]["HItemID"].ToString();
                        }
                        string HORGid = ds.Tables[0].Rows[0]["HItemID"].ToString();
                        //防错装置名称
                        if (HProcessName == "")
                        {
                            objJsonResult.code = CodeConstant.FAIL;
                            objJsonResult.count = CountConstant.FAIL;
                            objJsonResult.Message = "第" + index + "行,防错装置名称不能为空!";
                            objJsonResult.data = null;
                            return objJsonResult;
                        }
                        //防错装置代码
                        if (HProcessNum == "")
                        {
                            objJsonResult.code = CodeConstant.FAIL;
                            objJsonResult.count = CountConstant.FAIL;
                            objJsonResult.Message = "第" + index + "行,防错装置代码不能为空!";
                            objJsonResult.data = null;
                            return objJsonResult;
                        }
                    }
                    else
                    {
                        objJsonResult.code = CodeConstant.FAIL;
                        objJsonResult.count = CountConstant.FAIL;
                        objJsonResult.Message = "第" + index + "行,组织代码为空";
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                }
                objJsonResult.code = CodeConstant.SUCCEED;
                objJsonResult.count = CountConstant.SUCCEED;
                objJsonResult.Message = error;
                objJsonResult.data = tb2;
                return objJsonResult;
            }
            catch (Exception e)
            {
                objJsonResult.code = CodeConstant.FAIL;
                objJsonResult.count = CountConstant.FAIL;
                objJsonResult.Message = "Exception!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #endregion
        #region é˜²é”™è£…置项目 å¯¼å…¥(保存)
        [Route("Gy_PreventErrMould/Gy_PreventErrMould_btnSave")]
        [HttpPost]
        public object Gy_PreventErrMould_btnSave([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 user = sArray[1].ToString();
            try
            {
                if (!DBUtility.ClsPub.Security_Log("Gy_PreventErrMould_Edit", 1, false, user))
                {
                    objJsonResult.code = CodeConstant.FAIL;
                    objJsonResult.count = CountConstant.FAIL;
                    objJsonResult.Message = "无保存权限!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                List<object> Excel = Newtonsoft.Json.JsonConvert.DeserializeObject<List<object>>(msg2);
                List<Dictionary<string, string>> list = new List<Dictionary<string, string>>();
                foreach (JObject item in Excel)
                {
                    Dictionary<string, string> dic = new Dictionary<string, string>();
                    foreach (var itm in item.Properties())
                    {
                        dic.Add(itm.Name, itm.Value.ToString());
                    }
                    list.Add(dic);
                }
                oCN.BeginTran();
                int i = 1;
                foreach (Dictionary<string, string> item in list)
                {
                    string HOrgID = item["HOrgID"].ToString();//组织ID
                    string HName = item["防错装置名称"].ToString();
                    string HNumber = item["防错装置代码"].ToString();
                    string HRemark = item["备注"].ToString();
                    string HHelpCode = item["助记码"].ToString();
                    string HShortNumber;
                    HShortNumber = DBUtility.ClsPub.GetShortNumber(HNumber);//短代码
                    if (HShortNumber.Trim() == "")
                    {
                        objJsonResult.code = CodeConstant.FAIL;
                        objJsonResult.count = CountConstant.FAIL;
                        objJsonResult.Message = "保存失败!短代码为空!";
                        objJsonResult.data = 1;
                        return objJsonResult;
                    }
                    int HEndFlag = 1;//末级标志
                    int HLevel = DBUtility.ClsPub.GetLevel(HNumber); //等级
                    if (!DBUtility.ClsPub.AllowNumber(HNumber.Trim()))
                    {
                        objJsonResult.code = CodeConstant.FAIL;
                        objJsonResult.count = CountConstant.FAIL;
                        objJsonResult.Message = "保存失败!代码中不能出现连续‘.’并且首位末位不能为‘.’!";
                        objJsonResult.data = 1;
                        return objJsonResult;
                    }
                    ds = oCN.RunProcReturn("select * from Gy_PreventErrMould where HNumber='" + HNumber + "'", "Gy_PreventErrMould");
                    if (ds.Tables[0].Rows.Count == 0)
                    {
                        oCN.RunProc("Insert into " + "Gy_PreventErrMould" +
                    " (HNumber,HName,HHelpCode,HShortNumber,HParentID" +
                    ",HLevel,HEndFlag,HStopflag,HRemark,HMakeTime,HUSEORGID,HUseFlag,HMakeEmp,HCREATEORGID) " +
                    " Values('" + HNumber + "','" + HName + "','" + HHelpCode + "','" + HShortNumber + "'," + 0 +
                    "," + HLevel + "," + HEndFlag + "," + 0 + ",'" + HRemark + "','" + DateTime.Now + "','" + HOrgID + "','" + "未检测" + "','" + user + "','" + HOrgID + "')");
                    }
                    else
                    {
                        oCN.RunProc("Update " + "Gy_PreventErrMould" + " set " +
                        "HName='" + HName + "'" +
                        ",HShortNumber='" + HShortNumber + "'" +
                        ",HHelpCode='" + HHelpCode + "'" +
                        ",HModifyTime='" + DateTime.Now + "'" +
                        ",HUSEORGID='" + HOrgID + "'" +
                        ",HModifyEmp ='" + user + "'" +
                        ",HRemark= '" + HRemark + "' Where HNumber='" + HNumber + "'");
                    }
                    i++;
                }
                oCN.Commit();
                objJsonResult.code = CodeConstant.SUCCEED;
                objJsonResult.count = CountConstant.SUCCEED;
                objJsonResult.Message = "导入成功!";
                objJsonResult.data = null;
                return objJsonResult;
            }
            catch (Exception e)
            {
                LogService.Write(e);
                objJsonResult.code = CodeConstant.FAIL;
                objJsonResult.count = CountConstant.FAIL;
                objJsonResult.Message = "Exception!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #endregion
        #endregion
        #region  é˜²é”™è£…ç½®  è®¾ç½®åˆ—表/保存/编辑/删除方法
        /// <summary>
        ///  é˜²é”™è£…ç½® ä¿å­˜
@@ -11361,7 +12277,7 @@
            try
            {
                //删除权限
                if (!DBUtility.ClsPub.Security_Log("Gy_CheckNoteItem_Drop", 1, false, user))
                if (!DBUtility.ClsPub.Security_Log("Gy_CheckNoteItem_Delete", 1, false, user))
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
@@ -11400,6 +12316,279 @@
                return objJsonResult;
            }
        }
        #endregion
        #region å¯åŠ¨æ£€æŸ¥é¡¹ç›® æ–‡ä»¶å¯¼å…¥ä¿å­˜
        #region å¯åŠ¨æ£€æŸ¥é¡¹ç›® æ–‡ä»¶ä¸Šä¼ 
        [Route("Gy_CheckNoteItem/Gy_CheckNoteItem_Excel")]
        [HttpPost]
        public object Gy_CheckNoteItem_Excel()
        {
            try
            {
                //获取文件名称
                var file = HttpContext.Current.Request.Files[0];
                //获取文件物理路径
                string ExcelPath = HttpContext.Current.Server.MapPath("~/" + file.FileName);
                //保存文件
                file.SaveAs(ExcelPath);
                NpoiHelper np = new NpoiHelper();
                DataSet ExcelDs = np.ReadExcel(ExcelPath, 1, 1, "0");
                //删除文件
                File.Delete(ExcelPath);
                //创建临时表
                DataTable tb2 = new DataTable("dt2");
                //添加列名
                for (int i = 0; i < ExcelDs.Tables[0].Columns.Count; i++)
                {
                    tb2.Columns.Add(ExcelDs.Tables[0].Rows[0][i].ToString());
                }
                //模板缺少列 ä½†éœ€è¦ä»Žæ•°æ®åº“中查询出来显示在页面的字段
                tb2.Columns.Add("HOrgID", typeof(Int32));//组织ID
                //添加数据
                for (int i = 1; i < ExcelDs.Tables[0].Rows.Count; i++)
                {
                    DataRow row = tb2.NewRow();
                    for (int j = 0; j < ExcelDs.Tables[0].Columns.Count; j++)
                    {
                        row[j] = ExcelDs.Tables[0].Rows[i][j].ToString();
                    }
                    tb2.Rows.Add(row);
                }
                var error = "";
                //查询没有的列
                if (!tb2.Columns.Contains("组织代码"))
                    error += "没有找到【组织代码】的标题,";
                if (!tb2.Columns.Contains("组织名称"))
                    error += "没有找到【组织名称】的标题,";
                if (!tb2.Columns.Contains("启动检查项目名称"))
                    error += "没有找到【启动检查项目名称】的标题,";
                if (!tb2.Columns.Contains("启动检查项目代码"))
                    error += "没有找到【启动检查项目代码】的标题,";
                if (!tb2.Columns.Contains("备注"))
                    error += "没有找到【备注】的标题,";
                if (!tb2.Columns.Contains("助记码"))
                    error += "没有找到【助记码】的标题,";
                if (error.Length > 0)
                {
                    objJsonResult.code = CodeConstant.FAIL;
                    objJsonResult.count = CountConstant.FAIL;
                    objJsonResult.Message = $"Excel模板存在错误,{error}\r\n";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                for (int i = 0; i <= tb2.Rows.Count - 1; i++)
                {
                    string HProcessName = "";
                    string HProcessNum = "";
                    string HORGNumber = "";
                    string HORGName = "";
                    HProcessName = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["启动检查项目名称"].ToString());
                    HProcessNum = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["启动检查项目代码"].ToString());
                    HORGNumber = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["组织代码"].ToString());
                    HORGName = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["组织名称"].ToString());
                    //检查物料
                    int index = i + 1;
                    if (HORGNumber != "")
                    {
                        //查询组织
                        ds = oCN.RunProcReturn("select * from Xt_ORGANIZATIONS where  HNumber='" + HORGNumber + "' and Hname='" + HORGName + "'", "Xt_ORGANIZATIONS");
                        if (ds.Tables[0].Rows.Count == 0)
                        {
                            objJsonResult.code = CodeConstant.FAIL;
                            objJsonResult.count = CountConstant.FAIL;
                            objJsonResult.Message = "第" + index + "行,组织不存在!";
                            objJsonResult.data = null;
                            return objJsonResult;
                        }
                        else
                        {
                            tb2.Rows[i]["HOrgID"] = ds.Tables[0].Rows[0]["HItemID"].ToString();
                        }
                        string HORGid = ds.Tables[0].Rows[0]["HItemID"].ToString();
                        //启动检查项目名称
                        if (HProcessName == "")
                        {
                            objJsonResult.code = CodeConstant.FAIL;
                            objJsonResult.count = CountConstant.FAIL;
                            objJsonResult.Message = "第" + index + "行,启动检查项目名称不能为空!";
                            objJsonResult.data = null;
                            return objJsonResult;
                        }
                        //启动检查项目代码
                        if (HProcessNum == "")
                        {
                            objJsonResult.code = CodeConstant.FAIL;
                            objJsonResult.count = CountConstant.FAIL;
                            objJsonResult.Message = "第" + index + "行,启动检查项目代码不能为空!";
                            objJsonResult.data = null;
                            return objJsonResult;
                        }
                    }
                    else
                    {
                        objJsonResult.code = CodeConstant.FAIL;
                        objJsonResult.count = CountConstant.FAIL;
                        objJsonResult.Message = "第" + index + "行,组织代码为空";
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                }
                objJsonResult.code = CodeConstant.SUCCEED;
                objJsonResult.count = CountConstant.SUCCEED;
                objJsonResult.Message = error;
                objJsonResult.data = tb2;
                return objJsonResult;
            }
            catch (Exception e)
            {
                objJsonResult.code = CodeConstant.FAIL;
                objJsonResult.count = CountConstant.FAIL;
                objJsonResult.Message = "Exception!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #endregion
        #region å¯åŠ¨æ£€æŸ¥é¡¹ç›®é¡¹ç›® å¯¼å…¥(保存)
        [Route("Gy_CheckNoteItem/Gy_CheckNoteItem_btnSave")]
        [HttpPost]
        public object Gy_CheckNoteItem_btnSave([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 user = sArray[1].ToString();
            try
            {
                if (!DBUtility.ClsPub.Security_Log("Gy_CheckNoteItem_Edit", 1, false, user))
                {
                    objJsonResult.code = CodeConstant.FAIL;
                    objJsonResult.count = CountConstant.FAIL;
                    objJsonResult.Message = "无保存权限!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                List<object> Excel = Newtonsoft.Json.JsonConvert.DeserializeObject<List<object>>(msg2);
                List<Dictionary<string, string>> list = new List<Dictionary<string, string>>();
                foreach (JObject item in Excel)
                {
                    Dictionary<string, string> dic = new Dictionary<string, string>();
                    foreach (var itm in item.Properties())
                    {
                        dic.Add(itm.Name, itm.Value.ToString());
                    }
                    list.Add(dic);
                }
                oCN.BeginTran();
                int i = 1;
                foreach (Dictionary<string, string> item in list)
                {
                    string HOrgID = item["HOrgID"].ToString();//组织ID
                    string HName = item["启动检查项目名称"].ToString();
                    string HNumber = item["启动检查项目代码"].ToString();
                    string HRemark = item["备注"].ToString();
                    string HHelpCode = item["助记码"].ToString();
                    string HShortNumber;
                    HShortNumber = DBUtility.ClsPub.GetShortNumber(HNumber);//短代码
                    if (HShortNumber.Trim() == "")
                    {
                        objJsonResult.code = CodeConstant.FAIL;
                        objJsonResult.count = CountConstant.FAIL;
                        objJsonResult.Message = "保存失败!短代码为空!";
                        objJsonResult.data = 1;
                        return objJsonResult;
                    }
                    int HEndFlag = 1;//末级标志
                    int HLevel = DBUtility.ClsPub.GetLevel(HNumber); //等级
                    string HUseFlag = "未检测";
                    if (!DBUtility.ClsPub.AllowNumber(HNumber.Trim()))
                    {
                        objJsonResult.code = CodeConstant.FAIL;
                        objJsonResult.count = CountConstant.FAIL;
                        objJsonResult.Message = "保存失败!代码中不能出现连续‘.’并且首位末位不能为‘.’!";
                        objJsonResult.data = 1;
                        return objJsonResult;
                    }
                    ds = oCN.RunProcReturn("select * from Gy_CheckNoteItem where HNumber='" + HNumber + "'", "Gy_CheckNoteItem");
                    if (ds.Tables[0].Rows.Count == 0)
                    {
                        oCN.RunProc("Insert into " + "Gy_CheckNoteItem" +
                    " (HNumber,HName,HHelpCode,HShortNumber,HParentID" +
                    ",HLevel,HEndFlag,HStopflag,HRemark,HMakeTime,HUSEORGID,HUseFlag,HMakeEmp,HCREATEORGID,HCheckPostID) " +
                    " Values('" + HNumber + "','" + HName + "','" + HHelpCode + "','" + HShortNumber + "'," + 0 +
                    "," + HLevel + "," + HEndFlag + "," + 0 + ",'" + HRemark + "','" + DateTime.Now + "','" + HOrgID + "','" + HUseFlag + "','" + user + "','" + HOrgID + "','" + 0 + "')");
                    }
                    else
                    {
                        oCN.RunProc("Update " + "Gy_CheckNoteItem" + " set " +
                        "HName='" + HName + "'" +
                        ",HShortNumber='" + HShortNumber + "'" +
                        ",HHelpCode='" + HHelpCode + "'" +
                        ",HModifyTime='" + DateTime.Now + "'" +
                        ",HUSEORGID='" + HOrgID + "'" +
                        ",HModifyEmp ='" + user + "'" +
                        ",HRemark= '" + HRemark + "' Where HNumber='" + HNumber + "'");
                    }
                    i++;
                }
                oCN.Commit();
                objJsonResult.code = CodeConstant.SUCCEED;
                objJsonResult.count = CountConstant.SUCCEED;
                objJsonResult.Message = "导入成功!";
                objJsonResult.data = null;
                return objJsonResult;
            }
            catch (Exception e)
            {
                LogService.Write(e);
                objJsonResult.code = CodeConstant.FAIL;
                objJsonResult.count = CountConstant.FAIL;
                objJsonResult.Message = "Exception!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #endregion
        #endregion
        #region  ä¼‘息日  è®¾ç½®åˆ—表/保存/编辑/删除方法
@@ -13533,6 +14722,61 @@
                return objjson;
            }
        }
        #region æ¡ç ä¸»æ¡£åˆ†é¡µåˆ—表
        [Route("Gy_BarCodeBillList/page")]
        [HttpGet]
        public json Gy_BarCodeBillListPage(string sWhere, string user, int page, int size)
        {
            DataSet ds;
            json res = new json();
            try
            {
                List<object> columnNameList = new List<object>();
                //判断是否有查询权限
                if (!DBUtility.ClsPub.Security_Log("Gy_BarCodeBill_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("exec h_p_IF_BarCodeBillList " + page + "," + size + ",''", "h_p_IF_BarCodeBillList");
                }
                else
                {
                    ds = oCN.RunProcReturn("exec h_p_IF_BarCodeBillList " + page + "," + size + ",'" + sWhere + "'", "h_p_IF_BarCodeBillList");
                }
                //添加列名
                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));//获取到DataColumn列对象的列名
                }
                res.code = CodeConstant.SUCCEED;
                res.count = int.Parse(ds.Tables[1].Rows[0]["count"].ToString());
                res.Message = "Sucess!";
                res.list = columnNameList;
                res.data = ds.Tables[0];
                return res;
            }
            catch (Exception e)
            {
                res.code = CodeConstant.FAIL;
                res.count = CountConstant.FAIL;
                res.Message = "Exception!" + e.ToString();
                res.data = null;
                return objJsonResult;
            }
        }
        #endregion
        /// <summary>
        /// æ ¹æ®è®¾å¤‡ä¿å…»è§„程显示设备保养规程项目
        /// </summary>
WebAPI/Controllers/Æ·ÖʹÜÀí/ÖÊÁ¿±¨±í/QC_QualityReportsController.cs
@@ -1387,16 +1387,15 @@
            {
                List<object> columnNameList = new List<object>();
                if (sWhere == null || sWhere.Equals(""))
                {
                    ds = oCN.RunProcReturn("select * from h_v_Sb_EquipMentCollectionTechParam order by é‡‡é›†æ—¥æœŸ desc", "h_v_Sb_EquipMentCollectionTechParam");
                }
                else
                {
                    string sql1 = "select * from h_v_Sb_EquipMentCollectionTechParam where 1 = 1 ";
                    string sql = sql1 + sWhere + " order by é‡‡é›†æ—¥æœŸ ";
                    ds = oCN.RunProcReturn(sql, "h_v_Sb_EquipMentCollectionTechParam");
                }
                Dictionary<object, object> dic = Newtonsoft.Json.JsonConvert.DeserializeObject<Dictionary<object, object>>(sWhere);
                string HEquipNumber = dic["HEquipNumber"].ToString();//设备编码
                string HTechParamName = dic["HTechParamName"].ToString();//工艺产数
                string HDate = dic["HDate"].ToString();//采集日期
                string HDate1 = dic["HDate1"].ToString();//采集日期
                string HEquipType = dic["HEquipType"].ToString();//查询类型
                ds = oCN.RunProcReturn("exec h_p_Sb_EquipMentCollectionTechParam '"+ HEquipNumber + "','"+ HTechParamName + "','"+ HDate + "','"+ HDate1 + "','"+ HEquipType + "'", "h_p_Sb_EquipMentCollectionTechParam");
                //添加列名
                foreach (DataColumn col in ds.Tables[0].Columns)
WebAPI/Controllers/»ù´¡×ÊÁÏ/»ù´¡×ÊÁÏ/Gy_ConkReasonBillController.cs
@@ -8,7 +8,10 @@
using System.Net.Http;
using System.Web.Http;
using WebAPI.Models;
using System.Web;
using WebAPI.Controllers.SCGL.日计划管理;
using System.IO;
using SyntacticSugar.constant;
namespace WebAPI.Controllers.基础资料.基础资料
{
    public class Gy_ConkReasonBillController : ApiController
@@ -284,7 +287,6 @@
        #endregion
        #region [故障原因删除功能]
        [Route("Gy_ConkReasonBill/set_DeleteBill")]
        [HttpGet]
@@ -487,5 +489,279 @@
            }
        }
        #endregion
        #region æ•…障原因 æ–‡ä»¶å¯¼å…¥ä¿å­˜
        #region æ•…障原因 æ–‡ä»¶ä¸Šä¼ 
        [Route("Gy_ConkReason/Gy_ConkReason_Excel")]
        [HttpPost]
        public object Gy_ConkReason_Excel()
        {
            try
            {
                //获取文件名称
                var file = HttpContext.Current.Request.Files[0];
                //获取文件物理路径
                string ExcelPath = HttpContext.Current.Server.MapPath("~/" + file.FileName);
                //保存文件
                file.SaveAs(ExcelPath);
                NpoiHelper np = new NpoiHelper();
                DataSet ExcelDs = np.ReadExcel(ExcelPath, 1, 1, "0");
                //删除文件
                File.Delete(ExcelPath);
                //创建临时表
                DataTable tb2 = new DataTable("dt2");
                //添加列名
                for (int i = 0; i < ExcelDs.Tables[0].Columns.Count; i++)
                {
                    tb2.Columns.Add(ExcelDs.Tables[0].Rows[0][i].ToString());
                }
                //模板缺少列 ä½†éœ€è¦ä»Žæ•°æ®åº“中查询出来显示在页面的字段
                tb2.Columns.Add("HOrgID", typeof(Int32));//组织ID
                //添加数据
                for (int i = 1; i < ExcelDs.Tables[0].Rows.Count; i++)
                {
                    DataRow row = tb2.NewRow();
                    for (int j = 0; j < ExcelDs.Tables[0].Columns.Count; j++)
                    {
                        row[j] = ExcelDs.Tables[0].Rows[i][j].ToString();
                    }
                    tb2.Rows.Add(row);
                }
                var error = "";
                //查询没有的列
                if (!tb2.Columns.Contains("组织代码"))
                    error += "没有找到【组织代码】的标题,";
                if (!tb2.Columns.Contains("组织名称"))
                    error += "没有找到【组织名称】的标题,";
                if (!tb2.Columns.Contains("故障原因"))
                    error += "没有找到【故障原因名称】的标题,";
                if (!tb2.Columns.Contains("故障原因代码"))
                    error += "没有找到【故障原因代码】的标题,";
                if (!tb2.Columns.Contains("备注"))
                    error += "没有找到【备注】的标题,";
                if (!tb2.Columns.Contains("助记码"))
                    error += "没有找到【助记码】的标题,";
                if (error.Length > 0)
                {
                    objJsonResult.code = CodeConstant.FAIL;
                    objJsonResult.count = CountConstant.FAIL;
                    objJsonResult.Message = $"Excel模板存在错误,{error}\r\n";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                for (int i = 0; i <= tb2.Rows.Count - 1; i++)
                {
                    string HProcessName = "";
                    string HProcessNum = "";
                    string HORGNumber = "";
                    string HORGName = "";
                    HProcessName = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["故障原因"].ToString());
                    HProcessNum = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["故障原因代码"].ToString());
                    HORGNumber = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["组织代码"].ToString());
                    HORGName = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["组织名称"].ToString());
                    //检查物料
                    int index = i + 1;
                    if (HORGNumber != "")
                    {
                        //查询组织
                        ds = oCn.RunProcReturn("select * from Xt_ORGANIZATIONS where  HNumber='" + HORGNumber + "' and Hname='" + HORGName + "'", "Xt_ORGANIZATIONS");
                        if (ds.Tables[0].Rows.Count == 0)
                        {
                            objJsonResult.code = CodeConstant.FAIL;
                            objJsonResult.count = CountConstant.FAIL;
                            objJsonResult.Message = "第" + index + "行,组织不存在!";
                            objJsonResult.data = null;
                            return objJsonResult;
                        }
                        else
                        {
                            tb2.Rows[i]["HOrgID"] = ds.Tables[0].Rows[0]["HItemID"].ToString();
                        }
                        string HORGid = ds.Tables[0].Rows[0]["HItemID"].ToString();
                        //故障原因名称
                        if (HProcessName == "")
                        {
                            objJsonResult.code = CodeConstant.FAIL;
                            objJsonResult.count = CountConstant.FAIL;
                            objJsonResult.Message = "第" + index + "行,故障原因名称不能为空!";
                            objJsonResult.data = null;
                            return objJsonResult;
                        }
                        //故障原因代码
                        if (HProcessNum == "")
                        {
                            objJsonResult.code = CodeConstant.FAIL;
                            objJsonResult.count = CountConstant.FAIL;
                            objJsonResult.Message = "第" + index + "行,故障原因代码不能为空!";
                            objJsonResult.data = null;
                            return objJsonResult;
                        }
                    }
                    else
                    {
                        objJsonResult.code = CodeConstant.FAIL;
                        objJsonResult.count = CountConstant.FAIL;
                        objJsonResult.Message = "第" + index + "行,组织代码为空";
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                }
                objJsonResult.code = CodeConstant.SUCCEED;
                objJsonResult.count = CountConstant.SUCCEED;
                objJsonResult.Message = error;
                objJsonResult.data = tb2;
                return objJsonResult;
            }
            catch (Exception e)
            {
                objJsonResult.code = CodeConstant.FAIL;
                objJsonResult.count = CountConstant.FAIL;
                objJsonResult.Message = "Exception!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #endregion
        #region æ•…障原因项目 å¯¼å…¥(保存)
        [Route("Gy_ConkReason/Gy_ConkReason_btnSave")]
        [HttpPost]
        public object Gy_ConkReason_btnSave([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 user = sArray[1].ToString();
            try
            {
                if (!DBUtility.ClsPub.Security_Log("Gy_ConkReason_Edit", 1, false, user))
                {
                    objJsonResult.code = CodeConstant.FAIL;
                    objJsonResult.count = CountConstant.FAIL;
                    objJsonResult.Message = "无保存权限!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                List<object> Excel = Newtonsoft.Json.JsonConvert.DeserializeObject<List<object>>(msg2);
                List<Dictionary<string, string>> list = new List<Dictionary<string, string>>();
                foreach (JObject item in Excel)
                {
                    Dictionary<string, string> dic = new Dictionary<string, string>();
                    foreach (var itm in item.Properties())
                    {
                        dic.Add(itm.Name, itm.Value.ToString());
                    }
                    list.Add(dic);
                }
                oCn.BeginTran();
                int i = 1;
                foreach (Dictionary<string, string> item in list)
                {
                    string HOrgID = item["HOrgID"].ToString();//组织ID
                    string HName = item["故障原因"].ToString();
                    string HNumber = item["故障原因代码"].ToString();
                    string HRemark = item["备注"].ToString();
                    string HHelpCode = item["助记码"].ToString();
                    string HUseFlag = "未检测";
                    string HShortNumber;
                    HShortNumber = DBUtility.ClsPub.GetShortNumber(HNumber);//短代码
                    if (HShortNumber.Trim() == "")
                    {
                        objJsonResult.code = CodeConstant.FAIL;
                        objJsonResult.count = CountConstant.FAIL;
                        objJsonResult.Message = "保存失败!短代码为空!";
                        objJsonResult.data = 1;
                        return objJsonResult;
                    }
                    int HEndFlag = 1;//末级标志
                    int HLevel = DBUtility.ClsPub.GetLevel(HNumber); //等级
                    if (!DBUtility.ClsPub.AllowNumber(HNumber.Trim()))
                    {
                        objJsonResult.code = CodeConstant.FAIL;
                        objJsonResult.count = CountConstant.FAIL;
                        objJsonResult.Message = "保存失败!代码中不能出现连续‘.’并且首位末位不能为‘.’!";
                        objJsonResult.data = 1;
                        return objJsonResult;
                    }
                    ds = oCn.RunProcReturn("select * from Gy_ConkReason where HNumber='" + HNumber + "'", "Gy_ConkReason");
                    if (ds.Tables[0].Rows.Count == 0)
                    {
                        oCn.RunProc("Insert into Gy_ConkReason " +
                    " (HNumber,HName,HHelpCode,HShortNumber,HParentID" +
                    ",HLevel,HEndFlag,HStopflag,HRemark,HUseFlag,HMakeTime,HMakeEmp,HExplanation,HConkTypeID) " +
                    " Values('" + HNumber + "','" + HName + "','" + HHelpCode + "','" + HShortNumber + "'," + 0 +
                    "," + HLevel + "," + HEndFlag + "," + 0 + ",'" + HRemark +
                    "','" + HUseFlag + "',getdate(),'" + user + "','" + "" + "',0" +
                    ")", ref DBUtility.ClsPub.sExeReturnInfo);
                    }
                    else
                    {
                        oCn.RunProc("UpDate Gy_ConkReason set  " +
                    //固定赋值===============
                    "HName='" + HName + "'" +
                    ",HShortNumber='" + HShortNumber + "'" +
                    ",HHelpCode='" + HHelpCode + "'" +
                    ",HRemark='" + HRemark + "'" +
                    ",HModifyTime=getdate()" +
                    ",HModifyEmp='" + user + "'" +
                    " where HNumber='" + HNumber + "'");
                    }
                    i++;
                }
                oCn.Commit();
                objJsonResult.code = CodeConstant.SUCCEED;
                objJsonResult.count = CountConstant.SUCCEED;
                objJsonResult.Message = "导入成功!";
                objJsonResult.data = null;
                return objJsonResult;
            }
            catch (Exception e)
            {
                LogService.Write(e);
                objJsonResult.code = CodeConstant.FAIL;
                objJsonResult.count = CountConstant.FAIL;
                objJsonResult.Message = "Exception!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #endregion
        #endregion
    }
}
WebAPI/Controllers/»ù´¡×ÊÁÏ/»ù´¡×ÊÁÏ/Gy_DisposeWayController.cs
@@ -10,7 +10,10 @@
using System.Web.Http;
using System.Windows.Forms;
using WebAPI.Models;
using System.Web;
using WebAPI.Controllers.SCGL.日计划管理;
using System.IO;
using SyntacticSugar.constant;
namespace WebAPI.Controllers
{
    public class Gy_DisposeWayController : ApiController
@@ -432,5 +435,279 @@
        }
        #endregion
        #region å¤„理方案 æ–‡ä»¶å¯¼å…¥ä¿å­˜
        #region å¤„理方案 æ–‡ä»¶ä¸Šä¼ 
        [Route("Gy_DisposeWay/Gy_DisposeWay_Excel")]
        [HttpPost]
        public object Gy_DisposeWay_Excel()
        {
            try
            {
                //获取文件名称
                var file = HttpContext.Current.Request.Files[0];
                //获取文件物理路径
                string ExcelPath = HttpContext.Current.Server.MapPath("~/" + file.FileName);
                //保存文件
                file.SaveAs(ExcelPath);
                NpoiHelper np = new NpoiHelper();
                DataSet ExcelDs = np.ReadExcel(ExcelPath, 1, 1, "0");
                //删除文件
                File.Delete(ExcelPath);
                //创建临时表
                DataTable tb2 = new DataTable("dt2");
                //添加列名
                for (int i = 0; i < ExcelDs.Tables[0].Columns.Count; i++)
                {
                    tb2.Columns.Add(ExcelDs.Tables[0].Rows[0][i].ToString());
                }
                //模板缺少列 ä½†éœ€è¦ä»Žæ•°æ®åº“中查询出来显示在页面的字段
                tb2.Columns.Add("HOrgID", typeof(Int32));//组织ID
                //添加数据
                for (int i = 1; i < ExcelDs.Tables[0].Rows.Count; i++)
                {
                    DataRow row = tb2.NewRow();
                    for (int j = 0; j < ExcelDs.Tables[0].Columns.Count; j++)
                    {
                        row[j] = ExcelDs.Tables[0].Rows[i][j].ToString();
                    }
                    tb2.Rows.Add(row);
                }
                var error = "";
                //查询没有的列
                if (!tb2.Columns.Contains("组织代码"))
                    error += "没有找到【组织代码】的标题,";
                if (!tb2.Columns.Contains("组织名称"))
                    error += "没有找到【组织名称】的标题,";
                if (!tb2.Columns.Contains("处理方案"))
                    error += "没有找到【处理方案名称】的标题,";
                if (!tb2.Columns.Contains("处理方案代码"))
                    error += "没有找到【处理方案代码】的标题,";
                if (!tb2.Columns.Contains("备注"))
                    error += "没有找到【备注】的标题,";
                if (!tb2.Columns.Contains("助记码"))
                    error += "没有找到【助记码】的标题,";
                if (error.Length > 0)
                {
                    objJsonResult.code = CodeConstant.FAIL;
                    objJsonResult.count = CountConstant.FAIL;
                    objJsonResult.Message = $"Excel模板存在错误,{error}\r\n";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                for (int i = 0; i <= tb2.Rows.Count - 1; i++)
                {
                    string HProcessName = "";
                    string HProcessNum = "";
                    string HORGNumber = "";
                    string HORGName = "";
                    HProcessName = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["处理方案"].ToString());
                    HProcessNum = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["处理方案代码"].ToString());
                    HORGNumber = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["组织代码"].ToString());
                    HORGName = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["组织名称"].ToString());
                    //检查物料
                    int index = i + 1;
                    if (HORGNumber != "")
                    {
                        //查询组织
                        ds = oCN.RunProcReturn("select * from Xt_ORGANIZATIONS where  HNumber='" + HORGNumber + "' and Hname='" + HORGName + "'", "Xt_ORGANIZATIONS");
                        if (ds.Tables[0].Rows.Count == 0)
                        {
                            objJsonResult.code = CodeConstant.FAIL;
                            objJsonResult.count = CountConstant.FAIL;
                            objJsonResult.Message = "第" + index + "行,组织不存在!";
                            objJsonResult.data = null;
                            return objJsonResult;
                        }
                        else
                        {
                            tb2.Rows[i]["HOrgID"] = ds.Tables[0].Rows[0]["HItemID"].ToString();
                        }
                        string HORGid = ds.Tables[0].Rows[0]["HItemID"].ToString();
                        //处理方案名称
                        if (HProcessName == "")
                        {
                            objJsonResult.code = CodeConstant.FAIL;
                            objJsonResult.count = CountConstant.FAIL;
                            objJsonResult.Message = "第" + index + "行,处理方案名称不能为空!";
                            objJsonResult.data = null;
                            return objJsonResult;
                        }
                        //处理方案代码
                        if (HProcessNum == "")
                        {
                            objJsonResult.code = CodeConstant.FAIL;
                            objJsonResult.count = CountConstant.FAIL;
                            objJsonResult.Message = "第" + index + "行,处理方案代码不能为空!";
                            objJsonResult.data = null;
                            return objJsonResult;
                        }
                    }
                    else
                    {
                        objJsonResult.code = CodeConstant.FAIL;
                        objJsonResult.count = CountConstant.FAIL;
                        objJsonResult.Message = "第" + index + "行,组织代码为空";
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                }
                objJsonResult.code = CodeConstant.SUCCEED;
                objJsonResult.count = CountConstant.SUCCEED;
                objJsonResult.Message = error;
                objJsonResult.data = tb2;
                return objJsonResult;
            }
            catch (Exception e)
            {
                objJsonResult.code = CodeConstant.FAIL;
                objJsonResult.count = CountConstant.FAIL;
                objJsonResult.Message = "Exception!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #endregion
        #region å¤„理方案项目 å¯¼å…¥(保存)
        [Route("Gy_DisposeWay/Gy_DisposeWay_btnSave")]
        [HttpPost]
        public object Gy_DisposeWay_btnSave([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 user = sArray[1].ToString();
            try
            {
                if (!DBUtility.ClsPub.Security_Log("Gy_DisposeWay_Edit", 1, false, user))
                {
                    objJsonResult.code = CodeConstant.FAIL;
                    objJsonResult.count = CountConstant.FAIL;
                    objJsonResult.Message = "无保存权限!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                List<object> Excel = Newtonsoft.Json.JsonConvert.DeserializeObject<List<object>>(msg2);
                List<Dictionary<string, string>> list = new List<Dictionary<string, string>>();
                foreach (JObject item in Excel)
                {
                    Dictionary<string, string> dic = new Dictionary<string, string>();
                    foreach (var itm in item.Properties())
                    {
                        dic.Add(itm.Name, itm.Value.ToString());
                    }
                    list.Add(dic);
                }
                oCN.BeginTran();
                int i = 1;
                foreach (Dictionary<string, string> item in list)
                {
                    string HOrgID = item["HOrgID"].ToString();//组织ID
                    string HName = item["处理方案"].ToString();
                    string HNumber = item["处理方案代码"].ToString();
                    string HRemark = item["备注"].ToString();
                    string HHelpCode = item["助记码"].ToString();
                    string HUseFlag = "未检测";
                    string HShortNumber;
                    HShortNumber = DBUtility.ClsPub.GetShortNumber(HNumber);//短代码
                    if (HShortNumber.Trim() == "")
                    {
                        objJsonResult.code = CodeConstant.FAIL;
                        objJsonResult.count = CountConstant.FAIL;
                        objJsonResult.Message = "保存失败!短代码为空!";
                        objJsonResult.data = 1;
                        return objJsonResult;
                    }
                    int HEndFlag = 1;//末级标志
                    int HLevel = DBUtility.ClsPub.GetLevel(HNumber); //等级
                    if (!DBUtility.ClsPub.AllowNumber(HNumber.Trim()))
                    {
                        objJsonResult.code = CodeConstant.FAIL;
                        objJsonResult.count = CountConstant.FAIL;
                        objJsonResult.Message = "保存失败!代码中不能出现连续‘.’并且首位末位不能为‘.’!";
                        objJsonResult.data = 1;
                        return objJsonResult;
                    }
                    ds = oCN.RunProcReturn("select * from Gy_DisposeWay where HNumber='" + HNumber + "'", "Gy_DisposeWay");
                    if (ds.Tables[0].Rows.Count == 0)
                    {
                        oCN.RunProc("Insert into " + "Gy_DisposeWay" +
                        " (HNumber,HName,HHelpCode,HShortNumber,HParentID" +
                        ",HLevel,HEndFlag,HStopflag,HRemark,HUseFlag,HUSEORGID,HCREATEORGID,HMakeEmp,HMakeTime) " +
                        " Values('" + HNumber + "','" + HName + "','" + HHelpCode + "','" + HShortNumber + "'," + 0 +
                        "," + HLevel + "," + HEndFlag + "," + 0 + ",'" + HRemark + "','" + HUseFlag + "'," + HOrgID + "," + HOrgID + ",'" + user + "',GETDATE()" + ")");
                    }
                    else
                    {
                        oCN.RunProc("Update " + "Gy_DisposeWay" + " set " +
                        "HName='" + HName + "'" +
                        ",HShortNumber='" + HShortNumber + "'" +
                        ",HHelpCode='" + HHelpCode + "'" +
                        ",HLevel=" + HLevel +
                        ",HModifyEmp='" + user + "'" +
                        ",HModifyTime=GETDATE()" +
                        ",HRemark= '" + HRemark + "' Where HNumber='" + HNumber + "'");
                    }
                    i++;
                }
                oCN.Commit();
                objJsonResult.code = CodeConstant.SUCCEED;
                objJsonResult.count = CountConstant.SUCCEED;
                objJsonResult.Message = "导入成功!";
                objJsonResult.data = null;
                return objJsonResult;
            }
            catch (Exception e)
            {
                LogService.Write(e);
                objJsonResult.code = CodeConstant.FAIL;
                objJsonResult.count = CountConstant.FAIL;
                objJsonResult.Message = "Exception!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #endregion
        #endregion
    }
}
WebAPI/Controllers/»ù´¡×ÊÁÏ/»ù´¡×ÊÁÏ/Gy_MaterTypeBillController.cs
@@ -868,11 +868,11 @@
        [Route("Gy_MaterType/Gy_MaterTypeTreeListByLevel")]
        [HttpGet]
        public object Gy_MaterTypeTreeListByLevel()
        public object Gy_MaterTypeTreeListByLevel(string HOrgID)
        {
            try
            {
                string sql1 = string.Format("select hitemid,hnumber,hname,hparentid,hlevel from Gy_MaterType order by hnumber");
                string sql1 = string.Format("select hitemid,hnumber,hname,hparentid,hlevel from Gy_MaterType where HUSEORGID = '" + HOrgID + "' order by hnumber");
                ds = oCN.RunProcReturn(sql1, "Gy_MaterType");
WebAPI/Controllers/»ù´¡×ÊÁÏ/»ù´¡×ÊÁÏ/Gy_ProcMulController.cs
New file
@@ -0,0 +1,537 @@
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Web.Http;
using WebAPI.Models;
using SyntacticSugar.constant;
namespace WebAPI.Controllers.基础资料.基础资料
{
    public class Gy_ProcMulController : ApiController
    {
        private json objJsonResult = new json();
        SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
        DataSet ds;
        #region  å·¥æ®µ  æŸ¥è¯¢
        [Route("Gy_ProcMul/Gy_ProcMulList")]
        [HttpGet]
        public object Gy_ProcMulList(string sWhere, string user)
        {
            try
            {
                List<object> columnNameList = new List<object>();
                //查看权限
                if (!DBUtility.ClsPub.Security_Log("Gy_ProcMul_Query", 1, false, user))
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "无查看权限!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                string sql1 = "select * from  h_v_Gy_ProcMulList where 1 = 1";
                string sql = sql1 + sWhere + " order by å·¥æ®µä»£ç  ";
                ds = oCN.RunProcReturn(sql, "h_v_Gy_ProcMulList");
                //添加列名
                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));//获取到DataColumn列对象的列名
                }
                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_ProcMul/AuditGy_ProcMul")]
        [HttpGet]
        public object AuditGy_ProcMul(int HInterID, int IsAudit, string CurUserName)
        {
            try
            {
                //审核权限
                if (!DBUtility.ClsPub.Security_Log_second("Gy_ProcMul_Check", 1, false, CurUserName))
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "审核失败!无权限!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                var ds = oCN.RunProcReturn("select * from Gy_ProcMul where HItemID=" + HInterID, "Gy_ProcMul");
                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_ProcMul 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_ProcMul 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;
            }
        }
        #endregion
        #region  å·¥æ®µ  ç¦ç”¨ï¼Œåç¦ç”¨
        [Route("Gy_ProcMul/StopGy_ProcMul")]
        [HttpGet]
        public object StopGy_ProcMul(int HInterID, int IsStop, string CurUserName)
        {
            try
            {
                //审核权限
                if (!DBUtility.ClsPub.Security_Log_second("Gy_ProcMul_Close", 1, false, CurUserName))
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "禁用失败!无权限!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                var ds = oCN.RunProcReturn("select * from Gy_ProcMul where HItemID=" + HInterID, "Gy_ProcMul");
                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_ProcMul 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_ProcMul 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
        #region  å·¥æ®µ ä¿å­˜
        [Route("Gy_ProcMul/SaveGy_ProcMulList")]
        [HttpPost]
        public object SaveGy_ProcMulList([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_ProcMul_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();
            //获取最大ID值赋值
            DataSet Maxds = oCN.RunProcReturn("select isNull(MAX(HItemID),0) HItemID from Gy_ProcMul ", "Gy_ProcMul");
            if (Maxds != null || Maxds.Tables[0].Rows.Count > 0)
            {
                //HItemID= Maxds.Tables[0].Rows[0]["HItemID"]
                var maxid = Convert.ToInt32(Maxds.Tables[0].Rows[0]["HItemID"]);
                maxid += 1;
                HItemID = maxid;
            }
            ListModels oListModels = new ListModels();
            try
            {
                WebAPI.DLL.ClsGy_ProcMul_Ctl oBill = new WebAPI.DLL.ClsGy_ProcMul_Ctl();
                List<Model.ClsGy_ProcMul_Model> lsmain = new List<Model.ClsGy_ProcMul_Model>();
                msg1 = msg1.Replace("\\", "");
                msg1 = msg1.Replace("\n", "");  //\n
                string jsonString = "[" + msg1.ToString() + "]";
                List<Model.ClsGy_ProcMul_Model> list = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Model.ClsGy_ProcMul_Model>>(jsonString);
                lsmain = list;
                foreach (Model.ClsGy_ProcMul_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_ProcMul where HStopflag=0 and HNumber='" + oItem.HNumber.Trim() + "'", "Gy_ProcMul");
                    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 = "保存失败!短代码为空!";
                        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.AddBill(ref DBUtility.ClsPub.sExeReturnInfo);
                    bResult = oBill.AddNew();
                }
                else
                {
                    bResult = oBill.ModifyByID(oBill.oModel.HItemID);
                }
                if (bResult)
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 1;
                    objJsonResult.Message = "保存成功!";
                    //WebAPIController.Add_Log("送货单下推", UserName, "生成送货单");
                    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_ProcMul/DeltetGy_ProcMul")]
        [HttpGet]
        public object DeltetGy_ProcMul(string HItemID, string user)
        {
            DataSet ds;
            //string ModRightNameCheck = "Sc_ProcessReport_check";
            try
            {
                //删除权限
                if (!DBUtility.ClsPub.Security_Log("Gy_ProcMul_Delete", 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();//开始事务
                ds = oCN.RunProcReturn("select * from Gy_ProcMul where HItemID=" + HItemID, "Gy_ProcMul");
                if (ds == null || ds.Tables[0].Rows.Count == 0)
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "没有数据,无法删除!";
                    objJsonResult.data = null;
                    return objJsonResult; ;
                }
                oCN.RunProc("delete Gy_ProcMul 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
        #region å·¥æ®µ ç¼–辑获取细节
        [Route("Gy_ProcMul/GetGy_ProcMulDetail")]
        [HttpGet]
        public object GetGy_ProcMulDetail(string HID)
        {
            try
            {
                List<object> columnNameList = new List<object>();
                string sql1 = "select * from  h_v_Gy_ProcMulList where  HItemID= " + HID + " ";
                ds = oCN.RunProcReturn(sql1, "h_v_Gy_ProcMulList");
                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
    }
}
WebAPI/Controllers/»ù´¡×ÊÁÏ/¹¤×Ê»ù´¡×ÊÁÏ/Gy_WorkTypeController.cs
@@ -9,7 +9,10 @@
using System.Net.Http;
using System.Web.Http;
using WebAPI.Models;
using System.Web;
using WebAPI.Controllers.SCGL.日计划管理;
using System.IO;
using SyntacticSugar.constant;
namespace WebAPI.Controllers
{
    public class Gy_WorkTypeController : ApiController
@@ -556,5 +559,295 @@
        #endregion
        #region å·¥ç§ æ–‡ä»¶å¯¼å…¥ä¿å­˜
        #region å·¥ç§ æ–‡ä»¶ä¸Šä¼ 
        [Route("Gy_WorkTypeController/Gy_WorkTypeController_Excel")]
        [HttpPost]
        public object Gy_WorkTypeController_Excel()
        {
            try
            {
                //获取文件名称
                var file = HttpContext.Current.Request.Files[0];
                //获取文件物理路径
                string ExcelPath = HttpContext.Current.Server.MapPath("~/" + file.FileName);
                //保存文件
                file.SaveAs(ExcelPath);
                NpoiHelper np = new NpoiHelper();
                DataSet ExcelDs = np.ReadExcel(ExcelPath, 1, 1, "0");
                //删除文件
                File.Delete(ExcelPath);
                //创建临时表
                DataTable tb2 = new DataTable("dt2");
                //添加列名
                for (int i = 0; i < ExcelDs.Tables[0].Columns.Count; i++)
                {
                    tb2.Columns.Add(ExcelDs.Tables[0].Rows[0][i].ToString());
                }
                //模板缺少列 ä½†éœ€è¦ä»Žæ•°æ®åº“中查询出来显示在页面的字段
                tb2.Columns.Add("HOrgID", typeof(Int32));//组织ID
                //添加数据
                for (int i = 1; i < ExcelDs.Tables[0].Rows.Count; i++)
                {
                    DataRow row = tb2.NewRow();
                    for (int j = 0; j < ExcelDs.Tables[0].Columns.Count; j++)
                    {
                        row[j] = ExcelDs.Tables[0].Rows[i][j].ToString();
                    }
                    tb2.Rows.Add(row);
                }
                var error = "";
                //查询没有的列
                if (!tb2.Columns.Contains("组织代码"))
                    error += "没有找到【组织代码】的标题,";
                if (!tb2.Columns.Contains("组织名称"))
                    error += "没有找到【组织名称】的标题,";
                if (!tb2.Columns.Contains("工种名称"))
                    error += "没有找到【工种名称】的标题,";
                if (!tb2.Columns.Contains("工种代码"))
                    error += "没有找到【工种代码】的标题,";
                if (!tb2.Columns.Contains("日工资"))
                    error += "没有找到【日工资】的标题,";
                if (!tb2.Columns.Contains("小时工资"))
                    error += "没有找到【小时工资】的标题,";
                if (!tb2.Columns.Contains("考虑人数"))
                    error += "没有找到【考虑人数】的标题,";
                if (!tb2.Columns.Contains("备注"))
                    error += "没有找到【备注】的标题,";
                if (!tb2.Columns.Contains("助记码"))
                    error += "没有找到【助记码】的标题,";
                if (error.Length > 0)
                {
                    objJsonResult.code = CodeConstant.FAIL;
                    objJsonResult.count = CountConstant.FAIL;
                    objJsonResult.Message = $"Excel模板存在错误,{error}\r\n";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                for (int i = 0; i <= tb2.Rows.Count - 1; i++)
                {
                    string HProcessName = "";
                    string HProcessNum = "";
                    string HORGNumber = "";
                    string HORGName = "";
                    HProcessName = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["工种名称"].ToString());
                    HProcessNum = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["工种代码"].ToString());
                    HORGNumber = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["组织代码"].ToString());
                    HORGName = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["组织名称"].ToString());
                    //检查物料
                    int index = i + 1;
                    if (HORGNumber != "")
                    {
                        //查询组织
                        ds = oCn.RunProcReturn("select * from Xt_ORGANIZATIONS where  HNumber='" + HORGNumber + "' and Hname='" + HORGName + "'", "Xt_ORGANIZATIONS");
                        if (ds.Tables[0].Rows.Count == 0)
                        {
                            objJsonResult.code = CodeConstant.FAIL;
                            objJsonResult.count = CountConstant.FAIL;
                            objJsonResult.Message = "第" + index + "行,组织不存在!";
                            objJsonResult.data = null;
                            return objJsonResult;
                        }
                        else
                        {
                            tb2.Rows[i]["HOrgID"] = ds.Tables[0].Rows[0]["HItemID"].ToString();
                        }
                        string HORGid = ds.Tables[0].Rows[0]["HItemID"].ToString();
                        //工种名称
                        if (HProcessName == "")
                        {
                            objJsonResult.code = CodeConstant.FAIL;
                            objJsonResult.count = CountConstant.FAIL;
                            objJsonResult.Message = "第" + index + "行,工种名称不能为空!";
                            objJsonResult.data = null;
                            return objJsonResult;
                        }
                        //工种代码
                        if (HProcessNum == "")
                        {
                            objJsonResult.code = CodeConstant.FAIL;
                            objJsonResult.count = CountConstant.FAIL;
                            objJsonResult.Message = "第" + index + "行,工种代码不能为空!";
                            objJsonResult.data = null;
                            return objJsonResult;
                        }
                    }
                    else
                    {
                        objJsonResult.code = CodeConstant.FAIL;
                        objJsonResult.count = CountConstant.FAIL;
                        objJsonResult.Message = "第" + index + "行,组织代码为空";
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                }
                objJsonResult.code = CodeConstant.SUCCEED;
                objJsonResult.count = CountConstant.SUCCEED;
                objJsonResult.Message = error;
                objJsonResult.data = tb2;
                return objJsonResult;
            }
            catch (Exception e)
            {
                objJsonResult.code = CodeConstant.FAIL;
                objJsonResult.count = CountConstant.FAIL;
                objJsonResult.Message = "Exception!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #endregion
        #region å·¥ç§é¡¹ç›® å¯¼å…¥(保存)
        [Route("Gy_WorkTypeController/Gy_WorkTypeController_btnSave")]
        [HttpPost]
        public object Gy_WorkTypeController_btnSave([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 user = sArray[1].ToString();
            try
            {
                if (!DBUtility.ClsPub.Security_Log("Gy_ErrType_Edit", 1, false, user))
                {
                    objJsonResult.code = CodeConstant.FAIL;
                    objJsonResult.count = CountConstant.FAIL;
                    objJsonResult.Message = "无保存权限!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                List<object> Excel = Newtonsoft.Json.JsonConvert.DeserializeObject<List<object>>(msg2);
                List<Dictionary<string, string>> list = new List<Dictionary<string, string>>();
                foreach (JObject item in Excel)
                {
                    Dictionary<string, string> dic = new Dictionary<string, string>();
                    foreach (var itm in item.Properties())
                    {
                        dic.Add(itm.Name, itm.Value.ToString());
                    }
                    list.Add(dic);
                }
                oCn.BeginTran();
                int i = 1;
                foreach (Dictionary<string, string> item in list)
                {
                    string HOrgID = item["HOrgID"].ToString();//组织ID
                    string HName = item["工种名称"].ToString();
                    string HNumber = item["工种代码"].ToString();
                    string HRemark = item["备注"].ToString();
                    string HHelpCode = item["助记码"].ToString();
                    string HPayMoney = item["小时工资"].ToString();
                    string HDayMoney = item["日工资"].ToString();
                    string HForEmp = item["考虑人数"].ToString();
                    string sShortNumber;
                    sShortNumber = DBUtility.ClsPub.GetShortNumber(HNumber);//短代码
                    if (sShortNumber.Trim() == "")
                    {
                        objJsonResult.code = CodeConstant.FAIL;
                        objJsonResult.count = CountConstant.FAIL;
                        objJsonResult.Message = "保存失败!短代码为空!";
                        objJsonResult.data = 1;
                        return objJsonResult;
                    }
                    int HEndFlag = 1;//末级标志
                    int HLevel = DBUtility.ClsPub.GetLevel(HNumber); //等级
                    if (!DBUtility.ClsPub.AllowNumber(HNumber.Trim()))
                    {
                        objJsonResult.code = CodeConstant.FAIL;
                        objJsonResult.count = CountConstant.FAIL;
                        objJsonResult.Message = "保存失败!代码中不能出现连续‘.’并且首位末位不能为‘.’!";
                        objJsonResult.data = 1;
                        return objJsonResult;
                    }
                    ds = oCn.RunProcReturn("select * from Gy_WorkType where HNumber='" + HNumber + "'", "Gy_WorkTypeController");
                    if (ds.Tables[0].Rows.Count == 0)
                    {
                        oCn.RunProc("Insert into " + "Gy_WorkType" +
                        " (HNumber,HName,HHelpCode,HShortNumber,HParentID" +
                        ",HLevel,HEndFlag,HStopflag,HRemark" +
                        ",HMakeEmp,HMakeTime,HUSEORGID,HCREATEORGID" +
                        ",HPayMoney,HDayMoney,HForEmp) " +
                        " Values('" + HNumber + "','" + HName + "','" + HHelpCode + "','" + sShortNumber + "'," + 0 +
                        "," + HLevel + "," + HEndFlag + "," + 0 + ",'" + HRemark + "'" +
                        ",'" + user + "',getdate()" + "," + HOrgID + "," + HOrgID +
                        "," + HPayMoney + "," + HDayMoney + ",'" + HForEmp + "'" +
                        ")");
                    }
                    else
                    {
                        oCn.RunProc("Update " + "Gy_WorkType " + " set " +
                        "HName='" + HName + "'" +
                        ",HShortNumber='" + sShortNumber + "'" +
                        ",HRemark= '" + HRemark + "'" +
                        ",HModifyEmp= '" + user + "'" +
                        ",HModifyTime=getdate()" +
                        ",HUSEORGID=" + HOrgID +
                        ",HPayMoney=" + HPayMoney +
                        ",HDayMoney=" + HDayMoney +
                        ",HForEmp='" + HForEmp + "'" +
                        " where HNumber='" + HNumber + "'");
                    }
                    i++;
                }
                oCn.Commit();
                objJsonResult.code = CodeConstant.SUCCEED;
                objJsonResult.count = CountConstant.SUCCEED;
                objJsonResult.Message = "导入成功!";
                objJsonResult.data = null;
                return objJsonResult;
            }
            catch (Exception e)
            {
                LogService.Write(e);
                objJsonResult.code = CodeConstant.FAIL;
                objJsonResult.count = CountConstant.FAIL;
                objJsonResult.Message = "Exception!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #endregion
        #endregion
    }
}
WebAPI/Controllers/¹¤×ʹÜÀí/Pay_ProcPriceRequestBillController.cs
@@ -9,7 +9,7 @@
using System.Web.Http;
using WebAPI.Models;
using System.Windows.Forms;
using SyntacticSugar.constant;
namespace WebAPI.Controllers
{
    //班组Controller
@@ -1014,5 +1014,629 @@
            }
        }
        #endregion
        #region å®šé¢ç”³è¯·å•需要我审批流审批的
        [Route("Pay_ProcPriceRequestBill/NeedChecklist")]
        [HttpGet]
        public object NeedChecklist(string user, string userid)
        {
            try
            {
                List<object> columnNameList = new List<object>();
                //判断是否有查询权限
                if (!DBUtility.ClsPub.Security_Log(ModRightNameList, 1, false, user))
                {
                    objJsonResult.code = CodeConstant.FAIL;
                    objJsonResult.count = CountConstant.FAIL;
                    objJsonResult.Message = "无权限查看!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                //搜索需要审核的
                string sql = "  select a.*,c.HItemID as HCheckFlowStatusID,m.HName as å®¡æ‰¹æµ,c.HCheckFlowID,i.HName as å®¡æ‰¹é¡¹ç›®åç§°,c.HCheckItemID,c.HChecker as é¡¹ç›®å®¡æ ¸äºº,c.HCheckNote as å®¡æ‰¹æµå®¡æ ¸å»ºè®®,c.HCheckDate å®¡æ‰¹æµå®¡æ ¸æ—¥æœŸ   from h_v_Pay_ProcPriceRequestBillList AS a LEFT JOIN Xt_BillCheckFlowStatus AS c ON a.hmainid = c.HBillInterID and a.HBillType = c.HBillTypeID" +
                    " LEFT JOIN Xt_CheckFlowMain as m ON m.HInterID = c.HCheckFlowID" +
                    " LEFT JOIN Pay_ProcPriceRequestBillMain as po ON a.hmainid = po.HInterID" +
                    " LEFT JOIN Xt_CheckItem as i ON i.HItemID = c.HCheckItemID" +
                    " LEFT JOIN Xt_CheckUserRight as cr ON cr.HCheckItemID = i.HItemID and cr.HCheckFlowInterID = m.HInterID" +
                    " where po.HBillStatus = 6 and po.HCheckItemNowID = i.HItemID  and cr.HUserID = '" + userid + "'";
                ds = oCn.RunProcReturn(sql, "h_v_Pay_ProcPriceRequestBillList");
                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));//获取到DataColumn列对象的列名
                }
                objJsonResult.code = CodeConstant.SUCCEED;
                objJsonResult.count = CountConstant.SUCCEED;
                objJsonResult.Message = "Sucess!";
                objJsonResult.data = ds.Tables[0];
                objJsonResult.list = columnNameList;
                return objJsonResult;
            }
            catch (Exception e)
            {
                objJsonResult.code = CodeConstant.FAIL;
                objJsonResult.count = CountConstant.FAIL;
                objJsonResult.Message = "Exception!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #endregion
        #region å®šé¢ç”³è¯·å•已经审批流审批的
        [Route("Pay_ProcPriceRequestBill/Checkedlist")]
        [HttpGet]
        public object Checkedlist(string user)
        {
            try
            {
                List<object> columnNameList = new List<object>();
                //判断是否有查询权限
                if (!DBUtility.ClsPub.Security_Log(ModRightNameList, 1, false, user))
                {
                    objJsonResult.code = CodeConstant.FAIL;
                    objJsonResult.count = CountConstant.FAIL;
                    objJsonResult.Message = "无权限查看!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                //搜索需要审核的
                string sql = "  select DISTINCT a.*,c.HItemID as HCheckFlowStatusID,m.HName as å®¡æ‰¹æµ,c.HCheckFlowID,i.HName as å®¡æ‰¹é¡¹ç›®åç§°,c.HCheckItemID,c.HChecker as é¡¹ç›®å®¡æ ¸äºº,c.HCheckNote as å®¡æ‰¹æµå®¡æ ¸å»ºè®®,c.HCheckDate å®¡æ‰¹æµå®¡æ ¸æ—¥æœŸ   from h_v_Pay_ProcPriceRequestBillList AS a LEFT JOIN Xt_BillCheckFlowStatus AS c ON a.hmainid = c.HBillInterID and a.HBillType = c.HBillTypeID" +
                    " LEFT JOIN Xt_CheckFlowMain as m ON m.HInterID = c.HCheckFlowID" +
                    " LEFT JOIN Xt_CheckItem as i ON i.HItemID = c.HCheckItemID" +
                    " where c.HCheckDate is  not NUll and c.HChecker = '" + user + "'";
                ds = oCn.RunProcReturn(sql, "h_v_Pay_ProcPriceRequestBillList");
                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));//获取到DataColumn列对象的列名
                }
                objJsonResult.code = CodeConstant.SUCCEED;
                objJsonResult.count = CountConstant.SUCCEED;
                objJsonResult.Message = "Sucess!";
                objJsonResult.data = ds.Tables[0];
                objJsonResult.list = columnNameList;
                return objJsonResult;
            }
            catch (Exception e)
            {
                objJsonResult.code = CodeConstant.FAIL;
                objJsonResult.count = CountConstant.FAIL;
                objJsonResult.Message = "Exception!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #endregion
        #region å®šé¢ç”³è¯·å•驳回
        [Route("Pay_ProcPriceRequestBill/RejectCheckFlow")]
        [HttpGet]
        public object RejectCheckFlow(string HInterID, string CurUserID)
        {
            try
            {
                Int64 lngBillKey = 0;
                lngBillKey = DBUtility.ClsPub.isLong(HInterID);      //对HInterID进行类型的转换
                DAL.ClsPay_ProcPriceRequestBill oBill = new DAL.ClsPay_ProcPriceRequestBill();                              //实例化单据操作类,用于进行相关操作
                if (oBill.ShowBill(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo))                    //根据HInterID获取该单据的数据
                {
                    if (oBill.omodel.HBillStatus != 6)
                    {
                        objJsonResult.code = CodeConstant.FAIL;
                        objJsonResult.count = CountConstant.FAIL;
                        objJsonResult.Message = "单据未在审核中不能驳回";
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                    //发起驳回
                    if (oBill.RejectCheckFlowProgress(lngBillKey, oBill.omodel.HBillNo, CurUserID, ref DBUtility.ClsPub.sExeReturnInfo) == true)
                    {
                        objJsonResult.code = CodeConstant.SUCCEED;
                        objJsonResult.count = CountConstant.SUCCEED;
                        objJsonResult.Message = "驳回成功";
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                    else
                    {
                        objJsonResult.code = CodeConstant.FAIL;
                        objJsonResult.count = CountConstant.FAIL;
                        objJsonResult.Message = "驳回失败失败!原因:" + DBUtility.ClsPub.sExeReturnInfo;
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                }
                else
                {
                    objJsonResult.code = CodeConstant.FAIL;
                    objJsonResult.count = CountConstant.FAIL;
                    objJsonResult.Message = "单据不存在!原因:" + DBUtility.ClsPub.sExeReturnInfo;
                    objJsonResult.data = null;
                    return objJsonResult;
                }
            }
            catch (Exception e)
            {
                oCn.RollBack();
                objJsonResult.code = CodeConstant.FAIL;
                objJsonResult.count = CountConstant.FAIL;
                objJsonResult.Message = "Exception!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #endregion
        #region å®šé¢ç”³è¯·å• å‘起审批
        [Route("Pay_ProcPriceRequestBill/StartCheckFlow")]
        [HttpGet]
        public object StartCheckFlow(int HInterID, string CurUserName)
        {
            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 = CodeConstant.FAIL;
                    objJsonResult.count = CountConstant.FAIL;
                    objJsonResult.Message = "HInterID小于0!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                Int64 lngBillKey = 0;
                lngBillKey = DBUtility.ClsPub.isLong(HInterID);                                         //对HInterID进行类型的转换
                DAL.ClsPay_ProcPriceRequestBill oBill = new DAL.ClsPay_ProcPriceRequestBill();                              //实例化单据操作类,用于进行相关操作
                //发起审批
                if (oBill.startCheckFlow(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo) == true)
                {
                    objJsonResult.code = CodeConstant.SUCCEED;
                    objJsonResult.count = CountConstant.SUCCEED;
                    objJsonResult.Message = "发起审批成功";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                else
                {
                    objJsonResult.code = CodeConstant.FAIL;
                    objJsonResult.count = CountConstant.FAIL;
                    objJsonResult.Message = "发起审批失败!原因:" + DBUtility.ClsPub.sExeReturnInfo;
                    objJsonResult.data = null;
                    return objJsonResult;
                }
            }
            catch (Exception e)
            {
                objJsonResult.code = CodeConstant.FAIL;
                objJsonResult.count = CountConstant.FAIL;
                objJsonResult.Message = "发起审批失败失败!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #endregion
        #region å®šé¢ç”³è¯·å• å¤šçº§ å®¡æ ¸/反审核
        /// <summary>
        /// </summary>
        /// <param name="HInterID">单据ID</param>
        /// <param name="IsAudit">审核(0),反审核(1)</param>
        /// <param name="CurUserName">审核人</param>
        /// <returns></returns>
        [Route("Pay_ProcPriceRequestBill/AuditFlow")]
        [HttpGet]
        public object AuditPay_ProcPriceRequestBill_Flow(int HInterID, int IsAudit, string CurUserName, string CurUserID)
        {
            //string ModRightNameCheck = "Pay_ProcPriceRequestBill_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 = CodeConstant.FAIL;
                    objJsonResult.count = CountConstant.FAIL;
                    objJsonResult.Message = "HInterID小于0!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                Int64 lngBillKey = 0;
                lngBillKey = DBUtility.ClsPub.isLong(HInterID);                                         //对HInterID进行类型的转换
                DAL.ClsPay_ProcPriceRequestBill oBill = new DAL.ClsPay_ProcPriceRequestBill();                              //实例化单据操作类,用于进行相关操作
                //针对需要进行的操作,检验当前单据的状态是否支持需要进行的操作
                if (oBill.ShowBill(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo))                    //根据HInterID获取该单据的数据
                {
                    if (oBill.omodel.HCloseMan.Trim() != "")
                    {
                        objJsonResult.code = CodeConstant.FAIL;
                        objJsonResult.count = CountConstant.FAIL;
                        objJsonResult.Message = "单据已关闭!不能再次审核!";
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                    if (oBill.omodel.HDeleteMan.Trim() != "")
                    {
                        objJsonResult.code = CodeConstant.FAIL;
                        objJsonResult.count = CountConstant.FAIL;
                        objJsonResult.Message = "单据已作废!不能再次审核!";
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                    if (IsAudit == TypeConstant.AUDIT)  //审核判断
                    {
                        //判断是否已经发起审批
                        string sql0 = "select * from Xt_BillCheckFlowStatus where HBillInterID = " + lngBillKey + " and HBillTypeID = '" + oBill.BillType + "'";
                        DataSet ds0 = oCn.RunProcReturn(sql0, "Xt_BillCheckFlowStatus");
                        if (ds0 != null && ds0.Tables[0].Rows.Count == 0)
                        {
                            objJsonResult.code = CodeConstant.FAIL;
                            objJsonResult.count = CountConstant.FAIL;
                            objJsonResult.Message = "审核失败!原因:单据未发起审批!";
                            objJsonResult.data = null;
                            return objJsonResult;
                        }
                        //判断单据当前状态
                        if (oBill.omodel.HChecker.Trim() != "")
                        {
                            objJsonResult.code = CodeConstant.FAIL;
                            objJsonResult.count = CountConstant.FAIL;
                            objJsonResult.Message = "审核失败!原因:单据已完成审核!不能继续审核!";
                            objJsonResult.data = null;
                            return objJsonResult;
                        }
                    }
                    if (IsAudit == TypeConstant.REVERSE_AUDIT) //反审核判断
                    {
                        //判断是否存在审核过的项目
                        string sql0 = "select * from Xt_BillCheckFlowStatus where HBillInterID = " + lngBillKey + " and HBillTypeID = '" + oBill.BillType + "' and ISNULL(HChecker,'') <> ''";
                        DataSet ds0 = oCn.RunProcReturn(sql0, "Xt_BillCheckFlowStatus");
                        if (ds0 != null && ds0.Tables[0].Rows.Count == 0)
                        {
                            objJsonResult.code = CodeConstant.FAIL;
                            objJsonResult.count = CountConstant.FAIL;
                            objJsonResult.Message = "反审核失败!原因:单据不存在已经审核的项目!!";
                            objJsonResult.data = null;
                            return objJsonResult;
                        }
                    }
                }
                else
                {
                    objJsonResult.code = CodeConstant.FAIL;
                    objJsonResult.count = CountConstant.FAIL;
                    objJsonResult.Message = "单据不存在!原因:" + DBUtility.ClsPub.sExeReturnInfo;
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                oCn.BeginTran();
                //进行需要进行的审核/反审核操作
                if (IsAudit == TypeConstant.AUDIT) //审核提交
                {
                    #region å®¡æ ¸å‰çš„相关判断
                    //审核前控制=========================================
                    DataSet BeforeDs = oCn.RunProcReturn("Exec h_p_Pay_ProcPriceRequestBill_BeforeCheckCtrl " + HInterID.ToString() + ",'" + CurUserName + "'", "h_p_Pay_ProcPriceRequestBill_BeforeCheckCtrl");
                    if (BeforeDs == null || BeforeDs.Tables[0].Rows.Count == 0)
                    {
                        objJsonResult.code = CodeConstant.FAIL;
                        objJsonResult.count = CountConstant.FAIL;
                        objJsonResult.Message = "审核前判断失败!";
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                    else
                    {
                        if (DBUtility.ClsPub.isLong(BeforeDs.Tables[0].Rows[0]["HBack"]) == 1)
                        {
                            objJsonResult.code = CodeConstant.FAIL;
                            objJsonResult.count = CountConstant.FAIL;
                            objJsonResult.Message = "审核失败!" + DBUtility.ClsPub.isStrNull(BeforeDs.Tables[0].Rows[0]["HRemark"]);
                            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;
                    }
                    #endregion
                    //获取当前审核项目
                    string sql0 = "select * from " + oBill.MvarItemKey + " where HInterID = " + lngBillKey;
                    DataSet ds0 = oCn.RunProcReturn(sql0, oBill.MvarItemKey);
                    string HCheckFlowID = ds0.Tables[0].Rows[0]["HCheckFlowID"].ToString();             //审批流内码
                    string HCheckItemNowID = ds0.Tables[0].Rows[0]["HCheckItemNowID"].ToString();       //当前审批项目内码
                    string HCheckItemNextID = ds0.Tables[0].Rows[0]["HCheckItemNextID"].ToString();     //待审批项目内码
                    //判断用户是否有权限 å®¡æ‰¹ å½“前审批流的审批项目
                    //string sql01 = "select * from Xt_CheckUserRight where HUserID = '" + CurUserID + "' and HCheckFlowInterID = " + HCheckFlowID + " and HCheckItemID = " + HCheckItemNowID + " and HValue = 1";
                    string sql01 = "select * from Xt_CheckUserRight where HUserID = '" + CurUserID + "' and HCheckFlowInterID = " + HCheckFlowID + " and HCheckItemID = " + HCheckItemNowID + "";
                    DataSet ds01 = oCn.RunProcReturn(sql01, "Xt_CheckUserRight");
                    if (ds01.Tables[0].Rows.Count == 0)
                    {
                        objJsonResult.code = CodeConstant.FAIL;
                        objJsonResult.count = CountConstant.FAIL;
                        objJsonResult.Message = "审核失败!原因:用户无当前审核项目的审核权限!";
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                    //更新 å•据审批状态表 ä¸­å¯¹åº”审核项目的审核状态
                    string sql02 = "update Xt_BillCheckFlowStatus set HChecker='" + CurUserName + "',HCheckDate=getdate() where HBillTypeID = '" + oBill.BillType + "' and HBillInterID=" + lngBillKey + " and HCheckFlowID=" + HCheckFlowID + " and HCheckItemID=" + HCheckItemNowID;
                    oCn.RunProc(sql02);
                    //判断当前审核项目是否是最后一个项目,如果是,审核后反写单据的单据状态。如果不是,获取下一个审核项目并更新到销售订单主表
                    if (HCheckItemNextID != "0")                //刚刚审核的审核项目不是最后一个审核项目
                    {
                        string sql03 = "select b.HInterID,b.HCheckItemID from Xt_CheckFlowMain as a " +
                                "inner join Xt_CheckFlowSub as b on a.HInterID = b.HInterID " +
                                "where a.HBillTypeID = '" + oBill.BillType + "' " +
                                "and a.HInterID = " + HCheckFlowID + " " +
                                "order by b.HFlowNo asc";
                        DataSet ds03 = oCn.RunProcReturn(sql03, "Xt_CheckFlowMain");
                        //获取新的当前审核项目和待审核项目
                        for (int i = 0; i < ds03.Tables[0].Rows.Count; i++)
                        {
                            if (ds03.Tables[0].Rows[i]["HCheckItemID"].ToString() == HCheckItemNextID)
                            {
                                HCheckItemNowID = HCheckItemNextID;
                            }
                            else if (HCheckItemNowID == HCheckItemNextID)
                            {
                                HCheckItemNextID = ds03.Tables[0].Rows[i]["HCheckItemID"].ToString();
                                break;
                            }
                        }
                        //新的当前审核项目为最后一个审核项目,待审核项目不存在,设为默认值"0"
                        if (HCheckItemNowID == HCheckItemNextID)
                        {
                            HCheckItemNextID = "0";
                        }
                        //更新单据主表的审批流数据
                        string sql04 = "update " + oBill.MvarItemKey + " set HCheckItemNowID=" + HCheckItemNowID + ",HCheckItemNextID=" + HCheckItemNextID + " where HInterID = " + lngBillKey;
                        oCn.RunProc(sql04);
                        objJsonResult.code = CodeConstant.SUCCEED;
                        objJsonResult.count = CountConstant.SUCCEED;
                        objJsonResult.Message = "审核成功";
                        objJsonResult.data = null;
                    }
                    else                                                                //刚刚审核的审核项目是最后一个审核项目
                    {
                        //更新单据主表的审批流数据
                        HCheckItemNowID = "0";
                        HCheckItemNextID = "0";
                        string sql04 = "update " + oBill.MvarItemKey + " set HCheckItemNowID=" + HCheckItemNowID + ",HCheckItemNextID=" + HCheckItemNextID + " where HInterID = " + lngBillKey;
                        oCn.RunProc(sql04);
                        //更新单据的单据状态
                        if (oBill.CheckBill(oCn, oBill.omodel.HInterID, oBill.omodel.HBillNo, "h_p_Pay_ProcPriceRequestBill_AfterCheckCtrl", CurUserName, ref DBUtility.ClsPub.sExeReturnInfo) == true)
                        {
                            objJsonResult.code = CodeConstant.SUCCEED;
                            objJsonResult.count = CountConstant.SUCCEED;
                            objJsonResult.Message = "审核成功";
                            objJsonResult.data = null;
                        }
                        else
                        {
                            objJsonResult.code = CodeConstant.FAIL;
                            objJsonResult.count = CountConstant.FAIL;
                            objJsonResult.Message = "审核失败!原因:" + DBUtility.ClsPub.sExeReturnInfo;
                            objJsonResult.data = null;
                            oCn.RollBack();
                            return objJsonResult;
                        }
                    }
                }
                if (IsAudit == TypeConstant.REVERSE_AUDIT) //反审核提交
                {
                    #region åå®¡æ ¸å‰çš„相关判断
                    //反审核前控制=========================================
                    DataSet BeforeDs = oCn.RunProcReturn("Exec h_p_Pay_ProcPriceRequestBill_BeforeUnCheckCtrl " + HInterID.ToString() + ",'" + CurUserName + "'", "h_p_Pay_ProcPriceRequestBill_BeforeUnCheckCtrl");
                    if (BeforeDs == null || BeforeDs.Tables[0].Rows.Count == 0)
                    {
                        objJsonResult.code = CodeConstant.FAIL;
                        objJsonResult.count = CountConstant.FAIL;
                        objJsonResult.Message = "反审核前判断失败!";
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                    else
                    {
                        if (DBUtility.ClsPub.isLong(BeforeDs.Tables[0].Rows[0]["HBack"]) == 1)
                        {
                            objJsonResult.code = CodeConstant.FAIL;
                            objJsonResult.count = CountConstant.FAIL;
                            objJsonResult.Message = "反审核失败!" + DBUtility.ClsPub.isStrNull(BeforeDs.Tables[0].Rows[0]["HRemark"]);
                            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;
                    }
                    #endregion
                    //获取需要反审核的审核项目
                    string sql0 = "select c.* from Xt_CheckFlowMain as a " +
                                  "inner join Xt_CheckFlowSub as b on a.HInterID = b.HInterID " +
                                  "inner join Xt_BillCheckFlowStatus as c on a.HBillTypeID = c.HBillTypeID and b.HCheckItemID = c.HCheckItemID " +
                                  "where c.HBillTypeID = '" + oBill.BillType + "' and c.HBillInterID = " + lngBillKey + " " +
                                  "order by b.HFlowNo asc";
                    DataSet ds0 = oCn.RunProcReturn(sql0, "Xt_BillCheckFlowStatus");
                    if (ds0 == null || ds0.Tables[0].Rows.Count == 0)
                    {
                        objJsonResult.code = CodeConstant.FAIL;
                        objJsonResult.count = CountConstant.FAIL;
                        objJsonResult.Message = "反审核失败!原因:未发起审批!";
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                    string HCheckFlowID = ds0.Tables[0].Rows[0]["HCheckFlowID"].ToString();             //审批流内码
                    string HCheckItemNowID = "0";       //当前审批项目内码
                    string HCheckItemNextID = "0";     //待审批项目内码
                    if (oBill.omodel.HBillStatus == 6)
                    {
                        for (int i = 0; i < ds0.Tables[0].Rows.Count; i++)
                        {
                            if (ds0.Tables[0].Rows[i]["HChecker"].ToString() != "")
                            {
                                HCheckItemNowID = ds0.Tables[0].Rows[i]["HCheckItemID"].ToString();
                                HCheckItemNextID = ds0.Tables[0].Rows[i]["HCheckItemID"].ToString();
                            }
                            else
                            {
                                HCheckItemNextID = ds0.Tables[0].Rows[i]["HCheckItemID"].ToString();
                                break;
                            }
                        }
                        if (HCheckItemNowID == HCheckItemNextID)
                        {
                            HCheckItemNextID = "0";
                        }
                    }
                    else
                    {
                        HCheckItemNowID = ds0.Tables[0].Rows[ds0.Tables[0].Rows.Count - 1]["HCheckItemID"].ToString();
                        HCheckItemNextID = "0";
                    }
                    //判断用户是否有权限 å®¡æ‰¹ å½“前审批流的审批项目
                    //string sql01 = "select * from Xt_CheckUserRight where HUserID = '" + CurUserID + "' and HCheckFlowInterID = " + HCheckFlowID + " and HCheckItemID = " + HCheckItemNowID + " and HValue = 1";
                    string sql01 = "select * from Xt_CheckUserRight where HUserID = '" + CurUserID + "' and HCheckFlowInterID = " + HCheckFlowID + " and HCheckItemID = " + HCheckItemNowID + "";
                    DataSet ds01 = oCn.RunProcReturn(sql01, "Xt_CheckUserRight");
                    if (ds01.Tables[0].Rows.Count == 0)
                    {
                        objJsonResult.code = CodeConstant.FAIL;
                        objJsonResult.count = CountConstant.FAIL;
                        objJsonResult.Message = "反审核失败!原因:用户无当前审核项目的审核权限!";
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                    //更新 å•据审批状态表 ä¸­å¯¹åº”审核项目的审核状态
                    string sql02 = "update Xt_BillCheckFlowStatus set HChecker='',HCheckDate='' where HBillTypeID = '" + oBill.BillType + "' and HBillInterID=" + lngBillKey + " and HCheckFlowID=" + HCheckFlowID + " and HCheckItemID=" + HCheckItemNowID;
                    oCn.RunProc(sql02);
                    //判断反审核的单据是否已经审核完成,若审核完成,反审核需要变更单据状态。
                    if (oBill.omodel.HBillStatus == 6)
                    {
                        //更新单据主表的审批流数据
                        string sql04 = "update " + oBill.MvarItemKey + " set HCheckItemNowID=" + HCheckItemNowID + ",HCheckItemNextID=" + HCheckItemNextID + " where HInterID = " + lngBillKey;
                        oCn.RunProc(sql04);
                        objJsonResult.code = CodeConstant.SUCCEED;
                        objJsonResult.count = CountConstant.SUCCEED;
                        objJsonResult.Message = "审核成功";
                        objJsonResult.data = null;
                    }
                    else
                    {
                        //反审核提交AbandonCheck
                        if (oBill.AbandonCheck(oBill.omodel.HInterID, oBill.omodel.HBillNo, "h_p_Pay_ProcPriceRequestBill_AfterUnCheckCtrl", CurUserName, ref DBUtility.ClsPub.sExeReturnInfo) == true)
                        {
                            //更新单据主表的审批流数据
                            string sql04 = "update " + oBill.MvarItemKey + " set HCheckItemNowID=" + HCheckItemNowID + ",HCheckItemNextID=" + HCheckItemNextID + ",HBillStatus=6 " + " where HInterID = " + lngBillKey;
                            oCn.RunProc(sql04);
                            objJsonResult.code = CodeConstant.SUCCEED;
                            objJsonResult.count = CountConstant.SUCCEED;
                            objJsonResult.Message = "反审核成功";
                            objJsonResult.data = null;
                        }
                        else
                        {
                            objJsonResult.code = CodeConstant.FAIL;
                            objJsonResult.count = CountConstant.FAIL;
                            objJsonResult.Message = "反审核失败!原因:" + DBUtility.ClsPub.sExeReturnInfo;
                            objJsonResult.data = null;
                            oCn.RollBack();
                            return objJsonResult;
                        }
                    }
                }
                oCn.Commit();
                return objJsonResult;
            }
            catch (Exception e)
            {
                objJsonResult.code = CodeConstant.FAIL;
                objJsonResult.count = CountConstant.FAIL;
                objJsonResult.Message = "审核失败或者反审核失败!" + e.ToString();
                objJsonResult.data = null;
                oCn.RollBack();
                return objJsonResult;
            }
        }
        #endregion
    }
}
WebAPI/Controllers/¹¤×ʹÜÀí/Pay_SalaryCalculateController.cs
@@ -25,6 +25,58 @@
        string user_LongShan = "";
        string HName_LongShan = "";
        #region å·¥èµ„运算
        /// <summary>
        /// æ ¹æ®å¼€å§‹æ—¥æœŸã€ç»“束日期、班组进行工资运算
        /// </summary>
        /// <returns></returns>
        [Route("Pay_SalaryCulateController/GetSalaryCalculate_Json")]
        [HttpGet]
        public object GetSalaryCalculate_Json(DateTime HBeginDate, DateTime HEndDate, Int64 HGroupID, string HSourceBillType, string HMaker, Int64 HStockOrgID)
        {
            try
            {
                ds = oCN.RunProcReturn("exec h_p_Pay_SalaryCalculate '" + HBeginDate + "','" + HEndDate + "'," + HGroupID.ToString() + ",'" + HSourceBillType + "','" + HMaker + "'," + HStockOrgID.ToString(), "h_p_Pay_SalaryCalculate");
                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 = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HRemark"]);
                    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>
        /// è¿”回项目阶段列表
WebAPI/Controllers/¹¤×ʹÜÀí/Pay_SingleBalBillController.cs
@@ -783,12 +783,20 @@
        {
            try
            {
                DAL.ClsGy_ProcPrice_Ctl oProcPrice = new DAL.ClsGy_ProcPrice_Ctl();
                double HPrice = oProcPrice.LoadProcPrice(HMaterID, HProcID, HSourceID, true);
                double HPrice=0;
                ds = oCn.RunProcReturn("exec h_p_Pay_GetPriceByMaterHProcHSource " + HMaterID.ToString() + "," + HProcID.ToString() + "," + HSourceID.ToString(), "h_p_Pay_GetPriceByMaterHProcHSource");
                if (ds == null || ds.Tables[0].Rows.Count == 0)
                {
                    HPrice = 0;
                }
                else
                {
                    HPrice = DBUtility.ClsPub.isDoule(ds.Tables[0].Rows[0]["HPrice"]);
                }
                objJsonResult.code = "1";
                objJsonResult.code = "0";
                objJsonResult.count = 1;
                objJsonResult.Message = "Sucess!";
                objJsonResult.Message = "成功!";
                objJsonResult.data = HPrice;
                return objJsonResult;
            }
WebAPI/Controllers/ÌõÂë¹ÜÀí/WEBSController.cs
@@ -1208,11 +1208,11 @@
        /// <returns></returns>
        [Route("WEBSController/GetSourceBillList_Json")]
        [HttpGet]
        public object GetSourceBillList_Json(string HBillType, string HSourceBillType, Int64 HStockOrgID, string HSourceBillNo, string HMater)
        public object GetSourceBillList_Json(string HBillType, string HSourceBillType, Int64 HStockOrgID, string HSourceBillNo, string HMater, string HCustom)
        {
            try
            {
                ds = oCn.RunProcReturn("exec h_p_WMS_GetSourceBillList '" + HBillType + "','" + HSourceBillType + "'," + HStockOrgID.ToString() + ",'" + HSourceBillNo + "', '" + HMater + "'", "h_p_WMS_GetSourceBillList");
                ds = oCn.RunProcReturn("exec h_p_WMS_GetSourceBillList '" + HBillType + "','" + HSourceBillType + "'," + HStockOrgID.ToString() + ",'" + HSourceBillNo + "','" + HMater + "','" + HCustom + "'", "h_p_WMS_GetSourceBillList");
                if (ds == null || ds.Tables[0].Rows.Count == 0)
                {
                    objJsonResult.code = "0";
WebAPI/DLL/ClsGy_ProcMul_Ctl.cs
New file
@@ -0,0 +1,102 @@
using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
namespace WebAPI.DLL
{
    public class ClsGy_ProcMul_Ctl : DBUtility.ClsGy_Base_Ctl
    {
        SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
        //原代码 ç”¨äºŽ æ›¿æ¢å­é¡¹ç›®
        public string HOldNumber;
        public Model.ClsGy_ProcMul_Model oModel = new Model.ClsGy_ProcMul_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,HDeptID) " +
                    " 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.HDeptID+")", 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);
            }
        }
        //修改
        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 + "'" +
                    ",HStopflag=" + Convert.ToString(oModel.HStopflag ? 1 : 0) +
                    ",HRemark= '" + oModel.HRemark + "',"+
                    "HDeptID = "+ oModel.HDeptID + " 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);
            }
        }
        //根据代码判断信息
        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_ProcMul_Ctl()
        {
            MvarItemKey = "Gy_ProcMul";
            MvarReportTitle = "工段设置";
            oModel = new Model.ClsGy_ProcMul_Model();
        }
    }
}
WebAPI/Exceptions/EmptyException.cs
New file
@@ -0,0 +1,17 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
namespace WebAPI.Exceptions
{
    /// <summary>
    /// ç©ºæ•°æ®å¼‚常
    /// </summary>
    public class EmptyException : Exception
    {
        public EmptyException(string message): base(message)
        {
        }
    }
}
WebAPI/Exceptions/ExcelException.cs
New file
@@ -0,0 +1,17 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
namespace WebAPI.Exceptions
{
    /// <summary>
    /// EXCEL异常报错类
    /// </summary>
    public class ExcelException : Exception
    {
        public ExcelException(string message) : base(message)
        {
        }
    }
}
WebAPI/ListModels.cs
@@ -873,6 +873,19 @@
        }
        /// <summary>
        /// å¤„理新增模具保养计划单子表_计划的json
        /// </summary>
        /// <param name="jsonString"></param>
        /// <returns></returns>
        public List<Model.ClsSc_MouldMaintainPlanBillSub_Plan> getObjectByJson_Sc_MouldMaintainPlanBillSub_Plan(string jsonString)
        {
            jsonString = "[" + jsonString.ToString() + "]";
            List<Model.ClsSc_MouldMaintainPlanBillSub_Plan> list = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Model.ClsSc_MouldMaintainPlanBillSub_Plan>>(jsonString);
            return list;
        }
        /// <summary>
        /// å¤„理新增模具保养计划单子表保养信息的json
        /// </summary>
        /// <param name="jsonString"></param>
WebAPI/Models/Gy_Group.cs
@@ -26,6 +26,8 @@
        public string HCompName { get; set; }//劳务单位
        public string HPayMentType { get; set; }//记件类型
    }
}
WebAPI/Models/Gy_Mould.cs
@@ -69,6 +69,7 @@
        public int HNowSPID { get; set; }
        public double HInitLife { get; set; }
        public string HMouldUseStatus { get; set; }
    }
}
WebAPI/Models/Query/QueryModel.cs
New file
@@ -0,0 +1,23 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
namespace WebAPI.Models.Query
{
    /// <summary>
    /// æŸ¥è¯¢ç±»
    /// </summary>
    public class QueryModel
    {
        /// <summary>
        /// sql查询语句
        /// </summary>
        public string sWhere { get; set; }
        /// <summary>
        /// æŸ¥è¯¢ç”¨æˆ·
        /// </summary>
        public string user { get; set; }
    }
}
WebAPI/Models/QueryModel.cs
New file
@@ -0,0 +1,21 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Model
{
    public class QueryModel
    {
        /// <summary>
        /// sql查询语句
        /// </summary>
        public string sWhere { get; set; }
        /// <summary>
        /// æŸ¥è¯¢ç”¨æˆ·
        /// </summary>
        public string user { get; set; }
    }
}
WebAPI/Models/StationBill.cs
@@ -92,5 +92,6 @@
        public long HMaterToSourceInterID { get; set; }
        public string HMaterToSourceBillNo { get; set; }
        public int HMouldID { get; set; }
        public string HDate { get; set; }
    }
}
WebAPI/Models/»ù´¡×ÊÁÏ/Gy_Process.cs
@@ -48,5 +48,7 @@
        public int HQCSchemeID_Fst { get; set; }
        public int HQCSchemeID_Proc { get; set; }
        public int HQCSchemeID_Patrol { get; set; }
        public string HPayMentType { get; set; }
    }
}
WebAPI/Properties/PublishProfiles/FolderProfile10.pubxml.user
@@ -4,7 +4,7 @@
-->
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup>
    <History>True|2024-09-23T02:58:34.6129284Z;True|2024-09-23T10:58:28.2863739+08:00;True|2024-09-23T10:46:39.8062504+08:00;False|2024-09-23T10:46:28.2127212+08:00;True|2024-09-23T10:41:36.7887633+08:00;False|2024-09-23T10:41:31.1693720+08:00;True|2024-09-20T14:36:35.1508292+08:00;True|2024-09-20T14:23:14.7828767+08:00;True|2024-09-20T10:20:42.4614808+08:00;False|2024-09-20T10:20:30.9842799+08:00;True|2024-09-19T14:20:56.6643781+08:00;True|2024-09-19T09:54:32.7563188+08:00;False|2024-09-19T09:54:16.5345071+08:00;True|2024-09-19T09:07:11.2182586+08:00;False|2024-09-19T09:07:00.2356340+08:00;True|2024-09-18T16:52:00.1148169+08:00;True|2024-09-18T15:38:57.9090829+08:00;True|2024-09-18T14:31:35.3097924+08:00;True|2024-09-18T14:14:45.1332631+08:00;True|2024-09-18T10:03:32.4149929+08:00;True|2024-09-18T09:59:34.6584259+08:00;False|2024-09-18T09:59:28.1320018+08:00;True|2024-09-16T09:25:02.1321635+08:00;False|2024-09-16T09:24:52.9179557+08:00;True|2024-09-14T16:00:39.9413222+08:00;True|2024-09-14T15:57:04.7663346+08:00;True|2024-09-14T15:53:17.2804503+08:00;False|2024-09-14T15:53:10.3529010+08:00;True|2024-09-14T11:12:47.6871531+08:00;True|2024-09-14T11:09:14.5541471+08:00;True|2024-09-14T11:04:01.8286675+08:00;False|2024-09-14T11:03:52.5770773+08:00;True|2024-09-13T14:33:50.5043085+08:00;False|2024-09-13T14:33:44.9903004+08:00;True|2024-09-13T13:37:51.1937510+08:00;True|2024-09-13T10:20:53.2644847+08:00;False|2024-09-13T10:19:33.7686753+08:00;True|2024-09-12T19:15:21.9135805+08:00;False|2024-09-12T19:15:07.2717017+08:00;True|2024-09-12T17:25:26.5527019+08:00;True|2024-09-12T17:20:42.2498355+08:00;True|2024-09-12T17:16:44.8817635+08:00;True|2024-09-12T17:16:02.4132675+08:00;True|2024-09-12T17:08:14.2819047+08:00;True|2024-09-12T16:07:15.3675281+08:00;True|2024-09-12T16:06:23.8568906+08:00;True|2024-09-12T15:48:45.1455315+08:00;True|2024-09-12T14:59:30.0679595+08:00;True|2024-09-12T14:18:21.9534092+08:00;True|2024-09-12T14:07:35.2885035+08:00;False|2024-09-12T14:06:30.5732168+08:00;False|2024-09-12T14:06:17.1404767+08:00;True|2024-09-12T14:03:12.8150228+08:00;True|2024-09-12T13:53:20.7537798+08:00;True|2024-09-12T13:48:43.2408012+08:00;False|2024-09-12T13:48:36.5217018+08:00;True|2024-09-11T20:20:57.7845361+08:00;False|2024-09-11T20:20:38.9732855+08:00;True|2024-09-10T15:15:04.6204983+08:00;True|2024-09-10T11:33:55.3963324+08:00;True|2024-09-10T11:10:10.3836571+08:00;True|2024-09-10T10:39:06.5850395+08:00;True|2024-09-10T10:27:33.2463582+08:00;False|2024-09-10T10:26:05.4608008+08:00;True|2024-09-09T19:14:08.0718627+08:00;True|2024-09-09T19:08:42.5709780+08:00;False|2024-09-09T19:08:33.7817129+08:00;True|2024-09-06T17:00:13.2484828+08:00;False|2024-09-06T17:00:06.1281061+08:00;True|2024-09-05T11:39:53.4537518+08:00;False|2024-09-05T11:39:04.6111418+08:00;True|2024-09-04T12:39:24.8111127+08:00;True|2024-09-04T12:12:57.9411095+08:00;False|2024-09-04T12:12:28.6748628+08:00;True|2024-09-03T14:45:30.8259459+08:00;False|2024-09-03T14:45:19.1997455+08:00;True|2024-08-30T16:08:31.2415230+08:00;True|2024-08-30T15:18:36.6727666+08:00;True|2024-08-28T09:49:18.1543721+08:00;False|2024-08-28T09:49:11.7260337+08:00;True|2024-08-27T13:18:40.6234335+08:00;False|2024-08-27T13:18:33.9730040+08:00;True|2024-08-26T17:40:29.9158973+08:00;True|2024-08-26T17:21:30.8800173+08:00;True|2024-08-26T17:19:23.9260010+08:00;True|2024-08-26T14:27:20.8154004+08:00;True|2024-08-26T14:16:14.4482284+08:00;True|2024-08-26T13:12:42.9574127+08:00;True|2024-08-26T12:48:31.2107630+08:00;True|2024-08-26T11:07:15.1181342+08:00;False|2024-08-26T11:07:09.9429791+08:00;True|2024-08-26T10:49:20.8494484+08:00;True|2024-08-26T10:13:11.5222607+08:00;False|2024-08-26T10:12:59.1146882+08:00;True|2024-08-23T15:39:39.9842990+08:00;False|2024-08-23T15:39:33.9824708+08:00;True|2024-08-22T16:55:46.4689463+08:00;True|2024-08-22T16:44:25.0981764+08:00;True|2024-08-22T16:19:29.9801909+08:00;True|2024-08-22T14:25:13.5120259+08:00;True|2024-08-22T09:48:50.0760398+08:00;True|2024-08-21T16:09:41.0487181+08:00;True|2024-08-21T15:42:13.7474317+08:00;True|2024-08-21T15:10:24.6912112+08:00;True|2024-08-21T14:56:51.3255866+08:00;True|2024-08-21T14:50:12.3359730+08:00;True|2024-08-19T15:43:16.1549663+08:00;True|2024-08-19T15:27:26.4219971+08:00;True|2024-08-19T09:41:45.7449029+08:00;True|2024-06-08T12:38:30.4153773+08:00;True|2024-06-07T21:22:19.4545597+08:00;True|2024-06-07T21:05:53.1963741+08:00;True|2024-06-07T21:00:57.2568708+08:00;True|2024-06-07T14:39:19.6618679+08:00;True|2024-06-07T14:21:51.5169962+08:00;True|2024-06-07T11:29:08.0690999+08:00;True|2024-06-07T11:26:29.1494329+08:00;True|2024-06-07T11:20:41.2024309+08:00;True|2024-06-07T10:12:26.5905597+08:00;False|2024-06-07T10:11:35.3679434+08:00;</History>
    <History>True|2024-09-27T07:00:21.0482043Z;True|2024-09-27T14:57:07.0747471+08:00;True|2024-09-27T14:53:52.8423718+08:00;True|2024-09-27T13:29:58.8925618+08:00;False|2024-09-27T13:29:52.7163123+08:00;True|2024-09-26T20:27:04.5201970+08:00;True|2024-09-26T19:16:26.6734751+08:00;True|2024-09-26T19:13:46.3429211+08:00;True|2024-09-26T18:50:55.3033341+08:00;True|2024-09-26T18:35:44.3607797+08:00;True|2024-09-26T18:33:11.2986890+08:00;True|2024-09-26T18:08:00.5018121+08:00;True|2024-09-26T17:57:04.3987105+08:00;False|2024-09-26T17:55:37.3316215+08:00;True|2024-09-26T17:53:52.1377436+08:00;False|2024-09-26T17:53:46.2067050+08:00;True|2024-09-25T17:21:24.1078881+08:00;True|2024-09-25T17:04:17.9619045+08:00;True|2024-09-23T10:58:34.6129284+08:00;True|2024-09-23T10:58:28.2863739+08:00;True|2024-09-23T10:46:39.8062504+08:00;False|2024-09-23T10:46:28.2127212+08:00;True|2024-09-23T10:41:36.7887633+08:00;False|2024-09-23T10:41:31.1693720+08:00;True|2024-09-20T14:36:35.1508292+08:00;True|2024-09-20T14:23:14.7828767+08:00;True|2024-09-20T10:20:42.4614808+08:00;False|2024-09-20T10:20:30.9842799+08:00;True|2024-09-19T14:20:56.6643781+08:00;True|2024-09-19T09:54:32.7563188+08:00;False|2024-09-19T09:54:16.5345071+08:00;True|2024-09-19T09:07:11.2182586+08:00;False|2024-09-19T09:07:00.2356340+08:00;True|2024-09-18T16:52:00.1148169+08:00;True|2024-09-18T15:38:57.9090829+08:00;True|2024-09-18T14:31:35.3097924+08:00;True|2024-09-18T14:14:45.1332631+08:00;True|2024-09-18T10:03:32.4149929+08:00;True|2024-09-18T09:59:34.6584259+08:00;False|2024-09-18T09:59:28.1320018+08:00;True|2024-09-16T09:25:02.1321635+08:00;False|2024-09-16T09:24:52.9179557+08:00;True|2024-09-14T16:00:39.9413222+08:00;True|2024-09-14T15:57:04.7663346+08:00;True|2024-09-14T15:53:17.2804503+08:00;False|2024-09-14T15:53:10.3529010+08:00;True|2024-09-14T11:12:47.6871531+08:00;True|2024-09-14T11:09:14.5541471+08:00;True|2024-09-14T11:04:01.8286675+08:00;False|2024-09-14T11:03:52.5770773+08:00;True|2024-09-13T14:33:50.5043085+08:00;False|2024-09-13T14:33:44.9903004+08:00;True|2024-09-13T13:37:51.1937510+08:00;True|2024-09-13T10:20:53.2644847+08:00;False|2024-09-13T10:19:33.7686753+08:00;True|2024-09-12T19:15:21.9135805+08:00;False|2024-09-12T19:15:07.2717017+08:00;True|2024-09-12T17:25:26.5527019+08:00;True|2024-09-12T17:20:42.2498355+08:00;True|2024-09-12T17:16:44.8817635+08:00;True|2024-09-12T17:16:02.4132675+08:00;True|2024-09-12T17:08:14.2819047+08:00;True|2024-09-12T16:07:15.3675281+08:00;True|2024-09-12T16:06:23.8568906+08:00;True|2024-09-12T15:48:45.1455315+08:00;True|2024-09-12T14:59:30.0679595+08:00;True|2024-09-12T14:18:21.9534092+08:00;True|2024-09-12T14:07:35.2885035+08:00;False|2024-09-12T14:06:30.5732168+08:00;False|2024-09-12T14:06:17.1404767+08:00;True|2024-09-12T14:03:12.8150228+08:00;True|2024-09-12T13:53:20.7537798+08:00;True|2024-09-12T13:48:43.2408012+08:00;False|2024-09-12T13:48:36.5217018+08:00;True|2024-09-11T20:20:57.7845361+08:00;False|2024-09-11T20:20:38.9732855+08:00;True|2024-09-10T15:15:04.6204983+08:00;True|2024-09-10T11:33:55.3963324+08:00;True|2024-09-10T11:10:10.3836571+08:00;True|2024-09-10T10:39:06.5850395+08:00;True|2024-09-10T10:27:33.2463582+08:00;False|2024-09-10T10:26:05.4608008+08:00;True|2024-09-09T19:14:08.0718627+08:00;True|2024-09-09T19:08:42.5709780+08:00;False|2024-09-09T19:08:33.7817129+08:00;True|2024-09-06T17:00:13.2484828+08:00;False|2024-09-06T17:00:06.1281061+08:00;True|2024-09-05T11:39:53.4537518+08:00;False|2024-09-05T11:39:04.6111418+08:00;True|2024-09-04T12:39:24.8111127+08:00;True|2024-09-04T12:12:57.9411095+08:00;False|2024-09-04T12:12:28.6748628+08:00;True|2024-09-03T14:45:30.8259459+08:00;False|2024-09-03T14:45:19.1997455+08:00;True|2024-08-30T16:08:31.2415230+08:00;True|2024-08-30T15:18:36.6727666+08:00;True|2024-08-28T09:49:18.1543721+08:00;False|2024-08-28T09:49:11.7260337+08:00;True|2024-08-27T13:18:40.6234335+08:00;False|2024-08-27T13:18:33.9730040+08:00;True|2024-08-26T17:40:29.9158973+08:00;True|2024-08-26T17:21:30.8800173+08:00;True|2024-08-26T17:19:23.9260010+08:00;True|2024-08-26T14:27:20.8154004+08:00;True|2024-08-26T14:16:14.4482284+08:00;True|2024-08-26T13:12:42.9574127+08:00;True|2024-08-26T12:48:31.2107630+08:00;True|2024-08-26T11:07:15.1181342+08:00;False|2024-08-26T11:07:09.9429791+08:00;True|2024-08-26T10:49:20.8494484+08:00;True|2024-08-26T10:13:11.5222607+08:00;False|2024-08-26T10:12:59.1146882+08:00;True|2024-08-23T15:39:39.9842990+08:00;False|2024-08-23T15:39:33.9824708+08:00;True|2024-08-22T16:55:46.4689463+08:00;True|2024-08-22T16:44:25.0981764+08:00;True|2024-08-22T16:19:29.9801909+08:00;True|2024-08-22T14:25:13.5120259+08:00;True|2024-08-22T09:48:50.0760398+08:00;True|2024-08-21T16:09:41.0487181+08:00;True|2024-08-21T15:42:13.7474317+08:00;True|2024-08-21T15:10:24.6912112+08:00;True|2024-08-21T14:56:51.3255866+08:00;True|2024-08-21T14:50:12.3359730+08:00;True|2024-08-19T15:43:16.1549663+08:00;True|2024-08-19T15:27:26.4219971+08:00;True|2024-08-19T09:41:45.7449029+08:00;True|2024-06-08T12:38:30.4153773+08:00;True|2024-06-07T21:22:19.4545597+08:00;True|2024-06-07T21:05:53.1963741+08:00;True|2024-06-07T21:00:57.2568708+08:00;True|2024-06-07T14:39:19.6618679+08:00;True|2024-06-07T14:21:51.5169962+08:00;True|2024-06-07T11:29:08.0690999+08:00;True|2024-06-07T11:26:29.1494329+08:00;True|2024-06-07T11:20:41.2024309+08:00;True|2024-06-07T10:12:26.5905597+08:00;False|2024-06-07T10:11:35.3679434+08:00;</History>
    <_PublishTargetUrl>D:\网站发布\智云MESWMS\API</_PublishTargetUrl>
  </PropertyGroup>
  <ItemGroup>
@@ -45,28 +45,28 @@
      <publishTime>02/22/2013 16:43:40</publishTime>
    </File>
    <File Include="bin/BLL.dll">
      <publishTime>09/23/2024 10:58:03</publishTime>
      <publishTime>09/27/2024 14:59:57</publishTime>
    </File>
    <File Include="bin/BLL.pdb">
      <publishTime>09/23/2024 10:58:03</publishTime>
      <publishTime>09/27/2024 14:59:57</publishTime>
    </File>
    <File Include="bin/BouncyCastle.Crypto.dll">
      <publishTime>12/18/2020 05:32:28</publishTime>
    </File>
    <File Include="bin/DAL.dll">
      <publishTime>09/23/2024 10:58:02</publishTime>
      <publishTime>09/27/2024 14:59:56</publishTime>
    </File>
    <File Include="bin/DAL.pdb">
      <publishTime>09/23/2024 10:58:02</publishTime>
      <publishTime>09/27/2024 14:59:56</publishTime>
    </File>
    <File Include="bin/Dapper.dll">
      <publishTime>07/22/2016 22:52:40</publishTime>
    </File>
    <File Include="bin/DBUtility.dll">
      <publishTime>09/23/2024 10:57:59</publishTime>
      <publishTime>09/27/2024 14:59:53</publishTime>
    </File>
    <File Include="bin/DBUtility.pdb">
      <publishTime>09/23/2024 10:57:59</publishTime>
      <publishTime>09/27/2024 14:59:53</publishTime>
    </File>
    <File Include="bin/Grpc.Core.Api.dll">
      <publishTime>03/22/2022 13:17:26</publishTime>
@@ -111,10 +111,10 @@
      <publishTime>07/25/2012 19:48:56</publishTime>
    </File>
    <File Include="bin/Model.dll">
      <publishTime>09/23/2024 10:58:00</publishTime>
      <publishTime>09/27/2024 14:59:53</publishTime>
    </File>
    <File Include="bin/Model.pdb">
      <publishTime>09/23/2024 10:58:00</publishTime>
      <publishTime>09/27/2024 14:59:53</publishTime>
    </File>
    <File Include="bin/Models/ClsSc_MouldScrapOutBillMain.cs">
      <publishTime>05/25/2024 09:46:41</publishTime>
@@ -147,34 +147,34 @@
      <publishTime>10/23/2021 17:07:54</publishTime>
    </File>
    <File Include="bin/Pub_Class.dll">
      <publishTime>09/23/2024 10:57:58</publishTime>
      <publishTime>09/27/2024 14:59:51</publishTime>
    </File>
    <File Include="bin/Pub_Class.pdb">
      <publishTime>09/23/2024 10:57:58</publishTime>
      <publishTime>09/27/2024 14:59:51</publishTime>
    </File>
    <File Include="bin/Pub_Control.dll">
      <publishTime>09/23/2024 10:57:59</publishTime>
      <publishTime>09/27/2024 14:59:52</publishTime>
    </File>
    <File Include="bin/Pub_Control.pdb">
      <publishTime>09/23/2024 10:57:59</publishTime>
      <publishTime>09/27/2024 14:59:52</publishTime>
    </File>
    <File Include="bin/RestSharp.dll">
      <publishTime>08/31/2012 06:22:50</publishTime>
    </File>
    <File Include="bin/SQLHelper.dll">
      <publishTime>09/23/2024 10:57:59</publishTime>
      <publishTime>09/27/2024 14:59:52</publishTime>
    </File>
    <File Include="bin/SQLHelper.pdb">
      <publishTime>09/23/2024 10:57:59</publishTime>
      <publishTime>09/27/2024 14:59:52</publishTime>
    </File>
    <File Include="bin/Swashbuckle.Core.dll">
      <publishTime>02/16/2015 01:57:08</publishTime>
    </File>
    <File Include="bin/SyntacticSugar.dll">
      <publishTime>09/23/2024 10:57:57</publishTime>
      <publishTime>09/27/2024 14:59:51</publishTime>
    </File>
    <File Include="bin/SyntacticSugar.pdb">
      <publishTime>09/23/2024 10:57:57</publishTime>
      <publishTime>09/27/2024 14:59:51</publishTime>
    </File>
    <File Include="bin/System.Buffers.dll">
      <publishTime>07/19/2017 18:01:28</publishTime>
@@ -285,19 +285,19 @@
      <publishTime>05/09/2023 10:43:40</publishTime>
    </File>
    <File Include="bin/TopSdk.dll">
      <publishTime>09/23/2024 10:58:00</publishTime>
      <publishTime>09/27/2024 14:59:53</publishTime>
    </File>
    <File Include="bin/TopSdk.pdb">
      <publishTime>09/23/2024 10:58:00</publishTime>
      <publishTime>09/27/2024 14:59:53</publishTime>
    </File>
    <File Include="bin/WebActivatorEx.dll">
      <publishTime>11/24/2014 19:18:48</publishTime>
    </File>
    <File Include="bin/WebAPI.dll">
      <publishTime>09/23/2024 10:58:21</publishTime>
      <publishTime>09/27/2024 15:00:14</publishTime>
    </File>
    <File Include="bin/WebAPI.pdb">
      <publishTime>09/23/2024 10:58:21</publishTime>
      <publishTime>09/27/2024 15:00:14</publishTime>
    </File>
    <File Include="bin/WebGrease.dll">
      <publishTime>07/18/2013 01:03:52</publishTime>
@@ -492,7 +492,7 @@
      <publishTime>05/25/2024 09:46:41</publishTime>
    </File>
    <File Include="Web.config">
      <publishTime>09/23/2024 10:58:27</publishTime>
      <publishTime>09/27/2024 15:00:20</publishTime>
    </File>
  </ItemGroup>
</Project>
WebAPI/Properties/PublishProfiles/FolderProfilewtt.pubxml.user
@@ -4,7 +4,7 @@
-->
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup>
    <History>True|2024-09-20T01:59:12.9943442Z;False|2024-09-20T09:58:18.6945854+08:00;True|2024-09-12T20:40:58.7161451+08:00;False|2024-09-12T20:40:00.0672966+08:00;True|2024-09-12T16:47:22.7671323+08:00;True|2024-09-12T16:34:18.5850144+08:00;True|2024-09-12T16:13:32.1929032+08:00;True|2024-09-12T09:12:54.4456999+08:00;False|2024-09-12T09:12:06.1002866+08:00;False|2024-09-11T21:06:15.4423786+08:00;True|2024-09-10T15:26:48.7055081+08:00;True|2024-09-10T09:26:36.8509916+08:00;True|2024-09-09T19:51:32.6059511+08:00;True|2024-09-09T19:05:47.5349922+08:00;True|2024-09-09T09:26:23.2022383+08:00;False|2024-09-09T09:25:27.3736749+08:00;True|2024-09-06T15:32:52.1865278+08:00;True|2024-09-06T15:16:01.1405794+08:00;True|2024-09-06T14:21:05.7482343+08:00;True|2024-09-06T14:09:17.1494566+08:00;True|2024-09-06T13:49:56.4128481+08:00;True|2024-09-06T13:11:53.0863947+08:00;True|2024-09-06T09:34:54.5934463+08:00;True|2024-09-06T08:47:19.9744092+08:00;True|2024-09-05T15:01:38.6968629+08:00;True|2024-09-05T14:56:09.3505818+08:00;True|2024-09-05T14:49:56.8774757+08:00;True|2024-09-05T08:14:13.2359921+08:00;False|2024-09-05T08:13:11.8797534+08:00;True|2024-09-03T16:52:02.8227375+08:00;False|2024-09-03T16:51:32.4250926+08:00;True|2024-09-03T16:33:05.7269609+08:00;True|2024-09-03T16:00:15.0288548+08:00;True|2024-08-29T08:06:32.4732067+08:00;False|2024-08-29T08:06:02.4801886+08:00;True|2024-08-26T10:17:08.7733750+08:00;False|2024-08-26T10:11:05.1864217+08:00;False|2024-08-26T09:50:31.1539306+08:00;False|2024-08-26T09:47:37.4351309+08:00;True|2024-08-16T16:55:32.0918962+08:00;True|2024-08-16T16:53:23.3505641+08:00;False|2024-08-16T16:49:30.4579212+08:00;False|2024-08-16T16:47:01.9799743+08:00;</History>
    <History>True|2024-10-03T02:57:02.9299524Z;True|2024-10-03T10:02:10.1156720+08:00;True|2024-09-30T11:07:22.5376794+08:00;True|2024-09-30T10:15:40.3990343+08:00;True|2024-09-30T10:04:38.1942221+08:00;True|2024-09-29T19:22:01.5340857+08:00;False|2024-09-29T19:21:12.2387012+08:00;True|2024-09-26T09:50:22.2637977+08:00;True|2024-09-25T20:44:33.3994634+08:00;True|2024-09-25T16:07:23.2747063+08:00;True|2024-09-25T14:55:37.9194143+08:00;True|2024-09-24T20:03:43.9841995+08:00;True|2024-09-24T19:42:48.7479102+08:00;True|2024-09-24T19:38:31.5777012+08:00;True|2024-09-24T16:26:58.5969765+08:00;True|2024-09-24T15:31:00.7140362+08:00;True|2024-09-24T10:17:46.7830753+08:00;True|2024-09-24T09:40:19.5788062+08:00;False|2024-09-24T09:39:27.4521802+08:00;True|2024-09-23T19:35:55.3572583+08:00;True|2024-09-23T18:53:15.4480118+08:00;False|2024-09-23T18:52:22.0135173+08:00;True|2024-09-20T09:59:12.9943442+08:00;False|2024-09-20T09:58:18.6945854+08:00;True|2024-09-12T20:40:58.7161451+08:00;False|2024-09-12T20:40:00.0672966+08:00;True|2024-09-12T16:47:22.7671323+08:00;True|2024-09-12T16:34:18.5850144+08:00;True|2024-09-12T16:13:32.1929032+08:00;True|2024-09-12T09:12:54.4456999+08:00;False|2024-09-12T09:12:06.1002866+08:00;False|2024-09-11T21:06:15.4423786+08:00;True|2024-09-10T15:26:48.7055081+08:00;True|2024-09-10T09:26:36.8509916+08:00;True|2024-09-09T19:51:32.6059511+08:00;True|2024-09-09T19:05:47.5349922+08:00;True|2024-09-09T09:26:23.2022383+08:00;False|2024-09-09T09:25:27.3736749+08:00;True|2024-09-06T15:32:52.1865278+08:00;True|2024-09-06T15:16:01.1405794+08:00;True|2024-09-06T14:21:05.7482343+08:00;True|2024-09-06T14:09:17.1494566+08:00;True|2024-09-06T13:49:56.4128481+08:00;True|2024-09-06T13:11:53.0863947+08:00;True|2024-09-06T09:34:54.5934463+08:00;True|2024-09-06T08:47:19.9744092+08:00;True|2024-09-05T15:01:38.6968629+08:00;True|2024-09-05T14:56:09.3505818+08:00;True|2024-09-05T14:49:56.8774757+08:00;True|2024-09-05T08:14:13.2359921+08:00;False|2024-09-05T08:13:11.8797534+08:00;True|2024-09-03T16:52:02.8227375+08:00;False|2024-09-03T16:51:32.4250926+08:00;True|2024-09-03T16:33:05.7269609+08:00;True|2024-09-03T16:00:15.0288548+08:00;True|2024-08-29T08:06:32.4732067+08:00;False|2024-08-29T08:06:02.4801886+08:00;True|2024-08-26T10:17:08.7733750+08:00;False|2024-08-26T10:11:05.1864217+08:00;False|2024-08-26T09:50:31.1539306+08:00;False|2024-08-26T09:47:37.4351309+08:00;True|2024-08-16T16:55:32.0918962+08:00;True|2024-08-16T16:53:23.3505641+08:00;False|2024-08-16T16:49:30.4579212+08:00;False|2024-08-16T16:47:01.9799743+08:00;</History>
    <_PublishTargetUrl>G:\issWeb\网站发布\API</_PublishTargetUrl>
  </PropertyGroup>
  <ItemGroup>
@@ -45,28 +45,28 @@
      <publishTime>02/22/2013 16:43:40</publishTime>
    </File>
    <File Include="bin/BLL.dll">
      <publishTime>09/20/2024 16:18:49</publishTime>
      <publishTime>10/08/2024 10:34:50</publishTime>
    </File>
    <File Include="bin/BLL.pdb">
      <publishTime>09/20/2024 16:18:49</publishTime>
      <publishTime>10/08/2024 10:34:50</publishTime>
    </File>
    <File Include="bin/BouncyCastle.Crypto.dll">
      <publishTime>12/18/2020 05:32:28</publishTime>
    </File>
    <File Include="bin/DAL.dll">
      <publishTime>09/20/2024 16:18:47</publishTime>
      <publishTime>10/08/2024 10:34:48</publishTime>
    </File>
    <File Include="bin/DAL.pdb">
      <publishTime>09/20/2024 16:18:47</publishTime>
      <publishTime>10/08/2024 10:34:48</publishTime>
    </File>
    <File Include="bin/Dapper.dll">
      <publishTime>07/22/2016 22:52:40</publishTime>
    </File>
    <File Include="bin/DBUtility.dll">
      <publishTime>09/20/2024 16:18:41</publishTime>
      <publishTime>10/08/2024 10:34:40</publishTime>
    </File>
    <File Include="bin/DBUtility.pdb">
      <publishTime>09/20/2024 16:18:41</publishTime>
      <publishTime>10/08/2024 10:34:40</publishTime>
    </File>
    <File Include="bin/Grpc.Core.Api.dll">
      <publishTime>03/22/2022 13:17:26</publishTime>
@@ -111,10 +111,10 @@
      <publishTime>07/25/2012 19:48:56</publishTime>
    </File>
    <File Include="bin/Model.dll">
      <publishTime>09/20/2024 16:18:42</publishTime>
      <publishTime>10/08/2024 10:34:41</publishTime>
    </File>
    <File Include="bin/Model.pdb">
      <publishTime>09/20/2024 16:18:42</publishTime>
      <publishTime>10/08/2024 10:34:41</publishTime>
    </File>
    <File Include="bin/Models/ClsSc_MouldScrapOutBillMain.cs">
      <publishTime>04/15/2024 12:55:45</publishTime>
@@ -147,34 +147,34 @@
      <publishTime>10/23/2021 17:07:54</publishTime>
    </File>
    <File Include="bin/Pub_Class.dll">
      <publishTime>09/20/2024 16:18:39</publishTime>
      <publishTime>10/08/2024 10:34:37</publishTime>
    </File>
    <File Include="bin/Pub_Class.pdb">
      <publishTime>09/20/2024 16:18:39</publishTime>
      <publishTime>10/08/2024 10:34:37</publishTime>
    </File>
    <File Include="bin/Pub_Control.dll">
      <publishTime>09/20/2024 16:18:40</publishTime>
      <publishTime>10/08/2024 10:34:39</publishTime>
    </File>
    <File Include="bin/Pub_Control.pdb">
      <publishTime>09/20/2024 16:18:40</publishTime>
      <publishTime>10/08/2024 10:34:39</publishTime>
    </File>
    <File Include="bin/RestSharp.dll">
      <publishTime>08/31/2012 06:22:50</publishTime>
    </File>
    <File Include="bin/SQLHelper.dll">
      <publishTime>09/20/2024 16:18:40</publishTime>
      <publishTime>10/08/2024 10:34:39</publishTime>
    </File>
    <File Include="bin/SQLHelper.pdb">
      <publishTime>09/20/2024 16:18:40</publishTime>
      <publishTime>10/08/2024 10:34:39</publishTime>
    </File>
    <File Include="bin/Swashbuckle.Core.dll">
      <publishTime>02/16/2015 01:57:08</publishTime>
    </File>
    <File Include="bin/SyntacticSugar.dll">
      <publishTime>09/20/2024 16:14:46</publishTime>
      <publishTime>10/08/2024 10:32:31</publishTime>
    </File>
    <File Include="bin/SyntacticSugar.pdb">
      <publishTime>09/20/2024 16:14:46</publishTime>
      <publishTime>10/08/2024 10:32:31</publishTime>
    </File>
    <File Include="bin/System.Buffers.dll">
      <publishTime>07/19/2017 18:01:28</publishTime>
@@ -285,19 +285,19 @@
      <publishTime>05/09/2023 10:43:40</publishTime>
    </File>
    <File Include="bin/TopSdk.dll">
      <publishTime>09/20/2024 16:14:52</publishTime>
      <publishTime>10/08/2024 10:32:36</publishTime>
    </File>
    <File Include="bin/TopSdk.pdb">
      <publishTime>09/20/2024 16:14:52</publishTime>
      <publishTime>10/08/2024 10:32:36</publishTime>
    </File>
    <File Include="bin/WebActivatorEx.dll">
      <publishTime>11/24/2014 19:18:48</publishTime>
    </File>
    <File Include="bin/WebAPI.dll">
      <publishTime>09/20/2024 16:19:21</publishTime>
      <publishTime>10/08/2024 10:35:31</publishTime>
    </File>
    <File Include="bin/WebAPI.pdb">
      <publishTime>09/20/2024 16:19:21</publishTime>
      <publishTime>10/08/2024 10:35:31</publishTime>
    </File>
    <File Include="bin/WebAPI.XmlSerializers.dll">
      <publishTime>08/16/2024 16:55:28</publishTime>
@@ -495,7 +495,7 @@
      <publishTime>04/29/2024 08:30:03</publishTime>
    </File>
    <File Include="Web.config">
      <publishTime>09/20/2024 09:59:09</publishTime>
      <publishTime>10/03/2024 10:57:02</publishTime>
    </File>
  </ItemGroup>
</Project>
WebAPI/Utility/TreeUtil.cs
New file
@@ -0,0 +1,74 @@
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Web;
namespace WebAPI.Utility
{
    public class TreeUtil
    {
        public class TreeModel
        {
            public string id { get; set; }
            public string title { get; set; }
            public List<TreeModel> children = new List<TreeModel>();
        }
        #region é€’归函数
        /// <summary>
        /// é€’归函数
        /// </summary>
        public void digui(DataTable dt, List<TreeModel> tree, int num)
        {
            for (int m = 0; m < tree.Count; m++)
            {
                tree[m].children = new List<TreeModel>();
                for (int i = 0; i < dt.Rows.Count; i++)//第一次循环,得到所有根节点的子集
                {
                    var strLen = dt.Rows[i]["hnumber"].ToString().Split('.');
                    if (strLen.Length == num && dt.Rows[i]["hnumber"].ToString().Contains(tree[m].id + "."))
                    {
                        TreeModel tbjson = new TreeModel();
                        tbjson.id = dt.Rows[i]["hitemid"].ToString();
                        tbjson.title = dt.Rows[i]["hname"].ToString();
                        tree[m].children.Add(tbjson);
                    }
                }
                var strLens = tree[m].id.Split('.');
                for (int i = 0; i < tree[m].children.Count; i++)
                {
                    digui(dt, tree[m].children, strLens.Length + 2);//再次用子集去循环,拿出子集的子集
                }
            }
        }
        #endregion
        #region åˆ†ç±» æ ‘形图(根据代码展开树状图)
        public void getTreeByLevel(DataTable dt, List<TreeModel> tree, int num)
        {
            for (int m = 0; m < tree.Count; m++)
            {
                tree[m].children = new List<TreeModel>();
                for (int i = 0; i < dt.Rows.Count; i++)//第一次循环,得到所有根节点的子集
                {
                    var HLevel = (int)dt.Rows[i]["hlevel"];
                    var HParentID = dt.Rows[i]["hparentid"].ToString();
                    if (HLevel == num && HParentID == tree[m].id)
                    {
                        TreeModel tbjson = new TreeModel();
                        tbjson.id = dt.Rows[i]["hitemid"].ToString();
                        tbjson.title = dt.Rows[i]["hname"].ToString();
                        tree[m].children.Add(tbjson);
                    }
                }
                for (int i = 0; i < tree[m].children.Count; i++)
                {
                    getTreeByLevel(dt, tree[m].children, num + 1);//再次用子集去循环,拿出子集的子集
                }
            }
        }
        #endregion
    }
}
WebAPI/Web.config
@@ -22,9 +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.11/WEBS-WMS/WebService1.asmx" />--><!--颜台式机-->
        <!--<add key="sUrl" value="http://192.168.0.11/WEBS-WMS/WebService1.asmx"/>-->
        <!--颜台式机-->
        <add key="sUrl" value="http://192.168.0.11/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"/>    åšæ—¥ç§‘技-->
@@ -34,11 +32,10 @@
        <!--<add key="sUrl" value="http://192.168.80.90:9090/WEBS/WebService1.asmx"/>     å®‰ç‘žæœåС噍-->
        <!--<add key="sUrl" value="http://122.227.133.186:8090/WEBS/WebService1.asmx"/>    -->
        <!--<add key="sUrl" value="http://192.168.80.90:9090/WEBS-WMS/WebService1.asmx"/>     å®‰ç‘žæœåС噍-->
        <!--<add key="sUrl" value="http://47.96.97.237/WEBS-WMS/WebService1.asmx"/> -->
        <!--测试服务器-->
        <!--<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"/>--><!--斯莫尔-->
        
@@ -109,13 +106,13 @@
            </basicHttpBinding>
        </bindings>
        <client>
            <endpoint address="http://10.10.1.2:8090/WEBS-WMS/WebService1.asmx" binding="basicHttpBinding" bindingConfiguration="WebService1Soap" contract="Webs1.WebService1Soap" name="WebService1Soap" />
            <endpoint address="http://192.168.0.11/WEBS-WMS/WebService1.asmx" binding="basicHttpBinding" bindingConfiguration="WebService1Soap" contract="Webs1.WebService1Soap" name="WebService1Soap" />
        </client>
    </system.serviceModel>
    <applicationSettings>
        <WebAPI.Properties.Settings>
            <setting name="WebAPI_WebS_WebService1" serializeAs="String">
                <value>http://10.10.1.2:8090/WEBS-WMS/WebService1.asmx</value>
                <value>http://192.168.0.11/WEBS-WMS/WebService1.asmx</value>
            </setting>
        </WebAPI.Properties.Settings>
    </applicationSettings>
WebAPI/WebAPI.csproj
@@ -598,6 +598,7 @@
    <Compile Include="Controllers\基础资料\基础资料\Gy_OperatorController.cs" />
    <Compile Include="Controllers\基础资料\基础资料\Gy_PaymentConditionListBillController.cs" />
    <Compile Include="Controllers\基础资料\基础资料\Gy_DisposeWayController.cs" />
    <Compile Include="Controllers\基础资料\基础资料\Gy_ProcMulController.cs" />
    <Compile Include="Controllers\基础资料\基础资料\Gy_ScrapReasonController.cs" />
    <Compile Include="Controllers\基础资料\基础资料\Gy_TemporaryAreaController.cs" />
    <Compile Include="Controllers\基础资料\基础资料\Gy_RateTypeController.cs" />
@@ -724,6 +725,7 @@
    <Compile Include="Dapper\SqlPools.cs" />
    <Compile Include="DbUntil\DataFormatUntil.cs" />
    <Compile Include="DLL\ClsGy_BadPhenomena_Ctl.cs" />
    <Compile Include="DLL\ClsGy_ProcMul_Ctl.cs" />
    <Compile Include="DLL\ClsGy_TechnologyParameterType_Ctl.cs" />
    <Compile Include="DLL\ClsGy_InspectInstruMent_Ctl.cs" />
    <Compile Include="DLL\ClsGy_InspectBasis_Ctl.cs" />
@@ -797,6 +799,8 @@
    <Compile Include="DLL\工资管理\ClsPay_WorkTimesBill.cs" />
    <Compile Include="DLL\钉钉消息\Cls_DDMsg.cs" />
    <Compile Include="DLL\项目管理\项目阶段\ClsPM_CustomerProInfoBill_Ctl.cs" />
    <Compile Include="Exceptions\EmptyException.cs" />
    <Compile Include="Exceptions\ExcelException.cs" />
    <Compile Include="HttpClient.cs" />
    <Compile Include="InvokeHelper.cs" />
    <Compile Include="Log.cs" />
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:\智云迈思\MES\MES-WEB-API\WebAPI\Properties\PublishProfiles\FolderProfile10.pubxml</NameOfLastUsedPublishProfile>
    <NameOfLastUsedPublishProfile>C:\Users\86130\Desktop\智云迈思\MES-WEB-API\WebAPI\Properties\PublishProfiles\FolderProfilewtt.pubxml</NameOfLastUsedPublishProfile>
    <LastActiveSolutionConfig>Debug|Any CPU</LastActiveSolutionConfig>
    <UseIISExpress>true</UseIISExpress>
    <Use64BitIISExpress />
@@ -18,7 +18,7 @@
    <IISExpressWindowsAuthentication>disabled</IISExpressWindowsAuthentication>
    <IISExpressUseClassicPipelineMode>false</IISExpressUseClassicPipelineMode>
    <UseGlobalApplicationHostFile />
    <ProjectView>ProjectFiles</ProjectView>
    <ProjectView>ShowAllFiles</ProjectView>
    <Controller_SelectedScaffolderID>ApiControllerEmptyScaffolder</Controller_SelectedScaffolderID>
    <Controller_SelectedScaffolderCategoryPath>root/Common/Web API</Controller_SelectedScaffolderCategoryPath>
  </PropertyGroup>
WebAPI/WebBLL/JCJM/GYZL/Gy_CustomerService.cs
New file
@@ -0,0 +1,25 @@
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace WebAPI.WebBLL.JCJM.GYZL
{
    interface Gy_CustomerService
    {
        /// <summary>
        /// å¯¼å…¥excel
        /// </summary>
        void ImportExcel();
        /// <summary>
        /// ä¸Šä¼ excel
        /// </summary>
        /// <returns></returns>
        DataTable UploadExcel(DataSet ExcelDs);
    }
}
WebAPI/WebBLL/JCJM/IMPL/Gy_CustomerImpl.cs
New file
@@ -0,0 +1,207 @@
using SyntacticSugar.constant;
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Threading.Tasks;
using System.Web;
using WebAPI.Exceptions;
using WebAPI.WebBLL.JCJM.GYZL;
namespace WebAPI.WebBLL.JCJM.IMPL
{
    public class Gy_CustomerImpl : Gy_CustomerService
    {
        // çº¿ç¨‹è®¡æ•°å™¨
        List<Task> taskList = new List<Task>();
        SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
        #region å¯¼å…¥EXCEL
        public void ImportExcel()
        {
            throw new NotImplementedException();
        }
        #endregion
        /// <summary>
        /// åˆ¤æ–­åˆ—
        /// </summary>
        /// <param name="provisional"></param>
        /// <returns></returns>
        private static string JudgmentColumns(DataTable provisional)
        {
            var error = "";
            //查询没有的列
            if (!provisional.Columns.Contains("客户代码"))
                error += "没有找到【客户代码】的标题,";
            if (!provisional.Columns.Contains("客户名称"))
                error += "没有找到【客户名称】的标题,";
            return error;
        }
        #region ä¸Šä¼ EXCEL
        public DataTable UploadExcel(DataSet ExcelDs)
        {
            //创建临时表
            DataTable provisional = new DataTable("dt2");
            //添加列名
            for (int i = 0; i < ExcelDs.Tables[0].Columns.Count; i++)
            {
                provisional.Columns.Add(ExcelDs.Tables[0].Rows[0][i].ToString());
            }
            //添加数据
            for (int i = 1; i < ExcelDs.Tables[0].Rows.Count; i++)
            {
                DataRow row = provisional.NewRow();
                for (int j = 0; j < ExcelDs.Tables[0].Columns.Count; j++)
                {
                    row[j] = ExcelDs.Tables[0].Rows[i][j].ToString();
                }
                provisional.Rows.Add(row);
            }
            //判断列
            string error = JudgmentColumns(provisional);
            if (error.Length > 0)
            {
                throw new ExcelException($"Excel模板存在错误,{error}\r\n");
            }
            for (int i = 0; i <= provisional.Rows.Count - 1; i++)
            {
                string HRegionNumber = DBUtility.ClsPub.isStrNull(provisional.Rows[i]["地区代码"].ToString());
                string HRegionName = DBUtility.ClsPub.isStrNull(provisional.Rows[i]["地区名称"].ToString());
                string HCurrencyNumber = DBUtility.ClsPub.isStrNull(provisional.Rows[i]["默认货币代码"].ToString());
                string HCurrencyName = DBUtility.ClsPub.isStrNull(provisional.Rows[i]["默认货币名称"].ToString());
                //string HBillingNumber = DBUtility.ClsPub.isStrNull(provisional.Rows[i]["结算方式代码"].ToString());
                //string HBillingName = DBUtility.ClsPub.isStrNull(provisional.Rows[i]["结算方式名称"].ToString());
                string HCusTypeNumber = DBUtility.ClsPub.isStrNull(provisional.Rows[i]["客户分类代码"].ToString());
                string HCusTypeName = DBUtility.ClsPub.isStrNull(provisional.Rows[i]["客户分类名称"].ToString());
                //记录任务
                var tasks = new List<Task>();
                //如果当前地区代码和地区名称不为空则判断是否存在
                if (!String.IsNullOrEmpty(HRegionName) || !String.IsNullOrEmpty(HRegionNumber))
                {
                    tasks.Add(JudgeRegion(HRegionNumber, HRegionName));
                }
                // å¦‚果当前货币代码和货币名称不为空则判断是否存在
                if (!String.IsNullOrEmpty(HCurrencyName) || !String.IsNullOrEmpty(HCurrencyNumber))
                    {
                        tasks.Add(JudgeCurrency(HCurrencyNumber, HCurrencyName));
                    }
                //如果当前客户分类代码和名称
                if (!String.IsNullOrEmpty(HCusTypeName) || !String.IsNullOrEmpty(HCusTypeNumber))
                    {
                        tasks.Add(JudgeCusType(HCusTypeNumber, HCusTypeName));
                    }
                try
                {
                    //等待任务完成
                    Task.WaitAll(tasks.ToArray());
                }
                catch (AggregateException ae)
                {
                    string msg = ae.Message;
                    ae.Handle(ex => {
                        if (ex is EmptyException)
                            msg = ex.Message;
                            Console.WriteLine(ex.Message);
                        return ex is EmptyException;
                    });
                    throw new Exception("第" + i +1 +"有问题: " +msg);
                }
                //获取真实行数
                int line = i + 1;
            }
            return provisional;
        }
        /// <summary>
        /// åˆ¤æ–­åœ°åŒºæ˜¯å¦æ­£ç¡®
        /// </summary>
        private Task<int> JudgeRegion(string HNumber, string HName)
        {
            return Task<int>.Factory.StartNew(() =>
            {
                try
                {
                    SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
                    DataSet ds = oCN.RunProcReturn("select * from Gy_AreaSet where HNumber = '" + HNumber + "' and HName = '" + HName + "'", "Gy_AreaSet");
                    if (ds.Tables[0].Rows.Count == EmptyConstant.EMPTY)
                    {
                        throw new EmptyException("当前地区不存在,请重新选择");
                    }
                    return (int)ds.Tables[0].Rows[0][0];
                }
                catch (Exception e)
                {
                    throw new EmptyException(e.Message);
                }
            });
        }
        /// <summary>
        /// åˆ¤æ–­è´§å¸æ˜¯å¦æ­£ç¡®
        /// </summary>
        private Task<int> JudgeCurrency(string HNumber, string HName)
        {
            {
                return Task<int>.Factory.StartNew(() =>
                {
                    try
                    {
                        SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
                        DataSet ds = oCN.RunProcReturn("select * from Gy_Currency where HNumber = '" + HNumber + "' and HName = '" + HName + "'", "Gy_Currency");
                        if (ds.Tables[0].Rows.Count == EmptyConstant.EMPTY)
                        {
                            throw new EmptyException("当前货币不存在,请重新选择");
                        }
                        return (int)ds.Tables[0].Rows[0][0];
                    }
                    catch (Exception e)
                    {
                        throw new EmptyException(e.Message);
                    }
                });
            }
        }
        /// <summary>
        /// åˆ¤æ–­å®¢æˆ·åˆ†ç±»
        /// </summary>
        private Task<int> JudgeCusType(string HNumber, string HName)
        {
            {
                return Task<int>.Factory.StartNew(() =>
                {
                    try
                    {
                        SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
                        DataSet ds = oCN.RunProcReturn("select * from Gy_CusType where HNumber = '" + HNumber + "' and HName = '" + HName + "'", "Gy_CusType");
                        if (ds.Tables[0].Rows.Count == EmptyConstant.EMPTY)
                        {
                            throw new EmptyException("当前分类不存在,请重新选择");
                        }
                        return (int)ds.Tables[0].Rows[0][0];
                    }
                    catch (Exception e)
                    {
                        throw new EmptyException(e.Message);
                    }
                });
            }
        }
        #endregion
    }
}
sdk_dingding/TopSdk/obj/Debug/TopSdk.csproj.AssemblyReference.cache
Binary files differ
sdk_dingding/TopSdk/obj/Debug/TopSdk.csproj.FileListAbsolute.txt
@@ -4,3 +4,15 @@
E:\智云mes\mes\MES-WEB-API\sdk_dingding\TopSdk\obj\Debug\TopSdk.dll
E:\智云mes\mes\MES-WEB-API\sdk_dingding\TopSdk\obj\Debug\TopSdk.pdb
E:\智云mes\mes\MES-WEB-API\sdk_dingding\TopSdk\obj\Debug\TopSdk.csproj.AssemblyReference.cache
D:\智云迈思\MES\MES-WEB-API\sdk_dingding\TopSdk\bin\Debug\TopSdk.dll
D:\智云迈思\MES\MES-WEB-API\sdk_dingding\TopSdk\bin\Debug\TopSdk.pdb
D:\智云迈思\MES\MES-WEB-API\sdk_dingding\TopSdk\obj\Debug\TopSdk.csproj.AssemblyReference.cache
D:\智云迈思\MES\MES-WEB-API\sdk_dingding\TopSdk\obj\Debug\TopSdk.csproj.CoreCompileInputs.cache
D:\智云迈思\MES\MES-WEB-API\sdk_dingding\TopSdk\obj\Debug\TopSdk.dll
D:\智云迈思\MES\MES-WEB-API\sdk_dingding\TopSdk\obj\Debug\TopSdk.pdb
C:\Users\86130\Desktop\智云迈思\MES-WEB-API\sdk_dingding\TopSdk\bin\Debug\TopSdk.dll
C:\Users\86130\Desktop\智云迈思\MES-WEB-API\sdk_dingding\TopSdk\bin\Debug\TopSdk.pdb
C:\Users\86130\Desktop\智云迈思\MES-WEB-API\sdk_dingding\TopSdk\obj\Debug\TopSdk.csproj.CoreCompileInputs.cache
C:\Users\86130\Desktop\智云迈思\MES-WEB-API\sdk_dingding\TopSdk\obj\Debug\TopSdk.dll
C:\Users\86130\Desktop\智云迈思\MES-WEB-API\sdk_dingding\TopSdk\obj\Debug\TopSdk.pdb
C:\Users\86130\Desktop\智云迈思\MES-WEB-API\sdk_dingding\TopSdk\obj\Debug\TopSdk.csproj.AssemblyReference.cache