yangle
2023-11-13 a9b9110c0b86a05711b2b0ad18b66e5f934d6895
返修台优化
配件更换功能优化
单品过站完善
8个文件已修改
1个文件已添加
747 ■■■■■ 已修改文件
Model/MES/ClsSc_SourceLineRepairBillMain.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Model/MES/ClsSc_SourceLineRepairBillSub.cs 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Model/Model.csproj 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Model/生产管理/ClsSc_QualityReportBillMain.cs 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Model/车间管理/ClsSc_AssemblyBillMain.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Model/车间管理/Sc_AssemblyBill_BindSourceTemp.cs 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Controllers/CJGL/Cj_SingleStationController.cs 702 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Models/ClsSc_AssemblyBillMain.cs 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Models/StationBill.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Model/MES/ClsSc_SourceLineRepairBillMain.cs
@@ -49,5 +49,9 @@
        public string HMacAddr;
        public string HProdMac;
        public string HBarCode;
        public Int64 HICMOInterID;
        public Int64 HICMOEntryID;
        public string HICMOBillNo;
    }
}
Model/MES/ClsSc_SourceLineRepairBillSub.cs
@@ -30,6 +30,8 @@
        public string HRepairResult;
        public string HCreator;
        public string HCreateDate;
        public string HProcExchBillNo;
        public Int64 HProcExchInterID;
        public Int64 HProcExchEntryID;
    }
}
Model/Model.csproj
@@ -593,6 +593,7 @@
    <Compile Include="质检管理\ClsQC_ProcessCheckBillSub_ValueGrid.cs" />
    <Compile Include="质检管理\ClsCrm_CustomerAppealBillSub.cs" />
    <Compile Include="质检管理\ClsCrm_CustomerAppealBillMain.cs" />
    <Compile Include="车间管理\Sc_AssemblyBill_BindSourceTemp.cs" />
    <Compile Include="车间管理\ClsSc_ProcExchRecordBackBillMain.cs" />
    <Compile Include="车间管理\ClsSc_ProcExchRecordBackBillSub.cs" />
    <Compile Include="车间管理\ClsSc_ProcExchSendWorkBillMain.cs" />
