chenhaozhe
20 小时以前 2d07ecf4a434a9d68d3ba82997916c5eade88d35
Merge branch 'master' of http://101.37.171.70:10101/r/MES-WEB-API

# Conflicts:
# WebAPI/App_Start/WebApiConfig.cs
# WebAPI/WebAPI.csproj.user
17个文件已修改
54个文件已添加
1355 ■■■■ 已修改文件
DAL/bin/Release/DAL.dll 补丁 | 查看 | 原始文档 | blame | 历史
DAL/bin/Release/DAL.pdb 补丁 | 查看 | 原始文档 | blame | 历史
DAL/bin/Release/DBUtility.dll 补丁 | 查看 | 原始文档 | blame | 历史
DAL/bin/Release/DBUtility.pdb 补丁 | 查看 | 原始文档 | blame | 历史
DAL/bin/Release/Model.dll 补丁 | 查看 | 原始文档 | blame | 历史
DAL/bin/Release/Model.pdb 补丁 | 查看 | 原始文档 | blame | 历史
DAL/bin/Release/Pub_Class.dll 补丁 | 查看 | 原始文档 | blame | 历史
DAL/bin/Release/Pub_Class.pdb 补丁 | 查看 | 原始文档 | blame | 历史
DAL/bin/Release/Pub_Control.dll 补丁 | 查看 | 原始文档 | blame | 历史
DAL/bin/Release/Pub_Control.pdb 补丁 | 查看 | 原始文档 | blame | 历史
DAL/bin/Release/SQLHelper.dll 补丁 | 查看 | 原始文档 | blame | 历史
DAL/bin/Release/SQLHelper.pdb 补丁 | 查看 | 原始文档 | blame | 历史
DBUtility/bin/Release/DBUtility.dll 补丁 | 查看 | 原始文档 | blame | 历史
DBUtility/bin/Release/DBUtility.pdb 补丁 | 查看 | 原始文档 | blame | 历史
DBUtility/bin/Release/Pub_Class.dll 补丁 | 查看 | 原始文档 | blame | 历史
DBUtility/bin/Release/Pub_Class.pdb 补丁 | 查看 | 原始文档 | blame | 历史
DBUtility/bin/Release/Pub_Control.dll 补丁 | 查看 | 原始文档 | blame | 历史
DBUtility/bin/Release/Pub_Control.pdb 补丁 | 查看 | 原始文档 | blame | 历史
DBUtility/bin/Release/SQLHelper.dll 补丁 | 查看 | 原始文档 | blame | 历史
DBUtility/bin/Release/SQLHelper.pdb 补丁 | 查看 | 原始文档 | blame | 历史
Model/bin/Release/DBUtility.dll 补丁 | 查看 | 原始文档 | blame | 历史
Model/bin/Release/DBUtility.pdb 补丁 | 查看 | 原始文档 | blame | 历史
Model/bin/Release/Model.dll 补丁 | 查看 | 原始文档 | blame | 历史
Model/bin/Release/Model.pdb 补丁 | 查看 | 原始文档 | blame | 历史
Model/bin/Release/Pub_Class.dll 补丁 | 查看 | 原始文档 | blame | 历史
Model/bin/Release/Pub_Class.pdb 补丁 | 查看 | 原始文档 | blame | 历史
Model/bin/Release/Pub_Control.dll 补丁 | 查看 | 原始文档 | blame | 历史
Model/bin/Release/Pub_Control.pdb 补丁 | 查看 | 原始文档 | blame | 历史
Model/bin/Release/SQLHelper.dll 补丁 | 查看 | 原始文档 | blame | 历史
Model/bin/Release/SQLHelper.pdb 补丁 | 查看 | 原始文档 | blame | 历史
Pub_Class/bin/Release/Pub_Class.dll 补丁 | 查看 | 原始文档 | blame | 历史
Pub_Class/bin/Release/Pub_Class.pdb 补丁 | 查看 | 原始文档 | blame | 历史
Pub_Class/bin/Release/SyntacticSugar.dll 补丁 | 查看 | 原始文档 | blame | 历史
Pub_Class/bin/Release/SyntacticSugar.pdb 补丁 | 查看 | 原始文档 | blame | 历史
Pub_Control/bin/Release/Pub_Class.dll 补丁 | 查看 | 原始文档 | blame | 历史
Pub_Control/bin/Release/Pub_Class.pdb 补丁 | 查看 | 原始文档 | blame | 历史
Pub_Control/bin/Release/Pub_Control.dll 补丁 | 查看 | 原始文档 | blame | 历史
Pub_Control/bin/Release/Pub_Control.pdb 补丁 | 查看 | 原始文档 | blame | 历史
SQLHelper/bin/Release/Pub_Class.dll 补丁 | 查看 | 原始文档 | blame | 历史
SQLHelper/bin/Release/Pub_Class.pdb 补丁 | 查看 | 原始文档 | blame | 历史
SQLHelper/bin/Release/SQLHelper.dll 补丁 | 查看 | 原始文档 | blame | 历史
SQLHelper/bin/Release/SQLHelper.pdb 补丁 | 查看 | 原始文档 | blame | 历史
SyntacticSugar/bin/Release/SyntacticSugar.dll 补丁 | 查看 | 原始文档 | blame | 历史
SyntacticSugar/bin/Release/SyntacticSugar.pdb 补丁 | 查看 | 原始文档 | blame | 历史
SyntacticSugar/obj/Release/SyntacticSugar.csproj.AssemblyReference.cache 补丁 | 查看 | 原始文档 | blame | 历史
SyntacticSugar/obj/Release/SyntacticSugar.csproj.CoreCompileInputs.cache 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
SyntacticSugar/obj/Release/SyntacticSugar.dll 补丁 | 查看 | 原始文档 | blame | 历史
SyntacticSugar/obj/Release/SyntacticSugar.pdb 补丁 | 查看 | 原始文档 | blame | 历史
WarM/条码打印/Gy_BarCodeBill_Rework.cs 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/App_Start/WebApiConfig.cs 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Controllers/PM_ProjectCommunicationBillListController.cs 196 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Controllers/仓存管理/条码生成/Sc_BarCodeController.cs 55 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Controllers/品质管理/巡检单/QC_PatrolProcCheckOtherBillController.cs 218 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Controllers/品质管理/工序检验单/QC_ProcessCheckBillController.cs 220 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Controllers/品质管理/首件检验单/QC_FirstPieceCheckBillController.cs 219 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Controllers/条码管理/WEBSController.cs 244 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Properties/PublishProfiles/FolderProfile2.pubxml.user 188 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/WebAPI.csproj 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/WebAPI.csproj.user 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/packages.config 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
sdk_dingding/TopSdk/bin/Debug/TopSdk.dll 补丁 | 查看 | 原始文档 | blame | 历史
sdk_dingding/TopSdk/bin/Debug/TopSdk.pdb 补丁 | 查看 | 原始文档 | blame | 历史
sdk_dingding/TopSdk/bin/Release/TopSdk.dll 补丁 | 查看 | 原始文档 | blame | 历史
sdk_dingding/TopSdk/bin/Release/TopSdk.pdb 补丁 | 查看 | 原始文档 | blame | 历史
sdk_dingding/TopSdk/obj/Debug/TopSdk.csproj.AssemblyReference.cache 补丁 | 查看 | 原始文档 | blame | 历史
sdk_dingding/TopSdk/obj/Debug/TopSdk.dll 补丁 | 查看 | 原始文档 | blame | 历史
sdk_dingding/TopSdk/obj/Debug/TopSdk.pdb 补丁 | 查看 | 原始文档 | blame | 历史
sdk_dingding/TopSdk/obj/Release/TopSdk.csproj.AssemblyReference.cache 补丁 | 查看 | 原始文档 | blame | 历史
sdk_dingding/TopSdk/obj/Release/TopSdk.csproj.CoreCompileInputs.cache 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
sdk_dingding/TopSdk/obj/Release/TopSdk.dll 补丁 | 查看 | 原始文档 | blame | 历史
sdk_dingding/TopSdk/obj/Release/TopSdk.pdb 补丁 | 查看 | 原始文档 | blame | 历史
DAL/bin/Release/DAL.dll
Binary files differ
DAL/bin/Release/DAL.pdb
Binary files differ
DAL/bin/Release/DBUtility.dll
Binary files differ
DAL/bin/Release/DBUtility.pdb
Binary files differ
DAL/bin/Release/Model.dll
Binary files differ
DAL/bin/Release/Model.pdb
Binary files differ
DAL/bin/Release/Pub_Class.dll
Binary files differ
DAL/bin/Release/Pub_Class.pdb
Binary files differ
DAL/bin/Release/Pub_Control.dll
Binary files differ
DAL/bin/Release/Pub_Control.pdb
Binary files differ
DAL/bin/Release/SQLHelper.dll
Binary files differ
DAL/bin/Release/SQLHelper.pdb
Binary files differ
DBUtility/bin/Release/DBUtility.dll
Binary files differ
DBUtility/bin/Release/DBUtility.pdb
Binary files differ
DBUtility/bin/Release/Pub_Class.dll
Binary files differ
DBUtility/bin/Release/Pub_Class.pdb
Binary files differ
DBUtility/bin/Release/Pub_Control.dll
Binary files differ
DBUtility/bin/Release/Pub_Control.pdb
Binary files differ
DBUtility/bin/Release/SQLHelper.dll
Binary files differ
DBUtility/bin/Release/SQLHelper.pdb
Binary files differ
Model/bin/Release/DBUtility.dll
Binary files differ
Model/bin/Release/DBUtility.pdb
Binary files differ
Model/bin/Release/Model.dll
Binary files differ
Model/bin/Release/Model.pdb
Binary files differ
Model/bin/Release/Pub_Class.dll
Binary files differ
Model/bin/Release/Pub_Class.pdb
Binary files differ
Model/bin/Release/Pub_Control.dll
Binary files differ
Model/bin/Release/Pub_Control.pdb
Binary files differ
Model/bin/Release/SQLHelper.dll
Binary files differ
Model/bin/Release/SQLHelper.pdb
Binary files differ
Pub_Class/bin/Release/Pub_Class.dll
Binary files differ
Pub_Class/bin/Release/Pub_Class.pdb
Binary files differ
Pub_Class/bin/Release/SyntacticSugar.dll
Binary files differ
Pub_Class/bin/Release/SyntacticSugar.pdb
Binary files differ
Pub_Control/bin/Release/Pub_Class.dll
Binary files differ
Pub_Control/bin/Release/Pub_Class.pdb
Binary files differ
Pub_Control/bin/Release/Pub_Control.dll
Binary files differ
Pub_Control/bin/Release/Pub_Control.pdb
Binary files differ
SQLHelper/bin/Release/Pub_Class.dll
Binary files differ
SQLHelper/bin/Release/Pub_Class.pdb
Binary files differ
SQLHelper/bin/Release/SQLHelper.dll
Binary files differ
SQLHelper/bin/Release/SQLHelper.pdb
Binary files differ
SyntacticSugar/bin/Release/SyntacticSugar.dll
Binary files differ
SyntacticSugar/bin/Release/SyntacticSugar.pdb
Binary files differ
SyntacticSugar/obj/Release/SyntacticSugar.csproj.AssemblyReference.cache
Binary files differ
SyntacticSugar/obj/Release/SyntacticSugar.csproj.CoreCompileInputs.cache
New file
@@ -0,0 +1 @@
5dd9c82feb12f833c78ecebea7d9a46c99f29e3f
SyntacticSugar/obj/Release/SyntacticSugar.dll
Binary files differ
SyntacticSugar/obj/Release/SyntacticSugar.pdb
Binary files differ
WarM/ÌõÂë´òÓ¡/Gy_BarCodeBill_Rework.cs
@@ -709,11 +709,12 @@
                                    string[] HMaterNumberPrefix = oSystemParameter.omodel.Gy_BarCodeBill_Rework_Ctrl.Split(',');
                                    char HMaterfirstChar = grdMain.Rows[j].Cells[HMaterNumberCol].Value.ToString()[0];
                                    string HMaterthirdChar = grdMain.Rows[j].Cells[HMaterNumberCol].Value.ToString().Substring(0,3);
                                    if (HMaterNumberPrefix.Contains(HMaterfirstChar.ToString()))
                                    {
                                        //条码编号 = å·¥åŽ‚ä»£ç ï¼ˆ1) + è½¦é—´ä»£ç ï¼ˆ060113)+ æœºåž‹å· + å¹´ + æœˆ + æ—¥ + æµæ°´å·
                                        TM = "1" + "060113" + HSubjoin2 + sYear + sPeriod + sDay + LSH.ToString("D5");
                                        //条码编号 = å·¥åŽ‚ä»£ç ï¼ˆ1) + è½¦é—´ä»£ç ï¼ˆ060113)+ ç‰©æ–™ä»£ç å‰ä¸‰ä½ + å¹´ + æœˆ + æ—¥ + æµæ°´å·
                                        TM = "1" + "060113" + HMaterthirdChar.ToString() + sYear + sPeriod + sDay + LSH.ToString("D5");
                                    }
                                    else
                                    {
WebAPI/App_Start/WebApiConfig.cs
@@ -38,6 +38,9 @@
            //// å¯ç”¨JWT响应拦截器,自动刷新JWT
            //config.MessageHandlers.Add(new TokenAppendHandler());
        }
    }
}
WebAPI/Controllers/PM_ProjectCommunicationBillListController.cs
@@ -173,8 +173,7 @@
                }
                else
                {
                    //若MAINDI重复则重新获取
                    oCN.BeginTran();
                    //主表
                    oCN.RunProc("Update PM_ProjectCommunicationBillMain" + " set " +
                    " HProSituation='" + list[0].HProSituation + "'" +
@@ -239,5 +238,198 @@
                return objJsonResult;
            }
        }
        #region  åˆ é™¤
        /// <summary>
        ///参数:string HInterID。
        ///返回值:object。
        /// </summary>
        [Route("PM_ProjectCommunicationBillList/delete")]
        [HttpGet]
        public object delete(string HInterID, string user)
        {
            try
            {
                //查看权限
                if (!DBUtility.ClsPub.Security_Log("Pm_ProjectBill_delete", 1, false, user))
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "无删除权限!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                if (HInterID == null || HInterID.Equals(""))
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "HInterID不能为空!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                oCN.BeginTran();
                oCN.RunProc("delete from PM_ProjectCommunicationBillMain where HInterID = " + HInterID);
                oCN.Commit();
                objJsonResult.code = "1";
                objJsonResult.count = 1;
                objJsonResult.Message = "Sucess!";
                objJsonResult.data = null;
                return objJsonResult;
            }
            catch (Exception e)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "Exception!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #endregion
        #region  å®¡æ ¸/反审核
        /// <summary>
        ///
        /// </summary>
        /// <param name="HInterID">单据ID</param>
        /// <param name="IsAudit">审核(0),反审核(1)</param>
        /// <param name="CurUserName">审核人</param>
        /// <returns></returns>
        [Route("PM_ProjectCommunicationBillList/AuditPM_ProjectCommunicationBillList")]
        [HttpGet]
        public object AuditPM_ProjectCommunicationBillList(string HInterID, int Type, string user)
        {
            try
            {
                //判断是否有审核权限
                if (!DBUtility.ClsPub.Security_Log("Pm_ProjectBill_Check", 1, false, user))
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "无权限审核!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                if (string.IsNullOrWhiteSpace(HInterID))
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "HInterID为空!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                ClsPub.CurUserName = user;
                oCN.BeginTran();//开始事务
                //Type 1 å®¡æ ¸  2  åå®¡æ ¸
                if (Type == 1)
                {
                    //判断单据是否已经审核
                    DataSet ds;
                    string sql = "select * from PM_ProjectCommunicationBillMain where HInterID = " + HInterID;
                    ds = oCN.RunProcReturn(sql, "PM_ProjectCommunicationBillMain");
                    if (ds == null || ds.Tables[0].Rows.Count == 0)
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = "单据不存在!";
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
                    {
                        if (ds.Tables[0].Rows[0]["HCloseMan"] != null && ds.Tables[0].Rows[0]["HCloseMan"].ToString() != "")
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 0;
                            objJsonResult.Message = "单据已关闭!不能再次审核!";
                            objJsonResult.data = null;
                            return objJsonResult;
                        }
                        if (ds.Tables[0].Rows[0]["HDeleteMan"] != null && ds.Tables[0].Rows[0]["HDeleteMan"].ToString() != "")
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 0;
                            objJsonResult.Message = "单据已作废!不能再次审核!";
                            objJsonResult.data = null;
                            return objJsonResult;
                        }
                        if (ds.Tables[0].Rows[0]["HChecker"] != null && ds.Tables[0].Rows[0]["HChecker"].ToString() != "")
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 0;
                            objJsonResult.Message = "单据已审核!不能再次审核!";
                            objJsonResult.data = null;
                            return objJsonResult;
                        }
                        string sqll = $"update PM_ProjectCommunicationBillMain set HChecker ='{user}', HCheckDate=GETDATE(),HBillStatus=2 where HInterID={HInterID} ";
                        oCN.RunProc(sqll);
                    }
                }
                else
                {
                    //判断单据是否已经反审核
                    DataSet ds;
                    string sql = "select * from PM_ProjectCommunicationBillMain where HInterID = " + HInterID;
                    ds = oCN.RunProcReturn(sql, "PM_ProjectCommunicationBillMain");
                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
                    {
                        if (ds.Tables[0].Rows[0]["HCloseMan"] != null && ds.Tables[0].Rows[0]["HCloseMan"].ToString() != "")
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 0;
                            objJsonResult.Message = "单据已关闭!不能进行反审核!";
                            objJsonResult.data = null;
                            return objJsonResult;
                        }
                        if (ds.Tables[0].Rows[0]["HDeleteMan"] != null && ds.Tables[0].Rows[0]["HDeleteMan"].ToString() != "")
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 0;
                            objJsonResult.Message = "单据已作废!不能进行反审核!";
                            objJsonResult.data = null;
                            return objJsonResult;
                        }
                        if (ds.Tables[0].Rows[0]["HChecker"] == null || ds.Tables[0].Rows[0]["HChecker"].ToString() == "")
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 0;
                            objJsonResult.Message = "单据未审核!不需要反审核!";
                            objJsonResult.data = null;
                            return objJsonResult;
                        }
                        //反审核单据
                        string sqll = $"update PM_ProjectCommunicationBillMain set HChecker ='',HBillStatus=1 where HInterID={HInterID} ";
                        oCN.RunProc(sqll);
                    }
                }
                oCN.Commit();//提交事务
                objJsonResult.code = "0";
                objJsonResult.count = 1;
                objJsonResult.Message = "执行成功!";
                objJsonResult.data = null;
                return objJsonResult; ;
            }
            catch (Exception e)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "执行失败!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #endregion
    }
}
WebAPI/Controllers/²Ö´æ¹ÜÀí/ÌõÂëÉú³É/Sc_BarCodeController.cs
@@ -1684,6 +1684,29 @@
                        n = n + 1;
                        oCN.RunProc("exec h_p_WMS_SetMaxNo '" + sTMNumber + "'");
                    }
                    //保存前=========================================
                    string sql1 = "exec h_p_Gy_BarCodeBill_BeforeSaveCtrl '" + HSelectBarCodeType + "','" + ordrlist[j].HMainID + "','" + ordrlist[j].HSubID + "','" + ordrlist[j].HBillNo + "','" + ordrlist[j].HBillType + "'," + HOrgID.ToString() + ",'"+ ordrlist[j].HQty + "'";
                    ds = oCN.RunProcReturn(sql1, "h_p_Gy_BarCodeBill_BeforeSaveCtrl");
                    if (ds == null || ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0)
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = "保存前失败!原因:保存前失败,请与网络管理人员联系";
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                    if (ds.Tables[0].Rows[0]["HBack"].ToString() != "0")
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = "保存前失败!原因:" + ds.Tables[0].Rows[0]["HRemark"].ToString(); ;
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                    //==================================================================================
                }
            }
            string HWei = "";      //尾数
