1
duhe
2024-12-18 ba76af92c90c52823b8140ac3be26fbf69d467bd
1
26个文件已修改
3623 ■■■■■ 已修改文件
DAL/仓库管理/ClsKf_SellOutBillForLayUI.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
DAL/信息平台/ClsOA_ErrMsgBackReceiveBill.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
DAL/工位看板/ClsGy_SOPBill.cs 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LMES/obj/x86/Release/LMES.csproj.AssemblyReference.cache 补丁 | 查看 | 原始文档 | blame | 历史
Model/工位看板/ClsGy_SOPBillMain.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
NETERPNoWin/obj/x86/Debug/NETERPNoWin.csproj.AssemblyReference.cache 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Controllers/CGGL/Kf_POStockInBillController.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Controllers/CJGL/Gy_MaterPreventErrMouldBillController.cs 418 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Controllers/CJGL/Sc_WorkBeginDotCheckBillController.cs 482 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Controllers/JHGL/Gy_MaterialTechParamBillController.cs 483 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Controllers/MJGL/Sc_MouldDotCheckRuleBillController.cs 418 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Controllers/MJGL/Sc_MouldMaintainRuleBillController.cs 375 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Controllers/MJGL/Sc_MouldProdMoveBillListController.cs 57 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Controllers/MJGL/Sc_MouldScrapInBillController.cs 60 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Controllers/ReportPlatFormController.cs 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Controllers/SBGL/Sb_EquipMaintainRuleBillController.cs 383 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Controllers/SCGL/日计划管理/JIT_DayPlanPlatFormBillController.cs 91 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Controllers/SCGL/日计划管理/JIT_DayPlanPlatFormImportController.cs 38 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Controllers/Sc_MouldRepairInBillListController.cs 57 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Controllers/WebAPIController.cs 51 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Controllers/基础资料/基础资料/Gy_SOPBillController.cs 20 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Controllers/条码管理/WEBSController.cs 453 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Controllers/项目管理/工程项目/PM_ProjectBillController.cs 109 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Properties/PublishProfiles/FolderProfilewtt.pubxml.user 42 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Properties/PublishProfiles/JFAPI.pubxml.user 44 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/WebAPI.csproj.user 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DAL/²Ö¿â¹ÜÀí/ClsKf_SellOutBillForLayUI.cs
@@ -385,7 +385,7 @@
                    "," + omodel.HYear.ToString() + "" +
                    "," + omodel.HPeriod.ToString() + "" +
                    ",'" + this.BillType + "'" +
                    ",'" + this.HBillSubType + "'" +
                    ",'" + omodel.HBillSubType + "'" +
                    ",'" + omodel.HRemark + "'" +
                    ",'" + omodel.HMaker + "'" +
                    "," + "getdate()" + "" +
DAL/ÐÅϢƽ̨/ClsOA_ErrMsgBackReceiveBill.cs
@@ -190,7 +190,7 @@
                oCn.RunProc(sql);
                //反馈接收单保存后,更新异常反馈单的指派处理人
                string sql1 = "update OA_ErrMsgBackBillMain set HHandleEmpID='" + omodel.HHandleEmpID.ToString() + "', HBillStatus='14' where HBillNo='" + omodel.HMainSourceBillNo + "' ";
                string sql1 = "update OA_ErrMsgBackBillMain set HHandleEmpID='" + omodel.HHandleEmpID.ToString() + "', HDescription='"+omodel.HDescription.ToString()+"',HBillStatus='14' where HBillNo='" + omodel.HMainSourceBillNo + "' ";
                oCn.RunProc(sql1);               
                //=========================保存后控制  
                DataSet ds2 = oCn.RunProcReturn("Exec h_p_OA_ErrMsgBackReceiveBill_AfterSaveCtrl " + omodel.HInterID.ToString() + ", '" + omodel.HBillNo + "',1 ", "h_p_OA_ErrMsgBackReceiveBill_AfterSaveCtrl");
DAL/¹¤Î»¿´°å/ClsGy_SOPBill.cs
@@ -52,7 +52,7 @@
                ",HUpDater='" + omodel.HUpDater + "'" +
                ",HUpDateDate='" + omodel.HUpDateDate + "'" +
                ",HRemark='" + omodel.HRemark + "'" +
                ",HType='" + omodel.HType + "'" +
                " where HInterID=" + lngBillKey.ToString());
                //删除关联
