杨乐
2022-02-24 0cf6c137b9217f2f34c8f5bd105929a9f396491c
Merge branch 'master' of http://101.37.171.70:10101/r/MES-WEB-API
5个文件已修改
2个文件已添加
979 ■■■■■ 已修改文件
WarM/条码打印/Gy_BarCodeBill.designer.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Controllers/仓存管理/条码生成/Sc_BarCodeController.cs 837 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/ListModels.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Models/HBarCodeList.cs 66 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Models/HSouceOrderList.cs 65 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Models/json.cs 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/WebAPI.csproj 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WarM/ÌõÂë´òÓ¡/Gy_BarCodeBill.designer.cs
@@ -1058,7 +1058,7 @@
            this.tabPage3.Location = new System.Drawing.Point(4, 28);
            this.tabPage3.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
            this.tabPage3.Name = "tabPage3";
            this.tabPage3.Size = new System.Drawing.Size(1397, 419);
            this.tabPage3.Size = new System.Drawing.Size(1398, 420);
            this.tabPage3.TabIndex = 2;
            this.tabPage3.Text = "档案列表";
            this.tabPage3.UseVisualStyleBackColor = true;
@@ -1078,7 +1078,7 @@
            this.grdList.ReadOnly = true;
            this.grdList.RowHeadersWidth = 30;
            this.grdList.RowTemplate.Height = 23;
            this.grdList.Size = new System.Drawing.Size(1397, 419);
            this.grdList.Size = new System.Drawing.Size(1398, 420);
            this.grdList.TabIndex = 46;
            // 
            // Gy_BarCodeBill
WebAPI/Controllers/²Ö´æ¹ÜÀí/ÌõÂëÉú³É/Sc_BarCodeController.cs
@@ -1,5 +1,7 @@
using Newtonsoft.Json;
using DBUtility;
using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using Newtonsoft.Json.Linq;
using System;
using System.Collections.Generic;
using System.Data;
@@ -22,8 +24,12 @@
        private WebS.WebService1 oWebs = new WebS.WebService1();
        //获取系统参数
        Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();
        public Int64 HInterID = 0;      //内码
        public string ModName = "85";
        public string HOrgNumber = "";
        public Int64 HOrgID = -1;
        public string SourceQtyCtl = ""; //超源单数量控制
        #region æ¡ç ç”Ÿæˆ
