yusijie
9 天以前 04b4d4d975858a0d5e207b9df9f3bb46cc6c14fd
WebAPI/Controllers/CJGL/Cj_SingleStationController.cs
@@ -15,6 +15,7 @@
    {
        private json objJsonResult = new json();
        SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
        Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();
        DataSet ds;
        #region 工序单品不良采集  用户查询关联字段
@@ -29,7 +30,7 @@
                {
                    objJsonResult.code = "1";
                    objJsonResult.count = 1;
                    objJsonResult.Message = "Sucess!";
                    objJsonResult.Message = "[0000-1-038]Sucess!";
                    objJsonResult.data = new DataTable();
                    return objJsonResult;
                }
@@ -38,7 +39,7 @@
                objJsonResult.code = "1";
                objJsonResult.count = 1;
                objJsonResult.Message = "Sucess!";
                objJsonResult.Message = "[0000-1-037]Sucess!";
                objJsonResult.data = ds.Tables[0];
                return objJsonResult;
            }
@@ -46,7 +47,7 @@
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "Exception!" + e.ToString();
                objJsonResult.Message = "[0000-1-038]Exception!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
@@ -170,6 +171,7 @@
                long HMainSourceEntryID = mainList[0].HICMOEntryID;
                string HMainSourceBillNo = mainList[0].HICMOBillNo;
                //判断生产质量汇报单是否存在
                ds = oCN.RunProcReturn("select * from Sc_QualityReportBillMain WITH(NOLOCK) where HInterID=" + HInterID + " and HBillNo='" + HBillNo + "'", "Sc_QualityReportBillMain");
                if (ds.Tables[0].Rows.Count != 0) {
                    objJsonResult.code = "0";
@@ -183,14 +185,31 @@
                if (ds.Tables[0].Rows.Count == 0)//新增
                {
                    //主表
                    oCN.RunProc(@"Insert Into Sc_QualityReportBillMain
(HBillType,HBillSubType,HBillStatus,HInterID,HBillNo,HDate
,HYear,HPeriod,HRemark,HMaker,HMakeDate
,HEmpID,HGroupID,HDeptID,HMainSourceInterID,HMainSourceEntryID,HMainSourceBillNo)
                    if (HResult== "微瑕品")
                    {
                        //主表
                        oCN.RunProc(@"Insert Into Sc_QualityReportBillMain
                    (HBillType,HBillSubType,HBillStatus,HInterID,HBillNo,HDate
                    ,HYear,HPeriod,HRemark,HMaker,HMakeDate
                    ,HEmpID,HGroupID,HDeptID,HMainSourceInterID,HMainSourceEntryID,HMainSourceBillNo)
                        values('3717','3717-1',1," + HInterID + ",'" + HBillNo + "','" + HDate + "'" +
                        "," + DateTime.Now.Year + "," + DateTime.Now.Month + ",'" + HRemark + "','" + HMaker + "',getdate()" +
                        ",'" + HEmpID + "'," + HGroupID + "," + HDeptID + "," + HMainSourceInterID + "," + HMainSourceEntryID + ",'" + HMainSourceBillNo + "') ");
                        //重新给HResult赋值
                        HResult = "";
                    }
                    else
                    {
                        //主表
                        oCN.RunProc(@"Insert Into Sc_QualityReportBillMain
                    (HBillType,HBillSubType,HBillStatus,HInterID,HBillNo,HDate
                    ,HYear,HPeriod,HRemark,HMaker,HMakeDate
                    ,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 + "," + HMainSourceInterID + "," + HMainSourceEntryID + ",'" + HMainSourceBillNo + "') ");
                        "," + DateTime.Now.Year + "," + DateTime.Now.Month + ",'" + HRemark + "','" + HMaker + "',getdate()" +
                        ",'" + HEmpID + "'," + HGroupID + "," + HDeptID + "," + HMainSourceInterID + "," + HMainSourceEntryID + ",'" + HMainSourceBillNo + "') ");
                    }
                }
               
@@ -280,18 +299,33 @@
(HInterID,HENTRYID,HBillNo_bak,HEmpID,HBarCode,HBadReasonID,HAddr,HMaker,HMakeDate
,HMaterID,HUnitID,HRemark,HSourceID,HICMOInterID,HICMOEntryID,HICMOBillNo,HReportType
,HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HRelationQty,HRelationMoney
,HQty,HResult,HProcExchInterID,HProcExchEntryID,HProcExchBillNo)
,HQty,HResult,HProcExchInterID,HProcExchEntryID,HProcExchBillNo,HProcID)
values({HInterID},1,'{oSub.HBillNo_bak}',{oSub.HEmpID},'{oSub.HBarCode}',{oSub.HBadReasonID},'','{oSub.HMaker}','{oSub.HMakeDate}'
,{oSub.HMaterID},{oSub.HUnitID},'{oSub.HRemark}',{oSub.HSourceID},{oSub.HICMOInterID},{oSub.HICMOEntryID},'{oSub.HICMOBillNo}',{oSub.HReportType}
,0,0,'','',0,0
,0,'{HResult}',{oSub.HProcExchInterID},{oSub.HProcExchEntryID},'{oSub.HProcExchBillNo}')");
,1,'{HResult}',{oSub.HProcExchInterID},{oSub.HProcExchEntryID},'{oSub.HProcExchBillNo}',{oSub.HProcID})");
            //修改条码表的状态
            oCN.RunProc("update Gy_BarCodeBill set HStatus='"+ HResult + "' where HBarCode='"+ oSub.HBarCode + "'");
            LogService.Write("类型:" + oSub.HBadTypeID + ",制单人:" + oSub.HMaker + ",制单日期:" + oSub.HMakeDate);
            //修改出站单的 不良 报废数量
            if (HResult == "不良") {
                oCN.RunProc("update Sc_StationOutBillMain set HBadCount+=1  where HProcExchBillNo='" + oSub.HProcExchBillNo + "' and HProcID=" + oSub.HProcID + " and HInterID=" + linterid);
            if (HResult == "不良")
            {
                LogService.Write("类型:" + oSub.HBadTypeID);
                //工废
                if (oSub.HBadTypeID == 3)
                {
                    oCN.RunProc("update Sc_StationOutBillMain set HBadCount+=1,HWasterQty_Work+=1  where HProcExchBillNo='" + oSub.HProcExchBillNo + "' and HProcID=" + oSub.HProcID + " and HInterID=" + linterid);
                }//料废
                else if (oSub.HBadTypeID == 4)
                {
                    oCN.RunProc("update Sc_StationOutBillMain set HBadCount+=1,HWasterQty_Mater+=1  where HProcExchBillNo='" + oSub.HProcExchBillNo + "' and HProcID=" + oSub.HProcID + " and HInterID=" + linterid);
                }//返工
                else if (oSub.HBadTypeID == 6)
                {
                    oCN.RunProc("update Sc_StationOutBillMain set HBadCount+=1,HBackWorkQty+=1  where HProcExchBillNo='" + oSub.HProcExchBillNo + "' and HProcID=" + oSub.HProcID + " and HInterID=" + linterid);
                }
            }
            else if (HResult == "报废")
            {
@@ -318,13 +352,44 @@
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "无查询权限!";
                    objJsonResult.Message = "[0000-1-068]无查询权限!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                string HProcID = "0";
                ds = oCN.RunProcReturn("select * from gy_czygl WITH(NOLOCK) where czymc='" + user + "'", "gy_czygl");
                string HProcID = ds.Tables[0].Rows[0]["HProcID"].ToString();
                if (ds.Tables[0].Rows.Count > 0)
                {
                    HProcID = ds.Tables[0].Rows[0]["HProcID"].ToString();
                }
                //客户制定
                string sErr = "";
                if (oSystemParameter.ShowBill(ref sErr))
                {
                    if (oSystemParameter.omodel.WMS_CampanyName == "杭州斯莫尔")
                    {
                        //判断当前流转卡是否是开工
                        ds = oCN.RunProcReturn("select  * from Sc_ICMOBillStatus_Tmp where HSourceBillNo='" + HBarCode + "' and HICMOStatus<>'0'", "Sc_ICMOBillStatus_Tmp");
                        if (ds.Tables[0].Rows.Count == 0)
                        {
                            //判断当前流转卡是否墨西哥的
                            ds = oCN.RunProcReturn("select HPRDORGID from Sc_ProcessExchangeBillMain with(nolock) where HBillNo = '" + HBarCode + "' ", "Sc_ProcessExchangeBillMain");
                            if (ds.Tables[0].Rows[0]["HPRDORGID"].ToString() != "7667152")
                            {
                                objJsonResult.code = "0";
                                objJsonResult.count = 0;
                                objJsonResult.Message = "[3791-2-018]卡号:" + HBarCode + ",流转卡未开工!";
                                objJsonResult.data = null;
                                return objJsonResult;
                            }
                        }
                    }
                }
                ds = oCN.RunProcReturn(@"exec h_p_Gy_BarCodeBillBomList '" + HBarCode + "'," + HProcID, "h_p_Gy_BarCodeBillBomList");
                if (ds.Tables[0].Rows.Count == 0)
@@ -335,7 +400,7 @@
                    {
                        objJsonResult.code = "2";
                        objJsonResult.count = 2;
                        objJsonResult.Message = "";
                        objJsonResult.Message = "[0000-1-037]";
                        objJsonResult.data = dataSet.Tables[0];
                        return objJsonResult;
                    }
@@ -343,7 +408,7 @@
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = "配件清单查无数据!,可能是当前用户工序不正确或者流转卡输入错误!";
                        objJsonResult.Message = "[3791-2-019]配件清单查无数据!,可能是当前用户工序不正确或者流转卡输入错误!";
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
@@ -352,7 +417,7 @@
                {
                    objJsonResult.code = "1";
                    objJsonResult.count = 1;
                    objJsonResult.Message = "";
                    objJsonResult.Message = "[0000-1-037]";
                    objJsonResult.data = ds.Tables[0];
                }
@@ -363,7 +428,7 @@
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "没有返回任何记录!" + e.ToString();
                objJsonResult.Message = "[0000-1-010]没有返回任何记录!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
@@ -392,7 +457,7 @@
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "无保存权限!";
                    objJsonResult.Message = "[0000-2-038]无保存权限!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
@@ -402,10 +467,11 @@
                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) {
                if (msg1 != "[]" && tempList.Count == 0)
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "无配件数据!";
                    objJsonResult.Message = "[3791-2-026]无配件数据!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
@@ -436,7 +502,7 @@
                objJsonResult.code = "1";
                objJsonResult.count = 1;
                objJsonResult.Message = "保存成功!";
                objJsonResult.Message = "[0000-1-050]保存成功!";
                objJsonResult.data = null;
                return objJsonResult;
@@ -446,7 +512,7 @@
                oCN.RollBack();
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "没有返回任何记录!" + e.ToString();
                objJsonResult.Message = "[0000-1-051]没有返回任何记录!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
@@ -472,7 +538,7 @@
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "无保存权限!";
                    objJsonResult.Message = "[0000-2-038]无保存权限!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
@@ -486,13 +552,13 @@
                List<Model.ClsSc_AssemblyBillSub> sub = new List<Model.ClsSc_AssemblyBillSub>();
                sub = JsonConvert.DeserializeObject<List<Model.ClsSc_AssemblyBillSub>>(sSubStr);
                ds = oCN.RunProcReturn("exec h_p_Sc_SNBarcodeProcCtrl_S '" + omodel.HBarCode_P + "'," + omodel.HProcID, "h_v_Gy_QualifiedRecordsList");
                //条码上道工序是否过站
                ds = oCN.RunProcReturn("exec h_p_Sc_SNBarcodeProcCtrl_S '" + omodel.HBarCode_P + "'," + omodel.HProcID, "h_p_Sc_SNBarcodeProcCtrl_S");
                if (ClsPub.isInt(ds.Tables[0].Rows.Count) == 0)
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "查无数据!";
                    objJsonResult.Message = "[0000-1-045]查无数据!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
@@ -500,11 +566,12 @@
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = ds.Tables[0].Rows[0]["HBackRemark"].ToString() + "!";
                    objJsonResult.Message = "[0000-1-051]" + ds.Tables[0].Rows[0]["HBackRemark"].ToString() + "!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                //判断条码是否已经出站
                ds = oCN.RunProcReturn("select  * from h_v_Gy_QualifiedRecordsList WITH(NOLOCK) where 产品条码='" + omodel.HBarCode_P + "' and HProcExchInterID="+ omodel .HProcExchInterID+ " and HProcExchEntryID="+ omodel.HProcExchEntryID + " and HProcID="+ omodel.HProcID, "h_v_Gy_QualifiedRecordsList");
                if (ds.Tables[0].Rows.Count > 0)
@@ -512,7 +579,7 @@
                    oCN.RollBack();
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "条码:" + omodel.HBarCode_P + ",已存在!";
                    objJsonResult.Message = "[0000-2-039]条码:" + omodel.HBarCode_P + ",已存在!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
@@ -531,7 +598,7 @@
                            oCN.RollBack();
                            objJsonResult.code = "0";
                            objJsonResult.count = 0;
                            objJsonResult.Message = "配件代码:" + HMaterNamePJ + ",数量为0!";
                            objJsonResult.Message = "[3791-2-020]配件代码:" + HMaterNamePJ + ",数量为0!";
                            objJsonResult.data = null;
                            return objJsonResult;
                        }
@@ -544,26 +611,44 @@
                    {
                        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})";
                        string prefix = omodel.HBarCode_P.Substring(0, 10); // 从索引0开始,截取10个字符 判断每个项目的O星圈配件数量
                            //保存生产组装单主表
                         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,1
,0,0,getdate(),'{sub[i].HBarCode}','{omodel.HBarCode_P}','') ";
                            oCN.RunProc(sq2);
                        if (prefix == "#0TE911124") {
                            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,3
                            ,0,0,getdate(),'{sub[i].HBarCode}','{omodel.HBarCode_P}','') ";
                                oCN.RunProc(sq2);
                            }
                        }
                        else
                        {
                            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,1
                            ,0,0,getdate(),'{sub[i].HBarCode}','{omodel.HBarCode_P}','') ";
                                oCN.RunProc(sq2);
                            }
                        }
                    }
                }
