wtt
18 小时以前 5f170975b04d15bc421895303fa100fc0ee7a73d
Merge branch 'master' of http://101.37.171.70:10101/r/MES-WEB-API
5个文件已修改
5个文件已添加
2081 ■■■■■ 已修改文件
WebAPI/Controllers/Sc_MouldRepairInBillListController.cs 40 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Controllers/仓存管理/条码生成/Sc_BarCodeController.cs 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Controllers/条码管理/WEBSController.cs 45 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Controllers/检验申请单/QC_RequestCheckBillController.cs 876 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/DLL/ClsQC_RequestCheckBill.cs 477 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/ListModels.cs 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Models/ClsQC_RequestCheckBillMain.cs 52 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Models/ClsQC_RequestCheckBillSub.cs 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Properties/PublishProfiles/FolderProfile11.pubxml.user 510 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/WebAPI.csproj 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Controllers/Sc_MouldRepairInBillListController.cs
@@ -10767,22 +10767,31 @@
                if (bResult)
                {
                    if(setOutBill(msg))
                    if (oSystemParameter.omodel.WMS_CampanyName == "海城")
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 1;
                        objJsonResult.Message = DBUtility.ClsPub.sExeReturnInfo;  //成功!
                        objJsonResult.data = null;
                        return objJsonResult;
                        if (setOutBill(msg))
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 1;
                            objJsonResult.Message = DBUtility.ClsPub.sExeReturnInfo;  //成功!
                            objJsonResult.data = null;
                            return objJsonResult;
                        }
                        else
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 0;
                            objJsonResult.Message = "金蝶单据保存失败!";
                            objJsonResult.data = null;
                            return objJsonResult;
                        }
                    }
                    else
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = "保存失败!" + DBUtility.ClsPub.sExeReturnInfo;
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                    objJsonResult.code = "0";
                    objJsonResult.count = 1;
                    objJsonResult.Message = DBUtility.ClsPub.sExeReturnInfo;  //成功!
                    objJsonResult.data = null;
                    return objJsonResult;
                   
                }
                else
@@ -10806,8 +10815,6 @@
        public bool setOutBill([FromBody] JObject msg)
        {
            var _value = msg["msg"].ToString();
            string msg1 = _value.ToString();
            string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
@@ -10871,7 +10878,6 @@
                objJsonResult.data = null;
                return false;
            }
            return true;
        }
        #endregion
WebAPI/Controllers/²Ö´æ¹ÜÀí/ÌõÂëÉú³É/Sc_BarCodeController.cs
@@ -3126,7 +3126,13 @@
                            string HMaterialName = DBUtility.ClsPub.isStrNull(ordrlist.HMaterName);
                            string HSupNumber = DBUtility.ClsPub.isStrNull(ordrlist.HSupNumber).Replace(".", "");             //供应商代码(去掉分隔符)
                            int lastDigit = int.Parse(DateTime.Today.Year.ToString().Last().ToString());
                            char productionMonth = DateTime.Today.Month <= 9
                            int currentMonth = DateTime.Now.Month;
                            char[] monthToLetter = {
                            'N', 'P', 'Q', 'R', 'S', 'T',
                            'U', 'V', 'W', 'X', 'Y', 'Z'
                                                };
                            char productionMonth = monthToLetter[currentMonth - 1];
                            char productionDay = DateTime.Today.Month <= 9
                            ? (char)(DateTime.Today.Month + '0')
                            : (char)('A' + DateTime.Today.Month - 10);
                            if (HMaterialName.Trim() == "")
@@ -3136,6 +3142,7 @@
                                objJsonResult.Message = "物料不能为空,不能生成条码!";
                                return objJsonResult;
                            }
                            DataSet dss = oCN.RunProcReturn("","");
                            //todo
                            //条码前缀 = p+商品SKU+生产年份+生产月份+6位流水号+生产工厂代码
                            sTMNumber = "P" + HMaterialName + lastDigit+ productionMonth;