@@ -169,16 +175,28 @@
                {
                    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 å•据号", "h_v_IFCLD_ICMOBillList_Source").Tables[0].Rows.Count;
                        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 top " + pageSize + " * 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 "生产汇报单":
                        tabname = "h_v_IF_ICMOReportBillList_Source";
                        count = new SQLHelper.ClsCN().RunProcReturn("select * from h_v_IF_ICMOReportBillList_Source " + sWhere + " order by å•据号 desc,hsubid", tabname).Tables[0].Rows.Count;
                        sql = string.Format(@"select top " + pageSize + " * from(select row_number() over (order by å•据号 desc,hsubid) as HRowNumber,* from h_v_IF_ICMOReportBillList_Source " + sWhere + ")   as A where HRowNumber >" + pageSize + " *(" + pageNum + "-1)");
                        break;
                    case "采购订单":
                        tabname = "h_v_IF_POOrderBillList_Source";
                        count = new SQLHelper.ClsCN().RunProcReturn("select * from h_v_IF_POOrderBillList_Source " + sWhere + " order by å•据号 desc,hsubid", tabname).Tables[0].Rows.Count;
                        sql = string.Format(@"select top " + pageSize + " * from(select row_number() over (order by å•据号 desc,hsubid) as HRowNumber,* from h_v_IF_POOrderBillList_Source " + sWhere + ")   as A where HRowNumber >" + pageSize + " *(" + pageNum + "-1)");
                        break;
                    case "收料通知单":
                        tabname = "h_v_IF_POInStockBillList_Source";
                        count = new SQLHelper.ClsCN().RunProcReturn("select * from h_v_IF_POInStockBillList_Source " + sWhere + " order by å•据号 desc,hsubid", tabname).Tables[0].Rows.Count;
                        sql = string.Format(@"select top " + pageSize + " * from(select row_number() over (order by å•据号 desc,hsubid) as HRowNumber,* from h_v_IF_POInStockBillList_Source " + sWhere + ")   as A where HRowNumber >" + pageSize + " *(" + pageNum + "-1)");
                        break;
                    case "委外订单":
                        tabname = "h_v_IF_EntrustOrderBillList_Source";
                        count = new SQLHelper.ClsCN().RunProcReturn("select * from h_v_IF_EntrustOrderBillList_Source " + sWhere + " order by å•据号 desc,hsubid", tabname).Tables[0].Rows.Count;
                        sql = string.Format(@"select top " + pageSize + " * from(select row_number() over (order by å•据号 desc,hsubid) as HRowNumber,* from h_v_IF_EntrustOrderBillList_Source " + sWhere + ")   as A where HRowNumber >" + pageSize + " *(" + pageNum + "-1)");
                        break;
                    case "退货通知单":
                        break;
@@ -197,7 +215,10 @@
                }
                ds = new SQLHelper.ClsCN().RunProcReturn(sql, tabname);
                string aa = ds.Tables[0].Columns[0].ToString();
                //ds.Tables[0].Columns["hmainid"].ColumnName.ToUpper();
                //ds.Tables[0].Columns["hsubid"].ColumnName.ToUpper();
                ds.Tables[0].Columns["hmainid"].ColumnName= "HMainID";
                ds.Tables[0].Columns["hsubid"].ColumnName= "HSubID";
                foreach (DataColumn col in ds.Tables[0].Columns)
                {
@@ -238,6 +259,814 @@
        }
        #endregion
        #region [通过选择的源单信息查找源单数据]
        [Route("Sc_BarCode/SelectReportFromBillList")]
        [HttpPost]
        public object SelectReportFromBillList([FromBody] JObject msg)
        {
            //List<DBUtility.BillSelect> oList,string HBarCodeType
            var _value = msg["msg"].ToString();
            string msg1 = _value.ToString();
            string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
            string msg2 = sArray[0].ToString();
            string HSourceBillType = sArray[1].ToString();
            string HBarCodeType = sArray[2].ToString();
            string UserName = sArray[3].ToString();
            ClsPub.CurUserName = UserName;
            ListModels oListModels = new ListModels();
            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);
                foreach (DBUtility.BillSelect oSelectRow in oList)
                {
                    HSouceOrderList ordrlist = new HSouceOrderList();
                    switch (oSelectRow.BillType)
                    {
                        case "3710": //生产订单
                            //得到信息
                            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));
                            break;
                        case "3711": //生产汇报单
                            //得到信息
                            ds = oCN.RunProcReturn("select * from h_v_IF_ICMOReportList where hmainid=" + oSelectRow.BillMainID + " and hsubid=" + oSelectRow.BillSubID, "h_v_IF_ICMOReportList");
                            //写入信息
                            ListRows.Add(HSourceOrderList1(ds.Tables[0], ordrlist, HBarCodeType, HSourceBillType));
                            break;
                        case "1102": //采购订单
                            //得到信息
                            ds = oCN.RunProcReturn("select * from h_v_IF_POOrderList where hmainid=" + oSelectRow.BillMainID + " and hsubid=" + oSelectRow.BillSubID, "h_v_IF_POOrderList");
                            //写入信息
                            ListRows.Add(HSourceOrderList1(ds.Tables[0], ordrlist, HBarCodeType, HSourceBillType));
                            break;
                        case "1103": //收料通知单
                            //得到信息
                            ds = oCN.RunProcReturn("select * from h_v_IF_POInStockList where hmainid=" + oSelectRow.BillMainID + " and hsubid=" + oSelectRow.BillSubID, "h_v_IF_POInStockList");
                            //写入信息
                            ListRows.Add(HSourceOrderList1(ds.Tables[0], ordrlist, HBarCodeType, HSourceBillType));
                            break;
                        case "1601": //委外订单
                            //得到信息
                            ds = oCN.RunProcReturn("select * from h_v_IF_EntrustOrderList where hmainid=" + oSelectRow.BillMainID + " and hsubid=" + oSelectRow.BillSubID, "h_v_IF_EntrustOrderList");
                            //写入信息
                            ListRows.Add(HSourceOrderList1(ds.Tables[0], ordrlist, HBarCodeType, HSourceBillType));
                            break;
                        case "1403": //退货通知单
                            break;
                        case "1203": //其他入库单
                            break;
                        case "1207": //直接调拨单
                            break;
                        case "1239": //采购退料单
                            break;
                        case "1244": //生产退料单
                            break;
                        case "1255": //组装拆卸单
                            break;
                        default:
                            break;
                    }
                }
                objJsonResult.code = "1";
                objJsonResult.count = 1;
                objJsonResult.Message = "获取数据成功!";
                objJsonResult.data = null;
                objJsonResult.list = ListRows;
            }
            catch (Exception e)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = e.Message.ToString();
                objJsonResult.data = null;
                objJsonResult.list = ListRows;
            }
            return objJsonResult;
        }
        public object HSourceOrderList(DataTable dt, HSouceOrderList ordrlist,string HBarCodeType)
        {
            for (int i = 0; i < dt.Rows.Count; i++)
            {
                ordrlist.HQty = dt.Rows[i]["未生成条码数量"].ToString();
                ordrlist.HMinQty = dt.Rows[i]["未生成条码数量"].ToString();
                ordrlist.HMainID = dt.Rows[i]["hmainid"].ToString();
                ordrlist.HSubID = dt.Rows[i]["hsubid"].ToString();
                ordrlist.HBillNo = dt.Rows[i]["单据号"].ToString();
                ordrlist.HSourceBillNo = dt.Rows[i]["单据号"].ToString();
                ordrlist.HBillType = dt.Rows[i]["HBillType"].ToString();
                ordrlist.HDate = dt.Rows[i]["日期"].ToString(); //博日 æ”¶æ–™å•据日期
                ordrlist.HShowDate = DateTime.Now.ToString();
                ordrlist.HSupID = dt.Rows[i]["hsupid"].ToString();
                ordrlist.HSupNumber = dt.Rows[i]["供应商代码"].ToString();
                ordrlist.HSupName = dt.Rows[i]["供应商"].ToString();
                ordrlist.HDeptID = dt.Rows[i]["HDeptID"].ToString();
                ordrlist.HDeptNumber = dt.Rows[i]["部门代码"].ToString();
                ordrlist.HDeptName = dt.Rows[i]["部门"].ToString();
                ordrlist.HMaterID = dt.Rows[i]["HMaterID"].ToString();
                ordrlist.HMaterNumber = dt.Rows[i]["物料代码"].ToString();
                ordrlist.HMaterName = dt.Rows[i]["物料名称"].ToString();
                ordrlist.HMaterModel = dt.Rows[i]["规格型号"].ToString();
                ordrlist.HBatchNo = dt.Rows[i]["批次"].ToString();
                ordrlist.HUnitID = dt.Rows[i]["HUnitID"].ToString();
                ordrlist.HUnitNumber = dt.Rows[i]["计量单位代码"].ToString();
                ordrlist.HUnitName = dt.Rows[i]["计量单位"].ToString();
                ordrlist.HRemark = dt.Rows[i]["备注"].ToString();
                ordrlist.HMTONo = dt.Rows[i]["计划跟踪号"].ToString();
                ordrlist.HCusID = dt.Rows[i]["HCusID"].ToString();
                ordrlist.HCusNumber = dt.Rows[i]["客户代码"].ToString();
                ordrlist.HCusName = dt.Rows[i]["客户"].ToString();
                ordrlist.HCusType = dt.Rows[i]["客户型号"].ToString();
                ordrlist.HPinfanBarCode = dt.Rows[i]["HPinfanBarCode"].ToString();
                ordrlist.HPinfan = dt.Rows[i]["HPinfan"].ToString();
                ordrlist.HSourceName = dt.Rows[i]["生产线"].ToString();
                ordrlist.HEndDate = dt.Rows[i]["计划完工日期"].ToString();//博日 ç”Ÿäº§è®¢å• å¤±æ•ˆæ—¥æœŸ
                if (HBarCodeType == "仪器外购件条码容器规则")
                {
                    ordrlist.HMinQty = dt.Rows[i]["未生成条码数量"].ToString();
                }
                else if (HBarCodeType == "仪器外购件条码普通规则"|| HBarCodeType == "仪器成品条码规则"|| HBarCodeType == "试剂成品条码规则")
                {
                    ordrlist.HMinQty = "1";
                }
                else
                {
                    ordrlist.HMinQty = dt.Rows[i]["最小包装数"].ToString();
                }
            }
            return ordrlist;
        }
        public object HSourceOrderList1(DataTable dt, HSouceOrderList ordrlist, string HBarCodeType,string HSourceBillType)
        {
            for (int i = 0; i < dt.Rows.Count; i++)
            {
                ordrlist.HQty = dt.Rows[i]["未生成条码数量"].ToString();
                ordrlist.HMinQty = dt.Rows[i]["未生成条码数量"].ToString();
                ordrlist.HMainID = dt.Rows[i]["hmainid"].ToString();
                ordrlist.HSubID = dt.Rows[i]["hsubid"].ToString();
                ordrlist.HBillNo = dt.Rows[i]["单据号"].ToString();
                ordrlist.HBillType = dt.Rows[i]["HBillType"].ToString();
                ordrlist.HDate = dt.Rows[i]["日期"].ToString(); //博日 æ”¶æ–™å•据日期
                ordrlist.HShowDate = DateTime.Now.ToString();
                ordrlist.HDeptID = dt.Rows[i]["HDeptID"].ToString();
                ordrlist.HDeptNumber = dt.Rows[i]["部门代码"].ToString();
                ordrlist.HDeptName = dt.Rows[i]["部门"].ToString();
                ordrlist.HMaterID = dt.Rows[i]["HMaterID"].ToString();
                ordrlist.HMaterNumber = dt.Rows[i]["物料代码"].ToString();
                ordrlist.HMaterName = dt.Rows[i]["物料名称"].ToString();
                ordrlist.HMaterModel = dt.Rows[i]["规格型号"].ToString();
                ordrlist.HBatchNo = dt.Rows[i]["批次"].ToString();
                ordrlist.HUnitID = dt.Rows[i]["HUnitID"].ToString();
                ordrlist.HUnitNumber = dt.Rows[i]["计量单位代码"].ToString();
                ordrlist.HUnitName = dt.Rows[i]["计量单位"].ToString();
                ordrlist.HRemark = dt.Rows[i]["备注"].ToString();
                ordrlist.HMTONo = dt.Rows[i]["计划跟踪号"].ToString();
                if (HBarCodeType == "仪器外购件条码容器规则")
                {
                    ordrlist.HMinQty = dt.Rows[i]["未生成条码数量"].ToString();
                }
                else if (HBarCodeType == "仪器外购件条码普通规则")
                {
                    ordrlist.HMinQty = "1";
                }
                else
                {
                    ordrlist.HMinQty = dt.Rows[i]["最小包装数"].ToString();
                }
                ordrlist.HMaker = ClsPub.CurUserName;
                if (HSourceBillType== "收料通知单"|| HSourceBillType== "采购订单"|| HSourceBillType=="委外订单"|| HSourceBillType== "采购入库单")
                {
                    ordrlist.HInnerBillNo = dt.Rows[i]["内部采购订单号"].ToString();
                    ordrlist.HSupID= dt.Rows[i]["hsupid"].ToString();
                    ordrlist.HSupNumber = dt.Rows[i]["供应商代码"].ToString();
                    ordrlist.HSupName = dt.Rows[i]["供应商"].ToString();
                    if (HSourceBillType == "收料通知单")
                    {
                        if (dt.Rows[i]["是否赠品"].ToString() == "是")
                        {
                            ordrlist.HGiveAwayFlag = 1;
                        }
                        else
                        {
                            ordrlist.HGiveAwayFlag = 0;
                        }
                    }
                }
                if (HSourceBillType == "退货通知单")
                {
                    ordrlist.HCusID = dt.Rows[i]["HCusID"].ToString();
                    ordrlist.HCusNumber = dt.Rows[i]["客户代码"].ToString();
                    ordrlist.HCusName= dt.Rows[i]["客户"].ToString();
                }
                if (HSourceBillType == "其他入库单")
                {
                    ordrlist.HWhID = dt.Rows[i]["HWhID"].ToString();
                    ordrlist.HWhNumber = dt.Rows[i]["仓库代码"].ToString();
                    ordrlist.HWhName = dt.Rows[i]["仓库"].ToString();
                    ordrlist.HSPID = dt.Rows[i]["HSPID"].ToString();
                    ordrlist.HSPNumber = dt.Rows[i]["仓位代码"].ToString();
                    ordrlist.HSPName = dt.Rows[i]["仓位"].ToString();
                }
            }
            return ordrlist;
        }
        #endregion
        #region [条码生成接口]
        [Route("Sc_BarCode/Sub_SaveBill")]
        [HttpPost]
        public object Sub_SaveBill([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 HSourceBillType = sArray[2].ToString();
                string HSelectBarCodeType = sArray[3].ToString();
                string CampanyName = sArray[4].ToString()=="xxx"?"": sArray[4].ToString();
                string UserName = sArray[5].ToString();
                //获取内码
                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 = "选择组织有错误!";
                    return objJsonResult;
                }
                if (!Sub_AllowSave(msg2, HSelectBarCodeType))//单据完整性判断
                {
                    return objJsonResult;
                }
                if (HSelectBarCodeType == "仪器成品条码规则")
                {
                    //客户定制
                }
                else
                {
                    //生成条码
                    SaveBarCode(msg2, HSelectBarCodeType, CampanyName);
                }
            }
            catch (Exception e)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "条码生成失败!"+e.Message;
                return objJsonResult;
            }
            return objJsonResult;
        }
        #endregion
        #region[单据完整性判断]
        private bool Sub_AllowSave(string msg2, string HSelectBarCodeType)
        {
            msg2 = msg2.Replace("\\", "");
            msg2 = msg2.Replace("\n", "");  //\n
            List<HSouceOrderList> ordrlist = Newtonsoft.Json.JsonConvert.DeserializeObject<List<HSouceOrderList>>(msg2);
            string sHRemark = "";
            for (int i = 0; i < ordrlist.Count; i++)
            {
                long HSno = i + 1;                                                          // åºå·
                string HBarCodeType = HSelectBarCodeType;                                   // æ¡ç ç±»åž‹
                string HSourceBillNo = DBUtility.ClsPub.isStrNull(ordrlist[i].HBillNo);     // æºå•单号
                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
                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");
                    if (oDsCheck == null && oDsCheck.Tables[0].Rows.Count == 0)
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = "条码生成完整性判断错误";
                        return false;
                    }
                    else if (DBUtility.ClsPub.isStrNull(oDsCheck.Tables[0].Rows[0][0]) == "1")
                    {
                        sHRemark = sHRemark + DBUtility.ClsPub.isStrNull(oDsCheck.Tables[0].Rows[0]["HRemark"]);
                    }
                }
            }
            if (sHRemark != "")
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = sHRemark;
                return false;
            }
            return true;
        }
        #endregion
        #region[条码生成方法]
        private object SaveBarCode(string msg2, string HSelectBarCodeType, string CampanyName)
        {
            int LSHlen = 6;             //流水号长度
            int SumLen = 10;            //总长度
            string TM = "";             //条码
            string HNumber = "";        //物料内码
            string HMaterNumber = "";   //物料代码
            double HSumQty = 0;         //产品数量
            double HMinQty = 0;         //最小包装数
            int HBQty = 0;              //箱数
            double HQty = 0;            //数量
            string WeiShu = "";         //尾数
            int LSH = 0;                //流水号
            string LSH2 = "";           //流水号转换成字符
            string sDate = "";          //日期
            string sYear = "";          //å¹´
            string sPeriod = "";        //月
            string sDay = "";           //日
            string HBatchNo = "";       //批次
            string HYasuoji = "";       //压缩机
            string HModelName = "";       //机型
            string HICMOBillNo = "";       //源单号
            string HBarCodeBatchNo = "";       //条码批次号
            string HBarCodeDate = "";         //条码日期
            int k = 0;
            int n = 0;                  //同一批生成条码中的第几条
            string sTMNumber = "";      //条码自定义前缀
            DataSet Ds;
            msg2 = msg2.Replace("\\", "");
            msg2 = msg2.Replace("\n", "");  //\n
            List<HSouceOrderList> ordrlist = Newtonsoft.Json.JsonConvert.DeserializeObject<List<HSouceOrderList>>(msg2);
            List<HBarCodeList> ListRows = new List<HBarCodeList>();
            for (int j = 0; j < ordrlist.Count; j++)
            {
                if (ClsPub.isLong(ordrlist[j].HMaterID) != 0)
                {
                    HNumber = DBUtility.ClsPub.isStrNull(ordrlist[j].HMaterID);
                    HMaterNumber = DBUtility.ClsPub.isStrNull(ordrlist[j].HMaterNumber);
                    HBatchNo = ClsPub.isStrNull(ordrlist[j].HBatchNo);
                    //日期获取方式
                    sDate = DateTime.Now.ToString();
                    //
                    if (HSelectBarCodeType == "仪器外购件条码普通规则" || HSelectBarCodeType == "仪器外购件条码容器规则") //单据日期(收料通知单)
                    {
                        sDate = DBUtility.ClsPub.isStrNull(ordrlist[j].HDate);
                    }
                    else if (HSelectBarCodeType == "试剂成品条码规则")// å¤±æ•ˆæ—¥æœŸï¼ˆç”Ÿäº§è®¢å•)
                    {
                        sDate = DBUtility.ClsPub.isStrNull(ordrlist[j].HEndDate);
                    }
                    else if (CampanyName == "夏宝电器")// æ—¥æœŸï¼šç”Ÿäº§è®¢å• æ¡ç æ—¥æœŸ
                    {
                        sDate = DBUtility.ClsPub.isStrNull(ordrlist[j].HDate);
                    }
                    HYasuoji = DBUtility.ClsPub.isStrNull(ordrlist[j].HPinfan); //压缩机代码(夏宝电器)
                    HModelName = DBUtility.ClsPub.isStrNull(ordrlist[j].HCusType); //机型(夏宝电器)
                    HICMOBillNo = DBUtility.ClsPub.isStrNull(ordrlist[j].HSourceBillNo); //生产订单号(夏宝电器)
                    HBarCodeBatchNo = DBUtility.ClsPub.isStrNull(ordrlist[j].HPinfanBarCode); //条码批次号(夏宝电器)
                    HBarCodeDate = DBUtility.ClsPub.isStrNull(ordrlist[j].HSupNumber); //条码日期(夏宝电器)
                    //
                    sYear = ClsPub.isDate(sDate).Year.ToString().Substring(2, 2);
                    sPeriod = "0" + ClsPub.isDate(sDate).Month.ToString();
                    sPeriod = sPeriod.Substring(sPeriod.Length - 2, 2);
                    sDay = "0" + ClsPub.isDate(sDate).Day.ToString();
                    sDay = sDay.Substring(sDay.Length - 2, 2);
                    //==================================
                    if (HSelectBarCodeType == "唯一条码")
                    {
                        if (CampanyName == "卓力") //系统参数  å®¢æˆ·å®šåˆ¶åŒ–名称
                        {
                            //条码前缀 = ç‰©æ–™ä»£ç  + å¹´ + æœˆ + æ—¥
                            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]);
                        }
                        else if (CampanyName == "飞龙")
                        {
                            string HWorksNumber = "";
                            HWorksNumber = CampanyName;
                            if (HWorksNumber == "")
                            {
                                objJsonResult.code = "0";
                                objJsonResult.count = 0;
                                objJsonResult.Message = "工厂代码不能为空!";
                                return objJsonResult;
                            }
                            //条码前缀 = å·¥åŽ‚ä»£ç  + ç‰©æ–™å†…码 + æ—¥æœŸ
                            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]);
                        }
                        else  //通用方法
                        {
                            //条码前缀 = ç»„织代码 + ç‰©æ–™ä»£ç  + å¹´ + æœˆ + æ—¥
                            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]);
                        }
                    }
                    else if (HSelectBarCodeType == "品种条码")
                    {
                        if (CampanyName == "五云") //系统参数  å®¢æˆ·å®šåˆ¶åŒ–名称
                        {
                            TM = HNumber + ";" + DBUtility.ClsPub.isStrNull(ordrlist[j].HMTONo);
                        }
                        else
                        {
                            TM = HOrgNumber + HNumber;
                        }
                    }
                    else if (HSelectBarCodeType == "批次条码")
                    {
                        TM = HOrgNumber + HNumber + HBatchNo;
                    }//博日特殊处理
                    else if (HSelectBarCodeType == "仪器外购件条码普通规则" || HSelectBarCodeType == "仪器外购件条码容器规则")
                    {
                        //物料编码+单据日期(YYMMDD)+流水4位
                        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]);
                        LSHlen = 4;
                    }
                    else if (HSelectBarCodeType == "仪器成品条码规则") //另外处理了
                    {
                        //物料编码+序列号+生产日期
                        //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]);
                    }
                    else if (HSelectBarCodeType == "试剂成品条码规则")
                    {
                        //物料编码+生产批号+流水号6位-
                        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]);
                        LSHlen = 6;
                    }
                    else if (HSelectBarCodeType == "内销机条码")
                    {
                        //制造本部1位(默认1)+机型代码5位()+å¹´2位+月1位(A、B、C代替10月份)
                        //+日2位+条码批次码2位+压缩机代码1位+00+流水号4位+校验码(默认0)
                        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]);
                        LSHlen = 5;
                        if (sTMNumber.Length != 16)
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 0;
                            objJsonResult.Message = "条码长度不够16位,是否数据不全!制造本部1位:[0] + æœºåž‹ä»£ç 5位:[" + HModelName + "] + å¹´æœˆæ—¥5位:[" + HBarCodeDate + "] + æ‰¹æ¬¡å·2位:[" + HBarCodeBatchNo + "]+ åŽ‹ç¼©æœº1位:[" + HYasuoji + "]+00 ; ";
                            return objJsonResult;
                        }
                    }
                    else if (HSelectBarCodeType == "外销机条码")
                    {
                        //物料代码11位+å¹´2位+月1位(A、B、C代替10月份)+日2位+批次2位+流水号4位
                        //sTMNumber = HMaterNumber.Replace(Convert.ToChar("."),Convert.ToChar("")) + HBarCodeDate + HBarCodeBatchNo;
                        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]);
                        LSHlen = 5;
                        if (sTMNumber.Length != 18)
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 0;
                            objJsonResult.Message = "条码长度不够18位,是否数据不全!物料代码11位:[" + HMaterNumber.Replace(".", "") + "]+年月日5位:[" + HBarCodeDate + "]+批次号2位:[" + HBarCodeBatchNo + "];";
                            return objJsonResult;
                        }
                    }
                    else if (HSelectBarCodeType == "半成品条码")
                    {
                        //生产订单号+4位流水号
                        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]);
                        LSHlen = 5;
                    }
                    //else if (cmbHBarCodeType.Text == "托盘条码")
                    //{
                    //    TM = HOrgNumber + HNumber + LSH2;
                    //}
                    else
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = "错误的条码类型,不能生成条码!";
                        return objJsonResult;
                    }
                    HBQty = HBQty + ClsPub.isInt(ordrlist[j].HBQty);
                    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)
                        {
                            WeiShu = "";
                            HSumQty = HSumQty - HMinQty;
                        }
                        else
                        {
                            if (HSumQty == HMinQty)
                            {
                                WeiShu = "";
                            }
                            else
                            {
                                WeiShu = "尾数";
                            }
                            HMinQty = HSumQty;
                        }
                        //
                        LSH = LSH + 1;
                        LSH2 = LSH.ToString();
                        while (LSH2.Length < LSHlen)  //如果流水号小于6位数前面补0
                        {
                            LSH2 = "0" + LSH2;
                        }
                        if (HSelectBarCodeType == "唯一条码")
                        {
                            //条码编号 = æ¡ç å‰ç¼€ + æµæ°´å·
                            TM = sTMNumber + LSH2;
                        }
                        else if (HSelectBarCodeType == "仪器外购件条码普通规则" || HSelectBarCodeType == "仪器外购件条码容器规则" || HSelectBarCodeType == "试剂成品条码规则"
                            || HSelectBarCodeType == "半成品条码" || HSelectBarCodeType == "外销机条码")
                        {
                            TM = sTMNumber + LSH2;
                        }
                        else if (HSelectBarCodeType == "内销机条码")
                        {
                            TM = sTMNumber + LSH2 + "0";
                        }
                        //
                        if (TM.Trim() == "")
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 0;
                            objJsonResult.Message = "条形码不能为空,不能生成条码!";
                            return objJsonResult;
                        }
                        HBarCodeList barcode = new HBarCodeList();
                        barcode.HBarCode2 = TM;
                        barcode.HEntryID2 = ClsPub.isStrNull(j + 1);
                        barcode.HMaterID2 = ordrlist[j].HMaterID;
                        barcode.HMaterNumber2 = ordrlist[j].HMaterNumber;
                        barcode.HMaterName2 = ordrlist[j].HMaterName;
                        barcode.HMaterModel2 = ordrlist[j].HMaterModel;
                        barcode.HPinfan2 = ordrlist[j].HPinfan;
                        barcode.HPinfanBarCode2 = ordrlist[j].HPinfanBarCode;
                        barcode.HAuxPropID2 = ordrlist[j].HAuxPropID;
                        barcode.HAuxPropNumber2 = ordrlist[j].HAuxPropNumber;
                        barcode.HAuxPropName2 = ordrlist[j].HAuxPropName;
                        barcode.HUnitID2 = ordrlist[j].HUnitID;
                        barcode.HUnitNumber2 = ordrlist[j].HUnitNumber;
                        barcode.HUnitName2 = ordrlist[j].HUnitName;
                        barcode.HQty2 = ClsPub.isStrNull(HMinQty);
                        barcode.HBatchNo2 = ordrlist[j].HBatchNo;
                        barcode.HSourceInterID2 = ordrlist[j].HMainID;
                        barcode.HSourceEntryID2 = ordrlist[j].HSubID;
                        barcode.HSourceBillNo2 = ordrlist[j].HBillNo;
                        barcode.HSourceBillType2 = ordrlist[j].HBillType;
                        barcode.HPrint = "0";
                        barcode.HWei = WeiShu;
                        barcode.HBarcodeNo = ClsPub.isStrNull(n + 1);
                        barcode.HBarcodeQtys = ordrlist[j].HBQty;
                        barcode.HSupID2 = ordrlist[j].HSupID;
                        barcode.HSupNumber2 = ordrlist[j].HSupNumber;
                        barcode.HSupName2 = ordrlist[j].HSupName;
                        barcode.HDeptID2 = ordrlist[j].HDeptID;
                        barcode.HDeptNumber2 = ordrlist[j].HDeptNumber;
                        barcode.HDeptName2 = ordrlist[j].HDeptName;
                        barcode.HRemark2 = ordrlist[j].HRemark;
                        barcode.HDate2 = ordrlist[j].HDate;
                        barcode.HShowDate2 = ordrlist[j].HShowDate;
                        barcode.HWhID2 = ordrlist[j].HWhID;
                        barcode.HWhNumber2 = ordrlist[j].HWhNumber;
                        barcode.HWhName2 = ordrlist[j].HWhName;
                        barcode.HSPID2 = ordrlist[j].HSPID;
                        barcode.HSPNumber2 = ordrlist[j].HSPNumber;
                        barcode.HSPName2 = ordrlist[j].HSPName;
                        barcode.HMTONo2 = ordrlist[j].HMTONo;
                        barcode.HCusID2 = ordrlist[j].HCusID;
                        barcode.HCusNumber2 = ordrlist[j].HCusNumber;
                        barcode.HCusName2 = ordrlist[j].HCusName;
                        barcode.HCusType2 = ordrlist[j].HCusType;
                        barcode.HSourceID2 = ordrlist[j].HSourceID;
                        barcode.HSourceNumber2 = ordrlist[j].HSourceNumber;
                        barcode.HSourceName2 = ordrlist[j].HSourceName;
                        barcode.HEndDate2 = ordrlist[j].HEndDate;
                        barcode.HSeOrderBillNo2 = ordrlist[j].HSeOrderBillNo;
                        barcode.HInnerBillNo2 = ordrlist[j].HInnerBillNo;
                        barcode.HMaker2 = ordrlist[j].HMaker;
                        barcode.HGiveAwayFlag2 = ordrlist[j].HGiveAwayFlag;
                        ListRows.Add(barcode);
                        k = k + 1;
                        n = n + 1;
                        oCN.RunProc("exec h_p_WMS_SetMaxNo '" + sTMNumber + "'");
                    }
                }
            }
            string HWei = "";      //尾数
            string HBarCode = "";
            string HBarCodeType = "";
            Int64 HMaterID = 0;
            Int64 HAuxPropID = 0;
            Int64 HUnitID = 0;
            double HQty2 = 0;
            string HBatchNo2 = "";
            Int64 HSupID = 0;
            Int64 HGroupID = 0;
            int HPrintQty = 0;
            Int64 HSourceInterID = 0;
            Int64 HSourceEntryID = 0;
            string HSourceBillNo = "";
            string HSourceBillType = "";
            Int64 HBarcodeNo = 0;       //托号
            Int64 HBarcodeQtys = 0;     //总托数
            Int64 HDeptID = 0;
            Int64 HWhID = 0;
            Int64 HSPID = 0;
            string HRemark = "";
            string HMaterName = "";
            string HMaterModel = "";
            string HPinfan = "";
            string HMTONo = "";
            Int64 HCusID = 0;
            string HCusType = "";
            DateTime HEndDate;
            string HWorkLineName = "";
            string HSeOrderBillNo = "";
            string HInnerBillNo = "";
            bool HGiveAwayFlag = false;
            Int64 HEntryID = 0;
            try
            {
                oCN.BeginTran();
                for (int i = 0; i < ListRows.Count; i++)
                {
                    if (ClsPub.isLong(ListRows[i].HMaterID2) != 0)
                    {
                        HWei = ClsPub.isStrNull(ListRows[i].HWei);
                        HBarCode = ClsPub.isStrNull(ListRows[i].HBarCode2);
                        //
                        HBarCodeType = ClsPub.isStrNull(HSelectBarCodeType);
                        if (CampanyName == "博日科技" || CampanyName == "夏宝电器")
                        {
                            HBarCodeType = "唯一条码";
                        }
                        //
                        HMaterID = ClsPub.isLong(ListRows[i].HMaterID2);
                        HEntryID = ClsPub.isLong(ListRows[i].HEntryID2);
                        HAuxPropID = ClsPub.isLong(ListRows[i].HAuxPropID2);
                        HUnitID = ClsPub.isLong(ListRows[i].HUnitID2);
                        HQty2 = ClsPub.isDoule(ListRows[i].HQty2);
                        HBatchNo2 = ClsPub.isStrNull(ListRows[i].HBatchNo2);
                        HSourceInterID = ClsPub.isLong(ListRows[i].HSourceInterID2);
                        HSourceEntryID = ClsPub.isLong(ListRows[i].HSourceEntryID2);
                        HSourceBillNo = ClsPub.isStrNull(ListRows[i].HSourceBillNo2);
                        HSourceBillType = ClsPub.isStrNull(ListRows[i].HSourceBillType2);
                        HBarcodeQtys = ClsPub.isLong(ListRows[i].HBarcodeQtys);
                        HBarcodeNo = ClsPub.isLong(ListRows[i].HBarcodeNo);
                        HSupID = ClsPub.isLong(ListRows[i].HSupID2);
                        HDeptID = ClsPub.isLong(ListRows[i].HDeptID2);
                        HWhID = ClsPub.isLong(ListRows[i].HWhID2);
                        HSPID = ClsPub.isLong(ListRows[i].HSPID2);
                        HRemark = ClsPub.isStrNull(ListRows[i].HRemark2);
                        HMaterName = ClsPub.isStrNull(ListRows[i].HMaterName2);
                        HMaterModel = ClsPub.isStrNull(ListRows[i].HMaterModel2);
                        HPinfan = ClsPub.isStrNull(ListRows[i].HPinfan2);
                        HMTONo = ClsPub.isStrNull(ListRows[i].HMTONo2);
                        HCusID = ClsPub.isLong(ListRows[i].HCusID2);
                        HCusType = ClsPub.isStrNull(ListRows[i].HCusType2);
                        HEndDate = ClsPub.isDate(ListRows[i].HEndDate2);
                        HWorkLineName = ClsPub.isStrNull(ListRows[i].HSourceName2);
                        HSeOrderBillNo = ClsPub.isStrNull(ListRows[i].HSeOrderBillNo2);
                        HInnerBillNo = ClsPub.isStrNull(ListRows[i].HInnerBillNo2);
                        HGiveAwayFlag = ClsPub.isBool(ListRows[i].HGiveAwayFlag2);
                        oCN.RunProc("insert into Gy_BarCodeBill (HBarCode,HBarCodeType,HMaterID,HUnitID,HQty" +
                                    ",HBatchNo,HSupID,HGroupID,HMaker,HMakeDate,HPrintQty,HinitQty" +
                                    ",HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HEndQty " +
                                    ",HBarcodeQtys,HBarcodeNo,HDeptID,HWhID,HSPID,HRemark " +
                                    ",HCusID,HCusType,HEndDate,HWorkLineName,HBarCodeDate " +
                                    ",HSTOCKORGID,HOWNERID,HSeOrderBillNo,HInterID,HEntryID " +
                                    ",HGiveAwayFlag " +
                                    ",HMaterName,HMaterModel,HPinfan,HAuxPropID,HMTONo,HInnerBillNo " +
                                    ") values ("
                                    + "'" + HBarCode + "','" + HBarCodeType + "'," + HMaterID.ToString() + "," + HUnitID.ToString() + "," + HQty2.ToString()
                                    + ",'" + HBatchNo2 + "'," + HSupID.ToString() + "," + HGroupID.ToString() + ",'" + ClsPub.CurUserName + "',getdate()," + HPrintQty.ToString() + "," + HQty2.ToString()
                                    + ", " + HSourceInterID.ToString() + "," + HSourceEntryID.ToString() + ",'" + HSourceBillNo + "','" + HSourceBillType + "','" + HWei + "'"
                                    + ", " + HBarcodeQtys.ToString() + "," + HBarcodeNo.ToString() + "," + HDeptID.ToString() + "," + HWhID.ToString() + "," + HSPID.ToString() + ",'" + HRemark + "'"
                                    + ", " + HCusID.ToString() + ",'" + HCusType + "','" + HEndDate.ToShortDateString() + "','" + HWorkLineName + "','" + sDate + "'"
                                    + ", " + HOrgID.ToString() + "," + HOrgID.ToString() + ",'" + HSeOrderBillNo + "'," + HInterID.ToString() + "," + HEntryID.ToString() + ""
                                    + ", " + DBUtility.ClsPub.BoolToString(HGiveAwayFlag)
                                    + ",'" + HMaterName + "','" + HMaterModel + "','" + HPinfan + "'," + HAuxPropID.ToString() + ",'" + HMTONo + "','" + HInnerBillNo + "')");
                        //HNumber = ClsPub.isStrNull(grdSub.Rows[i].Cells[HMaterID2Col].Value);
                        //if (cmbHBarCodeType.Text == "唯一条码")
                        //{
                        //    if (CampanyName == "卓力") //系统参数  å®¢æˆ·å®šåˆ¶åŒ–名称
                        //    {
                        //        //条码前缀 = ç‰©æ–™ä»£ç  + å¹´ + æœˆ + æ—¥
                        //        sTMNumber = HNumber + sYear + sPeriod + sDay;
                        //    }
                        //    else if (CampanyName == "飞龙")
                        //    {
                        //        string HWorksNumber = "";
                        //        HWorksNumber = cmbHWorksNumber.Text;
                        //        if (HWorksNumber == "")
                        //        {
                        //            MessageBox.Show("工厂代码不能为空!");
                        //            return;
                        //        }
                        //        //条码前缀 = å·¥åŽ‚ä»£ç  + ç‰©æ–™å†…码 + æ—¥æœŸ
                        //        sTMNumber = HWorksNumber + HNumber + sYear + sPeriod + sDay;
                        //    }
                        //    else  //通用方法
                        //    {
                        //        //条码前缀 = ç»„织代码 + ç‰©æ–™ä»£ç  + å¹´ + æœˆ + æ—¥
                        //        sTMNumber = HOrgNumber + HNumber + sYear + sPeriod + sDay;
                        //    }
                        //}
                        //oCn.RunProc("exec h_p_WMS_SetMaxNo '" + sTMNumber + "'");
                    }
                }
                //增加 æ¡ç è¶…过未生成功能控制
                //
                oCN.Commit();
                List<Object> listobj = ListRows.ConvertAll(s => (object)s);//List实体类转换为object
                //获取生成的条码信息
                string sql = string.Format(@"select * from h_v_IF_BarCodeBillList Where HinterID=" + HInterID.ToString() + " order by HItemID");
                ds = new SQLHelper.ClsCN().RunProcReturn(sql, "h_v_IF_ICMOBillList_Table");
                if (ds.Tables[0].Rows.Count > 0)
                {
                    objJsonResult.code = "1";
                    objJsonResult.count = 1;
                    objJsonResult.Message = "获取资源绑定数据成功!";
                    objJsonResult.data = JsonConvert.DeserializeObject<DataTable>(JsonConvert.SerializeObject(ds.Tables[0], new IsoDateTimeConverter { DateTimeFormat = "yyyy-MM-dd HH:mm:ss" }));  //序列化DataSet中的时间格式,然后再反序列化回来
                    objJsonResult.list = listobj;
                    return objJsonResult;
                }
                else
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "没有返回任何结果,条码不存在!";
                    objJsonResult.data = null;
                    objJsonResult.list = listobj;
                    return objJsonResult;
                }
            }
            catch (Exception e)
            {
                oCN.RollBack();
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "条码生成失败!" + e.Message;
                return objJsonResult;
            }
        }
        #endregion
        #endregion
    }
}
WebAPI/ListModels.cs
@@ -1954,6 +1954,6 @@
            List<Models.ClsSc_ProcessReportSub> list = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Models.ClsSc_ProcessReportSub>>(jsonString);
            return list;
        }
    }