@@ -1852,7 +1875,31 @@
                                   + ",'" + HMaterName + "','" + HMaterModel + "','" + HPinfan + "'," + HAuxPropID.ToString() + ",'" + HMTONo + "','" + HInnerBillNo + "'"
                                   + ",'" + HCoilNO2 + "','" + HFurnaceNO2 + "','" + HFactory2 + "'," + HAuxQty2 + ",'" + HheatNO2 + "','" + HProduceDate + "','" + HExpiryDate + "'," + HEmpID2.ToString() + ",'" + HCusModel2 + "','" + HCusMaterName2 + "','" + HCheckEmpName2 + "'" + ")");
                        }
                        //保存后控制=========================================
                        string sql1 = "exec h_p_Gy_BarCodeBill_AfterSaveCtrl '" + HBarCodeType + "','" + HSourceInterID + "','" + HSourceEntryID + "','" + HSourceBillType + "'," + HOrgID.ToString() + "";
                        ds = oCN.RunProcReturn(sql1, "h_p_Gy_BarCodeBill_AfterSaveCtrl");
                        if (ds == null || ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0)
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 0;
                            objJsonResult.Message = "保存后失败!原因:审核前判断失败,请与网络管理人员联系";
                            objJsonResult.data = null;
                            oCN.RollBack();
                            return objJsonResult;
                        }
                        if (ds.Tables[0].Rows[0]["HBack"].ToString() != "0")
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 0;
                            objJsonResult.Message = "保存后失败!原因:" + ds.Tables[0].Rows[0]["HRemark"].ToString(); ;
                            objJsonResult.data = null;
                            oCN.RollBack();
                            return objJsonResult;
                        }
                        //==================================================================================
                        //HNumber = ClsPub.isStrNull(grdSub.Rows[i].Cells[HMaterID2Col].Value);