@@ -100,12 +100,12 @@
                oCn.RunProc("Insert Into Gy_SOPBillMain   " +
                "(HBillType,HInterID,HBillNo,HDate" +
                ",HYear,HPeriod,HRemark,HMaker,Hmakedate,HMaterID,HName,HMaterTypeID" +
                ",HUnitID,HMaterNumber,HUnitNumber,HStandard" +
                ",HUnitID,HMaterNumber,HUnitNumber,HStandard,HType" +
                ") " +
                " values('" + this.BillType + "'," + omodel.HInterID.ToString() + ",'" + omodel.HBillNo + "','" + omodel.HDate + "'" +
                "," + omodel.HYear.ToString() + "," + omodel.HPeriod.ToString() + ",'" + omodel.HRemark + "','" + DBUtility.ClsPub.CurUserName + "',getdate()," + omodel.HMaterID.ToString() + ",'" + omodel.HName + "'," + omodel.HMaterTypeID.ToString() +
                "," + omodel.HUnitID.ToString() + ",'" + omodel.HMaterNumber + "','" + omodel.HUnitNumber + "'," + DBUtility.ClsPub.BoolToString(omodel.HStandard) +
                ") ");
                "," + omodel.HUnitID.ToString() + ",'" + omodel.HMaterNumber + "','" + omodel.HUnitNumber + "','" + DBUtility.ClsPub.BoolToString(omodel.HStandard) + "','" + omodel.HType +
                "') ");
                //插入子表
                foreach (Model.ClsGy_SOPBillSub oSub in DetailColl)
                {
LMES/obj/x86/Release/LMES.csproj.AssemblyReference.cache
Binary files differ
Model/¹¤Î»¿´°å/ClsGy_SOPBillMain.cs
@@ -16,8 +16,8 @@
        public bool HUseFlag;       //---使用标记
        public string HUseMan;      //---启用人
        public DateTime HUseDate;   //---启用日期
        public string HType;   //---类型
    }
}
NETERPNoWin/obj/x86/Debug/NETERPNoWin.csproj.AssemblyReference.cache
Binary files differ
WebAPI/Controllers/CGGL/Kf_POStockInBillController.cs
@@ -282,7 +282,7 @@
                        ,HAddress,HSupID,HCurID,HWHID,HEmpID,HManagerID,HSecManagerID,HKeeperID,HDeptID,HExplanation,HRemark
                        ,HInnerBillNo,HSTOCKORGID,HOWNERID,HMaker,HMakeDate,HProjectID,HInvoiceBillNo)
                        values(" + HInterID + "," + DateTime.Now.Year + "," + DateTime.Now.Month + ",'" + 1201 + "','" +
                    1201 + "','" + HDate + "','" + HBillNo + "','" + HBillStatus + "','" + HAddress +
                    HBillSubType + "','" + HDate + "','" + HBillNo + "','" + HBillStatus + "','" + HAddress +
                    "'," + HSupID + "," + HCurID + "," + HWHID + "," + HEmpID + "," + HManagerID + "," + 
                    HSecManagerID + ","+ HKeeperID +"," + HDeptID + ",'" + HExplanation + "','" + HRemark
                    + "','" + HInnerBillNo + "'," + HSTOCKORGID + "," + HOWNERID + ",'" + HMaker + "',getdate(),"+ HProjectID + ",'"+ HInvoiceBillNo + "')";
WebAPI/Controllers/CJGL/Gy_MaterPreventErrMouldBillController.cs
@@ -10,7 +10,9 @@
using System.Web.Http;
using System.Windows.Forms;
using WebAPI.Models;
using WebAPI.Controllers.SCGL.日计划管理;
using System.IO;
using SyntacticSugar.constant;
namespace WebAPI.Controllers.CJGL
{
    public class Gy_MaterPreventErrMouldBillController : ApiController
@@ -815,6 +817,420 @@
        }
        #endregion     
        #region äº§å“é˜²é”™éªŒè¯æ¸…单 æ–‡ä»¶å¯¼å…¥ä¿å­˜
        #region äº§å“é˜²é”™éªŒè¯æ¸…单 æ–‡ä»¶ä¸Šä¼ 
        [Route("Gy_MaterPreventErrMouldBill/Gy_MaterPreventErrMouldBill_Excel")]
        [HttpPost]
        public object Gy_MaterPreventErrMouldBill_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("HMaterID", typeof(Int32));//物料ID
                tb2.Columns.Add("HProcID", typeof(Int32));//工序ID
                tb2.Columns.Add("HPreventErrMouldID", 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 (!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 HBillNo = "";
                    string HORGNumber = "";
                    string HORGName = "";
                    string HMaterName = "";
                    string HMaterNumber = "";
                    string HProcNumber = "";
                    string HProcName = "";
                    string HPreventErrMouldName = "";
                    string HPreventErrMouldNumber = "";
                    HBillNo = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["单据号"].ToString());
                    HORGNumber = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["组织代码"].ToString());
                    HORGName = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["组织名称"].ToString());
                    HMaterName = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["物料名称"].ToString());
                    HMaterNumber = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["物料代码"].ToString());
                    HProcName = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["工序名称"].ToString());
                    HProcNumber = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["工序代码"].ToString());
                    HPreventErrMouldName = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["防错装置名称"].ToString());
                    HPreventErrMouldNumber = 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();
                    }
                    else
                    {
                        objJsonResult.code = CodeConstant.FAIL;
                        objJsonResult.count = CountConstant.FAIL;
                        objJsonResult.Message = "第" + index + "行,组织代码为空";
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                    //物料代码
                    if (HMaterNumber != "")
                    {
                        //查询物料
                        ds = oCN.RunProcReturn("select * from Gy_Material where  HNumber='" + HMaterNumber + "' and Hname='" + HMaterName + "'", "Gy_Maintain");
                        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]["HMaterID"] = ds.Tables[0].Rows[0]["HItemID"].ToString();
                        }
                    }
                    else
                    {
                        objJsonResult.code = CodeConstant.FAIL;
                        objJsonResult.count = CountConstant.FAIL;
                        objJsonResult.Message = "第" + index + "行,物料代码为空";
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                    //工序代码
                    if (HProcNumber != "")
                    {
                        //查询工序
                        ds = oCN.RunProcReturn("select * from Gy_Process where  HNumber='" + HProcNumber + "' and Hname='" + HProcName + "'", "Gy_Process");
                        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]["HProcID"] = ds.Tables[0].Rows[0]["HItemID"].ToString();
                        }
                    }
                    //else
                    //{
                    //    objJsonResult.code = CodeConstant.FAIL;
                    //    objJsonResult.count = CountConstant.FAIL;
                    //    objJsonResult.Message = "第" + index + "行,工序代码为空";
                    //    objJsonResult.data = null;
                    //    return objJsonResult;
                    //}
                    //防错装置
                    if (HPreventErrMouldNumber != "")
                    {
                        ds = oCN.RunProcReturn("select * from Gy_PreventErrMould where  HNumber='" + HPreventErrMouldNumber + "' and Hname='" + HPreventErrMouldName + "'", "Gy_PreventErrMould");
                        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]["HPreventErrMouldID"] = ds.Tables[0].Rows[0]["HItemID"].ToString();
                        }
                    }
                    else
                    {
                        objJsonResult.code = CodeConstant.FAIL;
                        objJsonResult.count = CountConstant.FAIL;
                        objJsonResult.Message = "第" + index + "行,防错装置代码为空";
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                    //单据号
                    if (HBillNo == "")
                    {
                        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_MaterPreventErrMouldBill/Gy_MaterPreventErrMouldBill_btnSave")]
        [HttpPost]
        public object Gy_MaterPreventErrMouldBill_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_MaterPreventErrMouldBillMain_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 HBillType = "7516";
                    string HMaker = user;//制单人
                    DateTime HDate = DBUtility.ClsPub.isDate(DateTime.Now.ToString("yyyy-MM-dd"));//  --日期
                    long HYear = DBUtility.ClsPub.isLong(DateTime.Now.Year);
                    long HPeriod = DBUtility.ClsPub.isLong(DateTime.Now.Month);
                    string HOrgID = item["HOrgID"].ToString();//组织ID
                    string HBillNo = item["单据号"].ToString();
                    string HMaterID = item["HMaterID"].ToString() == "" ? "0" : item["HMaterID"].ToString();
                    string HProcID = item["HProcID"].ToString() == "" ? "0" : item["HProcID"].ToString();
                    string HRemark = item["备注"].ToString();
                    //子表
                    string HPreventErrMouldID = item["HPreventErrMouldID"].ToString() == "" ? "0" : item["HPreventErrMouldID"].ToString();
                    string HSubRemark = item["表体备注"].ToString();
                    string HPreventErrNote = item["防错功能"].ToString();
                    string HLoseMode = item["失效模式"].ToString();
                    string HLoseCheck = item["失效验证方法"].ToString();
                    ds = oCN.RunProcReturn("select * from Gy_MaterPreventErrMouldBillMain where HBillNo='" + HBillNo + "'", "Gy_MaterPreventErrMouldBillMain");
                    if (ds.Tables[0].Rows.Count == 0)
                    {
                        long HInterID = DBUtility.ClsPub.CreateBillID(HBillType, ref DBUtility.ClsPub.sExeReturnInfo);
                        //插入主表
                        oCN.RunProc("insert into Gy_MaterPreventErrMouldBillMain" +
                        "(HYear,HPeriod,HBillType,HBillSubType,HInterID,HDate,HBillNo,HRemark,HMaker,HMakeDate" +
                        ",HMaterID,HProcID) " +
                        "values(" +
                        "" + (HYear.ToString() != "0" ? HYear.ToString() : DateTime.Now.Year.ToString()) +
                        "," + HPeriod.ToString() +
                        ",'" + HBillType +
                        "','" + HBillType +
                        "'," + HInterID +
                        ",'" + HDate +
                        "','" + HBillNo +
                        "','" + HRemark +
                        "','" + user +
                        "'," +"getdate()" +
                        ",'" + HMaterID +
                            "','" + HProcID +
                        "')");
                        //插入子表
                        oCN.RunProc("insert into Gy_MaterPreventErrMouldBillSub " +
                        "(HInterID,HEntryID,HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HRemark" +
                        ",HPreventErrMouldID,HPreventErrNote,HLoseMode,HLoseCheck) " +
                        " values(" +
                        "" + HInterID.ToString() +
                        "," + 1 +
                        "," + 0 +
                        "," + 0 +
                        ",'" + "" +
                        "','" + "" +
                        "','" + HSubRemark +
                        "','" + HPreventErrMouldID +
                        "','" + HPreventErrNote +
                        "','" + HLoseMode +
                        "','" + HLoseCheck +
                        "')");
                    }
                    else
                    {
                        long HInterID = long.Parse(ds.Tables[0].Rows[0]["HInterID"].ToString());
                        //获取最大子id
                        DataSet ds2 = oCN.RunProcReturn("select max(HEntryID) HEntryID from Gy_MaterPreventErrMouldBillSub where HInterID='" + HInterID + "'", "Gy_MaterPreventErrMouldBillSub");
                        long HEntryID = 1;
                        if (ds2.Tables[0].Rows.Count > 0)
                        {
                            HEntryID = long.Parse(ds2.Tables[0].Rows[0]["HEntryID"].ToString()) + 1;
                        }
                        //插入子表
                        oCN.RunProc("insert into Gy_MaterPreventErrMouldBillSub " +
                        "(HInterID,HEntryID,HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HRemark" +
                        ",HPreventErrMouldID,HPreventErrNote,HLoseMode,HLoseCheck) " +
                        " values(" +
                        "" + HInterID.ToString() +
                        "," + HEntryID +
                        "," + 0 +
                        "," + 0 +
                        ",'" + "" +
                        "','" + "" +
                        "','" + HSubRemark +
                        "','" + HPreventErrMouldID +
                        "','" + HPreventErrNote +
                        "','" + HLoseMode +
                        "','" + HLoseCheck +
                        "')");
                    }
                    i++;
                }
                oCN.Commit();
                objJsonResult.code = CodeConstant.SUCCEED;
                objJsonResult.count = CountConstant.SUCCEED;
                objJsonResult.Message = "导入成功!";
                objJsonResult.data = null;
                return objJsonResult;
            }
            catch (Exception e)
            {
                LogService.Write(e);
                oCN.RollBack();
                objJsonResult.code = CodeConstant.FAIL;
                objJsonResult.count = CountConstant.FAIL;
                objJsonResult.Message = "Exception!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #endregion
        #endregion
        #region çŽ¯å¢ƒæ£€æµ‹é¡¹ç›® æŸ¥è¯¢       
        [Route("Gy_MaterPreventErrMouldBill/getGy_EnvironmentTestSchemeBillMainList")]
        [HttpGet]
WebAPI/Controllers/CJGL/Sc_WorkBeginDotCheckBillController.cs
@@ -10,7 +10,9 @@
using System.Web.Http;
using System.Windows.Forms;
using WebAPI.Models;
using WebAPI.Controllers.SCGL.日计划管理;
using System.IO;
using SyntacticSugar.constant;
namespace WebAPI.Controllers.CJGL
{
    public class Sc_WorkBeginDotCheckBillController : ApiController
@@ -1656,5 +1658,483 @@
            }
        }
        #endregion
        #region è®¾å¤‡å¯åŠ¨ç‚¹æ£€æ¸…å• æ–‡ä»¶å¯¼å…¥ä¿å­˜
        #region è®¾å¤‡å¯åŠ¨ç‚¹æ£€æ¸…å• æ–‡ä»¶ä¸Šä¼ 
        [Route("Sc_WorkBeginDotCheckBill/Sc_WorkBeginDotCheckBill_Excel")]
        [HttpPost]
        public object Sc_WorkBeginDotCheckBill_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("HMaterID", typeof(Int32));//物料ID
                tb2.Columns.Add("HProcID", typeof(Int32));//工序ID
                tb2.Columns.Add("HSourceID", typeof(Int32));//生产资源ID
                tb2.Columns.Add("HCheckNoteItemID", typeof(Int32));//检查项目ID
                tb2.Columns.Add("HCheckPostID", 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 (!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 HBillNo = "";
                    string HORGNumber = "";
                    string HORGName = "";
                    string HMaterName = "";
                    string HMaterNumber = "";
                    string HProcNumber = "";
                    string HProcName = "";
                    string HSourceNumber = "";
                    string HSourceName = "";
                    string HCheckNoteItemNumber = "";
                    string HCheckNoteItemName = "";
                    string HCheckPostNumber = "";
                    string HCheckPostName = "";
                    HBillNo = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["单据号"].ToString());
                    HORGNumber = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["组织代码"].ToString());
                    HORGName = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["组织名称"].ToString());
                    HMaterName = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["物料名称"].ToString());
                    HMaterNumber = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["物料代码"].ToString());
                    HProcName = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["工序名称"].ToString());
                    HProcNumber = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["工序代码"].ToString());
                    HSourceName = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["生产资源名称"].ToString());
                    HSourceNumber = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["生产资源代码"].ToString());
                    HCheckNoteItemName = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["检查项目名称"].ToString());
                    HCheckNoteItemNumber = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["检查项目代码"].ToString());
                    HCheckPostName = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["岗位名称"].ToString());
                    HCheckPostNumber = 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();
                    }
                    else
                    {
                        objJsonResult.code = CodeConstant.FAIL;
                        objJsonResult.count = CountConstant.FAIL;
                        objJsonResult.Message = "第" + index + "行,组织代码为空";
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                    //物料代码
                    if (HMaterNumber != "")
                    {
                        //查询物料
                        ds = oCN.RunProcReturn("select * from Gy_Material where  HNumber='" + HMaterNumber + "' and Hname='" + HMaterName + "'", "Gy_Maintain");
                        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]["HMaterID"] = ds.Tables[0].Rows[0]["HItemID"].ToString();
                        }
                    }
                    else
                    {
                        objJsonResult.code = CodeConstant.FAIL;
                        objJsonResult.count = CountConstant.FAIL;
                        objJsonResult.Message = "第" + index + "行,物料代码为空";
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                    //工序代码
                    if (HProcNumber != "")
                    {
                        //查询工序
                        ds = oCN.RunProcReturn("select * from Gy_Process where  HNumber='" + HProcNumber + "' and Hname='" + HProcName + "'", "Gy_Process");
                        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]["HProcID"] = ds.Tables[0].Rows[0]["HItemID"].ToString();
                        }
                    }
                    else
                    {
                        objJsonResult.code = CodeConstant.FAIL;
                        objJsonResult.count = CountConstant.FAIL;
                        objJsonResult.Message = "第" + index + "行,工序代码为空";
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                    //生产资源
                    if (HSourceNumber != "")
                    {
                        //查询工序
                        ds = oCN.RunProcReturn("select * from Gy_Source where  HNumber='" + HSourceNumber + "' and Hname='" + HSourceName + "'", "Gy_Source");
                        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]["HSourceID"] = ds.Tables[0].Rows[0]["HItemID"].ToString();
                        }
                    }
                    //检查项目代码
                    if (HCheckNoteItemNumber != "")
                    {
                        //查询物料
                        ds = oCN.RunProcReturn("select * from Gy_CheckNoteItem where  HNumber='" + HCheckNoteItemNumber + "' and Hname='" + HCheckNoteItemName + "'", "Gy_CheckNoteItem");
                        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]["HCheckNoteItemID"] = ds.Tables[0].Rows[0]["HItemID"].ToString();
                        }
                        string HMaintainItemID = ds.Tables[0].Rows[0]["HItemID"].ToString();
                    }
                    else
                    {
                        objJsonResult.code = CodeConstant.FAIL;
                        objJsonResult.count = CountConstant.FAIL;
                        objJsonResult.Message = "第" + index + "行,检查项目代码为空";
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                    //岗位代码
                    if (HCheckPostNumber != "")
                    {
                        //查询物料
                        ds = oCN.RunProcReturn("select * from Gy_Post where  HNumber='" + HCheckPostNumber + "' and Hname='" + HCheckPostName + "'", "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]["HCheckPostID"] = ds.Tables[0].Rows[0]["HItemID"].ToString();
                        }
                    }
                    else
                    {
                        objJsonResult.code = CodeConstant.FAIL;
                        objJsonResult.count = CountConstant.FAIL;
                        objJsonResult.Message = "第" + index + "行,岗位代码为空";
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                    //单据号
                    if (HBillNo == "")
                    {
                        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("Sc_WorkBeginDotCheckBill/Sc_WorkBeginDotCheckBill_btnSave")]
        [HttpPost]
        public object Sc_WorkBeginDotCheckBill_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_WorkBeginDotCheckListBillMain_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 HBillType = "3744";
                    string HMaker = user;//制单人
                    DateTime HDate = DBUtility.ClsPub.isDate(DateTime.Now.ToString("yyyy-MM-dd"));//  --日期
                    long HYear = DBUtility.ClsPub.isLong(DateTime.Now.Year);
                    long HPeriod = DBUtility.ClsPub.isLong(DateTime.Now.Month);
                    string HOrgID = item["HOrgID"].ToString();//组织ID
                    string HBillNo = item["单据号"].ToString();
                    string HMaterID = item["HMaterID"].ToString() == "" ? "0" : item["HMaterID"].ToString();
                    string HProcID = item["HProcID"].ToString() == "" ? "0" : item["HProcID"].ToString();
                    string HSourceID = item["HSourceID"].ToString() == "" ? "0" : item["HSourceID"].ToString();
                    string HNote = item["记录事项"].ToString();
                    string HRemark = item["备注"].ToString();
                    //子表
                    string HCheckNoteItemID = item["HCheckNoteItemID"].ToString() == "" ? "0" : item["HCheckNoteItemID"].ToString();
                    string HCheckPostID = item["HCheckPostID"].ToString() == "" ? "0" : item["HCheckPostID"].ToString();
                    string HSubRemark = item["表体备注"].ToString();
                    ds = oCN.RunProcReturn("select * from Gy_WorkBeginDotCheckListBillMain where HBillNo='" + HBillNo + "'", "Gy_WorkBeginDotCheckListBillMain");
                    if (ds.Tables[0].Rows.Count == 0)
                    {
                        long HInterID = DBUtility.ClsPub.CreateBillID(HBillType, ref DBUtility.ClsPub.sExeReturnInfo);
                        //插入主表
                        oCN.RunProc("insert into Gy_WorkBeginDotCheckListBillMain" +
                        "(HYear,HPeriod,HBillType,HBillSubType,HInterID,HDate,HBillNo,HRemark,HMaker,HMakeDate" +
                        ",HMaterID,HSourceID,HProcID,HNote) " +
                        "values(" +
                        "" + (HYear.ToString() != "0" ? HYear.ToString() : DateTime.Now.Year.ToString()) +
                        "," + HPeriod.ToString() +
                        ",'" + HBillType +
                        "','" + HBillType +
                        "'," + HInterID +
                        ",'" + HDate +
                        "','" + HBillNo +
                        "','" + HRemark +
                        "','" + user +
                        "'," + "getdate()" +
                        ",'" + HMaterID +
                        "','" + HSourceID +
                        "','" + HProcID +
                        "','" + HNote +
                        "')");
                        //插入子表
                        oCN.RunProc("insert into Gy_WorkBeginDotCheckListBillSub " +
                        "(HInterID,HEntryID,HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HRemark" +
                        ",HCheckNoteItemID,HCheckPostID,HDotCheckType,HRelationID) " +
                        " values(" +
                        "" + HInterID.ToString() +
                        "," + 1 +
                        "," + 0 +
                        "," + 0 +
                        ",'" + "" +
                        "','" + "" +
                        "','" + HSubRemark +
                        "','" + HCheckNoteItemID +
                        "','" + HCheckPostID +
                        "','" + "设备" +
                        "','" + 0 +
                        "')");
                    }
                    else
                    {
                        long HInterID = long.Parse(ds.Tables[0].Rows[0]["HInterID"].ToString());
                        //获取最大子id
                        DataSet ds2 = oCN.RunProcReturn("select max(HEntryID) HEntryID from Gy_WorkBeginDotCheckListBillSub where HInterID='" + HInterID + "'", "Gy_WorkBeginDotCheckListBillSub");
                        long HEntryID = 1;
                        if (ds2.Tables[0].Rows.Count > 0)
                        {
                            HEntryID = long.Parse(ds2.Tables[0].Rows[0]["HEntryID"].ToString()) + 1;
                        }
                        //插入子表
                        oCN.RunProc("insert into Gy_WorkBeginDotCheckListBillSub " +
                        "(HInterID,HEntryID,HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HRemark" +
                        ",HCheckNoteItemID,HCheckPostID,HDotCheckType,HRelationID) " +
                        " values(" +
                        "" + HInterID.ToString() +
                        "," + HEntryID +
                        "," + 0 +
                        "," + 0 +
                        ",'" + "" +
                        "','" + "" +
                        "','" + HSubRemark +
                        "','" + HCheckNoteItemID +
                        "','" + HCheckPostID +
                        "','" + "设备" +
                        "','" + 0 +
                        "')");
                    }
                    i++;
                }
                oCN.Commit();
                objJsonResult.code = CodeConstant.SUCCEED;
                objJsonResult.count = CountConstant.SUCCEED;
                objJsonResult.Message = "导入成功!";
                objJsonResult.data = null;
                return objJsonResult;
            }
            catch (Exception e)
            {
                LogService.Write(e);
                oCN.RollBack();
                objJsonResult.code = CodeConstant.FAIL;
                objJsonResult.count = CountConstant.FAIL;
                objJsonResult.Message = "Exception!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #endregion
        #endregion
    }
}
WebAPI/Controllers/JHGL/Gy_MaterialTechParamBillController.cs
@@ -10,7 +10,9 @@
using System.Web.Http;
using System.Windows.Forms;
using WebAPI.Models;
using WebAPI.Controllers.SCGL.日计划管理;
using System.IO;
using SyntacticSugar.constant;
namespace WebAPI.Controllers.MJGL
{
    public class Gy_MaterialTechParamBillController : ApiController
@@ -643,5 +645,484 @@
            }
        }
        #endregion
        #region äº§å“å·¥è‰ºå‚æ•° æ–‡ä»¶å¯¼å…¥ä¿å­˜
        #region äº§å“å·¥è‰ºå‚æ•° æ–‡ä»¶ä¸Šä¼ 
        [Route("Gy_MaterialTechParamBill/Gy_MaterialTechParamBill_Excel")]
        [HttpPost]
        public object Gy_MaterialTechParamBill_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("HDeptID", typeof(Int32));//部门ID
                tb2.Columns.Add("HEmpID", typeof(Int32));//负责人ID
                tb2.Columns.Add("HMaterID", typeof(Int32));//物料ID
                tb2.Columns.Add("HTechParamID", typeof(Int32));//工艺参数ID
                tb2.Columns.Add("HTechParamUnitID", 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 (!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 (!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 HORGNumber = "";
                    string HORGName = "";
                    string HDeptName = "";
                    string HDeptNumber = "";
                    string HEmpName = "";
                    string HEmpNumber = "";
                    string HMaterNumber = "";
                    string HMaterName = "";
                    string HTechParamNumber = "";
                    string HTechParamName = "";
                    string HTechParamUnitNumber = "";
                    string HTechParamUnitName = "";
                    string HBillNo = "";
                    HORGNumber = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["组织代码"].ToString());
                    HORGName = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["组织名称"].ToString());
                    HDeptNumber = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["部门代码"].ToString());
                    HDeptName = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["部门名称"].ToString());
                    HEmpNumber = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["负责人代码"].ToString());
                    HEmpName = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["负责人名称"].ToString());
                    HMaterNumber = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["物料代码"].ToString());
                    HMaterName = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["物料名称"].ToString());
                    HTechParamNumber = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["工艺参数代码"].ToString());
                    HTechParamName = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["工艺参数名称"].ToString());
                    HTechParamUnitNumber = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["工艺参数单位代码"].ToString());
                    HTechParamUnitName = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["工艺参数单位名称"].ToString());
                    HBillNo = 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();
                        }
                    }
                    else
                    {
                        objJsonResult.code = CodeConstant.FAIL;
                        objJsonResult.count = CountConstant.FAIL;
                        objJsonResult.Message = "第" + index + "行,组织代码为空";
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                    //部门代码
                    if (HDeptNumber != "")
                    {
                        ds = oCN.RunProcReturn("select * from Gy_Department where  HNumber='" + HDeptNumber + "' and Hname='" + HDeptName + "'", "Gy_Department");
                        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]["HDeptID"] = ds.Tables[0].Rows[0]["HItemID"].ToString();
                        }
                    }
                    else
                    {
                        tb2.Rows[i]["HDeptID"] = "0";
                    }
                    //负责人代码
                    if (HEmpNumber != "")
                    {
                        ds = oCN.RunProcReturn("select * from Gy_Employee where  HNumber='" + HEmpNumber + "' and Hname='" + HEmpName + "'", "Gy_Employee");
                        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]["HEmpID"] = ds.Tables[0].Rows[0]["HItemID"].ToString();
                        }
                    }
                    //物料代码
                    if (HMaterNumber != "")
                    {
                        ds = oCN.RunProcReturn("select * from Gy_Material where  HNumber='" + HMaterNumber + "' and Hname='" + HMaterName + "'", "Gy_Material");
                        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]["HMaterID"] = ds.Tables[0].Rows[0]["HItemID"].ToString();
                        }
                    }
                    //工艺参数代码
                    if (HTechParamNumber != "")
                    {
                        ds = oCN.RunProcReturn("select * from Gy_TechnologyParameter where  HNumber='" + HTechParamNumber + "' and Hname='" + HTechParamName + "'", "Gy_TechnologyParameter");
                        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]["HTechParamID"] = ds.Tables[0].Rows[0]["HItemID"].ToString();
                        }
                    }
                    //工艺参数单位代码
                    if (HTechParamUnitNumber != "")
                    {
                        ds = oCN.RunProcReturn("select * from Gy_TechnologyParameterUnit where  HNumber='" + HTechParamUnitNumber + "' and Hname='" + HTechParamUnitName + "'", "Gy_TechnologyParameterUnit");
                        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]["HTechParamUnitID"] = ds.Tables[0].Rows[0]["HItemID"].ToString();
                        }
                    }
                    //单据号
                    if (HBillNo == "")
                    {
                        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_MaterialTechParamBill/Gy_MaterialTechParamBill_btnSave")]
        [HttpPost]
        public object Gy_MaterialTechParamBill_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_MaterialTechParamBillMain_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 HBillType = "3334";
                    string HMaker = user;//制单人
                    DateTime HDate = DBUtility.ClsPub.isDate(DateTime.Now.ToString("yyyy-MM-dd"));//  --日期
                    long HYear = DBUtility.ClsPub.isLong(DateTime.Now.Year);
                    long HPeriod = DBUtility.ClsPub.isLong(DateTime.Now.Month);
                    string HBillNo = item["单据号"].ToString();//单据号
                    string HOrgID = item["HOrgID"].ToString();//组织ID
                    string HDeptID = item["HDeptID"].ToString() == "" ? "0" : item["HDeptID"].ToString();
                    string HEmpID = item["HEmpID"].ToString() == "" ? "0" : item["HEmpID"].ToString();
                    string HMaterID = item["HMaterID"].ToString()== "" ? "0" : item["HMaterID"].ToString();
                    string HRemark = item["备注"].ToString();
                    //子表
                    string HTechParamID = item["HTechParamID"].ToString() == "" ? "0" : item["HTechParamID"].ToString();//工艺参数
                    string HTechParamUnitID = item["HTechParamUnitID"].ToString() == "" ? "0" : item["HTechParamUnitID"].ToString();//工艺参数代码
                    string HStd = item["标准值"].ToString() == "" ? "0" : item["标准值"].ToString();
                    string HMax = item["上限"].ToString() == "" ? "0" : item["上限"].ToString();
                    string HMin = item["下限"].ToString() == "" ? "0" : item["下限"].ToString();
                    string HDataForm = item["采集来源"].ToString();
                    string HDataTimes = item["采集周期频率"].ToString() == "" ? "0" : item["采集周期频率"].ToString();
                    string HDataUnit = item["采集周期单位"].ToString();
                    ds = oCN.RunProcReturn("select * from Gy_MaterialTechParamBillMain where HBillNo='" + HBillNo + "'", "Gy_MaterialTechParamBillMain");
                    if (ds.Tables[0].Rows.Count == 0)
                    {
                        long HInterID = DBUtility.ClsPub.CreateBillID(HBillType, ref DBUtility.ClsPub.sExeReturnInfo);
                        //插入主表
                        oCN.RunProc("insert into Gy_MaterialTechParamBillMain" +
                            "(HYear,HPeriod,HBillType,HBillSubType,HInterID,HDate,HBillNo,HRemark,HMaker,HMakeDate" +
                            ",HDeptID,HEmpID,HMaterID,HWorkCenterID,HEquipID,HOrgID,HProcID,HMouldID ) " +
                            "values(" +
                            "" + HYear.ToString() +
                            "," + HPeriod.ToString() +
                            ",'" + HBillType +
                            "','" + HBillType +
                            "'," + HInterID +
                            ",'" + HDate +
                            "','" + HBillNo +
                            "','" + HRemark +
                            "','" + HMaker +
                            "'," + "getdate()" +
                            "," + HDeptID +
                            "," + HEmpID +
                            ",'" + HMaterID +
                            "','" + 0 +
                            "','" + 0 +
                            "','" + HOrgID +
                            "','" + 0 +
                             "','" + 0 +
                            "')");
                        //插入子表
                        oCN.RunProc("insert into Gy_MaterialTechParamBillSub" +
                           "(HInterID,HEntryID,HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType" +
                           ",HTechParamID,HTechParamUnitID,HStd,HMax,HMin,HDataForm,HDataUnit,HDataTimes,HTechParamClassID,HSNO,HStdNextTimes,HTechParamIDStd) " +
                           " values(" +
                           "" + HInterID.ToString() +
                           "," + 1 +
                           "," + 0 +
                           "," + 0 +
                           ",'" + "" +
                           "','" + "" +
                           "','" + HTechParamID +
                           "','" + HTechParamUnitID +
                           "','" + HStd +
                           "','" + HMax +
                           "','" + HMin +
                           "','" + HDataForm +
                           "','" + HDataUnit +
                           "','" + HDataTimes +
                           "','" + 0 +
                           "','" + 0 +
                           "','" + 0 +
                           "','" + "" +
                           "')");
                    }
                    else
                    {
                        long HInterID = long.Parse(ds.Tables[0].Rows[0]["HInterID"].ToString());
                        //获取最大子id
                        DataSet ds2 = oCN.RunProcReturn("select max(HEntryID) HEntryID from Gy_MaterialTechParamBillSub where HInterID='" + HInterID + "'", "Gy_MaterialTechParamBillSub");
                        long HEntryID = 1;
                        if (ds2.Tables[0].Rows.Count > 0)
                        {
                            HEntryID = long.Parse(ds2.Tables[0].Rows[0]["HEntryID"].ToString()) + 1;
                        }
                        //插入子表
                        oCN.RunProc("insert into Gy_MaterialTechParamBillSub" +
                           "(HInterID,HEntryID,HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType" +
                           ",HTechParamID,HTechParamUnitID,HStd,HMax,HMin,HDataForm,HDataUnit,HDataTimes,HTechParamClassID,HSNO,HStdNextTimes,HTechParamIDStd) " +
                           " values(" +
                           "" + HInterID.ToString() +
                           "," + HEntryID +
                           "," + 0 +
                           "," + 0 +
                           ",'" + "" +
                           "','" + "" +
                           "','" + HTechParamID +
                           "','" + HTechParamUnitID +
                           "','" + HStd +
                           "','" + HMax +
                           "','" + HMin +
                           "','" + HDataForm +
                           "','" + HDataUnit +
                           "','" + HDataTimes +
                           "','" + 0 +
                           "','" + 0 +
                           "','" + 0 +
                           "','" + "" +
                           "')");
                    }
                    i++;
                }
                oCN.Commit();
                objJsonResult.code = CodeConstant.SUCCEED;
                objJsonResult.count = CountConstant.SUCCEED;
                objJsonResult.Message = "导入成功!";
                objJsonResult.data = null;
                return objJsonResult;
            }
            catch (Exception e)
            {
                LogService.Write(e);
                oCN.RollBack();
                objJsonResult.code = CodeConstant.FAIL;
                objJsonResult.count = CountConstant.FAIL;
                objJsonResult.Message = "Exception!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #endregion
        #endregion
    }
}
WebAPI/Controllers/MJGL/Sc_MouldDotCheckRuleBillController.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.MJGL
{
    public class Sc_MouldDotCheckRuleBillController : ApiController
@@ -334,7 +337,7 @@
        [HttpGet]
        public object DeleteMouldDotCheckRuleBill(string HInterID, string user)
        {
            if (!DBUtility.ClsPub.Security_Log("Sc_MouldMaintainRuleBill_Delete", 1, false, user))
            if (!DBUtility.ClsPub.Security_Log("Sc_MouldDotCheckPlanBill_Delete", 1, false, user))
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
@@ -431,5 +434,416 @@
        }
        #endregion
        #region å™¨å…·ç‚¹æ£€è§„程 æ–‡ä»¶å¯¼å…¥ä¿å­˜
        #region å™¨å…·ç‚¹æ£€è§„程 æ–‡ä»¶ä¸Šä¼ 
        [Route("Sc_MouldDotCheckRuleBill/Sc_MouldDotCheckRuleBill_Excel")]
        [HttpPost]
        public object Sc_MouldDotCheckRuleBill_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("HDotCheckItemID", typeof(Int32));//点检项目ID
                tb2.Columns.Add("HManagerID", typeof(Int32));//负责人ID
                tb2.Columns.Add("HMouldID", typeof(Int32));//器具ID
                tb2.Columns.Add("HDotCheckItemClassID", typeof(Int32));//点检项目分类
                //添加数据
                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 (!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 HName = "";
                    string HNum = "";
                    string HORGNumber = "";
                    string HORGName = "";
                    string HManagerName = "";
                    string HManagerNumber = "";
                    string HDotCheckItemNumber = "";
                    string HDotCheckItemName = "";
                    string HMouldNumber = "";
                    string HMouldName = "";
                    HName = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["规程编号"].ToString());
                    HNum = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["规程名称"].ToString());
                    HMouldNumber = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["器具编码"].ToString());
                    HMouldName = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["器具名称"].ToString());
                    HORGNumber = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["组织代码"].ToString());
                    HORGName = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["组织名称"].ToString());
                    HManagerNumber = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["负责人代码"].ToString());
                    HManagerName = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["负责人"].ToString());
                    HDotCheckItemNumber = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["点检项目代码"].ToString());
                    HDotCheckItemName = 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();
                    }
                    else
                    {
                        objJsonResult.code = CodeConstant.FAIL;
                        objJsonResult.count = CountConstant.FAIL;
                        objJsonResult.Message = "第" + index + "行,组织代码为空";
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                    //器具
                    if (HMouldNumber != "")
                    {
                        ds = oCN.RunProcReturn("select * from Gy_MouldFileMain where  HMouldNo='" + HMouldNumber + "' and Hname='" + HMouldName + "'", "Gy_MouldFileMain");
                        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]["HMouldID"] = ds.Tables[0].Rows[0]["HInterID"].ToString();
                        }
                    }
                    else
                    {
                        objJsonResult.code = CodeConstant.FAIL;
                        objJsonResult.count = CountConstant.FAIL;
                        objJsonResult.Message = "第" + index + "行,器具代码为空";
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                    //点检项目代码
                    if (HDotCheckItemNumber != "")
                    {
                        ds = oCN.RunProcReturn("select * from Gy_DotCheck where  HNumber='" + HDotCheckItemNumber + "' and Hname='" + HDotCheckItemName + "'", "Gy_DotCheck");
                        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]["HDotCheckItemID"] = ds.Tables[0].Rows[0]["HItemID"].ToString();
                            tb2.Rows[i]["HDotCheckItemClassID"] = ds.Tables[0].Rows[0]["HDotCheckItemClassID"].ToString();
                        }
                        string HDotCheckItemID = ds.Tables[0].Rows[0]["HItemID"].ToString();
                    }
                    else
                    {
                        objJsonResult.code = CodeConstant.FAIL;
                        objJsonResult.count = CountConstant.FAIL;
                        objJsonResult.Message = "第" + index + "行,点检项目代码为空";
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                    //负责人代码
                    if (HManagerNumber != "")
                    {
                        //查询组织
                        ds = oCN.RunProcReturn("select * from Gy_Employee where  HNumber='" + HManagerNumber + "' and Hname='" + HManagerName + "'", "Gy_Employee");
                        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]["HManagerID"] = ds.Tables[0].Rows[0]["HItemID"].ToString();
                        }
                    }
                    //器具点检规程名称
                    if (HName == "")
                    {
                        objJsonResult.code = CodeConstant.FAIL;
                        objJsonResult.count = CountConstant.FAIL;
                        objJsonResult.Message = "第" + index + "行,器具点检规程名称不能为空!";
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                    //器具点检规程代码
                    if (HNum == "")
                    {
                        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("Sc_MouldDotCheckRuleBill/Sc_MouldDotCheckRuleBill_btnSave")]
        [HttpPost]
        public object Sc_MouldDotCheckRuleBill_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("Sc_MouldDotCheckRuleBill_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 HBillType = "3834";
                    string HMaker = user;//制单人
                    DateTime HDate = DBUtility.ClsPub.isDate(DateTime.Now.ToString("yyyy-MM-dd"));//  --日期
                    long HYear = DBUtility.ClsPub.isLong(DateTime.Now.Year);
                    long HPeriod = DBUtility.ClsPub.isLong(DateTime.Now.Month);
                    string HOrgID = item["HOrgID"].ToString();//组织ID
                    string HMouldID = item["HMouldID"].ToString();//器具ID
                    string HName = item["规程名称"].ToString();
                    string HBillNo = item["规程编号"].ToString();
                    string HCycleUnit = item["周期单位"].ToString();
                    string HCheckCycle = item["点检周期"].ToString();
                    string HExplanation = item["摘要"].ToString();
                    string HRemark = item["表头备注"].ToString();
                    //子表
                    string HDotCheckItemID = item["HDotCheckItemID"].ToString();//点检项目
                    string HDotCheckItemClassID = item["HDotCheckItemClassID"].ToString();//点检分类项目
                    string HManagerID = item["HManagerID"].ToString()==""? "0": item["HManagerID"].ToString();//负责人
                    string HDotCheckPart = item["点检部位"].ToString();
                    string HClaim = item["具体要求"].ToString();
                    string HSubRemark = item["表体备注"].ToString();
                    string HDotCheckItem = item["点检项目名称"].ToString();
                    ds = oCN.RunProcReturn("select * from Sc_MouldDotCheckRuleBillMain where HBillNo='" + HBillNo + "'", "Sc_MouldDotCheckRuleBillMain");
                    if (ds.Tables[0].Rows.Count == 0)
                    {
                        long HInterID = DBUtility.ClsPub.CreateBillID(HBillType, ref DBUtility.ClsPub.sExeReturnInfo);
                        //插入主表
                        oCN.RunProc("Insert Into Sc_MouldDotCheckRuleBillMain   " +
                         "(HBillType,HBillSubType,HInterID,HBillNo,HDate" +
                        ",HYear,HPeriod,HRemark,HMaker,HMakeDate" +
                        ",HMouldID,HBeginDate,HEndDate,HCycleUnit,HCheckCycle,HExplanation,HInnerBillNo" +
                        ") " +
                        " values('" + HBillType + "','" + HBillType + "'," + HInterID.ToString() + ",'" + HBillNo + "','" + HDate + "'" +
                        ", " + HYear.ToString() + "," + HPeriod.ToString() + ",'" + HRemark + "','" + HMaker + "',getdate()" +
                         ", " + HMouldID.ToString() + ", '" + DateTime.Now.ToShortDateString() + "','" + DateTime.Now.AddMonths(1).ToShortDateString() + "','" + HCycleUnit + "', " + HCheckCycle.ToString() + ",'" + HExplanation + "','" + "" + "'" +
                        ") ");
                        //插入子表
                        oCN.RunProc("Insert into Sc_MouldDotCheckRuleBillSub " +
                         " (HInterID,HEntryID,HCloseMan,HEntryCloseDate,HCloseType,HRemark" +
                         ",HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HRelationQty,HRelationMoney" +
                         ",HDotCheckItemID,HDotCheckItem,HDotCheckPart,HClaim,HManagerID,HDotCheckItemClassID,HDotCheckItemMethodID" +
                         ") values("
                         + HInterID.ToString() + "," + 1 + ",'" + "" + "'," + DateTime.Now.ToShortDateString() + "," + Convert.ToString(false ? 1 : 0) + ",'" + HSubRemark + "'" +
                         "," + 0 + "," + 0 + ",'" + "" + "','" + "" + "'," + 0 + "," + 0 +
                         "," + HDotCheckItemID.ToString() + ",'" + HDotCheckItem + "','" + HDotCheckPart + "','" + HClaim + "'," + HManagerID.ToString() + "," + HDotCheckItemClassID + "," + 0 +
                         ") ");
                    }
                    else
                    {
                        long HInterID = long.Parse(ds.Tables[0].Rows[0]["HInterID"].ToString());
                        //获取最大子id
                        DataSet ds2 = oCN.RunProcReturn("select max(HEntryID) HEntryID from Sc_MouldDotCheckRuleBillSub where HInterID='" + HInterID + "'", "Sc_MouldDotCheckRuleBillSub");
                        long HEntryID = 1;
                        if (ds2.Tables[0].Rows.Count > 0)
                        {
                            HEntryID = long.Parse(ds2.Tables[0].Rows[0]["HEntryID"].ToString()) + 1;
                        }
                        //插入子表
                        oCN.RunProc("Insert into Sc_MouldDotCheckRuleBillSub " +
                         " (HInterID,HEntryID,HCloseMan,HEntryCloseDate,HCloseType,HRemark" +
                         ",HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HRelationQty,HRelationMoney" +
                         ",HDotCheckItemID,HDotCheckItem,HDotCheckPart,HClaim,HManagerID,HDotCheckItemClassID,HDotCheckItemMethodID" +
                         ") values("
                         + HInterID.ToString() + "," + HEntryID + ",'" + "" + "'," + DateTime.Now.ToShortDateString() + "," + Convert.ToString(false ? 1 : 0) + ",'" + HSubRemark + "'" +
                         "," + 0 + "," + 0 + ",'" + "" + "','" + "" + "'," + 0 + "," + 0 +
                         "," + HDotCheckItemID.ToString() + ",'" + HDotCheckItem + "','" + HDotCheckPart + "','" + HClaim + "'," + HManagerID.ToString() + "," + HDotCheckItemClassID + "," + 0 +
                         ") ");
                    }
                    i++;
                }
                oCN.Commit();
                objJsonResult.code = CodeConstant.SUCCEED;
                objJsonResult.count = CountConstant.SUCCEED;
                objJsonResult.Message = "导入成功!";
                objJsonResult.data = null;
                return objJsonResult;
            }
            catch (Exception e)
            {
                LogService.Write(e);
                oCN.RollBack();
                objJsonResult.code = CodeConstant.FAIL;
                objJsonResult.count = CountConstant.FAIL;
                objJsonResult.Message = "Exception!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #endregion
        #endregion
    }
}
WebAPI/Controllers/MJGL/Sc_MouldMaintainRuleBillController.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.MJGL
{
    public class Sc_MouldMaintainRuleBillController : ApiController
@@ -627,5 +630,375 @@
        }
        #endregion
        #region å™¨å…·ä¿å…»è§„程 æ–‡ä»¶å¯¼å…¥ä¿å­˜
        #region å™¨å…·ä¿å…»è§„程 æ–‡ä»¶ä¸Šä¼ 
        [Route("Sc_MouldMaintainRuleBill/Sc_MouldMaintainRuleBill_Excel")]
        [HttpPost]
        public object Sc_MouldMaintainRuleBill_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("HMaintainItemID", typeof(Int32));//保养项目ID
                tb2.Columns.Add("HManagerID", 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 (!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 HName = "";
                    string HNum = "";
                    string HORGNumber = "";
                    string HORGName = "";
                    string HManagerName = "";
                    string HManagerNumber = "";
                    string HMaintainItemNumber = "";
                    string HMaintainItemName = "";
                    HName = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["规程编号"].ToString());
                    HNum = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["规程名称"].ToString());
                    HORGNumber = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["组织代码"].ToString());
                    HORGName = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["组织名称"].ToString());
                    HManagerNumber = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["负责人代码"].ToString());
                    HManagerName = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["负责人"].ToString());
                    HMaintainItemNumber = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["保养项目代码"].ToString());
                    HMaintainItemName = 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();
                    }
                    else
                    {
                        objJsonResult.code = CodeConstant.FAIL;
                        objJsonResult.count = CountConstant.FAIL;
                        objJsonResult.Message = "第" + index + "行,组织代码为空";
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                    //保养项目代码
                    if (HMaintainItemNumber != "")
                    {
                        //查询组织
                        ds = oCN.RunProcReturn("select * from Gy_Maintain where  HNumber='" + HMaintainItemNumber + "' and Hname='" + HMaintainItemName + "'", "Gy_Maintain");
                        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]["HMaintainItemID"] = ds.Tables[0].Rows[0]["HItemID"].ToString();
                        }
                        string HMaintainItemID = ds.Tables[0].Rows[0]["HItemID"].ToString();
                    }
                    else
                    {
                        objJsonResult.code = CodeConstant.FAIL;
                        objJsonResult.count = CountConstant.FAIL;
                        objJsonResult.Message = "第" + index + "行,保养项目代码为空";
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                    //负责人代码
                    if (HManagerNumber != "")
                    {
                        //查询组织
                        ds = oCN.RunProcReturn("select * from Gy_Employee where  HNumber='" + HManagerNumber + "' and Hname='" + HManagerName + "'", "Gy_Employee");
                        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]["HManagerID"] = ds.Tables[0].Rows[0]["HItemID"].ToString();
                        }
                    }
                    //器具保养规程名称
                    if (HName == "")
                    {
                        objJsonResult.code = CodeConstant.FAIL;
                        objJsonResult.count = CountConstant.FAIL;
                        objJsonResult.Message = "第" + index + "行,器具保养规程名称不能为空!";
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                    //器具保养规程代码
                    if (HNum == "")
                    {
                        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("Sc_MouldMaintainRuleBill/Sc_MouldMaintainRuleBill_btnSave")]
        [HttpPost]
        public object Sc_MouldMaintainRuleBill_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("Sc_MouldMaintainRuleBill_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 HBillType = "3833";
                    string HMaker = user;//制单人
                    DateTime HDate = DBUtility.ClsPub.isDate(DateTime.Now.ToString("yyyy-MM-dd"));//  --日期
                    long HYear = DBUtility.ClsPub.isLong(DateTime.Now.Year);
                    long HPeriod = DBUtility.ClsPub.isLong(DateTime.Now.Month);
                    string HOrgID = item["HOrgID"].ToString();//组织ID
                    string HName = item["规程名称"].ToString();
                    string HBillNo = item["规程编号"].ToString();
                    string HCycleUnit = item["周期单位"].ToString();
                    string HCheckCycle = item["保养周期"].ToString();
                    string HExplanation = item["摘要"].ToString();
                    string HRemark = item["表头备注"].ToString();
                    //子表
                    string HMaintainItemID = item["HMaintainItemID"].ToString();//保养项目
                    string HManagerID = item["HManagerID"].ToString() == "" ? "0" : item["HManagerID"].ToString();//负责人
                    string HMaintainPart = item["保养部位"].ToString();
                    string HClaim = item["具体要求"].ToString();
                    string HSubRemark = item["表体备注"].ToString();
                    string HMaintainItem = item["保养项目名称"].ToString();
                    ds = oCN.RunProcReturn("select * from Sc_MouldMaintainRuleBillMain where HBillNo='" + HBillNo + "'", "Sc_MouldMaintainRuleBillMain");
                    if (ds.Tables[0].Rows.Count == 0)
                    {
                        long HInterID = DBUtility.ClsPub.CreateBillID(HBillType, ref DBUtility.ClsPub.sExeReturnInfo);
                        //插入主表
                        oCN.RunProc("Insert Into Sc_MouldMaintainRuleBillMain" +
                         "(HBillType,HBillSubType,HInterID,HBillNo,HDate" +
                        ",HYear,HPeriod,HRemark,HMaker,HMakeDate" +
                        ",HCycleUnit,HCheckCycle,HExplanation,HInnerBillNo,HMaintainLevID,HUseQtys,HSafeDays,HErrWarDays,HErrWarQtys" +
                        ") " +
                        " values('" + HBillType + "','" + HBillType + "'," + HInterID + ",'" + HBillNo + "','" + HDate + "'" +
                        ", " + HYear.ToString() + "," + HPeriod.ToString() + ",'" + HRemark + "','" + HMaker + "',getdate()" +
                        ",'" + HCycleUnit + "'," + HCheckCycle.ToString() + ",'" + HExplanation + "','" + " " + "'," + 0 + "," + 0 + "," + 0 + "," + 0 + "," + 0 +
                        ") ");
                        //插入子表
                        oCN.RunProc("Insert into Sc_MouldMaintainRuleBillSub_Item " +
                          " (HInterID,HEntryID,HCloseMan,HEntryCloseDate,HCloseType,HRemark" +
                          ",HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HRelationQty,HRelationMoney" +
                          ",HMaintainItemID,HMaintainItem,HMaintainPart" +
                          ",HClaim,HManagerID" +
                          ") values("
                          + HInterID.ToString() + "," + 1 + ",'" + "" + "'," + DateTime.Now.ToShortDateString() + "," + Convert.ToString(false ? 1 : 0) + ",'" + HSubRemark + "'" +
                          "," + 0 + "," + 0 + ",'" + "" + "','" + "" + "'," + 0 + "," + 0 +
                          "," + HMaintainItemID.ToString() + ",'" + HMaintainItem + "','" + HMaintainPart + "','" + HClaim + "'," + HManagerID.ToString() +
                          ") ");
                    }
                    else
                    {
                        long HInterID = long.Parse(ds.Tables[0].Rows[0]["HInterID"].ToString());
                        //获取最大子id
                        DataSet ds2 = oCN.RunProcReturn("select max(HEntryID) HEntryID from Sc_MouldMaintainRuleBillSub_Item where HInterID='" + HInterID + "'", "Sc_MouldMaintainRuleBillSub_Item");
                        long HEntryID = 1;
                        if (ds2.Tables[0].Rows.Count > 0)
                        {
                             HEntryID = long.Parse(ds2.Tables[0].Rows[0]["HEntryID"].ToString())+1;
                        }
                            //插入子表
                        oCN.RunProc("Insert into Sc_MouldMaintainRuleBillSub_Item " +
                        " (HInterID,HEntryID,HCloseMan,HEntryCloseDate,HCloseType,HRemark" +
                        ",HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HRelationQty,HRelationMoney" +
                        ",HMaintainItemID,HMaintainItem,HMaintainPart" +
                        ",HClaim,HManagerID" +
                        ") values("
                        + HInterID.ToString() + "," + HEntryID + ",'" + "" + "'," + DateTime.Now.ToShortDateString() + "," + Convert.ToString(false ? 1 : 0) + ",'" + HSubRemark + "'" +
                        "," + 0 + "," + 0 + ",'" + "" + "','" + "" + "'," + 0 + "," + 0 +
                        "," + HMaintainItemID.ToString() + ",'" + HMaintainItem + "','" + HMaintainPart + "','" + HClaim + "'," + HManagerID.ToString() +
                        ") ");
                    }
                    i++;
                }
                oCN.Commit();
                objJsonResult.code = CodeConstant.SUCCEED;
                objJsonResult.count = CountConstant.SUCCEED;
                objJsonResult.Message = "导入成功!";
                objJsonResult.data = null;
                return objJsonResult;
            }
            catch (Exception e)
            {
                LogService.Write(e);
                oCN.RollBack();
                objJsonResult.code = CodeConstant.FAIL;
                objJsonResult.count = CountConstant.FAIL;
                objJsonResult.Message = "Exception!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #endregion
        #endregion
    }
}
WebAPI/Controllers/MJGL/Sc_MouldProdMoveBillListController.cs
@@ -5,6 +5,8 @@
using System.Data;
using System.Web.Http;
using WebAPI.Models;
using SyntacticSugar.constant;
using Newtonsoft.Json;
namespace WebAPI.Controllers
{
    /**
@@ -134,6 +136,61 @@
        #endregion
        #region å™¨å…·ç›´æŽ¥è°ƒæ‹¨å•分页列表
        [Route("Sc_MouldProdMoveBill/page")]
        [HttpGet]
        public object Sc_MouldProdMoveBillPage(string sWhere, string user, int page, int size)
        {
            DataSet ds;
            try
            {
                List<object> columnNameList = new List<object>();
                //权限
                if (!DBUtility.ClsPub.Security_Log("Sc_MouldProdMoveBillList", 1, false, user))
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "无查看权限!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                sWhere = sWhere.Replace("'", "''");
                if (sWhere == null || sWhere.Equals(""))
                {
                    ds = oCn.RunProcReturn("exec h_p_Sc_MouldProdMoveBillList " + page + "," + size + ",''", "h_p_Sc_MouldProdMoveBillList");
                }
                else
                {
                    ds = oCn.RunProcReturn("exec h_p_Sc_MouldProdMoveBillList " + page + "," + size + ",'" + sWhere + "'", "h_p_Sc_MouldProdMoveBillList");
                }
                //添加列名
                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 = 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 = CodeConstant.FAIL;
                objJsonResult.count = CountConstant.FAIL;
                objJsonResult.Message = "Exception!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #endregion
        #region[器具直接调拨单编辑时获取表头数据]
        [Route("Sc_MouldProdMoveBill/Sc_MouldProdMoveBillListCheckDetai")]
        [HttpGet]
WebAPI/Controllers/MJGL/Sc_MouldScrapInBillController.cs
@@ -1,9 +1,11 @@
using Newtonsoft.Json.Linq;
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Data;
using System.Web.Http;
using WebAPI.Models;
using SyntacticSugar.constant;
namespace WebAPI.Controllers
{
    public class Sc_MouldScrapInBillController : ApiController
@@ -463,5 +465,61 @@
        #endregion
        #region æ¨¡å…·æŠ¥åºŸå…¥åº“单分页列表
        [Route("Sc_MouldScrapInBill/page")]
        [HttpGet]
        public object Sc_MouldScrapInBillPage(string sWhere, string user, int page, int size)
        {
            DataSet ds;
            try
            {
                List<object> columnNameList = new List<object>();
                //权限
                if (!DBUtility.ClsPub.Security_Log("Sc_MouldScrapRequestBillList", 1, false, user))
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "无查看权限!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                sWhere = sWhere.Replace("'", "''");
                if (sWhere == null || sWhere.Equals(""))
                {
                    ds = oCn.RunProcReturn("exec h_p_Sc_MouldScrapInHouseBillList " + page + "," + size + ",''", "h_p_Sc_MouldScrapInHouseBillList");
                }
                else
                {
                    ds = oCn.RunProcReturn("exec h_p_Sc_MouldScrapInHouseBillList " + page + "," + size + ",'" + sWhere + "'", "h_p_Sc_MouldScrapInHouseBillList");
                }
                //添加列名
                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 = 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 = CodeConstant.FAIL;
                objJsonResult.count = CountConstant.FAIL;
                objJsonResult.Message = "Exception!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #endregion
    }
}
WebAPI/Controllers/ReportPlatFormController.cs
@@ -71,6 +71,17 @@
            try
            {
                //编辑权限
                if (!DBUtility.ClsPub.Security_Log_second("IpadIndex_Edit", 1, false, HUserName))
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "新增产线失败!无权限!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                ds = oCN.RunProcReturn("select * from Gy_SourceRelationSet where HSourceID='" + HSourceID + "' and HUserName='" + HUserName + "'", "Gy_SourceRelationSet");
              
                if (ds.Tables[0].Rows.Count > 0)
@@ -165,6 +176,17 @@
        {
            try
            {
                //编辑权限
                if (!DBUtility.ClsPub.Security_Log_second("IpadIndex_Delete", 1, false, user))
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "删除产线失败!无权限!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                oCN.BeginTran();
                //更新切换状态值
                string sql = string.Format(@"delete Gy_SourceRelationSet  where HSourceID='" + HSourceID + "' and HUserName = '" + user + "'");
WebAPI/Controllers/SBGL/Sb_EquipMaintainRuleBillController.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.SBGL
{
    public class Sb_EquipMaintainRuleBillController : ApiController
@@ -616,5 +619,383 @@
            }
        }
        #endregion
        #region è®¾å¤‡ä¿å…»è§„程 æ–‡ä»¶å¯¼å…¥ä¿å­˜
        #region è®¾å¤‡ä¿å…»è§„程 æ–‡ä»¶ä¸Šä¼ 
        [Route("Sb_EquipMaintainRuleBill/Sb_EquipMaintainRuleBill_Excel")]
        [HttpPost]
        public object Sb_EquipMaintainRuleBill_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("HMaintainItemID", typeof(Int32));//保养项目ID
                tb2.Columns.Add("HManagerID", 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 (!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 HName = "";
                    string HNum = "";
                    string HORGNumber = "";
                    string HORGName = "";
                    string HManagerName = "";
                    string HManagerNumber = "";
                    string HMaintainItemNumber = "";
                    string HMaintainItemName = "";
                    HName = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["规程编号"].ToString());
                    HNum = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["规程名称"].ToString());
                    HORGNumber = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["组织代码"].ToString());
                    HORGName = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["组织名称"].ToString());
                    HManagerNumber = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["负责人代码"].ToString());
                    HManagerName = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["负责人"].ToString());
                    HMaintainItemNumber = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["保养项目代码"].ToString());
                    HMaintainItemName = 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();
                    }
                    else
                    {
                        objJsonResult.code = CodeConstant.FAIL;
                        objJsonResult.count = CountConstant.FAIL;
                        objJsonResult.Message = "第" + index + "行,组织代码为空";
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                    //保养项目代码
                    if (HMaintainItemNumber != "")
                    {
                        //查询组织
                        ds = oCN.RunProcReturn("select * from Gy_Maintain where  HNumber='" + HMaintainItemNumber + "' and Hname='" + HMaintainItemName + "'", "Gy_Maintain");
                        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]["HMaintainItemID"] = ds.Tables[0].Rows[0]["HItemID"].ToString();
                        }
                        string HMaintainItemID = ds.Tables[0].Rows[0]["HItemID"].ToString();
                    }
                    else
                    {
                        objJsonResult.code = CodeConstant.FAIL;
                        objJsonResult.count = CountConstant.FAIL;
                        objJsonResult.Message = "第" + index + "行,保养项目代码为空";
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                    //负责人代码
                    if (HManagerNumber != "")
                    {
                        //查询组织
                        ds = oCN.RunProcReturn("select * from Gy_Employee where  HNumber='" + HManagerNumber + "' and Hname='" + HManagerName + "'", "Gy_Employee");
                        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]["HManagerID"] = ds.Tables[0].Rows[0]["HItemID"].ToString();
                        }
                    }
                    //设备保养规程名称
                    if (HName == "")
                    {
                        objJsonResult.code = CodeConstant.FAIL;
                        objJsonResult.count = CountConstant.FAIL;
                        objJsonResult.Message = "第" + index + "行,设备保养规程名称不能为空!";
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                    //设备保养规程代码
                    if (HNum == "")
                    {
                        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("Sb_EquipMaintainRuleBill/Sb_EquipMaintainRuleBill_btnSave")]
        [HttpPost]
        public object Sb_EquipMaintainRuleBill_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("Sb_EquipMaintainRuleBill_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 HBillType = "3912";
                    string HMaker = user;//制单人
                    DateTime HDate = DBUtility.ClsPub.isDate(DateTime.Now.ToString("yyyy-MM-dd"));//  --日期
                    long HYear = DBUtility.ClsPub.isLong(DateTime.Now.Year);
                    long HPeriod = DBUtility.ClsPub.isLong(DateTime.Now.Month);
                    string HOrgID = item["HOrgID"].ToString();//组织ID
                    string HName = item["规程名称"].ToString();
                    string HBillNo = item["规程编号"].ToString();
                    string HCycleUnit = item["周期单位"].ToString();
                    string HCheckCycle = item["保养周期"].ToString();
                    string HExplanation = item["摘要"].ToString();
                    string HRemark = item["表头备注"].ToString();
                    //子表
                    string HMaintainItemID = item["HMaintainItemID"].ToString();//保养项目
                    string HManagerID = item["HManagerID"].ToString() == "" ? "0" : item["HManagerID"].ToString();//负责人
                    string HMaintainPart = item["保养部位"].ToString();
                    string HClaim = item["具体要求"].ToString();
                    string HSubRemark = item["表体备注"].ToString();
                    string HMaintainItem = item["保养项目名称"].ToString();
                    ds = oCN.RunProcReturn("select * from Sb_EquipMaintainRuleBillMain where HBillNo='" + HBillNo + "'", "Sb_EquipMaintainRuleBillMain");
                    if (ds.Tables[0].Rows.Count == 0)
                    {
                        long HInterID = DBUtility.ClsPub.CreateBillID(HBillType, ref DBUtility.ClsPub.sExeReturnInfo);
                        //插入主表
                        oCN.RunProc("Insert Into Sb_EquipMaintainRuleBillMain   " +
                        "(HBillType,HBillSubType,HInterID,HBillNo,HDate,HMaker,HMakeDate" +
                        ",HYear,HPeriod,HRemark" +
                        ",HCheckCycle,HCycleUnit,HExplanation,HInnerBillNo,HMaintainLevID,HSafeDays,HErrWarDays" +
                        ") " +
                        " values('" + HBillType + "','" + HBillType + "'," + HInterID.ToString() + ",'" + HBillNo + "','" + HDate + "','" + HMaker + "',getdate()" +
                        "," + HYear.ToString() + "," + HPeriod.ToString() + ",'" + HRemark +
                        "'," + HCheckCycle.ToString() + ",'" + HCycleUnit + "','" + HExplanation + "','" + "" + "'," + 0 + "," + 0 + ", " + 0 +
                        ") ");
                        //插入子表
                        oCN.RunProc("Insert into Sb_EquipMaintainRuleBillSub_Item" +
                          " (HInterID,HEntryID,HMaintainItemID,HMaintainItem" +
                          ",HMaintainPart,HClaim" +
                          ",HManagerID" +
                          ",HCloseMan,HCloseType,HRemark" +
                          ",HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HRelationQty,HRelationMoney" +
                          ") values("
                          + HInterID.ToString() + "," + 1 + "," + HMaintainItemID.ToString() + ",'" + HMaintainItem.ToString() + "'" +
                          ",'" + HMaintainPart.ToString() + "','" + HClaim.ToString() + "'" +
                          "," + HManagerID.ToString() +
                          ",'" + "" + "'," + Convert.ToString(false ? 1 : 0) + ",'" + HSubRemark + "'" +
                          "," + 0 + "," + 0 + ",'" + "" + "','" + "" + "'," + 0 + "," + 0 +
                          ") ");
                    }
                    else
                    {
                        long HInterID = long.Parse(ds.Tables[0].Rows[0]["HInterID"].ToString());
                        //获取最大子id
                        DataSet ds2 = oCN.RunProcReturn("select max(HEntryID) HEntryID from Sb_EquipMaintainRuleBillSub_Item where HInterID='" + HInterID + "'", "Sb_EquipMaintainRuleBillSub_Item");
                        long HEntryID = 1;
                        if (ds2.Tables[0].Rows.Count > 0)
                        {
                            HEntryID = long.Parse(ds2.Tables[0].Rows[0]["HEntryID"].ToString()) + 1;
                        }
                        //插入子表
                        //插入子表
                        oCN.RunProc("Insert into Sb_EquipMaintainRuleBillSub_Item" +
                          " (HInterID,HEntryID,HMaintainItemID,HMaintainItem" +
                          ",HMaintainPart,HClaim" +
                          ",HManagerID" +
                          ",HCloseMan,HCloseType,HRemark" +
                          ",HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HRelationQty,HRelationMoney" +
                          ") values("
                          + HInterID.ToString() + "," + HEntryID + "," + HMaintainItemID.ToString() + ",'" + HMaintainItem.ToString() + "'" +
                          ",'" + HMaintainPart.ToString() + "','" + HClaim.ToString() + "'" +
                          "," + HManagerID.ToString() +
                          ",'" + "" + "'," + Convert.ToString(false ? 1 : 0) + ",'" + HSubRemark + "'" +
                          "," + 0 + "," + 0 + ",'" + "" + "','" + "" + "'," + 0 + "," + 0 +
                          ") ");
                    }
                    i++;
                }
                oCN.Commit();
                objJsonResult.code = CodeConstant.SUCCEED;
                objJsonResult.count = CountConstant.SUCCEED;
                objJsonResult.Message = "导入成功!";
                objJsonResult.data = null;
                return objJsonResult;
            }
            catch (Exception e)
            {
                LogService.Write(e);
                oCN.RollBack();
                objJsonResult.code = CodeConstant.FAIL;
                objJsonResult.count = CountConstant.FAIL;
                objJsonResult.Message = "Exception!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #endregion
        #endregion
    }
}
WebAPI/Controllers/SCGL/Èռƻ®¹ÜÀí/JIT_DayPlanPlatFormBillController.cs
@@ -195,6 +195,10 @@
                LogService.CustomWriteLog("2:", DateTime.Now.ToString("yyyy-MM-dd"));
                int TrueCount = 0, SumCount = 0;
                LogService.CustomWriteLog("list.Count:"+ list.Count, DateTime.Now.ToString("yyyy-MM-dd"));
                string sReturn = "";
                oSystemParameter.ShowBill(ref sReturn);
                for (int i = 0; i < list.Count; i++)
                {
                    TrueCount = 0;
@@ -230,17 +234,21 @@
                        var HMainSourceEntryID = list[i]["源单子内码"].ToString();
                        var HPlanQty = list[i]["计划数量"].ToString();
                        var HEmpID = list[i]["HEmpID"].ToString();
                        var HWorkQty = list[i]["小时产能"].ToString();
                        LogService.CustomWriteLog("2.05:" + i, DateTime.Now.ToString("yyyy-MM-dd"));
                        if (HSourceID == ""|| HSourceID == "0")
                        if (oSystemParameter.omodel.WMS_CampanyName != "添康科技") //系统参数  å®¢æˆ·å®šåˆ¶åŒ–名称     ç©ºç™½ä¸ºé€šç”¨
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 0;
                            objJsonResult.Message = $"第{i + 1}行生产资源不能为空!";
                            objJsonResult.data = null;
                            return objJsonResult;
                        }
                            if (HSourceID == "" || HSourceID == "0")
                            {
                                objJsonResult.code = "0";
                                objJsonResult.count = 0;
                                objJsonResult.Message = $"第{i + 1}行生产资源不能为空!";
                                objJsonResult.data = null;
                                return objJsonResult;
                            }
                        }
                        ds = oCN.RunProcReturn($"select * from Sc_WorkBillSortBillMain where HMainSourceInterID={HMainSourceInterID}" +
                            $" and HMainSourceEntryID={HMainSourceEntryID} and HICMOBillNo='{HICMOBillNo}' and HICMOEntrySEQ={HICMOEntrySEQ} and HSourceID={HSourceID}", "Sc_WorkBillSortBillMain");
@@ -264,7 +272,7 @@
                            " HOrderNeedQty, HSplitQty, HDayPlanSumQty,HPlanBeginDate," +
                            "HSeOrderBillNo,HICMOBillType,HSourceStockInQty,HLeftPlanQty,HOrderLev,HPreparatDate," +
                            "HMainSourceInterID,HMainSourceEntryID,HICMOInterID_Sec,HICMOEntryID_Sec,HPlanQty" +
                            ",HICMOInterID,HICMOEntryID,HPlanEndDate,HEmpID)values" +
                            ",HICMOInterID,HICMOEntryID,HPlanEndDate,HEmpID,HWorkQty)values" +
                            $"({HInterID},'{HBillNo}',{DateTime.Now.Year},{DateTime.Now.Month},'{BillType}'," +
                            $"'{BillType}',GETDATE(),1,'{user}',getdate(),'{HICMOBillNo}','{HOrderType}'," +
                            $"{(HICMOEntrySEQ == "" ? 0.ToString() : HICMOEntrySEQ)},{(HWorkShopID == "" ? 0.ToString() : HWorkShopID)},{(HSourceID == "" ? 0.ToString() : HSourceID)}, {(HYX == "" ? 0.ToString() : HYX)}, {(HProdORGID == "" ? 0.ToString() : HProdORGID)}," +
@@ -272,7 +280,7 @@
                            $" 0, {(HSplitQty == "" ? 0.ToString() : HSplitQty)}, {(HDayPlanSumQty == "" ? 0.ToString() : HDayPlanSumQty)},'{HPlanBeginDate}'," +
                            $"'{HSeOrderBillNo}','{HICMOBillType}',{(HSourceStockInQty == "" ? 0.ToString() : HSourceStockInQty)},{(HLeftPlanQty == "" ? 0.ToString() : HLeftPlanQty)},'{HOrderLev}',getdate()," +
                            $"{HMainSourceInterID},{HMainSourceEntryID},{HMainSourceInterID},{HMainSourceEntryID},{HPlanQty}," +
                            $"{HMainSourceInterID},{HMainSourceEntryID},'{HPlanEndDate}','{HEmpID}')";
                            $"{HMainSourceInterID},{HMainSourceEntryID},'{HPlanEndDate}','{HEmpID}','{HWorkQty}')";
                        //LogService.Write("sql:" + sql);
                        //主表
@@ -300,15 +308,19 @@
                        var HSplitQty = list[i]["拆单数量"].ToString();
                        LogService.CustomWriteLog("2.1:"+i, DateTime.Now.ToString("yyyy-MM-dd"));
                        if (HSourceID == "" || HSourceID == "0")
                        if (oSystemParameter.omodel.WMS_CampanyName != "添康科技") //系统参数  å®¢æˆ·å®šåˆ¶åŒ–名称     ç©ºç™½ä¸ºé€šç”¨
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 0;
                            objJsonResult.Message = $"第{i + 1}行生产资源不能为空!";
                            objJsonResult.data = null;
                            return objJsonResult;
                            if (HSourceID == "" || HSourceID == "0")
                            {
                                objJsonResult.code = "0";
                                objJsonResult.count = 0;
                                objJsonResult.Message = $"第{i + 1}行生产资源不能为空!";
                                objJsonResult.data = null;
                                return objJsonResult;
                            }
                        }
                        var str = 0;
                        if (!int.TryParse(HYX, out str))
                        {
@@ -431,7 +443,7 @@
                oCN.RunProc("insert into Sc_WorkBillSortBillSub(HInterID,HSEQ," +
                    "HMasterDate,HQty,HUseTimes)" +
                            $"values({HInterID}, {(ds.Tables[0].Rows.Count + 1)}," +
                            $" '{date}', {HQTY},{ ( (dic["小时产能"] == "0.0000" ? 0 : HQTY / float.Parse(dic["小时产能"].ToString())).ToString()=="非数字" ? 0 : dic["小时产能"] == "0.0000" ? 0 : HQTY / float.Parse(dic["小时产能"].ToString())) })");
                            $" '{date}', {HQTY},{ ((dic["小时产能"] == "0.0000" ? 0 : dic["小时产能"] == "0" ? 0 : HQTY / float.Parse(dic["小时产能"].ToString())).ToString() == "非数字" ? 0 : dic["小时产能"] == "0.0000" ? 0 : dic["小时产能"] == "0" ? 0 : HQTY / float.Parse(dic["小时产能"].ToString())) })");
            }
            objJsonResult.code = "1";
@@ -2825,5 +2837,50 @@
            }
        }
        #endregion
        #region ç”Ÿäº§æ—¥è®¡åˆ’平台 æ ¹æ®è½¦é—´æ·»åŠ æœªæŽ’äº§ç”Ÿäº§è®¢å•
        [Route("JIT_DayPlanPlatFormBill/JIT_ICMOBillListByDept")]
        [HttpGet]
        public object JIT_ICMOBillListByDept(string HDeptID)
        {
            try
            {
                //查询选择车间中未排产过的生产订单信息(添康科技--生产订单状态为下达)
                ds = oCN.RunProcReturn($"exec h_p_JIT_ICMOBillListByDept '{HDeptID}'", "h_p_JIT_ICMOBillListByDept");
                if (ds.Tables[0].Rows.Count > 0 && ds != null)
                {
                    //数据表格添加动态日期
                    for (int j = 1; j <= 31; j++)
                    {
                        ds.Tables[0].Columns.Add(DateTime.Now.AddDays(j - 1).ToString("yyyy-MM-dd"), typeof(Int32));
                    }
                    objJsonResult.code = "1";
                    objJsonResult.count = 1;
                    objJsonResult.Message = "Sucess!";
                    objJsonResult.data = ds.Tables[0];
                    return objJsonResult;
                }
                else
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "查无数据,当前所选车间下暂无未排产且订单状态为下达的生产订单信息!";
                    objJsonResult.data = "";
                    return objJsonResult;
                }
            }
            catch (Exception e)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "Exception!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #endregion
    }
}
WebAPI/Controllers/SCGL/Èռƻ®¹ÜÀí/JIT_DayPlanPlatFormImportController.cs
@@ -83,21 +83,21 @@
                    {
                        continue;
                    }                    
                    else if (oSystemParameter.omodel.JIT_DayPlan_TimeFrame != "0" && oSystemParameter.omodel.JIT_DayPlan_TimeFrame != "")
                    {
                        Int32 HDays = Convert.ToInt32(oSystemParameter.omodel.JIT_DayPlan_TimeFrame) * 7;
                    //else if (oSystemParameter.omodel.JIT_DayPlan_TimeFrame != "0" && oSystemParameter.omodel.JIT_DayPlan_TimeFrame != "")
                    //{
                    //    Int32 HDays = Convert.ToInt32(oSystemParameter.omodel.JIT_DayPlan_TimeFrame) * 7;
                        for (int j = 0; j < ExcelDs.Tables[0].Columns.Count; j++)
                        {
                            if (Convert.ToInt32(ExcelDs.Tables[0].Rows[i][j].ToString()) > 0 )
                            {
                                continue;
                            }
                        }
                    }
                    //    for (int j = 0; j < ExcelDs.Tables[0].Columns.Count; j++)
                    //    {
                    //        if (Convert.ToInt32(ExcelDs.Tables[0].Rows[i][j].ToString()) > 0 )
                    //        {
                    //            continue;
                    //        }
                    //    }
                    //}
                    else
                    {
                        tb2.Rows.Add(row);
@@ -132,9 +132,9 @@
                        return objJsonResult;
                    }
                    string sql1 = string.Format("select * from h_v_IF_ICMOBillList where å•据号='{0}' and ç”Ÿäº§è½¦é—´ä»£ç ='{1}' and äº§å“ä»£ç ='{2}' and æ˜Žç»†è¡Œå·={3} ",
                    string sql1 = string.Format("select * from h_v_JIT_ICMOBillList_DR where å•据号='{0}' and ç”Ÿäº§è½¦é—´ä»£ç ='{1}' and äº§å“ä»£ç ='{2}' and æ˜Žç»†è¡Œå·={3} ",
                        tb2.Rows[i]["生产订单号*"].ToString(), tb2.Rows[i]["生产车间编码*"].ToString(), tb2.Rows[i]["物料编码*"].ToString(), tb2.Rows[i]["生产订单明细行号*"].ToString());
                    ds = oCN.RunProcReturn(sql1, "h_v_IF_ICMOBillList");
                    ds = oCN.RunProcReturn(sql1, "h_v_JIT_ICMOBillList_DR");
                    if (ds.Tables[0].Rows.Count == 0)
                    {
@@ -162,10 +162,10 @@
                        tb2.Rows[i]["HSeOrderBillNo"] = ds.Tables[0].Rows[0]["销售订单号"].ToString();//销售订单号
                    }
                    ds = oCN.RunProcReturn("select * from h_v_JIT_Sc_WorkBillSortBillList " +
                    ds = oCN.RunProcReturn("select * from h_v_JIT_WorkBillSortBillList_DR " +
                        $"where  ç”Ÿäº§è®¢å•号='{tb2.Rows[i]["生产订单号*"].ToString()}'  and ç”Ÿäº§è®¢å•明细行号='{tb2.Rows[i]["生产订单明细行号*"].ToString()}' " +
                        $"and ç”Ÿäº§è½¦é—´ç¼–码='{tb2.Rows[i]["生产车间编码*"].ToString()}' and ç‰©æ–™ä»£ç ='{tb2.Rows[i]["物料编码*"].ToString()}' " +
                        $"and ç”Ÿäº§èµ„源编码='{tb2.Rows[i]["生产资源编码*"].ToString()}' ", "h_v_JIT_Sc_WorkBillSortBillList");
                        $"and ç”Ÿäº§èµ„源编码='{tb2.Rows[i]["生产资源编码*"].ToString()}' ", "h_v_JIT_WorkBillSortBillList_DR");
                    //组织编码='{tb2.Rows[i]["组织编码*"].ToString()}' and
                    //and ç”Ÿäº§èµ„源编码='{tb2.Rows[i]["生产资源编码*"].ToString()}'
@@ -187,7 +187,7 @@
                    else
                    {
                        //员工
                        ds = oCN.RunProcReturn($"select * from Gy_Employee  where HNumber='{tb2.Rows[i]["员工编码"].ToString()}'", "Gy_Employee");
                        ds = oCN.RunProcReturn($"select * from Gy_Employee with(nolock) where HNumber='{tb2.Rows[i]["员工编码"].ToString()}'", "Gy_Employee");
                        if (ds.Tables[0].Rows.Count > 0) {
                            tb2.Rows[i]["HEmpID"] = ds.Tables[0].Rows[0]["HItemID"].ToString();
                            tb2.Rows[i]["员工"] = ds.Tables[0].Rows[0]["HName"].ToString();
@@ -202,7 +202,7 @@
                        }
                        //计量单位
                        ds = oCN.RunProcReturn($"select * from Gy_Unit  where HNumber='{tb2.Rows[i]["计量单位"].ToString()}'", "Gy_Unit");
                        ds = oCN.RunProcReturn($"select * from Gy_Unit with(nolock) where HNumber='{tb2.Rows[i]["计量单位"].ToString()}'", "Gy_Unit");
                        if (ds.Tables[0].Rows.Count > 0)
                        {
                            tb2.Rows[i]["HUnitID"] = ds.Tables[0].Rows[0]["HItemID"].ToString();
@@ -217,7 +217,7 @@
                        }
                        //生产资源
                        ds = oCN.RunProcReturn($"select * from Gy_Source  where HNumber='{tb2.Rows[i]["生产资源编码*"].ToString()}'", "Gy_Source");
                        ds = oCN.RunProcReturn($"select * from Gy_Source with(nolock) where HNumber='{tb2.Rows[i]["生产资源编码*"].ToString()}'", "Gy_Source");
                        if (ds.Tables[0].Rows.Count > 0)
                        {
                            tb2.Rows[i]["HSourceID"] = ds.Tables[0].Rows[0]["HItemID"].ToString();
@@ -231,7 +231,7 @@
                        }
                    }
                    //组织
                    ds = oCN.RunProcReturn($"select * from Xt_ORGANIZATIONS  where HNumber='{tb2.Rows[i]["组织编码*"].ToString()}'", "Xt_ORGANIZATIONS");
                    ds = oCN.RunProcReturn($"select * from Xt_ORGANIZATIONS with(nolock) where HNumber='{tb2.Rows[i]["组织编码*"].ToString()}'", "Xt_ORGANIZATIONS");
                    if (ds.Tables[0].Rows.Count > 0)
                    {
                        tb2.Rows[i]["HProdORGID"] = ds.Tables[0].Rows[0]["HItemID"].ToString();
WebAPI/Controllers/Sc_MouldRepairInBillListController.cs
@@ -9,6 +9,7 @@
using System.Web.Http;
using ViewAPI;
using WebAPI.Models;
using SyntacticSugar.constant;
namespace WebAPI.Controllers
{
    /**
@@ -7866,6 +7867,62 @@
        #endregion
        #region æ¨¡å…·å¤„理出库单分页列表
        [Route("Sc_MouldScrapOutHouseBill/page")]
        [HttpGet]
        public object Sc_MouldScrapOutHouseBillPage(string sWhere, string user, int page, int size)
        {
            DataSet ds;
            try
            {
                List<object> columnNameList = new List<object>();
                //权限
                if (!DBUtility.ClsPub.Security_Log("Sc_MouldScrapOutBillList", 1, false, user))
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "无查看权限!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                sWhere = sWhere.Replace("'", "''");
                if (sWhere == null || sWhere.Equals(""))
                {
                    ds = oCN.RunProcReturn("exec h_p_Sc_MouldScrapOutHouseBillList " + page + "," + size + ",''", "h_p_Sc_MouldScrapOutHouseBillList");
                }
                else
                {
                    ds = oCN.RunProcReturn("exec h_p_Sc_MouldScrapOutHouseBillList " + page + "," + size + ",'" + sWhere + "'", "h_p_Sc_MouldScrapOutHouseBillList");
                }
                //添加列名
                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 = 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 = CodeConstant.FAIL;
                objJsonResult.count = CountConstant.FAIL;
                objJsonResult.Message = "Exception!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #endregion
        #region[模具处理出库单编辑时获取表头数据]
        [Route("Sc_MouldScrapOutHouseBill/Sc_MouldScrapOutHouseBillListCheckDetai")]
        [HttpGet]
WebAPI/Controllers/WebAPIController.cs
@@ -15079,6 +15079,46 @@
        }
        /// <summary>
        /// æ ¹æ®ç‰©æ–™+工序获取检验方案
        /// </summary>
        /// <returns></returns>
        [Route("Web/GetCheckItemID")]
        [HttpGet]
        public object GetCheckItemID(string HName,string HProName)
        {
            try
            {
                SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
                ds = oCN.RunProcReturn("select  top 1 * from h_v_Gy_QCCheckProjectList_Main where ç‰©æ–™åç§°='"+HName+ "' and å·¥åºåç§°='" + HProName + "'   order by æ—¥æœŸ desc ", "h_v_Gy_QCCheckProjectList_Main");
                if (ds == null || ds.Tables[0].Rows.Count <= 0)
                {
                    objjson.code = "0";
                    objjson.count = 0;
                    objjson.Message = "获取失败" + DBUtility.ClsPub.sErrInfo;
                    objjson.data = null;
                    return objjson;
                }
                else
                {
                    objjson.code = "1";
                    objjson.count = 1;
                    objjson.Message = "获取成功!";
                    objjson.data = ds.Tables[0];
                    return objjson;
                }
            }
            catch (Exception ex)
            {
                objjson.code = "0";
                objjson.count = 0;
                objjson.Message = "获取失败" + ex.ToString();
                objjson.data = null;
                return objjson;
            }
        }
        /// <summary>
        /// æ ¹æ®æ£€éªŒæ–¹æ¡ˆä¸»å†…码获取检验项目
        /// </summary>
        /// <returns></returns>
@@ -16199,8 +16239,15 @@
                ds = oCn.RunProcReturn(sql, "Gy_MenuDefineSet");        //查询当前用户的自定义菜单数据
                if (ds.Tables[0] == null || ds.Tables[0].Rows.Count == 0) //判断当前用户是否有设置过自定义信息,若记录数为0,则没有设置过,加载所有的菜单信息
                {
                    sql = "Select * from Gy_Menu_1 where HType = '" + HType + "' Order by HPosition,len(HitemID),HitemID  ";
                    ds = oCn.RunProcReturn(sql, "Gy_Menu");
                    string sql1 = "select HItemID,HPartentID,HNumber,HName,HLevel,Hurl,HType,HPicNum from Gy_MenuDefineSet where HMakeName=" +
                        "(select   top 1 c.GroupName  from Gy_Czygl a left join System_UserGroupInfo b on a.Czybm = b.UserId  " +
                        "left join System_UserGroup c on b.GroupId = c.GroupID  where a.Czymc ='"+HMakeName+"' order by len(c.GroupName ))";
                    ds = oCn.RunProcReturn(sql1, "Gy_MenuDefineSet");        //查询用户绑定的角色 æ˜¯å¦è®¾ç½®èœå•信息 å–角色名称最短的一个
                    if ((ds.Tables[0] == null || ds.Tables[0].Rows.Count == 0))
                    {
                        sql = "Select * from Gy_Menu_1 where HType = '" + HType + "' Order by HPosition,len(HitemID),HitemID  ";
                        ds = oCn.RunProcReturn(sql, "Gy_Menu");
                    }
                }
                for (int i = 0; i < ds.Tables[0].Rows.Count; i++)       //将菜单的根节点保存到列表menu中
WebAPI/Controllers/»ù´¡×ÊÁÏ/»ù´¡×ÊÁÏ/Gy_SOPBillController.cs
@@ -223,15 +223,29 @@
        /// </summary>
        [Route("Gy_SopBill/getListByMaterProc")]
        [HttpGet]
        public object getListByMaterProc(Int64 HMaterID, Int64 HProcID)
        public object getListByMaterProc(Int64 HMaterID, Int64 HProcID,string HType)
        {
            try
            {
                var sWhere = "";
                if (Convert.ToInt32(HMaterID) != 0 && HMaterID.ToString() != "" && Convert.ToInt32(HProcID) != 0 && HProcID.ToString() != "")
                if (HType != "")
                {
                    sWhere += " and HMaterID = " + HMaterID + " and HProcID = " + HProcID + " and HProcID2 = " + HProcID;
                    if (Convert.ToInt32(HMaterID) != 0 && HMaterID.ToString() != "" && Convert.ToInt32(HProcID) != 0 && HProcID.ToString() != "")
                    {
                        sWhere += " and HMaterID = " + HMaterID + " and HProcID = " + HProcID + " and HProcID2 = " + HProcID + " and æŒ‡å¯¼ä¹¦ç±»åž‹ = '"+ HType + "'";
                    }
                }
                else
                {
                    if (Convert.ToInt32(HMaterID) != 0 && HMaterID.ToString() != "" && Convert.ToInt32(HProcID) != 0 && HProcID.ToString() != "")
                    {
                        sWhere += " and HMaterID = " + HMaterID + " and HProcID = " + HProcID + " and HProcID2 = " + HProcID + " ";
                    }
                }
                //if (Convert.ToInt32(HMaterID) != 0 && HMaterID.ToString() != "" && Convert.ToInt32(HProcID) != 0 && HProcID.ToString() != "")
                //{
                //    sWhere += " and HMaterID = " + HMaterID + " and HProcID = " + HProcID + " and HProcID2 = " + HProcID ;
                //}
                string sql1 = string.Format(@"select * from h_v_Sc_ICMOBillStatus_Tmp_SOP where 1 = 1 " + sWhere);
                ds = oCN.RunProcReturn(sql1, "h_v_Sc_ICMOBillStatus_Tmp_SOP");
WebAPI/Controllers/ÌõÂë¹ÜÀí/WEBSController.cs
@@ -4497,6 +4497,8 @@
            string sJXCode = "";
            if (oSystemParameter.ShowBill(ref sErrMsg) == true)
            {
                LogService.Write("森楷扫码参数值,客户:" + oSystemParameter.omodel.WMS_CampanyName + " ,源单类型:" + HSourceBillType);
                if (oSystemParameter.omodel.WMS_CampanyName == "安瑞") //系统参数  å®¢æˆ·å®šåˆ¶åŒ–名称     ç©ºç™½ä¸ºé€šç”¨
                {
                    sJXCode = POStockInBillController.JX_Json(sBarCode, HInterID, HBillType, HStockOrgID, HBillNo, HMaker);
@@ -4504,6 +4506,7 @@
                }
                else if(oSystemParameter.omodel.WMS_CampanyName == "森楷" && HSourceBillType == "1241")
                {
                    LogService.Write("森楷其他入库扫码条码记录:" + sBarCode);
                    DataSet ds;
                    string sql = "select HBarCode,HSourceInterID,HSourceEntryID,HSourceBillNo from Gy_BarCodeBill with(nolock) where HBarCode = '" + sBarCode + "'";
                    string HDataBaseName = Util.GetConfigKey(AppDomain.CurrentDomain.BaseDirectory + "/Config/kdapi.config", "DataBaseName");//获取金蝶数据库名称
@@ -4514,6 +4517,7 @@
                    //判断条码信息是否在条码档案中
                    if (ds == null || ds.Tables[0].Rows.Count < 1)
                    {
                        LogService.Write("其他入库,条码档案中不存在此条码编号:" + sBarCode);
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = "条码档案中不存在此条码编号:" + sBarCode;
@@ -4741,7 +4745,7 @@
                            }
                            //更新条码源单id信息
                            sql = string.Format($@"update a set HSourceInterID = b.FID,HSourceEntryID = c.FEntryID from Gy_BarCodeBill a left join AIS20220609121235..TFKO_t_Cust100009 b on a.HSourceBillNo = b.FBillNo left join AIS20220609121235..TFKO_t_Cust_Entry100065 c on b.FID = C.FID and a.HBarcodeNo = c.FSEQ where HSourceBillNo = '{HSourceBillNo_TB}'");
                            sql = string.Format($@"update a set HSourceInterID = isnull(b.FID,0),HSourceEntryID = isnull(c.FEntryID,0) from Gy_BarCodeBill a left join AIS20220609121235..TFKO_t_Cust100009 b on a.HSourceBillNo = b.FBillNo left join AIS20220609121235..TFKO_t_Cust_Entry100065 c on b.FID = C.FID and a.HBarcodeNo = c.FSEQ where HSourceBillNo = '{HSourceBillNo_TB}'");
                            //执行更新语句
                            oCn.RunProc(sql);
@@ -5281,6 +5285,48 @@
        #endregion
        #region æ‰«æå•据条码  å·²å­˜åœ¨æ‰«ç è®°å½•且单据发生变更后两边数据不一致时,清空原扫码数据   20241216
        /// <summary>
        /// å·²å­˜åœ¨æ‰«ç è®°å½•且单据发生变更后两边数据不一致时,清空原扫码数据
        /// </summary>
        /// <returns></returns>
        [Route("WEBSController/get_ClearBarCode_BillCheck_Json")]
        [HttpGet]
        public object get_ClearBarCode_BillCheck_Json(Int64 HInterID, string HBillType, string HMaker, Int64 HStockOrgID)
        {
            try
            {
                ds = oCn.RunProcReturn("exec h_p_WMS_ClearBarCode_BillCheck " + HInterID.ToString() + ",'" + HBillType + "','" + HMaker + "'," + HStockOrgID.ToString(), "h_p_WMS_ClearBarCode_BillCheck");
                if (ds == null || ds.Tables[0].Rows.Count == 0)
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "清空原扫码数据发生错误!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                else
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 1;
                    objJsonResult.Message = "成功!";
                    objJsonResult.data = ds.Tables[0];
                    return objJsonResult;
                }
            }
            catch (Exception e)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "清空原扫码数据失败!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #endregion
        #region æ‰«æç‰©æ–™æ¡ç   å‡ºå…¥åº“模块
        /// <summary>
@@ -5294,7 +5340,7 @@
            //获取系统参数
            string sErrMsg = "";
            string sJXCode = "";
            if (oSystemParameter.ShowBill(ref sErrMsg) == true)
            if (oSystemParameter.ShowBillByOrgID(HStockOrgID, ref sErrMsg) == true)
            {
                string sSourceBarCodeCtl = "N";   //校验-是否进行源单对应条码核对('Y'为核对)
@@ -5689,7 +5735,7 @@
        #endregion
        #region ç¼“存模块    è¿”回缓存列表信息
        #region æ ¡éªŒç¼“存模块    è¿”回缓存列表信息
        /// <summary>
        /// è¿”回缓存列表信息    æ ¡éªŒæ¨¡å¼
@@ -5733,6 +5779,186 @@
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "获取缓存列表信息失败!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #endregion
        #region æ ¡éªŒç¼“存模块    æ ¹æ®å•据ID,删除临时表记录    20241216
        /// <summary>
        /// æ ¹æ®å•据ID,删除临时表记录
        /// </summary>
        /// <returns></returns>
        [Route("WEBSController/DeleteTempBillList_BillCheck_Json")]
        [HttpGet]
        public object DeleteTempBillList_BillCheck_Json(long HInterID, string HBillNo, string HBillType, string HMaker, string MvarReportTitle, Int64 HStockOrgID)
        {
            string WorkList = "删除校验缓存单据,单据号:" + HBillNo;
            string SystemName = "WMS-" + MvarReportTitle + "模块";
            //获取系统参数
            string sErrMsg = "";
            if (oSystemParameter.ShowBillByOrgID(HStockOrgID, ref sErrMsg) == true)
            {
                string sSourceBarCodeCtl = "N";   //校验-是否进行源单对应条码核对('Y'为核对)
                #region ç³»ç»Ÿå‚数获取
                //采购入库单
                if (HBillType == "1201")
                {
                    //校验-是否进行源单对应条码核对('Y'为核对)
                    if (oSystemParameter.omodel.Kf_POStockInBillCheck_SourceBarCodeCtl == "Y")
                    {
                        sSourceBarCodeCtl = "Y";
                    }
                }
                //生产入库单
                if (HBillType == "1202")
                {
                    //校验-是否进行源单对应条码核对('Y'为核对)
                    if (oSystemParameter.omodel.Kf_ProductInBillCheck_SourceBarCodeCtl == "Y")
                    {
                        sSourceBarCodeCtl = "Y";
                    }
                }
                //其他入库单
                if (HBillType == "1203")
                {
                    //校验-是否进行源单对应条码核对('Y'为核对)
                    if (oSystemParameter.omodel.Kf_OtherInBillCheck_SourceBarCodeCtl == "Y")
                    {
                        sSourceBarCodeCtl = "Y";
                    }
                }
                //领料出库单
                else if (HBillType == "1204")
                {
                    //校验-是否进行源单对应条码核对('Y'为核对)
                    if (oSystemParameter.omodel.Kf_MateOutBillCheck_SourceBarCodeCtl == "Y")
                    {
                        sSourceBarCodeCtl = "Y";
                    }
                }
                //销售出库单
                else if (HBillType == "1205")
                {
                    //校验-是否进行源单对应条码核对('Y'为核对)
                    if (oSystemParameter.omodel.Kf_SellOutBillCheck_SourceBarCodeCtl == "Y")
                    {
                        sSourceBarCodeCtl = "Y";
                    }
                }
                //其他出库单
                else if (HBillType == "1206")
                {
                    //校验-是否进行源单对应条码核对('Y'为核对)
                    if (oSystemParameter.omodel.Kf_OtherOutBillCheck_SourceBarCodeCtl == "Y")
                    {
                        sSourceBarCodeCtl = "Y";
                    }
                }
                //委外领料单
                else if (HBillType == "1211")
                {
                    //校验-是否进行源单对应条码核对('Y'为核对)
                    if (oSystemParameter.omodel.Kf_EntrustOutBillCheck_SourceBarCodeCtl == "Y")
                    {
                        sSourceBarCodeCtl = "Y";
                    }
                }
                //生产补料单
                else if (HBillType == "1254")
                {
                    //校验-是否进行源单对应条码核对('Y'为核对)
                    if (oSystemParameter.omodel.Kf_MateReplenishOutBillCheck_SourceBarCodeCtl == "Y")
                    {
                        sSourceBarCodeCtl = "Y";
                    }
                }
                //委外补料单
                else if (HBillType == "1255")
                {
                    //校验-是否进行源单对应条码核对('Y'为核对)
                    if (oSystemParameter.omodel.Kf_EntrustReplenishOutBillCheck_SourceBarCodeCtl == "Y")
                    {
                        sSourceBarCodeCtl = "Y";
                    }
                }
                //直接调拨单
                else if (HBillType == "1207")
                {
                    //校验-是否进行源单对应条码核对('Y'为核对)
                    if (oSystemParameter.omodel.Kf_MoveStockBillCheck_SourceBarCodeCtl == "Y")
                    {
                        sSourceBarCodeCtl = "Y";
                    }
                }
                #endregion
                //原单据为扫码生成,对原扫描的条码进行核对,删除条码出入库校验缓存记录
                if (sSourceBarCodeCtl == "Y")
                {
                    try
                    {
                        oCn.BeginTran();
                        oCn.RunProc("Delete from KF_PonderationBillMain_Temp_Verify where HInterID=" + HInterID.ToString() + " and HBillType='" + HBillType + "'", ref DBUtility.ClsPub.sExeReturnInfo);
                        //写入日志
                        oCn.RunProc("Insert into System_Log(GeginDate,userid,WorkstationName,WorkList,SystemName,NetUserName,State) values " +
                            "(getdate(),'" + HMaker + "','" + ComputerName + "','" + WorkList + "','" + SystemName + "','','删除')"
                            );
                        oCn.Commit();
                        objJsonResult.code = "0";
                        objJsonResult.count = 1;
                        objJsonResult.Message = "单据号:" + HBillNo + " åˆ é™¤æˆåŠŸ";
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                    catch (Exception e)
                    {
                        oCn.RollBack();
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = "删除所选单据条码出入库临时表记录失败!" + e.ToString();
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                }
                //原单据非扫码生成,删除条码出入库缓存列表记录
                else
                {
                    try
                    {
                        oCn.BeginTran();
                        oCn.RunProc("Delete from KF_PonderationBillMain_Temp where HInterID=" + HInterID.ToString() + " and HBillType='" + HBillType + "' and HSubBillType=1", ref DBUtility.ClsPub.sExeReturnInfo);
                        //写入日志
                        oCn.RunProc("Insert into System_Log(GeginDate,userid,WorkstationName,WorkList,SystemName,NetUserName,State) values " +
                            "(getdate(),'" + HMaker + "','" + ComputerName + "','" + WorkList + "','" + SystemName + "','','删除')"
                            );
                        oCn.Commit();
                        objJsonResult.code = "0";
                        objJsonResult.count = 1;
                        objJsonResult.Message = "单据号:" + HBillNo + " åˆ é™¤æˆåŠŸ";
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                    catch (Exception e)
                    {
                        oCn.RollBack();
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = "删除所选单据条码出入库临时表记录失败!" + e.ToString();
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                }
            }
            else
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "获取系统参数失败! " + sErrMsg;
                objJsonResult.data = null;
                return objJsonResult;
            }
@@ -5816,6 +6042,227 @@
        #endregion
        #region æ ¡éªŒç¼“存模块  å·²ä¸Šä¼ æŸ¥è¯¢ç•Œé¢åˆ·æ–°   20241216
        /// <summary>
        /// å·²ä¸Šä¼ æŸ¥è¯¢ç•Œé¢ï¼Œæ ¹æ®å•据类型、单据号、用户查询已上传单据信息
        /// </summary>
        /// <returns></returns>
        [Route("WEBSController/GetKf_ICStockBillQueryList_User_BillCheck_Json")]
        [HttpGet]
        public object GetKf_ICStockBillQueryList_User_BillCheck_Json(string HBillType, string HBillNo, string HMaker, Int64 HStockOrgID)
        {
            try
            {
                ds = oCn.RunProcReturn("exec h_p_Kf_ICStockBillQueryByUserList_BillCheck '" + HBillType + "','" + HBillNo + "','" + HMaker + "'," + HStockOrgID.ToString(), "h_p_Kf_ICStockBillQueryByUserList_BillCheck");
                if (ds == null || ds.Tables[0].Rows.Count == 0)
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "查询不到该单据记录!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                else
                {
                    List<object> columnNameList = new List<object>();
                    //添加列名
                    foreach (DataColumn col in ds.Tables[0].Columns)
                    {
                        Type dataType = col.DataType;
                        string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}";
                        columnNameList.Add(JsonConvert.DeserializeObject(ColmString));  //获取到DataColumn列对象的列名
                    }
                    objJsonResult.code = "0";
                    objJsonResult.count = 1;
                    objJsonResult.Message = "获取单据信息成功!";
                    objJsonResult.data = ds.Tables[0];
                    objJsonResult.list = columnNameList;
                    return objJsonResult;
                }
            }
            catch (Exception e)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "获取已上传单据信息失败!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #endregion
        #region æ ¡éªŒç¼“存模块  å·²ä¸Šä¼ åˆ—表界面,撤销功能,删除WMS表记录,并更新TEMP表中的上传字段 HRelationInterID=0     20241216
        /// <summary>
        /// å·²ä¸Šä¼ åˆ—表界面,撤销功能,删除WMS表记录,并更新TEMP表中的上传字段 HRelationInterID=0
        /// </summary>
        /// <returns></returns>
        [Route("WEBSController/set_DeleteICStockBillAndWMS_BillCheck_Json")]
        [HttpGet]
        public object set_DeleteICStockBillAndWMS_BillCheck_Json(Int64 HInterID, string HBillNo, string HBillType, string HMaker, string MvarReportTitle, Int64 HStockOrgID)
        {
            string WorkList = "撤销校验已上传单据,单据号:" + HBillNo;
            string SystemName = "WMS-" + MvarReportTitle + "模块";
            //获取系统参数
            string sErrMsg = "";
            if (oSystemParameter.ShowBillByOrgID(HStockOrgID, ref sErrMsg) == true)
            {
                string sERPMode = oSystemParameter.omodel.WMS_WMSStockCtl_ERPMode;   //库存控制-WMS库存控制ERP模式    (WISE、CLOUD、MES)
                string sSourceBarCodeCtl = "N";   //校验-是否进行源单对应条码核对('Y'为核对)
                #region ç³»ç»Ÿå‚数获取
                //采购入库单
                if (HBillType == "1201")
                {
                    //校验-是否进行源单对应条码核对('Y'为核对)
                    if (oSystemParameter.omodel.Kf_POStockInBillCheck_SourceBarCodeCtl == "Y")
                    {
                        sSourceBarCodeCtl = "Y";
                    }
                }
                //生产入库单
                if (HBillType == "1202")
                {
                    //校验-是否进行源单对应条码核对('Y'为核对)
                    if (oSystemParameter.omodel.Kf_ProductInBillCheck_SourceBarCodeCtl == "Y")
                    {
                        sSourceBarCodeCtl = "Y";
                    }
                }
                //其他入库单
                if (HBillType == "1203")
                {
                    //校验-是否进行源单对应条码核对('Y'为核对)
                    if (oSystemParameter.omodel.Kf_OtherInBillCheck_SourceBarCodeCtl == "Y")
                    {
                        sSourceBarCodeCtl = "Y";
                    }
                }
                //领料出库单
                else if (HBillType == "1204")
                {
                    //校验-是否进行源单对应条码核对('Y'为核对)
                    if (oSystemParameter.omodel.Kf_MateOutBillCheck_SourceBarCodeCtl == "Y")
                    {
                        sSourceBarCodeCtl = "Y";
                    }
                }
                //销售出库单
                else if (HBillType == "1205")
                {
                    //校验-是否进行源单对应条码核对('Y'为核对)
                    if (oSystemParameter.omodel.Kf_SellOutBillCheck_SourceBarCodeCtl == "Y")
                    {
                        sSourceBarCodeCtl = "Y";
                    }
                }
                //其他出库单
                else if (HBillType == "1206")
                {
                    //校验-是否进行源单对应条码核对('Y'为核对)
                    if (oSystemParameter.omodel.Kf_OtherOutBillCheck_SourceBarCodeCtl == "Y")
                    {
                        sSourceBarCodeCtl = "Y";
                    }
                }
                //委外领料单
                else if (HBillType == "1211")
                {
                    //校验-是否进行源单对应条码核对('Y'为核对)
                    if (oSystemParameter.omodel.Kf_EntrustOutBillCheck_SourceBarCodeCtl == "Y")
                    {
                        sSourceBarCodeCtl = "Y";
                    }
                }
                //生产补料单
                else if (HBillType == "1254")
                {
                    //校验-是否进行源单对应条码核对('Y'为核对)
                    if (oSystemParameter.omodel.Kf_MateReplenishOutBillCheck_SourceBarCodeCtl == "Y")
                    {
                        sSourceBarCodeCtl = "Y";
                    }
                }
                //委外补料单
                else if (HBillType == "1255")
                {
                    //校验-是否进行源单对应条码核对('Y'为核对)
                    if (oSystemParameter.omodel.Kf_EntrustReplenishOutBillCheck_SourceBarCodeCtl == "Y")
                    {
                        sSourceBarCodeCtl = "Y";
                    }
                }
                //直接调拨单
                else if (HBillType == "1207")
                {
                    //校验-是否进行源单对应条码核对('Y'为核对)
                    if (oSystemParameter.omodel.Kf_MoveStockBillCheck_SourceBarCodeCtl == "Y")
                    {
                        sSourceBarCodeCtl = "Y";
                    }
                }
                #endregion
                try
                {
                    oCn.BeginTran();
                    ds = oCn.RunProcReturn("exec h_p_WMS_ICStockBillAndWMS_Delete_BillCheck " + HInterID + ",'" + HBillNo + "','" + HBillType + "','" + sSourceBarCodeCtl + "','" + sERPMode + "'", "h_p_WMS_ICStockBillAndWMS_Delete_BillCheck");
                    if (ds == null || ds.Tables[0].Rows.Count == 0)
                    {
                        oCn.RollBack();
                        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)
                    {
                        oCn.RollBack();
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;  //失败!
                        objJsonResult.Message = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HRemark"]);
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                    else
                    {
                        //写入日志
                        oCn.RunProc("Insert into  System_Log(GeginDate,userid,WorkstationName,WorkList,SystemName,NetUserName,State) values " +
                            "(getdate(),'" + HMaker + "','" + ComputerName + "','" + WorkList + "','" + SystemName + "','','撤销')"
                            );
                        oCn.Commit();
                        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)
                {
                    oCn.RollBack();
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "撤销单据已上传记录失败!" + e.ToString();
                    objJsonResult.data = null;
                    return objJsonResult;
                }
            }
            else
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "获取系统参数失败! " + sErrMsg;
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #endregion
        #region ç¼“存模块    å·²ä¸Šä¼ åˆ—表界面,撤销功能
        /// <summary>
WebAPI/Controllers/ÏîÄ¿¹ÜÀí/¹¤³ÌÏîÄ¿/PM_ProjectBillController.cs
@@ -48,6 +48,7 @@
        public class PM_ProjectBill_Main
        {
            public int HInterID;
            public string HBillSubType;
            public string HBillNo;
            public string HProNumber;
            public string HProName;
@@ -125,6 +126,43 @@
            public double HYuShouKuanMoney;             //预收款
            public double HGongFeiMoney;                //工费结账
            public double HJieZhangMoney;                //结算结账
            public int HTaskClassID; //任务大类(Gy_TaskClass)
            public int HTaskClassEntryID; //任务项目分类(Gy_TaskClass)
            public string  HTaskAddress; //任务地点
            public string  HBreakStatus; //损坏情况
            public string  HWaterLeakage; //漏水量
            public string  HPipeDiameter; //管径
            public string  HPipeMaterial; //管道材质
            public string  HAlarmEmp; //报漏人
            public string  HAlarmLink; //报漏人联系电话
            public string  HReceEmp; //受理人
            public string  HReceTime; //受理时间(年月日时分秒)
            public double HTaskMaterMoney; //任务材料费
            public double HTaskSetupMoney; //任务安装费
            public double HTaskOtherMoney; //任务附属费
            public double HTaskExamMoney; //任务考核费
            public double HTaskWorkMoney; //任务工费
            public bool  HIsAccount; //是否结账(复选框)
            public string  HAccountDate; //结算结账日期
            public string  HAccountWorkMoneyDate; //工费结账日期
            public bool HIsCheckExam; //是否审核考核费(复选框)
            public bool HIsCheckWorkMoney; //是否审核工费(复选框)
            public string  HInfoBackTime; //回复时间(年月日时分秒)
            public string HInfoBackMan; //回复人
            public string HInfoNote; //回复内容(富文本)
            public string  HTaskBTime; //任务开始时间(年月日时分秒)
            public string  HTaskETime; //任务完工时间(年月日时分秒)
            public string  HTaskNote; //任务详细内容(富文本)
            public string  HTaskWorkEmp; //工作人员(富文本)
            public string  HBeginCloseValveTime; //开始关阀时间(年月日时分秒)
            public string  HEndCloseValveTime; //结束关阀时间(年月日时分秒)
            public long  HCloseValveQty; //关阀只数
            public string  HBeginOpenValveTime; //开始开阀时间(年月日时分秒)
            public string  HEndOpenValveTime; //结束开阀时间(年月日时分秒)
            public long HOpenValveQty; //开阀只数
            public string  HValveWorkEmp; //操作人员
            public string  HTaskRemark; //任务备注(富文本)
        }
        #endregion
@@ -240,7 +278,7 @@
                int HYear = int.Parse(mainList[0].HDate.Split('-')[0]);
                int HPeriod = int.Parse(mainList[0].HDate.Split('-')[1]);
                string HBillType = "4750";
                string HBillSubType = "";
                string HBillSubType = mainList[0].HBillSubType;
                int HInterID = mainList[0].HInterID;
                string HDate = mainList[0].HDate;
                string HBillNo = mainList[0].HBillNo;
@@ -306,6 +344,43 @@
                double HGongFeiMoney = mainList[0].HGongFeiMoney;               //工费结账
                double HJieZhangMoney = mainList[0].HJieZhangMoney;                //结算结账
                int HTaskClassID = mainList[0].HTaskClassID; //任务大类(Gy_TaskClass)
                int HTaskClassEntryID = mainList[0].HTaskClassEntryID; //任务项目分类(Gy_TaskClass)
                string HTaskAddress = mainList[0].HTaskAddress; //任务地点
                string HBreakStatus = mainList[0].HBreakStatus; //损坏情况
                string HWaterLeakage = mainList[0].HWaterLeakage; //漏水量
                string HPipeDiameter = mainList[0].HPipeDiameter; //管径
                string HPipeMaterial = mainList[0].HPipeMaterial; //管道材质
                string HAlarmEmp = mainList[0].HAlarmEmp; //报漏人
                string HAlarmLink = mainList[0].HAlarmLink; //报漏人联系电话
                string HReceEmp = mainList[0].HReceEmp; //受理人
                string HReceTime = mainList[0].HReceTime; //受理时间(年月日时分秒)
                double HTaskMaterMoney = mainList[0].HTaskMaterMoney; //任务材料费
                double HTaskSetupMoney = mainList[0].HTaskSetupMoney; //任务安装费
                double HTaskOtherMoney = mainList[0].HTaskOtherMoney; //任务附属费
                double HTaskExamMoney = mainList[0].HTaskExamMoney; //任务考核费
                double HTaskWorkMoney = mainList[0].HTaskWorkMoney; //任务工费
                bool HIsAccount = mainList[0].HIsAccount; //是否结账(复选框)
                string HAccountDate = mainList[0].HAccountDate; //结算结账日期
                string HAccountWorkMoneyDate = mainList[0].HAccountWorkMoneyDate; //工费结账日期
                bool HIsCheckExam = mainList[0].HIsCheckExam; //是否审核考核费(复选框)
                bool HIsCheckWorkMoney = mainList[0].HIsCheckWorkMoney; //是否审核工费(复选框)
                string HInfoBackTime = mainList[0].HInfoBackTime; //回复时间(年月日时分秒)
                string HInfoBackMan = mainList[0].HInfoBackMan; //回复人
                string HInfoNote = mainList[0].HInfoNote; //回复内容(富文本)
                string HTaskBTime = mainList[0].HTaskBTime; //任务开始时间(年月日时分秒)
                string HTaskETime = mainList[0].HTaskETime; //任务完工时间(年月日时分秒)
                string HTaskNote = mainList[0].HTaskNote; //任务详细内容(富文本)
                string HTaskWorkEmp = mainList[0].HTaskWorkEmp; //工作人员(富文本)
                string HBeginCloseValveTime = mainList[0].HBeginCloseValveTime; //开始关阀时间(年月日时分秒)
                string HEndCloseValveTime = mainList[0].HEndCloseValveTime; //结束关阀时间(年月日时分秒)
                long HCloseValveQty = mainList[0].HCloseValveQty; //关阀只数
                string HBeginOpenValveTime = mainList[0].HBeginOpenValveTime; //开始开阀时间(年月日时分秒)
                string HEndOpenValveTime = mainList[0].HEndOpenValveTime; //结束开阀时间(年月日时分秒)
                long HOpenValveQty = mainList[0].HOpenValveQty; //开阀只数
                string HValveWorkEmp = mainList[0].HValveWorkEmp; //操作人员
                string HTaskRemark = mainList[0].HTaskRemark; //任务备注(富文本)
                if (OperationType == 2)
                {
@@ -327,7 +402,8 @@
                    string sql = "insert into PM_ProjectBillMain" +
                        "(HYear,HPeriod,HBillType,HBillSubType,HInterID,HDate,HBillNo,HBillStatus,HRemark,HMaker,HMakeDate,HProNumber,HProName,HCusID,HBeginDate,HEndDate,HSumMoney," +
                        "HProMoney,HWorkMoney,HOtherMoney,HProType,HPMEmpID,HWorkEmpID,HDepEmpID,HConWorkDays,HDepDays,HLastMoney,HPayCusID,HOrgID,HMaterID,HProjectClassID,HBuildComp,HBuildAddress,HWorkNo,HReDate,HPicNo,HWorkTask,HProjectNote,HContacts,HContactNumber" +
                        ",HSupplierID,HMangerEmpID,HMaterPlanDate,HWorkerID,HPlanWorkTimes,HRelWorkTimes,HTestDate,HTestCheckerID,HTestNote,HSewageDate,HWaterSupplyDate,HWorkNote,HWorkProcNote,HYuSuanMoney,HHeTongMoney,HJieSuanMoney,HShenJiMoney,HCaiLiaoMoney,HAnZhuangMoney,HBanZuMoney,HYuShouKuanMoney,HGongFeiMoney,HJieZhangMoney) " +
                        ",HSupplierID,HMangerEmpID,HMaterPlanDate,HWorkerID,HPlanWorkTimes,HRelWorkTimes,HTestDate,HTestCheckerID,HTestNote,HSewageDate,HWaterSupplyDate,HWorkNote,HWorkProcNote,HYuSuanMoney,HHeTongMoney,HJieSuanMoney,HShenJiMoney,HCaiLiaoMoney,HAnZhuangMoney,HBanZuMoney,HYuShouKuanMoney,HGongFeiMoney,HJieZhangMoney," +
                        "HTaskClassID,HTaskClassEntryID,HTaskAddress,HBreakStatus,HWaterLeakage,HPipeDiameter,HPipeMaterial,HAlarmEmp,HAlarmLink,HReceEmp,HReceTime,HTaskMaterMoney,HTaskSetupMoney,HTaskOtherMoney,HTaskExamMoney,HTaskWorkMoney,HIsAccount,HAccountDate,HAccountWorkMoneyDate,HIsCheckExam,HIsCheckWorkMoney,HInfoBackTime,HInfoBackMan,HInfoNote,HTaskBTime,HTaskETime,HTaskNote,HTaskWorkEmp,HBeginCloseValveTime,HEndCloseValveTime,HCloseValveQty,HBeginOpenValveTime,HEndOpenValveTime,HOpenValveQty,HValveWorkEmp,HTaskRemark)" +
                        "values(" +
                        "" + HYear +
                        "," + HPeriod +
@@ -392,6 +468,12 @@
                        ",'" + HYuShouKuanMoney + "'" + 
                        ",'" + HGongFeiMoney + "'" + 
                        ",'" + HJieZhangMoney + "'" +
                        ",'" + HTaskClassID + "'" + ",'" + HTaskClassEntryID + "'" + ",'" + HTaskAddress + "'" + ",'" + HBreakStatus + "'" + ",'" + HWaterLeakage + "'" + ",'" + HPipeDiameter + "'" + ",'" + HPipeMaterial + "'" +
                        ",'" + HAlarmEmp + "'" +",'" + HAlarmLink + "'" + ",'" + HReceEmp + "'" + ",'" + HReceTime + "'" + ",'" + HTaskMaterMoney + "'" + ",'" + HTaskSetupMoney + "'" + ",'" + HTaskOtherMoney + "'" +
                        ",'" + HTaskExamMoney + "'" + ",'" + HTaskWorkMoney + "'" + ",'" + (HIsAccount?1:0) + "'" + ",'" + HAccountDate + "'" + ",'" + HAccountWorkMoneyDate + "'" + ",'" + (HIsCheckExam ? 1 : 0) + "'" +
                        ",'" + (HIsCheckWorkMoney ? 1 : 0) + "'" + ",'" + HInfoBackTime + "'" + ",'" + HInfoBackMan + "'" + ",'" + HInfoNote + "'" + ",'" + HTaskBTime + "'" +
                        ",'" + HTaskETime + "'" + ",'" + HTaskNote + "'" + ",'" + HTaskWorkEmp + "'" + ",'" + HBeginCloseValveTime + "'" + ",'" + HEndCloseValveTime + "'" +
                        ",'" + HCloseValveQty + "'" + ",'" + HBeginOpenValveTime + "'" + ",'" + HEndOpenValveTime + "'" + ",'" + HOpenValveQty + "'" + ",'" + HValveWorkEmp + "'" + ",'" + HTaskRemark + "'" +
                        ")";
                    //主表
@@ -402,14 +484,14 @@
                else if (OperationType == 3 || ds.Tables[0].Rows.Count != 0)                    //编辑
                {
                    string sql = "update PM_ProjectBillMain set " +
                        "HYear = " + HYear +
                        ",HPeriod = " + HPeriod +
                        ",HBillType = '" + HBillType +
                        "',HBillSubType = '" + HBillSubType +
                        "',HDate = '" + HDate +
                        "',HBillNo = '" + HBillNo +
                        "',HBillStatus = " + HBillStatus +
                        ",HRemark = '" + HRemark +
                        //"HYear = " + HYear +
                        //",HPeriod = " + HPeriod +
                        //",HBillType = '" + HBillType +
                        //"',HBillSubType = '" + HBillSubType +
                        //"',HDate = '" + HDate +
                        "HBillNo = '" + HBillNo +
                        //"',HBillStatus = " + HBillStatus +
                        "',HRemark = '" + HRemark +
                        "',HUpdater = '" + HUpdater +
                        "',HUpdateDate = '" + HUpdaterDate +
                        "',HProNumber = '" + HProNumber +
@@ -465,7 +547,12 @@
                        "',HYuShouKuanMoney = '" + HYuShouKuanMoney +
                        "',HGongFeiMoney = '" + HGongFeiMoney +
                        "',HJieZhangMoney = '" + HJieZhangMoney +
                        "',HTaskClassID = '" + HTaskClassID + "',HTaskClassEntryID = '" + HTaskClassEntryID + "',HTaskAddress = '" + HTaskAddress + "',HBreakStatus = '" + HBreakStatus + "',HWaterLeakage = '" + HWaterLeakage + "',HPipeDiameter = '" + HPipeDiameter +
                        "',HPipeMaterial = '" + HPipeMaterial + "',HAlarmEmp = '" + HAlarmEmp + "',HAlarmLink = '" + HAlarmLink + "',HReceEmp = '" + HReceEmp + "',HReceTime = '" + HReceTime + "',HTaskMaterMoney = '" + HTaskMaterMoney +
                        "',HTaskSetupMoney = '" + HTaskSetupMoney + "',HTaskOtherMoney = '" + HTaskOtherMoney + "',HTaskExamMoney = '" + HTaskExamMoney + "',HTaskWorkMoney = '" + HTaskWorkMoney + "',HIsAccount = '" + (HIsAccount?1:0) + "',HAccountDate = '" + HAccountDate +
                        "',HAccountWorkMoneyDate = '" + HAccountWorkMoneyDate + "',HIsCheckExam = '" + (HIsCheckExam?1:0) + "',HIsCheckWorkMoney = '" + (HIsCheckWorkMoney?1:0) + "',HInfoBackTime = '" + HInfoBackTime + "',HInfoBackMan = '" + HInfoBackMan + "',HInfoNote = '" + HInfoNote +
                        "',HTaskBTime = '" + HTaskBTime + "',HTaskETime = '" + HTaskETime + "',HTaskNote = '" + HTaskNote + "',HTaskWorkEmp = '" + HTaskWorkEmp + "',HBeginCloseValveTime = '" + HBeginCloseValveTime + "',HEndCloseValveTime = '" + HEndCloseValveTime +
                        "',HCloseValveQty = '" + HCloseValveQty + "',HBeginOpenValveTime = '" + HBeginOpenValveTime + "',HEndOpenValveTime = '" + HEndOpenValveTime + "',HOpenValveQty = '" + HOpenValveQty + "',HValveWorkEmp = '" + HValveWorkEmp + "',HTaskRemark = '" + HTaskRemark +
                        "' where HInterID = " + HInterID;
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-12-09T03:01:35.7691980Z;True|2024-12-09T09:20:22.9742701+08:00;True|2024-12-09T08:47:26.0470083+08:00;True|2024-12-06T13:13:33.9776030+08:00;True|2024-12-05T14:33:41.1542437+08:00;True|2024-12-05T14:21:02.3120095+08:00;True|2024-12-05T14:13:09.2733831+08:00;True|2024-12-05T13:27:25.9831554+08:00;True|2024-12-05T13:23:25.4183580+08:00;True|2024-12-05T11:27:26.9609695+08:00;True|2024-12-05T09:20:29.4596887+08:00;True|2024-12-05T08:47:57.2553570+08:00;True|2024-12-05T08:41:06.4860297+08:00;True|2024-12-05T08:32:16.9785572+08:00;True|2024-12-04T15:54:19.4995372+08:00;True|2024-12-04T11:10:12.2273624+08:00;True|2024-12-04T10:21:44.8769236+08:00;False|2024-12-04T10:20:59.8206595+08:00;True|2024-12-04T09:52:03.8506923+08:00;True|2024-12-03T15:09:48.8710712+08:00;False|2024-12-03T15:08:46.8904626+08:00;True|2024-11-28T10:42:45.3823067+08:00;True|2024-11-28T09:58:38.0983021+08:00;True|2024-11-27T16:16:28.4276838+08:00;True|2024-11-27T16:09:08.0834912+08:00;True|2024-11-27T14:32:21.1684294+08:00;True|2024-11-27T13:24:51.2115157+08:00;True|2024-11-27T13:16:51.5888615+08:00;True|2024-11-26T10:47:18.1958719+08:00;False|2024-11-26T10:46:22.2016963+08:00;False|2024-11-25T10:22:55.3420353+08:00;True|2024-11-20T09:08:48.6293480+08:00;True|2024-11-19T17:01:27.8454996+08:00;True|2024-11-19T08:20:49.6371464+08:00;True|2024-11-18T15:27:25.3419580+08:00;True|2024-11-18T15:19:07.4691728+08:00;True|2024-11-18T14:57:25.8637252+08:00;True|2024-11-18T14:52:10.6158576+08:00;True|2024-11-18T14:46:03.5051743+08:00;True|2024-11-18T13:42:14.5146469+08:00;True|2024-11-18T13:27:53.4498275+08:00;True|2024-11-18T11:26:05.8168670+08:00;True|2024-11-18T11:04:00.4711300+08:00;True|2024-11-18T10:54:15.6267907+08:00;True|2024-11-18T10:45:29.5275370+08:00;True|2024-11-15T16:58:39.1926238+08:00;True|2024-11-15T16:45:12.0168760+08:00;True|2024-11-15T16:37:11.8513587+08:00;True|2024-11-15T16:31:13.0430714+08:00;True|2024-11-15T16:27:45.3575015+08:00;False|2024-11-15T16:26:49.5306586+08:00;True|2024-11-15T16:16:54.0542122+08:00;True|2024-11-15T15:51:41.6920560+08:00;False|2024-11-15T15:50:37.8798414+08:00;True|2024-11-06T14:13:46.3129972+08:00;False|2024-11-06T14:12:47.9022879+08:00;False|2024-11-05T20:45:28.3960353+08:00;True|2024-11-05T19:04:11.0417788+08:00;False|2024-11-05T19:03:03.9263878+08:00;True|2024-11-05T15:54:24.8374699+08:00;False|2024-11-05T15:53:24.4214141+08:00;True|2024-10-25T16:51:46.3066612+08:00;True|2024-10-25T12:16:27.8737941+08:00;True|2024-10-25T10:12:38.8056269+08:00;False|2024-10-25T10:11:44.1117608+08:00;True|2024-10-25T09:54:06.8572059+08:00;True|2024-10-25T08:21:42.6333993+08:00;True|2024-10-24T17:56:19.5319332+08:00;True|2024-10-24T17:50:10.0801119+08:00;False|2024-10-24T17:49:21.0726954+08:00;True|2024-10-24T17:40:46.0577697+08:00;False|2024-10-24T17:39:53.3743103+08:00;True|2024-10-24T14:57:00.6752320+08:00;True|2024-10-24T10:08:39.8269595+08:00;False|2024-10-24T10:07:47.3834032+08:00;True|2024-10-22T10:33:10.1961964+08:00;True|2024-10-21T08:43:54.1422810+08:00;False|2024-10-21T08:43:00.6574201+08:00;True|2024-10-18T14:56:55.6749850+08:00;True|2024-10-18T14:47:05.1073813+08:00;True|2024-10-18T11:24:23.9069952+08:00;True|2024-10-18T11:14:57.8486575+08:00;False|2024-10-18T11:14:07.5289704+08:00;True|2024-10-18T10:57:00.2425175+08:00;False|2024-10-18T10:56:04.8949960+08:00;True|2024-10-15T16:44:32.6189434+08:00;True|2024-10-15T14:38:49.8658311+08:00;True|2024-10-15T09:49:55.2197004+08:00;False|2024-10-15T09:49:14.8790668+08:00;False|2024-10-12T15:28:24.1303695+08:00;True|2024-10-10T10:59:36.7878419+08:00;False|2024-10-10T10:58:40.9900315+08:00;True|2024-10-03T10:57:02.9299524+08:00;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>
    <History>True|2024-12-17T05:56:47.7915112Z;True|2024-12-17T11:13:27.2665832+08:00;True|2024-12-16T16:01:15.5110052+08:00;True|2024-12-16T15:53:18.1111331+08:00;True|2024-12-16T15:13:43.9719840+08:00;True|2024-12-16T15:08:49.2287341+08:00;True|2024-12-16T14:59:21.3003410+08:00;True|2024-12-16T10:16:34.6636364+08:00;True|2024-12-16T10:12:38.1827164+08:00;False|2024-12-16T10:12:16.1621752+08:00;True|2024-12-13T15:44:29.9921182+08:00;False|2024-12-13T15:43:36.1775569+08:00;True|2024-12-11T09:06:23.2065068+08:00;True|2024-12-11T09:02:10.9767948+08:00;True|2024-12-11T08:26:16.2292105+08:00;True|2024-12-10T16:17:47.2702447+08:00;True|2024-12-10T14:47:18.4352590+08:00;True|2024-12-10T14:10:37.0165625+08:00;True|2024-12-10T13:59:25.4712057+08:00;True|2024-12-10T13:46:02.3070111+08:00;True|2024-12-10T13:39:19.2434918+08:00;True|2024-12-10T10:42:47.3763447+08:00;True|2024-12-10T10:28:20.0524748+08:00;True|2024-12-09T11:01:35.7691980+08:00;True|2024-12-09T09:20:22.9742701+08:00;True|2024-12-09T08:47:26.0470083+08:00;True|2024-12-06T13:13:33.9776030+08:00;True|2024-12-05T14:33:41.1542437+08:00;True|2024-12-05T14:21:02.3120095+08:00;True|2024-12-05T14:13:09.2733831+08:00;True|2024-12-05T13:27:25.9831554+08:00;True|2024-12-05T13:23:25.4183580+08:00;True|2024-12-05T11:27:26.9609695+08:00;True|2024-12-05T09:20:29.4596887+08:00;True|2024-12-05T08:47:57.2553570+08:00;True|2024-12-05T08:41:06.4860297+08:00;True|2024-12-05T08:32:16.9785572+08:00;True|2024-12-04T15:54:19.4995372+08:00;True|2024-12-04T11:10:12.2273624+08:00;True|2024-12-04T10:21:44.8769236+08:00;False|2024-12-04T10:20:59.8206595+08:00;True|2024-12-04T09:52:03.8506923+08:00;True|2024-12-03T15:09:48.8710712+08:00;False|2024-12-03T15:08:46.8904626+08:00;True|2024-11-28T10:42:45.3823067+08:00;True|2024-11-28T09:58:38.0983021+08:00;True|2024-11-27T16:16:28.4276838+08:00;True|2024-11-27T16:09:08.0834912+08:00;True|2024-11-27T14:32:21.1684294+08:00;True|2024-11-27T13:24:51.2115157+08:00;True|2024-11-27T13:16:51.5888615+08:00;True|2024-11-26T10:47:18.1958719+08:00;False|2024-11-26T10:46:22.2016963+08:00;False|2024-11-25T10:22:55.3420353+08:00;True|2024-11-20T09:08:48.6293480+08:00;True|2024-11-19T17:01:27.8454996+08:00;True|2024-11-19T08:20:49.6371464+08:00;True|2024-11-18T15:27:25.3419580+08:00;True|2024-11-18T15:19:07.4691728+08:00;True|2024-11-18T14:57:25.8637252+08:00;True|2024-11-18T14:52:10.6158576+08:00;True|2024-11-18T14:46:03.5051743+08:00;True|2024-11-18T13:42:14.5146469+08:00;True|2024-11-18T13:27:53.4498275+08:00;True|2024-11-18T11:26:05.8168670+08:00;True|2024-11-18T11:04:00.4711300+08:00;True|2024-11-18T10:54:15.6267907+08:00;True|2024-11-18T10:45:29.5275370+08:00;True|2024-11-15T16:58:39.1926238+08:00;True|2024-11-15T16:45:12.0168760+08:00;True|2024-11-15T16:37:11.8513587+08:00;True|2024-11-15T16:31:13.0430714+08:00;True|2024-11-15T16:27:45.3575015+08:00;False|2024-11-15T16:26:49.5306586+08:00;True|2024-11-15T16:16:54.0542122+08:00;True|2024-11-15T15:51:41.6920560+08:00;False|2024-11-15T15:50:37.8798414+08:00;True|2024-11-06T14:13:46.3129972+08:00;False|2024-11-06T14:12:47.9022879+08:00;False|2024-11-05T20:45:28.3960353+08:00;True|2024-11-05T19:04:11.0417788+08:00;False|2024-11-05T19:03:03.9263878+08:00;True|2024-11-05T15:54:24.8374699+08:00;False|2024-11-05T15:53:24.4214141+08:00;True|2024-10-25T16:51:46.3066612+08:00;True|2024-10-25T12:16:27.8737941+08:00;True|2024-10-25T10:12:38.8056269+08:00;False|2024-10-25T10:11:44.1117608+08:00;True|2024-10-25T09:54:06.8572059+08:00;True|2024-10-25T08:21:42.6333993+08:00;True|2024-10-24T17:56:19.5319332+08:00;True|2024-10-24T17:50:10.0801119+08:00;False|2024-10-24T17:49:21.0726954+08:00;True|2024-10-24T17:40:46.0577697+08:00;False|2024-10-24T17:39:53.3743103+08:00;True|2024-10-24T14:57:00.6752320+08:00;True|2024-10-24T10:08:39.8269595+08:00;False|2024-10-24T10:07:47.3834032+08:00;True|2024-10-22T10:33:10.1961964+08:00;True|2024-10-21T08:43:54.1422810+08:00;False|2024-10-21T08:43:00.6574201+08:00;True|2024-10-18T14:56:55.6749850+08:00;True|2024-10-18T14:47:05.1073813+08:00;True|2024-10-18T11:24:23.9069952+08:00;True|2024-10-18T11:14:57.8486575+08:00;False|2024-10-18T11:14:07.5289704+08:00;True|2024-10-18T10:57:00.2425175+08:00;False|2024-10-18T10:56:04.8949960+08:00;True|2024-10-15T16:44:32.6189434+08:00;True|2024-10-15T14:38:49.8658311+08:00;True|2024-10-15T09:49:55.2197004+08:00;False|2024-10-15T09:49:14.8790668+08:00;False|2024-10-12T15:28:24.1303695+08:00;True|2024-10-10T10:59:36.7878419+08:00;False|2024-10-10T10:58:40.9900315+08:00;True|2024-10-03T10:57:02.9299524+08:00;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>12/09/2024 11:01:07</publishTime>
      <publishTime>12/17/2024 11:13:01</publishTime>
    </File>
    <File Include="bin/BLL.pdb">
      <publishTime>12/09/2024 11:01:07</publishTime>
      <publishTime>12/17/2024 11:13:01</publishTime>
    </File>
    <File Include="bin/BouncyCastle.Crypto.dll">
      <publishTime>12/18/2020 05:32:28</publishTime>
    </File>
    <File Include="bin/DAL.dll">
      <publishTime>12/09/2024 11:01:05</publishTime>
      <publishTime>12/17/2024 11:12:59</publishTime>
    </File>
    <File Include="bin/DAL.pdb">
      <publishTime>12/09/2024 11:01:05</publishTime>
      <publishTime>12/17/2024 11:12:59</publishTime>
    </File>
    <File Include="bin/Dapper.dll">
      <publishTime>07/22/2016 22:52:40</publishTime>
    </File>
    <File Include="bin/DBUtility.dll">
      <publishTime>12/09/2024 11:00:59</publishTime>
      <publishTime>12/13/2024 15:43:49</publishTime>
    </File>
    <File Include="bin/DBUtility.pdb">
      <publishTime>12/09/2024 11:00:59</publishTime>
      <publishTime>12/13/2024 15:43:49</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>12/09/2024 11:01:00</publishTime>
      <publishTime>12/13/2024 15:43:49</publishTime>
    </File>
    <File Include="bin/Model.pdb">
      <publishTime>12/09/2024 11:01:00</publishTime>
      <publishTime>12/13/2024 15:43:49</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>12/09/2024 11:00:57</publishTime>
      <publishTime>12/13/2024 15:43:46</publishTime>
    </File>
    <File Include="bin/Pub_Class.pdb">
      <publishTime>12/09/2024 11:00:57</publishTime>
      <publishTime>12/13/2024 15:43:46</publishTime>
    </File>
    <File Include="bin/Pub_Control.dll">
      <publishTime>12/09/2024 11:00:58</publishTime>
      <publishTime>12/13/2024 15:43:47</publishTime>
    </File>
    <File Include="bin/Pub_Control.pdb">
      <publishTime>12/09/2024 11:00:58</publishTime>
      <publishTime>12/13/2024 15:43:47</publishTime>
    </File>
    <File Include="bin/RestSharp.dll">
      <publishTime>08/31/2012 06:22:50</publishTime>
    </File>
    <File Include="bin/SQLHelper.dll">
      <publishTime>12/09/2024 11:00:58</publishTime>
      <publishTime>12/13/2024 15:43:47</publishTime>
    </File>
    <File Include="bin/SQLHelper.pdb">
      <publishTime>12/09/2024 11:00:58</publishTime>
      <publishTime>12/13/2024 15:43:47</publishTime>
    </File>
    <File Include="bin/Swashbuckle.Core.dll">
      <publishTime>02/16/2015 01:57:08</publishTime>
    </File>
    <File Include="bin/SyntacticSugar.dll">
      <publishTime>12/09/2024 10:53:27</publishTime>
      <publishTime>12/11/2024 09:03:39</publishTime>
    </File>
    <File Include="bin/SyntacticSugar.pdb">
      <publishTime>12/09/2024 10:53:27</publishTime>
      <publishTime>12/11/2024 09:03:39</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>12/09/2024 10:53:33</publishTime>
      <publishTime>12/11/2024 09:03:45</publishTime>
    </File>
    <File Include="bin/TopSdk.pdb">
      <publishTime>12/09/2024 10:53:33</publishTime>
      <publishTime>12/11/2024 09:03:45</publishTime>
    </File>
    <File Include="bin/WebActivatorEx.dll">
      <publishTime>11/24/2014 19:18:48</publishTime>
    </File>
    <File Include="bin/WebAPI.dll">
      <publishTime>12/09/2024 11:01:34</publishTime>
      <publishTime>12/17/2024 13:56:45</publishTime>
    </File>
    <File Include="bin/WebAPI.pdb">
      <publishTime>12/09/2024 11:01:34</publishTime>
      <publishTime>12/17/2024 13:56:45</publishTime>
    </File>
    <File Include="bin/WebAPI.XmlSerializers.dll">
      <publishTime>08/16/2024 16:55:28</publishTime>
WebAPI/Properties/PublishProfiles/JFAPI.pubxml.user
@@ -5,7 +5,7 @@
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup>
    <_PublishTargetUrl>D:\网站发布\智云MESWMS\API</_PublishTargetUrl>
    <History>True|2024-12-11T00:58:41.4567855Z;False|2024-12-11T08:58:09.2160433+08:00;True|2024-12-10T17:25:49.3068154+08:00;True|2024-12-10T17:21:30.0155027+08:00;True|2024-12-10T17:16:56.7587487+08:00;False|2024-12-10T17:16:34.7816611+08:00;True|2024-12-10T16:55:40.3777585+08:00;False|2024-12-10T16:55:13.2621448+08:00;False|2024-12-09T13:59:27.6362265+08:00;True|2024-12-06T16:55:30.6422980+08:00;True|2024-12-06T15:08:49.5834939+08:00;True|2024-12-06T14:31:56.0968616+08:00;False|2024-12-06T14:31:44.2264009+08:00;True|2024-12-06T13:59:52.8150929+08:00;False|2024-12-06T13:48:22.6073939+08:00;True|2024-12-05T17:33:27.9247467+08:00;True|2024-12-05T17:30:23.1740838+08:00;False|2024-12-05T17:30:03.9977311+08:00;True|2024-12-04T15:18:41.4963816+08:00;True|2024-12-04T15:16:45.1121101+08:00;True|2024-12-04T15:14:33.5954776+08:00;True|2024-12-04T15:12:27.2913137+08:00;True|2024-12-04T14:10:19.6190673+08:00;False|2024-12-04T14:10:02.0319713+08:00;True|2024-12-03T16:08:46.6721098+08:00;True|2024-12-03T15:16:04.1754554+08:00;True|2024-12-03T15:13:25.4927626+08:00;True|2024-12-03T14:55:09.4413291+08:00;True|2024-12-03T14:43:11.8243897+08:00;True|2024-12-03T14:29:16.1511932+08:00;True|2024-12-03T14:24:07.9561838+08:00;False|2024-12-03T14:23:55.1293602+08:00;True|2024-12-02T16:31:22.0404862+08:00;False|2024-12-02T16:28:53.1721961+08:00;True|2024-12-02T15:41:24.9462025+08:00;True|2024-12-02T14:12:12.9356193+08:00;False|2024-12-02T14:11:35.7159488+08:00;True|2024-12-02T10:59:31.5582757+08:00;True|2024-11-29T12:08:55.4868083+08:00;False|2024-11-29T12:08:37.0353185+08:00;True|2024-11-28T10:47:27.2071355+08:00;False|2024-11-28T10:47:13.6670955+08:00;True|2024-11-27T15:21:57.6747082+08:00;False|2024-11-27T15:20:07.2403056+08:00;True|2024-11-27T15:13:36.1461091+08:00;True|2024-11-27T14:34:35.5908753+08:00;False|2024-11-27T14:33:30.7118923+08:00;True|2024-11-26T15:16:44.1854927+08:00;True|2024-11-26T15:14:33.4021067+08:00;False|2024-11-26T15:14:07.9955135+08:00;True|2024-11-26T14:48:35.6408418+08:00;True|2024-11-26T14:45:00.7251556+08:00;True|2024-11-26T14:04:58.4232988+08:00;False|2024-11-26T14:04:28.1286675+08:00;True|2024-11-25T13:45:07.6935933+08:00;True|2024-11-25T13:43:59.0788650+08:00;False|2024-11-25T13:43:44.2225194+08:00;True|2024-11-25T08:54:05.5144014+08:00;False|2024-11-25T08:53:49.2284063+08:00;False|2024-11-22T09:53:13.7879664+08:00;True|2024-11-21T13:48:31.7056264+08:00;True|2024-11-21T13:46:55.0891551+08:00;True|2024-11-21T13:44:05.5221110+08:00;True|2024-11-21T13:43:39.1385899+08:00;False|2024-11-21T13:43:19.9351488+08:00;True|2024-11-20T11:33:52.0324053+08:00;True|2024-11-20T11:20:58.4917889+08:00;True|2024-11-20T11:03:46.9552623+08:00;True|2024-11-20T10:45:10.9517109+08:00;False|2024-11-20T10:44:58.3221116+08:00;False|2024-11-19T15:39:27.3889104+08:00;True|2024-11-19T14:42:32.0854561+08:00;True|2024-11-19T14:19:19.6198070+08:00;True|2024-11-19T14:13:08.2003750+08:00;False|2024-11-19T14:12:15.5442850+08:00;True|2024-11-18T13:05:41.0455534+08:00;True|2024-11-18T11:05:30.2819404+08:00;True|2024-11-18T10:51:07.1852818+08:00;False|2024-11-18T10:50:21.5098527+08:00;True|2024-11-18T10:15:38.5429366+08:00;True|2024-11-18T10:00:51.0847524+08:00;True|2024-11-18T09:34:52.1772715+08:00;True|2024-11-18T09:27:23.6013754+08:00;False|2024-11-18T09:26:00.9323551+08:00;True|2024-11-15T11:20:51.7576376+08:00;True|2024-11-15T11:11:17.5580168+08:00;True|2024-11-15T11:03:58.4142996+08:00;True|2024-11-15T10:44:50.5207827+08:00;True|2024-11-15T10:10:05.5550418+08:00;True|2024-11-15T09:49:30.6631382+08:00;False|2024-11-15T09:47:05.3973379+08:00;True|2024-11-14T18:31:54.8247681+08:00;True|2024-11-14T17:14:56.3660185+08:00;True|2024-11-14T16:49:44.7526912+08:00;True|2024-11-14T16:49:09.3427608+08:00;True|2024-11-14T15:59:00.2572264+08:00;True|2024-11-14T11:21:03.5110818+08:00;True|2024-11-14T10:51:10.7864658+08:00;False|2024-11-14T10:50:55.5384248+08:00;True|2024-11-14T10:29:13.6760158+08:00;False|2024-11-14T10:28:09.8622863+08:00;True|2024-11-13T17:48:46.4827219+08:00;True|2024-11-13T17:45:13.0659280+08:00;True|2024-11-13T16:01:55.2278671+08:00;False|2024-11-13T16:01:03.0040446+08:00;True|2024-11-12T17:24:06.3763535+08:00;True|2024-11-12T17:21:51.8459552+08:00;True|2024-11-12T17:11:57.9239909+08:00;True|2024-11-12T17:09:04.4322824+08:00;True|2024-11-12T17:07:12.1839548+08:00;True|2024-11-12T17:04:27.4579152+08:00;True|2024-11-12T17:03:59.6843282+08:00;True|2024-11-12T16:40:44.0714862+08:00;True|2024-11-12T16:36:27.7792764+08:00;True|2024-11-12T16:32:36.5262040+08:00;False|2024-11-12T16:32:23.9550194+08:00;True|2024-11-12T10:58:16.1987697+08:00;False|2024-11-12T10:58:04.8469631+08:00;True|2024-11-11T13:40:53.2582255+08:00;True|2024-11-11T13:37:45.0401833+08:00;True|2024-11-11T12:35:13.2429166+08:00;True|2024-11-11T11:27:29.0530688+08:00;False|2024-11-11T11:27:12.2765506+08:00;True|2024-11-08T15:52:17.1278870+08:00;False|2024-11-08T15:52:04.4379380+08:00;True|2024-11-07T18:27:41.8163960+08:00;False|2024-11-07T18:27:30.6037983+08:00;True|2024-11-06T15:55:27.6450488+08:00;True|2024-11-06T15:54:13.5957004+08:00;True|2024-11-06T15:25:33.3862531+08:00;True|2024-11-06T13:33:57.8502278+08:00;False|2024-11-06T13:33:39.2337086+08:00;True|2024-11-06T11:33:12.6755239+08:00;True|2024-11-05T18:34:17.7048247+08:00;True|2024-11-05T18:30:08.5724471+08:00;True|2024-11-05T18:24:35.5372980+08:00;True|2024-11-05T18:06:29.7644779+08:00;True|2024-11-05T17:53:50.9554703+08:00;True|2024-11-05T17:50:05.6376900+08:00;True|2024-11-05T11:13:46.2906508+08:00;True|2024-11-05T10:35:55.5423834+08:00;False|2024-11-05T10:35:20.4104039+08:00;True|2024-11-01T10:22:05.7636122+08:00;False|2024-11-01T10:21:33.2954398+08:00;True|2024-10-31T20:03:37.9075888+08:00;True|2024-10-31T18:35:31.6618415+08:00;True|2024-10-31T18:34:56.2479021+08:00;True|2024-10-31T09:43:29.0841188+08:00;False|2024-10-31T09:43:04.8780818+08:00;True|2024-10-30T18:42:11.0523067+08:00;True|2024-10-30T18:07:05.5603627+08:00;True|2024-10-30T18:03:15.3516621+08:00;True|2024-10-30T17:58:14.3276504+08:00;False|2024-10-30T17:57:44.5353118+08:00;True|2024-10-30T17:47:41.2889491+08:00;True|2024-10-30T17:19:36.6172721+08:00;True|2024-10-30T17:10:00.4399703+08:00;False|2024-10-30T17:08:57.6500450+08:00;True|2024-10-29T16:58:15.6006676+08:00;True|2024-10-29T16:51:56.8406649+08:00;True|2024-10-29T16:05:48.4297695+08:00;True|2024-10-29T15:12:15.1522377+08:00;True|2024-10-29T15:10:51.8431754+08:00;True|2024-10-29T11:21:01.5660940+08:00;False|2024-10-29T11:20:33.3958980+08:00;True|2024-10-28T17:51:26.7156861+08:00;False|2024-10-28T17:50:41.4388196+08:00;True|2024-10-28T13:34:14.8764262+08:00;True|2024-10-28T12:44:27.2083620+08:00;False|2024-10-28T12:43:57.5942717+08:00;True|2024-10-25T11:49:47.9817458+08:00;True|2024-10-25T11:49:34.4754546+08:00;True|2024-10-25T09:59:35.6471379+08:00;True|2024-10-25T09:47:46.8035540+08:00;True|2024-10-25T09:25:57.7872618+08:00;False|2024-10-25T09:25:30.0950732+08:00;True|2024-10-24T20:39:06.1992535+08:00;False|2024-10-24T20:38:33.1009731+08:00;True|2024-10-24T11:17:46.9974483+08:00;False|2024-10-24T11:17:17.0925356+08:00;True|2024-10-23T19:16:25.5189930+08:00;True|2024-10-23T17:10:44.4267777+08:00;False|2024-10-23T17:10:10.2947971+08:00;True|2024-10-23T14:13:22.6901287+08:00;False|2024-10-23T14:12:24.3997100+08:00;True|2024-10-22T16:25:12.9514711+08:00;False|2024-10-22T16:24:42.9025167+08:00;True|2024-10-22T10:22:33.9932601+08:00;False|2024-10-22T10:22:05.3030308+08:00;True|2024-10-21T17:53:29.9552741+08:00;True|2024-10-21T16:37:31.4159544+08:00;True|2024-10-21T16:35:43.6207036+08:00;True|2024-10-21T16:00:05.5040651+08:00;False|2024-10-21T15:59:35.9279259+08:00;True|2024-10-21T12:06:42.5768961+08:00;False|2024-10-21T12:06:16.6344662+08:00;True|2024-10-18T10:44:02.6495536+08:00;True|2024-10-18T09:55:47.9769914+08:00;True|2024-10-18T09:47:46.6365831+08:00;True|2024-10-18T09:46:40.4036657+08:00;True|2024-10-18T09:44:25.4598960+08:00;True|2024-10-18T09:30:07.6972377+08:00;False|2024-10-18T09:28:18.9251743+08:00;True|2024-10-17T12:13:34.8639685+08:00;True|2024-10-17T12:02:26.5251711+08:00;False|2024-10-17T12:01:31.3822430+08:00;True|2024-10-17T11:49:09.2395208+08:00;False|2024-10-17T11:48:38.0189241+08:00;True|2024-10-16T19:35:29.2047484+08:00;False|2024-10-16T19:32:43.0637947+08:00;True|2024-10-16T11:27:13.1263407+08:00;False|2024-10-16T11:25:49.8688677+08:00;True|2024-10-15T18:26:50.9948482+08:00;False|2024-10-15T18:26:23.6998750+08:00;True|2024-08-26T14:17:37.8502046+08:00;False|2024-08-26T14:16:09.8501361+08:00;True|2024-08-22T11:12:48.4249984+08:00;</History>
    <History>True|2024-12-16T09:07:07.3386872Z;True|2024-12-16T16:34:59.1101964+08:00;True|2024-12-16T16:19:07.9287470+08:00;False|2024-12-16T16:18:46.4617432+08:00;True|2024-12-13T18:06:11.0778539+08:00;True|2024-12-13T16:53:52.2283177+08:00;True|2024-12-13T16:23:15.9531944+08:00;True|2024-12-13T13:58:03.7464045+08:00;True|2024-12-13T10:40:33.9285602+08:00;True|2024-12-13T10:38:03.8494063+08:00;False|2024-12-13T10:37:52.4251132+08:00;True|2024-12-13T10:31:07.4994631+08:00;False|2024-12-13T10:30:40.8021885+08:00;True|2024-12-12T10:01:42.4944750+08:00;False|2024-12-12T10:01:15.7147977+08:00;True|2024-12-11T17:21:58.0453583+08:00;True|2024-12-11T10:59:15.3836831+08:00;True|2024-12-11T09:49:19.4060272+08:00;False|2024-12-11T09:48:51.7603525+08:00;True|2024-12-11T08:58:41.4567855+08:00;False|2024-12-11T08:58:09.2160433+08:00;True|2024-12-10T17:25:49.3068154+08:00;True|2024-12-10T17:21:30.0155027+08:00;True|2024-12-10T17:16:56.7587487+08:00;False|2024-12-10T17:16:34.7816611+08:00;True|2024-12-10T16:55:40.3777585+08:00;False|2024-12-10T16:55:13.2621448+08:00;False|2024-12-09T13:59:27.6362265+08:00;True|2024-12-06T16:55:30.6422980+08:00;True|2024-12-06T15:08:49.5834939+08:00;True|2024-12-06T14:31:56.0968616+08:00;False|2024-12-06T14:31:44.2264009+08:00;True|2024-12-06T13:59:52.8150929+08:00;False|2024-12-06T13:48:22.6073939+08:00;True|2024-12-05T17:33:27.9247467+08:00;True|2024-12-05T17:30:23.1740838+08:00;False|2024-12-05T17:30:03.9977311+08:00;True|2024-12-04T15:18:41.4963816+08:00;True|2024-12-04T15:16:45.1121101+08:00;True|2024-12-04T15:14:33.5954776+08:00;True|2024-12-04T15:12:27.2913137+08:00;True|2024-12-04T14:10:19.6190673+08:00;False|2024-12-04T14:10:02.0319713+08:00;True|2024-12-03T16:08:46.6721098+08:00;True|2024-12-03T15:16:04.1754554+08:00;True|2024-12-03T15:13:25.4927626+08:00;True|2024-12-03T14:55:09.4413291+08:00;True|2024-12-03T14:43:11.8243897+08:00;True|2024-12-03T14:29:16.1511932+08:00;True|2024-12-03T14:24:07.9561838+08:00;False|2024-12-03T14:23:55.1293602+08:00;True|2024-12-02T16:31:22.0404862+08:00;False|2024-12-02T16:28:53.1721961+08:00;True|2024-12-02T15:41:24.9462025+08:00;True|2024-12-02T14:12:12.9356193+08:00;False|2024-12-02T14:11:35.7159488+08:00;True|2024-12-02T10:59:31.5582757+08:00;True|2024-11-29T12:08:55.4868083+08:00;False|2024-11-29T12:08:37.0353185+08:00;True|2024-11-28T10:47:27.2071355+08:00;False|2024-11-28T10:47:13.6670955+08:00;True|2024-11-27T15:21:57.6747082+08:00;False|2024-11-27T15:20:07.2403056+08:00;True|2024-11-27T15:13:36.1461091+08:00;True|2024-11-27T14:34:35.5908753+08:00;False|2024-11-27T14:33:30.7118923+08:00;True|2024-11-26T15:16:44.1854927+08:00;True|2024-11-26T15:14:33.4021067+08:00;False|2024-11-26T15:14:07.9955135+08:00;True|2024-11-26T14:48:35.6408418+08:00;True|2024-11-26T14:45:00.7251556+08:00;True|2024-11-26T14:04:58.4232988+08:00;False|2024-11-26T14:04:28.1286675+08:00;True|2024-11-25T13:45:07.6935933+08:00;True|2024-11-25T13:43:59.0788650+08:00;False|2024-11-25T13:43:44.2225194+08:00;True|2024-11-25T08:54:05.5144014+08:00;False|2024-11-25T08:53:49.2284063+08:00;False|2024-11-22T09:53:13.7879664+08:00;True|2024-11-21T13:48:31.7056264+08:00;True|2024-11-21T13:46:55.0891551+08:00;True|2024-11-21T13:44:05.5221110+08:00;True|2024-11-21T13:43:39.1385899+08:00;False|2024-11-21T13:43:19.9351488+08:00;True|2024-11-20T11:33:52.0324053+08:00;True|2024-11-20T11:20:58.4917889+08:00;True|2024-11-20T11:03:46.9552623+08:00;True|2024-11-20T10:45:10.9517109+08:00;False|2024-11-20T10:44:58.3221116+08:00;False|2024-11-19T15:39:27.3889104+08:00;True|2024-11-19T14:42:32.0854561+08:00;True|2024-11-19T14:19:19.6198070+08:00;True|2024-11-19T14:13:08.2003750+08:00;False|2024-11-19T14:12:15.5442850+08:00;True|2024-11-18T13:05:41.0455534+08:00;True|2024-11-18T11:05:30.2819404+08:00;True|2024-11-18T10:51:07.1852818+08:00;False|2024-11-18T10:50:21.5098527+08:00;True|2024-11-18T10:15:38.5429366+08:00;True|2024-11-18T10:00:51.0847524+08:00;True|2024-11-18T09:34:52.1772715+08:00;True|2024-11-18T09:27:23.6013754+08:00;False|2024-11-18T09:26:00.9323551+08:00;True|2024-11-15T11:20:51.7576376+08:00;True|2024-11-15T11:11:17.5580168+08:00;True|2024-11-15T11:03:58.4142996+08:00;True|2024-11-15T10:44:50.5207827+08:00;True|2024-11-15T10:10:05.5550418+08:00;True|2024-11-15T09:49:30.6631382+08:00;False|2024-11-15T09:47:05.3973379+08:00;True|2024-11-14T18:31:54.8247681+08:00;True|2024-11-14T17:14:56.3660185+08:00;True|2024-11-14T16:49:44.7526912+08:00;True|2024-11-14T16:49:09.3427608+08:00;True|2024-11-14T15:59:00.2572264+08:00;True|2024-11-14T11:21:03.5110818+08:00;True|2024-11-14T10:51:10.7864658+08:00;False|2024-11-14T10:50:55.5384248+08:00;True|2024-11-14T10:29:13.6760158+08:00;False|2024-11-14T10:28:09.8622863+08:00;True|2024-11-13T17:48:46.4827219+08:00;True|2024-11-13T17:45:13.0659280+08:00;True|2024-11-13T16:01:55.2278671+08:00;False|2024-11-13T16:01:03.0040446+08:00;True|2024-11-12T17:24:06.3763535+08:00;True|2024-11-12T17:21:51.8459552+08:00;True|2024-11-12T17:11:57.9239909+08:00;True|2024-11-12T17:09:04.4322824+08:00;True|2024-11-12T17:07:12.1839548+08:00;True|2024-11-12T17:04:27.4579152+08:00;True|2024-11-12T17:03:59.6843282+08:00;True|2024-11-12T16:40:44.0714862+08:00;True|2024-11-12T16:36:27.7792764+08:00;True|2024-11-12T16:32:36.5262040+08:00;False|2024-11-12T16:32:23.9550194+08:00;True|2024-11-12T10:58:16.1987697+08:00;False|2024-11-12T10:58:04.8469631+08:00;True|2024-11-11T13:40:53.2582255+08:00;True|2024-11-11T13:37:45.0401833+08:00;True|2024-11-11T12:35:13.2429166+08:00;True|2024-11-11T11:27:29.0530688+08:00;False|2024-11-11T11:27:12.2765506+08:00;True|2024-11-08T15:52:17.1278870+08:00;False|2024-11-08T15:52:04.4379380+08:00;True|2024-11-07T18:27:41.8163960+08:00;False|2024-11-07T18:27:30.6037983+08:00;True|2024-11-06T15:55:27.6450488+08:00;True|2024-11-06T15:54:13.5957004+08:00;True|2024-11-06T15:25:33.3862531+08:00;True|2024-11-06T13:33:57.8502278+08:00;False|2024-11-06T13:33:39.2337086+08:00;True|2024-11-06T11:33:12.6755239+08:00;True|2024-11-05T18:34:17.7048247+08:00;True|2024-11-05T18:30:08.5724471+08:00;True|2024-11-05T18:24:35.5372980+08:00;True|2024-11-05T18:06:29.7644779+08:00;True|2024-11-05T17:53:50.9554703+08:00;True|2024-11-05T17:50:05.6376900+08:00;True|2024-11-05T11:13:46.2906508+08:00;True|2024-11-05T10:35:55.5423834+08:00;False|2024-11-05T10:35:20.4104039+08:00;True|2024-11-01T10:22:05.7636122+08:00;False|2024-11-01T10:21:33.2954398+08:00;True|2024-10-31T20:03:37.9075888+08:00;True|2024-10-31T18:35:31.6618415+08:00;True|2024-10-31T18:34:56.2479021+08:00;True|2024-10-31T09:43:29.0841188+08:00;False|2024-10-31T09:43:04.8780818+08:00;True|2024-10-30T18:42:11.0523067+08:00;True|2024-10-30T18:07:05.5603627+08:00;True|2024-10-30T18:03:15.3516621+08:00;True|2024-10-30T17:58:14.3276504+08:00;False|2024-10-30T17:57:44.5353118+08:00;True|2024-10-30T17:47:41.2889491+08:00;True|2024-10-30T17:19:36.6172721+08:00;True|2024-10-30T17:10:00.4399703+08:00;False|2024-10-30T17:08:57.6500450+08:00;True|2024-10-29T16:58:15.6006676+08:00;True|2024-10-29T16:51:56.8406649+08:00;True|2024-10-29T16:05:48.4297695+08:00;True|2024-10-29T15:12:15.1522377+08:00;True|2024-10-29T15:10:51.8431754+08:00;True|2024-10-29T11:21:01.5660940+08:00;False|2024-10-29T11:20:33.3958980+08:00;True|2024-10-28T17:51:26.7156861+08:00;False|2024-10-28T17:50:41.4388196+08:00;True|2024-10-28T13:34:14.8764262+08:00;True|2024-10-28T12:44:27.2083620+08:00;False|2024-10-28T12:43:57.5942717+08:00;True|2024-10-25T11:49:47.9817458+08:00;True|2024-10-25T11:49:34.4754546+08:00;True|2024-10-25T09:59:35.6471379+08:00;True|2024-10-25T09:47:46.8035540+08:00;True|2024-10-25T09:25:57.7872618+08:00;False|2024-10-25T09:25:30.0950732+08:00;True|2024-10-24T20:39:06.1992535+08:00;False|2024-10-24T20:38:33.1009731+08:00;True|2024-10-24T11:17:46.9974483+08:00;False|2024-10-24T11:17:17.0925356+08:00;True|2024-10-23T19:16:25.5189930+08:00;True|2024-10-23T17:10:44.4267777+08:00;False|2024-10-23T17:10:10.2947971+08:00;True|2024-10-23T14:13:22.6901287+08:00;False|2024-10-23T14:12:24.3997100+08:00;True|2024-10-22T16:25:12.9514711+08:00;False|2024-10-22T16:24:42.9025167+08:00;True|2024-10-22T10:22:33.9932601+08:00;False|2024-10-22T10:22:05.3030308+08:00;True|2024-10-21T17:53:29.9552741+08:00;True|2024-10-21T16:37:31.4159544+08:00;True|2024-10-21T16:35:43.6207036+08:00;True|2024-10-21T16:00:05.5040651+08:00;False|2024-10-21T15:59:35.9279259+08:00;True|2024-10-21T12:06:42.5768961+08:00;False|2024-10-21T12:06:16.6344662+08:00;True|2024-10-18T10:44:02.6495536+08:00;True|2024-10-18T09:55:47.9769914+08:00;True|2024-10-18T09:47:46.6365831+08:00;True|2024-10-18T09:46:40.4036657+08:00;True|2024-10-18T09:44:25.4598960+08:00;True|2024-10-18T09:30:07.6972377+08:00;False|2024-10-18T09:28:18.9251743+08:00;True|2024-10-17T12:13:34.8639685+08:00;True|2024-10-17T12:02:26.5251711+08:00;False|2024-10-17T12:01:31.3822430+08:00;True|2024-10-17T11:49:09.2395208+08:00;False|2024-10-17T11:48:38.0189241+08:00;True|2024-10-16T19:35:29.2047484+08:00;False|2024-10-16T19:32:43.0637947+08:00;True|2024-10-16T11:27:13.1263407+08:00;False|2024-10-16T11:25:49.8688677+08:00;True|2024-10-15T18:26:50.9948482+08:00;False|2024-10-15T18:26:23.6998750+08:00;True|2024-08-26T14:17:37.8502046+08:00;False|2024-08-26T14:16:09.8501361+08:00;True|2024-08-22T11:12:48.4249984+08:00;</History>
  </PropertyGroup>
  <ItemGroup>
    <File Include="apiapp.json">
@@ -45,28 +45,28 @@
      <publishTime>02/22/2013 16:43:40</publishTime>
    </File>
    <File Include="bin/BLL.dll">
      <publishTime>12/11/2024 08:58:23</publishTime>
      <publishTime>12/13/2024 16:53:32</publishTime>
    </File>
    <File Include="bin/BLL.pdb">
      <publishTime>12/11/2024 08:58:23</publishTime>
      <publishTime>12/13/2024 16:53:32</publishTime>
    </File>
    <File Include="bin/BouncyCastle.Crypto.dll">
      <publishTime>12/18/2020 05:32:28</publishTime>
    </File>
    <File Include="bin/DAL.dll">
      <publishTime>12/11/2024 08:58:21</publishTime>
      <publishTime>12/13/2024 16:53:30</publishTime>
    </File>
    <File Include="bin/DAL.pdb">
      <publishTime>12/11/2024 08:58:21</publishTime>
      <publishTime>12/13/2024 16:53:30</publishTime>
    </File>
    <File Include="bin/Dapper.dll">
      <publishTime>07/22/2016 22:52:40</publishTime>
    </File>
    <File Include="bin/DBUtility.dll">
      <publishTime>12/11/2024 08:58:18</publishTime>
      <publishTime>12/13/2024 10:30:47</publishTime>
    </File>
    <File Include="bin/DBUtility.pdb">
      <publishTime>12/11/2024 08:58:18</publishTime>
      <publishTime>12/13/2024 10:30:47</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>12/11/2024 08:58:18</publishTime>
      <publishTime>12/13/2024 16:22:53</publishTime>
    </File>
    <File Include="bin/Model.pdb">
      <publishTime>12/11/2024 08:58:18</publishTime>
      <publishTime>12/13/2024 16:22: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>12/11/2024 08:58:16</publishTime>
      <publishTime>12/13/2024 10:30:45</publishTime>
    </File>
    <File Include="bin/Pub_Class.pdb">
      <publishTime>12/11/2024 08:58:16</publishTime>
      <publishTime>12/13/2024 10:30:45</publishTime>
    </File>
    <File Include="bin/Pub_Control.dll">
      <publishTime>12/11/2024 08:58:17</publishTime>
      <publishTime>12/13/2024 10:30:46</publishTime>
    </File>
    <File Include="bin/Pub_Control.pdb">
      <publishTime>12/11/2024 08:58:17</publishTime>
      <publishTime>12/13/2024 10:30:46</publishTime>
    </File>
    <File Include="bin/RestSharp.dll">
      <publishTime>08/31/2012 06:22:50</publishTime>
    </File>
    <File Include="bin/SQLHelper.dll">
      <publishTime>12/11/2024 08:58:17</publishTime>
      <publishTime>12/13/2024 10:30:46</publishTime>
    </File>
    <File Include="bin/SQLHelper.pdb">
      <publishTime>12/11/2024 08:58:17</publishTime>
      <publishTime>12/13/2024 10:30:46</publishTime>
    </File>
    <File Include="bin/Swashbuckle.Core.dll">
      <publishTime>02/16/2015 01:57:08</publishTime>
    </File>
    <File Include="bin/SyntacticSugar.dll">
      <publishTime>12/11/2024 08:57:34</publishTime>
      <publishTime>12/13/2024 08:23:31</publishTime>
    </File>
    <File Include="bin/SyntacticSugar.pdb">
      <publishTime>12/11/2024 08:57:34</publishTime>
      <publishTime>12/13/2024 08:23: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>12/11/2024 08:57:37</publishTime>
      <publishTime>12/13/2024 10:12:31</publishTime>
    </File>
    <File Include="bin/TopSdk.pdb">
      <publishTime>12/11/2024 08:57:37</publishTime>
      <publishTime>12/13/2024 10:12:32</publishTime>
    </File>
    <File Include="bin/WebActivatorEx.dll">
      <publishTime>11/24/2014 19:18:48</publishTime>
    </File>
    <File Include="bin/WebAPI.dll">
      <publishTime>12/11/2024 08:57:58</publishTime>
      <publishTime>12/16/2024 17:06:09</publishTime>
    </File>
    <File Include="bin/WebAPI.pdb">
      <publishTime>12/11/2024 08:57:58</publishTime>
      <publishTime>12/16/2024 17:06:09</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>12/06/2024 16:55:28</publishTime>
      <publishTime>12/11/2024 09:49:18</publishTime>
    </File>
  </ItemGroup>
</Project>
WebAPI/WebAPI.csproj.user
@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup>
    <LastActiveSolutionConfig>Release|Any CPU</LastActiveSolutionConfig>
    <NameOfLastUsedPublishProfile>D:\网站发布\后端代码\MES-WEB-API\MES-WEB-API\WebAPI\Properties\PublishProfiles\FolderProfile1.pubxml</NameOfLastUsedPublishProfile>
    <LastActiveSolutionConfig>Debug|Any CPU</LastActiveSolutionConfig>
    <NameOfLastUsedPublishProfile>C:\Users\86130\Desktop\智云迈思\MES-WEB-API\WebAPI\Properties\PublishProfiles\FolderProfilewtt.pubxml</NameOfLastUsedPublishProfile>
    <UseIISExpress>true</UseIISExpress>
    <Use64BitIISExpress />
    <IISExpressSSLPort />