@@ -571,7 +656,7 @@
                sMainStr = "[" + sMainStr + "]";
                List<StationBill> list = Newtonsoft.Json.JsonConvert.DeserializeObject<List<StationBill>>(sMainStr);
                ds = oCN.RunProcReturn("select  HCenterID from Sc_ProcessExchangeBillSub WITH(NOLOCK) where HInterID=" + list[0].HProcExchInterID + " and HEntryID=" + list[0].HProcExchEntryID, "Sc_ProcessExchangeBillSub");
                ds = oCN.RunProcReturn("select HCenterID from Sc_ProcessExchangeBillSub WITH(NOLOCK) where HInterID=" + list[0].HProcExchInterID + " and HEntryID=" + list[0].HProcExchEntryID, "Sc_ProcessExchangeBillSub");
                if (ds.Tables[0].Rows.Count > 0)
                {
                    list[0].HCenterID = long.Parse(ds.Tables[0].Rows[0]["HCenterID"].ToString());
@@ -645,7 +730,15 @@
                double HmaterOutqty = 0;//白坯发布
                double HProcPriceRate = 0;//工价系数
                int HTemporaryAreaID = 0;//暂放区
                int HShiftsID = 0;
                //获取当前班次
                DataSet set = oCN.RunProcReturn("exec h_p_Gy_GetWorkShiftInfo " + HDeptID + "," + HCenterID, "h_p_Gy_GetWorkShiftInfo");
                if (set.Tables[0].Rows.Count > 0)
                {
                    HShiftsID = int.Parse(set.Tables[0].Rows[0]["HInterID"].ToString());
                }
                //判断当天当前的流转卡是否有出站单
                ds = oCN.RunProcReturn("select  * from Sc_StationOutBillMain a WITH(NOLOCK) left join  Sc_StationOutBillSub_SN sn WITH(NOLOCK) on a.HInterID=sn.HInterID where a.HInterID=" + HInterID + " and HBillNo='" + HBillNo + "' and CONVERT(varchar(10),HDate,20) ='" + DateTime.Now.ToString("yyyy-MM-dd") + "' ", "Sc_StationOutBillMain");
                if (ds.Tables[0].Rows.Count == 0)
@@ -662,9 +755,9 @@
                    ",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" +
                        ",HmaterOutqty,HProcPriceRate,HTemporaryAreaID,HShiftsID" +
                    ") " +
                    " values('" + BillType + "','"+ HBillSubType + "'," + HInterID + ",'" + HBillNo + "'," + HBillStatus + ",getdate(),'" + HMaker + "',getdate(),'" + HMouldNum + "'" +
                    " 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 +
@@ -672,7 +765,7 @@
                    "," + 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 + ") ");
                  "," + HmaterOutqty + "," + HProcPriceRate + "," + HTemporaryAreaID + "," + HShiftsID + ") ");
                }
              
