llj
2025-08-07 1a94e0e270668ef1cfbcd5043b72bc6591a50706
WebAPI/Controllers/²Ö´æ¹ÜÀí/ÌõÂëÉú³É/Sc_BarCodeController.cs
@@ -132,6 +132,10 @@
                    list.Add("唯一条码");
                    list.Add("批次条码");
                }
                else if (sCapName == "海诚")
                {
                    list.Add("品种条码");
                }
                else
                {
                    list.Add("唯一条码");
@@ -159,7 +163,7 @@
        #region [通过源单类型查找不通单据信息]
        [Route("Sc_BarCode/ReportFromBillList")]
        [HttpGet]
        public object ReportFromBillList(int page, int limit, string sWhere,string HSouceBillType,string HOrgID)
        public object ReportFromBillList(int page, int limit, string sWhere, string HSouceBillType, string HOrgID)
        {
            oSystemParameter.ShowBill(ref DBUtility.ClsPub.sExeReturnInfo);
            List<object> columnNameList = new List<object>();
@@ -172,7 +176,7 @@
                string tabname = "";
                if (sWhere == null || sWhere.Equals(""))
                {
                    sWhere = " where 1=1 and HOrgID='"+HOrgID+"' ";
                    sWhere = " where 1=1 and HOrgID='" + HOrgID + "' ";
                }
                else
                {
@@ -181,8 +185,8 @@
                switch (HSouceBillType)
                {
                    case "生产订单":
                        tabname = "h_v_IFCLD_ICMOBillList_Source";
                        count = new SQLHelper.ClsCN().RunProcReturn("select * from h_v_IFCLD_ICMOBillList_Source "+sWhere+ " and ä»»åŠ¡æ•°é‡>isnull(入库数量,0)  and çŠ¶æ€<>'结案' order by å•据号", tabname).Tables[0].Rows.Count;
                        tabname = "h_v_IFCLD_ICMOBillList_Source";
                        count = new SQLHelper.ClsCN().RunProcReturn("select * from h_v_IFCLD_ICMOBillList_Source " + sWhere + " and ä»»åŠ¡æ•°é‡>isnull(入库数量,0)  and çŠ¶æ€<>'结案' order by å•据号", tabname).Tables[0].Rows.Count;
                        sql = string.Format(@"select * from(select row_number() over (order by å•据号) as HRowNumber,* from h_v_IFCLD_ICMOBillList_Source " + sWhere + " and ä»»åŠ¡æ•°é‡>isnull(入库数量,0)  and çŠ¶æ€<>'结案')   as A where HRowNumber >" + pageSize + " *(" + pageNum + "-1)");
                        break;
                    case "生产汇报单":
@@ -343,7 +347,7 @@
            List<object> ListRows = new List<object>();
            try
            {
                msg2 = msg2.Replace("\\", "");
                msg2 = msg2.Replace("\n", "");  //\n
                List<DBUtility.BillSelect> oList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<DBUtility.BillSelect>>(msg2);
@@ -356,7 +360,7 @@
                            //得到信息
                            ds = oCN.RunProcReturn("select * from h_v_IFCLD_ICMOList where hmainid=" + oSelectRow.BillMainID + " and hsubid=" + oSelectRow.BillSubID, "h_v_IFCLD_ICMOList");
                            //写入信息
                            ListRows.Add(HSourceOrderList(ds.Tables[0],ordrlist, HBarCodeType));
                            ListRows.Add(HSourceOrderList(ds.Tables[0], ordrlist, HBarCodeType));
                            break;
                        case "3711": //生产汇报单
                            //得到信息
@@ -389,7 +393,7 @@
                            ListRows.Add(HSourceOrderList1(ds.Tables[0], ordrlist, HBarCodeType, HSourceBillType));
                            break;
                        case "1202": //生产入库
                             //得到信息
                                     //得到信息
                            ds = oWebs.getDataSetBySQL("select * from h_v_IF_ProductInBillList_Source where HMainID=" + oSelectRow.BillMainID + " and HSubID=" + oSelectRow.BillSubID, "h_v_IF_ProductInBillList_Source", ref DBUtility.ClsPub.sExeReturnInfo);
                            //写入信息
                            ListRows.Add(Sub_WriteInForm_InOut(ds.Tables[0], ordrlist, HBarCodeType, HSourceBillType));
@@ -456,7 +460,7 @@
            return objJsonResult;
        }
        public object HSourceOrderList(DataTable dt, HSouceOrderList ordrlist,string HBarCodeType)
        public object HSourceOrderList(DataTable dt, HSouceOrderList ordrlist, string HBarCodeType)
        {
            oSystemParameter.ShowBill(ref DBUtility.ClsPub.sExeReturnInfo);
            for (int i = 0; i < dt.Rows.Count; i++)
@@ -510,7 +514,7 @@
                {
                    ordrlist.HMinQty = dt.Rows[i]["未生成条码数量"].ToString();
                }
                else if (HBarCodeType == "仪器外购件条码普通规则"|| HBarCodeType == "仪器成品条码规则"|| HBarCodeType == "试剂成品条码规则")
                else if (HBarCodeType == "仪器外购件条码普通规则" || HBarCodeType == "仪器成品条码规则" || HBarCodeType == "试剂成品条码规则")
                {
                    ordrlist.HMinQty = "1";
                }
@@ -522,7 +526,7 @@
            return ordrlist;
        }
        public object HSourceOrderList1(DataTable dt, HSouceOrderList ordrlist, string HBarCodeType,string HSourceBillType)
        public object HSourceOrderList1(DataTable dt, HSouceOrderList ordrlist, string HBarCodeType, string HSourceBillType)
        {
            oSystemParameter.ShowBill(ref DBUtility.ClsPub.sExeReturnInfo);
            for (int i = 0; i < dt.Rows.Count; i++)
@@ -549,7 +553,7 @@
                ordrlist.HRemark = dt.Rows[i]["备注"].ToString();
                ordrlist.HMTONo = dt.Rows[i]["计划跟踪号"].ToString();
                if(HSourceBillType == "收料通知单")
                if (HSourceBillType == "收料通知单")
                {
                    if (oSystemParameter.omodel.WMS_CampanyName != "瑞与祺")
                    {
@@ -572,10 +576,10 @@
                    ordrlist.HMinQty = dt.Rows[i]["最小包装数"].ToString();
                }
                ordrlist.HMaker = ClsPub.CurUserName;
                if (HSourceBillType== "收料通知单"|| HSourceBillType== "采购订单"|| HSourceBillType=="委外订单"|| HSourceBillType== "采购入库单")
                if (HSourceBillType == "收料通知单" || HSourceBillType == "采购订单" || HSourceBillType == "委外订单" || HSourceBillType == "采购入库单")
                {
                    ordrlist.HInnerBillNo = dt.Rows[i]["内部采购订单号"].ToString();
                    ordrlist.HSupID= dt.Rows[i]["hsupid"].ToString();
                    ordrlist.HSupID = dt.Rows[i]["hsupid"].ToString();
                    ordrlist.HSupNumber = dt.Rows[i]["供应商代码"].ToString();
                    ordrlist.HSupName = dt.Rows[i]["供应商"].ToString();
                    if (HSourceBillType == "收料通知单")
@@ -589,12 +593,16 @@
                            ordrlist.HGiveAwayFlag = 0;
                        }
                    }
                    if (HSourceBillType == "采购订单")
                    {
                        ordrlist.HSourceBillSEQ = dt.Rows[i]["HSEQ"].ToString();
                    }
                }
                if (HSourceBillType == "退货通知单")
                {
                    ordrlist.HCusID = dt.Rows[i]["HCusID"].ToString();
                    ordrlist.HCusNumber = dt.Rows[i]["客户代码"].ToString();
                    ordrlist.HCusName= dt.Rows[i]["客户"].ToString();
                    ordrlist.HCusName = dt.Rows[i]["客户"].ToString();
                }
                if (HSourceBillType == "其他入库单" || HSourceBillType == "领料出库单")
                {
@@ -605,7 +613,7 @@
                    ordrlist.HSPNumber = dt.Rows[i]["仓位代码"].ToString();
                    ordrlist.HSPName = dt.Rows[i]["仓位"].ToString();
                }
                if(HSourceBillType == "销售出库单")
                if (HSourceBillType == "销售出库单")
                {
                    ordrlist.HWhID = dt.Rows[i]["HWhID"].ToString();
                    ordrlist.HWhNumber = dt.Rows[i]["仓库代码"].ToString();
@@ -652,7 +660,7 @@
                ordrlist.HSPNumber = dt.Rows[i]["仓位代码"].ToString();
                ordrlist.HSPName = dt.Rows[i]["仓位"].ToString();
                ordrlist.HMTONo = dt.Rows[i]["计划跟踪号"].ToString();
                ordrlist.HDate = dt.Rows[i]["日期"].ToString();
                ordrlist.HDate = dt.Rows[i]["日期"].ToString();
                ordrlist.HShowDate = DateTime.Now.ToString();
            }
            return ordrlist;
@@ -699,7 +707,7 @@
                if (oDs == null && oDs.Tables[0].Rows.Count == 0)
                {
                    objJsonResult.code = "1";
                    objJsonResult.Message= "[0000-2-053]生成批次失败!";
                    objJsonResult.Message = "[0000-2-053]生成批次失败!";
                    return objJsonResult;
                }
                else if (DBUtility.ClsPub.isStrNull(oDs.Tables[0].Rows[0][0]) == "1")
@@ -716,7 +724,7 @@
            if (b == false)
            {
                objJsonResult.code = "1";
                objJsonResult.Message= "[3899-2-003]没有需要生成批次的明细行!";
                objJsonResult.Message = "[3899-2-003]没有需要生成批次的明细行!";
                return objJsonResult;
            }
            else //完全封闭
@@ -740,7 +748,7 @@
                string HOrgType = sArray[1].ToString();
                string HSourceBillTypeName = sArray[2].ToString();
                string HSelectBarCodeType = sArray[3].ToString();
                string CampanyName = sArray[4].ToString()=="xxx"?"": sArray[4].ToString();
                string CampanyName = sArray[4].ToString() == "xxx" ? "" : sArray[4].ToString();
                string UserName = sArray[5].ToString();
                ClsPub.CurUserName = UserName;
@@ -801,12 +809,13 @@
                long HMaterID = DBUtility.ClsPub.isLong(ordrlist[i].HMaterID);              // ç‰©æ–™å†…码
                string HBatchNo = DBUtility.ClsPub.isStrNull(ordrlist[i].HBatchNo);         // æ‰¹å·
                long HAuxPropID = DBUtility.ClsPub.isLong(ordrlist[i].HAuxPropID);          // è¾…助属性ID
                string HMTONo = DBUtility.ClsPub.isStrNull(ordrlist[i].HMTONo);             // è®¡åˆ’跟踪号
                double HSourceQty = DBUtility.ClsPub.isDoule(ordrlist[i].HMinQty);          // æºå•数量
                double HQty = DBUtility.ClsPub.isDoule(ordrlist[i].HQty);                   // æ•°é‡
                double HMinQty = DBUtility.ClsPub.isDoule(ordrlist[i].HMinQty);             // æœ€å°åŒ…装数
                if (HMaterID != 0)
                {
                    DataSet oDsCheck = oCN.RunProcReturn("exec h_p_Gy_BarCodeBill_AddCheck " + HSno.ToString() + ",'" + HBarCodeType + "','" + HSourceBillNo + "'," + HMaterID.ToString() + ",'" + HBatchNo + "'," + HAuxPropID.ToString() + "," + HSourceQty.ToString() + "," + HQty.ToString() + "," + HMinQty.ToString() + "," + HOrgID.ToString() + ",'" + SourceQtyCtl + "'", "h_p_Gy_BarCodeBill_AddCheck");
                    DataSet oDsCheck = oCN.RunProcReturn("exec h_p_Gy_BarCodeBill_AddCheck_New " + HSno.ToString() + ",'" + HBarCodeType + "','" + HSourceBillNo + "'," + HMaterID.ToString() + ",'" + HBatchNo + "'," + HAuxPropID.ToString() + ",'" + HMTONo + "'," + HSourceQty.ToString() + "," + HQty.ToString() + "," + HMinQty.ToString() + "," + HOrgID.ToString() + ",'" + SourceQtyCtl + "'", "h_p_Gy_BarCodeBill_AddCheck_New");
                    if (oDsCheck == null && oDsCheck.Tables[0].Rows.Count == 0)
                    {
                        objJsonResult.code = "0";
@@ -833,7 +842,7 @@
        #endregion
        #region[条码生成方法]
        private object SaveBarCode(string msg2, string HSelectBarCodeType, string CampanyName,string HSourceBillTypeName)
        private object SaveBarCode(string msg2, string HSelectBarCodeType, string CampanyName, string HSourceBillTypeName)
        {
            int LSHlen = 6;             //流水号长度
            int SumLen = 10;            //总长度
@@ -845,7 +854,7 @@
            int HBQty = 0;              //箱数
            double HQty = 0;            //数量
            string WeiShu = "";         //尾数
            int LSH = 0;                //流水号
            Int64 LSH = 0;              //流水号
            string LSH2 = "";           //流水号转换成字符
            string sDate = "";          //日期
            string sYear = "";          //å¹´
@@ -935,7 +944,7 @@
                            sTMNumber = HNumber + sYear + sPeriod + sDay;
                            Ds = oCN.RunProcReturn("exec h_p_WMS_GetMaxNo '" + sTMNumber + "'", "h_p_WMS_GetMaxNo");    //获取最大流水号
                            //oCn.RunProc("exec h_p_WMS_SetMaxNo '" + sTMNumber + "'");
                            LSH = ClsPub.isInt(Ds.Tables[0].Rows[0][0]);
                            LSH = ClsPub.isLong(Ds.Tables[0].Rows[0][0]);
                        }
                        else if (CampanyName == "飞龙")
                        {
@@ -952,9 +961,10 @@
                            sTMNumber = HWorksNumber + HNumber + sYear + sPeriod + sDay;
                            Ds = oCN.RunProcReturn("exec h_p_WMS_GetMaxNo '" + sTMNumber + "'", "h_p_WMS_GetMaxNo");    //获取最大流水号
                            //oCn.RunProc("exec h_p_WMS_SetMaxNo '" + sTMNumber + "'");
                            LSH = ClsPub.isInt(Ds.Tables[0].Rows[0][0]);
                            LSH = ClsPub.isLong(Ds.Tables[0].Rows[0][0]);
                        }
                        else if (CampanyName == "瑞与祺") {
                        else if (CampanyName == "瑞与祺")
                        {
                            var date = DateTime.Now.ToString("yyMMdd");//日期
                            if (HSourceBillTypeName == "收料通知单")
                            {
@@ -977,7 +987,7 @@
                                //sTMNumber = ordrlist[j].HMaterNumber + "-包装标识-" + date + "-" + ordrlist[j].HSupNumber + "-";
                                Ds = oCN.RunProcReturn("exec h_p_WMS_GetMaxNo '" + sTMNumber + "'", "h_p_WMS_GetMaxNo");    //获取最大流水号
                                LSH = ClsPub.isInt(Ds.Tables[0].Rows[0][0]);
                                LSH = ClsPub.isLong(Ds.Tables[0].Rows[0][0]);
                            }
                            else if (HSourceBillTypeName == "生产入库单")
                            {
@@ -1011,13 +1021,13 @@
                                //sTMNumber = ordrlist[j].HMaterNumber + "-包装标识-"+ date + "-组织代码-";
                                Ds = oCN.RunProcReturn("exec h_p_WMS_GetMaxNo '" + sTMNumber + "'", "h_p_WMS_GetMaxNo");    //获取最大流水号
                                LSH = ClsPub.isInt(Ds.Tables[0].Rows[0][0]);
                                LSH = ClsPub.isLong(Ds.Tables[0].Rows[0][0]);
                            }
                            else
                            {
                                sTMNumber = HOrgNumber + HNumber + sYear + sPeriod + sDay;
                                Ds = oCN.RunProcReturn("exec h_p_WMS_GetMaxNo '" + sTMNumber + "'", "h_p_WMS_GetMaxNo");    //获取最大流水号
                                LSH = ClsPub.isInt(Ds.Tables[0].Rows[0][0]);
                                LSH = ClsPub.isLong(Ds.Tables[0].Rows[0][0]);
                            }
                        }
                        else  //通用方法
@@ -1026,7 +1036,7 @@
                            sTMNumber = HOrgNumber + HNumber + sYear + sPeriod + sDay;
                            Ds = oCN.RunProcReturn("exec h_p_WMS_GetMaxNo '" + sTMNumber + "'", "h_p_WMS_GetMaxNo");    //获取最大流水号
                            //oCn.RunProc("exec h_p_WMS_SetMaxNo '" + sTMNumber + "'");
                            LSH = ClsPub.isInt(Ds.Tables[0].Rows[0][0]);
                            LSH = ClsPub.isLong(Ds.Tables[0].Rows[0][0]);
                        }
                    }
                    else if (HSelectBarCodeType == "品种条码")
@@ -1050,7 +1060,7 @@
                        sTMNumber = HMaterNumber + sYear + sPeriod + sDay;
                        Ds = oCN.RunProcReturn("exec h_p_WMS_GetMaxNo '" + sTMNumber + "'", "h_p_WMS_GetMaxNo");    //获取最大流水号
                                                                                                                    //oCn.RunProc("exec h_p_WMS_SetMaxNo '" + sTMNumber + "'");
                        LSH = ClsPub.isInt(Ds.Tables[0].Rows[0][0]);
                        LSH = ClsPub.isLong(Ds.Tables[0].Rows[0][0]);
                        LSHlen = 4;
                    }
                    else if (HSelectBarCodeType == "仪器成品条码规则") //另外处理了
@@ -1067,7 +1077,7 @@
                        sTMNumber = HMaterNumber + HBatchNo;
                        Ds = oCN.RunProcReturn("exec h_p_WMS_GetMaxNo '" + sTMNumber + "'", "h_p_WMS_GetMaxNo");    //获取最大流水号
                                                                                                                    //oCn.RunProc("exec h_p_WMS_SetMaxNo '" + sTMNumber + "'");
                        LSH = ClsPub.isInt(Ds.Tables[0].Rows[0][0]);
                        LSH = ClsPub.isLong(Ds.Tables[0].Rows[0][0]);
                        LSHlen = 6;
                    }
                    else if (HSelectBarCodeType == "内销机条码")
@@ -1077,7 +1087,7 @@
                        sTMNumber = "1" + HModelName + HBarCodeDate + HBarCodeBatchNo + HYasuoji + "00";
                        Ds = oCN.RunProcReturn("exec h_p_WMS_GetMaxNo '" + sTMNumber + "'", "h_p_WMS_GetMaxNo");    //获取最大流水号
                                                                                                                    //oCn.RunProc("exec h_p_WMS_SetMaxNo '" + sTMNumber + "'");
                        LSH = ClsPub.isInt(Ds.Tables[0].Rows[0][0]);
                        LSH = ClsPub.isLong(Ds.Tables[0].Rows[0][0]);
                        LSHlen = 5;
                        if (sTMNumber.Length != 16)
                        {
@@ -1094,7 +1104,7 @@
                        sTMNumber = HMaterNumber.Replace(".", "") + HBarCodeDate + HBarCodeBatchNo;
                        Ds = oCN.RunProcReturn("exec h_p_WMS_GetMaxNo '" + sTMNumber + "'", "h_p_WMS_GetMaxNo");    //获取最大流水号
                                                                                                                    //oCn.RunProc("exec h_p_WMS_SetMaxNo '" + sTMNumber + "'");
                        LSH = ClsPub.isInt(Ds.Tables[0].Rows[0][0]);
                        LSH = ClsPub.isLong(Ds.Tables[0].Rows[0][0]);
                        LSHlen = 5;
                        if (sTMNumber.Length != 18)
                        {
@@ -1110,7 +1120,7 @@
                        sTMNumber = HICMOBillNo;
                        Ds = oCN.RunProcReturn("exec h_p_WMS_GetMaxNo '" + sTMNumber + "'", "h_p_WMS_GetMaxNo");    //获取最大流水号
                                                                                                                    //oCn.RunProc("exec h_p_WMS_SetMaxNo '" + sTMNumber + "'");
                        LSH = ClsPub.isInt(Ds.Tables[0].Rows[0][0]);
                        LSH = ClsPub.isLong(Ds.Tables[0].Rows[0][0]);
                        LSHlen = 5;
                    }
                    else if (HSelectBarCodeType == "托盘条码")
@@ -1119,7 +1129,7 @@
                        //条码前缀 = ç‰©æ–™å†…码 + å¹´ + æœˆ + æ—¥
                        sTMNumber = HNumber + sYear + sPeriod + sDay;
                        Ds = oCN.RunProcReturn("exec h_p_WMS_GetMaxNo '" + sTMNumber + "'", "h_p_WMS_GetMaxNo");    //获取最大流水号
                        LSH = ClsPub.isInt(Ds.Tables[0].Rows[0][0]);
                        LSH = ClsPub.isLong(Ds.Tables[0].Rows[0][0]);
                    }
                    else
                    {
@@ -1133,7 +1143,7 @@
                    HMinQty = ClsPub.isDoule(ordrlist[j].HMinQty);
                    HSumQty = ClsPub.isDoule(ordrlist[j].HQty);
                    n = 0;
                    for (int i = k; i < HBQty; i++)
                    {
                        if (HSumQty - HMinQty > 0)
@@ -1183,7 +1193,34 @@
                            objJsonResult.Message = "条形码不能为空,不能生成条码!";
                            return objJsonResult;
                        }
                        HBarCodeList barcode = new HBarCodeList();
                        HBarCodeList barcode = new HBarCodeList();
                        if (CampanyName == "海诚") //系统参数  å®¢æˆ·å®šåˆ¶åŒ–名称
                        {
                            string sHMTONo = "";            //计划跟踪号
                            string sHSourceBillNo = "";     //源单单号
                            string sHSourceBillSEQ = "";    //源单行号
                            string sSupNumber = "";         //供应商代码
                            string sHQty = "";              //数量
                            sHMTONo = DBUtility.ClsPub.isStrNull(ordrlist[j].HMTONo);
                            sHSourceBillNo = DBUtility.ClsPub.isStrNull(ordrlist[j].HBillNo);
                            sHSourceBillSEQ = DBUtility.ClsPub.isStrNull(ordrlist[j].HSourceBillSEQ);
                            sSupNumber = DBUtility.ClsPub.isStrNull(ordrlist[j].HSupNumber);
                            sHQty = DBUtility.ClsPub.isStrNull(HMinQty);
                            if (DBUtility.ClsPub.isStrNull(ordrlist[j].HBillType) == "1102") //源单:采购订单
                            {
                                //条码规则:采购订单单号@行号@物料代码@MTO@数量@供应商代码
                                TM = sHSourceBillNo + "@" + sHSourceBillSEQ + "@" + HMaterNumber + "@" + sHMTONo + "@" + sHQty + "@" + sSupNumber;
                            }
                            else
                            {
                                //条码规则:物料内码@MTO@数量
                                TM = HNumber + "@" + sHMTONo + "@" + sHQty;
                            }
                        }
                        barcode.HBarCode2 = TM;
                        barcode.HEntryID2 = ClsPub.isStrNull(j + 1);
                        barcode.HMaterID2 = ordrlist[j].HMaterID;
@@ -1485,7 +1522,7 @@
        {
            try
            {
                oCN.RunProc("update Gy_BarCodeBill set HPrintQty=isnull(HPrintQty,0)+1 where HitemID in("+msg+")", ref DBUtility.ClsPub.sExeReturnInfo);
                oCN.RunProc("update Gy_BarCodeBill set HPrintQty=isnull(HPrintQty,0)+1 where HitemID in(" + msg + ")", ref DBUtility.ClsPub.sExeReturnInfo);
                objJsonResult.code = "1";
                objJsonResult.count = 1;
                objJsonResult.Message = "更新打印次数成功";
@@ -1501,6 +1538,109 @@
        }
        #endregion
        #region æ¡ç å­˜å…¥æ¡ç ä¸»æ¡£
        /// <summary>
        /// æ¡ç è½¬å­˜æ¡ç ä¸»æ¡£
        /// </summary>
        /// <param name="msg"></param>
        /// <returns></returns>
        [Route("Sc_BarCode/SaveBarCode_NoGenerate")]
        [HttpPost]
        public object SaveBarCode_NoGenerate([FromBody] JObject msg)
        {
            try
            {
                var _value = msg["msg"].ToString();
                string msg1 = _value.ToString();
                string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
                string msg2 = sArray[0].ToString();
                string HOrgType = sArray[1].ToString();
                string HSourceBillTypeName = sArray[2].ToString();
                string HSelectBarCodeType = sArray[3].ToString();
                string CampanyName = sArray[4].ToString() == "xxx" ? "" : sArray[4].ToString();
                string UserName = sArray[5].ToString();
                string barCodeNo = sArray[6].ToString();
                ClsPub.CurUserName = UserName;
                //获取内码
                HInterID = DBUtility.ClsPub.CreateBillID_Prod(ModName, ref DBUtility.ClsPub.sExeReturnInfo);
                DAL.ClsGy_ORGANIZATIONS_View oClsGy_ORGANIZATIONS_View = new DAL.ClsGy_ORGANIZATIONS_View();
                HOrgNumber = "";
                if (oClsGy_ORGANIZATIONS_View.GetInfoByName(HOrgType))
                {
                    HOrgID = oClsGy_ORGANIZATIONS_View.omodel.HItemID;
                    HOrgNumber = DBUtility.ClsPub.isStrNull(oClsGy_ORGANIZATIONS_View.omodel.HNumber);
                }
                if (HOrgID == -1)
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "[0000-2-055]选择组织有错误!";
                    return objJsonResult;
                }
                if (!Sub_AllowSave(msg2, HSelectBarCodeType))//单据完整性判断
                {
                    return objJsonResult;
                }
                if (HSelectBarCodeType == "仪器成品条码规则")
                {
                    //客户定制
                }
                else
                {
                    // æ¡ç è½¬å­˜
                    msg2 = msg2.Replace("\\", "");
                    msg2 = msg2.Replace("\n", "");  //\n
                    List<HSouceOrderList> ordrlist = Newtonsoft.Json.JsonConvert.DeserializeObject<List<HSouceOrderList>>(msg2);
                    LogService.Write(ordrlist[0]);
                    long HSourceInterID = string.IsNullOrEmpty(ordrlist[0].HMainID) == true ? 0 : ClsPub.isLong(ordrlist[0].HMainID);
                    long HSourceEntryID = string.IsNullOrEmpty(ordrlist[0].HSubID) == true ? 0 : ClsPub.isLong(ordrlist[0].HSubID);
                    DataSet ds1 = oCN.RunProcReturn("exec h_p_SC_BarCode_Transfer " +
                        "@HBarCodeNo = N'" + barCodeNo + "'" +
                        ",@HSubID = " + ordrlist[0].HSubID +
                        ",@HMaterID = " + ordrlist[0].HMaterID +
                        ",@HGiveAwayFlag = " + ordrlist[0].HGiveAwayFlag +
                        ",@HQty = " + ordrlist[0].HQty +
                        ",@HUnitID = " + ordrlist[0].HUnitID +
                        ",@HMinQty = " + ordrlist[0].HMinQty +
                        ",@HSupID = " + ordrlist[0].HSupID +
                        ",@HBatchNo = N'" + ordrlist[0].HBatchNo + "'" +
                        ",@HMTONO = N'" + ordrlist[0].HMTONo + "'" +
                        ",@HBarCodeDate = N'" + ordrlist[0].HDate + "'" +
                        ",@HEmpID = " + ordrlist[0].HEmpID +
                        ",@HGroupID = " + ordrlist[0].HGroupID +
                        ",@HSourceInterID = " + HSourceInterID +
                        ",@HSourceEntryID = " + HSourceEntryID +
                        ",@HBarCodeType = N'" + HSelectBarCodeType + "'"+
                        ",@HSourceBillNo = N'" + ordrlist[0].HBillNo + "'"+
                        ",@HMaker = N'" + UserName + "'"
                        , "h_p_SC_BarCode_Transfer");
                    if ((bool)ds1.Tables[0].Rows[0]["returntype"] == true)
                    {
                        objJsonResult.code = "1";
                        objJsonResult.count = 1;
                        objJsonResult.Message = ds1.Tables[0].Rows[0]["mesg"].ToString();
                    }
                    else
                    {
                        throw new Exception(ds1.Tables[0].Rows[0]["mesg"].ToString());
                    }
                }
            }
            catch (Exception e)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "[3899-2-006]条码生成失败!" + e.Message;
                return objJsonResult;
            }
            return objJsonResult;
        }
        #endregion
        #region [条码生成接口-迦南]
        [Route("Sc_BarCode/Sub_SaveBill_JiaNan")]
@@ -1704,7 +1844,7 @@
                            oCN.RunProc("exec h_p_WMS_SetMaxNo '" + sTMNumber + "'");           //更新最大流水号
                        }
                    }
                    else if(HSelectBarCodeType == "BarCode_Box")
                    else if (HSelectBarCodeType == "BarCode_Box")
                    {
                        int HBQty = ClsPub.isInt(ordrlist[i].HBQty);                            //箱数