WebAPI/Models/HBarCodeList.cs
New file
@@ -0,0 +1,66 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
namespace WebAPI.Models
{
    public class HBarCodeList
    {
        public string HBarCode2 { get; set; } //条码编号
        public string HBarCodeType2 { get; set; } //条码类型
        public string HMaterID2 { get; set; } // "物料ID";
        public string HMaterNumber2 { get; set; } // "物料代码";
        public string HMaterName2 { get; set; } // "物料名称";
        public string HMaterModel2 { get; set; } // "规格型号";
        public string HModel2 { get; set; } // "自定义规格";
        public string HAuxPropID2 { get; set; } // "辅助属性ID";
        public string HAuxPropNumber2 { get; set; } // "辅助属性代码";
        public string HAuxPropName2 { get; set; } // "辅助属性名称";
        public string HPinfan2 { get; set; }  //品番
        public string HPinfanBarCode2 { get; set; } //HPinfanBarCode
        public string HBatchNo2 { get; set; } //"批号";
        public int HGiveAwayFlag2 { get; set; } //"是否赠品";
        public string HUnitID2 { get; set; } //"计量单位ID";
        public string HUnitNumber2 { get; set; } //"计量单位代码";
        public string HUnitName2 { get; set; } //"计量单位";
        public string HQty2 { get; set; } //"数量";
        public string HWei { get; set; } //"尾数";
        public string HPrint { get; set; } //"打印次数";
        public string HSourceInterID2 { get; set; } //"源单主ID";
        public string HSourceEntryID2 { get; set; } //"源单子ID";
        public string HSourceBillNo2 { get; set; } //"源单单号";
        public string HSourceBillType2 { get; set; } //"源单类型";
        public string HSeOrderBillNo2 { get; set; } //"销售订单号";
        public string HBarcodeNo { get; set; } //"托号";
        public string HBarcodeQtys { get; set; } //"总托数";
        public string HSupID2 { get; set; } //"供应商ID";
        public string HSupNumber2 { get; set; } //"供应商代码";
        public string HSupName2 { get; set; } //"供应商";
        public string HDeptID2 { get; set; } //"车间ID";
        public string HDeptNumber2 { get; set; } //"车间代码";
        public string HDeptName2 { get; set; } //"车间";
        public string HWhID2 { get; set; } //"仓库ID";
        public string HWhNumber2 { get; set; } //"仓库代码";
        public string HWhName2 { get; set; } //"仓库";
        public string HSPID2 { get; set; } //"仓位ID";
        public string HSPNumber2 { get; set; } //"仓位代码";
        public string HSPName2 { get; set; } //"仓位";
        public string HInstructNo2 { get; set; } //"指令单号";
        public string HDate2 { get; set; } //"进料日期";
        public string HRemark2 { get; set; } //"备注";
        public string HMTONo2 { get; set; } //"计划跟踪号";
        public string HCusID2 { get; set; } //"客户ID";
        public string HCusNumber2 { get; set; } //"客户代码";
        public string HCusName2 { get; set; } //"客户";
        public string HCusType2 { get; set; } //"客户型号";
        public string HEndDate2 { get; set; } //"计划完工日期";
        public string HSourceID2 { get; set; } //"生产线ID";
        public string HSourceNumber2 { get; set; } //"生产线代码";
        public string HSourceName2 { get; set; } //"生产线";
        public string HShowDate2 { get; set; } //"日期";
        public string HInnerBillNo2 { get; set; } //"内部采购订单号";
        public string HMaker2 { get; set; } //"制单人";
        public string HEntryID2 { get; set; } //"行号";
    }
}
WebAPI/Models/HSouceOrderList.cs
New file
@@ -0,0 +1,65 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
namespace WebAPI.Models
{
    public class HSouceOrderList
    {
        public string HMainID { get; set; }  //源单主ID
        public string HSubID { get; set; }  //源单子ID
        public string HBillNo{get;set;}    // "源单单号";
        public string HSourceBillNo { get; set; } // "源单单号";
        public string HBillType{get;set;} // "单据类型";
        public string HMaterID{get;set;} // "物料ID";
        public string HMaterNumber{get;set;} // "物料代码";
        public string HMaterName{get;set;} // "物料名称";
        public string HMaterModel{get;set;} // "规格型号";
        public string HModel{get;set;} // "自定义规格";
        public string HPinfan{get;set;} // "品番";
        public string HPinfanBarCode{get;set;} // "HPinfanBarCode";
        public string HAuxPropID{get;set;} // "辅助属性ID";
        public string HAuxPropNumber{get;set;} // "辅助属性代码";
        public string HAuxPropName{get;set;} // "辅助属性名称";
        public string HUnitID{get;set;} // "计量单位ID";
        public string HUnitNumber{get;set;} // "计量单位代码";
        public string HUnitName{get;set;} // "计量单位名称";
        public string HBarCodeType{get;set;} // "条码类型";
        public string HBatchManager{get;set;} // "是否启用批次";
        public string HBatchNo{get;set;} // "批号";
        public int HGiveAwayFlag{get;set;} // "是否赠品";
        public string HQty{get;set;} // "数量";
        public string HMinQty{get;set;} // "最小包装数";
        public string HPackQty{get;set;} // "外箱数";
        public string HBQty{get;set;} // "箱数";
        public string HSupID{get;set;} // "供应商ID";
        public string HSupNumber{get;set;} // "供应商代码";
        public string HSupName{get;set;} // "供应商";
        public string HDeptID{get;set;} // "车间ID";
        public string HDeptNumber{get;set;} // "车间代码";
        public string HDeptName{get;set;} // "车间";
        public string HWhID{get;set;} // "仓库ID";
        public string HWhNumber{get;set;} // "仓库代码";
        public string HWhName{get;set;} // "仓库";
        public string HSPID{get;set;} // "仓位ID";
        public string HSPNumber{get;set;} // "仓位代码";
        public string HSPName{get;set;} // "仓位";
        public string HInstructNo{get;set;} // "指令单号";
        public string HSeOrderBillNo{get;set;} // "销售订单号";
        public string HDate{get;set;} // "进料日期";
        public string HRemark{get;set;} // "备注";
        public string HMTONo{get;set;} // "计划跟踪号";
        public string HCusID{get;set;} // "客户ID";
        public string HCusNumber{get;set;} // "客户代码";
        public string HCusName{get;set;} // "客户";
        public string HCusType{get;set;} // "客户型号";
        public string HEndDate{get;set;} // "计划完工日期";
        public string HSourceID{get;set;} // "生产线ID";
        public string HSourceNumber{get;set;} // "生产线代码";
        public string HSourceName{get;set;} // "生产线";
        public string HShowDate{get;set;} // "日期";
        public string HInnerBillNo{get;set;} // "内部采购订单号";
        public string HMaker{get;set;} // "制单人";
        }
}
WebAPI/Models/json.cs
@@ -11,9 +11,8 @@
        public int count { get; set; }
        public string Message { get; set; }
        public object data { get; set; }
        public List<object> list { get; set; }
        public Dictionary<object, object> Dictlist { get; set; }
        public string Verify { get; set; }
        public string HInterID { get; set; }
    }
WebAPI/WebAPI.csproj
@@ -523,6 +523,8 @@
    <Compile Include="Models\ClsWW_PPBomBillSub.cs" />
    <Compile Include="Models\Cls_InventoryAnalysisList.cs" />
    <Compile Include="Models\GetWeekList.cs" />
    <Compile Include="Models\HBarCodeList.cs" />
    <Compile Include="Models\HSouceOrderList.cs" />
    <Compile Include="Models\jsonScanline.cs" />
    <Compile Include="Models\ScanLineCode.cs" />
    <Compile Include="Models\工资管理\ClsGy_ClassTimePrj_Model.cs" />