@@ -1883,11 +1930,7 @@
                        //}
                        //oCn.RunProc("exec h_p_WMS_SetMaxNo '" + sTMNumber + "'");
                    }
                }
                //增加 æ¡ç è¶…过未生成功能控制
                //
                }
                //条码生成时同步生成条码出入库记录
                if (HSourceBillTypeName.Trim() == "生产入库单" || HSourceBillTypeName.Trim() == "采购入库单"
WebAPI/Controllers/Æ·ÖʹÜÀí/Ѳ¼ìµ¥/QC_PatrolProcCheckOtherBillController.cs
@@ -6,6 +6,8 @@
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.IO;
using System.Web;
using System.Web.Http;
using WebAPI.Controllers.SCGL;
using WebAPI.Models;
@@ -24,6 +26,7 @@
        DataSet ds;
        //获取系统参数
        Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();
        string fileip = System.Configuration.ConfigurationManager.AppSettings["FileIP"];
        #region å·¡æ£€å•列表 
        [Route("QC_PatrolProcCheckOtherBill/QC_PatrolProcCheckOtherBillList")]
@@ -1881,5 +1884,220 @@
        }
        #endregion
        #region å·¡æ£€æ£€éªŒå• æ–‡ä»¶ä¸Šä¼ 
        [Route("QC_PatrolProcCheckOtherBill/UploadFile_QC_PatrolProcCheckOtherBill")]
        [HttpPost]
        public object UploadFile_QC_PatrolProcCheckOtherBill()
        {
            string path = "";
            string HBillNo = HttpContext.Current.Request.Params["HBillNo"];  //单据号
            string HRemark = HttpContext.Current.Request.Params["HRemark"];  //备注
            string HUserName = HttpContext.Current.Request.Params["HUserName"];  //创建人
            HttpPostedFile files = HttpContext.Current.Request.Files["file"];
            string Ret = "";
            if (oSystemParameter.ShowBill(ref Ret))
            {
                if (oSystemParameter.omodel.WMS_CampanyName == "凯贝奈特")
                {
                    path = "D:/网站发布/LAYUI/Files/QC_PatrolProcCheckOtherBill/" + HBillNo;
                }
                else
                {
                    path = HttpContext.Current.Server.MapPath("~/../Files/QC_PatrolProcCheckOtherBill/" + HBillNo);
                }
            }
            dynamic dyResult = UploadFile_QC_PatrolProcCheckOtherBill(files, path, HBillNo, HRemark, HUserName);
            if (dyResult != null && dyResult.result == 1)
            {
                objJsonResult.code = "1";
                objJsonResult.count = 1;
                objJsonResult.Message = "上传成功!";
                objJsonResult.data = null;
                return objJsonResult;
            }
            else
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = dyResult.returnval;
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        public dynamic UploadFile_QC_PatrolProcCheckOtherBill(HttpPostedFile files, string path, string HBillNo, string HRemark, string HUserName)
        {
            dynamic Result_Ob = new { result = 1, returnval = "上传成功!" };
            string filePath = Path.GetFullPath(files.FileName);//文件上传路径
            string fileExtension = Path.GetExtension(files.FileName);// æ–‡ä»¶æ‰©å±•名
            string filename = files.FileName;//文件名
            string fileSavePath = path;// ä¸Šä¼ ä¿å­˜è·¯å¾„
            int filesize = files.ContentLength;//获取上传文件的大小单位为字节byte
            int Maxsize = 40000 * 1024;//定义上传文件的最大空间大小为40M
            try
            {
                if (files == null || files.ContentLength <= 0)
                {
                    Result_Ob = new { result = 0, returnval = "文件不能为空!" };
                    return Result_Ob;
                }
                if (filesize >= Maxsize)
                {
                    Result_Ob = new { result = 0, returnval = "上传文件超过40M,不能上传!" };
                    return Result_Ob;
                }
                string fileurl = Path.Combine(fileSavePath, filename);
                if (Directory.Exists(fileurl) == true)  //如果存在重名文件就提示
                {
                    Result_Ob = new { result = 0, returnval = "存在同名文件!" };
                    return Result_Ob;
                }
                //删除数据表数据
                ds = oCN.RunProcReturn("delete from MES_AccessoriesList where HSourceBillNo ='" + HBillNo + "' and HFileName='" + filename + "'", "MES_AccessoriesList");
                if (Directory.Exists(path))
                {
                    File.Delete(fileurl);      //删除指定文件
                    files.SaveAs(fileurl);
                    string StrPath = "";
                    string Ret = "";
                    if (oSystemParameter.ShowBill(ref Ret))
                    {
                        if (oSystemParameter.omodel.WMS_CampanyName == "凯贝奈特")
                        {
                            StrPath = "D:/网站发布/LAYUI/Files/QC_PatrolProcCheckOtherBill/" + HBillNo + "/" + filename;
                        }
                        else
                        {
                            StrPath = "/files/QC_PatrolProcCheckOtherBill/" + HBillNo + "/" + filename;
                        }
                    }
                    if (File.Exists(fileurl))
                    {
                        //这里可以执行一些其它的操作,比如更新数据库
                        //写入数据表
                        oCN.RunProc("Insert into MES_AccessoriesList (HFileName,HFilePath,HFilePath_Cus,HFileType" +
                                    ",HLoadMan,HLoadDate,HRemark,HVerNum,HFileSize" +
                                    ",HFileClsID,HSourceBillNo" +
                                   ") values('"
                                    + filename.ToString() + "','" + StrPath.ToString() + "','" + filePath.ToString() + "','" + fileExtension.ToString() + "'" +
                                    ",'" + HUserName + "',getdate(),'" + HRemark + "','V1','" + filesize +
                                    "','" + 0 + "','" + HBillNo +
                                   "') ");
                    }
                    else
                    {
                        Result_Ob = new { result = 0, returnval = "上传失败!此文件为恶意文件" };
                    }
                }
                else
                {
                    Directory.CreateDirectory(fileSavePath); //添加文件夹
                    files.SaveAs(fileurl);
                    string StrPath = "/files/QC_PatrolProcCheckOtherBill/" + HBillNo + "/" + filename;
                    if (File.Exists(fileurl))
                    {
                        //这里可以执行一些其它的操作,比如更新数据库
                        //写入数据表
                        oCN.RunProc("Insert into MES_AccessoriesList (HFileName,HFilePath,HFilePath_Cus,HFileType" +
                                    ",HLoadMan,HLoadDate,HRemark,HVerNum,HFileSize" +
                                    ",HFileClsID,HSourceBillNo" +
                                   ") values('"
                                    + filename.ToString() + "','" + StrPath.ToString() + "','" + filePath.ToString() + "','" + fileExtension.ToString() + "'" +
                                    ",'" + HUserName + "',getdate(),'" + HRemark + "','V1','" + filesize +
                                    "','" + 0 + "','" + HBillNo +
                                   "') ");
                    }
                    else
                    {
                        Result_Ob = new { result = 0, returnval = "上传失败!此文件为恶意文件" };
                    }
                }
            }
            catch (Exception e)
            {
                Result_Ob = new { result = 0, returnval = e.Message };
            }
            return Result_Ob;
        }
        /// <summary>
        /// æ ¹æ®å•据号查找上传文件列表
        /// </summary>
        /// <param name="sWhere"></param>
        /// <returns></returns>
        [Route("QC_PatrolProcCheckOtherBill/QC_PatrolProcCheckOtherBillList")]
        [HttpGet]
        public object QC_PatrolProcCheckOtherBillList(string HBillNo)
        {
            string Ret = "";
            var url = "";
            if (oSystemParameter.ShowBill(ref Ret))
            {
                if (oSystemParameter.omodel.WMS_CampanyName == "凯贝奈特")
                {
                    url = "D:/网站发布/LAYUI/Files/QC_PatrolProcCheckOtherBill/" + HBillNo + "/";
                }
                else
                {
                    url = fileip + "/Files/QC_PatrolProcCheckOtherBill/" + HBillNo + "/";
                }
            }
            try
            {
                ds = oCN.RunProcReturn("select *,'" + url + "'+CAST(HFileName as varchar(200))as url  from MES_AccessoriesList where HSourceBillNo='" + HBillNo + "'", "MES_AccessoriesList");
                objJsonResult.code = "1";
                objJsonResult.count = 1;
                objJsonResult.Message = "Sucess!";
                objJsonResult.data = ds.Tables[0];
                return objJsonResult;
            }
            catch (Exception e)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "Exception!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        /// <summary>
        /// æ ¹æ®ID,单据号,文件名 åˆ é™¤æ–‡ä»¶
        /// </summary>
        /// <param name="sWhere"></param>
        /// <returns></returns>
        [Route("QC_PatrolProcCheckOtherBill/QC_PatrolProcCheckOtherBill_DeleteFilelist")]
        [HttpGet]
        public object QC_PatrolProcCheckOtherBill_DeleteFilelist(string HItemID, string HSourceBillNo, string HFileName)
        {
            try
            {
                oCN.RunProc("delete from MES_AccessoriesList where HItemID =" + HItemID);
                objJsonResult.code = "1";
                objJsonResult.count = 1;
                objJsonResult.Message = "删除成功!";
                objJsonResult.data = null;
                return objJsonResult;
            }
            catch (Exception e)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "Exception!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #endregion
    }
}
WebAPI/Controllers/Æ·ÖʹÜÀí/¹¤Ðò¼ìÑéµ¥/QC_ProcessCheckBillController.cs
@@ -9,6 +9,8 @@
using System.Web.Http;
using WebAPI.Models;
using SyntacticSugar.constant;
using System.Web;
using System.IO;
namespace WebAPI.Controllers
{
@@ -23,7 +25,8 @@
        public DAL.ClsQC_ProcessCheckBill BillOld = new DAL.ClsQC_ProcessCheckBill();
        DataSet ds;
        //获取系统参数
        Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();
        Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();
        string fileip = System.Configuration.ConfigurationManager.AppSettings["FileIP"];
        #region å·¥åºæ£€éªŒå•列表
        [Route("QC_ProcessCheckBill/QC_ProcessCheckBillList")]
@@ -2399,5 +2402,220 @@
        #endregion
        #endregion
        #region å·¥åºæ£€éªŒå• æ–‡ä»¶ä¸Šä¼ 
        [Route("QC_ProcessCheckBill/UploadFile_QC_ProcessCheckBill")]
        [HttpPost]
        public object UploadFile_QC_ProcessCheckBill()
        {
            string path = "";
            string HBillNo = HttpContext.Current.Request.Params["HBillNo"];  //单据号
            string HRemark = HttpContext.Current.Request.Params["HRemark"];  //备注
            string HUserName = HttpContext.Current.Request.Params["HUserName"];  //创建人
            HttpPostedFile files = HttpContext.Current.Request.Files["file"];
            string Ret = "";
            if (oSystemParameter.ShowBill(ref Ret))
            {
                if (oSystemParameter.omodel.WMS_CampanyName == "凯贝奈特")
                {
                    path = "D:/网站发布/LAYUI/Files/QC_ProcessCheckBill/" + HBillNo;
                }
                else
                {
                    path = HttpContext.Current.Server.MapPath("~/../Files/QC_ProcessCheckBill/" + HBillNo);
                }
            }
            dynamic dyResult = UploadFile_QC_ProcessCheckBill(files, path, HBillNo, HRemark, HUserName);
            if (dyResult != null && dyResult.result == 1)
            {
                objJsonResult.code = "1";
                objJsonResult.count = 1;
                objJsonResult.Message = "上传成功!";
                objJsonResult.data = null;
                return objJsonResult;
            }
            else
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = dyResult.returnval;
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        public dynamic UploadFile_QC_ProcessCheckBill(HttpPostedFile files, string path, string HBillNo, string HRemark, string HUserName)
        {
            dynamic Result_Ob = new { result = 1, returnval = "上传成功!" };
            string filePath = Path.GetFullPath(files.FileName);//文件上传路径
            string fileExtension = Path.GetExtension(files.FileName);// æ–‡ä»¶æ‰©å±•名
            string filename = files.FileName;//文件名
            string fileSavePath = path;// ä¸Šä¼ ä¿å­˜è·¯å¾„
            int filesize = files.ContentLength;//获取上传文件的大小单位为字节byte
            int Maxsize = 40000 * 1024;//定义上传文件的最大空间大小为40M
            try
            {
                if (files == null || files.ContentLength <= 0)
                {
                    Result_Ob = new { result = 0, returnval = "文件不能为空!" };
                    return Result_Ob;
                }
                if (filesize >= Maxsize)
                {
                    Result_Ob = new { result = 0, returnval = "上传文件超过40M,不能上传!" };
                    return Result_Ob;
                }
                string fileurl = Path.Combine(fileSavePath, filename);
                if (Directory.Exists(fileurl) == true)  //如果存在重名文件就提示
                {
                    Result_Ob = new { result = 0, returnval = "存在同名文件!" };
                    return Result_Ob;
                }
                //删除数据表数据
                ds = oCN.RunProcReturn("delete from MES_AccessoriesList where HSourceBillNo ='" + HBillNo + "' and HFileName='" + filename + "'", "MES_AccessoriesList");
                if (Directory.Exists(path))
                {
                    File.Delete(fileurl);      //删除指定文件
                    files.SaveAs(fileurl);
                    string StrPath = "";
                    string Ret = "";
                    if (oSystemParameter.ShowBill(ref Ret))
                    {
                        if (oSystemParameter.omodel.WMS_CampanyName == "凯贝奈特")
                        {
                            StrPath = "D:/网站发布/LAYUI/Files/QC_ProcessCheckBill/" + HBillNo + "/" + filename;
                        }
                        else
                        {
                            StrPath = "/files/QC_ProcessCheckBill/" + HBillNo + "/" + filename;
                        }
                    }
                    if (File.Exists(fileurl))
                    {
                        //这里可以执行一些其它的操作,比如更新数据库
                        //写入数据表
                        oCN.RunProc("Insert into MES_AccessoriesList (HFileName,HFilePath,HFilePath_Cus,HFileType" +
                                    ",HLoadMan,HLoadDate,HRemark,HVerNum,HFileSize" +
                                    ",HFileClsID,HSourceBillNo" +
                                   ") values('"
                                    + filename.ToString() + "','" + StrPath.ToString() + "','" + filePath.ToString() + "','" + fileExtension.ToString() + "'" +
                                    ",'" + HUserName + "',getdate(),'" + HRemark + "','V1','" + filesize +
                                    "','" + 0 + "','" + HBillNo +
                                   "') ");
                    }
                    else
                    {
                        Result_Ob = new { result = 0, returnval = "上传失败!此文件为恶意文件" };
                    }
                }
                else
                {
                    Directory.CreateDirectory(fileSavePath); //添加文件夹
                    files.SaveAs(fileurl);
                    string StrPath = "/files/QC_ProcessCheckBill/" + HBillNo + "/" + filename;
                    if (File.Exists(fileurl))
                    {
                        //这里可以执行一些其它的操作,比如更新数据库
                        //写入数据表
                        oCN.RunProc("Insert into MES_AccessoriesList (HFileName,HFilePath,HFilePath_Cus,HFileType" +
                                    ",HLoadMan,HLoadDate,HRemark,HVerNum,HFileSize" +
                                    ",HFileClsID,HSourceBillNo" +
                                   ") values('"
                                    + filename.ToString() + "','" + StrPath.ToString() + "','" + filePath.ToString() + "','" + fileExtension.ToString() + "'" +
                                    ",'" + HUserName + "',getdate(),'" + HRemark + "','V1','" + filesize +
                                    "','" + 0 + "','" + HBillNo +
                                   "') ");
                    }
                    else
                    {
                        Result_Ob = new { result = 0, returnval = "上传失败!此文件为恶意文件" };
                    }
                }
            }
            catch (Exception e)
            {
                Result_Ob = new { result = 0, returnval = e.Message };
            }
            return Result_Ob;
        }
        /// <summary>
        /// æ ¹æ®å•据号查找上传文件列表
        /// </summary>
        /// <param name="sWhere"></param>
        /// <returns></returns>
        [Route("QC_ProcessCheckBill/QC_ProcessCheckBillList")]
        [HttpGet]
        public object QC_ProcessCheckBillList(string HBillNo)
        {
            string Ret = "";
            var url = "";
            if (oSystemParameter.ShowBill(ref Ret))
            {
                if (oSystemParameter.omodel.WMS_CampanyName == "凯贝奈特")
                {
                    url = "D:/网站发布/LAYUI/Files/QC_ProcessCheckBill/" + HBillNo + "/";
                }
                else
                {
                    url = fileip + "/Files/QC_ProcessCheckBill/" + HBillNo + "/";
                }
            }
            try
            {
                ds = oCN.RunProcReturn("select *,'" + url + "'+CAST(HFileName as varchar(200))as url  from MES_AccessoriesList where HSourceBillNo='" + HBillNo + "'", "MES_AccessoriesList");
                objJsonResult.code = "1";
                objJsonResult.count = 1;
                objJsonResult.Message = "Sucess!";
                objJsonResult.data = ds.Tables[0];
                return objJsonResult;
            }
            catch (Exception e)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "Exception!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        /// <summary>
        /// æ ¹æ®ID,单据号,文件名 åˆ é™¤æ–‡ä»¶
        /// </summary>
        /// <param name="sWhere"></param>
        /// <returns></returns>
        [Route("QC_ProcessCheckBill/QC_ProcessCheckBill_DeleteFilelist")]
        [HttpGet]
        public object QC_ProcessCheckBill_DeleteFilelist(string HItemID, string HSourceBillNo, string HFileName)
        {
            try
            {
                oCN.RunProc("delete from MES_AccessoriesList where HItemID =" + HItemID);
                objJsonResult.code = "1";
                objJsonResult.count = 1;
                objJsonResult.Message = "删除成功!";
                objJsonResult.data = null;
                return objJsonResult;
            }
            catch (Exception e)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "Exception!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #endregion
    }
}
WebAPI/Controllers/Æ·ÖʹÜÀí/Ê×¼þ¼ìÑéµ¥/QC_FirstPieceCheckBillController.cs
@@ -7,6 +7,8 @@
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.IO;
using System.Web;
using System.Web.Http;
using WebAPI.Controllers.SCGL;
using WebAPI.Models;
@@ -25,6 +27,8 @@
        DataSet ds;
        //获取系统参数
        Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();
        string fileip = System.Configuration.ConfigurationManager.AppSettings["FileIP"];
        #region é¦–件检验单列表
        [Route("QC_FirstPieceCheckBill/QC_FirstPieceCheckBillList")]
@@ -2530,5 +2534,220 @@
        #endregion
        #region é¦–件检验单 æ–‡ä»¶ä¸Šä¼ 
        [Route("QC_FirstPieceCheckBill/UploadFile_QC_FirstPieceCheckBill")]
        [HttpPost]
        public object UploadFile_QC_FirstPieceCheckBill()
        {
            string path = "";
            string HBillNo = HttpContext.Current.Request.Params["HBillNo"];  //单据号
            string HRemark = HttpContext.Current.Request.Params["HRemark"];  //备注
            string HUserName = HttpContext.Current.Request.Params["HUserName"];  //创建人
            HttpPostedFile files = HttpContext.Current.Request.Files["file"];
            string Ret = "";
            if (oSystemParameter.ShowBill(ref Ret))
            {
                if (oSystemParameter.omodel.WMS_CampanyName == "凯贝奈特")
                {
                    path = "D:/网站发布/LAYUI/Files/QC_FirstPieceCheckBill/" + HBillNo;
                }
                else
                {
                    path = HttpContext.Current.Server.MapPath("~/../Files/QC_FirstPieceCheckBill/" + HBillNo);
                }
            }
            dynamic dyResult = UploadFile_QC_FirstPieceCheckBill(files, path, HBillNo, HRemark, HUserName);
            if (dyResult != null && dyResult.result == 1)
            {
                objJsonResult.code = "1";
                objJsonResult.count = 1;
                objJsonResult.Message = "上传成功!";
                objJsonResult.data = null;
                return objJsonResult;
            }
            else
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = dyResult.returnval;
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        public dynamic UploadFile_QC_FirstPieceCheckBill(HttpPostedFile files, string path, string HBillNo, string HRemark, string HUserName)
        {
            dynamic Result_Ob = new { result = 1, returnval = "上传成功!" };
            string filePath = Path.GetFullPath(files.FileName);//文件上传路径
            string fileExtension = Path.GetExtension(files.FileName);// æ–‡ä»¶æ‰©å±•名
            string filename = files.FileName;//文件名
            string fileSavePath = path;// ä¸Šä¼ ä¿å­˜è·¯å¾„
            int filesize = files.ContentLength;//获取上传文件的大小单位为字节byte
            int Maxsize = 40000 * 1024;//定义上传文件的最大空间大小为40M
            try
            {
                if (files == null || files.ContentLength <= 0)
                {
                    Result_Ob = new { result = 0, returnval = "文件不能为空!" };
                    return Result_Ob;
                }
                if (filesize >= Maxsize)
                {
                    Result_Ob = new { result = 0, returnval = "上传文件超过40M,不能上传!" };
                    return Result_Ob;
                }
                string fileurl = Path.Combine(fileSavePath, filename);
                if (Directory.Exists(fileurl) == true)  //如果存在重名文件就提示
                {
                    Result_Ob = new { result = 0, returnval = "存在同名文件!" };
                    return Result_Ob;
                }
                //删除数据表数据
                ds = oCN.RunProcReturn("delete from MES_AccessoriesList where HSourceBillNo ='" + HBillNo + "' and HFileName='" + filename + "'", "MES_AccessoriesList");
                if (Directory.Exists(path))
                {
                    File.Delete(fileurl);      //删除指定文件
                    files.SaveAs(fileurl);
                    string StrPath = "";
                    string Ret = "";
                    if (oSystemParameter.ShowBill(ref Ret))
                    {
                        if (oSystemParameter.omodel.WMS_CampanyName == "凯贝奈特")
                        {
                            StrPath = "D:/网站发布/LAYUI/Files/QC_FirstPieceCheckBill/" + HBillNo + "/" + filename;
                        }
                        else
                        {
                            StrPath = "/files/QC_FirstPieceCheckBill/" + HBillNo + "/" + filename;
                        }
                    }
                    if (File.Exists(fileurl))
                    {
                        //这里可以执行一些其它的操作,比如更新数据库
                        //写入数据表
                        oCN.RunProc("Insert into MES_AccessoriesList (HFileName,HFilePath,HFilePath_Cus,HFileType" +
                                    ",HLoadMan,HLoadDate,HRemark,HVerNum,HFileSize" +
                                    ",HFileClsID,HSourceBillNo" +
                                   ") values('"
                                    + filename.ToString() + "','" + StrPath.ToString() + "','" + filePath.ToString() + "','" + fileExtension.ToString() + "'" +
                                    ",'" + HUserName + "',getdate(),'" + HRemark + "','V1','" + filesize +
                                    "','" + 0 + "','" + HBillNo +
                                   "') ");
                    }
                    else
                    {
                        Result_Ob = new { result = 0, returnval = "上传失败!此文件为恶意文件" };
                    }
                }
                else
                {
                    Directory.CreateDirectory(fileSavePath); //添加文件夹
                    files.SaveAs(fileurl);
                    string StrPath = "/files/QC_FirstPieceCheckBill/" + HBillNo + "/" + filename;
                    if (File.Exists(fileurl))
                    {
                        //这里可以执行一些其它的操作,比如更新数据库
                        //写入数据表
                        oCN.RunProc("Insert into MES_AccessoriesList (HFileName,HFilePath,HFilePath_Cus,HFileType" +
                                    ",HLoadMan,HLoadDate,HRemark,HVerNum,HFileSize" +
                                    ",HFileClsID,HSourceBillNo" +
                                   ") values('"
                                    + filename.ToString() + "','" + StrPath.ToString() + "','" + filePath.ToString() + "','" + fileExtension.ToString() + "'" +
                                    ",'" + HUserName + "',getdate(),'" + HRemark + "','V1','" + filesize +
                                    "','" + 0 + "','" + HBillNo +
                                   "') ");
                    }
                    else
                    {
                        Result_Ob = new { result = 0, returnval = "上传失败!此文件为恶意文件" };
                    }
                }
            }
            catch (Exception e)
            {
                Result_Ob = new { result = 0, returnval = e.Message };
            }
            return Result_Ob;
        }
        /// <summary>
        /// æ ¹æ®å•据号查找上传文件列表
        /// </summary>
        /// <param name="sWhere"></param>
        /// <returns></returns>
        [Route("QC_FirstPieceCheckBill/QC_FirstPieceCheckBillList")]
        [HttpGet]
        public object QC_FirstPieceCheckBillList(string HBillNo)
        {
            string Ret = "";
            var url = "";
            if (oSystemParameter.ShowBill(ref Ret))
            {
                if (oSystemParameter.omodel.WMS_CampanyName == "凯贝奈特")
                {
                    url = "D:/网站发布/LAYUI/Files/QC_FirstPieceCheckBill/" + HBillNo + "/";
                }
                else
                {
                    url = fileip + "/Files/QC_FirstPieceCheckBill/" + HBillNo + "/";
                }
            }
            try
            {
                ds = oCN.RunProcReturn("select *,'" + url + "'+CAST(HFileName as varchar(200))as url  from MES_AccessoriesList where HSourceBillNo='" + HBillNo + "'", "MES_AccessoriesList");
                objJsonResult.code = "1";
                objJsonResult.count = 1;
                objJsonResult.Message = "Sucess!";
                objJsonResult.data = ds.Tables[0];
                return objJsonResult;
            }
            catch (Exception e)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "Exception!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        /// <summary>
        /// æ ¹æ®ID,单据号,文件名 åˆ é™¤æ–‡ä»¶
        /// </summary>
        /// <param name="sWhere"></param>
        /// <returns></returns>
        [Route("QC_FirstPieceCheckBill/QC_FirstPieceCheckBill_DeleteFilelist")]
        [HttpGet]
        public object QC_FirstPieceCheckBill_DeleteFilelist(string HItemID, string HSourceBillNo, string HFileName)
        {
            try
            {
                oCN.RunProc("delete from MES_AccessoriesList where HItemID =" + HItemID);
                objJsonResult.code = "1";
                objJsonResult.count = 1;
                objJsonResult.Message = "删除成功!";
                objJsonResult.data = null;
                return objJsonResult;
            }
            catch (Exception e)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "Exception!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #endregion
    }
}
WebAPI/Controllers/ÌõÂë¹ÜÀí/WEBSController.cs
@@ -17,7 +17,7 @@
using WebAPI.Models;
using WebAPI.Service;
using WebAPI.Utility;
using Kingdee.BOS.WebApi.Client;
using Alex.Kingdee.Cloud.WebAPI.Client;
namespace WebAPI.Controllers
{
@@ -15585,167 +15585,100 @@
        #region ç‰©æ–™åŸºç¡€èµ„料同步
        [Route("WEBSController/MaterialDataToLocalByKDWebApi")]
        [HttpGet]
        public object MaterialDataToLocalByKDWebApi(string HDate)
        public object MaterialDataToLocalByKDWebApi(string HDate,int limit)
        {
            bool hasMore = true;//是否循环查询
            try
            {
                //访问金蝶
                ApiClient client = new ApiClient(Pub_Class.ClsPub.sCLOUDUrl);
                var loginRet = InvokeHelper.Login();
                var isSuccess = JObject.Parse(loginRet)["LoginResultType"].Value<int>();
                string sCLOUDUseName = Util.GetConfigKey(AppDomain.CurrentDomain.BaseDirectory + "/Config/kdapi.config", "UserName");
                string sCLOUDPsd = Util.GetConfigKey(AppDomain.CurrentDomain.BaseDirectory + "/Config/kdapi.config", "PassWord");
                string dbId = Util.GetConfigKey(AppDomain.CurrentDomain.BaseDirectory + "/Config/kdapi.config", "DbId");
                ApiClient client = new ApiClient(Util.GetConfigKey(AppDomain.CurrentDomain.BaseDirectory + "/Config/kdapi.config", "KDApiUrl"));
                bool bLogin = client.Login(dbId, sCLOUDUseName, sCLOUDPsd, 2052);
                string HReturn;
                int startRow = 0;//分页,从第1条开始查询
                List<JObject> allData = new List<JObject>();//接收存储所有查询到的数据
                if (isSuccess == 0)
                if (!bLogin)
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "同步基础资料失败,金蝶账号登录异常。" + loginRet;
                    objJsonResult.Message = "同步基础资料失败,金蝶账号登录异常。";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                //要通过接口查询的字段
                string fieldKeys = "FMATERIALID,FNumber,FName,FSpecification,FFORBIDSTATUS,FErpClsID,FSTOREUNITID,FLENGTH,FWIDTH,FHEIGHT,FNETWEIGHT,FGROSSWEIGHT,FOLDNUMBER,FSTOCKID,FStockPlaceID,FPLANMODE,FCREATORID,FAPPROVERID,FAPPROVEDATE,FMODIFYDATE,FCREATEORGID,FUSEORGID,FISBATCHMANAGE,FCHECKINCOMING,FISENABLE1,FISKFPERIOD,FEXPUNIT,FEXPPERIOD,FAUXUNITID,FSNUNIT,FBASEUNITID,FSALEUNITID,FSALEPRICEUNITID,FPERUNITSTANDHOUR,FSTDLABORPREPARETIME,FSTDMACHINEPREPARETIME,FMASTERID,FMAXPOQTY,FMINPOQTY,FMATERIALGROUP";
                //调用单据查询webapi
                string sJson = $"{{\"FormId\":\"BD_MATERIAL\",\"FieldKeys\":\"FMATERIALID,FNumber,FName,FSpecification,FApproveDate,FCreateDate,FDocumentStatus\",\"FilterString\":\"FApproveDate >= '2025-04-01T00:00:00' AND FApproveDate <= '2025-04-30T23:59:59'\",\"Limit\":100,\"StartRow\":0,\"TopRowCount\":0}}";
                oCn.BeginTran();//开始事务
                var result = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.ExecuteBillQuery.common.kdsvc", new object[] { "BD_MATERIAL", sJson });
                var _saveObj = JObject.Parse(result);
                //判断数据是否获取成功
                if (_saveObj.SelectToken("Result.ResponseStatus.IsSuccess")?.ToString().ToUpper() != "TRUE")
                while (hasMore) //循环分组查询,避免漏同步
                {
                    HReturn = result.ToString();
                    //反序列化json数据
                    var retModel = JsonConvert.DeserializeObject<KingdeeResponse>(HReturn);
                    //接收金蝶报错信息
                    var strErrorMsg = string.Empty;
                    //遍历获取报错信息
                    foreach (var item in retModel.Result.ResponseStatus.Errors)
                    {
                        strErrorMsg += item.Message + "\r\n";
                    };
                    //拼接单据查询接口参数
                    string sJson = $"{{\"FormId\":\"BD_MATERIAL\",\"FieldKeys\":\"{fieldKeys}\",\"FilterString\":\"FApproveDate >= '{HDate}' and FLOCALEID = 2052\",\"Limit\":{limit},\"StartRow\":{startRow},\"TopRowCount\":0}}";
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "单据查询物料信息失败!" + strErrorMsg;
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                else
                {
                    //主表数据赋值
                    var MainData = new
                    {
                        HInterID = _saveObj.SelectToken("Result.Result.Id")?.ToString() ?? "0",
                        HDate = _saveObj.SelectToken("Result.Result.Date")?.ToString(),
                        HBillNo = _saveObj.SelectToken("Result.Result.BillNo")?.ToString() ?? "",
                        HBillStatus = _saveObj.SelectToken("Result.Result.ApproverId_Id")?.ToString() == "0" ? 1 : 2,
                        HPURCHASERNumber = _saveObj.SelectToken("Result.Result.PurchaserId.Number")?.ToString() ?? "",
                        HMaker = _saveObj.SelectToken("Result.Result.CreatorId.Name")?.ToString() ?? "",
                        HChecker = _saveObj.SelectToken("Result.Result.ApproverId.Name")?.ToString() ?? "",
                        HUpDater = _saveObj.SelectToken("Result.Result.ModifierId.Name")?.ToString() ?? "",
                        HDeleteMan = _saveObj.SelectToken("Result.Result.CancellerId.Name")?.ToString() ?? "",
                        HCloseMan = _saveObj.SelectToken("Result.Result.CloserId.Name")?.ToString() ?? "",
                        HPURCHASERGROUPNumber = _saveObj.SelectToken("Result.Result.PurchaserGroupId.Number")?.ToString() ?? "",
                        HPROVIDERCONTACTNumber = _saveObj.SelectToken("Result.Result.ProviderContactId.CONTACTNUMBER")?.ToString() ?? "",
                        HSETTLEMODEID = _saveObj.SelectToken("Result.Result.POOrderFinance[0].SettleModeId_Id")?.ToString() ?? "0",
                        HSETTLEMODENumber = _saveObj.SelectToken("Result.Result.POOrderFinance[0].SettleModeId.Number")?.ToString() ?? "",
                        HSETTLECURRID = _saveObj.SelectToken("Result.Result.POOrderFinance[0].SettleCurrId_Id")?.ToString() ?? "0",
                        HSETTLECURRNumber = _saveObj.SelectToken("Result.Result.POOrderFinance[0].SettleCurrId.Number")?.ToString() ?? "",
                        HEXCHANGETYPEID = _saveObj.SelectToken("Result.Result.POOrderFinance[0].ExchangeTypeId_Id")?.ToString() ?? "0",
                        HEXCHANGETYPENumber = _saveObj.SelectToken("Result.Result.POOrderFinance[0].ExchangeTypeId.Number")?.ToString() ?? "",
                        HPAYCONDITIONID = _saveObj.SelectToken("Result.Result.POOrderFinance[0].PayConditionId_Id")?.ToString() ?? "0",
                        HPAYCONDITIONNumber = _saveObj.SelectToken("Result.Result.POOrderFinance[0].PayConditionId.Number")?.ToString() ?? "",
                        HEXCHANGERATE = _saveObj.SelectToken("Result.Result.POOrderFinance[0].ExchangeRate")?.ToString() ?? "0",
                        HLOCALCURRID = _saveObj.SelectToken("Result.Result.POOrderFinance[0].LocalCurrId_Id")?.ToString() ?? "0",
                        HLOCALCURRNumber = _saveObj.SelectToken("Result.Result.POOrderFinance[0].LocalCurrId.Number")?.ToString() ?? "",
                        HISINCLUDEDTAX = _saveObj.SelectToken("Result.Result.POOrderFinance[0].IsIncludedTax")?.ToString().ToUpper() == "TRUE" ? 1 : 0,
                        HISPRICEEXCLUDETAX = _saveObj.SelectToken("Result.Result.POOrderFinance[0].FISPRICEEXCLUDETAX")?.ToString().ToUpper() == "TRUE" ? 1 : 0,
                    };
                    //调用金蝶webapi单据查询接口
                    var HReurnData = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.ExecuteBillQuery",
                    new object[] { sJson });
                    //根据单据号、单据ID,删除本地数据
                    oCn.RunProc("Delete from Cg_POOrderBillMain where HBillNo='" + MainData.HBillNo + "'", ref DBUtility.ClsPub.sExeReturnInfo);
                    oCn.RunProc("Delete from Cg_POOrderBillMain where HInterID=" + MainData.HInterID.ToString(), ref DBUtility.ClsPub.sExeReturnInfo);
                    oCn.RunProc("Delete from Cg_POOrderBillSub where HInterID=" + MainData.HInterID.ToString(), ref DBUtility.ClsPub.sExeReturnInfo);
                    //子表数据赋值
                    var dataArr = _saveObj.SelectToken("Result.Result.POOrderEntry") as JArray;
                    //将金蝶单据查询WEBAPI接口返回的纯数组转换为带字段名的对象列表
                    JArray formattedData = ConvertKingdeeResultToObjects(HReurnData, fieldKeys);
                    if (dataArr != null)
                    if (formattedData.Count < limit)
                    {
                        foreach (var oSub in dataArr)
                        {
                            var SubData = new
                            {
                                HInterID = _saveObj.SelectToken("Result.Result.Id")?.ToString() ?? "0",
                                HEntryID = oSub.SelectToken("Id")?.ToString() ?? "0",
                                HMaterID = oSub.SelectToken("MaterialId_Id")?.ToString() ?? "0",
                                HUnitID = oSub.SelectToken("UnitId_Id")?.ToString() ?? "0",
                                HQty = oSub.SelectToken("Qty")?.ToString() ?? "0",
                                HPrice = oSub.SelectToken("Price")?.ToString() ?? "0",
                                HTaxPrice = oSub.SelectToken("TaxPrice")?.ToString() ?? "0",
                                HDiscountRate = oSub.SelectToken("DiscountRate")?.ToString() ?? "0",
                                HMoney = oSub.SelectToken("Amount")?.ToString() ?? "0",
                                HTaxRate = oSub.SelectToken("TaxRate")?.ToString() ?? "0",
                                HTaxMoney = oSub.SelectToken("TaxAmount")?.ToString() ?? "0",
                                HDate = oSub.SelectToken("DeliveryDate")?.ToString() ?? "",
                                HRemark = oSub.SelectToken("Note")?.ToString() ?? "",
                                HRelationQty = oSub.SelectToken("JOINQTY")?.ToString() ?? "0",
                                HBackRelationQty = oSub.SelectToken("STOCKRETQTY")?.ToString() ?? "0",
                                HPropertyID = oSub.SelectToken("AuxPropId_Id")?.ToString() ?? "0",
                                HBatChNo = oSub.SelectToken("FLot_Text")?.ToString() ?? "",
                                HAuxPropID = oSub.SelectToken("AuxPropId_Id")?.ToString() ?? "0",
                                HMTONo = oSub.SelectToken("MtoNo")?.ToString() ?? "",
                                HERPInterID = _saveObj.SelectToken("Result.Result.Id")?.ToString() ?? "0",
                                HERPEntryID = oSub.SelectToken("Id")?.ToString() ?? "0",
                                HSEQ = oSub.SelectToken("Seq")?.ToString() ?? "0",
                                HRECEIVEDEPTID = oSub.SelectToken("ReceiveDeptId_Id")?.ToString() ?? "0",
                                HSUPPLIERLOT = oSub.SelectToken("SupplierLot")?.ToString() ?? "",
                                HBOMID = oSub.SelectToken("BomId_Id")?.ToString() ?? "0",
                                HBomNumber = oSub.SelectToken("BomId.Number")?.ToString() ?? "",
                                HSTOCKUNITID = oSub.SelectToken("StockUnitID_Id")?.ToString() ?? "0",
                                HBASEUNITID = oSub.SelectToken("BaseUnitId_Id")?.ToString() ?? "0",
                                HBFLOWID = oSub.SelectToken("FBFLowId_Id")?.ToString() ?? "",
                                HGIVEAWAY = oSub.SelectToken("GiveAway")?.ToString().ToUpper() == "TRUE" ? 1 : 0,
                                HROWTYPE = oSub.SelectToken("RowType")?.ToString() ?? "",
                                HBASEUNITQTY = oSub.SelectToken("BaseUnitQty")?.ToString() ?? "0",
                                HSTOCKBASEQTY = oSub.SelectToken("StockBaseQty")?.ToString() ?? "0",
                                HREQTRACENO = oSub.SelectToken("ReqTraceNo")?.ToString() ?? "",
                                HMATERIALDESC = oSub.SelectToken("MaterialDesc[0].Value")?.ToString() ?? "",
                                HRECEIVEORGID = oSub.SelectToken("ReceiveOrgId_Id")?.ToString() ?? "0",
                                HREQUIREORGID = oSub.SelectToken("RequireOrgId_Id")?.ToString() ?? "0",
                                HTAXNETPRICE = oSub.SelectToken("TaxNetPrice")?.ToString() ?? "0",
                                HPRICECOEFFICIENT = oSub.SelectToken("PriceCoefficient")?.ToString() ?? "0",
                                HTAXCOMBINATION = oSub.SelectToken("FTaxCombination_Id")?.ToString() ?? "0",
                                HTAXCOMBINATIONNumber = oSub.SelectToken("FTaxCombination.Number")?.ToString() ?? "",
                                HPRICEUNITID = oSub.SelectToken("PriceUnitId_Id")?.ToString() ?? "0",
                                HPRICELISTENTRY = oSub.SelectToken("PriceListEntry_Id")?.ToString() ?? "0",
                                HPRICELISTENTRYNumber = oSub.SelectToken("PriceListEntry.Number")?.ToString() ?? "",
                                HPAYORGID = oSub.SelectToken("PayOrgId_Id")?.ToString() ?? "0",
                                HSETTLEORGID = oSub.SelectToken("SettleOrgId_Id")?.ToString() ?? "0",
                                HTaxRate_TAX = oSub.SelectToken("POORDERENTRY_TAX[0].TaxRate")?.ToString() ?? "0",
                                HTaxMoney_TAX = oSub.SelectToken("POORDERENTRY_TAX[0].TaxAmount")?.ToString() ?? "0",
                                HTAXRATEID = oSub.SelectToken("POORDERENTRY_TAX[0].TaxRateId_Id")?.ToString() ?? "0",
                                HTAXRATENumber = oSub.SelectToken("POORDERENTRY_TAX[0].TaxRateId.Number")?.ToString() ?? "",
                                HCOSTPERCENT = oSub.SelectToken("POORDERENTRY_TAX[0].CostPercent")?.ToString() ?? "0",
                                HCOSTAMOUNT = oSub.SelectToken("POORDERENTRY_TAX[0].CostAmount")?.ToString() ?? "0",
                                HVAT = oSub.SelectToken("POORDERENTRY_TAX[0].VAT")?.ToString() ?? "",
                                HSELLERWITHHOLDING = oSub.SelectToken("POORDERENTRY_TAX[0].SellerWithholding")?.ToString() ?? "",
                                HBUYERWITHHOLDING = oSub.SelectToken("POORDERENTRY_TAX[0].BuyerWithholding")?.ToString() ?? "",
                            };
                        }
                        hasMore = false; // å¦‚果本次返回的数量少于请求的 limit,说明已经是最后一页了
                    }
                    else
                    {
                        startRow += limit; // å¦åˆ™ï¼Œå¢žåŠ èµ·å§‹è¡Œç´¢å¼•ï¼Œå‡†å¤‡è¯·æ±‚ä¸‹ä¸€é¡µ
                    }
                    objJsonResult.code = "1";
                    objJsonResult.count = 1;
                    objJsonResult.Message = "成功";
                    objJsonResult.data = WebSoBar;
                    return objJsonResult;
                }
                    foreach (JObject item in formattedData)
                    {
                        //删除原有记录
                        oCn.RunProc($"delete from Gy_Material where HItemID = {item["FMATERIALID"]?.ToString()}");
                        oCn.RunProc("set identity_insert Gy_Material on");
                        //重新写入表
                        oCn.RunProc($"insert into Gy_Material(HItemID,HERPItemID,HNumber,HName,HModel,HShortNumber,HParentID" +
                        $", HLevel, HEndFlag, HStopflag, HRemark, HMaterClsID, HUnitID, HUnitGroupID" +
                        $", HLength, HWidth, HHeight, HJQty, HMQty, HOldMaterNumber, HBarCodeType" +
                        $", HWHID, HSPID, HPlanMode, HUseFlag, HMinPickQty" +
                        $", HMakeEmp, HMakeTime, HCheckEmp, HCheckTime, HUpdateTime" +
                        $", HCREATEORGID, HUSEORGID, HBatchManager, HCHECKINCOMING" +
                        $", HAuxPropFlag, HISKFPERIOD, HEXPUNIT, HEXPPERIOD" +
                        $", HAuxUnitID, HSNUnitID, HBASEUNITID, HSALEUNITID, HSALEPRICEUNITID" +
                        $", HPERUNITSTANDHOUR, HSTDLABORPREPARETIME, HSTDMACHINEPREPARETIME, HMASTERID" +
                        $", HMaxPOQty, HMinPOQty, HMaterTypeID) " +
                        $" values ( {item["FMATERIALID"]?.ToString()},{item["FMATERIALID"]?.ToString()},'{item["FNumber"]?.ToString()}','{item["FName"]?.ToString()}','{item["FSpecification"]?.ToString()}'" +
                        $",'{item["FNumber"]?.ToString()}',0,1,1,'{(item["FFORBIDSTATUS"]?.ToString() == "A" ? 0 : 1)}','WEBAPI-导入'" +
                        $",'{item["FErpClsID"]?.ToString()}','{item["FSTOREUNITID"]?.ToString()}',0,'{item["FLENGTH"]?.ToString()}','{item["FWIDTH"]?.ToString()}','{item["FHEIGHT"]?.ToString()}'" +
                        $",'{item["FNETWEIGHT"]?.ToString()}','{item["FGROSSWEIGHT"]?.ToString()}','{item["FOLDNUMBER"]?.ToString()}','','{item["FSTOCKID"]?.ToString()}','{item["FStockPlaceID"]?.ToString()}'" +
                        $",'{item["FPLANMODE"]?.ToString()}','未检验',0,'{item["FCREATORID"]?.ToString()}',getdate(),'{item["FAPPROVERID"]?.ToString()}'" +
                        $",'{item["FAPPROVEDATE"]?.ToString()}','{item["FMODIFYDATE"]?.ToString()}','{item["FCREATEORGID"]?.ToString()}','{item["FUSEORGID"]?.ToString()}','{(item["FISBATCHMANAGE"]?.ToString() == "1" ? 1 : 0)}','{(item["FCHECKINCOMING"]?.ToString() == "1" ? 1 : 0)}'" +
                        $",'{(item["FISENABLE1"]?.ToString() == "1" ? 1 : 0)}','{(item["FISKFPERIOD"]?.ToString() == "1" ? 1 : 0)}','{item["FEXPUNIT"]?.ToString()}','{item["FEXPPERIOD"]?.ToString()}','{item["FAUXUNITID"]?.ToString()}','{item["FSNUNIT"]?.ToString()}'" +
                        $",'{item["FBASEUNITID"]?.ToString()}','{item["FSALEUNITID"]?.ToString()}','{item["FSALEPRICEUNITID"]?.ToString()}','{item["FPERUNITSTANDHOUR"]?.ToString()}','{item["FSTDLABORPREPARETIME"]?.ToString()}','{item["FSTDMACHINEPREPARETIME"]?.ToString()}'" +
                        $",'{item["FMASTERID"]?.ToString()}','{item["FMAXPOQTY"]?.ToString()}','{item["FMINPOQTY"]?.ToString()}','{item["FMATERIALGROUP"]?.ToString()}'" +
                        $")");
                        oCn.RunProc("set identity_insert Gy_Material off");
                    }
                }
                oCn.Commit(); //提交事务
                objJsonResult.code = "1";
                objJsonResult.count = 1;
                objJsonResult.Message = "物料信息同步成功";
                objJsonResult.data = "";
                return objJsonResult;
            }
            catch (Exception e)
            {
                hasMore = false;
                oCn.RollBack();//回滚事务
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "单据查询物料信息发生异常!" + e.ToString();
@@ -15756,6 +15689,41 @@
        #endregion
        #region å°†é‡‘蝶单据查询WEBAPI接口返回的纯数组转换为带字段名的对象列表
        public static JArray ConvertKingdeeResultToObjects(string rawJson, string fieldKeys)
        {
            // <param name="rawJson">API è¿”回的原始 JSON å­—符串(如 [[...],[...]])</param>
            // <param name="fieldKeys">查询时传入的 FieldKeys å­—符串(逗号分隔)</param>
            // 1. è§£æžåŽŸå§‹æ•°æ®ä¸º JArray(二维数组)
            JArray rawData = JArray.Parse(rawJson);
            // 2. æ‹†åˆ†å­—段名数组
            string[] fieldNames = fieldKeys.Split(',')
                                           .Select(f => f.Trim())
                                           .ToArray();
            // 3. åˆ›å»ºç»“果数组
            JArray result = new JArray();
            // 4. éåŽ†æ¯ä¸€è¡Œæ•°æ®
            foreach (JArray row in rawData)
            {
                JObject obj = new JObject();
                // 5. æŒ‰ç´¢å¼•位置映射字段名和值
                for (int i = 0; i < fieldNames.Length && i < row.Count; i++)
                {
                    obj[fieldNames[i]] = row[i];
                }
                result.Add(obj);
            }
            return result;
        }
        #endregion
        #endregion
    }
}
WebAPI/Properties/PublishProfiles/FolderProfile2.pubxml.user
@@ -5,11 +5,11 @@
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup>
    <_PublishTargetUrl>D:\网站发布\智云MESWMS\API</_PublishTargetUrl>
    <History>True|2026-04-08T01:55:10.8896063Z;False|2026-04-08T09:54:59.9647951+08:00;True|2026-04-07T16:03:45.1834044+08:00;False|2026-04-07T16:03:34.6199255+08:00;True|2026-04-06T20:28:16.0131270+08:00;False|2026-04-06T20:27:56.2563065+08:00;True|2026-04-01T11:48:50.5292235+08:00;True|2026-04-01T11:38:01.4330956+08:00;True|2026-04-01T11:10:56.0438060+08:00;False|2026-04-01T11:10:46.7232028+08:00;True|2026-04-01T10:56:38.9083881+08:00;False|2026-04-01T10:56:07.7574345+08:00;True|2026-03-27T14:26:07.9321307+08:00;False|2026-03-27T14:25:22.5010392+08:00;True|2026-03-27T13:35:36.8292396+08:00;False|2026-03-27T13:31:46.3527084+08:00;True|2026-03-24T15:10:02.2143243+08:00;True|2026-03-24T14:44:30.5286229+08:00;True|2026-03-24T10:24:40.8361153+08:00;False|2026-03-24T10:23:42.4160796+08:00;True|2026-03-23T19:05:41.2442007+08:00;False|2026-03-23T19:05:02.6358374+08:00;True|2026-03-23T15:35:21.7391934+08:00;False|2026-03-23T15:33:14.3621736+08:00;True|2026-03-21T11:27:25.8485662+08:00;True|2026-03-21T10:51:07.0416520+08:00;False|2026-03-21T10:50:30.0808809+08:00;True|2026-03-20T15:21:25.3928861+08:00;False|2026-03-20T15:20:18.7323151+08:00;True|2026-03-19T17:53:04.0599612+08:00;False|2026-03-19T17:49:34.2586338+08:00;True|2026-03-18T16:36:39.3459012+08:00;False|2026-03-18T16:33:44.2834015+08:00;True|2026-03-18T09:14:46.8169365+08:00;False|2026-03-18T09:11:29.5956354+08:00;True|2026-03-17T21:02:32.6298438+08:00;False|2026-03-17T21:01:51.7259809+08:00;True|2026-03-17T17:42:17.6095943+08:00;True|2026-03-17T17:22:22.7829010+08:00;True|2026-03-17T17:07:30.0424197+08:00;True|2026-03-17T17:00:25.9496446+08:00;True|2026-03-17T16:57:34.7454437+08:00;False|2026-03-17T16:55:25.6389756+08:00;True|2026-03-16T17:53:15.9567970+08:00;False|2026-03-16T17:52:38.5476276+08:00;True|2026-03-14T17:08:45.9696477+08:00;False|2026-03-14T17:07:54.0759419+08:00;True|2026-03-13T15:56:58.9781226+08:00;True|2026-03-13T14:54:12.0380800+08:00;True|2026-03-13T14:45:10.9471893+08:00;True|2026-03-13T14:34:35.7792308+08:00;True|2026-03-13T13:28:54.0165676+08:00;True|2026-03-13T13:04:26.7960852+08:00;True|2026-03-13T12:32:40.4056776+08:00;True|2026-03-13T12:00:38.5403236+08:00;True|2026-03-13T11:58:15.7212751+08:00;False|2026-03-13T11:56:03.1608711+08:00;True|2026-03-12T12:56:09.1798557+08:00;True|2026-03-12T12:10:38.6579078+08:00;True|2026-03-12T12:00:41.1216693+08:00;True|2026-03-12T10:49:25.6657932+08:00;True|2026-03-12T10:34:42.0132081+08:00;False|2026-03-12T10:34:21.1374537+08:00;True|2026-03-12T09:49:04.2791476+08:00;False|2026-03-12T09:48:32.0226441+08:00;True|2026-03-11T21:37:22.2202127+08:00;False|2026-03-11T21:35:48.4959239+08:00;True|2026-03-11T20:47:52.7636338+08:00;False|2026-03-11T20:47:20.3374534+08:00;True|2026-03-10T09:03:48.7681627+08:00;False|2026-03-10T09:02:36.0583806+08:00;True|2026-03-09T22:57:55.3577018+08:00;False|2026-03-09T22:55:54.8997804+08:00;True|2026-03-09T17:08:10.5420450+08:00;True|2026-03-09T16:57:28.4177680+08:00;True|2026-03-09T16:50:59.8251070+08:00;True|2026-03-09T10:23:55.4999880+08:00;False|2026-03-09T10:23:00.0281682+08:00;True|2026-03-06T09:15:06.5024218+08:00;True|2026-03-06T08:54:38.7087070+08:00;False|2026-03-06T08:53:23.6823346+08:00;True|2026-03-05T17:26:43.5908847+08:00;False|2026-03-05T17:25:48.2804326+08:00;True|2026-03-05T16:04:43.1077406+08:00;False|2026-03-05T16:02:11.7881116+08:00;True|2026-03-03T16:16:26.8635275+08:00;True|2026-03-03T15:54:24.2283621+08:00;True|2026-03-03T12:32:30.4495356+08:00;False|2026-03-03T12:31:06.0560910+08:00;True|2026-03-02T12:18:24.6587456+08:00;True|2026-03-02T09:35:22.6172462+08:00;False|2026-03-02T09:32:04.1416982+08:00;True|2026-02-28T12:04:01.7406133+08:00;True|2026-02-28T08:47:36.7167331+08:00;False|2026-02-28T08:46:49.1748795+08:00;True|2026-02-27T17:21:35.6897064+08:00;True|2026-02-27T17:00:03.2447893+08:00;True|2026-02-27T14:26:49.0714379+08:00;True|2026-02-27T13:57:50.9161682+08:00;False|2026-02-27T13:54:58.3092086+08:00;True|2026-02-26T16:30:22.6331887+08:00;True|2026-02-26T15:56:54.4778359+08:00;False|2026-02-26T15:55:53.2808802+08:00;False|2026-02-26T15:55:27.7501008+08:00;True|2026-02-26T12:42:10.3734658+08:00;True|2026-02-26T12:01:13.4363491+08:00;True|2026-02-26T10:24:02.2555254+08:00;True|2026-02-03T11:56:14.3086755+08:00;True|2026-02-03T11:51:19.6091315+08:00;True|2026-02-03T10:42:35.4774950+08:00;False|2026-02-03T10:40:57.1735351+08:00;True|2026-02-03T09:30:22.5235073+08:00;False|2026-02-03T09:27:21.6917147+08:00;True|2026-02-02T15:31:07.3762944+08:00;True|2026-02-02T14:13:20.5690146+08:00;True|2026-02-02T10:42:22.4804584+08:00;False|2026-02-02T10:41:48.7402434+08:00;True|2026-02-01T17:40:21.0538069+08:00;True|2026-02-01T15:44:12.2393909+08:00;False|2026-02-01T15:40:37.6456544+08:00;True|2026-01-31T12:05:50.6946479+08:00;False|2026-01-31T12:04:44.5273342+08:00;True|2026-01-29T17:14:07.3795568+08:00;True|2026-01-29T17:11:48.4286289+08:00;True|2026-01-29T16:10:42.7141082+08:00;True|2026-01-29T14:41:38.0583611+08:00;True|2026-01-29T14:36:18.1975177+08:00;True|2026-01-29T14:34:43.7423264+08:00;True|2026-01-29T14:09:16.2701844+08:00;True|2026-01-29T13:17:37.0708838+08:00;True|2026-01-29T10:21:51.3074443+08:00;False|2026-01-29T10:20:12.1418198+08:00;True|2026-01-28T13:52:59.2210650+08:00;True|2026-01-28T10:34:06.8152564+08:00;False|2026-01-28T10:32:51.4478083+08:00;True|2026-01-27T12:19:58.2090999+08:00;True|2026-01-27T12:18:40.9255150+08:00;True|2026-01-27T12:10:45.0784359+08:00;True|2026-01-27T11:45:58.2218602+08:00;True|2026-01-27T08:54:11.2473398+08:00;False|2026-01-27T08:50:52.3900508+08:00;True|2026-01-25T16:51:10.8469862+08:00;True|2026-01-25T16:15:55.3063785+08:00;False|2026-01-25T16:13:47.1609576+08:00;False|2026-01-25T16:10:27.3797138+08:00;True|2026-01-22T19:26:11.1120981+08:00;False|2026-01-22T19:21:59.7591077+08:00;True|2026-01-21T20:10:38.2264542+08:00;True|2026-01-21T20:05:52.6769930+08:00;False|2026-01-21T20:04:52.2864808+08:00;True|2026-01-20T10:09:22.6558754+08:00;True|2026-01-20T09:43:16.9535139+08:00;False|2026-01-20T09:40:14.5080297+08:00;True|2026-01-19T17:23:36.9963060+08:00;True|2026-01-19T17:18:41.7602029+08:00;True|2026-01-19T17:05:35.1663057+08:00;True|2026-01-19T16:49:48.9497194+08:00;True|2026-01-19T12:35:09.4063486+08:00;False|2026-01-19T12:33:25.3260660+08:00;True|2026-01-17T20:21:42.3497625+08:00;True|2026-01-17T20:17:40.8631870+08:00;True|2026-01-17T20:13:16.6618986+08:00;False|2026-01-17T20:10:39.7099356+08:00;False|2026-01-17T20:10:01.5198461+08:00;False|2026-01-17T20:09:07.5632818+08:00;True|2026-01-17T20:06:07.7085249+08:00;True|2026-01-17T17:50:38.6295526+08:00;False|2026-01-17T17:48:59.9531552+08:00;True|2026-01-16T16:22:22.3525933+08:00;True|2026-01-16T14:14:39.4187185+08:00;False|2026-01-16T14:10:47.6350779+08:00;True|2026-01-15T17:33:04.8867687+08:00;True|2026-01-15T17:13:07.4827420+08:00;False|2026-01-15T17:11:32.8298249+08:00;True|2026-01-15T16:34:04.8984638+08:00;True|2026-01-15T14:12:39.3677563+08:00;False|2026-01-15T14:10:25.0842475+08:00;True|2026-01-14T19:47:01.2486856+08:00;False|2026-01-14T19:46:15.5380497+08:00;True|2026-01-14T15:49:22.6528911+08:00;True|2026-01-14T10:24:06.5942562+08:00;False|2026-01-14T10:22:32.4884475+08:00;False|2026-01-12T09:27:01.9297704+08:00;True|2026-01-11T14:27:58.9407325+08:00;False|2026-01-11T14:26:47.1324504+08:00;True|2026-01-11T13:54:38.7697615+08:00;True|2026-01-11T12:39:56.1396008+08:00;False|2026-01-11T12:37:59.5059421+08:00;True|2026-01-09T15:34:00.7959753+08:00;False|2026-01-09T15:32:33.3223847+08:00;True|2026-01-09T10:27:04.4418230+08:00;False|2026-01-09T10:24:55.6104648+08:00;True|2026-01-08T18:05:09.8950096+08:00;False|2026-01-08T18:03:49.6828377+08:00;True|2026-01-08T15:53:31.8458993+08:00;True|2026-01-08T15:43:35.4452984+08:00;True|2026-01-08T15:16:09.2797564+08:00;True|2026-01-08T15:09:12.1761272+08:00;False|2026-01-08T15:08:31.8053125+08:00;True|2026-01-08T12:28:32.3839432+08:00;False|2026-01-08T12:28:06.4930402+08:00;False|2026-01-06T13:05:41.4537127+08:00;True|2026-01-04T11:27:03.6003486+08:00;True|2026-01-04T11:16:09.0856233+08:00;True|2026-01-04T11:09:33.9721372+08:00;True|2026-01-04T10:59:57.5111892+08:00;False|2026-01-04T10:57:57.5312203+08:00;True|2025-12-30T14:23:14.0889784+08:00;True|2025-12-29T09:12:05.7081903+08:00;False|2025-12-29T09:11:27.9082848+08:00;True|2025-07-01T16:53:57.8492332+08:00;True|2025-07-01T16:14:28.8419744+08:00;True|2025-07-01T15:15:43.3121091+08:00;True|2025-07-01T14:48:00.3454856+08:00;True|2025-07-01T09:17:46.2541717+08:00;False|2025-07-01T09:17:07.0648196+08:00;True|2025-06-23T14:30:28.6691264+08:00;False|2025-06-23T14:27:45.6002040+08:00;True|2025-06-23T11:02:08.3020700+08:00;True|2025-06-23T10:47:44.4654541+08:00;True|2025-06-23T09:46:24.9049910+08:00;False|2025-06-23T09:45:40.5195919+08:00;True|2025-06-20T14:33:10.9210583+08:00;True|2025-06-20T13:22:54.5321865+08:00;False|2025-06-20T13:21:30.8643897+08:00;True|2025-06-20T08:36:32.6695266+08:00;False|2025-06-20T08:35:57.8274069+08:00;True|2025-06-19T08:14:35.0623669+08:00;False|2025-06-19T08:12:57.2451557+08:00;True|2025-06-18T16:56:03.4555368+08:00;True|2025-06-18T16:42:43.2441845+08:00;False|2025-06-18T16:42:02.6907205+08:00;True|2025-06-16T16:13:03.2956026+08:00;False|2025-06-16T16:12:23.8438917+08:00;True|2025-06-16T15:21:32.7370852+08:00;True|2025-06-16T15:08:57.7166003+08:00;True|2025-06-16T14:02:18.4224630+08:00;True|2025-06-16T11:00:03.6375429+08:00;False|2025-06-16T10:59:26.0956296+08:00;True|2025-06-09T16:45:52.0865612+08:00;True|2025-06-09T16:38:47.2182194+08:00;True|2025-06-09T16:17:50.9170601+08:00;False|2025-06-09T16:17:43.0333396+08:00;True|2025-06-09T15:25:17.0429161+08:00;True|2025-06-09T15:00:15.0058791+08:00;True|2025-06-09T14:50:02.1370115+08:00;True|2025-06-09T14:38:10.9037045+08:00;True|2025-06-09T14:34:53.2826267+08:00;True|2025-06-09T14:07:24.5341951+08:00;True|2025-06-09T13:39:17.5042542+08:00;True|2025-06-09T09:30:31.8197114+08:00;True|2025-01-10T13:10:47.2046185+08:00;True|2025-01-10T11:11:49.4016910+08:00;True|2025-01-10T10:59:12.3481721+08:00;False|2025-01-10T10:58:24.5033898+08:00;True|2025-01-04T14:35:42.2792864+08:00;</History>
    <History>True|2026-05-06T07:47:46.3255643Z;True|2026-05-06T14:10:15.7955768+08:00;True|2026-05-06T13:28:05.4583623+08:00;True|2026-05-06T11:19:55.3226983+08:00;True|2026-05-06T11:06:19.3185379+08:00;True|2026-05-06T10:59:23.7931807+08:00;True|2026-05-06T10:04:30.6570500+08:00;True|2026-05-06T09:18:32.7000782+08:00;False|2026-05-06T09:17:43.1625773+08:00;True|2026-04-08T09:55:10.8896063+08:00;False|2026-04-08T09:54:59.9647951+08:00;True|2026-04-07T16:03:45.1834044+08:00;False|2026-04-07T16:03:34.6199255+08:00;True|2026-04-06T20:28:16.0131270+08:00;False|2026-04-06T20:27:56.2563065+08:00;True|2026-04-01T11:48:50.5292235+08:00;True|2026-04-01T11:38:01.4330956+08:00;True|2026-04-01T11:10:56.0438060+08:00;False|2026-04-01T11:10:46.7232028+08:00;True|2026-04-01T10:56:38.9083881+08:00;False|2026-04-01T10:56:07.7574345+08:00;True|2026-03-27T14:26:07.9321307+08:00;False|2026-03-27T14:25:22.5010392+08:00;True|2026-03-27T13:35:36.8292396+08:00;False|2026-03-27T13:31:46.3527084+08:00;True|2026-03-24T15:10:02.2143243+08:00;True|2026-03-24T14:44:30.5286229+08:00;True|2026-03-24T10:24:40.8361153+08:00;False|2026-03-24T10:23:42.4160796+08:00;True|2026-03-23T19:05:41.2442007+08:00;False|2026-03-23T19:05:02.6358374+08:00;True|2026-03-23T15:35:21.7391934+08:00;False|2026-03-23T15:33:14.3621736+08:00;True|2026-03-21T11:27:25.8485662+08:00;True|2026-03-21T10:51:07.0416520+08:00;False|2026-03-21T10:50:30.0808809+08:00;True|2026-03-20T15:21:25.3928861+08:00;False|2026-03-20T15:20:18.7323151+08:00;True|2026-03-19T17:53:04.0599612+08:00;False|2026-03-19T17:49:34.2586338+08:00;True|2026-03-18T16:36:39.3459012+08:00;False|2026-03-18T16:33:44.2834015+08:00;True|2026-03-18T09:14:46.8169365+08:00;False|2026-03-18T09:11:29.5956354+08:00;True|2026-03-17T21:02:32.6298438+08:00;False|2026-03-17T21:01:51.7259809+08:00;True|2026-03-17T17:42:17.6095943+08:00;True|2026-03-17T17:22:22.7829010+08:00;True|2026-03-17T17:07:30.0424197+08:00;True|2026-03-17T17:00:25.9496446+08:00;True|2026-03-17T16:57:34.7454437+08:00;False|2026-03-17T16:55:25.6389756+08:00;True|2026-03-16T17:53:15.9567970+08:00;False|2026-03-16T17:52:38.5476276+08:00;True|2026-03-14T17:08:45.9696477+08:00;False|2026-03-14T17:07:54.0759419+08:00;True|2026-03-13T15:56:58.9781226+08:00;True|2026-03-13T14:54:12.0380800+08:00;True|2026-03-13T14:45:10.9471893+08:00;True|2026-03-13T14:34:35.7792308+08:00;True|2026-03-13T13:28:54.0165676+08:00;True|2026-03-13T13:04:26.7960852+08:00;True|2026-03-13T12:32:40.4056776+08:00;True|2026-03-13T12:00:38.5403236+08:00;True|2026-03-13T11:58:15.7212751+08:00;False|2026-03-13T11:56:03.1608711+08:00;True|2026-03-12T12:56:09.1798557+08:00;True|2026-03-12T12:10:38.6579078+08:00;True|2026-03-12T12:00:41.1216693+08:00;True|2026-03-12T10:49:25.6657932+08:00;True|2026-03-12T10:34:42.0132081+08:00;False|2026-03-12T10:34:21.1374537+08:00;True|2026-03-12T09:49:04.2791476+08:00;False|2026-03-12T09:48:32.0226441+08:00;True|2026-03-11T21:37:22.2202127+08:00;False|2026-03-11T21:35:48.4959239+08:00;True|2026-03-11T20:47:52.7636338+08:00;False|2026-03-11T20:47:20.3374534+08:00;True|2026-03-10T09:03:48.7681627+08:00;False|2026-03-10T09:02:36.0583806+08:00;True|2026-03-09T22:57:55.3577018+08:00;False|2026-03-09T22:55:54.8997804+08:00;True|2026-03-09T17:08:10.5420450+08:00;True|2026-03-09T16:57:28.4177680+08:00;True|2026-03-09T16:50:59.8251070+08:00;True|2026-03-09T10:23:55.4999880+08:00;False|2026-03-09T10:23:00.0281682+08:00;True|2026-03-06T09:15:06.5024218+08:00;True|2026-03-06T08:54:38.7087070+08:00;False|2026-03-06T08:53:23.6823346+08:00;True|2026-03-05T17:26:43.5908847+08:00;False|2026-03-05T17:25:48.2804326+08:00;True|2026-03-05T16:04:43.1077406+08:00;False|2026-03-05T16:02:11.7881116+08:00;True|2026-03-03T16:16:26.8635275+08:00;True|2026-03-03T15:54:24.2283621+08:00;True|2026-03-03T12:32:30.4495356+08:00;False|2026-03-03T12:31:06.0560910+08:00;True|2026-03-02T12:18:24.6587456+08:00;True|2026-03-02T09:35:22.6172462+08:00;False|2026-03-02T09:32:04.1416982+08:00;True|2026-02-28T12:04:01.7406133+08:00;True|2026-02-28T08:47:36.7167331+08:00;False|2026-02-28T08:46:49.1748795+08:00;True|2026-02-27T17:21:35.6897064+08:00;True|2026-02-27T17:00:03.2447893+08:00;True|2026-02-27T14:26:49.0714379+08:00;True|2026-02-27T13:57:50.9161682+08:00;False|2026-02-27T13:54:58.3092086+08:00;True|2026-02-26T16:30:22.6331887+08:00;True|2026-02-26T15:56:54.4778359+08:00;False|2026-02-26T15:55:53.2808802+08:00;False|2026-02-26T15:55:27.7501008+08:00;True|2026-02-26T12:42:10.3734658+08:00;True|2026-02-26T12:01:13.4363491+08:00;True|2026-02-26T10:24:02.2555254+08:00;True|2026-02-03T11:56:14.3086755+08:00;True|2026-02-03T11:51:19.6091315+08:00;True|2026-02-03T10:42:35.4774950+08:00;False|2026-02-03T10:40:57.1735351+08:00;True|2026-02-03T09:30:22.5235073+08:00;False|2026-02-03T09:27:21.6917147+08:00;True|2026-02-02T15:31:07.3762944+08:00;True|2026-02-02T14:13:20.5690146+08:00;True|2026-02-02T10:42:22.4804584+08:00;False|2026-02-02T10:41:48.7402434+08:00;True|2026-02-01T17:40:21.0538069+08:00;True|2026-02-01T15:44:12.2393909+08:00;False|2026-02-01T15:40:37.6456544+08:00;True|2026-01-31T12:05:50.6946479+08:00;False|2026-01-31T12:04:44.5273342+08:00;True|2026-01-29T17:14:07.3795568+08:00;True|2026-01-29T17:11:48.4286289+08:00;True|2026-01-29T16:10:42.7141082+08:00;True|2026-01-29T14:41:38.0583611+08:00;True|2026-01-29T14:36:18.1975177+08:00;True|2026-01-29T14:34:43.7423264+08:00;True|2026-01-29T14:09:16.2701844+08:00;True|2026-01-29T13:17:37.0708838+08:00;True|2026-01-29T10:21:51.3074443+08:00;False|2026-01-29T10:20:12.1418198+08:00;True|2026-01-28T13:52:59.2210650+08:00;True|2026-01-28T10:34:06.8152564+08:00;False|2026-01-28T10:32:51.4478083+08:00;True|2026-01-27T12:19:58.2090999+08:00;True|2026-01-27T12:18:40.9255150+08:00;True|2026-01-27T12:10:45.0784359+08:00;True|2026-01-27T11:45:58.2218602+08:00;True|2026-01-27T08:54:11.2473398+08:00;False|2026-01-27T08:50:52.3900508+08:00;True|2026-01-25T16:51:10.8469862+08:00;True|2026-01-25T16:15:55.3063785+08:00;False|2026-01-25T16:13:47.1609576+08:00;False|2026-01-25T16:10:27.3797138+08:00;True|2026-01-22T19:26:11.1120981+08:00;False|2026-01-22T19:21:59.7591077+08:00;True|2026-01-21T20:10:38.2264542+08:00;True|2026-01-21T20:05:52.6769930+08:00;False|2026-01-21T20:04:52.2864808+08:00;True|2026-01-20T10:09:22.6558754+08:00;True|2026-01-20T09:43:16.9535139+08:00;False|2026-01-20T09:40:14.5080297+08:00;True|2026-01-19T17:23:36.9963060+08:00;True|2026-01-19T17:18:41.7602029+08:00;True|2026-01-19T17:05:35.1663057+08:00;True|2026-01-19T16:49:48.9497194+08:00;True|2026-01-19T12:35:09.4063486+08:00;False|2026-01-19T12:33:25.3260660+08:00;True|2026-01-17T20:21:42.3497625+08:00;True|2026-01-17T20:17:40.8631870+08:00;True|2026-01-17T20:13:16.6618986+08:00;False|2026-01-17T20:10:39.7099356+08:00;False|2026-01-17T20:10:01.5198461+08:00;False|2026-01-17T20:09:07.5632818+08:00;True|2026-01-17T20:06:07.7085249+08:00;True|2026-01-17T17:50:38.6295526+08:00;False|2026-01-17T17:48:59.9531552+08:00;True|2026-01-16T16:22:22.3525933+08:00;True|2026-01-16T14:14:39.4187185+08:00;False|2026-01-16T14:10:47.6350779+08:00;True|2026-01-15T17:33:04.8867687+08:00;True|2026-01-15T17:13:07.4827420+08:00;False|2026-01-15T17:11:32.8298249+08:00;True|2026-01-15T16:34:04.8984638+08:00;True|2026-01-15T14:12:39.3677563+08:00;False|2026-01-15T14:10:25.0842475+08:00;True|2026-01-14T19:47:01.2486856+08:00;False|2026-01-14T19:46:15.5380497+08:00;True|2026-01-14T15:49:22.6528911+08:00;True|2026-01-14T10:24:06.5942562+08:00;False|2026-01-14T10:22:32.4884475+08:00;False|2026-01-12T09:27:01.9297704+08:00;True|2026-01-11T14:27:58.9407325+08:00;False|2026-01-11T14:26:47.1324504+08:00;True|2026-01-11T13:54:38.7697615+08:00;True|2026-01-11T12:39:56.1396008+08:00;False|2026-01-11T12:37:59.5059421+08:00;True|2026-01-09T15:34:00.7959753+08:00;False|2026-01-09T15:32:33.3223847+08:00;True|2026-01-09T10:27:04.4418230+08:00;False|2026-01-09T10:24:55.6104648+08:00;True|2026-01-08T18:05:09.8950096+08:00;False|2026-01-08T18:03:49.6828377+08:00;True|2026-01-08T15:53:31.8458993+08:00;True|2026-01-08T15:43:35.4452984+08:00;True|2026-01-08T15:16:09.2797564+08:00;True|2026-01-08T15:09:12.1761272+08:00;False|2026-01-08T15:08:31.8053125+08:00;True|2026-01-08T12:28:32.3839432+08:00;False|2026-01-08T12:28:06.4930402+08:00;False|2026-01-06T13:05:41.4537127+08:00;True|2026-01-04T11:27:03.6003486+08:00;True|2026-01-04T11:16:09.0856233+08:00;True|2026-01-04T11:09:33.9721372+08:00;True|2026-01-04T10:59:57.5111892+08:00;False|2026-01-04T10:57:57.5312203+08:00;True|2025-12-30T14:23:14.0889784+08:00;True|2025-12-29T09:12:05.7081903+08:00;False|2025-12-29T09:11:27.9082848+08:00;True|2025-07-01T16:53:57.8492332+08:00;True|2025-07-01T16:14:28.8419744+08:00;True|2025-07-01T15:15:43.3121091+08:00;True|2025-07-01T14:48:00.3454856+08:00;True|2025-07-01T09:17:46.2541717+08:00;False|2025-07-01T09:17:07.0648196+08:00;True|2025-06-23T14:30:28.6691264+08:00;False|2025-06-23T14:27:45.6002040+08:00;True|2025-06-23T11:02:08.3020700+08:00;True|2025-06-23T10:47:44.4654541+08:00;True|2025-06-23T09:46:24.9049910+08:00;False|2025-06-23T09:45:40.5195919+08:00;True|2025-06-20T14:33:10.9210583+08:00;True|2025-06-20T13:22:54.5321865+08:00;False|2025-06-20T13:21:30.8643897+08:00;True|2025-06-20T08:36:32.6695266+08:00;False|2025-06-20T08:35:57.8274069+08:00;True|2025-06-19T08:14:35.0623669+08:00;False|2025-06-19T08:12:57.2451557+08:00;True|2025-06-18T16:56:03.4555368+08:00;True|2025-06-18T16:42:43.2441845+08:00;False|2025-06-18T16:42:02.6907205+08:00;True|2025-06-16T16:13:03.2956026+08:00;False|2025-06-16T16:12:23.8438917+08:00;True|2025-06-16T15:21:32.7370852+08:00;True|2025-06-16T15:08:57.7166003+08:00;True|2025-06-16T14:02:18.4224630+08:00;True|2025-06-16T11:00:03.6375429+08:00;False|2025-06-16T10:59:26.0956296+08:00;True|2025-06-09T16:45:52.0865612+08:00;True|2025-06-09T16:38:47.2182194+08:00;True|2025-06-09T16:17:50.9170601+08:00;False|2025-06-09T16:17:43.0333396+08:00;True|2025-06-09T15:25:17.0429161+08:00;True|2025-06-09T15:00:15.0058791+08:00;True|2025-06-09T14:50:02.1370115+08:00;True|2025-06-09T14:38:10.9037045+08:00;True|2025-06-09T14:34:53.2826267+08:00;True|2025-06-09T14:07:24.5341951+08:00;True|2025-06-09T13:39:17.5042542+08:00;True|2025-06-09T09:30:31.8197114+08:00;True|2025-01-10T13:10:47.2046185+08:00;True|2025-01-10T11:11:49.4016910+08:00;True|2025-01-10T10:59:12.3481721+08:00;False|2025-01-10T10:58:24.5033898+08:00;True|2025-01-04T14:35:42.2792864+08:00;</History>
  </PropertyGroup>
  <ItemGroup>
    <File Include="apiapp.json">
      <publishTime>04/06/2023 15:57:02</publishTime>
      <publishTime>05/23/2025 10:00:25</publishTime>
    </File>
    <File Include="bin/AlibabaCloud.EndpointUtil.dll">
      <publishTime>04/07/2020 16:33:48</publishTime>
@@ -45,40 +45,40 @@
      <publishTime>02/22/2013 16:43:40</publishTime>
    </File>
    <File Include="bin/BLL.dll">
      <publishTime>04/08/2026 09:54:35</publishTime>
      <publishTime>05/06/2026 09:18:18</publishTime>
    </File>
    <File Include="bin/BLL.pdb">
      <publishTime>04/08/2026 09:54:35</publishTime>
      <publishTime>05/06/2026 09:18:18</publishTime>
    </File>
    <File Include="bin/BouncyCastle.Crypto.dll">
      <publishTime>12/18/2020 05:32:28</publishTime>
    </File>
    <File Include="bin/DAL.dll">
      <publishTime>04/08/2026 09:54:33</publishTime>
      <publishTime>05/06/2026 09:18:14</publishTime>
    </File>
    <File Include="bin/DAL.pdb">
      <publishTime>04/08/2026 09:54:33</publishTime>
      <publishTime>05/06/2026 09:18:14</publishTime>
    </File>
    <File Include="bin/Dapper.dll">
      <publishTime>07/22/2016 22:52:40</publishTime>
    </File>
    <File Include="bin/DBUtility.dll">
      <publishTime>04/08/2026 09:54:27</publishTime>
      <publishTime>05/06/2026 09:18:10</publishTime>
    </File>
    <File Include="bin/DBUtility.pdb">
      <publishTime>04/08/2026 09:54:27</publishTime>
      <publishTime>05/06/2026 09:18:10</publishTime>
    </File>
    <File Include="bin/Fleck.dll">
      <publishTime>04/22/2021 11:48:12</publishTime>
    </File>
    <File Include="bin/GetuiServerApiSDK.dll">
      <publishTime>01/27/2026 10:11:35</publishTime>
      <publishTime>01/19/2026 18:29:10</publishTime>
    </File>
    <File Include="bin/GetuiServerApiSDK.dll.config">
      <publishTime>01/27/2026 10:11:35</publishTime>
      <publishTime>01/19/2026 18:29:10</publishTime>
    </File>
    <File Include="bin/Google.ProtocolBuffers.dll">
      <publishTime>01/27/2026 10:11:35</publishTime>
      <publishTime>01/19/2026 18:29:10</publishTime>
    </File>
    <File Include="bin/Grpc.Core.Api.dll">
      <publishTime>03/22/2022 13:17:26</publishTime>
@@ -105,7 +105,7 @@
      <publishTime>05/09/2021 01:08:30</publishTime>
    </File>
    <File Include="bin/Kingdee.BOS.WebApi.Client.dll">
      <publishTime>04/06/2023 15:57:02</publishTime>
      <publishTime>05/23/2025 10:00:25</publishTime>
    </File>
    <File Include="bin/libgrpc_csharp_ext.x64.dylib">
      <publishTime>03/19/2022 07:38:44</publishTime>
@@ -150,13 +150,13 @@
      <publishTime>07/25/2012 19:48:56</publishTime>
    </File>
    <File Include="bin/Model.dll">
      <publishTime>04/08/2026 09:54:28</publishTime>
      <publishTime>05/06/2026 09:18:13</publishTime>
    </File>
    <File Include="bin/Model.pdb">
      <publishTime>04/08/2026 09:54:28</publishTime>
      <publishTime>05/06/2026 09:18:13</publishTime>
    </File>
    <File Include="bin/Models/ClsSc_MouldScrapOutBillMain.cs">
      <publishTime>04/06/2023 15:57:02</publishTime>
      <publishTime>05/23/2025 10:00:25</publishTime>
    </File>
    <File Include="bin/Newtonsoft.Json.dll">
      <publishTime>03/08/2023 15:09:56</publishTime>
@@ -189,34 +189,34 @@
      <publishTime>11/13/2012 20:19:34</publishTime>
    </File>
    <File Include="bin/Pub_Class.dll">
      <publishTime>04/08/2026 09:54:22</publishTime>
      <publishTime>05/06/2026 09:18:06</publishTime>
    </File>
    <File Include="bin/Pub_Class.pdb">
      <publishTime>04/08/2026 09:54:22</publishTime>
      <publishTime>05/06/2026 09:18:06</publishTime>
    </File>
    <File Include="bin/Pub_Control.dll">
      <publishTime>04/08/2026 09:54:24</publishTime>
      <publishTime>05/06/2026 09:18:08</publishTime>
    </File>
    <File Include="bin/Pub_Control.pdb">
      <publishTime>04/08/2026 09:54:24</publishTime>
      <publishTime>05/06/2026 09:18:08</publishTime>
    </File>
    <File Include="bin/RestSharp.dll">
      <publishTime>08/31/2012 06:22:50</publishTime>
    </File>
    <File Include="bin/SQLHelper.dll">
      <publishTime>04/08/2026 09:54:26</publishTime>
      <publishTime>05/06/2026 09:18:08</publishTime>
    </File>
    <File Include="bin/SQLHelper.pdb">
      <publishTime>04/08/2026 09:54:26</publishTime>
      <publishTime>05/06/2026 09:18:08</publishTime>
    </File>
    <File Include="bin/Swashbuckle.Core.dll">
      <publishTime>02/16/2015 01:57:08</publishTime>
    </File>
    <File Include="bin/SyntacticSugar.dll">
      <publishTime>04/08/2026 09:54:21</publishTime>
      <publishTime>04/30/2026 15:12:34</publishTime>
    </File>
    <File Include="bin/SyntacticSugar.pdb">
      <publishTime>04/08/2026 09:54:21</publishTime>
      <publishTime>04/30/2026 15:12:34</publishTime>
    </File>
    <File Include="bin/System.Buffers.dll">
      <publishTime>07/19/2017 18:01:28</publishTime>
@@ -297,7 +297,7 @@
      <publishTime>01/28/2015 12:03:16</publishTime>
    </File>
    <File Include="bin/System.Web.Http.WebHost.dll">
      <publishTime>04/06/2023 15:57:02</publishTime>
      <publishTime>05/23/2025 10:00:25</publishTime>
    </File>
    <File Include="bin/System.Web.Mvc.dll">
      <publishTime>01/28/2015 12:02:18</publishTime>
@@ -330,19 +330,19 @@
      <publishTime>05/09/2023 10:43:40</publishTime>
    </File>
    <File Include="bin/TopSdk.dll">
      <publishTime>04/08/2026 09:54:25</publishTime>
      <publishTime>04/30/2026 15:15:27</publishTime>
    </File>
    <File Include="bin/TopSdk.pdb">
      <publishTime>04/08/2026 09:54:25</publishTime>
      <publishTime>04/30/2026 15:15:34</publishTime>
    </File>
    <File Include="bin/WebActivatorEx.dll">
      <publishTime>11/24/2014 19:18:48</publishTime>
    </File>
    <File Include="bin/WebAPI.dll">
      <publishTime>04/08/2026 09:54:48</publishTime>
      <publishTime>05/06/2026 15:47:42</publishTime>
    </File>
    <File Include="bin/WebAPI.pdb">
      <publishTime>04/08/2026 09:54:48</publishTime>
      <publishTime>05/06/2026 15:47:42</publishTime>
    </File>
    <File Include="bin/WebAPI.XmlSerializers.dll">
      <publishTime>07/01/2025 16:53:56</publishTime>
@@ -372,61 +372,61 @@
      <publishTime>11/29/2018 21:26:30</publishTime>
    </File>
    <File Include="Config/kdapi.config">
      <publishTime>04/06/2023 15:57:01</publishTime>
      <publishTime>05/23/2025 10:00:25</publishTime>
    </File>
    <File Include="Content/bootstrap.css">
      <publishTime>04/06/2023 15:57:01</publishTime>
      <publishTime>05/23/2025 10:00:25</publishTime>
    </File>
    <File Include="Content/bootstrap.min.css">
      <publishTime>04/06/2023 15:57:01</publishTime>
      <publishTime>05/23/2025 10:00:25</publishTime>
    </File>
    <File Include="Content/Site.css">
      <publishTime>04/06/2023 15:57:01</publishTime>
      <publishTime>05/23/2025 10:00:25</publishTime>
    </File>
    <File Include="DLL/BLL.dll">
      <publishTime>04/06/2023 15:57:02</publishTime>
      <publishTime>05/23/2025 10:00:25</publishTime>
    </File>
    <File Include="DLL/DAL.dll">
      <publishTime>04/06/2023 15:57:02</publishTime>
      <publishTime>05/23/2025 10:00:25</publishTime>
    </File>
    <File Include="DLL/DBUtility.dll">
      <publishTime>04/06/2023 15:57:02</publishTime>
      <publishTime>05/23/2025 10:00:25</publishTime>
    </File>
    <File Include="DLL/Interop.grsvr6Lib.dll">
      <publishTime>01/04/2026 18:33:49</publishTime>
      <publishTime>12/16/2025 16:29:36</publishTime>
    </File>
    <File Include="DLL/Kingdee.BOS.WebApi.Client.dll">
      <publishTime>04/06/2023 15:57:02</publishTime>
      <publishTime>05/23/2025 10:00:25</publishTime>
    </File>
    <File Include="DLL/Model.dll">
      <publishTime>04/06/2023 15:57:02</publishTime>
      <publishTime>05/23/2025 10:00:25</publishTime>
    </File>
    <File Include="DLL/Newtonsoft.Json.Net35.dll">
      <publishTime>04/06/2023 15:57:02</publishTime>
      <publishTime>05/23/2025 10:00:25</publishTime>
    </File>
    <File Include="DLL/Pub_Class.dll">
      <publishTime>04/06/2023 15:57:02</publishTime>
      <publishTime>05/23/2025 10:00:25</publishTime>
    </File>
    <File Include="DLL/Pub_Control.dll">
      <publishTime>04/06/2023 15:57:02</publishTime>
      <publishTime>05/23/2025 10:00:25</publishTime>
    </File>
    <File Include="DLL/SQLHelper.dll">
      <publishTime>04/06/2023 15:57:02</publishTime>
      <publishTime>05/23/2025 10:00:25</publishTime>
    </File>
    <File Include="fonts/glyphicons-halflings-regular.eot">
      <publishTime>04/06/2023 15:57:02</publishTime>
      <publishTime>05/23/2025 10:00:25</publishTime>
    </File>
    <File Include="fonts/glyphicons-halflings-regular.svg">
      <publishTime>04/06/2023 15:57:02</publishTime>
      <publishTime>05/23/2025 10:00:25</publishTime>
    </File>
    <File Include="fonts/glyphicons-halflings-regular.ttf">
      <publishTime>04/06/2023 15:57:02</publishTime>
      <publishTime>05/23/2025 10:00:25</publishTime>
    </File>
    <File Include="fonts/glyphicons-halflings-regular.woff">
      <publishTime>04/06/2023 15:57:02</publishTime>
      <publishTime>05/23/2025 10:00:25</publishTime>
    </File>
    <File Include="Global.asax">
      <publishTime>04/06/2023 15:57:02</publishTime>
      <publishTime>05/23/2025 10:00:25</publishTime>
    </File>
    <File Include="grpc_csharp_ext.x64.dll">
      <publishTime>03/22/2022 13:17:22</publishTime>
@@ -435,7 +435,7 @@
      <publishTime>03/22/2022 13:17:22</publishTime>
    </File>
    <File Include="Index.html">
      <publishTime>04/06/2023 15:57:02</publishTime>
      <publishTime>05/23/2025 10:00:25</publishTime>
    </File>
    <File Include="libgrpc_csharp_ext.x64.dylib">
      <publishTime>03/19/2022 07:38:44</publishTime>
@@ -444,133 +444,139 @@
      <publishTime>03/19/2022 07:38:42</publishTime>
    </File>
    <File Include="libman.json">
      <publishTime>07/12/2023 08:14:21</publishTime>
      <publishTime>05/23/2025 10:00:25</publishTime>
    </File>
    <File Include="Metadata/deploymentTemplates/apiappconfig.azureresource.json">
      <publishTime>04/06/2023 15:57:02</publishTime>
      <publishTime>05/23/2025 10:00:25</publishTime>
    </File>
    <File Include="packages.config">
      <publishTime>03/24/2026 21:43:36</publishTime>
      <publishTime>03/25/2026 10:40:27</publishTime>
    </File>
    <File Include="Properties/PublishProfiles/JFAPI.pubxml.user">
      <publishTime>12/08/2025 16:05:47</publishTime>
      <publishTime>12/10/2025 17:08:59</publishTime>
    </File>
    <File Include="Scripts/jquery.signalR-2.2.2.js">
      <publishTime>03/02/2026 10:25:32</publishTime>
      <publishTime>01/28/2026 14:08:07</publishTime>
    </File>
    <File Include="Scripts/jquery.signalR-2.2.2.min.js">
      <publishTime>03/02/2026 10:25:32</publishTime>
      <publishTime>01/28/2026 14:08:07</publishTime>
    </File>
    <File Include="Template/barCodeTemplateStorage.json">
      <publishTime>09/01/2025 08:23:20</publishTime>
      <publishTime>09/05/2025 16:16:48</publishTime>
    </File>
    <File Include="Utility/Barcode.ashx">
      <publishTime>01/04/2026 18:33:49</publishTime>
      <publishTime>12/16/2025 16:29:36</publishTime>
    </File>
    <File Include="Views/Scripts/bootstrap.js">
      <publishTime>04/06/2023 15:57:02</publishTime>
      <publishTime>05/23/2025 10:00:25</publishTime>
    </File>
    <File Include="Views/Scripts/bootstrap.min.js">
      <publishTime>04/06/2023 15:57:02</publishTime>
      <publishTime>05/23/2025 10:00:25</publishTime>
    </File>
    <File Include="Views/Scripts/jquery-1.10.2.js">
      <publishTime>04/06/2023 15:57:02</publishTime>
      <publishTime>05/23/2025 10:00:25</publishTime>
    </File>
    <File Include="Views/Scripts/jquery-1.10.2.min.js">
      <publishTime>04/06/2023 15:57:02</publishTime>
      <publishTime>05/23/2025 10:00:25</publishTime>
    </File>
    <File Include="Views/Scripts/jquery-1.10.2.min.map">
      <publishTime>04/06/2023 15:57:02</publishTime>
      <publishTime>05/23/2025 10:00:25</publishTime>
    </File>
    <File Include="Views/Scripts/jquery.validate.js">
      <publishTime>04/06/2023 15:57:02</publishTime>
      <publishTime>05/23/2025 10:00:25</publishTime>
    </File>
    <File Include="Views/Scripts/jquery.validate.min.js">
      <publishTime>04/06/2023 15:57:02</publishTime>
      <publishTime>05/23/2025 10:00:25</publishTime>
    </File>
    <File Include="Views/Scripts/jquery.validate.unobtrusive.js">
      <publishTime>04/06/2023 15:57:02</publishTime>
      <publishTime>05/23/2025 10:00:25</publishTime>
    </File>
    <File Include="Views/Scripts/jquery.validate.unobtrusive.min.js">
      <publishTime>04/06/2023 15:57:02</publishTime>
      <publishTime>05/23/2025 10:00:25</publishTime>
    </File>
    <File Include="Views/Scripts/modernizr-2.6.2.js">
      <publishTime>04/06/2023 15:57:02</publishTime>
      <publishTime>05/23/2025 10:00:25</publishTime>
    </File>
    <File Include="Views/Shared/Error.cshtml">
      <publishTime>04/06/2023 15:57:02</publishTime>
      <publishTime>05/23/2025 10:00:25</publishTime>
    </File>
    <File Include="Views/Shared/_Layout.cshtml">
      <publishTime>04/06/2023 15:57:02</publishTime>
      <publishTime>05/23/2025 10:00:25</publishTime>
    </File>
    <File Include="Views/web.config">
      <publishTime>04/06/2023 15:57:02</publishTime>
      <publishTime>05/23/2025 10:00:25</publishTime>
    </File>
    <File Include="Views/_ViewStart.cshtml">
      <publishTime>04/06/2023 15:57:02</publishTime>
      <publishTime>05/23/2025 10:00:25</publishTime>
    </File>
    <File Include="Web References/WebS/ClsCLD_Customer_Model.datasource">
      <publishTime>04/06/2023 15:57:02</publishTime>
      <publishTime>08/21/2025 15:39:36</publishTime>
    </File>
    <File Include="Web References/WebS/ClsCLD_Department_Model.datasource">
      <publishTime>04/06/2023 15:57:02</publishTime>
      <publishTime>08/21/2025 15:39:36</publishTime>
    </File>
    <File Include="Web References/WebS/ClsCLD_Employee_Model.datasource">
      <publishTime>04/06/2023 15:57:02</publishTime>
      <publishTime>08/21/2025 15:39:37</publishTime>
    </File>
    <File Include="Web References/WebS/ClsCLD_StockPlace_Model.datasource">
      <publishTime>04/06/2023 15:57:02</publishTime>
      <publishTime>08/21/2025 15:39:36</publishTime>
    </File>
    <File Include="Web References/WebS/ClsCLD_Supplier_Model.datasource">
      <publishTime>04/06/2023 15:57:02</publishTime>
      <publishTime>08/21/2025 15:39:36</publishTime>
    </File>
    <File Include="Web References/WebS/ClsCLD_Warehouse_Model.datasource">
      <publishTime>04/06/2023 15:57:02</publishTime>
      <publishTime>08/21/2025 15:39:36</publishTime>
    </File>
    <File Include="Web References/WebS/ClsGy_BadReason_Model.datasource">
      <publishTime>04/06/2023 15:57:02</publishTime>
      <publishTime>08/21/2025 15:39:37</publishTime>
    </File>
    <File Include="Web References/WebS/ClsGy_BarCodeBill_WMS_Model.datasource">
      <publishTime>04/06/2023 15:57:02</publishTime>
      <publishTime>08/21/2025 15:39:37</publishTime>
    </File>
    <File Include="Web References/WebS/ClsGy_BarCodeBill_WMS_Model_View.datasource">
      <publishTime>04/06/2023 15:57:02</publishTime>
      <publishTime>08/21/2025 15:39:37</publishTime>
    </File>
    <File Include="Web References/WebS/ClsGy_Customer_Model.datasource">
      <publishTime>04/06/2023 15:57:02</publishTime>
      <publishTime>08/21/2025 15:39:37</publishTime>
    </File>
    <File Include="Web References/WebS/ClsGy_Department_Model.datasource">
      <publishTime>04/06/2023 15:57:02</publishTime>
      <publishTime>08/21/2025 15:39:37</publishTime>
    </File>
    <File Include="Web References/WebS/ClsGy_Employee_Model.datasource">
      <publishTime>04/06/2023 15:57:02</publishTime>
      <publishTime>08/21/2025 15:39:37</publishTime>
    </File>
    <File Include="Web References/WebS/ClsGy_Group_Model.datasource">
      <publishTime>04/06/2023 15:57:02</publishTime>
      <publishTime>08/21/2025 15:39:37</publishTime>
    </File>
    <File Include="Web References/WebS/ClsGy_Item30JiTai_Model.datasource">
      <publishTime>04/06/2023 15:57:02</publishTime>
      <publishTime>08/21/2025 15:39:37</publishTime>
    </File>
    <File Include="Web References/WebS/ClsGy_Source_Model.datasource">
      <publishTime>04/06/2023 15:57:02</publishTime>
      <publishTime>08/21/2025 15:39:37</publishTime>
    </File>
    <File Include="Web References/WebS/ClsGy_StockPlace_Model.datasource">
      <publishTime>04/06/2023 15:57:02</publishTime>
      <publishTime>08/21/2025 15:39:37</publishTime>
    </File>
    <File Include="Web References/WebS/ClsGy_Supplier_Model.datasource">
      <publishTime>04/06/2023 15:57:02</publishTime>
      <publishTime>08/21/2025 15:39:37</publishTime>
    </File>
    <File Include="Web References/WebS/ClsGy_Warehouse_Model.datasource">
      <publishTime>04/06/2023 15:57:02</publishTime>
      <publishTime>08/21/2025 15:39:37</publishTime>
    </File>
    <File Include="Web References/WebS/ClsKf_ICStockBill_Mould.datasource">
      <publishTime>04/06/2023 15:57:02</publishTime>
      <publishTime>08/21/2025 15:39:36</publishTime>
    </File>
    <File Include="Web References/WebS/ClsKf_ICStockBill_WMS.datasource">
      <publishTime>04/06/2023 15:57:02</publishTime>
      <publishTime>08/21/2025 15:39:37</publishTime>
    </File>
    <File Include="Web.config">
      <publishTime>04/08/2026 09:55:08</publishTime>
      <publishTime>05/06/2026 09:18:31</publishTime>
    </File>
    <File Include="ZPLTemplate/物料条码 100×60.zpl">
      <publishTime>04/30/2026 15:08:32</publishTime>
    </File>
    <File Include="ZPLTemplate/物料条码 80×60.zpl">
      <publishTime>04/30/2026 15:08:32</publishTime>
    </File>
  </ItemGroup>
</Project>
WebAPI/WebAPI.csproj
@@ -47,6 +47,9 @@
    <Prefer32Bit>false</Prefer32Bit>
  </PropertyGroup>
  <ItemGroup>
    <Reference Include="Alex.Kingdee.Cloud.WebAPI.Client, Version=2.5.0.0, Culture=neutral, processorArchitecture=MSIL">
      <HintPath>..\packages\Alex.Kingdee.Cloud.WebAPI.Client.2.5.0\lib\net45\Alex.Kingdee.Cloud.WebAPI.Client.dll</HintPath>
    </Reference>
    <Reference Include="AlibabaCloud.EndpointUtil, Version=0.1.1.0, Culture=neutral, processorArchitecture=MSIL">
      <HintPath>..\packages\AlibabaCloud.EndpointUtil.0.1.1\lib\net45\AlibabaCloud.EndpointUtil.dll</HintPath>
    </Reference>
WebAPI/WebAPI.csproj.user
@@ -15,7 +15,6 @@
    <NameOfLastUsedPublishProfile>D:\gz\MES-WEB-API\MES-WEB-API\WebAPI\Properties\PublishProfiles\FolderProfile8.pubxml</NameOfLastUsedPublishProfile>
    <NameOfLastUsedPublishProfile>D:\WorkBench\MES-WEB-API\WebAPI\Properties\PublishProfiles\FolderProfile4.pubxml</NameOfLastUsedPublishProfile>
    <ProjectView>ShowAllFiles</ProjectView>
    <NameOfLastUsedPublishProfile>C:\Users\19858\Desktop\智云迈思\MES-WEB-API\WebAPI\Properties\PublishProfiles\WTTFolder.pubxml</NameOfLastUsedPublishProfile>
    <NameOfLastUsedPublishProfile>D:\网站发布\后端代码\MES-WEB-API\MES-WEB-API\WebAPI\Properties\PublishProfiles\FolderProfile2.pubxml</NameOfLastUsedPublishProfile>
    <NameOfLastUsedPublishProfile>D:\网站发布\后端代码\MES-WEB-API\MES-WEB-API\WebAPI\Properties\PublishProfiles\FolderProfile4.pubxml</NameOfLastUsedPublishProfile>
    <NameOfLastUsedPublishProfile>D:\WorkBench\MES-WEB-API\WebAPI\Properties\PublishProfiles\CHZFolderProfile.pubxml</NameOfLastUsedPublishProfile>
WebAPI/packages.config
@@ -1,5 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
  <package id="Alex.Kingdee.Cloud.WebAPI.Client" version="2.5.0" targetFramework="net45" />
  <package id="AlibabaCloud.EndpointUtil" version="0.1.1" targetFramework="net45" />
  <package id="AlibabaCloud.GatewayDingTalk" version="1.0.2" targetFramework="net45" />
  <package id="AlibabaCloud.GatewaySpi" version="0.0.3" targetFramework="net45" />
sdk_dingding/TopSdk/bin/Debug/TopSdk.dll
Binary files differ
sdk_dingding/TopSdk/bin/Debug/TopSdk.pdb
Binary files differ
sdk_dingding/TopSdk/bin/Release/TopSdk.dll
Binary files differ
sdk_dingding/TopSdk/bin/Release/TopSdk.pdb
Binary files differ
sdk_dingding/TopSdk/obj/Debug/TopSdk.csproj.AssemblyReference.cache
Binary files differ
sdk_dingding/TopSdk/obj/Debug/TopSdk.dll
Binary files differ
sdk_dingding/TopSdk/obj/Debug/TopSdk.pdb
Binary files differ
sdk_dingding/TopSdk/obj/Release/TopSdk.csproj.AssemblyReference.cache
Binary files differ
sdk_dingding/TopSdk/obj/Release/TopSdk.csproj.CoreCompileInputs.cache
New file
@@ -0,0 +1 @@
eb64bc61f5da8fdd8ad56e04c391e3a377d8ca59
sdk_dingding/TopSdk/obj/Release/TopSdk.dll
Binary files differ
sdk_dingding/TopSdk/obj/Release/TopSdk.pdb
Binary files differ