WebAPI/Controllers/ÌõÂë¹ÜÀí/WEBSController.cs
@@ -13673,5 +13673,50 @@
        }
        #endregion
        #region æ·»åº·æ ¹æ®å°è½¦æ¡ç æ‰¾å‡ºç›¸åº”物料
        #endregion
        [Route("WEBSController/GetMaterIDByCarBarCode")]
        [HttpGet]
        public object GetMaterIDByCarBarCode(string CarBarCode)
        {
            try
            {
                ds = oCn.RunProcReturn("select * from GetMaterMesByCarBarCode where å°è½¦='" + CarBarCode.ToString() + "'" , "GetMaterMesByCarBarCode");
                if (ds == null || ds.Tables[0].Rows.Count == 0)
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "没有返回任何记录!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                else
                {
                    List<object> columnNameList = new List<object>();
                    //添加列名
                    foreach (DataColumn col in ds.Tables[0].Columns)
                    {
                        Type dataType = col.DataType;
                        string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}";
                        columnNameList.Add(JsonConvert.DeserializeObject(ColmString));  //获取到DataColumn列对象的列名
                    }
                    objJsonResult.code = "0";
                    objJsonResult.count = 1;
                    objJsonResult.Message = "成功!";
                    objJsonResult.data = ds.Tables[0];
                    objJsonResult.list = columnNameList;
                    return objJsonResult;
                }
            }
            catch (Exception e)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "根据物料返回缓存列表条码信息失败!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
    }
}
WebAPI/Controllers/¼ìÑéÉêÇëµ¥/QC_RequestCheckBillController.cs
New file
@@ -0,0 +1,876 @@
using DBUtility;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Web.Http;
using WebAPI.Models;
namespace WebAPI.Controllers
{
    public class QC_RequestCheckBillController : ApiController
    {
        public DBUtility.ClsPub.Enum_BillStatus BillStatus;
        private json objJsonResult = new json();
        public DataSet ds = new DataSet();
        public SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
        Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();
        public DLL.ClsQC_RequestCheckBill BillNew0 = new DLL.ClsQC_RequestCheckBill();
        public DLL.ClsQC_RequestCheckBill BillOld0 = new DLL.ClsQC_RequestCheckBill();
        #region æ£€éªŒç”³è¯·å•列表
        [Route("QC_RequestCheckBill/GetRequestCheckBillList")]
        [HttpGet]
        public object GetRequestCheckBillList(string sWhere, string user)
        {
            try
            {
                List<object> columnNameList = new List<object>();
                //判断查询权限
                if (!DBUtility.ClsPub.Security_Log("QC_RequestCheckBill_Query", 1, false, user))
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "无查询权限!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                ds = oCn.RunProcReturn("select * from h_v_QC_RequestCheckBillList_Search " + sWhere + " order by æ—¥æœŸ desc, hmainid desc", "h_v_QC_RequestCheckBillList_Search");
                foreach (DataColumn col in ds.Tables[0].Columns)
                {
                    Type dataType = col.DataType;
                    string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}";
                    columnNameList.Add(JsonConvert.DeserializeObject(ColmString));
                }
                objJsonResult.code = "1";
                objJsonResult.count = 1;
                objJsonResult.Message = "Success!";
                objJsonResult.data = ds.Tables[0];
                objJsonResult.list = columnNameList;
                return objJsonResult;
            }
            catch (Exception ex)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "没有返回任何记录!" + ex.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #endregion
        #region æ£€éªŒç”³è¯·å•删除
        [Route("QC_RequestCheckBill/set_DeleteBill")]
        [HttpGet]
        public object set_DeleteBill(string HInterID, string user)
        {
            // ç¼–辑权限检查
            if (!DBUtility.ClsPub.Security_Log_second("QC_RequestCheckBill_Drop", 1, false, user))
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "无删除权限!";
                objJsonResult.data = null;
                return objJsonResult;
            }
            Int64 lngBillKey = DBUtility.ClsPub.isLong(HInterID);
            if (lngBillKey == 0)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "单据ID为空!";
                objJsonResult.data = null;
                return objJsonResult;
            }
            DLL.ClsQC_RequestCheckBill oBill = new DLL.ClsQC_RequestCheckBill();
            if (oBill.ShowBill(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo))
            {
                if (oBill.omodel.HBillStatus > 1)
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "单据当前处于不能删除状态,不能删除!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                if (oBill.omodel.HChecker != "" && oBill.omodel.HChecker != null)
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "单据已经审核,不能删除!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                string s = "";
                if (!DBUtility.Xt_BaseBillFun.Fun_AllowDeleteBill(oBill, ref s))
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = s + ",不允许删除";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                // ä¼šè®¡æœŸé—´åˆ¤æ–­
                int sYear = 0;
                int sPeriod = 0;
                DateTime HDate = DateTime.Now;
                if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(HDate, ref sYear, ref sPeriod, ref s) == false)
                {
                    objJsonResult.Message = s;
                    return objJsonResult;
                }
                bool IsDete = oBill.DeleteBill(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo);
                if (IsDete)
                {
                    objJsonResult.code = "1";
                    objJsonResult.count = 1;
                    objJsonResult.Message = DBUtility.ClsPub.sExeReturnInfo;
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                else
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = DBUtility.ClsPub.sExeReturnInfo;
                    objJsonResult.data = null;
                    return objJsonResult;
                }
            }
            else
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "单据未找到";
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #endregion
        #region[检验申请单编辑时获取数据]
        [Route("QC_RequestCheckBill/GetRequestCheckBillDetail")]
        [HttpGet]
        public ApiResult<DataSet> QC_RequestCheckBillListCheckDetai(string HID)
        {
            if (string.IsNullOrEmpty(HID))
                return new ApiResult<DataSet> { code = -1, msg = "ID不能为空" };
            SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
            var dataSet = oCN.RunProcReturn("select * from h_v_IF_RequestCheckBillList  where hmainid= " + HID + " ", "h_v_Sc_MouldProdInHouseBillList");
            if (dataSet == null || dataSet.Tables[0].Rows.Count == 0)
                return new ApiResult<DataSet> { code = -1, msg = "不存在单号" };
            return new ApiResult<DataSet> { code = 1, msg = "查询成功", data = dataSet };
        }
        #endregion
        #region æ ¹æ®ç‰©æ–™å†…码获取物料信息
        [Route("QC_RequestCheckBill/getMaterialByMaterID")]
        [HttpGet]
        public ApiResult<DataTable> getMaterialByMaterID(Int64 HMaterID)
        {
            SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
            string sql = "select a.HItemID HMaterID,a.HNumber HMaterNumber,a.HName HMaterName,a.HMaterRuleType,a.HModel HMaterModel,a.HUnitID, b.HNumber HUnitNumber, b.HName HUnitName, a.HMaterRuleExternType,  a.HMaterRuleExternType1" +
                " from Gy_Material AS a " +
                " LEFT OUTER JOIN Gy_Unit AS b on a.HUnitID = b.HItemID " +
                " where a.HItemID =" + HMaterID;
            var dataSet = oCN.RunProcReturn(sql, "Gy_Material");
            if (dataSet == null || dataSet.Tables[0].Rows.Count == 0)
                return new ApiResult<DataTable> { code = -1, msg = "不存在该物料" };
            return new ApiResult<DataTable> { code = 1, msg = "查询成功", data = dataSet.Tables[0] };
        }
        #endregion
        #region æ£€éªŒç”³è¯·å•审核/反审核
        [Route("QC_RequestCheckBill/set_CheckBill")]
        [HttpGet]
        public object set_CheckBill(int HInterID, string CurUserName)
        {
            string ModRightNameCheck = "QC_RequestCheckBill_Check";
            DBUtility.ClsPub.CurUserName = CurUserName;
            DLL.ClsQC_RequestCheckBill oBill = new DLL.ClsQC_RequestCheckBill();
            try
            {
                // å®¡æ ¸æƒé™æ£€æŸ¥
                if (!DBUtility.ClsPub.Security_Log_second(ModRightNameCheck, 1, false, CurUserName))
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "审核失败!无权限!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                // å®¡æ ¸å‰åˆ¤æ–­
                string s = "";
                if (!DBUtility.Xt_BaseBillFun.Fun_AllowCheckBill(oBill, ref s))
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = s + ",不允许审核";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                if (HInterID <= 0)
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "HInterID小于0!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                // æ£€æŸ¥å•据状态
                if (oBill.ShowBill(HInterID, ref DBUtility.ClsPub.sExeReturnInfo))
                {
                    if (oBill.omodel.HCloseMan.Trim() != "")
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = "单据已关闭!不能再次审核!";
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                    if (oBill.omodel.HDeleteMan.Trim() != "")
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = "单据已作废!不能再次审核!";
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                    if (oBill.omodel.HChecker.Trim() != "")
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = "单据已审核!不能再次审核!";
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                }
                else
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "单据不存在!原因:" + DBUtility.ClsPub.sExeReturnInfo;
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                // ä¼šè®¡æœŸé—´åˆ¤æ–­
                int sYear = 0;
                int sPeriod = 0;
                DateTime HDate = DateTime.Now;
                if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(HDate, ref sYear, ref sPeriod, ref s) == false)
                {
                    objJsonResult.Message = s;
                    return objJsonResult;
                }
                // æ‰§è¡Œå®¡æ ¸
                if (oBill.CheckBill(HInterID, ref DBUtility.ClsPub.sExeReturnInfo))
                {
                    objJsonResult.code = "1";
                    objJsonResult.count = 1;
                    objJsonResult.Message = "审核成功";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                else
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "审核失败!原因:" + DBUtility.ClsPub.sExeReturnInfo;
                    objJsonResult.data = null;
                    return objJsonResult;
                }
            }
            catch (Exception e)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "审核失败!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        [Route("QC_RequestCheckBill/set_AbandonCheck")]
        [HttpGet]
        public object set_AbandonCheck(int HInterID, string CurUserName)
        {
            string ModRightNameCheck = "QC_RequestCheckBill_Check";
            DBUtility.ClsPub.CurUserName = CurUserName;
            DLL.ClsQC_RequestCheckBill oBill = new DLL.ClsQC_RequestCheckBill();
            try
            {
                //权限检查
                if (!DBUtility.ClsPub.Security_Log_second(ModRightNameCheck, 1, false, CurUserName))
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "反审核失败!无权限!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                string s = "";
                if (!DBUtility.Xt_BaseBillFun.Fun_AllowCheckBill(oBill, ref s))
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = s + ",不允许反审核";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                if (HInterID <= 0)
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "HInterID小于0!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                // æ£€æŸ¥å•据状态
                if (oBill.ShowBill(HInterID, ref DBUtility.ClsPub.sExeReturnInfo))
                {
                    if (oBill.omodel.HCloseMan.Trim() != "")
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = "单据已关闭!不能反审核!";
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                    if (oBill.omodel.HDeleteMan.Trim() != "")
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = "单据已作废!不能反审核!";
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                    if (oBill.omodel.HChecker.Trim() == "")
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = "单据未审核!不需要反审核!";
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                }
                else
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "单据不存在!原因:" + DBUtility.ClsPub.sExeReturnInfo;
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                // ä¼šè®¡æœŸé—´åˆ¤æ–­
                int sYear = 0;
                int sPeriod = 0;
                DateTime HDate = DateTime.Now;
                if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(HDate, ref sYear, ref sPeriod, ref s) == false)
                {
                    objJsonResult.Message = s;
                    return objJsonResult;
                }
                // æ‰§è¡Œåå®¡æ ¸
                if (oBill.AbandonCheck(HInterID, ref DBUtility.ClsPub.sExeReturnInfo))
                {
                    objJsonResult.code = "1";
                    objJsonResult.count = 1;
                    objJsonResult.Message = "反审核成功";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                else
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "反审核失败!原因:" + DBUtility.ClsPub.sExeReturnInfo;
                    objJsonResult.data = null;
                    return objJsonResult;
                }
            }
            catch (Exception e)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "反审核失败!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #endregion
        #region è´¨æ£€ç”³è¯·å•保存/编辑
        [Route("QC_RequestCheckBill/SaveRequestCheckBill")]
        [HttpPost]
        public object SaveRequestCheckBill([FromBody] JObject msg)
        {
            var _value = msg["msg"].ToString();
            string msg1 = _value.ToString();
            string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
            string msg2 = sArray[0].ToString(); // ä¸»è¡¨æ•°æ®
            string msg3 = sArray[1].ToString(); // å­è¡¨æ•°æ®
            string refSav = sArray[2].ToString(); // æ“ä½œç±»åž‹
            string msg4 = sArray[3].ToString(); // ç”¨æˆ·
            DBUtility.ClsPub.CurUserName = msg4;
            string UserName = "";
            string s = "";
            ListModels oListModels = new ListModels();
            try
            {
                // ç¼–辑权限检查
                if (!DBUtility.ClsPub.Security_Log_second("QC_RequestCheckBill_Edit", 1, false, msg4))
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "无保存权限!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                DLL.ClsQC_RequestCheckBill oBill = new DLL.ClsQC_RequestCheckBill();
                List<Models.ClsQC_RequestCheckBillMain> lsmain = new List<Models.ClsQC_RequestCheckBillMain>();
                msg2 = msg2.Replace("\\", "").Replace("\n", "");
                // éœ€è¦å…ˆå®žçŽ°è¿™ä¸ªæ–¹æ³•
                lsmain = oListModels.getObjectByJson_QC_RequestCheckBillMain1(msg2);
                foreach (Models.ClsQC_RequestCheckBillMain oItem in lsmain)
                {
                    if (refSav == "Add")
                    {
                        // æ£€æŸ¥å•据号是否重复
                        if (BillNew0.IsExistBillNo(ref ClsPub.sExeReturnInfo, oItem.HBillNo, BillStatus, BillOld0.omodel.HInterID))
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 0;
                            objJsonResult.Message = "单据号重复!不允许保存!";
                            objJsonResult.data = 1;
                            return objJsonResult;
                        }
                    }
                    if (refSav == "Update")
                    {
                        if (BillOld0.ShowBill(oItem.HInterID, ref s) == false)
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 0;
                            objJsonResult.Message = "此单据有误!";
                            objJsonResult.data = 1;
                            return objJsonResult;
                        }
                        if (BillOld0.omodel.HChecker != "" && BillOld0.omodel.HChecker != null)
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 0;
                            objJsonResult.Message = "此单据已经被审核,不允许修改!";
                            objJsonResult.data = 1;
                            return objJsonResult;
                        }
                        if (BillOld0.omodel.HBillStatus > 1)
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 0;
                            objJsonResult.Message = "此单据处于不可编辑状态,不允许修改!";
                            objJsonResult.data = 1;
                            return objJsonResult;
                        }
                        if (!DBUtility.Xt_BaseBillFun.Fun_AllowEditBill(BillOld0, ref s))
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 0;
                            objJsonResult.Message = s + ",不允许修改";
                            objJsonResult.data = 1;
                            return objJsonResult;
                        }
                    }
                    UserName = oItem.HMaker;
                    oItem.HBillType = "7525"; // è´¨æ£€ç”³è¯·å•类型
                    oItem.HYear = DateTime.Now.Year;  // ä¿®æ­£ï¼šç›´æŽ¥ä½¿ç”¨int类型
                    oItem.HPeriod = DateTime.Now.Month; // ä¿®æ­£ï¼šç›´æŽ¥ä½¿ç”¨int类型
                    oItem.HMakeDate = DateTime.Now; // ä¿®æ­£ï¼šç›´æŽ¥ä½¿ç”¨DateTime类型
                    if (oItem.HDate == DateTime.MinValue)
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = "保存失败!没有单据日期,无法保存!";
                        objJsonResult.data = 1;
                        return objJsonResult;
                    }
                    oBill.omodel = oItem;
                }
                // å¤„理子表数据
                msg3 = msg3.Substring(1, msg3.Length - 2);
                msg3 = msg3.Replace("\\", "").Replace("\n", "");
                List<Models.ClsQC_RequestCheckBillSub> ls = new List<Models.ClsQC_RequestCheckBillSub>();
                // éœ€è¦å…ˆå®žçŽ°è¿™ä¸ªæ–¹æ³•
                ls = oListModels.getObjectByJson_QC_RequestCheckBillSub(msg3);
                int i = 0;
                foreach (Models.ClsQC_RequestCheckBillSub oItemSub in ls)
                {
                    i++;
                    oItemSub.HEntryID = i;
                    oItemSub.HEntryCloseDate = null;
                    oItemSub.HCloseType = false;
                    oItemSub.HSourceInterID = 0;
                    oItemSub.HSourceEntryID = 0;
                    oBill.DetailColl.Add(oItemSub);
                }
                // ä¼šè®¡æœŸé—´åˆ¤æ–­
                int sYear = 0;
                int sPeriod = 0;
                DateTime HDate = DateTime.Now;
                if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(HDate, ref sYear, ref sPeriod, ref s) == false)
                {
                    objJsonResult.Message = s;
                    return objJsonResult;
                }
                // æ‰§è¡Œä¿å­˜
                bool bResult;
                if (refSav == "Add")
                {
                    bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo);
                }
                else if (refSav == "Update")
                {
                    bResult = oBill.ModifyBill(oBill.omodel.HInterID, ref DBUtility.ClsPub.sExeReturnInfo);
                }
                else
                {
                    bResult = false;
                }
                if (bResult)
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 1;
                    objJsonResult.Message = "保存成功!";
                    objJsonResult.data = 1;
                    return objJsonResult;
                }
                else
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "保存失败!" + DBUtility.ClsPub.sExeReturnInfo;
                    objJsonResult.data = 1;
                    return objJsonResult;
                }
            }
            catch (Exception e)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "保存失败!" + e.ToString();
                objJsonResult.data = 1;
                return objJsonResult;
            }
        }
        #endregion
        #region è´¨æ£€ç”³è¯·å•关闭/反关闭
        [Route("QC_RequestCheckBill/CloseRequestCheckBill")]
        [HttpGet]
        public object CloseRequestCheckBill(int HInterID, int IsAudit, string CurUserName)
        {
            string ModRightNameCheck = "QC_RequestCheckBill_Close";
            DBUtility.ClsPub.CurUserName = CurUserName;
            try
            {
                //权限检查
                if (!DBUtility.ClsPub.Security_Log_second(ModRightNameCheck, 1, false, CurUserName))
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "关闭失败!无权限!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                if (HInterID <= 0)
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "HInterID小于0!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                // ä¿®æ­£ï¼šä½¿ç”¨ DLL å‘½åç©ºé—´è€Œä¸æ˜¯ DAL
                WebAPI.DLL.ClsQC_RequestCheckBill oBill = new WebAPI.DLL.ClsQC_RequestCheckBill();
                // æ£€æŸ¥å•据状态
                if (oBill.ShowBill(HInterID, ref DBUtility.ClsPub.sExeReturnInfo))
                {
                    if (oBill.omodel.HDeleteMan.Trim() != "")
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = "单据已作废!不能进行关闭!";
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                    if (oBill.omodel.HChecker.Trim() == "")
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = "单据未审核!不能进行关闭!";
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                    if (IsAudit == 0 && oBill.omodel.HCloseMan.Trim() != "")
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = "单据已关闭!不能再次关闭!";
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                    if (IsAudit == 1 && oBill.omodel.HCloseMan.Trim() == "")
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = "单据未关闭!不需要反关闭!";
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                }
                else
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "单据不存在!原因:" + DBUtility.ClsPub.sExeReturnInfo;
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                // æ‰§è¡Œæ“ä½œ
                if (IsAudit == 0)
                {
                    if (oBill.CloseBill(HInterID, ref DBUtility.ClsPub.sExeReturnInfo))
                    {
                        objJsonResult.code = "1";
                        objJsonResult.count = 1;
                        objJsonResult.Message = "关闭成功";
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                    else
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = "关闭失败!原因:" + DBUtility.ClsPub.sExeReturnInfo;
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                }
                else
                {
                    if (oBill.CancelClose(HInterID, ref DBUtility.ClsPub.sExeReturnInfo))
                    {
                        objJsonResult.code = "1";
                        objJsonResult.count = 1;
                        objJsonResult.Message = "反关闭成功";
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                    else
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = "反关闭失败!原因:" + DBUtility.ClsPub.sExeReturnInfo;
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                }
            }
            catch (Exception e)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "操作失败!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #endregion
        #region è´¨æ£€ç”³è¯·å•作废/反作废
        [Route("QC_RequestCheckBill/DeleteRequestCheckBill")]
        [HttpGet]
        public object DeleteRequestCheckBill(int HInterID, int IsAudit, string CurUserName)
        {
            string ModRightNameCheck = "QC_RequestCheckBill_Delete";
            DBUtility.ClsPub.CurUserName = CurUserName;
            try
            {
                //权限检查
                if (!DBUtility.ClsPub.Security_Log_second(ModRightNameCheck, 1, false, CurUserName))
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "作废失败!无权限!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                if (HInterID <= 0)
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "HInterID小于0!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                WebAPI.DLL.ClsQC_RequestCheckBill oBill = new WebAPI.DLL.ClsQC_RequestCheckBill();
                // æ£€æŸ¥å•据状态
                if (oBill.ShowBill(HInterID, ref DBUtility.ClsPub.sExeReturnInfo))
                {
                    if (oBill.omodel.HChecker.Trim() != "")
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = "单据已审核!不能进行作废!";
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                    if (IsAudit == 0 && oBill.omodel.HDeleteMan.Trim() != "")
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = "单据已作废!不能再作废!";
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                    if (IsAudit == 1 && oBill.omodel.HDeleteMan.Trim() == "")
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = "单据未作废!不需要反作废!";
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                }
                else
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "单据不存在!原因:" + DBUtility.ClsPub.sExeReturnInfo;
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                // æ‰§è¡Œæ“ä½œ
                if (IsAudit == 0)
                {
                    if (oBill.Cancelltion(HInterID, ref DBUtility.ClsPub.sExeReturnInfo))
                    {
                        objJsonResult.code = "1";
                        objJsonResult.count = 1;
                        objJsonResult.Message = "作废成功";
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                    else
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = "作废失败!原因:" + DBUtility.ClsPub.sExeReturnInfo;
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                }
                else
                {
                    if (oBill.AbandonCancelltion(HInterID, ref DBUtility.ClsPub.sExeReturnInfo))
                    {
                        objJsonResult.code = "1";
                        objJsonResult.count = 1;
                        objJsonResult.Message = "反作废成功";
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                    else
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = "反作废失败!原因:" + DBUtility.ClsPub.sExeReturnInfo;
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                }
            }
            catch (Exception e)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "操作失败!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #endregion
    }
}
WebAPI/DLL/ClsQC_RequestCheckBill.cs
New file
@@ -0,0 +1,477 @@
using System;
using System.Collections.Generic;
using System.Data;
using WebAPI.Models;
namespace WebAPI.DLL
{
    public class ClsQC_RequestCheckBill : DBUtility.ClsXt_BaseBill
    {
        public Models.ClsQC_RequestCheckBillMain omodel = new Models.ClsQC_RequestCheckBillMain();
        public List<Models.ClsQC_RequestCheckBillSub> DetailColl = new List<Models.ClsQC_RequestCheckBillSub>();
        public ClsQC_RequestCheckBill()
        {
            base.MvarItemKeySub = "QC_RequestCheckBillSub";
            base.MvarItemKeySub2 = "";
            base.MvarItemKeySub3 = "";
            base.MvarItemKeySub4 = "";
            base.MvarItemKey = "QC_RequestCheckBillMain";
            base.MvarReportTitle = "检验申请单";
            base.BillType = "7525";
            base.HBillSubType = "7525";
        }
        #region å›ºå®šä»£ç 
        ~ClsQC_RequestCheckBill()
        {
            DetailColl = null;
        }
        #endregion
        //修改单据
        public override bool ModifyBill(Int64 lngBillKey, ref string sReturn)
        {
            try
            {
                oCn.BeginTran();
                string mainSql = "UpDate QC_RequestCheckBillMain set  " +
                " HBillNo='" + omodel.HBillNo + "'" +
                ",HDate='" + omodel.HDate.ToString("yyyy-MM-dd HH:mm:ss") + "'" +
                ",HYear='" + omodel.HYear.ToString() + "'" +
                ",HPeriod='" + omodel.HPeriod.ToString() + "'" +
                ",HRemark='" + omodel.HRemark + "'" +
                ",HUpDater='" + DBUtility.ClsPub.CurUserName + "'" +
                ",HUpDateDate=getdate()" +
                ",HDeptID=" + omodel.HDeptID.ToString() +
                ",HBatchNo='" + omodel.HBatchNo + "'" +
                ",HCheckEmp=" + omodel.HCheckEmp.ToString() +
                ",HProcID=" + omodel.HProcID.ToString() +
                ",HGroupID=" + omodel.HGroupID.ToString() +
                ",HShiftsID=" + omodel.HShiftsID.ToString() +
                ",HTestType='" + omodel.HTestType + "'" +
                ",HSourceOrgID=" + omodel.HSourceOrgID.ToString() +
                ",HInspectOrgID=" + omodel.HInspectOrgID.ToString() +
                ",HSourceID=" + omodel.HSourceID.ToString() +
                ",HBackRemark='" + omodel.HBackRemark + "'" +
                " where HInterID=" + lngBillKey.ToString();
                //更新主表
                oCn.RunProc(mainSql);
                //删除关联
                DeleteRelation(ref sReturn, lngBillKey);
                //删除子表
                DeleteBillSub(lngBillKey);
                //插入子表
                omodel.HInterID = (int)lngBillKey;
                foreach (Models.ClsQC_RequestCheckBillSub oSub in DetailColl)
                {
                    string entryCloseDate = oSub.HEntryCloseDate.HasValue ?
                        "'" + oSub.HEntryCloseDate.Value.ToString("yyyy-MM-dd HH:mm:ss") + "'" : "NULL";
                    string subSql = "Insert into QC_RequestCheckBillSub " +
                      " (HInterID,HEntryID,HCloseMan,HEntryCloseDate,HCloseType,HRemark" +
                      ",HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HRelationQty,HRelationMoney" +
                      ",HMaterID,HUnitID,HQty,HSampleDamageQty" +
                      ") values("
                      + omodel.HInterID.ToString() + "," + oSub.HEntryID.ToString() +
                      ",'" + oSub.HCloseMan + "'," + entryCloseDate +
                      "," + Convert.ToString(oSub.HCloseType ? 1 : 0) + ",'" + oSub.HRemark + "'" +
                      "," + oSub.HSourceInterID.ToString() + "," + oSub.HSourceEntryID.ToString() +
                      ",'" + oSub.HSourceBillNo + "','" + oSub.HSourceBillType +
                      "'," + oSub.HRelationQty.ToString() + "," + oSub.HRelationMoney.ToString() +
                      "," + oSub.HMaterID.ToString() + "," + oSub.HUnitID.ToString() +
                      "," + oSub.HQty.ToString() + "," + oSub.HSampleDamageQty.ToString() +
                      ") ";
                    oCn.RunProc(subSql);
                }
                sReturn = "修改单据成功!";
                oCn.Commit();
                return true;
            }
            catch (Exception e)
            {
                sReturn = e.Message;
                oCn.RollBack();
                throw;
            }
        }
        //新增单据
        public override bool AddBill(ref string sReturn)
        {
            try
            {
                //检查单据号和ID是否重复
                if (IsExistBillNo(ref DBUtility.ClsPub.sExeReturnInfo, omodel.HBillNo,
                    Pub_Class.ClsPub.Enum_BillStatus.BillStatus_AddNew, omodel.HInterID))
                {
                    omodel.HBillNo = DBUtility.ClsPub.CreateBillCode(BillType, ref DBUtility.ClsPub.sExeReturnInfo, true);
                }
                if (IsExistMainID(ref DBUtility.ClsPub.sExeReturnInfo, omodel.HInterID,
                    Pub_Class.ClsPub.Enum_BillStatus.BillStatus_AddNew))
                {
                    omodel.HInterID = (int)DBUtility.ClsPub.CreateBillID(BillType, ref DBUtility.ClsPub.sExeReturnInfo);
                }
                oCn.BeginTran();
                string mainSql = "Insert Into QC_RequestCheckBillMain   " +
                "(HBillType,HBillSubType,HInterID,HBillNo,HDate" +
                ",HYear,HPeriod,HRemark,HMaker,HMakeDate" +
                ",HBillStatus,HDeptID,HBatchNo,HCheckEmp,HProcID,HGroupID" +
                ",HShiftsID,HTestType,HSourceOrgID,HInspectOrgID,HSourceID" +
                ",HMainSourceBillType,HMainSourceInterID,HMainSourceEntryID,HMainSourceBillNo,HBackRemark" +
                ") " +
                " values('" + this.BillType + "','" + omodel.HBillSubType + "'," + omodel.HInterID.ToString() +
                ",'" + omodel.HBillNo + "','" + omodel.HDate.ToString("yyyy-MM-dd HH:mm:ss") + "'" +
                ", " + omodel.HYear.ToString() + "," + omodel.HPeriod.ToString() + ",'" + omodel.HRemark +
                "','" + DBUtility.ClsPub.CurUserName + "',getdate()" +
                ", 1" +
                ", " + omodel.HDeptID.ToString() + ",'" + omodel.HBatchNo + "'," + omodel.HCheckEmp.ToString() +
                "," + omodel.HProcID.ToString() + "," + omodel.HGroupID.ToString() +
                ", " + omodel.HShiftsID.ToString() + ",'" + omodel.HTestType + "'," + omodel.HSourceOrgID.ToString() +
                "," + omodel.HInspectOrgID.ToString() + "," + omodel.HSourceID.ToString() +
                ",'" + omodel.HMainSourceBillType + "'," + omodel.HMainSourceInterID.ToString() +
                "," + omodel.HMainSourceEntryID.ToString() + ",'" + omodel.HMainSourceBillNo + "','" + omodel.HBackRemark + "'" +
                ") ";
                //主表
                oCn.RunProc(mainSql);
                //插入子表
                foreach (Models.ClsQC_RequestCheckBillSub oSub in DetailColl)
                {
                    string entryCloseDate = oSub.HEntryCloseDate.HasValue ?
                        "'" + oSub.HEntryCloseDate.Value.ToString("yyyy-MM-dd HH:mm:ss") + "'" : "NULL";
                    string subSql = "Insert into QC_RequestCheckBillSub " +
                      " (HInterID,HEntryID,HCloseMan,HEntryCloseDate,HCloseType,HRemark" +
                      ",HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HRelationQty,HRelationMoney" +
                      ",HMaterID,HUnitID,HQty,HSampleDamageQty" +
                      ") values("
                      + omodel.HInterID.ToString() + "," + oSub.HEntryID.ToString() +
                      ",'" + oSub.HCloseMan + "'," + entryCloseDate +
                      "," + Convert.ToString(oSub.HCloseType ? 1 : 0) + ",'" + oSub.HRemark + "'" +
                      "," + oSub.HSourceInterID.ToString() + "," + oSub.HSourceEntryID.ToString() +
                      ",'" + oSub.HSourceBillNo + "','" + oSub.HSourceBillType +
                      "'," + oSub.HRelationQty.ToString() + "," + oSub.HRelationMoney.ToString() +
                      "," + oSub.HMaterID.ToString() + "," + oSub.HUnitID.ToString() +
                      "," + oSub.HQty.ToString() + "," + oSub.HSampleDamageQty.ToString() +
                      ") ";
                    oCn.RunProc(subSql);
                }
                sReturn = "新增单据成功!";
                oCn.Commit();
                return true;
            }
            catch (Exception e)
            {
                sReturn = e.Message;
                oCn.RollBack();
                throw;
            }
        }
        //显示单据
        public override bool ShowBill(Int64 lngBillKey, ref string sReturn)
        {
            try
            {
                //查询主表
                DataSet Ds = oCn.RunProcReturn("Select * from QC_RequestCheckBillMain Where HInterID=" + lngBillKey.ToString(), "QC_RequestCheckBillMain");
                if (Ds.Tables[0].Rows.Count == 0)
                {
                    sReturn = "单据未找到!";
                    return false;
                }
                //固定赋值
                omodel.HYear = DBUtility.ClsPub.isInt(Ds.Tables[0].Rows[0]["HYear"]);
                omodel.HPeriod = DBUtility.ClsPub.isInt(Ds.Tables[0].Rows[0]["HPeriod"]);
                omodel.HBillType = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HBillType"]);
                omodel.HBillSubType = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HBillSubType"]);
                omodel.HInterID = DBUtility.ClsPub.isInt(Ds.Tables[0].Rows[0]["HInterID"]);
                omodel.HDate = DBUtility.ClsPub.isDate(Ds.Tables[0].Rows[0]["HDate"]);
                omodel.HBillNo = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HBillNo"]);
                omodel.HBillStatus = DBUtility.ClsPub.isInt(Ds.Tables[0].Rows[0]["HBillStatus"]);
                omodel.HCheckItemNowID = DBUtility.ClsPub.isInt(Ds.Tables[0].Rows[0]["HCheckItemNowID"]);
                omodel.HCheckItemNextID = DBUtility.ClsPub.isInt(Ds.Tables[0].Rows[0]["HCheckItemNextID"]);
                omodel.HCheckFlowID = DBUtility.ClsPub.isInt(Ds.Tables[0].Rows[0]["HCheckFlowID"]);
                omodel.HRemark = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HRemark"]);
                omodel.HBacker = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HBacker"]);
                omodel.HBackDate = DBUtility.ClsPub.isDate(Ds.Tables[0].Rows[0]["HBackDate"]);
                omodel.HBackRemark = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HBackRemark"]);
                omodel.HChecker = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HChecker"]);
                omodel.HCheckDate = DBUtility.ClsPub.isDate(Ds.Tables[0].Rows[0]["HCheckDate"]);
                omodel.HMaker = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HMaker"]);
                omodel.HMakeDate = DBUtility.ClsPub.isDate(Ds.Tables[0].Rows[0]["HMakeDate"]);
                omodel.HUpDater = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HUpDater"]);
                omodel.HUpDateDate = DBUtility.ClsPub.isDate(Ds.Tables[0].Rows[0]["HUpDateDate"]);
                omodel.HCloseMan = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HCloseMan"]);
                omodel.HCloseDate = DBUtility.ClsPub.isDate(Ds.Tables[0].Rows[0]["HCloseDate"]);
                omodel.HCloseType = DBUtility.ClsPub.isBool(Ds.Tables[0].Rows[0]["HCloseType"]);
                omodel.HDeleteMan = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HDeleteMan"]);
                omodel.HDeleteDate = DBUtility.ClsPub.isDate(Ds.Tables[0].Rows[0]["HDeleteDate"]);
                omodel.HMainSourceBillType = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HMainSourceBillType"]);
                omodel.HMainSourceInterID = DBUtility.ClsPub.isInt(Ds.Tables[0].Rows[0]["HMainSourceInterID"]);
                omodel.HMainSourceEntryID = DBUtility.ClsPub.isInt(Ds.Tables[0].Rows[0]["HMainSourceEntryID"]);
                omodel.HMainSourceBillNo = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HMainSourceBillNo"]);
                omodel.HPrintQty = DBUtility.ClsPub.isInt(Ds.Tables[0].Rows[0]["HPrintQty"]);
                //自定义字段赋值
                omodel.HSourceID = DBUtility.ClsPub.isInt(Ds.Tables[0].Rows[0]["HSourceID"]);
                omodel.HDeptID = DBUtility.ClsPub.isInt(Ds.Tables[0].Rows[0]["HDeptID"]);
                omodel.HBatchNo = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HBatchNo"]);
                omodel.HCheckEmp = DBUtility.ClsPub.isInt(Ds.Tables[0].Rows[0]["HCheckEmp"]);
                omodel.HProcID = DBUtility.ClsPub.isInt(Ds.Tables[0].Rows[0]["HProcID"]);
                omodel.HGroupID = DBUtility.ClsPub.isInt(Ds.Tables[0].Rows[0]["HGroupID"]);
                omodel.HShiftsID = DBUtility.ClsPub.isInt(Ds.Tables[0].Rows[0]["HShiftsID"]);
                omodel.HTestType = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HTestType"]);
                omodel.HSourceOrgID = DBUtility.ClsPub.isInt(Ds.Tables[0].Rows[0]["HSourceOrgID"]);
                omodel.HInspectOrgID = DBUtility.ClsPub.isInt(Ds.Tables[0].Rows[0]["HInspectOrgID"]);
                //查询子表
                DataSet DsSub = oCn.RunProcReturn("Select * from QC_RequestCheckBillSub Where HInterID=" + lngBillKey.ToString(), "QC_RequestCheckBillSub");
                DetailColl.Clear();
                for (int i = 0; i < DsSub.Tables[0].Rows.Count; i++)
                {
                    Models.ClsQC_RequestCheckBillSub oSub = new Models.ClsQC_RequestCheckBillSub();
                    oSub.HInterID = DBUtility.ClsPub.isInt(DsSub.Tables[0].Rows[i]["HInterID"]);
                    oSub.HBillNo_bak = DBUtility.ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HBillNo_bak"]);
                    oSub.HEntryID = DBUtility.ClsPub.isInt(DsSub.Tables[0].Rows[i]["HEntryID"]);
                    oSub.HSourceInterID = DBUtility.ClsPub.isInt(DsSub.Tables[0].Rows[i]["HSourceInterID"]);
                    oSub.HSourceEntryID = DBUtility.ClsPub.isInt(DsSub.Tables[0].Rows[i]["HSourceEntryID"]);
                    oSub.HSourceBillType = DBUtility.ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HSourceBillType"]);
                    oSub.HSourceBillNo = DBUtility.ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HSourceBillNo"]);
                    oSub.HRelationQty = DBUtility.ClsPub.isDoule(DsSub.Tables[0].Rows[i]["HRelationQty"]); // ä½¿ç”¨ isDoule
                    oSub.HRelationMoney = DBUtility.ClsPub.isDoule(DsSub.Tables[0].Rows[i]["HRelationMoney"]);
                    oSub.HCloseMan = DBUtility.ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HCloseMan"]);
                    oSub.HCloseType = DBUtility.ClsPub.isBool(DsSub.Tables[0].Rows[i]["HCloseType"]);
                    oSub.HEntryCloseDate = DBUtility.ClsPub.isDate(DsSub.Tables[0].Rows[i]["HEntryCloseDate"]);
                    oSub.HRemark = DBUtility.ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HRemark"]);
                    oSub.HMaterID = DBUtility.ClsPub.isInt(DsSub.Tables[0].Rows[i]["HMaterID"]);
                    oSub.HUnitID = DBUtility.ClsPub.isInt(DsSub.Tables[0].Rows[i]["HUnitID"]);
                    oSub.HQty = DBUtility.ClsPub.isDoule(DsSub.Tables[0].Rows[i]["HQty"]);
                    oSub.HSampleDamageQty = DBUtility.ClsPub.isDoule(DsSub.Tables[0].Rows[i]["HSampleDamageQty"]);
                    DetailColl.Add(oSub);
                }
                sReturn = "显示单据成功!";
                return true;
            }
            catch (Exception e)
            {
                sReturn = e.Message;
                throw;
            }
        }
        //删除单据
        public override bool DeleteBill(Int64 lngBillKey, ref string sReturn)
        {
            try
            {
                oCn.BeginTran();
                //检查是否可以删除
                if (!CanDeleteBill(lngBillKey, ref sReturn))
                {
                    oCn.RollBack();
                    return false;
                }
                //删除关联表数据
                DeleteRelation(ref sReturn, lngBillKey);
                //删除子表
                oCn.RunProc("DELETE FROM QC_RequestCheckBillSub WHERE HInterID = " + lngBillKey);
                //删除主表
                oCn.RunProc("DELETE FROM QC_RequestCheckBillMain WHERE HInterID = " + lngBillKey);
                sReturn = "删除单据成功!";
                oCn.Commit();
                return true;
            }
            catch (Exception e)
            {
                sReturn = e.Message;
                oCn.RollBack();
                throw;
            }
        }
        //检查是否可以删除
        private bool CanDeleteBill(Int64 lngBillKey, ref string sReturn)
        {
            DataSet ds = oCn.RunProcReturn(
                "SELECT HBillStatus, HChecker FROM QC_RequestCheckBillMain WHERE HInterID = " + lngBillKey,
                "QC_RequestCheckBillMain");
            if (ds.Tables[0].Rows.Count == 0)
            {
                sReturn = "单据不存在!";
                return false;
            }
            int billStatus = DBUtility.ClsPub.isInt(ds.Tables[0].Rows[0]["HBillStatus"]);
            string checker = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HChecker"]);
            if (billStatus > 1)
            {
                sReturn = "单据当前处于不能删除状态!";
                return false;
            }
            if (!string.IsNullOrEmpty(checker))
            {
                sReturn = "单据已经审核,不能删除!";
                return false;
            }
            return true;
        }
        // æ³¨æ„ï¼šä»¥ä¸‹æ–¹æ³•需要检查基类是否是 virtual æˆ– abstract
        // å¦‚果基类没有这些方法,需要删除或添加 new å…³é”®å­—
        // å®¡æ ¸å•据
        public new bool CheckBill(Int64 lngBillKey, ref string sReturn)
        {
            try
            {
                string sql = "Update QC_RequestCheckBillMain " +
                    " Set HChecker = '" + DBUtility.ClsPub.CurUserName +
                    "', HCheckDate = getdate(), HBillStatus = 2 " +
                    " Where HInterID = " + lngBillKey.ToString();
                oCn.RunProc(sql);
                sReturn = "审核单据成功!";
                return true;
            }
            catch (Exception e)
            {
                sReturn = "审核单据失败:" + e.Message;
                return false;
            }
        }
        // åå®¡æ ¸å•据
        public new bool AbandonCheck(Int64 lngBillKey, ref string sReturn)
        {
            try
            {
                string sql = "Update QC_RequestCheckBillMain " +
                    " Set HChecker = '', HCheckDate = NULL, HBillStatus = 1 " +
                    " Where HInterID = " + lngBillKey.ToString();
                oCn.RunProc(sql);
                sReturn = "反审核单据成功!";
                return true;
            }
            catch (Exception e)
            {
                sReturn = "反审核单据失败:" + e.Message;
                return false;
            }
        }
        // å…³é—­å•据
        public new bool CloseBill(Int64 lngBillKey, ref string sReturn)
        {
            try
            {
                string sql = "Update QC_RequestCheckBillMain " +
                    " Set HCloseMan = '" + DBUtility.ClsPub.CurUserName +
                    "', HCloseDate = getdate(), HBillStatus = 3 " +
                    " Where HInterID = " + lngBillKey.ToString();
                oCn.RunProc(sql);
                sReturn = "关闭单据成功!";
                return true;
            }
            catch (Exception e)
            {
                sReturn = "关闭单据失败:" + e.Message;
                return false;
            }
        }
        // åå…³é—­å•据
        public new bool CancelClose(Int64 lngBillKey, ref string sReturn)
        {
            try
            {
                string sql = "Update QC_RequestCheckBillMain " +
                    " Set HCloseMan = '', HCloseDate = NULL, HBillStatus = 2 " +
                    " Where HInterID = " + lngBillKey.ToString();
                oCn.RunProc(sql);
                sReturn = "反关闭单据成功!";
                return true;
            }
            catch (Exception e)
            {
                sReturn = "反关闭单据失败:" + e.Message;
                return false;
            }
        }
        // ä½œåºŸå•据
        public new bool Cancelltion(Int64 lngBillKey, ref string sReturn)
        {
            try
            {
                string sql = "Update QC_RequestCheckBillMain " +
                    " Set HDeleteMan = '" + DBUtility.ClsPub.CurUserName +
                    "', HDeleteDate = getdate(), HBillStatus = 4 " +
                    " Where HInterID = " + lngBillKey.ToString();
                oCn.RunProc(sql);
                sReturn = "作废单据成功!";
                return true;
            }
            catch (Exception e)
            {
                sReturn = "作废单据失败:" + e.Message;
                return false;
            }
        }
        // åä½œåºŸå•据
        public new bool AbandonCancelltion(Int64 lngBillKey, ref string sReturn)
        {
            try
            {
                string sql = "Update QC_RequestCheckBillMain " +
                    " Set HDeleteMan = '', HDeleteDate = NULL, HBillStatus = 1 " +
                    " Where HInterID = " + lngBillKey.ToString();
                oCn.RunProc(sql);
                sReturn = "反作废单据成功!";
                return true;
            }
            catch (Exception e)
            {
                sReturn = "反作废单据失败:" + e.Message;
                return false;
            }
        }
    }
}
WebAPI/ListModels.cs
@@ -4342,10 +4342,44 @@
        /// <summary>
        /// å°†JSON字符串转换为质检申请单子表对象列表
        /// </summary>
        /// <param name="jsonString">JSON字符串</param>
        /// <returns>质检申请单子表对象列表</returns>
        public List<Models.ClsQC_RequestCheckBillSub> getObjectByJson_QC_RequestCheckBillSub(string jsonString)
        {
            // å¦‚æžœjsonString已经是数组格式(以[开头,以]结尾),就不需要再加[]
            if (!jsonString.StartsWith("[") && !jsonString.EndsWith("]"))
            {
                jsonString = "[" + jsonString + "]";
            }
            List<Models.ClsQC_RequestCheckBillSub> list = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Models.ClsQC_RequestCheckBillSub>>(jsonString);
            return list;
        }
        /// <summary>
        /// å°†JSON字符串转换为质检申请单主表对象列表
        /// </summary>
        /// <param name="jsonString">JSON字符串</param>
        /// <returns>质检申请单主表对象列表</returns>
        public List<Models.ClsQC_RequestCheckBillMain> getObjectByJson_QC_RequestCheckBillMain1(string jsonString)
        {
            // å¦‚æžœjsonString已经是数组格式(以[开头,以]结尾),就不需要再加[]
            if (!jsonString.StartsWith("[") && !jsonString.EndsWith("]"))
            {
                jsonString = "[" + jsonString + "]";
            }
            List<Models.ClsQC_RequestCheckBillMain> list = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Models.ClsQC_RequestCheckBillMain>>(jsonString);
            return list;
        }
        /// <summary>
        /// 
        /// </summary>
        /// <param name="jsonString"></param>
        /// <returns></returns>
        /// <returns></returns>
        public List<Models.ClsKf_ICStockBillMain> getObjectByJson_Kf_ICStockBillMain(string jsonString)
        {
            jsonString = "[" + jsonString.ToString() + "]";
WebAPI/Models/ClsQC_RequestCheckBillMain.cs
New file
@@ -0,0 +1,52 @@
using System;
namespace WebAPI.Models
{
    public class ClsQC_RequestCheckBillMain
    {
        // åŸºç¡€å­—段
        public int HYear { get; set; }
        public int HPeriod { get; set; }
        public string HBillType { get; set; }
        public string HBillSubType { get; set; }
        public int HInterID { get; set; }
        public DateTime HDate { get; set; }
        public string HBillNo { get; set; }
        public int HBillStatus { get; set; }
        public int HCheckItemNowID { get; set; }
        public int HCheckItemNextID { get; set; }
        public int HCheckFlowID { get; set; }
        public string HRemark { get; set; }
        public string HBacker { get; set; }
        public DateTime? HBackDate { get; set; }
        public string HBackRemark { get; set; }
        public string HChecker { get; set; }
        public DateTime? HCheckDate { get; set; }
        public string HMaker { get; set; }
        public DateTime? HMakeDate { get; set; }
        public string HUpDater { get; set; }
        public DateTime? HUpDateDate { get; set; }
        public string HCloseMan { get; set; }
        public DateTime? HCloseDate { get; set; }
        public bool HCloseType { get; set; }
        public string HDeleteMan { get; set; }
        public DateTime? HDeleteDate { get; set; }
        public string HMainSourceBillType { get; set; }
        public int HMainSourceInterID { get; set; }
        public int HMainSourceEntryID { get; set; }
        public string HMainSourceBillNo { get; set; }
        public int HPrintQty { get; set; }
        // è‡ªå®šä¹‰å­—段
        public int HSourceID { get; set; }
        public int HDeptID { get; set; }
        public string HBatchNo { get; set; }
        public int HCheckEmp { get; set; }
        public int HProcID { get; set; }
        public int HGroupID { get; set; }
        public int HShiftsID { get; set; }
        public string HTestType { get; set; }
        public int HSourceOrgID { get; set; }
        public int HInspectOrgID { get; set; }
    }
}
WebAPI/Models/ClsQC_RequestCheckBillSub.cs
New file
@@ -0,0 +1,32 @@
using System;
namespace WebAPI.Models
{
    public class ClsQC_RequestCheckBillSub
    {
        // ä¸»è¡¨å…³è”字段
        public int HInterID { get; set; }
        public string HBillNo_bak { get; set; }
        public int HEntryID { get; set; }
        // çŠ¶æ€å­—æ®µ
        public string HCloseMan { get; set; }
        public DateTime? HEntryCloseDate { get; set; }
        public bool HCloseType { get; set; }
        public string HRemark { get; set; }
        // æºå•关联字段
        public int HSourceInterID { get; set; }
        public int HSourceEntryID { get; set; }
        public string HSourceBillNo { get; set; }
        public string HSourceBillType { get; set; }
        public double HRelationQty { get; set; }      // dec(18,8) å¯¹åº” double
        public double HRelationMoney { get; set; }    // dec(18,8) å¯¹åº” double
        // è‡ªå®šä¹‰å­—段
        public int HMaterID { get; set; }
        public int HUnitID { get; set; }
        public double HQty { get; set; }              // money å¯¹åº” double
        public double HSampleDamageQty { get; set; }  // dec(18,8) å¯¹åº” double
    }
}
WebAPI/Properties/PublishProfiles/FolderProfile11.pubxml.user
New file
@@ -0,0 +1,510 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
https://go.microsoft.com/fwlink/?LinkID=208121.
-->
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup>
    <_PublishTargetUrl>D:\gz\网站发布\MES-WEB-API</_PublishTargetUrl>
    <History>True|2025-12-29T08:07:54.9198175Z;True|2025-12-29T16:03:22.7326283+08:00;True|2025-12-29T14:48:43.2998704+08:00;True|2025-12-29T13:15:31.9190907+08:00;False|2025-12-29T13:14:50.6997009+08:00;False|2025-12-29T13:14:43.3747902+08:00;True|2025-12-29T11:23:10.8799366+08:00;True|2025-12-29T10:28:51.7449005+08:00;True|2025-12-29T10:16:49.3899978+08:00;True|2025-12-29T10:12:43.7936956+08:00;True|2025-12-29T10:11:56.0271637+08:00;True|2025-12-29T08:50:47.5622375+08:00;False|2025-12-29T08:50:28.9083964+08:00;True|2025-12-26T17:03:30.4685598+08:00;True|2025-12-26T15:03:24.1797813+08:00;True|2025-12-26T14:44:52.6944631+08:00;True|2025-12-26T14:39:46.7764533+08:00;True|2025-12-26T14:36:47.1612784+08:00;True|2025-12-26T14:32:05.2128659+08:00;True|2025-12-26T14:29:20.7607039+08:00;True|2025-12-26T08:47:33.3798643+08:00;True|2025-12-26T08:20:29.5411144+08:00;True|2025-12-26T08:16:26.6662581+08:00;False|2025-12-26T08:16:07.5700329+08:00;True|2025-12-25T17:07:24.9496892+08:00;True|2025-12-25T17:04:00.1314291+08:00;True|2025-12-25T16:53:07.6258358+08:00;True|2025-12-25T16:47:09.1816088+08:00;True|2025-12-25T11:23:19.3812293+08:00;True|2025-12-25T11:15:13.7273857+08:00;</History>
  </PropertyGroup>
  <ItemGroup>
    <File Include="apiapp.json">
      <publishTime>11/12/2025 10:43:48</publishTime>
    </File>
    <File Include="bin/AlibabaCloud.EndpointUtil.dll">
      <publishTime>04/07/2020 16:33:48</publishTime>
    </File>
    <File Include="bin/AlibabaCloud.GatewayDingTalk.dll">
      <publishTime>04/25/2023 17:49:04</publishTime>
    </File>
    <File Include="bin/AlibabaCloud.GatewaySpi.dll">
      <publishTime>07/31/2024 20:50:30</publishTime>
    </File>
    <File Include="bin/AlibabaCloud.OpenApiClient.dll">
      <publishTime>08/06/2024 18:07:52</publishTime>
    </File>
    <File Include="bin/AlibabaCloud.OpenApiUtil.dll">
      <publishTime>11/22/2022 11:24:18</publishTime>
    </File>
    <File Include="bin/AlibabaCloud.SDK.Dingtalk.dll">
      <publishTime>08/08/2024 19:43:22</publishTime>
    </File>
    <File Include="bin/AlibabaCloud.TeaUtil.dll">
      <publishTime>07/15/2024 20:25:56</publishTime>
    </File>
    <File Include="bin/AlibabaCloud.TeaXML.dll">
      <publishTime>08/03/2022 21:46:08</publishTime>
    </File>
    <File Include="bin/Aliyun.Credentials.dll">
      <publishTime>07/24/2024 10:36:58</publishTime>
    </File>
    <File Include="bin/Antlr3.Runtime.dll">
      <publishTime>02/22/2013 16:43:40</publishTime>
    </File>
    <File Include="bin/Antlr3.Runtime.pdb">
      <publishTime>02/22/2013 16:43:40</publishTime>
    </File>
    <File Include="bin/BLL.dll">
      <publishTime>12/25/2025 09:43:17</publishTime>
    </File>
    <File Include="bin/BLL.pdb">
      <publishTime>12/25/2025 09:43:17</publishTime>
    </File>
    <File Include="bin/BouncyCastle.Crypto.dll">
      <publishTime>12/18/2020 05:32:28</publishTime>
    </File>
    <File Include="bin/DAL.dll">
      <publishTime>12/25/2025 09:43:16</publishTime>
    </File>
    <File Include="bin/DAL.pdb">
      <publishTime>12/25/2025 09:43:16</publishTime>
    </File>
    <File Include="bin/Dapper.dll">
      <publishTime>07/22/2016 22:52:40</publishTime>
    </File>
    <File Include="bin/DBUtility.dll">
      <publishTime>12/25/2025 09:43:13</publishTime>
    </File>
    <File Include="bin/DBUtility.pdb">
      <publishTime>12/25/2025 09:43:13</publishTime>
    </File>
    <File Include="bin/Grpc.Core.Api.dll">
      <publishTime>03/22/2022 13:17:26</publishTime>
    </File>
    <File Include="bin/Grpc.Core.Api.pdb">
      <publishTime>03/19/2022 07:39:42</publishTime>
    </File>
    <File Include="bin/Grpc.Core.dll">
      <publishTime>03/22/2022 13:17:20</publishTime>
    </File>
    <File Include="bin/Grpc.Core.pdb">
      <publishTime>03/19/2022 07:39:48</publishTime>
    </File>
    <File Include="bin/grpc_csharp_ext.x64.dll">
      <publishTime>03/22/2022 13:17:22</publishTime>
    </File>
    <File Include="bin/grpc_csharp_ext.x86.dll">
      <publishTime>03/22/2022 13:17:22</publishTime>
    </File>
    <File Include="bin/ICSharpCode.SharpZipLib.dll">
      <publishTime>05/09/2021 01:08:30</publishTime>
    </File>
    <File Include="bin/ICSharpCode.SharpZipLib.pdb">
      <publishTime>05/09/2021 01:08:30</publishTime>
    </File>
    <File Include="bin/Kingdee.BOS.WebApi.Client.dll">
      <publishTime>11/12/2025 10:43:47</publishTime>
    </File>
    <File Include="bin/libgrpc_csharp_ext.x64.dylib">
      <publishTime>03/19/2022 07:38:44</publishTime>
    </File>
    <File Include="bin/libgrpc_csharp_ext.x64.so">
      <publishTime>03/19/2022 07:38:42</publishTime>
    </File>
    <File Include="bin/Microsoft.Azure.AppService.ApiApps.Service.dll">
      <publishTime>03/19/2015 01:02:50</publishTime>
    </File>
    <File Include="bin/Microsoft.CSharp.dll">
      <publishTime>09/26/2012 03:16:08</publishTime>
    </File>
    <File Include="bin/Microsoft.Web.Infrastructure.dll">
      <publishTime>07/25/2012 19:48:56</publishTime>
    </File>
    <File Include="bin/Model.dll">
      <publishTime>12/25/2025 09:43:13</publishTime>
    </File>
    <File Include="bin/Model.pdb">
      <publishTime>12/25/2025 09:43:13</publishTime>
    </File>
    <File Include="bin/Models/ClsSc_MouldScrapOutBillMain.cs">
      <publishTime>11/12/2025 10:43:47</publishTime>
    </File>
    <File Include="bin/Newtonsoft.Json.dll">
      <publishTime>03/08/2023 15:09:56</publishTime>
    </File>
    <File Include="bin/NPOI.dll">
      <publishTime>10/23/2021 09:07:54</publishTime>
    </File>
    <File Include="bin/NPOI.OOXML.dll">
      <publishTime>10/23/2021 09:07:56</publishTime>
    </File>
    <File Include="bin/NPOI.OOXML.pdb">
      <publishTime>10/23/2021 17:07:56</publishTime>
    </File>
    <File Include="bin/NPOI.OpenXml4Net.dll">
      <publishTime>10/23/2021 09:07:54</publishTime>
    </File>
    <File Include="bin/NPOI.OpenXml4Net.pdb">
      <publishTime>10/23/2021 17:07:54</publishTime>
    </File>
    <File Include="bin/NPOI.OpenXmlFormats.dll">
      <publishTime>10/23/2021 09:07:54</publishTime>
    </File>
    <File Include="bin/NPOI.OpenXmlFormats.pdb">
      <publishTime>10/23/2021 17:07:54</publishTime>
    </File>
    <File Include="bin/NPOI.pdb">
      <publishTime>10/23/2021 17:07:54</publishTime>
    </File>
    <File Include="bin/Pub_Class.dll">
      <publishTime>12/25/2025 09:43:09</publishTime>
    </File>
    <File Include="bin/Pub_Class.pdb">
      <publishTime>12/25/2025 09:43:09</publishTime>
    </File>
    <File Include="bin/Pub_Control.dll">
      <publishTime>12/25/2025 09:43:11</publishTime>
    </File>
    <File Include="bin/Pub_Control.pdb">
      <publishTime>12/25/2025 09:43:11</publishTime>
    </File>
    <File Include="bin/RestSharp.dll">
      <publishTime>08/31/2012 06:22:50</publishTime>
    </File>
    <File Include="bin/SQLHelper.dll">
      <publishTime>12/25/2025 09:43:12</publishTime>
    </File>
    <File Include="bin/SQLHelper.pdb">
      <publishTime>12/25/2025 09:43:12</publishTime>
    </File>
    <File Include="bin/Swashbuckle.Core.dll">
      <publishTime>02/16/2015 01:57:08</publishTime>
    </File>
    <File Include="bin/SyntacticSugar.dll">
      <publishTime>12/24/2025 14:37:37</publishTime>
    </File>
    <File Include="bin/SyntacticSugar.pdb">
      <publishTime>12/24/2025 14:37:37</publishTime>
    </File>
    <File Include="bin/System.Buffers.dll">
      <publishTime>07/19/2017 18:01:28</publishTime>
    </File>
    <File Include="bin/System.ComponentModel.DataAnnotations.dll">
      <publishTime>09/26/2012 03:16:08</publishTime>
    </File>
    <File Include="bin/System.Configuration.dll">
      <publishTime>09/26/2012 03:16:08</publishTime>
    </File>
    <File Include="bin/System.Data.DataSetExtensions.dll">
      <publishTime>09/26/2012 03:16:08</publishTime>
    </File>
    <File Include="bin/System.Data.dll">
      <publishTime>09/26/2012 03:16:08</publishTime>
    </File>
    <File Include="bin/System.dll">
      <publishTime>09/26/2012 03:16:08</publishTime>
    </File>
    <File Include="bin/System.Drawing.dll">
      <publishTime>09/26/2012 03:16:08</publishTime>
    </File>
    <File Include="bin/System.EnterpriseServices.dll">
      <publishTime>09/26/2012 03:16:08</publishTime>
    </File>
    <File Include="bin/System.IdentityModel.Tokens.Jwt.dll">
      <publishTime>08/19/2014 18:03:34</publishTime>
    </File>
    <File Include="bin/System.Memory.dll">
      <publishTime>04/18/2019 00:24:34</publishTime>
    </File>
    <File Include="bin/System.Net.Http.dll">
      <publishTime>09/26/2012 03:16:08</publishTime>
    </File>
    <File Include="bin/System.Net.Http.Extensions.dll">
      <publishTime>02/20/2015 04:10:46</publishTime>
    </File>
    <File Include="bin/System.Net.Http.Formatting.dll">
      <publishTime>11/28/2018 21:00:36</publishTime>
    </File>
    <File Include="bin/System.Net.Http.Primitives.dll">
      <publishTime>02/20/2015 04:10:46</publishTime>
    </File>
    <File Include="bin/System.Runtime.CompilerServices.Unsafe.dll">
      <publishTime>09/19/2018 03:38:10</publishTime>
    </File>
    <File Include="bin/System.Runtime.Serialization.dll">
      <publishTime>09/26/2012 03:16:08</publishTime>
    </File>
    <File Include="bin/System.Web.ApplicationServices.dll">
      <publishTime>09/26/2012 03:16:08</publishTime>
    </File>
    <File Include="bin/System.Web.Cors.dll">
      <publishTime>11/28/2018 20:58:44</publishTime>
    </File>
    <File Include="bin/System.Web.dll">
      <publishTime>09/26/2012 03:16:08</publishTime>
    </File>
    <File Include="bin/System.Web.DynamicData.dll">
      <publishTime>09/26/2012 03:16:08</publishTime>
    </File>
    <File Include="bin/System.Web.Entity.dll">
      <publishTime>09/26/2012 03:16:08</publishTime>
    </File>
    <File Include="bin/System.Web.Extensions.dll">
      <publishTime>09/26/2012 03:16:08</publishTime>
    </File>
    <File Include="bin/System.Web.Helpers.dll">
      <publishTime>01/28/2015 12:04:30</publishTime>
    </File>
    <File Include="bin/System.Web.Http.Cors.dll">
      <publishTime>11/28/2018 21:01:26</publishTime>
    </File>
    <File Include="bin/System.Web.Http.dll">
      <publishTime>11/28/2018 21:01:00</publishTime>
    </File>
    <File Include="bin/System.Web.Http.WebHost.dll">
      <publishTime>11/12/2025 10:43:47</publishTime>
    </File>
    <File Include="bin/System.Web.Mvc.dll">
      <publishTime>01/28/2015 12:02:18</publishTime>
    </File>
    <File Include="bin/System.Web.Optimization.dll">
      <publishTime>02/11/2014 23:26:04</publishTime>
    </File>
    <File Include="bin/System.Web.Razor.dll">
      <publishTime>01/28/2015 12:02:32</publishTime>
    </File>
    <File Include="bin/System.Web.Services.dll">
      <publishTime>09/26/2012 03:16:08</publishTime>
    </File>
    <File Include="bin/System.Web.WebPages.Deployment.dll">
      <publishTime>01/28/2015 12:04:30</publishTime>
    </File>
    <File Include="bin/System.Web.WebPages.dll">
      <publishTime>01/28/2015 12:04:30</publishTime>
    </File>
    <File Include="bin/System.Web.WebPages.Razor.dll">
      <publishTime>01/28/2015 12:04:30</publishTime>
    </File>
    <File Include="bin/System.Xml.dll">
      <publishTime>09/26/2012 03:16:08</publishTime>
    </File>
    <File Include="bin/System.Xml.Linq.dll">
      <publishTime>09/26/2012 03:16:08</publishTime>
    </File>
    <File Include="bin/Tea.dll">
      <publishTime>05/09/2023 10:43:40</publishTime>
    </File>
    <File Include="bin/TopSdk.dll">
      <publishTime>12/24/2025 14:37:37</publishTime>
    </File>
    <File Include="bin/TopSdk.pdb">
      <publishTime>12/24/2025 14:37:37</publishTime>
    </File>
    <File Include="bin/WebActivatorEx.dll">
      <publishTime>11/24/2014 19:18:48</publishTime>
    </File>
    <File Include="bin/WebAPI.dll">
      <publishTime>12/29/2025 16:07:50</publishTime>
    </File>
    <File Include="bin/WebAPI.pdb">
      <publishTime>12/29/2025 16:07:50</publishTime>
    </File>
    <File Include="bin/WebAPI.XmlSerializers.dll">
      <publishTime>12/29/2025 16:07:54</publishTime>
    </File>
    <File Include="bin/WebGrease.dll">
      <publishTime>07/18/2013 01:03:52</publishTime>
    </File>
    <File Include="bin/zh-Hans/System.Net.Http.Formatting.resources.dll">
      <publishTime>11/29/2018 21:26:02</publishTime>
    </File>
    <File Include="bin/zh-Hans/System.Web.Http.resources.dll">
      <publishTime>11/29/2018 21:26:30</publishTime>
    </File>
    <File Include="Config/kdapi.config">
      <publishTime>11/12/2025 10:43:47</publishTime>
    </File>
    <File Include="Content/bootstrap.css">
      <publishTime>11/12/2025 10:43:47</publishTime>
    </File>
    <File Include="Content/bootstrap.min.css">
      <publishTime>11/12/2025 10:43:47</publishTime>
    </File>
    <File Include="Content/Site.css">
      <publishTime>11/12/2025 10:43:47</publishTime>
    </File>
    <File Include="DLL/BLL.dll">
      <publishTime>11/12/2025 10:43:47</publishTime>
    </File>
    <File Include="DLL/DAL.dll">
      <publishTime>11/12/2025 10:43:47</publishTime>
    </File>
    <File Include="DLL/DBUtility.dll">
      <publishTime>11/12/2025 10:43:47</publishTime>
    </File>
    <File Include="DLL/Interop.grsvr6Lib.dll">
      <publishTime>12/17/2025 13:18:47</publishTime>
    </File>
    <File Include="DLL/Kingdee.BOS.WebApi.Client.dll">
      <publishTime>11/12/2025 10:43:47</publishTime>
    </File>
    <File Include="DLL/Model.dll">
      <publishTime>11/12/2025 10:43:47</publishTime>
    </File>
    <File Include="DLL/Newtonsoft.Json.Net35.dll">
      <publishTime>11/12/2025 10:43:47</publishTime>
    </File>
    <File Include="DLL/Pub_Class.dll">
      <publishTime>11/12/2025 10:43:47</publishTime>
    </File>
    <File Include="DLL/Pub_Control.dll">
      <publishTime>11/12/2025 10:43:47</publishTime>
    </File>
    <File Include="DLL/SQLHelper.dll">
      <publishTime>11/12/2025 10:43:47</publishTime>
    </File>
    <File Include="fonts/glyphicons-halflings-regular.eot">
      <publishTime>11/12/2025 10:43:48</publishTime>
    </File>
    <File Include="fonts/glyphicons-halflings-regular.svg">
      <publishTime>11/12/2025 10:43:48</publishTime>
    </File>
    <File Include="fonts/glyphicons-halflings-regular.ttf">
      <publishTime>11/12/2025 10:43:48</publishTime>
    </File>
    <File Include="fonts/glyphicons-halflings-regular.woff">
      <publishTime>11/12/2025 10:43:48</publishTime>
    </File>
    <File Include="Global.asax">
      <publishTime>11/12/2025 10:43:47</publishTime>
    </File>
    <File Include="grpc_csharp_ext.x64.dll">
      <publishTime>03/22/2022 13:17:22</publishTime>
    </File>
    <File Include="grpc_csharp_ext.x86.dll">
      <publishTime>03/22/2022 13:17:22</publishTime>
    </File>
    <File Include="Index.html">
      <publishTime>11/12/2025 10:43:47</publishTime>
    </File>
    <File Include="libgrpc_csharp_ext.x64.dylib">
      <publishTime>03/19/2022 07:38:44</publishTime>
    </File>
    <File Include="libgrpc_csharp_ext.x64.so">
      <publishTime>03/19/2022 07:38:42</publishTime>
    </File>
    <File Include="libman.json">
      <publishTime>11/12/2025 10:43:48</publishTime>
    </File>
    <File Include="Metadata/deploymentTemplates/apiappconfig.azureresource.json">
      <publishTime>11/12/2025 10:43:47</publishTime>
    </File>
    <File Include="packages.config">
      <publishTime>11/12/2025 10:43:48</publishTime>
    </File>
    <File Include="Properties/PublishProfiles/JFAPI.pubxml.user">
      <publishTime>12/09/2025 08:11:33</publishTime>
    </File>
    <File Include="Template/barCodeTemplateStorage.json">
      <publishTime>11/12/2025 10:43:47</publishTime>
    </File>
    <File Include="Utility/Barcode.ashx">
      <publishTime>12/17/2025 13:18:47</publishTime>
    </File>
    <File Include="Views/Scripts/bootstrap.js">
      <publishTime>11/12/2025 10:43:47</publishTime>
    </File>
    <File Include="Views/Scripts/bootstrap.min.js">
      <publishTime>11/12/2025 10:43:47</publishTime>
    </File>
    <File Include="Views/Scripts/jquery-1.10.2.js">
      <publishTime>11/12/2025 10:43:47</publishTime>
    </File>
    <File Include="Views/Scripts/jquery-1.10.2.min.js">
      <publishTime>11/12/2025 10:43:47</publishTime>
    </File>
    <File Include="Views/Scripts/jquery-1.10.2.min.map">
      <publishTime>11/12/2025 10:43:47</publishTime>
    </File>
    <File Include="Views/Scripts/jquery.validate.js">
      <publishTime>11/12/2025 10:43:47</publishTime>
    </File>
    <File Include="Views/Scripts/jquery.validate.min.js">
      <publishTime>11/12/2025 10:43:47</publishTime>
    </File>
    <File Include="Views/Scripts/jquery.validate.unobtrusive.js">
      <publishTime>11/12/2025 10:43:47</publishTime>
    </File>
    <File Include="Views/Scripts/jquery.validate.unobtrusive.min.js">
      <publishTime>11/12/2025 10:43:47</publishTime>
    </File>
    <File Include="Views/Scripts/modernizr-2.6.2.js">
      <publishTime>11/12/2025 10:43:47</publishTime>
    </File>
    <File Include="Views/Shared/Error.cshtml">
      <publishTime>11/12/2025 10:43:47</publishTime>
    </File>
    <File Include="Views/Shared/_Layout.cshtml">
      <publishTime>11/12/2025 10:43:47</publishTime>
    </File>
    <File Include="Views/web.config">
      <publishTime>11/12/2025 10:43:47</publishTime>
    </File>
    <File Include="Views/_ViewStart.cshtml">
      <publishTime>11/12/2025 10:43:47</publishTime>
    </File>
    <File Include="Web References/WebS/ClsCLD_Customer_Model.datasource">
      <publishTime>11/12/2025 10:43:47</publishTime>
    </File>
    <File Include="Web References/WebS/ClsCLD_Department_Model.datasource">
      <publishTime>11/12/2025 10:43:47</publishTime>
    </File>
    <File Include="Web References/WebS/ClsCLD_Employee_Model.datasource">
      <publishTime>11/12/2025 10:43:47</publishTime>
    </File>
    <File Include="Web References/WebS/ClsCLD_StockPlace_Model.datasource">
      <publishTime>11/12/2025 10:43:47</publishTime>
    </File>
    <File Include="Web References/WebS/ClsCLD_Supplier_Model.datasource">
      <publishTime>11/12/2025 10:43:47</publishTime>
    </File>
    <File Include="Web References/WebS/ClsCLD_Warehouse_Model.datasource">
      <publishTime>11/12/2025 10:43:47</publishTime>
    </File>
    <File Include="Web References/WebS/ClsGy_BadReason_Model.datasource">
      <publishTime>11/12/2025 10:43:47</publishTime>
    </File>
    <File Include="Web References/WebS/ClsGy_BarCodeBill_WMS_Model.datasource">
      <publishTime>11/12/2025 10:43:47</publishTime>
    </File>
    <File Include="Web References/WebS/ClsGy_BarCodeBill_WMS_Model_View.datasource">
      <publishTime>11/12/2025 10:43:47</publishTime>
    </File>
    <File Include="Web References/WebS/ClsGy_Customer_Model.datasource">
      <publishTime>11/12/2025 10:43:47</publishTime>
    </File>
    <File Include="Web References/WebS/ClsGy_Department_Model.datasource">
      <publishTime>11/12/2025 10:43:47</publishTime>
    </File>
    <File Include="Web References/WebS/ClsGy_Employee_Model.datasource">
      <publishTime>11/12/2025 10:43:47</publishTime>
    </File>
    <File Include="Web References/WebS/ClsGy_Group_Model.datasource">
      <publishTime>11/12/2025 10:43:47</publishTime>
    </File>
    <File Include="Web References/WebS/ClsGy_Item30JiTai_Model.datasource">
      <publishTime>11/12/2025 10:43:47</publishTime>
    </File>
    <File Include="Web References/WebS/ClsGy_Source_Model.datasource">
      <publishTime>11/12/2025 10:43:47</publishTime>
    </File>
    <File Include="Web References/WebS/ClsGy_StockPlace_Model.datasource">
      <publishTime>11/12/2025 10:43:47</publishTime>
    </File>
    <File Include="Web References/WebS/ClsGy_Supplier_Model.datasource">
      <publishTime>11/12/2025 10:43:47</publishTime>
    </File>
    <File Include="Web References/WebS/ClsGy_Warehouse_Model.datasource">
      <publishTime>11/12/2025 10:43:47</publishTime>
    </File>
    <File Include="Web References/WebS/ClsKf_ICStockBill_Mould.datasource">
      <publishTime>11/12/2025 10:43:47</publishTime>
    </File>
    <File Include="Web References/WebS/ClsKf_ICStockBill_WMS.datasource">
      <publishTime>11/12/2025 10:43:47</publishTime>
    </File>
    <File Include="Web.config">
      <publishTime>12/26/2025 08:47:33</publishTime>
    </File>
  </ItemGroup>
</Project>
WebAPI/WebAPI.csproj
@@ -669,10 +669,12 @@
    <Compile Include="Controllers\基础资料\基础资料\Gy_PlanImplementation_ReportController.cs" />
    <Compile Include="Controllers\基础资料\基础资料\Gy_PNLInfoTypeLevelController.cs" />
    <Compile Include="Controllers\基础资料\基础资料\Gy_ShelfLifeNearExpiryController.cs" />
    <Compile Include="Controllers\检验申请单\QC_RequestCheckBillController.cs" />
    <Compile Include="Controllers\项目管理\工程项目\PM_ProjectBill_WorkController.cs" />
    <Compile Include="DLL\ClsGy_ItemMoney_Ctl.cs" />
    <Compile Include="DLL\ClsSc_MESStopRestoreWorkBill.cs" />
    <Compile Include="DLL\ClsSc_PackUnionBillBarCode_temp_Ctl.cs" />
    <Compile Include="DLL\ClsQC_RequestCheckBill.cs" />
    <Compile Include="Models\ClsGy_Billorigin.cs" />
    <Compile Include="Models\ClsSc_MESStopRestoreWorkBillMain.cs" />
    <Compile Include="Models\ClsSc_MESStopRestoreWorkBillSub.cs" />
@@ -937,6 +939,8 @@
    <Compile Include="Models\SBGL\SBBB\Sb_EquipMentCollectionTechParam.cs" />
    <Compile Include="Models\Sc_StationOutBillSub_Sup.cs" />
    <Compile Include="Models\Gy_MateNumRelation_Sec.cs" />
    <Compile Include="Models\ClsQC_RequestCheckBillMain.cs" />
    <Compile Include="Models\ClsQC_RequestCheckBillSub.cs" />
    <Compile Include="Models\Xs_SendGoodsPlanBillMain.cs" />
    <Compile Include="Models\基础资料\ClsGy_EmployeeSub.cs" />
    <Compile Include="Models\基础资料\Gy_ColorClass.cs" />