1
duhe
2026-03-24 b15af4aa6184a88b8cb1fe34c45c633224b9f3a0
1
34个文件已修改
2个文件已添加
2个文件已删除
909 ■■■■ 已修改文件
APSM/app.config 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DAL/基础资料/公用基础资料/ClsGy_Car_Ctl_2.cs 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DBUtility/obj/Release/DBUtility.Gy_UserSelect.resources 补丁 | 查看 | 原始文档 | blame | 历史
DBUtility/obj/Release/DBUtility.Xt_BillType.resources 补丁 | 查看 | 原始文档 | blame | 历史
DBUtility/obj/Release/DBUtility.Xt_CheckFlow.resources 补丁 | 查看 | 原始文档 | blame | 历史
DBUtility/obj/Release/DBUtility.Xt_CheckFlowList.resources 补丁 | 查看 | 原始文档 | blame | 历史
DBUtility/obj/Release/DBUtility.Xt_CheckItem.resources 补丁 | 查看 | 原始文档 | blame | 历史
DBUtility/obj/Release/DBUtility.Xt_CheckUserRight.resources 补丁 | 查看 | 原始文档 | blame | 历史
DBUtility/obj/Release/DBUtility.csproj.GenerateResource.Cache 补丁 | 查看 | 原始文档 | blame | 历史
DBUtility/obj/Release/DBUtility.csproj.ResolveComReference.cache 补丁 | 查看 | 原始文档 | blame | 历史
Kanban/app.config 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LMES/app.config 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MES/app.config 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Model/质检管理/ClsQC_PatrolProcCheckBillMain.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
NETERPNoWin/app.config 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
NETERPNoWin/obj/x86/Debug/NETERPNoWin.csproj.FileListAbsolute.txt 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Pub_Class/CustomerCls/ClsXt_SystemParameter.cs 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Pub_Class/CustomerCls/ClsXt_SystemParameterMain.cs 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
SelM/app.config 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
SyntacticSugar/obj/Debug/SyntacticSugar.csproj.CoreCompileInputs.cache 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
SyntacticSugar/obj/Debug/SyntacticSugar.csproj.FileListAbsolute.txt 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WarM/app.config 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WarM/条码打印/Gy_BarCodeBill_Rework.cs 25 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Controllers/CJGL/Cj_StationEntrustInBillController.cs 24 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Controllers/CJGL/Cj_StationEntrustOutBillController.cs 103 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Controllers/CJGL/Cj_StationOutBillController.cs 151 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Controllers/基础资料/基础资料/Gy_CarController.cs 146 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/DLL/ClsQC_PatrolProcCheckBill.cs 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Properties/PublishProfiles/FolderProfile4.pubxml.user 138 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Properties/PublishProfiles/WTTFolder.pubxml.user 44 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Service/JwtAuthorizeAttribute.cs 76 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Utility/JWTHelper.cs 79 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Web.config 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/WebAPI.csproj 16 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/packages.config 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WorkM/app.config 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
sdk_dingding/TopSdk/obj/Debug/TopSdk.csproj.CoreCompileInputs.cache 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
sdk_dingding/TopSdk/obj/Debug/TopSdk.csproj.FileListAbsolute.txt 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
APSM/app.config
@@ -30,6 +30,10 @@
        <assemblyIdentity name="System.Web.Cors" publicKeyToken="31bf3856ad364e35" culture="neutral" />
        <bindingRedirect oldVersion="0.0.0.0-5.2.7.0" newVersion="5.2.7.0" />
      </dependentAssembly>
      <dependentAssembly>
        <assemblyIdentity name="System.IdentityModel.Tokens.Jwt" publicKeyToken="31bf3856ad364e35" culture="neutral" />
        <bindingRedirect oldVersion="0.0.0.0-5.7.0.0" newVersion="5.7.0.0" />
      </dependentAssembly>
    </assemblyBinding>
  </runtime>
</configuration>
DAL/»ù´¡×ÊÁÏ/¹«Óûù´¡×ÊÁÏ/ClsGy_Car_Ctl_2.cs
@@ -91,6 +91,31 @@
                throw (e);
            }
        }
        //显示单据
        public bool ShowBill(Int64 lngBillKey, ref string sReturn)
        {
            try
            {
                //查询主表
                DataSet Ds;
                Ds = oCn.RunProcReturn("Select * from Gy_Car Where HItemID=" + lngBillKey.ToString(), "Gy_Car");
                if (Ds.Tables[0].Rows.Count == 0)
                {
                    sReturn = "单据未找到!";
                    return false;
                }
                sReturn = "显示单据成功!";
                return true;
            }
            catch (Exception e)
            {
                sReturn = e.Message;
                throw (e);
            }
        }
        //根据代码判断信息
        public override bool HavParentCode(string sCode, Int64 sItemID)
        {
DBUtility/obj/Release/DBUtility.Gy_UserSelect.resources
Binary files differ
DBUtility/obj/Release/DBUtility.Xt_BillType.resources
Binary files differ
DBUtility/obj/Release/DBUtility.Xt_CheckFlow.resources
Binary files differ
DBUtility/obj/Release/DBUtility.Xt_CheckFlowList.resources
Binary files differ
DBUtility/obj/Release/DBUtility.Xt_CheckItem.resources
Binary files differ
DBUtility/obj/Release/DBUtility.Xt_CheckUserRight.resources
Binary files differ
DBUtility/obj/Release/DBUtility.csproj.GenerateResource.Cache
Binary files differ
DBUtility/obj/Release/DBUtility.csproj.ResolveComReference.cache
Binary files differ
Kanban/app.config
@@ -30,6 +30,10 @@
        <assemblyIdentity name="System.Web.Cors" publicKeyToken="31bf3856ad364e35" culture="neutral" />
        <bindingRedirect oldVersion="0.0.0.0-5.2.7.0" newVersion="5.2.7.0" />
      </dependentAssembly>
      <dependentAssembly>
        <assemblyIdentity name="System.IdentityModel.Tokens.Jwt" publicKeyToken="31bf3856ad364e35" culture="neutral" />
        <bindingRedirect oldVersion="0.0.0.0-5.7.0.0" newVersion="5.7.0.0" />
      </dependentAssembly>
    </assemblyBinding>
  </runtime>
</configuration>
LMES/app.config
@@ -31,6 +31,10 @@
        <assemblyIdentity name="System.Web.Cors" publicKeyToken="31bf3856ad364e35" culture="neutral" />
        <bindingRedirect oldVersion="0.0.0.0-5.2.7.0" newVersion="5.2.7.0" />
      </dependentAssembly>
      <dependentAssembly>
        <assemblyIdentity name="System.IdentityModel.Tokens.Jwt" publicKeyToken="31bf3856ad364e35" culture="neutral" />
        <bindingRedirect oldVersion="0.0.0.0-5.7.0.0" newVersion="5.7.0.0" />
      </dependentAssembly>
    </assemblyBinding>
  </runtime>
</configuration>
MES/app.config
@@ -27,6 +27,10 @@
        <assemblyIdentity name="System.Web.Cors" publicKeyToken="31bf3856ad364e35" culture="neutral" />
        <bindingRedirect oldVersion="0.0.0.0-5.2.7.0" newVersion="5.2.7.0" />
      </dependentAssembly>
      <dependentAssembly>
        <assemblyIdentity name="System.IdentityModel.Tokens.Jwt" publicKeyToken="31bf3856ad364e35" culture="neutral" />
        <bindingRedirect oldVersion="0.0.0.0-5.7.0.0" newVersion="5.7.0.0" />
      </dependentAssembly>
    </assemblyBinding>
  </runtime>
</configuration>
Model/Öʼì¹ÜÀí/ClsQC_PatrolProcCheckBillMain.cs
@@ -25,5 +25,6 @@
        public Int64 HShiftsID;
        public string HErrTreatment;
        public Int64 HQCSchemeID;
        public Int64 HPrdQty;
    }
}
NETERPNoWin/app.config
@@ -31,6 +31,10 @@
        <assemblyIdentity name="System.Web.Cors" publicKeyToken="31bf3856ad364e35" culture="neutral" />
        <bindingRedirect oldVersion="0.0.0.0-5.2.7.0" newVersion="5.2.7.0" />
      </dependentAssembly>
      <dependentAssembly>
        <assemblyIdentity name="System.IdentityModel.Tokens.Jwt" publicKeyToken="31bf3856ad364e35" culture="neutral" />
        <bindingRedirect oldVersion="0.0.0.0-5.7.0.0" newVersion="5.7.0.0" />
      </dependentAssembly>
    </assemblyBinding>
  </runtime>