Model/Éú²ú¹ÜÀí/ClsSc_QualityReportBillMain.cs
@@ -9,6 +9,9 @@
        public Int64 HEmpID;
        public Int64 HDeptID;
        public Int64 HGroupID;
        public Int64 HICMOInterID;
        public Int64 HICMOEntryID;
        public string HICMOBillNo;
        
    }
}
Model/³µ¼ä¹ÜÀí/ClsSc_AssemblyBillMain.cs
@@ -7,6 +7,7 @@
    public class ClsSc_AssemblyBillMain:DBUtility.ClsXt_BaseBillMain
    {
        public Int64 HICMOInterID;
        public Int64 HICMOEntryID;
        public string HICMOBillNo;
        public string HBarCode_P;
        public Int64 HMaterID;
Model/³µ¼ä¹ÜÀí/Sc_AssemblyBill_BindSourceTemp.cs
New file
@@ -0,0 +1,28 @@
using System;
using System.Collections.Generic;
using System.Text;
namespace Model
{
    public class Sc_AssemblyBill_BindSourceTemp : DBUtility.ClsXt_BaseBillSub
    {
        //============
        public Int64 HMaterID;
        public string HBillNo_bak;
        public Int64 HAuxPropID;
        public double HQty;
        public double HQtyMust;
        public Int64 HProcID;
        public Int64 HPlanMode;
        public Int64 HProdOrgID;
        public string HBatchNo;
        public string HMTONo;
        public Int64 HICMOInterID;
        public Int64 HICMOEntryID;
        public string HICMOBillNo;
        public Int64 HProcExchInterID;
        public Int64 HProcExchEntryID;
        public string HProcExchBillNo;
        public string HBarCode;
    }
}
WebAPI/Controllers/CJGL/Cj_SingleStationController.cs
@@ -60,8 +60,11 @@
        {
            try
            {
                ds = oCN.RunProcReturn("select * from gy_czygl where czymc='" + user + "'", "gy_czygl");
                string HProcID = ds.Tables[0].Rows[0]["HProcID"].ToString();
                ds = oCN.RunProcReturn(@"select * from h_v_Gy_BarCodeBillHICOMProcessExchange where æ¡ç ='" + HBarCode + "'", "h_v_Gy_BarCodeBillHICOMProcessExchange");
                ds = oCN.RunProcReturn(@"select * from h_v_Gy_BarCodeBillHICOMProcessExchange where æ¡ç ='" + HBarCode + "' ", "h_v_Gy_BarCodeBillHICOMProcessExchange");
                if (ds.Tables[0].Rows.Count == 0)
                {
                    objJsonResult.code = "0";
@@ -70,14 +73,30 @@
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                else
                if (ds.Tables[0].Rows[0]["HProcID"].ToString() != HProcID)
                {
                    objJsonResult.code = "1";
                    objJsonResult.count = 1;
                    objJsonResult.Message = "";
                    objJsonResult.data = ds.Tables[0];
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "当前条码与当前工序不匹配!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                if (ds.Tables[0].Rows[0]["HStatus"].ToString() != "")
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "当前条码状态为" + ds.Tables[0].Rows[0]["HStatus"].ToString() + "!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                objJsonResult.code = "1";
                objJsonResult.count = 1;
                objJsonResult.Message = "";
                objJsonResult.data = ds.Tables[0];
                return objJsonResult;
            }
            catch (Exception e)
@@ -103,6 +122,7 @@
            string msg2 = sArray[0].ToString(); //主表数据
            string HResult = sArray[1].ToString();
            string user = sArray[2].ToString();
            string linterid = sArray[3].ToString();
            try
            {
@@ -118,6 +138,9 @@
                long HGroupID = mainList[0].HGroupID;//班组
                long HDeptID = mainList[0].HDeptID;//车间
                string HMaker = user;//制单人
                long HMainSourceInterID = mainList[0].HICMOInterID;
                long HMainSourceEntryID = mainList[0].HICMOEntryID;
                string HMainSourceBillNo = mainList[0].HICMOBillNo;
                ds = oCN.RunProcReturn("select * from Sc_QualityReportBillMain where HInterID=" + HInterID + " and HBillNo='" + HBillNo + "'", "Sc_QualityReportBillMain");
                if (ds.Tables[0].Rows.Count != 0) {
@@ -136,15 +159,15 @@
                    oCN.RunProc(@"Insert Into Sc_QualityReportBillMain   
(HBillType,HBillSubType,HBillStatus,HInterID,HBillNo,HDate
,HYear,HPeriod,HRemark,HMaker,HMakeDate
,HEmpID,HGroupID,HDeptID)
,HEmpID,HGroupID,HDeptID,HMainSourceInterID,HMainSourceEntryID,HMainSourceBillNo)
                        values('3717','3717',1," + HInterID + ",'" + HBillNo + "','" + HDate + "'" +
                    "," + DateTime.Now.Year + "," + DateTime.Now.Month + ",'" + HRemark + "','" + HMaker + "',getdate()" +
                    ",'" + HEmpID + "'," + HGroupID + "," + HDeptID + ") ");
                    ",'" + HEmpID + "'," + HGroupID + "," + HDeptID + "," + HMainSourceInterID + "," + HMainSourceEntryID + ",'" + HMainSourceBillNo + "') ");
                }
               
                //保存子表
                objJsonResult = AddBillSub_NoTable(msg3, HInterID, HResult);
                objJsonResult = AddBillSub_NoTable(msg3, HInterID, HResult, linterid);
                if (objJsonResult.code == "0")
                {
@@ -174,7 +197,7 @@
            }
        }
        public json AddBillSub_NoTable(string msg3, long HInterID, string HResult)
        public json AddBillSub_NoTable(string msg3, long HInterID, string HResult,string linterid)
        {
           Model.ClsSc_QualityReportBillSub oSub = Newtonsoft.Json.JsonConvert.DeserializeObject<Model.ClsSc_QualityReportBillSub>(msg3);
@@ -202,11 +225,11 @@
            //修改出站单的 ä¸è‰¯ æŠ¥åºŸæ•°é‡
            if (HResult == "不良") {
                oCN.RunProc("update Sc_StationOutBillMain set HBadCount+=1  where HProcExchBillNo='" + oSub.HProcExchBillNo + "' and HProcID=" + oSub.HProcID);
                oCN.RunProc("update Sc_StationOutBillMain set HBadCount+=1  where HProcExchBillNo='" + oSub.HProcExchBillNo + "' and HProcID=" + oSub.HProcID + " and HInterID=" + linterid);
            }
            else if (HResult == "报废")
            {
                oCN.RunProc("update Sc_StationOutBillMain set HWasterQty+=1  where HProcExchBillNo='" + oSub.HProcExchBillNo + "' and HProcID=" + oSub.HProcID);
                oCN.RunProc("update Sc_StationOutBillMain set HWasterQty+=1  where HProcExchBillNo='" + oSub.HProcExchBillNo + "' and HProcID=" + oSub.HProcID + " and HInterID=" + linterid);
            }
            objJsonResult.code = "1";
@@ -224,13 +247,14 @@
        {
            try
            {
                ds = oCN.RunProcReturn("select * from gy_czygl where czymc='" + user + "'", "gy_czygl");
                ds = oCN.RunProcReturn(@"select * from h_v_Gy_BarCodeBillHICOMProcessExchange where æ¡ç ='" + HBarCode + "'", "h_v_Gy_BarCodeBillHICOMProcessExchange");
                ds = oCN.RunProcReturn(@"exec h_p_Gy_BarCodeBillBomList '" + HBarCode + "'," + ds.Tables[0].Rows[0]["HProcID"].ToString(), "h_p_Gy_BarCodeBillBomList");
                if (ds.Tables[0].Rows.Count == 0)
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "条码查无数据!";
                    objJsonResult.Message = "配件清单查无数据!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
@@ -242,6 +266,491 @@
                    objJsonResult.data = ds.Tables[0];
                }
                return objJsonResult;
            }
            catch (Exception e)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "没有返回任何记录!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #endregion
        #region  å·¥åºå•品过站 æ‰«æµè½¬å¡ä¿å­˜å…³é”®ä»¶æ¸…单
        [Route("Cj_SingleStation/AddBomTempList")]
        [HttpPost]
        public object AddBomTempList([FromBody] JObject sMainSub)
        {
            try
            {
                var _value = sMainSub["sMainSub"].ToString();
                string msg = _value.ToString();
                string[] sArray = msg.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
                string msg1 = sArray[0].ToString();
                string HInterID = sArray[1].ToString();
                string HBillNo = sArray[2].ToString();
                string user = sArray[3].ToString();
                string HBillType = sArray[4].ToString();
                string HOrgID = sArray[5].ToString();
                oCN.BeginTran();
                List<Model.Sc_AssemblyBill_BindSourceTemp> tempList = new List<Model.Sc_AssemblyBill_BindSourceTemp>();
                tempList = JsonConvert.DeserializeObject<List<Model.Sc_AssemblyBill_BindSourceTemp>>(msg1);
                if (tempList.Count == 0) {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "无数据!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                ds = oCN.RunProcReturn("select * from gy_czygl where czymc='" + user + "'", "gy_czygl");
                string HProcID = ds.Tables[0].Rows[0]["HProcID"].ToString();
                oCN.RunProc("delete from  Sc_AssemblyBill_BindSourceTemp where HInterID =" + HInterID + "  and HBillNo_bak='" + HBillNo + "'");
                for (int i = 0; i < tempList.Count; i++)
                {
                    //临时配件表
                    oCN.RunProc("Insert Into Sc_AssemblyBill_BindSourceTemp   " +
                    "(HInterID,HEntryID,HBillNo_bak,HSourceBillNo,HSourceInterID,HSourceEntryID,HMaterID" +
                    ",HQtyMust,HProdOrgID,HSourceBillType,HAuxPropID,HProcID,HQty,HBatchNo,HMTONo,HPlanMode) " +
                    " values(" + HInterID + "," + (i + 1) + ",'" + HBillNo + "','" + tempList[i].HProcExchBillNo + "',"+ tempList[i].HProcExchInterID + "," + tempList[i].HProcExchEntryID +","+ tempList[i].HMaterID+
                    ",'0','" + HOrgID + "','',0,"+ HProcID + ","+ tempList[i].HQty + ",'" + tempList[i].HBatchNo + "','','') ");
                }
                oCN.Commit();
                objJsonResult.code = "1";
                objJsonResult.count = 1;
                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;
            }
        }
        #endregion
        #region  å·¥åºå•品过站 åˆ é™¤å…³é”®ä»¶æ¸…单
        [Route("Cj_SingleStation/DelBomTempList")]
        [HttpGet]
        public object DelBomTempList(int HInterID, int HEntryID, string user)
        {
            try
            {
                ds = oCN.RunProcReturn("select * from Sc_AssemblyBill_BindSourceTemp  where HInterID = " + HInterID, "Sc_AssemblyBill_BindSourceTemp");
                if (ds.Tables[0].Rows.Count == 0)
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "查无数据!";
                    objJsonResult.data = null;
                }
                oCN.BeginTran();
                string sql = "delete from Sc_AssemblyBill_BindSourceTemp where HInterID = " + HInterID + " and HEntryID=" + HEntryID;
                oCN.RunProc(sql);
                oCN.Commit();
                objJsonResult.code = "1";
                objJsonResult.count = 1;
                objJsonResult.Message = "Sucess!";
                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;
            }
        }
        #endregion
        #region  å·¥åºå•品过站 æ‰«SN码保存到组装追溯单
        [Route("Cj_SingleStation/AddAssemblyBillList")]
        [HttpPost]
        public object AddAssemblyBill([FromBody] JObject sMainSub)
        {
            try
            {
                var _value = sMainSub["sMainSub"].ToString();
                string msg = _value.ToString();
                string[] sArray = msg.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
                string sMainStr = sArray[0].ToString();
                string sSubStr = sArray[1].ToString();
                string user = sArray[2].ToString();
                oCN.BeginTran();
                ClsSc_AssemblyBillMain omodel = new ClsSc_AssemblyBillMain();
                omodel = JsonConvert.DeserializeObject<ClsSc_AssemblyBillMain>(sMainStr);
                List<Model.ClsSc_AssemblyBillSub> sub = new List<Model.ClsSc_AssemblyBillSub>();
                sub = JsonConvert.DeserializeObject<List<Model.ClsSc_AssemblyBillSub>>(sSubStr);
                Int64 HInterID1 = DBUtility.ClsPub.CreateBillID("3727", ref DBUtility.ClsPub.sExeReturnInfo);
                string HBillNo1 = DBUtility.ClsPub.CreateBillCode("3727", ref DBUtility.ClsPub.sExeReturnInfo, true);
                //保存生产组装单主表
                string sql = $@"Insert Into Sc_AssemblyBillMain(HYear,HPeriod,HBillType,HBillSubType,HInterID,HDate
,HBillNo,HBillStatus,HMaker,HMakeDate,HMainSourceInterID,HMainSourceEntryID,HMainSourceBillNo
,HICMOInterID,HICMOBillNo,HBarCode_P,HMaterID,HUnitID,HAssemblyStatus,HProdOrgID)
values('{DateTime.Now.Year}','{DateTime.Now.Month}','3727','3727',{HInterID1},getdate()
,'{HBillNo1}','1','{user}',getdate(),{omodel.HProcExchInterID.ToString()},{omodel.HProcExchEntryID.ToString()},'{omodel.HProcExchBillNo.ToString()}'
,{omodel.HICMOInterID.ToString()},'{omodel.HICMOBillNo.ToString()}','{omodel.HBarCode_P.ToString()}',{omodel.HMaterID},0,'汇报',{omodel.HProdOrgID})";
                oCN.RunProc(sql);
                for (int i = 0; i < sub.Count; i++)
                {
                    //子表存储
                    string sq2 = $@"Insert Into Sc_AssemblyBillSub(HInterID,HBillNo_bak,HEntryID,HSourceInterID,HSourceEntryID,HSourceBillNo
,HSourceBillType,HMaterID,HSourceID,HEquipID,HUnitID,HQty
,HGroupID,HWorkerID,HScanDate,HBarCode,HBarCode_P,HSNNumber)
values({HInterID1},'{HBillNo1}',{(i + 1)},0,0,''
,'',{sub[i].HMaterID},0,0,0,{sub[i].HQty}
,0,0,getdate(),'{sub[i].HBarCode}','{omodel.HBarCode_P}','') ";
                    oCN.RunProc(sq2);
                }
                sMainStr = "[" + sMainStr + "]";
                List<StationBill> list = Newtonsoft.Json.JsonConvert.DeserializeObject<List<StationBill>>(sMainStr);
                long HMainInterID = 0;
                string BillType = "3791";
                string HBillSubType = "3791";
                long HInterID = list[0].HInterID;//递入type得到的单据ID
                string HBillNo = list[0].HBillNo;//递入type得到的单据号
                int HBillStatus = 1;
                string HMaker = user;//制单人
                string HMouldNum = list[0].HMouldNum;//模穴号
                int HYear = DateTime.Now.Year;
                double HPeriod = DateTime.Now.Month;
                string HRemark = list[0].HRemark;//备注
                string HSourceName = list[0].HSourceName;//生产资源名称
                double HPieceQty = list[0].HPieceQty;//进站PCS数
                double HWasterQty = 0;//报废数量
                double HPlanPieceQty = 0;//进站PNL数
                double HBadPNL = 0;//报废PNL数
                long HICMOInterID = list[0].HICMOInterID;//任务单ID
                long HICMOEntryID = list[0].HICMOEntryID;//任务单ID
                string HICMOBillNo = list[0].HICMOBillNo;//任务单
                int HProcPlanInterID = 0;
                int HProcPlanEntryID = 0;
                string HProcPlanBillNo = "";
                long HProcExchInterID = list[0].HProcExchInterID;
                long HProcExchEntryID = list[0].HProcExchEntryID;
                string HProcExchBillNo = list[0].HProcExchBillNo;//流转卡
                long HMaterID = list[0].HMaterID;//产品ID
                long HProcID = list[0].HProcID;//当前工序ID
                double HICMOQty = list[0].HICMOQty;//任务单数量
                double HPlanQty = list[0].HICMOQty;//移交PNL数
                DateTime HStationOutTime = DateTime.Now;//汇报时间
                long HSourceID = list[0].HSourceID;//生产资源ID
                long HPayProcID = 0;//核算工序ID
                long HGroupID = list[0].HGroupID;//班组ID
                long HDeptID = list[0].HDeptID;
                long HEmpID = list[0].HEmpID;//操作员ID
                long HEmpID2 = list[0].HEmpID2;////操作员2ID
                string HBarCode = list[0].HProcExchBillNo;//条形码
                string HAddr = "";
                string HBarCodeMaker = "";
                long HSourceID2 = 0;//生产资源2ID
                long HSourceID3 = 0;//生产资源3ID
                long HSourceID4 = 0;//生产资源4ID
                long HSourceID5 = 0;//生产资源5ID
                long HSupID = 0;
                double HQty = list[0].HQty;//合格数量
                double HPrice = 0;
                double HMoney = 0;
                double HBadCount = list[0].HBadCount;//不良数量
                long HCenterID = list[0].HCenterID;//工作中心ID
                string HProcNo = list[0].HProcNo;//流水号
                string HOrderProcNO = list[0].HOrderProcNO;//订单跟踪号
                string HSourceNameList = list[0].HSourceNameList;//设备清单
                long HMainSourceInterID = list[0].HInterID;//递入type得到的单据ID
                string HMainSourceBillNo = list[0].HBillNo;//递入type得到的单据号
                string HMainSourceBillType = "3790";
                bool HLastSubProc = list[0].HLastSubProc;//转下工序
                long HEmpID3 = 0;//操作员3ID
                long HEmpID4 = 0;//操作员4ID
                long HEmpID5 = 0;//操作员5ID
                double HDSQty = 0;//折弯刀数
                double HChongQty = 0;//NCT冲次数
                double HPriceRate = 0;//系数
                double HWorkTimes = 0;//工时
                long HQCCheckID = list[0].HEmpID;//检验员ID
                long HPRDOrgID = omodel.HProdOrgID;//组织ID
                double HmaterOutqty = 0;//白坯发布
                double HProcPriceRate = 0;//工价系数
                int HTemporaryAreaID = 0;//暂放区
                ds = oCN.RunProcReturn("select  * from Sc_StationOutBillMain a left join  Sc_StationOutBillSub_SN sn on a.HInterID=sn.HInterID where a.HInterID=" + HInterID + " and HBillNo='" + HBillNo + "'", "Sc_StationOutBillMain");
                if (ds.Tables[0].Rows.Count == 0)
                {
                    oCN.RunProc("Insert Into Sc_StationOutBillMain " +
                    "(HBillType,HBillSubType,HInterID,HBillNo,HBillStatus,HDate,HMaker,HMakeDate,HMouldNum" +
                    ",HYear,HPeriod,HRemark,HSourceName,HPieceQty,HWasterQty,HPlanPieceQty,HBadPNL" +
                    ",HICMOInterID,HICMOBillNo,HProcPlanInterID,HProcPlanEntryID,HProcPlanBillNo,HProcExchInterID,HProcExchEntryID" +
                    ",HProcExchBillNo,HMaterID,HProcID,HICMOQty,HPlanQty,HStationOutTime,HSourceID,HPayProcID" +
                    ",HGroupID,HDeptID,HEmpID,HBarCode,HAddr,HBarCodeMaker,HBarCodeMakeDate,HSourceID2,HSourceID3,HSourceID4,HSourceID5" +
                    ",HSupID,HQty,HPrice,HMoney,HBadCount,HCenterID,HProcNo,HOrderProcNO,HSourceNameList" +
                    ",HMainSourceInterID,HMainSourceBillNo,HMainSourceBillType,HLastSubProc" +
                    ",HEmpID2,HEmpID3,HEmpID4,HEmpID5,HDSQty,HChongQty,HPriceRate,HWorkTimes,HQCCheckID,HMainInterID,HPRDOrgID" +
                        ",HmaterOutqty,HProcPriceRate,HTemporaryAreaID" +
                    ") " +
                    " values('" + BillType + "','"+ HBillSubType + "'," + HInterID + ",'" + HBillNo + "'," + HBillStatus + ",getdate(),'" + HMaker + "',getdate(),'" + HMouldNum + "'" +
                    "," + HYear + "," + HPeriod + ",'" + HRemark + "','" + HSourceName + "'," + HPieceQty + "," + HWasterQty + "," + HPlanPieceQty + "," + HBadPNL +
                    "," + HICMOInterID + ",'" + HICMOBillNo + "'," + HProcPlanInterID + "," + HProcPlanEntryID + ",'" + HProcPlanBillNo + "'," + HProcExchInterID + "," + HProcExchEntryID +
                    ",'" + HProcExchBillNo + "'," + HMaterID + "," + HProcID + "," + HICMOQty + "," + HPlanQty + ",getdate()," + HSourceID + "," + HPayProcID +
                    "," + HGroupID + "," + HDeptID + "," + HEmpID + ",'" + HBarCode + "','" + HAddr + "','" + HBarCodeMaker + "',getdate()" + "," + HSourceID2 + "," + HSourceID3 + "," + HSourceID4 + "," + HSourceID5 +
                    "," + HSupID + "," + HQty + "," + HPrice + "," + HMoney + "," + HBadCount + "," + HCenterID + "," + HProcNo + ",'" + HOrderProcNO + "'" + ",'" + HSourceNameList + "'" +
                    "," + HMainSourceInterID + ",'" + HMainSourceBillNo + "','" + HMainSourceBillType + "'," + Convert.ToString(HLastSubProc ? 1 : 0) +
                    "," + HEmpID2 + "," + HEmpID3 + "," + HEmpID4 + "," + HEmpID5 + "," + HDSQty + "," + HChongQty + "," + HPriceRate + "," + HWorkTimes + "," + HQCCheckID + "," + HMainInterID + "," + HPRDOrgID +
                  "," + HmaterOutqty + "," + HProcPriceRate + "," + HTemporaryAreaID + ") ");
                }
                oCN.RunProc($@"insert into Sc_StationOutBillSub_SN(HInterID,HBillNo_bak,HEntryID,HBarCode,HBarCodeQty,HMakeTime,HRemark,HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HRelationQty,HRelationMoney)
values({omodel.HInterID}, '{omodel.HBillNo}', {ds.Tables[0].Rows.Count + 1}, '{omodel.HBarCode_P}', 1, GETDATE(), '', 0, 0, '', '', 0, 0)");
                oCN.Commit();
                objJsonResult.code = "1";
                objJsonResult.count = 1;
                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;
            }
        }
        #endregion
        #region  å·¥åºå•品过站 é…ä»¶ç æŸ¥è¯¢
        [Route("Cj_SingleStation/HBardCodeAccessoryList")]
        [HttpGet]
        public object HBardCodeAccessoryList(string HBarCode, string user)
        {
            try
            {
                ds = oCN.RunProcReturn(@"select * from h_v_Gy_BarCodeBill where HBarCode='" + HBarCode + "'", "h_v_Gy_BarCodeBill");
                if (ds.Tables[0].Rows.Count == 0)
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "SN码查无数据!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                else
                {
                    objJsonResult.code = "1";
                    objJsonResult.count = 1;
                    objJsonResult.Message = "";
                    objJsonResult.data = ds.Tables[0];
                }
                return objJsonResult;
            }
            catch (Exception e)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "没有返回任何记录!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #endregion
        #region  å·¥åºå•品过站 æ‰«SN码查询
        [Route("Cj_SingleStation/HBardCodeSNList")]
        [HttpGet]
        public object HBardCodeSNList(string HBarCode, string user)
        {
            try
            {
                ds = oCN.RunProcReturn("select * from gy_czygl where czymc='" + user + "'", "gy_czygl");
                string HProcID = ds.Tables[0].Rows[0]["HProcID"].ToString();
                ds = oCN.RunProcReturn(@"select * from h_v_Gy_BarCodeBillHICOMProcessExchange where æ¡ç ='" + HBarCode + "' ", "h_v_Gy_BarCodeBillHICOMProcessExchange");
                if (ds.Tables[0].Rows.Count == 0)
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "条码查无数据!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                if (ds.Tables[0].Rows[0]["HProcID"].ToString() != HProcID)
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "当前条码与当前工序不匹配!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                if (ds.Tables[0].Rows[0]["HStatus"].ToString() != "") {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "当前条码状态为"+ ds.Tables[0].Rows[0]["HStatus"].ToString() + "!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                objJsonResult.code = "1";
                objJsonResult.count = 1;
                objJsonResult.Message = "";
                objJsonResult.data = ds.Tables[0];
                return objJsonResult;
            }
            catch (Exception e)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "没有返回任何记录!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #endregion
        #region  å·¥åºå•品过站 æŸ¥è¯¢ä¸è‰¯è®°å½•
        [Route("Cj_SingleStation/BadRecordsList")]
        [HttpGet]
        public object BadRecordsList(string HBarCode, string user)
        {
            try
            {
                ds = oCN.RunProcReturn(@"select * from h_v_Gy_BadRecordsList where HProcExchBillNo='" + HBarCode + "'", "h_v_Gy_BadRecordsList");
                objJsonResult.code = "1";
                objJsonResult.count = 1;
                objJsonResult.Message = "";
                objJsonResult.data = ds.Tables[0];
                return objJsonResult;
            }
            catch (Exception e)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "没有返回任何记录!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #endregion
        #region  å·¥åºå•品过站 æŸ¥è¯¢åˆæ ¼è®°å½•
        [Route("Cj_SingleStation/HGRecordsList")]
        [HttpGet]
        public object HGRecordsList(string HBarCode, string user)
        {
            try
            {
                ds = oCN.RunProcReturn(@"select * from h_v_Sc_AssemblyBillList where HProcExchBillNo='" + HBarCode + "'", "h_v_Sc_AssemblyBillList");
                objJsonResult.code = "1";
                objJsonResult.count = 1;
                objJsonResult.Message = "";
                objJsonResult.data = ds.Tables[0];
                return objJsonResult;
            }
            catch (Exception e)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "没有返回任何记录!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #endregion
        #region  å·¥åºå•品返修台 æ‰«ç æŸ¥è¯¢
        [Route("Cj_SingleStation/HFBardCodeList")]
        [HttpGet]
        public object HFBardCodeList(string HBarCode, string user)
        {
            try
            {
                ds = oCN.RunProcReturn("select * from gy_czygl where czymc='" + user + "'", "gy_czygl");
                string HProcID = ds.Tables[0].Rows[0]["HProcID"].ToString();
                ds = oCN.RunProcReturn(@"select * from h_v_Gy_BarCodeBillHICOMProcessExchange where æ¡ç ='" + HBarCode + "' ", "h_v_Gy_BarCodeBillHICOMProcessExchange");
                if (ds.Tables[0].Rows.Count == 0)
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "条码查无数据!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                if (ds.Tables[0].Rows[0]["HProcID"].ToString() != HProcID)
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "当前条码与当前工序不匹配!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                if (ds.Tables[0].Rows[0]["HStatus"].ToString() != "不良")
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "当前条码状态为" + ds.Tables[0].Rows[0]["HStatus"].ToString() + "!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                objJsonResult.code = "1";
                objJsonResult.count = 1;
                objJsonResult.Message = "";
                objJsonResult.data = ds.Tables[0];
                return objJsonResult;
            }
            catch (Exception e)
@@ -294,6 +803,155 @@
        }
        #endregion
        #region å·¥åºå•品返修台 ä¿å­˜
        [Route("Cj_SingleStation/HFXAddRepairBill")]
        [HttpPost]
        public object HFXAddRepairBill([FromBody] JObject sMainSub)
        {
            try
            {
                var _value = sMainSub["sMainSub"].ToString();
                string msg = _value.ToString();
                string[] sArray = msg.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
                string sMainStr = sArray[0].ToString();
                string sSubStr = sArray[1].ToString();
                string user = sArray[2].ToString();
                string HResult = sArray[3].ToString();
                oCN.BeginTran();
                if (HResult == "配件")
                {
                    Model.ClsSc_SourceLineRepairBillMain model = new Model.ClsSc_SourceLineRepairBillMain();
                    model = JsonConvert.DeserializeObject<Model.ClsSc_SourceLineRepairBillMain>(sMainStr);
                    Model.Sc_AssemblyBill_BindSourceTemp temp = new Model.Sc_AssemblyBill_BindSourceTemp();
                    temp = JsonConvert.DeserializeObject<Model.Sc_AssemblyBill_BindSourceTemp>(sSubStr);
                    ds = oCN.RunProcReturn("select * from Sc_SourceLineRepairBillSub_Mater where HInterID=" + model.HInterID+ " order by HEntryID  desc", "Sc_SourceLineRepairBillSub_Mater");
                    oCN.RunProc($@"insert into Sc_SourceLineRepairBillSub_Mater
(HInterID,HEntryID,HBillNo_bak,HRemark,HSourceInterID
,HSourceEntryID,HSourceBillNo,HSourceBillType,HMaterID
,HUnitID,HBarCode,HBatchNo )values
({model.HInterID},{(ds.Tables[0].Rows.Count == 0 ? 1 : int.Parse(ds.Tables[0].Rows[0]["HEntryID"].ToString()) + 1)},'{model.HBillNo}','',{temp.HProcExchInterID}
,{temp.HProcExchEntryID},'{temp.HProcExchBillNo}','',{temp.HMaterID},0,'{temp.HBarCode}','{temp.HBatchNo}')");
                    //修改配件绑定清单绑定的条码批号
                    oCN.RunProc("exec h_p_AssemblyBill_Temp '" + temp.HProcExchBillNo + "'," + model.HProcess + "," + temp.HMaterID + ",'" + temp.HBatchNo + "'");
                }
                else if (HResult == "NG"|| HResult == "OK") {
                    Model.ClsSc_SourceLineRepairBillMain model = new Model.ClsSc_SourceLineRepairBillMain();
                    model = JsonConvert.DeserializeObject<Model.ClsSc_SourceLineRepairBillMain>(sMainStr);
                    oCN.RunProc($@"insert into Sc_SourceLineRepairBillMain(HYear, HPeriod, HBillType, HBillSubType, HInterID,
HDate, HBillNo, HBillStatus, HRemark, HEmpID, HDeptID, HSourceID, HProdOrgID, HMaterID, HWorkStationID,
HProcess, HIPAddr, HMacAddr, HProdMac, HBarCode,HMaker,HMakeDate,HMainSourceInterID,HMainSourceEntryID,HMainSourceBillNo)
values('{DateTime.Now.Year}','{DateTime.Now.Month}','3748','3748',{model.HInterID}
,getdate(),'{model.HBillNo}','1','{HResult}',{model.HEmpID},{model.HDeptID},{model.HSourceID},{model.HProdOrgID},{model.HMaterID},0
,{model.HProcess},'','','','{model.HBarCode}','{user}',getdate(),{model.HICMOInterID},{model.HICMOEntryID},'{model.HICMOBillNo}')");
                    List<Model.ClsSc_SourceLineRepairBillSub> subLsit = new List<Model.ClsSc_SourceLineRepairBillSub>();
                    sMainStr = "[" + sMainStr + "]";
                    subLsit = JsonConvert.DeserializeObject<List<Model.ClsSc_SourceLineRepairBillSub>>(sMainStr);
                    oCN.RunProc($@"insert into Sc_SourceLineRepairBillSub
(HInterID,HEntryID,HBillNo_bak,HRemark,HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType
,HBadReasonID,HBadTypeID,HBadResultID,HBadProcID,HRepairResult,HCreator,HCreateDate)
values({model.HInterID},1,'{model.HBillNo}','',{subLsit[0].HProcExchInterID},{subLsit[0].HProcExchEntryID},'{subLsit[0].HProcExchBillNo}',''
,{subLsit[0].HBadReasonID},{subLsit[0].HBadTypeID},{subLsit[0].HBadResultID},{model.HProcess},'{HResult}','{subLsit[0].HCreator}',getdate())");
                    if (HResult == "OK")
                    {
                        oCN.RunProc("update Gy_BarCodeBill set HStatus='' where HBarCode='" + model.HBarCode + "'");
                    }
                }
                else {
                    objJsonResult.code = "1";
                    objJsonResult.count = 1;
                    objJsonResult.Message = "Sucess!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                oCN.Commit();
                objJsonResult.code = "1";
                objJsonResult.count = 1;
                objJsonResult.Message = "Sucess!";
                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("Cj_SingleStation/ProcessItemRepairDel")]
        [HttpGet]
        public object ProcessItemRepairDel(int HInterID,int HEntryID,string user,string HBill)
        {
            try
            {
                ds = oCN.RunProcReturn("select * from Sc_SourceLineRepairBillMain  where HInterID = " + HInterID, "Sc_SourceLineRepairBillMain");
                if (ds.Tables[0].Rows.Count == 0) {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "查无数据!";
                    objJsonResult.data = null;
                }
                oCN.BeginTran();
                string sql = "";
                if (HBill == "ZB")
                {
                    sql = "delete from Sc_SourceLineRepairBillMain where HInterID = " + HInterID;
                    oCN.RunProc(sql);
                    sql = "delete from Sc_SourceLineRepairBillSub where HInterID = " + HInterID + " and HEntryID = " + HEntryID;
                    oCN.RunProc(sql);
                }
                if (HBill == "PJ")
                {
                    sql = "delete from Sc_SourceLineRepairBillSub_Mater where HInterID = " + HInterID + " and HEntryID = " + HEntryID;
                    oCN.RunProc(sql);
                }
                else
                {
                    sql = "delete from Sc_SourceLineRepairBillSub_Mater where HInterID = " + HInterID;
                    oCN.RunProc(sql);
                }
                oCN.Commit();
                objJsonResult.code = "1";
                objJsonResult.count = 1;
                objJsonResult.Message = "Sucess!";
                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("Cj_SingleStation/Sc_SourceLineRepairBillSub_MaterList")]
        [HttpGet]
@@ -301,24 +959,13 @@
        {
            try
            {
                List<object> columnNameList = new List<object>();
                string sql = @"select * from Sc_SourceLineRepairBillSub_Mater  where  1=1 " + sWhere + " order by   HInterID asc, HEntryID asc";
                ds = oCN.RunProcReturn(sql, "Sc_SourceLineRepairBillSub_Mater");
                //添加列名
                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列对象的列名
                }
                string sql = @"select * from h_v_Sc_SourceLineRepairBillList  where  1=1 " + sWhere + " order by   HInterID desc";
                ds = oCN.RunProcReturn(sql, "h_v_Sc_SourceLineRepairBillList");
                objJsonResult.code = "1";
                objJsonResult.count = 1;
                objJsonResult.Message = "Sucess!";
                objJsonResult.data = ds.Tables[0];
                objJsonResult.list = columnNameList;
                return objJsonResult;
            }
            catch (Exception e)
@@ -331,5 +978,6 @@
            }
        }
        #endregion
    }
}
WebAPI/Models/ClsSc_AssemblyBillMain.cs
@@ -26,5 +26,8 @@
        public int HSCZYID;
        public int HProdOrgID; //组织
        public int HICMOEntryID; //任务单子ID
        public int HProcExchInterID;
        public int HProcExchEntryID;
        public string HProcExchBillNo;
    }
}
WebAPI/Models/StationBill.cs
@@ -14,6 +14,7 @@
        public string HInnerBillNo { get; set; }
        public string HICMOBillNo { get; set; }
        public long HICMOInterID { get; set; }
        public long HICMOEntryID { get; set; }
        public long HProcExchInterID { get; set; }
        public long HProcExchEntryID { get; set; }
        public string HProcExchBillNo { get; set; }