@@ -680,7 +773,7 @@
                ds = oCN.RunProcReturn("select  * from Sc_StationOutBillSub_SN WITH(NOLOCK) where HInterID='" + omodel.HInterID + "' order by HEntryID desc", "Sc_StationOutBillSub_SN");
                oCN.RunProc($@"insert into Sc_StationOutBillSub_SN(HInterID,HBillNo_bak,HEntryID,HBarCode,HBarCodeQty,HMakeTime,HRemark,HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HRelationQty,HRelationMoney)
values({HInterID}, '{HBillNo}', {(ds.Tables[0].Rows.Count == 0 ? 1 : int.Parse(ds.Tables[0].Rows[0]["HEntryID"].ToString()) + 1)}, '{omodel.HBarCode_P}', 1, GETDATE(), '', " + HProcExchInterID + ","+ HProcExchEntryID + ", '"+ HProcExchBillNo + "', '', 0, 0)");
                    values({HInterID}, '{HBillNo}', {(ds.Tables[0].Rows.Count == 0 ? 1 : int.Parse(ds.Tables[0].Rows[0]["HEntryID"].ToString()) + 1)}, '{omodel.HBarCode_P}', 1, GETDATE(), '', " + HProcExchInterID + ","+ HProcExchEntryID + ", '"+ HProcExchBillNo + "', '', 0, 0)");
                //把条码写入日志里面
                LogService.CustomWriteLog("条码:" + omodel.HBarCode_P + ",工序:"+ HProcID + ",出站时间:" + DateTime.Now, "TM" + DateTime.Now.ToString("yyyy-MM-dd"));
@@ -690,15 +783,15 @@
                ds = oCN.RunProcReturn($@"select (b.HQty -sum(isnull(ou.HQty,0))-sum(isnull(ou.HBadCount,0))) HQty from Sc_ProcessExchangeBillSub b WITH(NOLOCK)
left join Sc_StationOutBillMain ou WITH(NOLOCK) on b.HInterID=ou.HProcExchInterID and b.HEntryID=ou.HProcExchEntryID
where b.HInterID={HProcExchInterID} and b.HEntryID={HProcExchEntryID}
group by b.HInterID,b.HEntryID,b.HQty", "Sc_ProcessExchangeBill_Out");
                            left join Sc_StationOutBillMain ou WITH(NOLOCK) on b.HInterID=ou.HProcExchInterID and b.HEntryID=ou.HProcExchEntryID
                            where b.HInterID={HProcExchInterID} and b.HEntryID={HProcExchEntryID}
                            group by b.HInterID,b.HEntryID,b.HQty", "Sc_ProcessExchangeBill_Out");
                if (double.Parse(ds.Tables[0].Rows[0][0].ToString()) < 0) {
                    oCN.RollBack();
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "出站数量超过流转卡数量!";
                    objJsonResult.Message = "[3791-2-028]出站数量超过流转卡数量!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
@@ -707,7 +800,7 @@
                objJsonResult.code = "1";
                objJsonResult.count = 1;
                objJsonResult.Message = "保存成功!";
                objJsonResult.Message = "[0000-1-050]保存成功!";
                objJsonResult.data = null;
                return objJsonResult;
@@ -717,7 +810,7 @@
                oCN.RollBack();
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "没有返回任何记录!" + e.ToString();
                objJsonResult.Message = "[0000-1-051]没有返回任何记录!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
@@ -731,6 +824,7 @@
        {
            try
            {
                string str1 = "";
                ds = oCN.RunProcReturn(@"select * from h_v_Gy_BarCodeBill WITH(NOLOCK) where HBarCode='" + HBarCode + "'", "h_v_Gy_BarCodeBill");
                //判断条码是否存在条码档案
@@ -754,27 +848,27 @@
                    //判断长度是否为29位 无尘车间
                    if (HBarCode.Length == 29)
                    {
                        string str1 = HBarCode.Substring(18, 8);
                        str1 = HBarCode.Substring(18, 8);
                        DataSet dataSet = oCN.RunProcReturn(@"select  m.HNumber 物料代码,o.HNumber 组织代码 from Sc_ProcessExchangeBillMain a WITH(NOLOCK)
left join Gy_Material m WITH(NOLOCK) on a.HMaterID=m.HItemID
left join Xt_ORGANIZATIONS o WITH(NOLOCK) on a.HPRDORGID=o.HItemID
where HBillNo='" + HProcExchBillNo + "' and HProjectNum like'" + str1 + "%' and HPRDORGID=" + HOrgID, "Sc_ProcessExchangeBillMain");
                        left join Gy_Material m WITH(NOLOCK) on a.HMaterID=m.HItemID
                        left join Xt_ORGANIZATIONS o WITH(NOLOCK) on a.HPRDORGID=o.HItemID
                        where HBillNo='" + HProcExchBillNo + "' and HProjectNum like'" + str1 + "%' and HPRDORGID=" + HOrgID, "Sc_ProcessExchangeBillMain");
                        if (dataSet.Tables[0].Rows.Count == 0)
                        {
                            str1 = HBarCode.Substring(23, 3);
                            dataSet = oCN.RunProcReturn(@"select  m.HNumber 物料代码,o.HNumber 组织代码 from Sc_ProcessExchangeBillMain a WITH(NOLOCK)
left join Gy_Material m WITH(NOLOCK) on a.HMaterID=m.HItemID
left join Xt_ORGANIZATIONS o WITH(NOLOCK) on a.HPRDORGID=o.HItemID
where HBillNo='" + HProcExchBillNo + "' and HProjectNum like'" + str1 + "%' and HPRDORGID=" + HOrgID, "Sc_ProcessExchangeBillMain");
                            left join Gy_Material m WITH(NOLOCK) on a.HMaterID=m.HItemID
                            left join Xt_ORGANIZATIONS o WITH(NOLOCK) on a.HPRDORGID=o.HItemID
                            where HBillNo='" + HProcExchBillNo + "' and HProjectNum like'" + str1 + "%' and HPRDORGID=" + HOrgID, "Sc_ProcessExchangeBillMain");
                            if (dataSet.Tables[0].Rows.Count == 0)
                            {
                                objJsonResult.code = "0";
                                objJsonResult.count = 0;
                                objJsonResult.Message = "条码与流转卡不存在对应关系!";
                                objJsonResult.Message = "[3791-2-016]条码与流转卡不存在对应关系!";
                                objJsonResult.data = null;
                                return objJsonResult;
                            }
@@ -792,95 +886,150 @@
                            return get_HBardBillSave(HProcExchBillNo, HBarCode);
                        }
                    }
                    //判断长度是否为50位  15车间
                    //判断长度是否为50位  15车间 和 O6项目
                    else if (HBarCode.Length == 50)
                    {
                        string str1 = HBarCode.Substring(42, 8);
                        DataSet dataSet = oCN.RunProcReturn(@"select  m.HNumber 物料代码,o.HNumber 组织代码 from Sc_ProcessExchangeBillMain a WITH(NOLOCK)
left join Gy_Material m WITH(NOLOCK) on a.HMaterID=m.HItemID
left join Xt_ORGANIZATIONS o WITH(NOLOCK) on a.HPRDORGID=o.HItemID
where HBillNo='" + HProcExchBillNo + "' and HProjectNum like'" + str1 + "%' and HPRDORGID=" + HOrgID, "Sc_ProcessExchangeBillMain");
                        if (dataSet.Tables[0].Rows.Count == 0)
                        string prefix = HBarCode.Substring(0, 10); // 从索引0开始,截取10个字符
                        if (prefix == "#0TE911124")
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 0;
                            objJsonResult.Message = "条码与流转卡不存在对应关系!";
                            objJsonResult.data = null;
                            return objJsonResult;
                            str1 = HBarCode.Substring(41, 3);
                            LogService.Write($"条码前缀" + str1);
                            DataSet dataSet = oCN.RunProcReturn(@"select  m.HNumber 物料代码,o.HNumber 组织代码 from Sc_ProcessExchangeBillMain a WITH(NOLOCK)
                            left join Gy_Material m WITH(NOLOCK) on a.HMaterID=m.HItemID
                            left join Xt_ORGANIZATIONS o WITH(NOLOCK) on a.HPRDORGID=o.HItemID
                            where HBillNo='" + HProcExchBillNo + "' and HProjectNum like'" + str1 + "%' and HPRDORGID=" + HOrgID, "Sc_ProcessExchangeBillMain");
                            if (dataSet.Tables[0].Rows.Count == 0)
                            {
                                objJsonResult.code = "0";
                                objJsonResult.count = 0;
                                objJsonResult.Message = "[3791-2-016]条码与流转卡不存在对应关系!";
                                objJsonResult.data = null;
                                return objJsonResult;
                            }
                            else
                            {
                                ClsPub.CurUserName = user;
                                //条码生成
                                return get_HBardBillSave(HProcExchBillNo, HBarCode);
                            }
                        }
                        else
                        {
                            ClsPub.CurUserName = user;
                            //条码生成
                            return get_HBardBillSave(HProcExchBillNo, HBarCode);
                            str1 = HBarCode.Substring(42, 8);
                            LogService.Write($"条码前缀1.1" + str1);
                            DataSet dataSet = oCN.RunProcReturn(@"select  m.HNumber 物料代码,o.HNumber 组织代码 from Sc_ProcessExchangeBillMain a WITH(NOLOCK)
                            left join Gy_Material m WITH(NOLOCK) on a.HMaterID=m.HItemID
                            left join Xt_ORGANIZATIONS o WITH(NOLOCK) on a.HPRDORGID=o.HItemID
                            where HBillNo='" + HProcExchBillNo + "' and HProjectNum like'" + str1 + "%' and HPRDORGID=" + HOrgID, "Sc_ProcessExchangeBillMain");
                            if (dataSet.Tables[0].Rows.Count == 0)
                            {
                                objJsonResult.code = "0";
                                objJsonResult.count = 0;
                                objJsonResult.Message = "[3791-2-016]条码与流转卡不存在对应关系!";
                                objJsonResult.data = null;
                                return objJsonResult;
                            }
                            else
                            {
                                ClsPub.CurUserName = user;
                                //条码生成
                                return get_HBardBillSave(HProcExchBillNo, HBarCode);
                            }
                        }
                    }
                    else
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = "条码格式不正确!";
                        objJsonResult.Message = "[0000-2-036]条码格式不正确!";
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                }
                else {
                else
                {
                    //判断长度是否为29位 无尘车间
                    if (HBarCode.Length == 29)
                    {
                        string str1 = HBarCode.Substring(18, 8);
                        str1 = HBarCode.Substring(18, 8);
                        DataSet dataSet = oCN.RunProcReturn(@"select  m.HNumber 物料代码,o.HNumber 组织代码 from Sc_ProcessExchangeBillMain a WITH(NOLOCK)
left join Gy_Material m WITH(NOLOCK) on a.HMaterID=m.HItemID
left join Xt_ORGANIZATIONS o WITH(NOLOCK) on a.HPRDORGID=o.HItemID
where HBillNo='" + HProcExchBillNo + "' and HProjectNum like'" + str1 + "%' and HPRDORGID=" + HOrgID, "Sc_ProcessExchangeBillMain");
                        left join Gy_Material m WITH(NOLOCK) on a.HMaterID=m.HItemID
                        left join Xt_ORGANIZATIONS o WITH(NOLOCK) on a.HPRDORGID=o.HItemID
                        where HBillNo='" + HProcExchBillNo + "' and HProjectNum like'" + str1 + "%' and HPRDORGID=" + HOrgID, "Sc_ProcessExchangeBillMain");
                        if (dataSet.Tables[0].Rows.Count == 0)
                        {
                            str1 = HBarCode.Substring(23, 3);
                            dataSet = oCN.RunProcReturn(@"select  m.HNumber 物料代码,o.HNumber 组织代码 from Sc_ProcessExchangeBillMain a WITH(NOLOCK)
left join Gy_Material m WITH(NOLOCK) on a.HMaterID=m.HItemID
left join Xt_ORGANIZATIONS o WITH(NOLOCK) on a.HPRDORGID=o.HItemID
where HBillNo='" + HProcExchBillNo + "' and HProjectNum like'" + str1 + "%' and HPRDORGID=" + HOrgID, "Sc_ProcessExchangeBillMain");
                            left join Gy_Material m WITH(NOLOCK) on a.HMaterID=m.HItemID
                            left join Xt_ORGANIZATIONS o WITH(NOLOCK) on a.HPRDORGID=o.HItemID
                            where HBillNo='" + HProcExchBillNo + "' and HProjectNum like'" + str1 + "%' and HPRDORGID=" + HOrgID, "Sc_ProcessExchangeBillMain");
                            if (dataSet.Tables[0].Rows.Count == 0)
                            {
                                objJsonResult.code = "0";
                                objJsonResult.count = 0;
                                objJsonResult.Message = "条码与流转卡不存在对应关系!";
                                objJsonResult.Message = "[3791-2-016]条码与流转卡不存在对应关系!";
                                objJsonResult.data = null;
                                return objJsonResult;
                            }
                        }
                    }
                    //判断长度是否为50位  15车间
                    //判断长度是否为50位  15车间  和 O6项目
                    else if (HBarCode.Length == 50)
                    {
                        string str1 = HBarCode.Substring(42, 8);
                        DataSet dataSet = oCN.RunProcReturn(@"select  m.HNumber 物料代码,o.HNumber 组织代码 from Sc_ProcessExchangeBillMain a WITH(NOLOCK)
left join Gy_Material m WITH(NOLOCK) on a.HMaterID=m.HItemID
left join Xt_ORGANIZATIONS o WITH(NOLOCK) on a.HPRDORGID=o.HItemID
where HBillNo='" + HProcExchBillNo + "' and HProjectNum like'" + str1 + "%' and HPRDORGID=" + HOrgID, "Sc_ProcessExchangeBillMain");
                        if (dataSet.Tables[0].Rows.Count == 0)
                        string prefix = HBarCode.Substring(0, 10); // 从索引0开始,截取10个字符
                        if (prefix == "#0TE911124")
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 0;
                            objJsonResult.Message = "条码与流转卡不存在对应关系!";
                            objJsonResult.data = null;
                            return objJsonResult;
                            str1 = HBarCode.Substring(41, 3);
                            LogService.Write($"条码前缀" + str1);
                            DataSet dataSet = oCN.RunProcReturn(@"select  m.HNumber 物料代码,o.HNumber 组织代码 from Sc_ProcessExchangeBillMain a WITH(NOLOCK)
                            left join Gy_Material m WITH(NOLOCK) on a.HMaterID=m.HItemID
                            left join Xt_ORGANIZATIONS o WITH(NOLOCK) on a.HPRDORGID=o.HItemID
                            where HBillNo='" + HProcExchBillNo + "' and HProjectNum like'" + str1 + "%' and HPRDORGID=" + HOrgID, "Sc_ProcessExchangeBillMain");
                            if (dataSet.Tables[0].Rows.Count == 0)
                            {
                                objJsonResult.code = "0";
                                objJsonResult.count = 0;
                                objJsonResult.Message = "[3791-2-016]条码与流转卡不存在对应关系!";
                                objJsonResult.data = null;
                                return objJsonResult;
                            }
                        }
                        else
                        {
                            str1 = HBarCode.Substring(42, 8);
                            DataSet dataSet = oCN.RunProcReturn(@"select  m.HNumber 物料代码,o.HNumber 组织代码 from Sc_ProcessExchangeBillMain a WITH(NOLOCK)
                            left join Gy_Material m WITH(NOLOCK) on a.HMaterID=m.HItemID
                            left join Xt_ORGANIZATIONS o WITH(NOLOCK) on a.HPRDORGID=o.HItemID
                            where HBillNo='" + HProcExchBillNo + "' and HProjectNum like'" + str1 + "%' and HPRDORGID=" + HOrgID, "Sc_ProcessExchangeBillMain");
                            if (dataSet.Tables[0].Rows.Count == 0)
                            {
                                objJsonResult.code = "0";
                                objJsonResult.count = 0;
                                objJsonResult.Message = "[3791-2-016]条码与流转卡不存在对应关系!";
                                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.Message = "[0000-2-037]当前条码的状态为:" + ds.Tables[0].Rows[0]["HStatus"].ToString() + "!";
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
@@ -888,7 +1037,7 @@
                objJsonResult.code = "1";
                objJsonResult.count = 1;
                objJsonResult.Message = "";
                objJsonResult.Message = "[0000-1-037]";
                objJsonResult.data = ds.Tables[0];
                return objJsonResult;
            }
@@ -897,7 +1046,7 @@
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "没有返回任何记录!" + e.ToString();
                objJsonResult.Message = "[0000-1-010]没有返回任何记录!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
@@ -908,10 +1057,10 @@
            {
                //查询流转卡数据
                DataSet dataSet = oCN.RunProcReturn(@"select  a.HPRDORGID, m.HModel 物料规格,m.HName 名物料称,a.HBillNo,a.HInterID,a.HMaterID,m.HNumber 物料代码,o.HNumber 组织代码,a.HUnitID,u.HNumber 单位代码 from Sc_ProcessExchangeBillMain a WITH(NOLOCK)
left join Gy_Material m WITH(NOLOCK) on a.HMaterID=m.HItemID
left join Xt_ORGANIZATIONS o WITH(NOLOCK) on a.HPRDORGID=o.HItemID
left join Gy_Unit u WITH(NOLOCK) on a.HUnitID=u.HItemID
where HBillNo='" + HProcExchBillNo + "'", "Sc_ProcessExchangeBillMain");
                left join Gy_Material m WITH(NOLOCK) on a.HMaterID=m.HItemID
                left join Xt_ORGANIZATIONS o WITH(NOLOCK) on a.HPRDORGID=o.HItemID
                left join Gy_Unit u WITH(NOLOCK) on a.HUnitID=u.HItemID
                where HBillNo='" + HProcExchBillNo + "'", "Sc_ProcessExchangeBillMain");
                string HMaterNumber = dataSet.Tables[0].Rows[0]["物料代码"].ToString();
                string HOrgNumber = dataSet.Tables[0].Rows[0]["组织代码"].ToString();
@@ -920,7 +1069,7 @@
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "条形码不能为空,不能生成条码!";
                    objJsonResult.Message = "[0000-2-019]条形码不能为空,不能生成条码!";
                    return objJsonResult;
                }
@@ -991,7 +1140,7 @@
                objJsonResult.code = "1";
                objJsonResult.count = 1;
                objJsonResult.Message = "";
                objJsonResult.Message = "[0000-1-037]";
                objJsonResult.data = null;
                return objJsonResult;
            }
@@ -1000,7 +1149,7 @@
                oCN.RollBack();
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "没有返回任何记录!" + e.ToString();
                objJsonResult.Message = "[0000-1-010]没有返回任何记录!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
@@ -1019,7 +1168,7 @@
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "无查询权限!";
                    objJsonResult.Message = "[0000-1-068]无查询权限!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
@@ -1029,7 +1178,7 @@
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "SN码查无数据!";
                    objJsonResult.Message = "[3791-2-023]SN码查无数据!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
@@ -1038,7 +1187,7 @@
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "当前条码的状态为:"+ ds.Tables[0].Rows[0]["HStatus"].ToString() + "!";
                    objJsonResult.Message = "[0000-2-037]当前条码的状态为:" + ds.Tables[0].Rows[0]["HStatus"].ToString() + "!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
@@ -1049,7 +1198,7 @@
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "配件条码判断失败!";
                    objJsonResult.Message = "[3791-2-024]配件条码判断失败!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
@@ -1057,14 +1206,14 @@
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = DBUtility.ClsPub.isStrNull(dataSet.Tables[0].Rows[0]["HBackRemark"]);
                    objJsonResult.Message = "[0000-1-010]" + DBUtility.ClsPub.isStrNull(dataSet.Tables[0].Rows[0]["HBackRemark"]);
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                objJsonResult.code = "1";
                objJsonResult.count = 1;
                objJsonResult.Message = "";
                objJsonResult.Message = "[0000-1-037]";
                objJsonResult.data = ds.Tables[0];
                return objJsonResult;
            }
@@ -1073,7 +1222,7 @@
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "没有返回任何记录!" + e.ToString();
                objJsonResult.Message = "[0000-1-010]没有返回任何记录!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
@@ -1092,7 +1241,7 @@
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "无查询权限!";
                    objJsonResult.Message = "[0000-1-068]无查询权限!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
@@ -1100,13 +1249,14 @@
                ds = oCN.RunProcReturn("select * from gy_czygl WITH(NOLOCK) where czymc='" + user + "'", "gy_czygl");
                string HProcID = ds.Tables[0].Rows[0]["HProcID"].ToString();
                //查询流转卡所有工序信息
                ds = oCN.RunProcReturn(@"select * from h_v_Gy_BarCodeBillHICOMProcessExchange WITH(NOLOCK) where 条码='" + HBarCode + "' ", "h_v_Gy_BarCodeBillHICOMProcessExchange");
                if (ds.Tables[0].Rows.Count == 0)
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "条码查无数据!";
                    objJsonResult.Message = "[0000-1-045]条码查无数据!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
@@ -1122,7 +1272,7 @@
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "当前条码与当前工序不匹配!";
                    objJsonResult.Message = "[3791-2-017]当前条码与当前工序不匹配!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
@@ -1130,14 +1280,14 @@
                if (ds.Tables[0].Rows[0]["HStatus"].ToString() != "正常") {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "当前条码状态为"+ ds.Tables[0].Rows[0]["HStatus"].ToString() + "!";
                    objJsonResult.Message = "[0000-2-037]当前条码状态为" + ds.Tables[0].Rows[0]["HStatus"].ToString() + "!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                objJsonResult.code = "1";
                objJsonResult.count = 1;
                objJsonResult.Message = "";
                objJsonResult.Message = "[0000-1-037]";
                objJsonResult.data = ds.Tables[0];
                return objJsonResult;
            }
@@ -1146,7 +1296,7 @@
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "没有返回任何记录!" + e.ToString();
                objJsonResult.Message = "[0000-1-010]没有返回任何记录!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
@@ -1165,7 +1315,7 @@
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "无查询权限!";
                    objJsonResult.Message = "[0000-1-068]无查询权限!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
@@ -1174,7 +1324,7 @@
                objJsonResult.code = "1";
                objJsonResult.count = 1;
                objJsonResult.Message = "";
                objJsonResult.Message = "[0000-1-037]";
                objJsonResult.data = ds;
                return objJsonResult;
            }
@@ -1183,7 +1333,7 @@
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "没有返回任何记录!" + e.ToString();
                objJsonResult.Message = "[0000-1-010]没有返回任何记录!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
@@ -1202,7 +1352,7 @@
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "无查询权限!";
                    objJsonResult.Message = "[0000-1-068]无查询权限!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
@@ -1211,7 +1361,7 @@
                objJsonResult.code = "1";
                objJsonResult.count = 1;
                objJsonResult.Message = "";
                objJsonResult.Message = "[0000-1-037]";
                objJsonResult.data = ds.Tables[0];
                return objJsonResult;
            }
@@ -1220,7 +1370,7 @@
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "没有返回任何记录!" + e.ToString();
                objJsonResult.Message = "[0000-1-010]没有返回任何记录!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
@@ -1239,7 +1389,7 @@
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "无删除权限!";
                    objJsonResult.Message = "[0000-1-058]无删除权限!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
@@ -1250,7 +1400,7 @@
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "查无数据!";
                    objJsonResult.Message = "[0000-1-045]查无数据!";
                    objJsonResult.data = null;
                }
                string HProcExchInterID = ds.Tables[0].Rows[0]["HProcExchInterID"].ToString();
@@ -1283,7 +1433,7 @@
                objJsonResult.code = "1";
                objJsonResult.count = 1;
                objJsonResult.Message = "Sucess!";
                objJsonResult.Message = "[0000-1-037]Sucess!";
                objJsonResult.data = null;
                return objJsonResult;
            }
@@ -1292,7 +1442,7 @@
                oCN.RollBack();
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "Exception!" + e.ToString();
                objJsonResult.Message = "[0000-1-038]Exception!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
@@ -1311,7 +1461,7 @@
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "无删除权限!";
                    objJsonResult.Message = "[0000-1-058]无删除权限!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
@@ -1324,7 +1474,7 @@
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "查无数据!";
                    objJsonResult.Message = "[0000-1-045]查无数据!";
                    objJsonResult.data = null;
                }
@@ -1353,7 +1503,7 @@
                objJsonResult.code = "1";
                objJsonResult.count = 1;
                objJsonResult.Message = "Sucess!";
                objJsonResult.Message = "[0000-1-037]Sucess!";
                objJsonResult.data = null;
                return objJsonResult;
            }
@@ -1362,7 +1512,7 @@
                oCN.RollBack();
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "Exception!" + e.ToString();
                objJsonResult.Message = "[0000-1-010]Exception!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
@@ -1381,7 +1531,7 @@
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "无查询权限!";
                    objJsonResult.Message = "[0000-1-068]无查询权限!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
@@ -1395,7 +1545,7 @@
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "条码查无数据!";
                    objJsonResult.Message = "[0000-2-020]条码查无数据!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
@@ -1412,7 +1562,7 @@
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "当前条码与当前工序不匹配!";
                    objJsonResult.Message = "[3791-2-017]当前条码与当前工序不匹配!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
@@ -1421,7 +1571,7 @@
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "当前条码状态为" + ds.Tables[0].Rows[0]["HStatus"].ToString() + "!";
                    objJsonResult.Message = "[0000-2-037]当前条码状态为" + ds.Tables[0].Rows[0]["HStatus"].ToString() + "!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
@@ -1429,7 +1579,7 @@
                objJsonResult.code = "1";
                objJsonResult.count = 1;
                objJsonResult.Message = "";
                objJsonResult.Message = "[0000-1-037]";
                objJsonResult.data = ds.Tables[0];
                return objJsonResult;
            }
@@ -1438,7 +1588,7 @@
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "没有返回任何记录!" + e.ToString();
                objJsonResult.Message = "[0000-1-010]没有返回任何记录!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
@@ -1505,7 +1655,7 @@
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "无查询权限!";
                    objJsonResult.Message = "[0000-1-068]无查询权限!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
@@ -1525,7 +1675,7 @@
                objJsonResult.code = "1";
                objJsonResult.count = 1;
                objJsonResult.Message = "Sucess!";
                objJsonResult.Message = "[0000-1-037]Sucess!";
                objJsonResult.data = ds.Tables[0];
                objJsonResult.list = columnNameList;
                return objJsonResult;
@@ -1534,7 +1684,7 @@
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "Exception!" + e.ToString();
                objJsonResult.Message = "[0000-1-010]Exception!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
@@ -1561,7 +1711,7 @@
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "无保存权限!";
                    objJsonResult.Message = "[0000-2-038]无保存权限!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
@@ -1574,7 +1724,7 @@
                    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
@@ -1588,7 +1738,7 @@
                    oCN.RunProc("update Sc_AssemblyBillSub set HBarCode='" + temp.HBarCode + "' where HInterID=" + temp.HInterID + " and HEntryID=" + temp.HEntryID);
                    //oCN.RunProc("exec h_p_AssemblyBill_Temp '" + temp.HProcExchBillNo + "'," + model.HProcess + "," + temp.HMaterID + ",'" + temp.HBatchNo + "'");
                }
                else if (HResult == "NG"|| HResult == "OK") {
                else if (HResult == "NG"|| HResult == "OK") {
                    Model.ClsSc_SourceLineRepairBillMain model = new Model.ClsSc_SourceLineRepairBillMain();
                    model = JsonConvert.DeserializeObject<Model.ClsSc_SourceLineRepairBillMain>(sMainStr);
@@ -1637,15 +1787,27 @@
                        if (dataSet.Tables[0].Rows.Count > 0)
                        {
                            string HOutInterID = dataSet.Tables[0].Rows[0][0].ToString();
                            oCN.RunProc("update Sc_StationOutBillMain set HBadCount-=1 where HInterID='" + HOutInterID + "'");
                            //斯莫尔的情况 分 工废 料废 返工
                            //工废
                            if (subLsit[0].HBadTypeID == 3)
                            {
                                oCN.RunProc("update Sc_StationOutBillMain set HBadCount-=1,HWasterQty_Work-=1  where HInterID='" + HOutInterID + "'");
                            }//料废
                            else if (subLsit[0].HBadTypeID == 4)
                            {
                                oCN.RunProc("update Sc_StationOutBillMain set HBadCount-=1,HWasterQty_Mater-=1 where HInterID='" + HOutInterID + "'");
                            }//返工
                            else if (subLsit[0].HBadTypeID == 6)
                            {
                                oCN.RunProc("update Sc_StationOutBillMain set HBadCount-=1,HBackWorkQty-=1 where HInterID='" + HOutInterID + "'");
                            }
                        }
                        else
                        {
                            oCN.RollBack();
                            objJsonResult.code = "0";
                            objJsonResult.count = 0;
                            objJsonResult.Message = "保存失败,当前流转卡当前工序的出站单没有不良数量!";
                            objJsonResult.Message = "[3748-2-005]保存失败,当前流转卡当前工序的出站单没有不良数量!";
                            objJsonResult.data = null;
                            return objJsonResult;
                        }
@@ -1655,7 +1817,7 @@
                    oCN.RollBack();
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "保存失败,无结果!";
                    objJsonResult.Message = "[0000-1-051]保存失败,无结果!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
@@ -1665,7 +1827,7 @@
                objJsonResult.code = "1";
                objJsonResult.count = 1;
                objJsonResult.Message = "Sucess!";
                objJsonResult.Message = "[0000-1-050]Sucess!";
                objJsonResult.data = null;
                return objJsonResult;
            }
@@ -1674,7 +1836,7 @@
                oCN.RollBack();
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "Exception!" + e.ToString();
                objJsonResult.Message = "[0000-1-051]Exception!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
@@ -1693,7 +1855,7 @@
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "无删除权限!";
                    objJsonResult.Message = "[0000-1-058]无删除权限!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
@@ -1703,7 +1865,7 @@
                if (ds.Tables[0].Rows.Count == 0) {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "查无数据!";
                    objJsonResult.Message = "[0000-1-045]查无数据!";
                    objJsonResult.data = null;
                }
@@ -1742,7 +1904,7 @@
                oCN.RollBack();
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "Exception!" + e.ToString();
                objJsonResult.Message = "[0000-1-010]Exception!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
@@ -1814,7 +1976,7 @@
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "无查询权限!";
                    objJsonResult.Message = "[0000-1-068]无查询权限!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
@@ -1824,7 +1986,7 @@
                objJsonResult.code = "1";
                objJsonResult.count = 1;
                objJsonResult.Message = "Sucess!";
                objJsonResult.Message = "[0000-1-037]Sucess!";
                objJsonResult.data = ds.Tables[0];
                return objJsonResult;
            }
@@ -1832,7 +1994,7 @@
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "Exception!" + e.ToString();
                objJsonResult.Message = "[0000-1-038]Exception!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
@@ -1902,7 +2064,7 @@
                objJsonResult.code = "1";
                objJsonResult.count = 1;
                objJsonResult.Message = "Sucess!";
                objJsonResult.Message = "[0000-1-037]Sucess!";
                objJsonResult.data = ds.Tables[0];
                objJsonResult.list = columnNameList;
                return objJsonResult;
@@ -1912,7 +2074,7 @@
                oCN.RollBack();
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "Exception!" + e.ToString();
                objJsonResult.Message = "[0000-1-038]Exception!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
@@ -1942,7 +2104,7 @@
                objJsonResult.code = "1";
                objJsonResult.count = 1;
                objJsonResult.Message = "Sucess!";
                objJsonResult.Message = "[0000-1-037]Sucess!";
                objJsonResult.data = ds.Tables[0];
                objJsonResult.list = columnNameList;
                return objJsonResult;
@@ -1952,7 +2114,7 @@
                oCN.RollBack();
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "Exception!" + e.ToString();
                objJsonResult.Message = "[0000-1-038]Exception!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
@@ -1982,7 +2144,7 @@
                objJsonResult.code = "1";
                objJsonResult.count = 1;
                objJsonResult.Message = "Sucess!";
                objJsonResult.Message = "[0000-1-037]Sucess!";
                objJsonResult.data = ds.Tables[0];
                objJsonResult.list = columnNameList;
                return objJsonResult;
@@ -1992,7 +2154,7 @@
                oCN.RollBack();
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "Exception!" + e.ToString();
                objJsonResult.Message = "[0000-1-038]Exception!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
@@ -2022,7 +2184,7 @@
                objJsonResult.code = "1";
                objJsonResult.count = 1;
                objJsonResult.Message = "Sucess!";
                objJsonResult.Message = "[0000-1-037]Sucess!";
                objJsonResult.data = ds.Tables[0];
                objJsonResult.list = columnNameList;
                return objJsonResult;
@@ -2031,7 +2193,7 @@
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "Exception!" + e.ToString();
                objJsonResult.Message = "[0000-1-038]Exception!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
@@ -2061,7 +2223,7 @@
                objJsonResult.code = "1";
                objJsonResult.count = 1;
                objJsonResult.Message = "Sucess!";
                objJsonResult.Message = "[0000-1-037]Sucess!";
                objJsonResult.data = ds.Tables[0];
                objJsonResult.list = columnNameList;
                return objJsonResult;
@@ -2071,7 +2233,7 @@
                oCN.RollBack();
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "Exception!" + e.ToString();
                objJsonResult.Message = "[0000-1-038]Exception!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
@@ -2088,6 +2250,7 @@
                List<object> columnNameList = new List<object>();
                //查询配件清单信息
                string sql = @"exec h_p_GZ_BarCodeBillList '" + HMaterNumber + "','" + HBatchNo + "','" + sWhere + "'";
                ds = oCN.RunProcReturn(sql, "h_p_GZ_BarCodeBillList");
@@ -2101,7 +2264,7 @@
                objJsonResult.code = "1";
                objJsonResult.count = 1;
                objJsonResult.Message = "Sucess!";
                objJsonResult.Message = "[0000-1-037]Sucess!";
                objJsonResult.data = ds.Tables[0];
                objJsonResult.list = columnNameList;
                return objJsonResult;
@@ -2111,7 +2274,7 @@
                oCN.RollBack();
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "Exception!" + e.ToString();
                objJsonResult.Message = "[0000-1-038]Exception!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
@@ -2141,7 +2304,7 @@
                objJsonResult.code = "1";
                objJsonResult.count = 1;
                objJsonResult.Message = "Sucess!";
                objJsonResult.Message = "[0000-1-037]Sucess!";
                objJsonResult.data = ds.Tables[0];
                objJsonResult.list = columnNameList;
                return objJsonResult;
@@ -2151,7 +2314,7 @@
                oCN.RollBack();
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "Exception!" + e.ToString();
                objJsonResult.Message = "[0000-1-038]Exception!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
@@ -2238,5 +2401,1053 @@
        }
        #endregion
        #region 工序单品过站 查询当前流转卡是否有已有出站单 获取id 单据号
        [Route("Cj_SingleStation/SingleItemTransit_CZD")]
        [HttpGet]
        public object SingleItemTransit_CZD(string sWhere)
        {
            try
            {
                List<object> columnNameList = new List<object>();
                ds = oCN.RunProcReturn(sWhere, "WindowPrint");
                //添加列名
                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 = "1";
                objJsonResult.count = 1;
                objJsonResult.Message = "[0000-1-037]Sucess!";
                objJsonResult.data = ds.Tables[0];
                objJsonResult.list = columnNameList;
                return objJsonResult;
            }
            catch (Exception e)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "[0000-1-038]Exception!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #endregion
        #region 小卫单品过站接口
        #region  工序单品过站 扫条码码校验返回信息(只用于验证批次是否入库)
        [Route("Cj_SingleStation/checkHBarCode_Batch")]
        [HttpGet]
        public object checkHBarCode_Batch(string HBarCode,string user, int HOrgID)
        {
            try
            {
                ds = oCN.RunProcReturn(@"select * from h_v_Gy_BarCodeBill WITH(NOLOCK) where HBarCode='" + HBarCode + "'", "h_v_Gy_BarCodeBill");
                //判断条码是否存在条码档案
                if (ds.Tables[0].Rows.Count > 0)
                {
                    objJsonResult.code = "1";
                    objJsonResult.count = 1;
                    objJsonResult.Message = "[0000-1-037]校验成功";
                    objJsonResult.data = ds.Tables[0];
                    return objJsonResult;
                }
                else
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "[0000-1-010]没有返回任何记录!当前批次码无入库信息请检查是否扫错";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
            }
            catch (Exception e)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "[0000-1-010]没有返回任何记录!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #endregion
        #region  工序单品过站 扫SN码出站保存(保存到出站汇报里(无关键件绑定))
        [Route("Cj_SingleStation/AddStationOutBillList")]
        [HttpPost]
        public object AddStationOutBillList([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 barCode_SN = sArray[1].ToString();//扫描的SN码镭雕码产品信息
                string user = sArray[2].ToString();
                //判断是否有查询权限
                if (!DBUtility.ClsPub.Security_Log("Cj_StationOutBill_Edit", 1, false, user))
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "[0000-2-038]无保存权限!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                oCN.BeginTran();
                string sExeReturnInfo = "";
                StationBill omodel = new StationBill();
                omodel = JsonConvert.DeserializeObject<StationBill>(sMainStr);
                //判断是否有对应流转卡信息并获取
                ds = oCN.RunProcReturn(@"exec h_p_Sc_ProcessExchangeBillList_XW '" + barCode_SN + "'," + omodel.HProcID, "h_p_Sc_ProcessExchangeBillList");
                if (ds.Tables[0].Rows.Count > 0)
                {
                    //将流转卡信息写入
                    omodel.HProcExchBillNo = ds.Tables[0].Rows[0]["HProcExchBillNo"].ToString();
                    omodel.HProcExchInterID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[0]["HProcExchInterID"].ToString());
                    omodel.HProcExchEntryID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[0]["HProcExchEntryID"].ToString());
                    omodel.HMaterID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[0]["HMainMaterID"].ToString());
                    omodel.HCenterID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[0]["HCenterID"].ToString());
                    omodel.HICMOBillNo = ds.Tables[0].Rows[0]["HICMOBillNo"].ToString();
                    omodel.HICMOInterID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[0]["HICMOInterID"].ToString());
                    omodel.HICMOEntryID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[0]["HICMOEntryID"].ToString());
                    omodel.HICMOQty = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[0]["HICMOQty"].ToString());
                    omodel.HProcNo = ds.Tables[0].Rows[0]["HProcNo"].ToString();
                }
                else
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "[3791-2-019]]当前SN码和工序无法找到对应流转卡请检查是否输入选择错误";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                //条码上道工序是否过站
                ds = oCN.RunProcReturn("exec h_p_Sc_SNBarcodeProcCtrl_XW '" + barCode_SN + "'," + omodel.HProcID, "h_p_Sc_SNBarcodeProcCtrl_XW");
                if (ClsPub.isInt(ds.Tables[0].Rows.Count) == 0)
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "[0000-1-045]查无数据!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                else if (ds.Tables[0].Rows[0]["HBack"].ToString() == "1")
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "[0000-1-051]" + ds.Tables[0].Rows[0]["HBackRemark"].ToString() + "!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                //判断条码是否已经出站
                //ds = oCN.RunProcReturn("select  * from h_v_Gy_QualifiedRecordsList WITH(NOLOCK) where 产品条码='" + barCode_SN + "' and HProcExchInterID=" + omodel.HProcExchInterID + " and HProcExchEntryID=" + omodel.HProcExchEntryID + " and HProcID=" + omodel.HProcID, "h_v_Gy_QualifiedRecordsList");
                //if (ds.Tables[0].Rows.Count > 0)
                //{
                //    oCN.RollBack();
                //    objJsonResult.code = "0";
                //    objJsonResult.count = 0;
                //    objJsonResult.Message = "[0000-2-039]条码:" + barCode_SN + ",已出站!";
                //    objJsonResult.data = null;
                //    return objJsonResult;
                //}
                long HMainInterID = 0;
                string BillType = "3791";
                string HBillSubType = "3791";
                long HInterID = omodel.HInterID;//递入type得到的单据ID
                string HBillNo = omodel.HBillNo;//递入type得到的单据号
                int HBillStatus = 1;
                string HMaker = user;//制单人
                string HMouldNum = omodel.HMouldNum;//模穴号
                int HYear = DateTime.Now.Year;
                double HPeriod = DateTime.Now.Month;
                string HRemark = omodel.HRemark;//备注
                string HSourceName = omodel.HSourceName;//生产资源名称
                double HPieceQty = omodel.HPieceQty;//进站PCS数
                double HWasterQty = 0;//报废数量
                double HPlanPieceQty = 0;//进站PNL数
                double HBadPNL = 0;//报废PNL数
                long HICMOInterID = omodel.HICMOInterID;//任务单ID
                long HICMOEntryID = omodel.HICMOEntryID;//任务单ID
                string HICMOBillNo = omodel.HICMOBillNo;//任务单
                int HProcPlanInterID = 0;
                int HProcPlanEntryID = 0;
                string HProcPlanBillNo = "";
                long HProcExchInterID = omodel.HProcExchInterID;
                long HProcExchEntryID = omodel.HProcExchEntryID;
                string HProcExchBillNo = omodel.HProcExchBillNo;//流转卡
                long HMaterID = omodel.HMaterID;//产品ID
                long HProcID = omodel.HProcID;//当前工序ID
                double HICMOQty = omodel.HICMOQty;//任务单数量
                double HPlanQty = omodel.HICMOQty;//移交PNL数
                DateTime HStationOutTime = DateTime.Now;//汇报时间
                long HSourceID = omodel.HSourceID;//生产资源ID
                long HPayProcID = 0;//核算工序ID
                long HGroupID = omodel.HGroupID;//班组ID
                long HDeptID = omodel.HDeptID;
                long HEmpID = omodel.HEmpID;//操作员ID
                long HEmpID2 = omodel.HEmpID2;////操作员2ID
                string HBarCode = barCode_SN;//条形码
                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 = omodel.HQty;//合格数量
                double HPrice = 0;
                double HMoney = 0;
                double HBadCount = omodel.HBadCount;//不良数量
                long HCenterID = omodel.HCenterID;//工作中心ID
                string HProcNo = omodel.HProcNo;//流水号
                string HOrderProcNO = omodel.HOrderProcNO;//订单跟踪号
                string HSourceNameList = omodel.HSourceNameList;//设备清单
                long HMainSourceInterID = omodel.HProcExchInterID;//递入type得到的单据ID
                string HMainSourceBillNo = omodel.HProcExchBillNo;//递入type得到的单据号
                string HMainSourceBillType = "3772";
                bool HLastSubProc = omodel.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 = omodel.HEmpID;//检验员ID
                long HPRDOrgID = omodel.HPRDOrgID;//组织ID
                double HmaterOutqty = 0;//白坯发布
                double HProcPriceRate = 0;//工价系数
                int HTemporaryAreaID = 0;//暂放区
                int HShiftsID = 0;
                string HBatchNo = omodel.HBatchNo;
                double HWeight = omodel.HWeight;
                //获取当前班次
                //DataSet set = oCN.RunProcReturn("exec h_p_Gy_GetWorkShiftInfo " + HDeptID + "," + HCenterID, "h_p_Gy_GetWorkShiftInfo");
                //if (set.Tables[0].Rows.Count > 0)
                //{
                //    HShiftsID = int.Parse(set.Tables[0].Rows[0]["HInterID"].ToString());
                //}
                //判断当天当前的流转卡是否有出站单
                HInterID = DBUtility.ClsPub.CreateBillID("3791", ref sExeReturnInfo);//递入type得到的单据ID
                HBillNo = DBUtility.ClsPub.CreateBillCode_Prod("3791", ref sExeReturnInfo, true);//递入type得到的单据号
                //主表插入
                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,HShiftsID" +
                ") " +
                " 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 + "," + HShiftsID + ") ");
                ds = oCN.RunProcReturn("select  * from Sc_StationOutBillSub_SN WITH(NOLOCK) where HInterID='" + omodel.HInterID + "' order by HEntryID desc", "Sc_StationOutBillSub_SN");
                oCN.RunProc($@"insert into Sc_StationOutBillSub_SN(HInterID,HBillNo_bak,HEntryID,HBarCode,HBarCodeQty,HMakeTime,HRemark,HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HRelationQty,HRelationMoney,HBatchNo,HWeight)
                    values({HInterID}, '{HBillNo}', {(ds.Tables[0].Rows.Count == 0 ? 1 : int.Parse(ds.Tables[0].Rows[0]["HEntryID"].ToString()) + 1)}, '{barCode_SN}', 1, GETDATE(), '', " + HProcExchInterID + "," + HProcExchEntryID + ", '" + HProcExchBillNo + $"', '', 0, 0,'{HBatchNo}',{HWeight})");
                //把条码写入日志里面
                LogService.CustomWriteLog("条码:" + barCode_SN + ",工序:" + HProcID + ",出站时间:" + DateTime.Now, "TM" + DateTime.Now.ToString("yyyy-MM-dd"));
                //反写工序出站单的合格数量
                //oCN.RunProc("update Sc_StationOutBillMain set HQty+=1  where HProcExchInterID='" + HProcExchInterID + "' and HProcExchEntryID=" + HProcExchEntryID + " and HInterID=" + HInterID);
                //=========================保存后控制
                DataSet ds2 = oCN.RunProcReturn("Exec h_p_Sc_SingleStationOutBill_AfterSaveCtrl " + HInterID.ToString() + ", '" + HBillNo + $@"',{(ds.Tables[0].Rows.Count == 0 ? 1 : int.Parse(ds.Tables[0].Rows[0]["HEntryID"].ToString()) + 1)},'{barCode_SN}','{user}' ", "h_p_Sc_SingleStationOutBill_AfterSaveCtrl");
                if (ds2 == null)
                {
                    oCN.RollBack();
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "[0000-2-016]保存后控制判断失败!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                if (DBUtility.ClsPub.isStrNull(ds2.Tables[0].Rows[0]["HBack"]) != "0")
                {
                    oCN.RollBack();
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "[0000-1-051]保存失败2!" + DBUtility.ClsPub.isStrNull(ds2.Tables[0].Rows[0]["HBackRemark"]);
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                //============================
                //ds = oCN.RunProcReturn($@"select (b.HQty -sum(isnull(ou.HQty,0))-sum(isnull(ou.HBadCount,0))) HQty from Sc_ProcessExchangeBillSub b WITH(NOLOCK)
                //            left join Sc_StationOutBillMain ou WITH(NOLOCK) on b.HInterID=ou.HProcExchInterID and b.HEntryID=ou.HProcExchEntryID
                //            where b.HInterID={HProcExchInterID} and b.HEntryID={HProcExchEntryID}
                //            group by b.HInterID,b.HEntryID,b.HQty", "Sc_ProcessExchangeBill_Out");
                //if (double.Parse(ds.Tables[0].Rows[0][0].ToString()) < 0)
                //{
                //    oCN.RollBack();
                //    objJsonResult.code = "0";
                //    objJsonResult.count = 0;
                //    objJsonResult.Message = "[3791-2-028]出站数量超过流转卡数量!";
                //    objJsonResult.data = null;
                //    return objJsonResult;
                //}
                oCN.Commit();
                objJsonResult.code = "1";
                objJsonResult.count = 1;
                objJsonResult.Message = "[0000-1-050]保存成功!";
                objJsonResult.data = HInterID;//返回出站汇报单id
                return objJsonResult;
            }
            catch (Exception e)
            {
                oCN.RollBack();
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "[0000-1-051]没有返回任何记录!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #endregion
        #region 返回历史出战汇报单信息(即历史过站清单)
        [Route("Cj_SingleStation/SingleStationOutBillList")]
        [HttpGet]
        public object get_Display(string sWhere, string user)
        {
            try
            {
                List<object> columnNameList = new List<object>();
                //判断是否有查询权限
                if (!DBUtility.ClsPub.Security_Log("Cj_StationOutBill_Query", 1, false, user))
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "[0000-1-068]出站单无查询权限!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                if (sWhere == null || sWhere.Equals(""))
                {
                    ds = oCN.RunProcReturn("select Top 1000 * from h_v_Sc_SingleStationOutBillList where 1 = 1" + sWhere + "order by hmainid desc", "h_v_Sc_SingleStationOutBillList");
                }
                else
                {
                    string sql1 = "select Top 1000 * from h_v_Sc_SingleStationOutBillList where 1 = 1 ";
                    string sql = sql1 + sWhere + "  order by hmainid desc";
                    ds = oCN.RunProcReturn(sql, "h_v_Sc_SingleStationOutBillList");
                }
                //添加列名
                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 = "1";
                objJsonResult.count = 1;
                objJsonResult.Message = "[0000-1-037]Sucess!";
                objJsonResult.list = columnNameList;
                objJsonResult.data = ds.Tables[0];
                return objJsonResult;
            }
            catch (Exception e)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "[0000-1-038]Exception!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #endregion
        #region  工序单品过站 SN镭雕码查询关键件清单
        [Route("Cj_SingleStation/HBardCodeBomList_XW")]
        [HttpGet]
        public object HBardCodeBomList_XW(string HBillNo,string HBarCode,int HProcID,int HOrgID, string user)
        {
            try
            {
                //判断是否有查询权限
                if (!DBUtility.ClsPub.Security_Log("Cj_StationOutBill_Query", 1, false, user))
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "[0000-1-068]无查询权限!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                //判断所扫条码是否存在条码档案当中
                ds = oCN.RunProcReturn(@"select 1 from Gy_BarCodeBill WITH(NOLOCK) where HBarCode='" + HBarCode + "'", "Gy_BarCodeBill");
                if (ds.Tables[0].Rows.Count == 0)
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "该条码不存在:" + HBarCode;
                    objJsonResult.data = "";
                    return objJsonResult;
                }
                //条码档案中已有本次扫描的条码,匹配用料清单(扫码数据写入临时表)
                ds = oCN.RunProcReturn(@"exec h_p_Gy_BarCodeBillBomMatch_XW '" + HBillNo + "','" + HBarCode + "','" + HProcID + "'," + HOrgID, "h_p_Gy_BarCodeBillBomList_XW");
                if (ds != null && ds.Tables[0].Rows.Count > 0)
                {
                    if (ClsPub.isLong(ds.Tables[0].Rows[0]["HBack"]) != 0)
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBackRemark"]);
                        objJsonResult.data = "";
                        return objJsonResult;
                    }
                    else
                    {
                        objJsonResult.code = "1";
                        objJsonResult.count = 1;
                        objJsonResult.Message = "";
                        objJsonResult.data = ds.Tables[0];
                        return objJsonResult;
                    }
                }
                else
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "没有查询到数据";
                    objJsonResult.data = "";
                    return objJsonResult;
                }
            }
            catch (Exception e)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "[0000-1-010]没有返回任何记录!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #endregion
        #region 工序单品过站 关键件绑定配件信息临时存储
        [Route("Cj_SingleStation/BarCodeBillBomMatch_XW")]
        [HttpGet]
        public object PartsBardCode_JX(string HBillNo,string HBarCode, string HBarCode_P, int HProcID, string user, int HOrgID)
        {
            try
            {
                //判断所扫条码是否存在条码档案当中
                ds = oCN.RunProcReturn(@"select 1 from Gy_BarCodeBill WITH(NOLOCK) where HBarCode='" + HBarCode + "'", "Gy_BarCodeBill");
                if (ds.Tables[0].Rows.Count == 0)
                {
                    //条码档案中没有本次扫描的条码,则根据规则解析生成条码
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "该条码不存在:" + HBarCode;
                    objJsonResult.data = "";
                    return objJsonResult;
                }
                //条码档案中已有本次扫描的条码,查询配件信息(扫描条码信息写入临时表)
                ds = oCN.RunProcReturn(@"exec h_p_Gy_BarCodeBillBomBind_XW '" + HBillNo + "','" + HBarCode + "','" + HBarCode_P + "','" + HProcID + "','" + HOrgID + "'", "h_p_Gy_BarCodeBillBomBind_XW");
                if (ds != null && ds.Tables[0].Rows.Count > 0)
                {
                    if (ClsPub.isLong(ds.Tables[0].Rows[0]["HBack"]) != 0)
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBackRemark"]);
                        objJsonResult.data = "";
                        return objJsonResult;
                    }
                    else
                    {
                        objJsonResult.code = "1";
                        objJsonResult.count = 1;
                        objJsonResult.Message = "";
                        objJsonResult.data = ds.Tables[0];
                        return objJsonResult;
                    }
                }
                else
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "";
                    objJsonResult.data = "没有查询到数据";
                    return objJsonResult;
                }
            }
            catch (Exception e)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "ERROR!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #endregion
        #region  工序单品过站 扫SN码出站保存(保存到出站汇报里(+关键件绑定))
        [Route("Cj_SingleStation/AddStationOutBillAndAssemblyBill")]
        [HttpPost]
        public object AddStationOutBillAndAssemblyBill([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 barCode_SN = sArray[1].ToString();//扫描的SN码镭雕码产品信息
                string sSubStr = sArray[2].ToString();//子表关键件信息
                string user = sArray[3].ToString();
                //判断是否有查询权限
                if (!DBUtility.ClsPub.Security_Log("Cj_StationOutBill_Edit", 1, false, user))
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "[0000-2-038]无保存权限!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                oCN.BeginTran();
                string sExeReturnInfo = "";
                StationBill omodel = new StationBill();
                omodel = JsonConvert.DeserializeObject<StationBill>(sMainStr);
                List<Model.ClsSc_AssemblyBillSub> sub = new List<Model.ClsSc_AssemblyBillSub>();
                sub = JsonConvert.DeserializeObject<List<Model.ClsSc_AssemblyBillSub>>(sSubStr);
                //判断是否有对应流转卡信息并获取
                ds = oCN.RunProcReturn(@"exec h_p_Sc_ProcessExchangeBillList_XW '" + barCode_SN + "'," + omodel.HProcID, "h_p_Sc_ProcessExchangeBillList");
                if (ds.Tables[0].Rows.Count > 0)
                {
                    //将流转卡信息写入
                    omodel.HProcExchBillNo = ds.Tables[0].Rows[0]["HProcExchBillNo"].ToString();
                    omodel.HProcExchInterID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[0]["HProcExchInterID"].ToString());
                    omodel.HProcExchEntryID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[0]["HProcExchEntryID"].ToString());
                    omodel.HMaterID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[0]["HMainMaterID"].ToString());
                    omodel.HCenterID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[0]["HCenterID"].ToString());
                    omodel.HICMOBillNo = ds.Tables[0].Rows[0]["HICMOBillNo"].ToString();
                    omodel.HICMOInterID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[0]["HICMOInterID"].ToString());
                    omodel.HICMOEntryID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[0]["HICMOEntryID"].ToString());
                    omodel.HICMOQty = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[0]["HICMOQty"].ToString());
                    omodel.HProcNo = ds.Tables[0].Rows[0]["HProcNo"].ToString();
                }
                else
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "[3791-2-019]]当前SN码和工序无法找到对应流转卡请检查是否输入选择错误";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                //条码上道工序是否过站以及本道条码是否已经出站
                ds = oCN.RunProcReturn("exec h_p_Sc_SNBarcodeProcCtrl_XW '" + barCode_SN + "'," + omodel.HProcID, "h_p_Sc_SNBarcodeProcCtrl_XW");
                if (ClsPub.isInt(ds.Tables[0].Rows.Count) == 0)
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "[0000-1-045]查无数据!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                else if (ds.Tables[0].Rows[0]["HBack"].ToString() == "1")
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "[0000-1-051]" + ds.Tables[0].Rows[0]["HBackRemark"].ToString() + "!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                //判断条码是否已经出站
                //ds = oCN.RunProcReturn("select  * from h_v_Gy_QualifiedRecordsList WITH(NOLOCK) where 产品条码='" + barCode_SN + "' and HProcExchInterID=" + omodel.HProcExchInterID + " and HProcExchEntryID=" + omodel.HProcExchEntryID + " and HProcID=" + omodel.HProcID, "h_v_Gy_QualifiedRecordsList");
                //if (ds.Tables[0].Rows.Count > 0)
                //{
                //    oCN.RollBack();
                //    objJsonResult.code = "0";
                //    objJsonResult.count = 0;
                //    objJsonResult.Message = "[0000-2-039]条码:" + barCode_SN + ",已出站!";
                //    objJsonResult.data = null;
                //    return objJsonResult;
                //}
                //增加产线组装追溯单
                DataSet ds1;
                if (1==1)
                {
                    ds1 = oCN.RunProcReturn("select * from Sc_AssemblyBillMain WITH(NOLOCK) where HMainSourceInterID =" + omodel.HProcExchInterID + " and HMainSourceEntryID =" + omodel.HProcExchEntryID + " and HBarCode_P = '" + barCode_SN + "'", "Sc_AssemblyBillMain");
                    if (ds1.Tables[0].Rows.Count == 0)
                    {
                        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()}','{barCode_SN.ToString()}',{omodel.HMaterID},0,'汇报',{omodel.HPRDOrgID})";
                        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,1
                            ,0,0,getdate(),'{sub[i].HBarCode}','{barCode_SN}','') ";
                            oCN.RunProc(sq2);
                        }
                    }
                    else
                    {
                        oCN.RollBack();
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = "[0000-2-039]条码已存在绑定单:" + barCode_SN + "";
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                }
                long HMainInterID = 0;
                string BillType = "3791";
                string HBillSubType = "3791";
                long HInterID = omodel.HInterID;//递入type得到的单据ID
                string HBillNo = omodel.HBillNo;//递入type得到的单据号
                int HBillStatus = 1;
                string HMaker = user;//制单人
                string HMouldNum = omodel.HMouldNum;//模穴号
                int HYear = DateTime.Now.Year;
                double HPeriod = DateTime.Now.Month;
                string HRemark = omodel.HRemark;//备注
                string HSourceName = omodel.HSourceName;//生产资源名称
                double HPieceQty = omodel.HPieceQty;//进站PCS数
                double HWasterQty = 0;//报废数量
                double HPlanPieceQty = 0;//进站PNL数
                double HBadPNL = 0;//报废PNL数
                long HICMOInterID = omodel.HICMOInterID;//任务单ID
                long HICMOEntryID = omodel.HICMOEntryID;//任务单ID
                string HICMOBillNo = omodel.HICMOBillNo;//任务单
                int HProcPlanInterID = 0;
                int HProcPlanEntryID = 0;
                string HProcPlanBillNo = "";
                long HProcExchInterID = omodel.HProcExchInterID;
                long HProcExchEntryID = omodel.HProcExchEntryID;
                string HProcExchBillNo = omodel.HProcExchBillNo;//流转卡
                long HMaterID = omodel.HMaterID;//产品ID
                long HProcID = omodel.HProcID;//当前工序ID
                double HICMOQty = omodel.HICMOQty;//任务单数量
                double HPlanQty = omodel.HICMOQty;//移交PNL数
                DateTime HStationOutTime = DateTime.Now;//汇报时间
                long HSourceID = omodel.HSourceID;//生产资源ID
                long HPayProcID = 0;//核算工序ID
                long HGroupID = omodel.HGroupID;//班组ID
                long HDeptID = omodel.HDeptID;
                long HEmpID = omodel.HEmpID;//操作员ID
                long HEmpID2 = omodel.HEmpID2;////操作员2ID
                string HBarCode = barCode_SN;//条形码
                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 = omodel.HQty;//合格数量
                double HPrice = 0;
                double HMoney = 0;
                double HBadCount = omodel.HBadCount;//不良数量
                long HCenterID = omodel.HCenterID;//工作中心ID
                string HProcNo = omodel.HProcNo;//流水号
                string HOrderProcNO = omodel.HOrderProcNO;//订单跟踪号
                string HSourceNameList = omodel.HSourceNameList;//设备清单
                long HMainSourceInterID = omodel.HProcExchInterID;//递入type得到的单据ID
                string HMainSourceBillNo = omodel.HProcExchBillNo;//递入type得到的单据号
                string HMainSourceBillType = "3772";
                bool HLastSubProc = omodel.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 = omodel.HEmpID;//检验员ID
                long HPRDOrgID = omodel.HPRDOrgID;//组织ID
                double HmaterOutqty = 0;//白坯发布
                double HProcPriceRate = 0;//工价系数
                int HTemporaryAreaID = 0;//暂放区
                int HShiftsID = 0;
                string HBatchNo = omodel.HBatchNo;
                //获取当前班次
                //DataSet set = oCN.RunProcReturn("exec h_p_Gy_GetWorkShiftInfo " + HDeptID + "," + HCenterID, "h_p_Gy_GetWorkShiftInfo");
                //if (set.Tables[0].Rows.Count > 0)
                //{
                //    HShiftsID = int.Parse(set.Tables[0].Rows[0]["HInterID"].ToString());
                //}
                //判断当天当前的流转卡是否有出站单
                HInterID = DBUtility.ClsPub.CreateBillID("3791", ref sExeReturnInfo);//递入type得到的单据ID
                HBillNo = DBUtility.ClsPub.CreateBillCode_Prod("3791", ref sExeReturnInfo, true);//递入type得到的单据号
                //主表插入
                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,HShiftsID" +
                ") " +
                " 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 + "," + HShiftsID + ") ");
                ds = oCN.RunProcReturn("select  * from Sc_StationOutBillSub_SN WITH(NOLOCK) where HInterID='" + omodel.HInterID + "' order by HEntryID desc", "Sc_StationOutBillSub_SN");
                oCN.RunProc($@"insert into Sc_StationOutBillSub_SN(HInterID,HBillNo_bak,HEntryID,HBarCode,HBarCodeQty,HMakeTime,HRemark,HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HRelationQty,HRelationMoney,HBatchNo)
                    values({HInterID}, '{HBillNo}', {(ds.Tables[0].Rows.Count == 0 ? 1 : int.Parse(ds.Tables[0].Rows[0]["HEntryID"].ToString()) + 1)}, '{barCode_SN}', 1, GETDATE(), '', " + HProcExchInterID + "," + HProcExchEntryID + ", '" + HProcExchBillNo + $"', '', 0, 0,'{HBatchNo}')");
                //把条码写入日志里面
                LogService.CustomWriteLog("条码:" + barCode_SN + ",工序:" + HProcID + ",出站时间:" + DateTime.Now, "TM" + DateTime.Now.ToString("yyyy-MM-dd"));
                //反写工序出站单的合格数量
                //oCN.RunProc("update Sc_StationOutBillMain set HQty+=1  where HProcExchInterID='" + HProcExchInterID + "' and HProcExchEntryID=" + HProcExchEntryID + " and HInterID=" + HInterID);
                //=========================保存后控制
                DataSet ds2 = oCN.RunProcReturn("Exec h_p_Sc_SingleStationOutBill_AfterSaveCtrl " + HInterID.ToString() + ", '" + HBillNo + $@"',{(ds.Tables[0].Rows.Count == 0 ? 1 : int.Parse(ds.Tables[0].Rows[0]["HEntryID"].ToString()) + 1)},'{barCode_SN}','{user}' ", "h_p_Sc_SingleStationOutBill_AfterSaveCtrl");
                if (ds2 == null)
                {
                    oCN.RollBack();
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "[0000-2-016]保存后控制判断失败!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                if (DBUtility.ClsPub.isStrNull(ds2.Tables[0].Rows[0]["HBack"]) != "0")
                {
                    oCN.RollBack();
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "[0000-1-051]保存失败2!" + DBUtility.ClsPub.isStrNull(ds2.Tables[0].Rows[0]["HBackRemark"]);
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                //============================
                //ds = oCN.RunProcReturn($@"select (b.HQty -sum(isnull(ou.HQty,0))-sum(isnull(ou.HBadCount,0))) HQty from Sc_ProcessExchangeBillSub b WITH(NOLOCK)
                //            left join Sc_StationOutBillMain ou WITH(NOLOCK) on b.HInterID=ou.HProcExchInterID and b.HEntryID=ou.HProcExchEntryID
                //            where b.HInterID={HProcExchInterID} and b.HEntryID={HProcExchEntryID}
                //            group by b.HInterID,b.HEntryID,b.HQty", "Sc_ProcessExchangeBill_Out");
                //if (double.Parse(ds.Tables[0].Rows[0][0].ToString()) < 0)
                //{
                //    oCN.RollBack();
                //    objJsonResult.code = "0";
                //    objJsonResult.count = 0;
                //    objJsonResult.Message = "[3791-2-028]出站数量超过流转卡数量!";
                //    objJsonResult.data = null;
                //    return objJsonResult;
                //}
                oCN.Commit();
                objJsonResult.code = "1";
                objJsonResult.count = 1;
                objJsonResult.Message = "[0000-1-050]保存成功!";
                objJsonResult.data = null;
                return objJsonResult;
            }
            catch (Exception e)
            {
                oCN.RollBack();
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "[0000-1-051]没有返回任何记录!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #endregion
        #region  工序单品过站 中箱码生成
        [Route("Cj_SingleStation/AddCaseCode")]
        [HttpPost]
        public object AddCaseCode([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();//主表信息SN码档案id这种格式
                string user = sArray[1].ToString();
                oCN.BeginTran();
                ds = oCN.RunProcReturn("exec h_p_Gy_CaseCodeBySN '" + sMainStr + "'", "h_p_Sc_SNBarcodeProcCtrl_S");
                if (ClsPub.isInt(ds.Tables[0].Rows.Count) == 0)
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "[0000-1-045]查无数据!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                else if (ds.Tables[0].Rows[0]["HBack"].ToString() == "2")
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "[0000-1-051]" + ds.Tables[0].Rows[0]["HBackRemark"].ToString() + "!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                oCN.Commit();
                objJsonResult.code = "1";
                objJsonResult.count = 1;
                objJsonResult.Message = "[0000-1-050]保存成功!";
                objJsonResult.data = ds.Tables[0].Rows[0]["HBackRemark"].ToString();
                return objJsonResult;
            }
            catch (Exception e)
            {
                oCN.RollBack();
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "[0000-1-051]没有返回任何记录!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #endregion
        #region 过站解绑列表 查询
        [Route("Cj_SingleStation/UnbindBarList")]
        [HttpGet]
        public object BarList(string sWhere, string user)
        {
            try
            {
                List<object> columnNameList = new List<object>();
                //查看权限
                if (!DBUtility.ClsPub.Security_Log("Cj_SingleStation_UnbindBarList", 1, false, user))
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "无查看权限!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                if (sWhere == null || sWhere.Equals(""))
                {
                    ds = oCN.RunProcReturn("select * from h_v_Sc_UnbindStation_BarList order by 条码日期 desc", "h_v_Sc_UnbindStation_BarList");
                }
                else
                {
                    string sql1 = "select * from h_v_Sc_UnbindStation_BarList where 1 = 1 ";
                    string sql = sql1 + sWhere + " order by 条码日期 desc";
                    ds = oCN.RunProcReturn(sql, "h_v_Sc_UnbindStation_BarList");
                }
                //添加列名
                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 = "1";
                objJsonResult.count = 1;
                objJsonResult.Message = "Sucess!";
                objJsonResult.data = ds.Tables[0];
                objJsonResult.list = columnNameList;
                return objJsonResult;
            }
            catch (Exception e)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "Exception!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #endregion
        #region 重工条码信息 查询
        [Route("Cj_SingleStation/UnbindBarInfo")]
        [HttpGet]
        public object UnbindBarInfo(string HBarCodeIDs, string user)
        {
            try
            {
                if (HBarCodeIDs == null || HBarCodeIDs.Equals(""))
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "重工条码信息未递入,请退出重试";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                else
                {
                    string sql = "exec h_p_Sc_UnbindBarInfo '" + HBarCodeIDs + "'";
                    ds = oCN.RunProcReturn(sql, "h_p_Sc_UnbindBarInfo");
                }
                objJsonResult.code = "1";
                objJsonResult.count = 1;
                objJsonResult.Message = "Sucess!";
                objJsonResult.data = ds;
                return objJsonResult;
            }
            catch (Exception e)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "Exception!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #endregion
        #region 解除包装关系、拆除物料(1:解除包装关系;2.拆除物料)
        [Route("Cj_SingleStation/DelRelation")]
        [HttpGet]
        public object DelRelation(string HBarCodeIDs, Int64 HICMOInterID, Int64 HICMOEntryID, Int64 HProcID, Int64 HType, string user)
        {
            try
            {
                if (HBarCodeIDs == null || HBarCodeIDs.Equals(""))
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "拆除条码信息未递入,请退出重试";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                else
                {
                    string sql = "exec h_p_Sc_DelbindBarRelation '" + HBarCodeIDs + "'," + HICMOInterID + "," + HICMOEntryID + "," + HProcID + "," + HType;
                    ds = oCN.RunProcReturn(sql, "h_p_Sc_DelbindBarRelation");
                }
                if (ds.Tables[0].Rows[0]["HBack"].ToString() == "0")
                {
                    objJsonResult.code = "1";
                    objJsonResult.count = 1;
                    objJsonResult.Message = "Sucess!";
                    objJsonResult.data = ds;
                    return objJsonResult;
                }
                else
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = ds.Tables[0].Rows[0]["HBackRemark"].ToString();
                    objJsonResult.data = "";
                    return objJsonResult;
                }
            }
            catch (Exception e)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "Exception!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #endregion
        #endregion
    }
}