</configuration>
NETERPNoWin/obj/x86/Debug/NETERPNoWin.csproj.FileListAbsolute.txt
@@ -274,19 +274,6 @@
C:\Users\86130\Desktop\智云迈思\MES-WEB-API\NETERPNoWin\obj\x86\Debug\NETERPNoWin.pdb
C:\Users\86130\Desktop\智云迈思\MES-WEB-API\NETERPNoWin\bin\x86\Debug\M2Mqtt.Net.dll
C:\Users\86130\Desktop\智云迈思\MES-WEB-API\NETERPNoWin\bin\x86\Debug\M2Mqtt.Net.pdb
D:\WorkBench\MES-WEB-API\NETERPNoWin\obj\x86\Debug\NETERPNoWin.csproj.AssemblyReference.cache
D:\WorkBench\MES-WEB-API\NETERPNoWin\obj\x86\Debug\Interop.gregn6Lib.dll
D:\WorkBench\MES-WEB-API\NETERPNoWin\obj\x86\Debug\NETERPNoWin.csproj.ResolveComReference.cache
D:\WorkBench\MES-WEB-API\NETERPNoWin\obj\x86\Debug\NETERPNoWin.Form1.resources
D:\WorkBench\MES-WEB-API\NETERPNoWin\obj\x86\Debug\NETERPNoWin.Frm_MESSetIni.resources
D:\WorkBench\MES-WEB-API\NETERPNoWin\obj\x86\Debug\NETERPNoWin.OA_MessageBox.resources
D:\WorkBench\MES-WEB-API\NETERPNoWin\obj\x86\Debug\NETERPNoWin.Frm_Show.resources
D:\WorkBench\MES-WEB-API\NETERPNoWin\obj\x86\Debug\NETERPNoWin.MDIMain.resources
D:\WorkBench\MES-WEB-API\NETERPNoWin\obj\x86\Debug\NETERPNoWin.Properties.Resources.resources
D:\WorkBench\MES-WEB-API\NETERPNoWin\obj\x86\Debug\NETERPNoWin.Xt_Wait.resources
D:\WorkBench\MES-WEB-API\NETERPNoWin\obj\x86\Debug\NETERPNoWin.MESMain.resources
D:\WorkBench\MES-WEB-API\NETERPNoWin\obj\x86\Debug\NETERPNoWin.csproj.GenerateResource.cache
D:\WorkBench\MES-WEB-API\NETERPNoWin\obj\x86\Debug\NETERPNoWin.csproj.CoreCompileInputs.cache
D:\WMES\MES-WEB-API\NETERPNoWin\bin\x86\Debug\grpc_csharp_ext.x86.dll
D:\WMES\MES-WEB-API\NETERPNoWin\bin\x86\Debug\grpc_csharp_ext.x64.dll
D:\WMES\MES-WEB-API\NETERPNoWin\bin\x86\Debug\libgrpc_csharp_ext.x64.so
Pub_Class/CustomerCls/ClsXt_SystemParameter.cs
@@ -2803,6 +2803,13 @@
                    {
                        omodel.QC_PatrolProcCheckOtherBill_FirstCheckCtl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
                    }
                    //=========返修条码
                    //生成物料条码时,机型码不允许为空
                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Gy_BarCodeBill_Rework_Ctrl")
                    {
                        omodel.Gy_BarCodeBill_Rework_Ctrl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
                    }
                }
                sReturn = "显示单据成功!";
                return true;
Pub_Class/CustomerCls/ClsXt_SystemParameterMain.cs
@@ -874,6 +874,9 @@
        // å·¡æ£€å• é¦–检控制
        public string QC_PatrolProcCheckOtherBill_FirstCheckCtl; // å·¡æ£€å• æ˜¯å¦å¯ç”¨ é¦–检控制
        //返修条码
        public string Gy_BarCodeBill_Rework_Ctrl;  //生成物料条码时,机型码不允许为空
    }
}
SelM/app.config
@@ -26,6 +26,10 @@
        <assemblyIdentity name="System.Web.Cors" publicKeyToken="31bf3856ad364e35" culture="neutral" />
        <bindingRedirect oldVersion="0.0.0.0-5.2.7.0" newVersion="5.2.7.0" />
      </dependentAssembly>
      <dependentAssembly>
        <assemblyIdentity name="System.IdentityModel.Tokens.Jwt" publicKeyToken="31bf3856ad364e35" culture="neutral" />
        <bindingRedirect oldVersion="0.0.0.0-5.7.0.0" newVersion="5.7.0.0" />
      </dependentAssembly>
    </assemblyBinding>
  </runtime>
</configuration>
SyntacticSugar/obj/Debug/SyntacticSugar.csproj.CoreCompileInputs.cache
File was deleted
SyntacticSugar/obj/Debug/SyntacticSugar.csproj.FileListAbsolute.txt
@@ -3,4 +3,7 @@
D:\网站发布\后端代码\MES-WEB-API\MES-WEB-API\SyntacticSugar\obj\Debug\SyntacticSugar.csproj.CoreCompileInputs.cache
D:\网站发布\后端代码\MES-WEB-API\MES-WEB-API\SyntacticSugar\obj\Debug\SyntacticSugar.dll
D:\网站发布\后端代码\MES-WEB-API\MES-WEB-API\SyntacticSugar\obj\Debug\SyntacticSugar.pdb
<<<<<<< HEAD
D:\网站发布\后端代码\MES-WEB-API\MES-WEB-API\SyntacticSugar\obj\Debug\SyntacticSugar.csproj.AssemblyReference.cache
=======
>>>>>>> f5522581d909185f7b84ef1495d5e44d0b0f4d75
WarM/app.config
@@ -33,6 +33,10 @@
        <assemblyIdentity name="System.Web.Cors" publicKeyToken="31bf3856ad364e35" culture="neutral" />
        <bindingRedirect oldVersion="0.0.0.0-5.2.7.0" newVersion="5.2.7.0" />
      </dependentAssembly>
      <dependentAssembly>
        <assemblyIdentity name="System.IdentityModel.Tokens.Jwt" publicKeyToken="31bf3856ad364e35" culture="neutral" />
        <bindingRedirect oldVersion="0.0.0.0-5.7.0.0" newVersion="5.7.0.0" />
      </dependentAssembly>
    </assemblyBinding>
  </runtime>
</configuration>
WarM/ÌõÂë´òÓ¡/Gy_BarCodeBill_Rework.cs
@@ -8,6 +8,7 @@
using gregn6Lib;
using Pub_Class;
using System.Threading;
using System.Linq;
namespace WarM
{
@@ -105,6 +106,7 @@
        public string UpdatePrintQtyCtl = "";   //条码打印次数更新
        public string sReturn = "";
        public string HExpiryDate = "";
        Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();
        #region å›ºå®šä»£ç 
@@ -595,15 +597,26 @@
                string HPinfan = "";            //品番
                DateTime HEndDate;              //计划完工日期
                for (int j = 0; j < grdMain.Rows.Count; j++)
                string Ret = "";
                if (oSystemParameter.ShowBill(ref Ret))
                {
                    if (ClsPub.isLong(grdMain.Rows[j].Cells[HMaterIDCol].Value) != 0 && grdMain.Rows[j].Cells[HSubjoin2Col].Value.ToString() == "")
                    //判断客户为龙山汽配
                    if (oSystemParameter.omodel.Gy_BarCodeBill_Rework_Ctrl != "")//生成物料条码时,机型码不允许为空,如若物料代码前缀不为G或L的,可跳过控制
                    {
                        MessageBox.Show("第" + (j+1) + "行,机型码未维护,不允许生成条码");
                        bc.Enabled = true;
                        return;
                        string[] HMaterNumberPrefix = oSystemParameter.omodel.Gy_BarCodeBill_Rework_Ctrl.Split(',');
                        for (int j = 0; j < grdMain.Rows.Count; j++)
                        {
                            char HMaterfirstChar = grdMain.Rows[j].Cells[HSubjoin2Col].Value.ToString()[0];
                            if (ClsPub.isLong(grdMain.Rows[j].Cells[HMaterIDCol].Value) != 0 && grdMain.Rows[j].Cells[HSubjoin2Col].Value.ToString() == "" && HMaterNumberPrefix.Contains(HMaterfirstChar.ToString()))
                            {
                                MessageBox.Show("第" + (j + 1) + "行,机型码未维护,不允许生成条码");
                                bc.Enabled = true;
                                return;
                            }
                        }
                    }
                }
                }
                oCn.BeginTran();
                Application.DoEvents();
WebAPI/Controllers/CJGL/Cj_StationEntrustInBillController.cs
@@ -2346,7 +2346,7 @@
                string sReturn = "";
                if (oSystemParameter.ShowBill(ref sReturn) == true)
                {
                    if (oSystemParameter.omodel.MES_StationEntrustInBill_SaveAutoAddnew == "Y") //系统参数  è‡ªåŠ¨å®¡æ ¸
                    if (oSystemParameter.omodel.MES_StationEntrustInBill_AutoCheck == "Y") //系统参数  è‡ªåŠ¨å®¡æ ¸
                    {
                        objJsonResult.Verify = "Y";
                    }
@@ -2689,9 +2689,11 @@
                oCN.RunProc(" Update Sc_StationInBillMain set HChecker='" + HChecker + "',HCheckDate='" + HCheckDate + "' Where HInterID=" + lngBillKey.ToString());
                oCN.RunProc("exec h_p_Mes_ProcessExchangeRelationQty_Check_In " + lngBillKey.ToString() + ",1");
                //同步金蝶云参数
                int HProcExchInterID = int.Parse(ds.Tables[0].Rows[0]["HProcExchInterID"].ToString());
                int HProcExchEntryID = int.Parse(ds.Tables[0].Rows[0]["HProcExchEntryID"].ToString());
                int HProcNo = int.Parse(ds.Tables[0].Rows[0]["HProcNo"].ToString());
                double HQty = double.Parse(ds.Tables[0].Rows[0]["HQty"].ToString());
                //审核后控制================================================================================
                string sql = "exec h_p_Sc_StationInBill_WW_AfterCheckCtrl " + lngBillKey + ",'" + HBillNo + "','" + CurUserName + "'";
                ds = oCN.RunProcReturn(sql, "h_p_Sc_StationInBill_WW_AfterCheckCtrl");
@@ -2707,6 +2709,20 @@
                    oCN.RollBack();
                    return false;
                }
                //获取系统参数
                oSystemParameter.ShowBill(ref sReturn);
                //判断客户为天擎 åŒæ­¥é‡‘蝶工序汇报单
                if (oSystemParameter.omodel.WMS_CampanyName == "天擎")
                {
                    if (!set_SaveStationEntrustInBill_CLD(HBillNo, HProcExchInterID, HProcExchEntryID, HProcNo, HQty, CurUserName, ref DBUtility.ClsPub.sErrInfo))
                    {
                        oCN.RollBack();
                        sReturn = sReturn + DBUtility.ClsPub.sErrInfo;
                        return false;
                    }
                }
                //================================================================================
                sReturn = sReturn + " å®¡æ ¸åŠŸèƒ½ï¼";
WebAPI/Controllers/CJGL/Cj_StationEntrustOutBillController.cs
@@ -1380,6 +1380,7 @@
        }
        #endregion
        //审核,带编辑功能
        [Route("Cj_StationEntrustOutBill/setOtherProperty")]
        [HttpPost]
        public object setOtherProperty([FromBody] JObject oMain)
