WebAPI/Controllers/²Ö´æ¹ÜÀí/ÌõÂëÉú³É/Sc_BarCodeController.cs
@@ -1,4 +1,5 @@
using DBUtility;
using DAL;
using DBUtility;
using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using Newtonsoft.Json.Linq;
@@ -198,17 +199,25 @@
                        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 "退货通知单":
                    case "生产入库单":
                        tabname = "h_v_IF_ProductInBillList_Source";
                        count = new SQLHelper.ClsCN().RunProcReturn("select * from h_v_IF_ProductInBillList_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_ProductInBillList_Source " + sWhere + ")   as A where HRowNumber >" + pageSize + " *(" + pageNum + "-1)");
                        break;
                    case "其他入库单":
                    case "采购入库单":
                        tabname = "h_v_IF_POStockInBillList_Source";
                        count = new SQLHelper.ClsCN().RunProcReturn("select * from h_v_IF_POStockInBillList_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_POStockInBillList_Source " + sWhere + ")   as A where HRowNumber >" + pageSize + " *(" + pageNum + "-1)");
                        break;
                    case "直接调拨单":
                        break;
                    case "采购退料单":
                    case "销售退货单":
                        tabname = "h_v_IF_SellOutBackBillList_Source";
                        count = new SQLHelper.ClsCN().RunProcReturn("select * from h_v_IF_SellOutBackBillList_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_SellOutBackBillList_Source " + sWhere + ")   as A where HRowNumber >" + pageSize + " *(" + pageNum + "-1)");
                        break;
                    case "生产退料单":
                        break;
                    case "组装拆卸单":
                        tabname = "h_v_IF_MateOutBackBillList_Source";
                        count = new SQLHelper.ClsCN().RunProcReturn("select * from h_v_IF_MateOutBackBillList_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_MateOutBackBillList_Source " + sWhere + ")   as A where HRowNumber >" + pageSize + " *(" + pageNum + "-1)");
                        break;
                    default:
                        break;
@@ -217,8 +226,8 @@
                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";
                ds.Tables[0].Columns["hmainid"].ColumnName = "HMainID";
                ds.Tables[0].Columns["hsubid"].ColumnName = "HSubID";
                foreach (DataColumn col in ds.Tables[0].Columns)
                {
@@ -344,6 +353,30 @@
                            //写入信息
                            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));
                            break;
                        case "1201": //采购入库
                            //得到信息
                            ds = oWebs.getDataSetBySQL("select * from h_v_IF_POStockInBillList_Source    where HMainID=" + oSelectRow.BillMainID + " and HSubID=" + oSelectRow.BillSubID, "h_v_IF_POStockInBillList_Source   ", ref DBUtility.ClsPub.sExeReturnInfo);
                            //写入信息
                            ListRows.Add(Sub_WriteInForm_InOut(ds.Tables[0], ordrlist, HBarCodeType, HSourceBillType));
                            break;
                        case "1247": //销售退货
                            //得到信息
                            ds = oWebs.getDataSetBySQL("select * from h_v_IF_SellOutBackBillList_Source where HMainID=" + oSelectRow.BillMainID + " and HSubID=" + oSelectRow.BillSubID, "h_v_IF_SellOutBackBillList_Source", ref DBUtility.ClsPub.sExeReturnInfo);
                            //写入信息
                            ListRows.Add(Sub_WriteInForm_InOut(ds.Tables[0], ordrlist, HBarCodeType, HSourceBillType));
                            break;
                        case "1244": //生产退料
                            //得到信息
                            ds = oWebs.getDataSetBySQL("select * from h_v_IF_MateOutBackBillList_Source where HMainID=" + oSelectRow.BillMainID + " and HSubID=" + oSelectRow.BillSubID, "h_v_IF_MateOutBackBillList_Source", ref DBUtility.ClsPub.sExeReturnInfo);
                            //写入信息
                            ListRows.Add(Sub_WriteInForm_InOut(ds.Tables[0], ordrlist, HBarCodeType, HSourceBillType));
                            break;
                        case "1403": //退货通知单
                            break;
                        case "1203": //其他入库单
@@ -351,8 +384,6 @@
                        case "1207": //直接调拨单
                            break;
                        case "1239": //采购退料单
                            break;
                        case "1244": //生产退料单
                            break;
                        case "1255": //组装拆卸单
                            break;
@@ -515,6 +546,45 @@
            return ordrlist;
        }
        //根据TABLE写入界面(出入库单据)
        private object Sub_WriteInForm_InOut(DataTable dt, HSouceOrderList ordrlist, string HBarCodeType, string HSourceBillType)
        {
            for (int i = 0; i < dt.Rows.Count; i++)
            {
                ordrlist.HQty = dt.Rows[i]["可生成条码数量"].ToString();
                ordrlist.HinitQty = 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.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.HAuxPropID = dt.Rows[i]["HAuxPropID"].ToString();
                ordrlist.HAuxPropNumber = dt.Rows[i]["辅助属性代码"].ToString();
                ordrlist.HAuxPropName = dt.Rows[i]["辅助属性"].ToString();
                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();
                ordrlist.HMTONo = dt.Rows[i]["计划跟踪号"].ToString();
                ordrlist.HDate = dt.Rows[i]["日期"].ToString();
                ordrlist.HShowDate = DateTime.Now.ToString();
            }
            return ordrlist;
        }
        #endregion
        #region [同步资料]
@@ -596,7 +666,7 @@
                string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
                string msg2 = sArray[0].ToString();
                string HOrgType = sArray[1].ToString();
                string HSourceBillType = sArray[2].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();
@@ -628,7 +698,7 @@
                else
                {
                    //生成条码
                    SaveBarCode(msg2, HSelectBarCodeType, CampanyName);
                    SaveBarCode(msg2, HSelectBarCodeType, CampanyName, HSourceBillTypeName);
                }
            }
            catch (Exception e)
@@ -690,7 +760,7 @@
        #endregion
        #region[条码生成方法]
        private object SaveBarCode(string msg2, string HSelectBarCodeType, string CampanyName)
        private object SaveBarCode(string msg2, string HSelectBarCodeType, string CampanyName,string HSourceBillTypeName)
        {
            int LSHlen = 6;             //流水号长度
            int SumLen = 10;            //总长度
@@ -1170,6 +1240,23 @@
                //增加 æ¡ç è¶…过未生成功能控制
                //
                //条码生成时同步生成条码出入库记录
                if (HSourceBillTypeName.Trim() == "生产入库单" || HSourceBillTypeName.Trim() == "采购入库单"
                    || HSourceBillTypeName.Trim() == "销售退货单" || HSourceBillTypeName.Trim() == "生产退料单")
                {
                    if (!oWebs.set_BarCodeAutoWMS(HInterID, HSourceBillType, HOrgID, ref DBUtility.ClsPub.sExeReturnInfo))
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = DBUtility.ClsPub.sExeReturnInfo;
                        objJsonResult.data = null;
                        objJsonResult.list = null;
                        return objJsonResult;
                    }
                }
                oCN.Commit();
                List<Object> listobj = ListRows.ConvertAll(s => (object)s);//List实体类转换为object
                //获取生成的条码信息