@@ -1392,15 +1393,23 @@
                string msg2 = "[" + sArray[0].ToString() + "]";
                string user = sArray[1].ToString();
                ////判断是否有编辑权限
                //if (!DBUtility.ClsPub.Security_Log("MES_StationEntrustOutBill_Edit", 1, false, user))
                //{
                //    objJsonResult.code = "0";
                //    objJsonResult.count = 0;
                //    objJsonResult.Message = "无编辑权限!";
                //    objJsonResult.data = null;
                //    return objJsonResult;
                //}
                if (!DBUtility.ClsPub.Security_Log("MES_StationEntrustOutBill_Edit", 1, false, user))
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "无编辑权限!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                //审核权限
                if (!DBUtility.ClsPub.Security_Log("MES_StationEntrustOutBill_Check", 1, false, user))
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "审核失败!无权限!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                List<StationBill> list1 = Newtonsoft.Json.JsonConvert.DeserializeObject<List<StationBill>>(msg2);
                long HInterID = list1[0].HInterID;
                double HQty= list1[0].HQty;
@@ -1412,33 +1421,91 @@
                long HGroupID = list1[0].HGroupID;
                long HEmpID = list1[0].HEmpID;
                oCN.BeginTran();
                DataSet ds = oCN.RunProcReturn("select * from Sc_StationOutBillMain where HInterID="+ HInterID, "Sc_StationOutBillMain");
                if(ds.Tables.Count>0)
                if(ds.Tables.Count>0 && ds.Tables[0].Rows[0]["HChecker"].ToString()=="")
                {
                    if(HQty>0)
                    string HBillNo = ds.Tables[0].Rows[0]["HBillNo"].ToString();
                    int HProcExchInterID = int.Parse(ds.Tables[0].Rows[0]["HProcExchInterID"].ToString());
                    int HProcExchEntryID = int.Parse(ds.Tables[0].Rows[0]["HProcExchEntryID"].ToString());
                    int HProcNo = int.Parse(ds.Tables[0].Rows[0]["HProcNo"].ToString());
                    //审核前控制================================================================================
                    string sql = "exec h_p_StationEntrustOutBill_WW_BeforeCheckCtrl " + HInterID + ",'" + HBillNo + "','" + user + "'";
                    ds = oCN.RunProcReturn(sql, "h_p_StationEntrustOutBill_WW_BeforeCheckCtrl");
                    if (ds == null || ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0)
                    {
                        oCN.BeginTran();
                        oCN.RunProc($"update Sc_StationOutBillMain set HQty={HQty},HBadCount='{HBadCount}',HWasterQty='{HWasterQty}',HSourceID='{HSourceID}',HCenterID='{HCenterID}',HGroupID={HGroupID},HEmpID={HEmpID} where HInterID={HInterID} ");
                        oCN.Commit();
                        objJsonResult.code = "0";
                        objJsonResult.count = 1;
                        objJsonResult.Message = "审核失败!原因:审核前判断失败,请与网络管理人员联系";
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                    set_CheckBill(Convert.ToInt32(HInterID) , user);
                    if (ds.Tables[0].Rows[0]["HBack"].ToString() != "0")
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 1;
                        objJsonResult.Message = "审核失败!原因:" + ds.Tables[0].Rows[0]["HRemark"].ToString(); ;
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                    //================================================================================
                    if (HQty>0)
                    {
                        oCN.RunProc($"update Sc_StationOutBillMain set HBillStatus = 2,HQty={HQty},HBadCount='{HBadCount}',HWasterQty='{HWasterQty}',HSourceID='{HSourceID}',HCenterID='{HCenterID}',HGroupID={HGroupID},HEmpID={HEmpID},HChecker='{user}',HCheckDate=getdate() where HInterID={HInterID} ");
                    }
                    string sReturn = "";
                    //获取系统参数
                    oSystemParameter.ShowBill(ref sReturn);
                    //判断客户为天擎 åŒæ­¥é‡‘蝶工序汇报单
                    if (oSystemParameter.omodel.WMS_CampanyName == "天擎")
                    {
                        if (set_SaveStationEntrustOutBill_CLD(HBillNo, HProcExchInterID, HProcExchEntryID, HProcNo, HQty, user, ref DBUtility.ClsPub.sErrInfo))
                        {
                            oCN.Commit();
                            objJsonResult.code = "0";
                            objJsonResult.count = 1;
                            objJsonResult.Message = DBUtility.ClsPub.sErrInfo;  //成功!
                            objJsonResult.data = null;
                            return objJsonResult;
                        }
                        else
                        {
                            oCN.RollBack();
                            objJsonResult.code = "0";
                            objJsonResult.count = 0;
                            objJsonResult.Message = DBUtility.ClsPub.sErrInfo;  //失败!
                            objJsonResult.data = null;
                            return objJsonResult;
                        }
                    }
                    oCN.Commit();
                    objJsonResult.code = "1";
                    objJsonResult.count = 1;
                    objJsonResult.Message = "审核成功!";
                    objJsonResult.Message = "审核修改成功!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                else
                {
                    oCN.Commit();
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "单据不存在!";
                    objJsonResult.Message = "单据不存在或已审核!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
            }
            catch (Exception e)
            {
WebAPI/Controllers/CJGL/Cj_StationOutBillController.cs
@@ -4879,6 +4879,157 @@
        #endregion
        //审核,带编辑功能
        [Route("Cj_StationOutBill/setOtherProperty")]
        [HttpPost]
        public object setOtherProperty([FromBody] JObject oMain)
        {
            try
            {
                var _value = oMain["oMain"].ToString();
                string msg1 = _value.ToString();
                string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
                string msg2 = "[" + sArray[0].ToString() + "]";
                string user = sArray[1].ToString();
                ////判断是否有编辑权限
                if (!DBUtility.ClsPub.Security_Log("Cj_StationOutBill_Edit", 1, false, user))
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "无编辑权限!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                //审核权限
                if (!DBUtility.ClsPub.Security_Log("Cj_StationOutBill_Check", 1, false, user))
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "审核失败!无权限!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                List<StationBill> list1 = Newtonsoft.Json.JsonConvert.DeserializeObject<List<StationBill>>(msg2);
                long HInterID = list1[0].HInterID;
                double HQty = list1[0].HQty;
                double HBadCount = list1[0].HBadCount;
                double HWasterQty = list1[0].HWasterQty;
                long HSourceID = list1[0].HSourceID;
                string HSourceName = list1[0].HSourceName;
                long HCenterID = list1[0].HCenterID;
                long HGroupID = list1[0].HGroupID;
                long HEmpID = list1[0].HEmpID;
                oCN.BeginTran();
                DataSet ds = oCN.RunProcReturn("select * from Sc_StationOutBillMain where HInterID=" + HInterID, "Sc_StationOutBillMain");
                if (ds.Tables.Count > 0 && ds.Tables[0].Rows[0]["HChecker"].ToString() == "")
                {
                    string HBillNo = ds.Tables[0].Rows[0]["HBillNo"].ToString();
                    //审核前控制================================================================================
                    string sql = "exec h_p_Sc_StationOutBill_BeforeCheckCtrl " + HInterID + ",'" + HBillNo + "','" + user + "'";
                    ds = oCN.RunProcReturn(sql, "h_p_Sc_StationOutBill_BeforeCheckCtrl");
                    if (ds == null || ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0)
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 1;
                        objJsonResult.Message = "审核失败!原因:审核前判断失败,请与网络管理人员联系";
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                    if (ds.Tables[0].Rows[0]["HBack"].ToString() != "0")
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 1;
                        objJsonResult.Message = "审核失败!原因:" + ds.Tables[0].Rows[0]["HRemark"].ToString(); ;
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                    //================================================================================
                    if (HQty > 0)
                    {
                        oCN.RunProc($"update Sc_StationOutBillMain set HBillStatus = 2, HQty={HQty},HBadCount='{HBadCount}',HWasterQty='{HWasterQty}',HSourceID='{HSourceID}',HCenterID='{HCenterID}',HGroupID={HGroupID},HEmpID={HEmpID},HChecker='{user}',HCheckDate=getdate() where HInterID={HInterID} ");
                    }
                    string sReturn = "";
                    //获取系统参数
                    oSystemParameter.ShowBill(ref sReturn);
                    //判断客户为天擎 åŒæ­¥é‡‘蝶工序汇报单
                    if (oSystemParameter.omodel.WMS_CampanyName == "天擎")
                    {
                        //同步前控制=========================================
                        ds = oCN.RunProcReturn("Exec  h_p_Sc_StationOutBill_BeforeSyncCtrl  " + HInterID.ToString() + ", '" + HBillNo + "','" + user + "'", " h_p_Sc_StationOutBill_BeforeSyncCtrl ");
                        if (ds == null)
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 0;
                            objJsonResult.Message = "[0000-2-012]保存前判断失败!";
                            objJsonResult.data = null;
                            return objJsonResult;
                        }
                        if (DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBack"]) != "0")
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 0;
                            objJsonResult.Message = "[0000-1-051]同步失败!" + DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HRemark"]);
                            objJsonResult.data = null;
                            return objJsonResult;
                        }
                        //=========================================================
                        if (oWebs.set_SaveStationOutBill_CLD(HInterID, HBillNo, user, ref DBUtility.ClsPub.sErrInfo))
                        {
                            oCN.Commit();
                            objJsonResult.code = "1";
                            objJsonResult.count = 1;
                            objJsonResult.Message = "成功";
                            objJsonResult.data = null;
                            return objJsonResult;
                        }
                        else
                        {
                            oCN.RollBack();
                            objJsonResult.code = "0";
                            objJsonResult.count = 0;
                            objJsonResult.Message = DBUtility.ClsPub.sErrInfo;
                            objJsonResult.data = null;
                            return objJsonResult;
                        }
                    }
                    oCN.Commit();
                    objJsonResult.code = "1";
                    objJsonResult.count = 1;
                    objJsonResult.Message = "审核修改成功!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                else
                {
                    oCN.Commit();
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "单据不存在或已审核!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
            }
            catch (Exception e)
            {
                oCN.RollBack();
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "审核失败!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
    }
}
WebAPI/Controllers/»ù´¡×ÊÁÏ/»ù´¡×ÊÁÏ/Gy_CarController.cs
@@ -16,6 +16,7 @@
    public class Gy_CarController : ApiController
    {
        public DBUtility.ClsPub.Enum_BillStatus BillStatus;
        public DAL.ClsGy_Car_Ctl_2 oBill = new DAL.ClsGy_Car_Ctl_2();
        private json objJsonResult = new json();
        SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
@@ -89,6 +90,150 @@
                return objJsonResult;
            }
        }
        #region è½¦è¾† åˆ é™¤
        [Route("Gy_CarController/DropGy_Car")]
        [HttpGet]
        public object dropGy_Car(string HItemID, string user)
        {
            try
            {
                string s = "";
                //查看权限
                if (!DBUtility.ClsPub.Security_Log("Gy_Car_Drop", 1, false, user))
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "无删除权限!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                if (HItemID == null || HItemID.Equals(""))
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "HItemID不能为空!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                if (oBill.ShowBill(long.Parse(HItemID), ref s) == false)
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "此单据有误!";
                    objJsonResult.data = 1;
                    return objJsonResult;
                }
                //判断是否可编辑
                if (oBill.oModel.HCheckEmp != "" && oBill.oModel.HCheckEmp != null)
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "此单据已经被审核,不允许删除!";
                    objJsonResult.data = 1;
                    return objJsonResult;
                }
                //删除前控制=========================================
                string sql1 = "exec h_p_Gy_Car_BeforeDelCtrl " + oBill.oModel.HInterID + ",'" + user + "'";
                ds = oCN.RunProcReturn(sql1, "h_p_Gy_Car_BeforeDelCtrl");
                if (ds == null || ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0)
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 1;
                    objJsonResult.Message = "删除失败!原因:删除前判断失败,请与网络管理人员联系";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                if (ds.Tables[0].Rows[0]["HBack"].ToString() != "0")
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 1;
                    objJsonResult.Message = "删除失败!原因:" + ds.Tables[0].Rows[0]["HRemark"].ToString(); ;
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                //==================================================================================
                //进行 ä¼šè®¡æœŸé—´ ç»“è´¦ çš„判断和控制
                int sYear = 0;
                int sPeriod = 0;
                DateTime HDate = DateTime.Now;
                if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(HDate, ref sYear, ref sPeriod, ref s) == false)
                {
                    objJsonResult.Message = s;
                    return objJsonResult;
                }
                oCN.BeginTran();
                oCN.RunProc("delete from Gy_Car where HItemID = " + HItemID);
                //写入日志
                string Operation = "删除";
                string ComputerName = System.Net.Dns.GetHostName();    //设备名称
                string WorkList = Operation + "单据,单据号:" + oBill.oModel.HNumber;
                string MvarReportTitle = oBill.MvarReportTitle;                //模块
                string SystemName = "LMES-" + MvarReportTitle + "模块";
                string IPAddress = "";
                //string IPAddress = Dns.GetHostEntry(Dns.GetHostName()).AddressList[0].ToString();   //IP地址
                //string IPAddress = System.Web.HttpContext.Current.Request.UserHostAddress;
                oCN.RunProc("Insert into  System_Log(GeginDate,userid,WorkstationName,WorkList,SystemName,NetUserName,State) values " +
                    "(getdate(),'" + user + "','" + ComputerName + "','" + WorkList + "','" + SystemName + "','" + IPAddress + "','" + Operation + "')"
                    );
                //删除后控制==================================================================================
                string sql2 = "exec h_p_Gy_Car_AfterDelCtrl " + oBill.oModel.HItemID + ",'" + user + "'";
                ds = oCN.RunProcReturn(sql2, "h_p_Gy_Car_AfterDelCtrl");
                if (ds == null || ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0)
                {
                    s = "删除后判断失败,请与网络管理人员联系";
                    objJsonResult.code = "0";
                    objJsonResult.count = 1;
                    objJsonResult.Message = "删除失败!原因:" + s;
                    objJsonResult.data = null;
                    oCN.RollBack();
                    return objJsonResult;
                }
                if (ds.Tables[0].Rows[0]["HBack"].ToString() != "0")
                {
                    s = ds.Tables[0].Rows[0]["HRemark"].ToString();
                    objJsonResult.code = "0";
                    objJsonResult.count = 1;
                    objJsonResult.Message = "删除失败!原因:" + s;
                    objJsonResult.data = null;
                    oCN.RollBack();
                    return objJsonResult;
                }
                //==============================================================================================
                oCN.Commit();
                objJsonResult.code = "1";
                objJsonResult.count = 1;
                objJsonResult.Message = "您已删除单据号为" + oBill.oModel.HNumber + "的车辆!";
                objJsonResult.data = null;
                return objJsonResult;
            }
            catch (Exception e)
            {
                oCN.RollBack();
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "Exception!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #endregion
        #region è½¦è¾†åˆ—表-分页
        [Route("Gy_Car/list_byPage")]
@@ -202,7 +347,6 @@
            ListModels oListModels = new ListModels();
            try
            {
                DAL.ClsGy_Car_Ctl_2 oBill = new DAL.ClsGy_Car_Ctl_2();
                List<Model.ClsGy_Car_Model_2> lsmain = new List<Model.ClsGy_Car_Model_2>();
                msg1 = msg1.Replace("\\", "");
                msg1 = msg1.Replace("\n", "");  //\n
WebAPI/DLL/ClsQC_PatrolProcCheckBill.cs
@@ -83,7 +83,7 @@
                //========================================
                //",HSupID=" + omodel.HSupID.ToString() +
                //",HEmpID=" + omodel.HEmpID.ToString() +
                //",HSourceID=" + omodel.HSourceID.ToString() +
                ",HSourceID=" + omodel.HSourceID.ToString() +
                //",HICMOInterID=" + omodel.HICMOInterID.ToString() +
                //",HICMOBillNo='" + omodel.HICMOBillNo + "'" +
                //",HICMOQty=" + omodel.HICMOQty.ToString() +
@@ -97,6 +97,7 @@
                ",HShiftsID=" + omodel.HShiftsID.ToString() +
                ",HErrTreatment='" + omodel.HErrTreatment + "'" +
                ",HQCSchemeID='" + omodel.HQCSchemeID + "'" +
                ",HPrdQty='" + omodel.HPrdQty + "'" +
                " where HInterID=" + lngBillKey.ToString();
                //更新主表
                oCn.RunProc(sqlerro);
@@ -232,12 +233,12 @@
                "(HBillType,HBillSubType,HInterID,HBillNo,HBillStatus,HDate,HMaker,HMakeDate" +
                ",HYear,HPeriod,HRemark" +
                ",HSourceID,HICMOInterID,HICMOEntryID,HICMOBillNo,HICMOQty,HProcExchInterID,HProcExchEntryID" +
                ",HProcExchBillNo,HProcExchQty,HMaterID,HFirstCheckEmp,HMainProcID,HLastResult,HShiftsID,HErrTreatment,HQCSchemeID" +
                ",HProcExchBillNo,HProcExchQty,HMaterID,HFirstCheckEmp,HMainProcID,HLastResult,HShiftsID,HErrTreatment,HQCSchemeID,HPrdQty" +
                ") " +
                " values('" + this.BillType + "','" + this.HBillSubType + "'," + omodel.HInterID.ToString() + ",'" + omodel.HBillNo + "'," + omodel.HBillStatus.ToString() + ",'" + omodel.HDate + "','" + omodel.HMaker + "',getdate()" +
                "," + omodel.HYear.ToString() + "," + omodel.HPeriod.ToString() + ",'" + omodel.HRemark + "'" +
                "," + omodel.HSourceID.ToString() + "," + omodel.HICMOInterID.ToString() + "," + omodel.HICMOEntryID + ",'" + omodel.HICMOBillNo + "'," + omodel.HICMOQty.ToString() + "," + omodel.HProcExchInterID.ToString() + "," + omodel.HProcExchEntryID.ToString() +
                ",'" + omodel.HProcExchBillNo + "'," + omodel.HProcExchQty.ToString() + "," + omodel.HMaterID.ToString() + "," + omodel.HFirstCheckEmp.ToString() + "," + omodel.HMainProcID +" ,"+ omodel.HLastResult + "," + omodel.HShiftsID + ",'" + omodel.HErrTreatment + "'," + omodel.HQCSchemeID +
                ",'" + omodel.HProcExchBillNo + "'," + omodel.HProcExchQty.ToString() + "," + omodel.HMaterID.ToString() + "," + omodel.HFirstCheckEmp.ToString() + "," + omodel.HMainProcID +" ,"+ omodel.HLastResult + "," + omodel.HShiftsID + ",'" + omodel.HErrTreatment + "'," + omodel.HQCSchemeID + "," + omodel.HPrdQty +
                ") ");
                //插入子表
                foreach (Model.ClsQC_PatrolProcCheckBillSub oSub in DetailColl)
WebAPI/Properties/PublishProfiles/FolderProfile4.pubxml.user
@@ -9,7 +9,7 @@
  </PropertyGroup>
  <ItemGroup>
    <File Include="apiapp.json">
      <publishTime>04/06/2023 15:57:02</publishTime>
      <publishTime>04/21/2025 11:46:17</publishTime>
    </File>
    <File Include="bin/AlibabaCloud.EndpointUtil.dll">
      <publishTime>04/07/2020 16:33:48</publishTime>
@@ -72,13 +72,13 @@
      <publishTime>04/22/2021 11:48:12</publishTime>
    </File>
    <File Include="bin/GetuiServerApiSDK.dll">
      <publishTime>01/27/2026 10:11:35</publishTime>
      <publishTime>12/13/2018 15:35:36</publishTime>
    </File>
    <File Include="bin/GetuiServerApiSDK.dll.config">
      <publishTime>01/27/2026 10:11:35</publishTime>
      <publishTime>12/12/2018 17:49:02</publishTime>
    </File>
    <File Include="bin/Google.ProtocolBuffers.dll">
      <publishTime>01/27/2026 10:11:35</publishTime>
      <publishTime>12/12/2018 17:31:14</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>04/21/2025 11:46:16</publishTime>
    </File>
    <File Include="bin/libgrpc_csharp_ext.x64.dylib">
      <publishTime>03/19/2022 07:38:44</publishTime>
@@ -147,7 +147,7 @@
      <publishTime>03/24/2026 11:22:47</publishTime>
    </File>
    <File Include="bin/Models/ClsSc_MouldScrapOutBillMain.cs">
      <publishTime>04/06/2023 15:57:02</publishTime>
      <publishTime>04/21/2025 11:46:16</publishTime>
    </File>
    <File Include="bin/Newtonsoft.Json.dll">
      <publishTime>03/08/2023 15:09:56</publishTime>
@@ -288,7 +288,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>04/21/2025 11:46:16</publishTime>
    </File>
    <File Include="bin/System.Web.Mvc.dll">
      <publishTime>01/28/2015 12:02:18</publishTime>
@@ -363,61 +363,61 @@
      <publishTime>11/29/2018 21:26:30</publishTime>
    </File>
    <File Include="Config/kdapi.config">
      <publishTime>04/06/2023 15:57:01</publishTime>
      <publishTime>04/21/2025 11:46:15</publishTime>
    </File>
    <File Include="Content/bootstrap.css">
      <publishTime>04/06/2023 15:57:01</publishTime>
      <publishTime>04/21/2025 11:46:15</publishTime>
    </File>
    <File Include="Content/bootstrap.min.css">
      <publishTime>04/06/2023 15:57:01</publishTime>
      <publishTime>04/21/2025 11:46:15</publishTime>
    </File>
    <File Include="Content/Site.css">
      <publishTime>04/06/2023 15:57:01</publishTime>
      <publishTime>04/21/2025 11:46:15</publishTime>
    </File>
    <File Include="DLL/BLL.dll">
      <publishTime>04/06/2023 15:57:02</publishTime>
      <publishTime>04/21/2025 11:46:16</publishTime>
    </File>
    <File Include="DLL/DAL.dll">
      <publishTime>04/06/2023 15:57:02</publishTime>
      <publishTime>04/21/2025 11:46:16</publishTime>
    </File>
    <File Include="DLL/DBUtility.dll">
      <publishTime>04/06/2023 15:57:02</publishTime>
      <publishTime>04/21/2025 11:46:16</publishTime>
    </File>
    <File Include="DLL/Interop.grsvr6Lib.dll">
      <publishTime>01/04/2026 18:33:49</publishTime>
      <publishTime>12/14/2025 21:28:19</publishTime>
    </File>
    <File Include="DLL/Kingdee.BOS.WebApi.Client.dll">
      <publishTime>04/06/2023 15:57:02</publishTime>
      <publishTime>04/21/2025 11:46:16</publishTime>
    </File>
    <File Include="DLL/Model.dll">
      <publishTime>04/06/2023 15:57:02</publishTime>
      <publishTime>04/21/2025 11:46:16</publishTime>
    </File>
    <File Include="DLL/Newtonsoft.Json.Net35.dll">
      <publishTime>04/06/2023 15:57:02</publishTime>
      <publishTime>04/21/2025 11:46:16</publishTime>
    </File>
    <File Include="DLL/Pub_Class.dll">
      <publishTime>04/06/2023 15:57:02</publishTime>
      <publishTime>04/21/2025 11:46:16</publishTime>
    </File>
    <File Include="DLL/Pub_Control.dll">
      <publishTime>04/06/2023 15:57:02</publishTime>
      <publishTime>04/21/2025 11:46:16</publishTime>
    </File>
    <File Include="DLL/SQLHelper.dll">
      <publishTime>04/06/2023 15:57:02</publishTime>
      <publishTime>04/21/2025 11:46:16</publishTime>
    </File>
    <File Include="fonts/glyphicons-halflings-regular.eot">
      <publishTime>04/06/2023 15:57:02</publishTime>
      <publishTime>04/21/2025 11:46:17</publishTime>
    </File>
    <File Include="fonts/glyphicons-halflings-regular.svg">
      <publishTime>04/06/2023 15:57:02</publishTime>
      <publishTime>04/21/2025 11:46:17</publishTime>
    </File>
    <File Include="fonts/glyphicons-halflings-regular.ttf">
      <publishTime>04/06/2023 15:57:02</publishTime>
      <publishTime>04/21/2025 11:46:17</publishTime>
    </File>
    <File Include="fonts/glyphicons-halflings-regular.woff">
      <publishTime>04/06/2023 15:57:02</publishTime>
      <publishTime>04/21/2025 11:46:17</publishTime>
    </File>
    <File Include="Global.asax">
      <publishTime>04/06/2023 15:57:02</publishTime>
      <publishTime>04/21/2025 11:46:16</publishTime>
    </File>
    <File Include="grpc_csharp_ext.x64.dll">
      <publishTime>03/22/2022 13:17:22</publishTime>
@@ -426,7 +426,7 @@
      <publishTime>03/22/2022 13:17:22</publishTime>
    </File>
    <File Include="Index.html">
      <publishTime>04/06/2023 15:57:02</publishTime>
      <publishTime>04/21/2025 11:46:16</publishTime>
    </File>
    <File Include="libgrpc_csharp_ext.x64.dylib">
      <publishTime>03/19/2022 07:38:44</publishTime>
@@ -435,130 +435,130 @@
      <publishTime>03/19/2022 07:38:42</publishTime>
    </File>
    <File Include="libman.json">
      <publishTime>07/12/2023 08:14:21</publishTime>
      <publishTime>04/21/2025 11:46:17</publishTime>
    </File>
    <File Include="Metadata/deploymentTemplates/apiappconfig.azureresource.json">
      <publishTime>04/06/2023 15:57:02</publishTime>
      <publishTime>04/21/2025 11:46:16</publishTime>
    </File>
    <File Include="packages.config">
      <publishTime>03/09/2026 01:47:32</publishTime>
      <publishTime>03/04/2026 13:17:49</publishTime>
    </File>
    <File Include="Properties/PublishProfiles/JFAPI.pubxml.user">
      <publishTime>12/08/2025 16:05:47</publishTime>
      <publishTime>12/07/2025 12:01:10</publishTime>
    </File>
    <File Include="Scripts/jquery.signalR-2.2.2.js">
      <publishTime>03/02/2026 10:25:32</publishTime>
      <publishTime>01/28/2026 13:57:47</publishTime>
    </File>
    <File Include="Scripts/jquery.signalR-2.2.2.min.js">
      <publishTime>03/02/2026 10:25:32</publishTime>
      <publishTime>01/28/2026 13:57:47</publishTime>
    </File>
    <File Include="Template/barCodeTemplateStorage.json">
      <publishTime>09/01/2025 08:23:20</publishTime>
      <publishTime>08/29/2025 09:43:09</publishTime>
    </File>
    <File Include="Utility/Barcode.ashx">
      <publishTime>01/04/2026 18:33:49</publishTime>
      <publishTime>12/14/2025 21:28:19</publishTime>
    </File>
    <File Include="Views/Scripts/bootstrap.js">
      <publishTime>04/06/2023 15:57:02</publishTime>
      <publishTime>04/21/2025 11:46:17</publishTime>
    </File>
    <File Include="Views/Scripts/bootstrap.min.js">
      <publishTime>04/06/2023 15:57:02</publishTime>
      <publishTime>04/21/2025 11:46:17</publishTime>
    </File>
    <File Include="Views/Scripts/jquery-1.10.2.js">
      <publishTime>04/06/2023 15:57:02</publishTime>
      <publishTime>04/21/2025 11:46:17</publishTime>
    </File>
    <File Include="Views/Scripts/jquery-1.10.2.min.js">
      <publishTime>04/06/2023 15:57:02</publishTime>
      <publishTime>04/21/2025 11:46:17</publishTime>
    </File>
    <File Include="Views/Scripts/jquery-1.10.2.min.map">
      <publishTime>04/06/2023 15:57:02</publishTime>
      <publishTime>04/21/2025 11:46:17</publishTime>
    </File>
    <File Include="Views/Scripts/jquery.validate.js">
      <publishTime>04/06/2023 15:57:02</publishTime>
      <publishTime>04/21/2025 11:46:17</publishTime>
    </File>
    <File Include="Views/Scripts/jquery.validate.min.js">
      <publishTime>04/06/2023 15:57:02</publishTime>
      <publishTime>04/21/2025 11:46:17</publishTime>
    </File>
    <File Include="Views/Scripts/jquery.validate.unobtrusive.js">
      <publishTime>04/06/2023 15:57:02</publishTime>
      <publishTime>04/21/2025 11:46:17</publishTime>
    </File>
    <File Include="Views/Scripts/jquery.validate.unobtrusive.min.js">
      <publishTime>04/06/2023 15:57:02</publishTime>
      <publishTime>04/21/2025 11:46:17</publishTime>
    </File>
    <File Include="Views/Scripts/modernizr-2.6.2.js">
      <publishTime>04/06/2023 15:57:02</publishTime>
      <publishTime>04/21/2025 11:46:17</publishTime>
    </File>
    <File Include="Views/Shared/Error.cshtml">
      <publishTime>04/06/2023 15:57:02</publishTime>
      <publishTime>04/21/2025 11:46:17</publishTime>
    </File>
    <File Include="Views/Shared/_Layout.cshtml">
      <publishTime>04/06/2023 15:57:02</publishTime>
      <publishTime>04/21/2025 11:46:17</publishTime>
    </File>
    <File Include="Views/web.config">
      <publishTime>04/06/2023 15:57:02</publishTime>
      <publishTime>04/21/2025 11:46:17</publishTime>
    </File>
    <File Include="Views/_ViewStart.cshtml">
      <publishTime>04/06/2023 15:57:02</publishTime>
      <publishTime>04/21/2025 11:46:17</publishTime>
    </File>
    <File Include="Web References/WebS/ClsCLD_Customer_Model.datasource">
      <publishTime>04/06/2023 15:57:02</publishTime>
      <publishTime>04/21/2025 11:46:17</publishTime>
    </File>
    <File Include="Web References/WebS/ClsCLD_Department_Model.datasource">
      <publishTime>04/06/2023 15:57:02</publishTime>
      <publishTime>04/21/2025 11:46:17</publishTime>
    </File>
    <File Include="Web References/WebS/ClsCLD_Employee_Model.datasource">
      <publishTime>04/06/2023 15:57:02</publishTime>
      <publishTime>04/21/2025 11:46:17</publishTime>
    </File>
    <File Include="Web References/WebS/ClsCLD_StockPlace_Model.datasource">
      <publishTime>04/06/2023 15:57:02</publishTime>
      <publishTime>04/21/2025 11:46:17</publishTime>
    </File>
    <File Include="Web References/WebS/ClsCLD_Supplier_Model.datasource">
      <publishTime>04/06/2023 15:57:02</publishTime>
      <publishTime>04/21/2025 11:46:17</publishTime>
    </File>
    <File Include="Web References/WebS/ClsCLD_Warehouse_Model.datasource">
      <publishTime>04/06/2023 15:57:02</publishTime>
      <publishTime>04/21/2025 11:46:17</publishTime>
    </File>
    <File Include="Web References/WebS/ClsGy_BadReason_Model.datasource">
      <publishTime>04/06/2023 15:57:02</publishTime>
      <publishTime>04/21/2025 11:46:17</publishTime>
    </File>
    <File Include="Web References/WebS/ClsGy_BarCodeBill_WMS_Model.datasource">
      <publishTime>04/06/2023 15:57:02</publishTime>
      <publishTime>04/21/2025 11:46:17</publishTime>
    </File>
    <File Include="Web References/WebS/ClsGy_BarCodeBill_WMS_Model_View.datasource">
      <publishTime>04/06/2023 15:57:02</publishTime>
      <publishTime>04/21/2025 11:46:17</publishTime>
    </File>
    <File Include="Web References/WebS/ClsGy_Customer_Model.datasource">
      <publishTime>04/06/2023 15:57:02</publishTime>
      <publishTime>04/21/2025 11:46:17</publishTime>
    </File>
    <File Include="Web References/WebS/ClsGy_Department_Model.datasource">
      <publishTime>04/06/2023 15:57:02</publishTime>
      <publishTime>04/21/2025 11:46:17</publishTime>
    </File>
    <File Include="Web References/WebS/ClsGy_Employee_Model.datasource">
      <publishTime>04/06/2023 15:57:02</publishTime>
      <publishTime>04/21/2025 11:46:17</publishTime>
    </File>
    <File Include="Web References/WebS/ClsGy_Group_Model.datasource">
      <publishTime>04/06/2023 15:57:02</publishTime>
      <publishTime>04/21/2025 11:46:17</publishTime>
    </File>
    <File Include="Web References/WebS/ClsGy_Item30JiTai_Model.datasource">
      <publishTime>04/06/2023 15:57:02</publishTime>
      <publishTime>04/21/2025 11:46:17</publishTime>
    </File>
    <File Include="Web References/WebS/ClsGy_Source_Model.datasource">
      <publishTime>04/06/2023 15:57:02</publishTime>
      <publishTime>04/21/2025 11:46:17</publishTime>
    </File>
    <File Include="Web References/WebS/ClsGy_StockPlace_Model.datasource">
      <publishTime>04/06/2023 15:57:02</publishTime>
      <publishTime>04/21/2025 11:46:17</publishTime>
    </File>
    <File Include="Web References/WebS/ClsGy_Supplier_Model.datasource">
      <publishTime>04/06/2023 15:57:02</publishTime>
      <publishTime>04/21/2025 11:46:17</publishTime>
    </File>
    <File Include="Web References/WebS/ClsGy_Warehouse_Model.datasource">
      <publishTime>04/06/2023 15:57:02</publishTime>
      <publishTime>04/21/2025 11:46:17</publishTime>
    </File>
    <File Include="Web References/WebS/ClsKf_ICStockBill_Mould.datasource">
      <publishTime>04/06/2023 15:57:02</publishTime>
      <publishTime>04/21/2025 11:46:17</publishTime>
    </File>
    <File Include="Web References/WebS/ClsKf_ICStockBill_WMS.datasource">
      <publishTime>04/06/2023 15:57:02</publishTime>
      <publishTime>04/21/2025 11:46:17</publishTime>
    </File>
    <File Include="Web.config">
      <publishTime>03/12/2026 21:16:00</publishTime>
WebAPI/Properties/PublishProfiles/WTTFolder.pubxml.user
@@ -5,7 +5,7 @@
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup>
    <_PublishTargetUrl>D:\网站发布\API</_PublishTargetUrl>
    <History>True|2026-03-20T02:11:11.2023901Z;True|2026-03-17T09:33:58.4998522+08:00;True|2026-03-13T14:39:56.2046419+08:00;True|2026-03-13T10:45:44.5969827+08:00;False|2026-03-13T10:45:39.0031185+08:00;True|2026-03-13T10:33:50.6454960+08:00;True|2026-03-13T10:13:54.8054151+08:00;False|2026-03-13T10:13:48.7433858+08:00;True|2026-03-13T08:27:44.0365848+08:00;False|2026-03-13T08:27:15.7236925+08:00;True|2026-03-10T13:21:23.4020454+08:00;False|2026-03-10T13:20:37.7978257+08:00;True|2026-03-09T16:23:37.1957075+08:00;False|2026-03-09T16:23:09.1793900+08:00;True|2026-03-08T19:14:49.7700862+08:00;False|2026-03-08T19:13:57.9637951+08:00;True|2026-03-07T15:31:56.3119377+08:00;True|2026-03-07T15:27:26.3686205+08:00;True|2026-03-07T15:20:44.8497962+08:00;True|2026-03-07T15:16:09.1126972+08:00;True|2026-03-07T15:13:14.8502726+08:00;True|2026-03-07T15:00:35.5106409+08:00;True|2026-03-06T09:17:38.4826562+08:00;False|2026-03-06T09:17:12.2137124+08:00;True|2026-03-04T10:37:38.3542826+08:00;True|2026-03-04T10:35:38.0033181+08:00;False|2026-03-04T10:35:21.6139985+08:00;True|2026-03-04T10:10:33.7184690+08:00;False|2026-03-04T10:10:13.6608297+08:00;True|2026-02-28T14:44:48.8921146+08:00;True|2026-02-28T13:49:09.3417790+08:00;True|2026-02-28T13:36:36.7808689+08:00;True|2026-02-28T13:07:59.4097968+08:00;True|2026-02-28T11:22:16.2244092+08:00;False|2026-02-28T11:21:50.3452184+08:00;True|2026-02-27T15:15:26.7008273+08:00;False|2026-02-27T15:15:03.5165987+08:00;True|2026-02-24T13:26:35.7198126+08:00;True|2026-02-24T13:17:50.6475487+08:00;False|2026-02-24T13:17:16.4754994+08:00;True|2026-02-09T09:03:02.9552827+08:00;False|2026-02-09T09:02:19.7888361+08:00;True|2026-01-23T16:43:00.5233443+08:00;True|2026-01-23T15:52:34.0578166+08:00;True|2026-01-23T15:18:26.9929522+08:00;True|2026-01-23T14:54:41.7989523+08:00;True|2026-01-23T14:20:36.5052445+08:00;False|2026-01-23T13:57:17.0723425+08:00;True|2026-01-23T08:08:55.5799949+08:00;False|2026-01-23T08:08:18.0965301+08:00;True|2026-01-21T13:46:11.7257946+08:00;True|2026-01-20T09:22:33.7255529+08:00;False|2026-01-20T08:33:10.2890987+08:00;True|2026-01-19T13:53:48.2079321+08:00;False|2026-01-19T13:53:24.9464993+08:00;True|2026-01-16T15:23:46.2649561+08:00;True|2026-01-16T09:00:43.1528772+08:00;</History>
    <History>True|2026-03-23T14:27:05.9947039Z;True|2026-03-23T22:17:02.8820923+08:00;True|2026-03-23T21:52:15.7333002+08:00;True|2026-03-23T21:47:32.5007616+08:00;True|2026-03-23T21:40:56.5048061+08:00;True|2026-03-23T13:19:40.2829571+08:00;True|2026-03-23T12:21:19.4345768+08:00;True|2026-03-23T12:18:14.1029044+08:00;True|2026-03-23T12:14:30.8931394+08:00;True|2026-03-23T11:21:56.8156303+08:00;True|2026-03-23T11:12:41.0316561+08:00;True|2026-03-23T11:08:54.1270716+08:00;True|2026-03-23T09:56:08.8942090+08:00;True|2026-03-20T10:11:11.2023901+08:00;True|2026-03-17T09:33:58.4998522+08:00;True|2026-03-13T14:39:56.2046419+08:00;True|2026-03-13T10:45:44.5969827+08:00;False|2026-03-13T10:45:39.0031185+08:00;True|2026-03-13T10:33:50.6454960+08:00;True|2026-03-13T10:13:54.8054151+08:00;False|2026-03-13T10:13:48.7433858+08:00;True|2026-03-13T08:27:44.0365848+08:00;False|2026-03-13T08:27:15.7236925+08:00;True|2026-03-10T13:21:23.4020454+08:00;False|2026-03-10T13:20:37.7978257+08:00;True|2026-03-09T16:23:37.1957075+08:00;False|2026-03-09T16:23:09.1793900+08:00;True|2026-03-08T19:14:49.7700862+08:00;False|2026-03-08T19:13:57.9637951+08:00;True|2026-03-07T15:31:56.3119377+08:00;True|2026-03-07T15:27:26.3686205+08:00;True|2026-03-07T15:20:44.8497962+08:00;True|2026-03-07T15:16:09.1126972+08:00;True|2026-03-07T15:13:14.8502726+08:00;True|2026-03-07T15:00:35.5106409+08:00;True|2026-03-06T09:17:38.4826562+08:00;False|2026-03-06T09:17:12.2137124+08:00;True|2026-03-04T10:37:38.3542826+08:00;True|2026-03-04T10:35:38.0033181+08:00;False|2026-03-04T10:35:21.6139985+08:00;True|2026-03-04T10:10:33.7184690+08:00;False|2026-03-04T10:10:13.6608297+08:00;True|2026-02-28T14:44:48.8921146+08:00;True|2026-02-28T13:49:09.3417790+08:00;True|2026-02-28T13:36:36.7808689+08:00;True|2026-02-28T13:07:59.4097968+08:00;True|2026-02-28T11:22:16.2244092+08:00;False|2026-02-28T11:21:50.3452184+08:00;True|2026-02-27T15:15:26.7008273+08:00;False|2026-02-27T15:15:03.5165987+08:00;True|2026-02-24T13:26:35.7198126+08:00;True|2026-02-24T13:17:50.6475487+08:00;False|2026-02-24T13:17:16.4754994+08:00;True|2026-02-09T09:03:02.9552827+08:00;False|2026-02-09T09:02:19.7888361+08:00;True|2026-01-23T16:43:00.5233443+08:00;True|2026-01-23T15:52:34.0578166+08:00;True|2026-01-23T15:18:26.9929522+08:00;True|2026-01-23T14:54:41.7989523+08:00;True|2026-01-23T14:20:36.5052445+08:00;False|2026-01-23T13:57:17.0723425+08:00;True|2026-01-23T08:08:55.5799949+08:00;False|2026-01-23T08:08:18.0965301+08:00;True|2026-01-21T13:46:11.7257946+08:00;True|2026-01-20T09:22:33.7255529+08:00;False|2026-01-20T08:33:10.2890987+08:00;True|2026-01-19T13:53:48.2079321+08:00;False|2026-01-19T13:53:24.9464993+08:00;True|2026-01-16T15:23:46.2649561+08:00;True|2026-01-16T09:00:43.1528772+08:00;</History>
  </PropertyGroup>
  <ItemGroup>
    <File Include="apiapp.json">
@@ -45,28 +45,28 @@
      <publishTime>02/22/2013 16:43:40</publishTime>
    </File>
    <File Include="bin/BLL.dll">
      <publishTime>03/20/2026 10:09:33</publishTime>
      <publishTime>03/23/2026 22:26:49</publishTime>
    </File>
    <File Include="bin/BLL.pdb">
      <publishTime>03/20/2026 10:09:33</publishTime>
      <publishTime>03/23/2026 22:26:49</publishTime>
    </File>
    <File Include="bin/BouncyCastle.Crypto.dll">
      <publishTime>12/18/2020 05:32:28</publishTime>
    </File>
    <File Include="bin/DAL.dll">
      <publishTime>03/20/2026 10:09:26</publishTime>
      <publishTime>03/23/2026 22:26:44</publishTime>
    </File>
    <File Include="bin/DAL.pdb">
      <publishTime>03/20/2026 10:09:26</publishTime>
      <publishTime>03/23/2026 22:26:44</publishTime>
    </File>
    <File Include="bin/Dapper.dll">
      <publishTime>07/22/2016 22:52:40</publishTime>
    </File>
    <File Include="bin/DBUtility.dll">
      <publishTime>03/20/2026 10:09:20</publishTime>
      <publishTime>03/23/2026 22:26:39</publishTime>
    </File>
    <File Include="bin/DBUtility.pdb">
      <publishTime>03/20/2026 10:09:20</publishTime>
      <publishTime>03/23/2026 22:26:39</publishTime>
    </File>
    <File Include="bin/Fleck.dll">
      <publishTime>04/22/2021 11:48:12</publishTime>
@@ -141,10 +141,10 @@
      <publishTime>07/25/2012 19:48:56</publishTime>
    </File>
    <File Include="bin/Model.dll">
      <publishTime>03/20/2026 10:09:22</publishTime>
      <publishTime>03/23/2026 22:26:42</publishTime>
    </File>
    <File Include="bin/Model.pdb">
      <publishTime>03/20/2026 10:09:22</publishTime>
      <publishTime>03/23/2026 22:26:42</publishTime>
    </File>
    <File Include="bin/Models/ClsSc_MouldScrapOutBillMain.cs">
      <publishTime>08/18/2025 16:11:18</publishTime>
@@ -180,34 +180,34 @@
      <publishTime>11/13/2012 20:19:34</publishTime>
    </File>
    <File Include="bin/Pub_Class.dll">
      <publishTime>03/20/2026 10:09:14</publishTime>
      <publishTime>03/23/2026 22:26:36</publishTime>
    </File>
    <File Include="bin/Pub_Class.pdb">
      <publishTime>03/20/2026 10:09:14</publishTime>
      <publishTime>03/23/2026 22:26:36</publishTime>
    </File>
    <File Include="bin/Pub_Control.dll">
      <publishTime>03/20/2026 10:09:17</publishTime>
      <publishTime>03/23/2026 22:26:38</publishTime>
    </File>
    <File Include="bin/Pub_Control.pdb">
      <publishTime>03/20/2026 10:09:17</publishTime>
      <publishTime>03/23/2026 22:26:38</publishTime>
    </File>
    <File Include="bin/RestSharp.dll">
      <publishTime>08/31/2012 06:22:50</publishTime>
    </File>
    <File Include="bin/SQLHelper.dll">
      <publishTime>03/20/2026 10:09:16</publishTime>
      <publishTime>03/23/2026 22:26:37</publishTime>
    </File>
    <File Include="bin/SQLHelper.pdb">
      <publishTime>03/20/2026 10:09:16</publishTime>
      <publishTime>03/23/2026 22:26:37</publishTime>
    </File>
    <File Include="bin/Swashbuckle.Core.dll">
      <publishTime>02/16/2015 01:57:08</publishTime>
    </File>
    <File Include="bin/SyntacticSugar.dll">
      <publishTime>03/20/2026 10:09:12</publishTime>
      <publishTime>03/23/2026 20:26:56</publishTime>
    </File>
    <File Include="bin/SyntacticSugar.pdb">
      <publishTime>03/20/2026 10:09:12</publishTime>
      <publishTime>03/23/2026 20:26:56</publishTime>
    </File>
    <File Include="bin/System.Buffers.dll">
      <publishTime>07/19/2017 18:01:28</publishTime>
@@ -321,19 +321,19 @@
      <publishTime>05/09/2023 10:43:40</publishTime>
    </File>
    <File Include="bin/TopSdk.dll">
      <publishTime>03/20/2026 10:09:14</publishTime>
      <publishTime>03/23/2026 20:26:59</publishTime>
    </File>
    <File Include="bin/TopSdk.pdb">
      <publishTime>03/20/2026 10:09:14</publishTime>
      <publishTime>03/23/2026 20:26:59</publishTime>
    </File>
    <File Include="bin/WebActivatorEx.dll">
      <publishTime>11/24/2014 19:18:48</publishTime>
    </File>
    <File Include="bin/WebAPI.dll">
      <publishTime>03/20/2026 10:09:52</publishTime>
      <publishTime>03/23/2026 22:26:57</publishTime>
    </File>
    <File Include="bin/WebAPI.pdb">
      <publishTime>03/20/2026 10:09:52</publishTime>
      <publishTime>03/23/2026 22:26:57</publishTime>
    </File>
    <File Include="bin/WebGrease.dll">
      <publishTime>07/18/2013 01:03:52</publishTime>
@@ -558,7 +558,7 @@
      <publishTime>10/27/2025 08:51:29</publishTime>
    </File>
    <File Include="Web.config">
      <publishTime>03/20/2026 10:11:08</publishTime>
      <publishTime>03/23/2026 22:27:02</publishTime>
    </File>
  </ItemGroup>
</Project>
WebAPI/Service/JwtAuthorizeAttribute.cs
New file
@@ -0,0 +1,76 @@
using System;
using System.Net;
using System.Net.Http;
using System.Security.Claims;
using System.Threading;
using System.Threading.Tasks;
using System.Web.Http;
using System.Web.Http.Controllers;
using System.Web.Http.Filters;
using WebAPI.Utility;
public class JwtAuthorizeAttribute : AuthorizationFilterAttribute
{
    // åŒæ­¥é‰´æƒ
    public override void OnAuthorization(HttpActionContext actionContext)
    {
        // æ£€æŸ¥åŒ¿åè®¿é—®
        if (IsAnonymousAllowed(actionContext)) return;
        // èŽ·å–Token
        var token = GetTokenFromHeader(actionContext);
        if (string.IsNullOrEmpty(token))
        {
            HandleUnauthorized(actionContext);
            return;
        }
        // éªŒè¯Token
        var principal = JWTHelper.ValidateToken(token, "123");
        if (principal == null)
        {
            HandleUnauthorized(actionContext);
            return;
        }
        // è®¾ç½®ç”¨æˆ·
        actionContext.RequestContext.Principal = principal;
    }
    // å¼‚步鉴权(满足WebAPI 2要求,兼容.NET4.5)
    public override Task OnAuthorizationAsync(HttpActionContext actionContext, CancellationToken cancellationToken)
    {
        OnAuthorization(actionContext);
        return Task.FromResult(0);
    }
    // æ˜¯å¦å…è®¸åŒ¿åè®¿é—®
    private bool IsAnonymousAllowed(HttpActionContext context)
    {
        return
            context.ActionDescriptor.GetCustomAttributes<AllowAnonymousAttribute>().Count > 0 ||
            context.ControllerContext.ControllerDescriptor.GetCustomAttributes<AllowAnonymousAttribute>().Count > 0;
    }
    // ä»ŽHeader提取Token
    private string GetTokenFromHeader(HttpActionContext context)
    {
        var authHeader = context.Request.Headers.Authorization;
        if (authHeader != null
            && authHeader.Scheme.Equals("Bearer", StringComparison.OrdinalIgnoreCase)
            && !string.IsNullOrEmpty(authHeader.Parameter))
        {
            return authHeader.Parameter;
        }
        return null;
    }
    // 401 æœªæŽˆæƒ
    private void HandleUnauthorized(HttpActionContext context)
    {
        var response = new HttpResponseMessage(HttpStatusCode.Unauthorized);
        response.Content = new StringContent("未授权,请登录后重试");
        context.Response = response;
    }
}
WebAPI/Utility/JWTHelper.cs
New file
@@ -0,0 +1,79 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.IdentityModel.Tokens.Jwt;
using System.Security.Claims;
using System.Text;
using Microsoft.IdentityModel.Tokens;
namespace WebAPI.Utility
{
    public static class JWTHelper
    {
        static JWTHelper()
        {
            JwtSecurityTokenHandler.DefaultInboundClaimTypeMap.Clear();
        }
        // ç§˜é’¥
        private const string SecretKey = "8sK2pR9vFg5tHjNm7qWaEe4dUcxZbL$S6y";
        private static readonly SymmetricSecurityKey _securityKey =
        new SymmetricSecurityKey(Encoding.UTF8.GetBytes(SecretKey));
        // ç­¾å‘ Token
        public static string GenerateToken(string userId, string userName, string HCampanyName)
        {
            var claims = new[]
            {
            new Claim(ClaimTypes.NameIdentifier, userId),
            new Claim(ClaimTypes.Name, userName),
            new Claim(JwtRegisteredClaimNames.Jti, Guid.NewGuid().ToString())
        };
            var credentials = new SigningCredentials(_securityKey, SecurityAlgorithms.HmacSha256);
            var token = new JwtSecurityToken(
                issuer: "zjzyms",
                audience: HCampanyName,
                claims: claims,
                expires: DateTime.UtcNow.AddHours(2), // ä¸¤å°æ—¶è¿‡æœŸæ—¶é—´
                signingCredentials: credentials
            );
            return new JwtSecurityTokenHandler().WriteToken(token);
        }
        // éªŒè¯ Token å¹¶è¿”回 ClaimsPrincipal
        public static ClaimsPrincipal ValidateToken(string token, string HCampanyName)
        {
            var handler = new JwtSecurityTokenHandler();
            var parameters = new TokenValidationParameters
            {
                ValidateIssuer = true,
                ValidIssuer = "zjzyms",
                ValidateAudience = true,
                ValidAudience = HCampanyName,
                ValidateIssuerSigningKey = true,
                IssuerSigningKey = _securityKey,
                ValidateLifetime = true,
                ClockSkew = TimeSpan.Zero, // ä¸å…è®¸æ—¶é—´è¯¯å·®
            };
            try
            {
                var principal = handler.ValidateToken(token, parameters, out var validatedToken);
                return principal;
            }
            catch
            {
                return null;
            }
        }
    }
}
WebAPI/Web.config
@@ -35,7 +35,7 @@
        <!--<add key="sUrl" value="http://47.96.97.237/WEBS-WMS/WebService1.asmx"/>-->  <!--测试服务器-->
        <!--<add key="surl" value="http://localhost:8082/webs/webservice1.asmx"/>    --><!--本地-->
        <!--<add key="sUrl" value="http://192.168.110.57:81/WEBS/WebService1.asmx"/>-->    <!--陈雯静本地配置-->
        <!--<add key="surl" value="http://localhost/WEBS-WMS/webservice1.asmx" /> --><!--翁涛涛本地配置-->
        <!--<add key="surl" value="http://localhost/WEBS-WMS/webservice1.asmx" />--> <!--翁涛涛本地配置-->
        <!--<add key="sUrl" value="http://192.168.1.57:8082/WEBS-WMS/WebService1.asmx"/>九菱-->
        <!--<add key="sUrl" value="http://61.130.182.102:18181/WEBSCS/WebService1.asmx"/>--><!--斯莫尔-->
        <!--<add key="surl" value="http://192.168.0.113/WEBS-WMS/Webservice1.asmx" />三升本地配置-->
@@ -109,6 +109,10 @@
                <assemblyIdentity name="System.Web.Cors" publicKeyToken="31bf3856ad364e35" culture="neutral" />
                <bindingRedirect oldVersion="0.0.0.0-5.2.7.0" newVersion="5.2.7.0" />
            </dependentAssembly>
            <dependentAssembly>
                <assemblyIdentity name="System.IdentityModel.Tokens.Jwt" publicKeyToken="31bf3856ad364e35" culture="neutral" />
                <bindingRedirect oldVersion="0.0.0.0-5.7.0.0" newVersion="5.7.0.0" />
            </dependentAssembly>
        </assemblyBinding>
    </runtime>
    <system.webServer>
WebAPI/WebAPI.csproj
@@ -123,6 +123,15 @@
    <Reference Include="Microsoft.CSharp">
      <Private>True</Private>
    </Reference>
    <Reference Include="Microsoft.IdentityModel.JsonWebTokens, Version=5.7.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
      <HintPath>..\packages\Microsoft.IdentityModel.JsonWebTokens.5.7.0\lib\net45\Microsoft.IdentityModel.JsonWebTokens.dll</HintPath>
    </Reference>
    <Reference Include="Microsoft.IdentityModel.Logging, Version=5.7.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
      <HintPath>..\packages\Microsoft.IdentityModel.Logging.5.7.0\lib\net45\Microsoft.IdentityModel.Logging.dll</HintPath>
    </Reference>
    <Reference Include="Microsoft.IdentityModel.Tokens, Version=5.7.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
      <HintPath>..\packages\Microsoft.IdentityModel.Tokens.5.7.0\lib\net45\Microsoft.IdentityModel.Tokens.dll</HintPath>
    </Reference>
    <Reference Include="Microsoft.Owin, Version=4.0.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
      <HintPath>..\packages\Microsoft.Owin.4.0.1\lib\net45\Microsoft.Owin.dll</HintPath>
    </Reference>
@@ -171,9 +180,8 @@
    <Reference Include="System.Data.DataSetExtensions">
      <Private>True</Private>
    </Reference>
    <Reference Include="System.IdentityModel.Tokens.Jwt, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
      <HintPath>..\packages\System.IdentityModel.Tokens.Jwt.4.0.0\lib\net45\System.IdentityModel.Tokens.Jwt.dll</HintPath>
      <Private>True</Private>
    <Reference Include="System.IdentityModel.Tokens.Jwt, Version=5.7.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
      <HintPath>..\packages\System.IdentityModel.Tokens.Jwt.5.7.0\lib\net45\System.IdentityModel.Tokens.Jwt.dll</HintPath>
    </Reference>
    <Reference Include="System.Memory, Version=4.0.1.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
      <HintPath>..\packages\System.Memory.4.5.3\lib\netstandard1.1\System.Memory.dll</HintPath>
@@ -1233,6 +1241,7 @@
      <DependentUpon>Settings.settings</DependentUpon>
    </Compile>
    <Compile Include="Service\GeTuiService.cs" />
    <Compile Include="Service\JwtAuthorizeAttribute.cs" />
    <Compile Include="Service\LuBaoSevice.cs" />
    <Compile Include="Service\ProcessDal.cs" />
    <Compile Include="Service\YqnDal.cs" />
@@ -1240,6 +1249,7 @@
    <Compile Include="Utility\Barcode.ashx.cs">
      <DependentUpon>Barcode.ashx</DependentUpon>
    </Compile>
    <Compile Include="Utility\JWTHelper.cs" />
    <Compile Include="Utility\ServerTools.cs" />
    <Compile Include="Utility\Util.cs" />
    <Compile Include="Code\Common.cs" />
WebAPI/packages.config
@@ -42,6 +42,9 @@
  <package id="Microsoft.Azure.AppService.ApiApps.Service" version="0.9.16" targetFramework="net45" />
  <package id="Microsoft.Bcl" version="1.1.10" targetFramework="net45" />
  <package id="Microsoft.Bcl.Build" version="1.0.14" targetFramework="net45" />
  <package id="Microsoft.IdentityModel.JsonWebTokens" version="5.7.0" targetFramework="net45" />
  <package id="Microsoft.IdentityModel.Logging" version="5.7.0" targetFramework="net45" />
  <package id="Microsoft.IdentityModel.Tokens" version="5.7.0" targetFramework="net45" />
  <package id="Microsoft.jQuery.Unobtrusive.Validation" version="3.2.3" targetFramework="net45" />
  <package id="Microsoft.Net.Http" version="2.2.29" targetFramework="net45" />
  <package id="Microsoft.Owin" version="4.0.1" targetFramework="net45" />
@@ -62,7 +65,7 @@
  <package id="Swashbuckle" version="5.0.0" targetFramework="net45" />
  <package id="Swashbuckle.Core" version="5.0.0" targetFramework="net45" />
  <package id="System.Buffers" version="4.4.0" targetFramework="net45" />
  <package id="System.IdentityModel.Tokens.Jwt" version="4.0.0" targetFramework="net45" />
  <package id="System.IdentityModel.Tokens.Jwt" version="5.7.0" targetFramework="net45" />
  <package id="System.Memory" version="4.5.3" targetFramework="net45" />
  <package id="System.Runtime" version="4.3.1" targetFramework="net45" />
  <package id="System.Runtime.CompilerServices.Unsafe" version="4.5.2" targetFramework="net45" />
WorkM/app.config
@@ -30,6 +30,10 @@
        <assemblyIdentity name="System.Web.Cors" publicKeyToken="31bf3856ad364e35" culture="neutral" />
        <bindingRedirect oldVersion="0.0.0.0-5.2.7.0" newVersion="5.2.7.0" />
      </dependentAssembly>
      <dependentAssembly>
        <assemblyIdentity name="System.IdentityModel.Tokens.Jwt" publicKeyToken="31bf3856ad364e35" culture="neutral" />
        <bindingRedirect oldVersion="0.0.0.0-5.7.0.0" newVersion="5.7.0.0" />
      </dependentAssembly>
    </assemblyBinding>
  </runtime>
</configuration>
sdk_dingding/TopSdk/obj/Debug/TopSdk.csproj.CoreCompileInputs.cache
File was deleted
sdk_dingding/TopSdk/obj/Debug/TopSdk.csproj.FileListAbsolute.txt
@@ -3,4 +3,7 @@
D:\网站发布\后端代码\MES-WEB-API\MES-WEB-API\sdk_dingding\TopSdk\obj\Debug\TopSdk.csproj.CoreCompileInputs.cache
D:\网站发布\后端代码\MES-WEB-API\MES-WEB-API\sdk_dingding\TopSdk\obj\Debug\TopSdk.dll
D:\网站发布\后端代码\MES-WEB-API\MES-WEB-API\sdk_dingding\TopSdk\obj\Debug\TopSdk.pdb
<<<<<<< HEAD
D:\网站发布\后端代码\MES-WEB-API\MES-WEB-API\sdk_dingding\TopSdk\obj\Debug\TopSdk.csproj.AssemblyReference.cache
=======
>>>>>>> f5522581d909185f7b84ef1495d5e44d0b0f4d75