using DAL; using BLL; using System; using System.Collections.Generic; using System.Data; using System.Linq; using System.Web; //using Kingdee.BOS.WebApi.Client; namespace WebAPI { public class WebServer { #region 基础资料 /// /// 获取仓库列表 /// /// /// /// public DataSet GetWarehouseList(string sWhere, ref string sErr) { BLL.ClsIF_Warehouse_View bll = new BLL.ClsIF_Warehouse_View(); return bll.GetList(sWhere, ref DBUtility.ClsPub.sExeReturnInfo); //DAL.ClsIF_Warehouse_View dal = new DAL.ClsIF_Warehouse_View(); //return dal.GetList(sWhere); } /// /// 获取仓位列表 /// /// /// /// public DataSet GetStockPlaceList(string sWhere, ref string sErr) { BLL.ClsIF_StockPlace_View bll = new BLL.ClsIF_StockPlace_View(); return bll.GetList(sWhere, ref DBUtility.ClsPub.sExeReturnInfo); //DAL.ClsIF_StockPlace_View dal = new DAL.ClsIF_StockPlace_View(); //return dal.GetList(sWhere); } /// /// 获取部门列表 /// /// /// /// public DataSet GetDepartmentList(string sWhere, ref string sErr) { BLL.ClsIF_Department_View bll = new BLL.ClsIF_Department_View(); return bll.GetList(sWhere, ref DBUtility.ClsPub.sExeReturnInfo); //DAL.ClsIF_Department_View dal = new DAL.ClsIF_Department_View(); //return dal.GetList(sWhere); } /// /// 获取物料列表 /// /// /// /// public DataSet GetMaterialList(string sWhere, ref string sErr) { BLL.ClsIF_Material_View bll = new BLL.ClsIF_Material_View(); return bll.GetList(sWhere, ref DBUtility.ClsPub.sExeReturnInfo); } //ClsGy_Unit_View /// /// 获取单位列表 /// /// /// /// public DataSet GetUnitList(string sWhere, ref string sErr) { DAL.ClsGy_Unit_View dal = new DAL.ClsGy_Unit_View(); return dal.GetList(sWhere); } /// /// 职员列表 /// /// /// /// public DataSet GetEmployeeList(string sWhere, ref string sErr) { BLL.ClsIF_Employee_View bll = new BLL.ClsIF_Employee_View(); return bll.GetList(sWhere, ref DBUtility.ClsPub.sExeReturnInfo); //DAL.ClsIF_Employee_View dal = new DAL.ClsIF_Employee_View(); //return dal.GetList(sWhere); } /// /// 供应商列表 /// /// /// /// public DataSet GetSupplierList(string sWhere, ref string sErr) { BLL.ClsIF_Supplier_View bll = new BLL.ClsIF_Supplier_View(); return bll.GetList(sWhere, ref DBUtility.ClsPub.sExeReturnInfo); //DAL.ClsIF_Supplier_View dal = new DAL.ClsIF_Supplier_View(); //return dal.GetList(sWhere); } /// /// 客户列表 /// /// /// /// public DataSet GetCustomerList(string sWhere, ref string sErr) { BLL.ClsIF_Customer_View bll = new BLL.ClsIF_Customer_View(); return bll.GetList(sWhere, ref DBUtility.ClsPub.sExeReturnInfo); //DAL.ClsIF_Customer_View dal = new DAL.ClsIF_Customer_View(); //return dal.GetList(sWhere); } #endregion #region 一键扫码 入库模块 //一键扫码模式,根据条码前缀走 不同方法(仓库、仓位、部门)(源单、物料条码) 入库模块 public Model.ClsKf_ICStockBill_WMS get_CheckTypeByBarCode(string sBarCode, Int64 HBillID, string HBillType, string HBillNo, string HMaker, Int64 HWhID, Int64 HSPID, Double HQty, bool HRedBlueFlag, bool SourceFlag, string HSourceBillNo, string HSourceBillType, Int64 HOWNERID,Int64 HOrgID, ref string sErrMsg) { BLL.ClsKF_PonderationBillMain_Temp bll = new ClsKF_PonderationBillMain_Temp(); return bll.get_CheckTypeByBarCode(sBarCode, HBillID, HBillType, HBillNo, HMaker, HWhID, HSPID, HQty, HRedBlueFlag, SourceFlag, HSourceBillNo, HSourceBillType, HOWNERID, ref DBUtility.ClsPub.sExeReturnInfo); //SQLHelper.ClsCN oCn = new SQLHelper.ClsCN(); //Model.ClsKf_ICStockBill_WMS oBar = new Model.ClsKf_ICStockBill_WMS(); //DAL.ClsKF_PonderationBillMain_Temp_Ctl tem = new DAL.ClsKF_PonderationBillMain_Temp_Ctl(); //Model.ClsKF_PonderationBillMain_Temp model = new Model.ClsKF_PonderationBillMain_Temp(); //string sHSourceBillType = ""; //string sHSourceBillNo = ""; //Int64 sHSupID = 0; //string sHSupName = ""; //Int64 sHDeptID = 0; //string sHDeptName = ""; ////获取系统参数 //Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter(); //if (oSystemParameter.ShowBill(ref sErrMsg) == false) //{ // sErrMsg = "获取系统参数失败! " + sErrMsg; // return null; //} ////判断是否启用一键扫码模式,Y为启用,未启用时只扫描物料条码 //if (oSystemParameter.omodel.WMS_OneKeyMode.ToUpper() == "N") //{ // //将物料条码信息写入出入库条码临时表 // if (set_SavePonderationBillMain_Temp_BarCode_Fast(sBarCode, HBillID, HBillType, HBillNo, HMaker, HWhID, HSPID, HQty, HRedBlueFlag, SourceFlag, HSourceBillNo, HSourceBillType, HOWNERID, ref sHSourceBillNo, ref sHSourceBillType, ref sHSupID, ref sHSupName, ref sHDeptID, ref sHDeptName, ref sErrMsg)) // { // oBar.HSourceBillType = sHSourceBillType; // oBar.HSourceBillNo = sHSourceBillNo; // oBar.HSupID = sHSupID; // oBar.HSupName = sHSupName; // oBar.HDeptID = sHDeptID; // oBar.HDeptName = sHDeptName; // } // else // { // sErrMsg = "扫描失败!" + sErrMsg; // return null; // } // return oBar; //} ////一键扫码模式,根据条码前缀走 不同方法(仓库、仓位、部门)(源单、物料条码) //else //{ // string sRedBlue = "蓝字"; // if (HRedBlueFlag) // { // sRedBlue = "红字"; // } // else // { // sRedBlue = "蓝字"; // } // DataSet Dss; // //根据递入的条码前三位,判断条码类型(仓库、仓位、部门、源单、物料条码) // Dss = oCn.RunProcReturn(" select HSourceName,BarCodeType from Xt_BarCodeType where HSourceNumber= '" + sBarCode.Substring(0, 3) + "'", "Xt_BarCodeType"); // //无返回数据则为物料条码 // if (Dss == null || Dss.Tables[0].Rows.Count == 0) // { // //将物料条码信息写入出入库条码临时表 // if (set_SavePonderationBillMain_Temp_BarCode_Fast(sBarCode, HBillID, HBillType, HBillNo, HMaker, HWhID, HSPID, HQty, HRedBlueFlag, SourceFlag, HSourceBillNo, HSourceBillType, HOWNERID, ref sHSourceBillNo, ref sHSourceBillType, ref sHSupID, ref sHSupName, ref sHDeptID, ref sHDeptName, ref sErrMsg)) // { // oBar.HSourceBillType = sHSourceBillType; // oBar.HSourceBillNo = sHSourceBillNo; // oBar.HSupID = sHSupID; // oBar.HSupName = sHSupName; // oBar.HDeptID = sHDeptID; // oBar.HDeptName = sHDeptName; // } // else // { // sErrMsg = "扫描失败!" + sErrMsg; // return null; // } // return oBar; // } // else // { // string sBarBillName = Pub_Class.ClsPub.isStrNull(Dss.Tables[0].Rows[0]["HSourceName"]); // string sBarBillType = Pub_Class.ClsPub.isStrNull(Dss.Tables[0].Rows[0]["BarCodeType"]); // //判断条码类型为 基础资料条码 或 源单条码 // if (sBarBillType == "基础资料条码") // { // //仓库条码 // if (sBarBillName == "仓库") // { // DAL.ClsIF_Warehouse_View dal = new DAL.ClsIF_Warehouse_View(); // //将递入的条码去掉前三位后转化成整形,TryParse不能转换成整数时返回false,并返回ID=0 // int ID; // if (int.TryParse(sBarCode.Remove(0, 3), out ID)) // { // if (dal.GetInfoByID(ID)) // { // oBar.HBarType = "仓库条码"; // oBar.HWhID = dal.omodel.HItemID; // oBar.HWhNumber = dal.omodel.HNumber; // oBar.HWhName = dal.omodel.HName; // oBar.HSPFlag = dal.omodel.HIsStockMgr; // return oBar; // } // else // { // sErrMsg = "无效仓库条码!"; // return null; // } // } // else // { // sErrMsg = "错误的仓库条码!"; // return null; // } // } // //仓位条码 // else if (sBarBillName == "仓位") // { // DAL.ClsIF_StockPlace_View dal = new DAL.ClsIF_StockPlace_View(); // //将递入的条码去掉前三位后转化成整形 // int ID; // if (int.TryParse(sBarCode.Remove(0, 3), out ID)) // { // if (dal.GetInfoByID(ID)) // { // oBar.HBarType = "仓位条码"; // oBar.HSPID = dal.omodel.HItemID; // oBar.HSPNumber = dal.omodel.HNumber; // oBar.HSPName = dal.omodel.HName; // oBar.HWhID = dal.omodel.HWHID; // oBar.HWhNumber = dal.omodel.HWhNumber; // oBar.HWhName = dal.omodel.HWhName; // return oBar; // } // else // { // sErrMsg = "无效仓位条码!"; // return null; // } // } // else // { // sErrMsg = "错误的仓位条码!"; // return null; // } // } // //部门条码 // else if (sBarBillName == "部门") // { // DAL.ClsIF_Department_View dal = new DAL.ClsIF_Department_View(); // //将递入的条码去掉前三位后转化成整形 // int ID; // if (int.TryParse(sBarCode.Remove(0, 3), out ID)) // { // if (dal.GetInfoByID(ID)) // { // oBar.HBarType = "部门条码"; // oBar.HDeptID = dal.omodel.HItemID; // oBar.HDeptNumber = dal.omodel.HNumber; // oBar.HDeptName = dal.omodel.HName; // return oBar; // } // else // { // sErrMsg = "无效部门条码!"; // return null; // } // } // else // { // sErrMsg = "错误的部门条码!"; // return null; // } // } // else // { // sErrMsg = "无效基础资料条码!"; // return null; // } // } // //源单条码 // else if (sBarBillType == "源单条码") // { // DataSet Ds = oCn.RunProcReturn(" select HSourceName from Xt_BarCodeType where HSourceNumber= '" + sBarCode.Substring(0, 3) + "' and HBillType= '" + HBillType + "'", "Xt_BarCodeType"); // if (Ds == null || Ds.Tables[0].Rows.Count == 0) // { // sErrMsg = "所扫源单条码不属于此模块源单范围!"; // return null; // } // else // { // sBarBillName = Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HSourceName"]); // //扫描源单条码时判断是否已经扫描过源单信息 // if (SourceFlag) // { // sErrMsg = "明细信息列表已有扫码记录,不允许多次扫描源单条码!"; // return null; // } // else // { // //产品入库单 源单:生产任务单 // if (sBarBillName == "生产任务单" && HBillType == "1202") // { // DAL.Cls_S_IF_ICMOBill_Lite dal = new DAL.Cls_S_IF_ICMOBill_Lite(); // DataSet DS; // //根据单据号获取过滤条件 // string sWhere = " Where 单据号 like '%" + sBarCode + "%'"; // DS = dal.DisSourceBillList(sWhere); // if (DS == null || DS.Tables[0].Rows.Count <= 0) // { // sErrMsg = "没有返回任何记录!"; // return null; // } // oBar.HBarType = "源单条码"; // oBar.HSourceBillNo = Convert.ToString(DS.Tables[0].Rows[0]["HBillNo"]); // oBar.HSourceBillType = Convert.ToString(DS.Tables[0].Rows[0]["HBillType"]); // oBar.HSupID = Convert.ToInt64(DS.Tables[0].Rows[0]["HSupID"]); // oBar.HSupName = Convert.ToString(DS.Tables[0].Rows[0]["HSupName"]); // oBar.HDeptID = Convert.ToInt64(DS.Tables[0].Rows[0]["HDeptID"]); // oBar.HDeptName = Convert.ToString(DS.Tables[0].Rows[0]["HDeptName"]); // } // //外购入库单 源单:采购订单 // else if (sBarBillName == "采购订单" && HBillType == "1201") // { // DAL.Cls_S_IF_POOrderBill_Lite dal = new DAL.Cls_S_IF_POOrderBill_Lite(); // DataSet DS; // //根据单据号获取过滤条件 // string sWhere = " Where 单据号 like '%" + sBarCode + "%'"; // DS = dal.DisSourceBillList(sWhere); // if (DS == null || DS.Tables[0].Rows.Count <= 0) // { // sErrMsg = "没有返回任何记录!"; // return null; // } // oBar.HBarType = "源单条码"; // oBar.HSourceBillNo = Convert.ToString(DS.Tables[0].Rows[0]["HBillNo"]); // oBar.HSourceBillType = Convert.ToString(DS.Tables[0].Rows[0]["HBillType"]); // oBar.HSupID = Convert.ToInt64(DS.Tables[0].Rows[0]["HSupID"]); // oBar.HSupName = Convert.ToString(DS.Tables[0].Rows[0]["HSupName"]); // oBar.HDeptID = Convert.ToInt64(DS.Tables[0].Rows[0]["HDeptID"]); // oBar.HDeptName = Convert.ToString(DS.Tables[0].Rows[0]["HDeptName"]); // } // //外购入库单 源单:收料通知单 // else if (sBarBillName == "收料通知单" && HBillType == "1201") // { // DAL.Cls_S_IF_POStockInBill_Lite dal = new DAL.Cls_S_IF_POStockInBill_Lite(); // DataSet DS; // //根据单据号获取过滤条件 // string sWhere = " Where 单据号 like '%" + sBarCode + "%' and isnull(HBillSubType,0)=12510 "; // DS = dal.DisSourceBillList(sWhere); // if (DS == null || DS.Tables[0].Rows.Count <= 0) // { // sErrMsg = "没有返回任何记录!"; // return null; // } // oBar.HBarType = "源单条码"; // oBar.HSourceBillNo = Convert.ToString(DS.Tables[0].Rows[0]["HBillNo"]); // oBar.HSourceBillType = Convert.ToString(DS.Tables[0].Rows[0]["HBillType"]); // oBar.HSupID = Convert.ToInt64(DS.Tables[0].Rows[0]["HSupID"]); // oBar.HSupName = Convert.ToString(DS.Tables[0].Rows[0]["HSupName"]); // oBar.HDeptID = Convert.ToInt64(DS.Tables[0].Rows[0]["HDeptID"]); // oBar.HDeptName = Convert.ToString(DS.Tables[0].Rows[0]["HDeptName"]); // } // //委外入库单 源单:委外订单 // else if (sBarBillName == "委外订单" && HBillType == "1210") // { // DAL.Cls_S_IF_WWOrderBill_Lite dal = new DAL.Cls_S_IF_WWOrderBill_Lite(); // DataSet DS; // //根据单据号获取过滤条件 // string sWhere = " Where 单据号 like '%" + sBarCode + "%'"; // DS = dal.DisSourceBillList(sWhere); // if (DS == null || DS.Tables[0].Rows.Count <= 0) // { // sErrMsg = "没有返回任何记录!"; // return null; // } // oBar.HBarType = "源单条码"; // oBar.HSourceBillNo = Convert.ToString(DS.Tables[0].Rows[0]["HBillNo"]); // oBar.HSourceBillType = Convert.ToString(DS.Tables[0].Rows[0]["HBillType"]); // oBar.HSupID = Convert.ToInt64(DS.Tables[0].Rows[0]["HSupID"]); // oBar.HSupName = Convert.ToString(DS.Tables[0].Rows[0]["HSupName"]); // oBar.HDeptID = Convert.ToInt64(DS.Tables[0].Rows[0]["HDeptID"]); // oBar.HDeptName = Convert.ToString(DS.Tables[0].Rows[0]["HDeptName"]); // } // //委外入库单 源单:收料通知单-委外 // else if (sBarBillName == "收料通知单-委外" && HBillType == "1210") // { // DAL.Cls_S_IF_POStockInBill_Lite dal = new DAL.Cls_S_IF_POStockInBill_Lite(); // DataSet DS; // //根据单据号获取过滤条件 // string sWhere = " Where 单据号 like '%" + sBarCode + "%' and isnull(HBillSubType,0)=12511 "; // DS = dal.DisSourceBillList(sWhere); // if (DS == null || DS.Tables[0].Rows.Count <= 0) // { // sErrMsg = "没有返回任何记录!"; // return null; // } // oBar.HBarType = "源单条码"; // oBar.HSourceBillNo = Convert.ToString(DS.Tables[0].Rows[0]["HBillNo"]); // oBar.HSourceBillType = Convert.ToString(DS.Tables[0].Rows[0]["HBillType"]); // oBar.HSupID = Convert.ToInt64(DS.Tables[0].Rows[0]["HSupID"]); // oBar.HSupName = Convert.ToString(DS.Tables[0].Rows[0]["HSupName"]); // oBar.HDeptID = Convert.ToInt64(DS.Tables[0].Rows[0]["HDeptID"]); // oBar.HDeptName = Convert.ToString(DS.Tables[0].Rows[0]["HDeptName"]); // } // else // { // sErrMsg = "源单类型名称设置不正确!"; // return null; // } // // 将源单信息写入 临时缓存表 // if (tem.AddNew_Source(HBillID, HBillNo, HBillType, oBar.HSourceBillNo, oBar.HSourceBillType, sRedBlue, ref sErrMsg)) // { // return oBar; // } // else // { // sErrMsg = "保存源单信息失败!" + sErrMsg; // return null; // } // } // } // } // else // { // sErrMsg = "无效条码类型!"; // return null; // } // } //} } #endregion #region 一键扫码 出库模块 //一键扫码模式,根据条码前缀走 不同方法(仓库、仓位、部门)(源单、物料条码) 出库模块 public Model.ClsKf_ICStockBill_WMS get_CheckTypeByBarCode_Out(string sBarCode, Int64 HBillID, string HBillType, string HBillNo, string HMaker, Int64 HWhID, Int64 HSPID, Double HQty, bool HRedBlueFlag, bool SourceFlag, string HSourceBillNo, string HSourceBillType, Int64 HOWNERID, ref string sErrMsg) { BLL.ClsKF_PonderationBillMain_Temp bll = new ClsKF_PonderationBillMain_Temp(); return bll.get_CheckTypeByBarCode_Out(sBarCode, HBillID, HBillType, HBillNo, HMaker, HWhID, HSPID, HQty, HRedBlueFlag, SourceFlag, HSourceBillNo, HSourceBillType, HOWNERID, ref sErrMsg); //SQLHelper.ClsCN oCn = new SQLHelper.ClsCN(); //Model.ClsKf_ICStockBill_WMS oBar = new Model.ClsKf_ICStockBill_WMS(); //DAL.ClsKF_PonderationBillMain_Temp_Ctl tem = new DAL.ClsKF_PonderationBillMain_Temp_Ctl(); //Model.ClsKF_PonderationBillMain_Temp model = new Model.ClsKF_PonderationBillMain_Temp(); //string sHSourceBillType = ""; //string sHSourceBillNo = ""; //Int64 sHSupID = 0; //string sHSupName = ""; //Int64 sHDeptID = 0; //string sHDeptName = ""; ////获取系统参数 //Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter(); //if (oSystemParameter.ShowBill(ref sErrMsg) == false) //{ // sErrMsg = "获取系统参数失败! " + sErrMsg; // return null; //} ////判断是否启用一键扫码模式,Y为启用,未启用时只扫描物料条码 //if (oSystemParameter.omodel.WMS_OneKeyMode.ToUpper() == "N") //{ // //将物料条码信息写入出入库条码临时表 // if (set_SavePonderationBillMain_Temp_BarCode_OutFast(sBarCode, HBillID, HBillType, HBillNo, HMaker, HWhID, HSPID, HQty, HRedBlueFlag, SourceFlag, HSourceBillNo, HSourceBillType, HOWNERID, ref sErrMsg)) // { // oBar.HSourceBillType = sHSourceBillType; // oBar.HSourceBillNo = sHSourceBillNo; // oBar.HSupID = sHSupID; // oBar.HSupName = sHSupName; // oBar.HDeptID = sHDeptID; // oBar.HDeptName = sHDeptName; // } // else // { // sErrMsg = "扫描失败!" + sErrMsg; // return null; // } // return oBar; //} ////一键扫码模式,根据条码前缀走 不同方法(仓库、仓位、部门)(源单、物料条码) //else //{ // string sRedBlue = "蓝字"; // if (HRedBlueFlag) // { // sRedBlue = "红字"; // } // else // { // sRedBlue = "蓝字"; // } // DataSet Dss; // //根据递入的条码前三位,判断条码类型(仓库、仓位、部门、源单、物料条码) // Dss = oCn.RunProcReturn(" select HSourceName,BarCodeType from Xt_BarCodeType where HSourceNumber= '" + sBarCode.Substring(0, 3) + "'", "Xt_BarCodeType"); // //无返回数据则为物料条码 // if (Dss == null || Dss.Tables[0].Rows.Count == 0) // { // //将物料条码信息写入出入库条码临时表 // if (set_SavePonderationBillMain_Temp_BarCode_OutFast(sBarCode, HBillID, HBillType, HBillNo, HMaker, HWhID, HSPID, HQty, HRedBlueFlag, SourceFlag, HSourceBillNo, HSourceBillType, HOWNERID, ref sErrMsg)) // { // oBar.HSourceBillType = sHSourceBillType; // oBar.HSourceBillNo = sHSourceBillNo; // oBar.HSupID = sHSupID; // oBar.HSupName = sHSupName; // oBar.HDeptID = sHDeptID; // oBar.HDeptName = sHDeptName; // } // else // { // sErrMsg = "扫描失败!" + sErrMsg; // return null; // } // return oBar; // } // else // { // string sBarBillName = Pub_Class.ClsPub.isStrNull(Dss.Tables[0].Rows[0]["HSourceName"]); // string sBarBillType = Pub_Class.ClsPub.isStrNull(Dss.Tables[0].Rows[0]["BarCodeType"]); // //判断条码类型为 基础资料条码 或 源单条码 // if (sBarBillType == "基础资料条码") // { // //仓库条码 // if (sBarBillName == "仓库") // { // DAL.ClsIF_Warehouse_View dal = new DAL.ClsIF_Warehouse_View(); // //将递入的条码去掉前三位后转化成整形,TryParse不能转换成整数时返回false,并返回ID=0 // int ID; // if (int.TryParse(sBarCode.Remove(0, 3), out ID)) // { // if (dal.GetInfoByID(ID)) // { // oBar.HBarType = "仓库条码"; // oBar.HWhID = dal.omodel.HItemID; // oBar.HWhNumber = dal.omodel.HNumber; // oBar.HWhName = dal.omodel.HName; // oBar.HSPFlag = dal.omodel.HIsStockMgr; // return oBar; // } // else // { // sErrMsg = "无效仓库条码!"; // return null; // } // } // else // { // sErrMsg = "错误的仓库条码!"; // return null; // } // } // //仓位条码 // else if (sBarBillName == "仓位") // { // DAL.ClsIF_StockPlace_View dal = new DAL.ClsIF_StockPlace_View(); // //将递入的条码去掉前三位后转化成整形 // int ID; // if (int.TryParse(sBarCode.Remove(0, 3), out ID)) // { // if (dal.GetInfoByID(ID)) // { // oBar.HBarType = "仓位条码"; // oBar.HSPID = dal.omodel.HItemID; // oBar.HSPNumber = dal.omodel.HNumber; // oBar.HSPName = dal.omodel.HName; // oBar.HWhID = dal.omodel.HWHID; // oBar.HWhNumber = dal.omodel.HWhNumber; // oBar.HWhName = dal.omodel.HWhName; // return oBar; // } // else // { // sErrMsg = "无效仓位条码!"; // return null; // } // } // else // { // sErrMsg = "错误的仓位条码!"; // return null; // } // } // //部门条码 // else if (sBarBillName == "部门") // { // DAL.ClsIF_Department_View dal = new DAL.ClsIF_Department_View(); // //将递入的条码去掉前三位后转化成整形 // int ID; // if (int.TryParse(sBarCode.Remove(0, 3), out ID)) // { // if (dal.GetInfoByID(ID)) // { // oBar.HBarType = "部门条码"; // oBar.HDeptID = dal.omodel.HItemID; // oBar.HDeptNumber = dal.omodel.HNumber; // oBar.HDeptName = dal.omodel.HName; // return oBar; // } // else // { // sErrMsg = "无效部门条码!"; // return null; // } // } // else // { // sErrMsg = "错误的部门条码!"; // return null; // } // } // else // { // sErrMsg = "无效基础资料条码!"; // return null; // } // } // //源单条码 // else if (sBarBillType == "源单条码") // { // DataSet Ds = oCn.RunProcReturn(" select HSourceName from Xt_BarCodeType where HSourceNumber= '" + sBarCode.Substring(0, 3) + "' and HBillType= '" + HBillType + "'", "Xt_BarCodeType"); // if (Ds == null || Ds.Tables[0].Rows.Count == 0) // { // sErrMsg = "所扫源单条码不属于此模块源单范围!"; // return null; // } // else // { // sBarBillName = Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HSourceName"]); // //扫描源单条码时判断是否已经扫描过源单信息 // if (SourceFlag) // { // sErrMsg = "明细信息列表已有扫码记录,不允许多次扫描源单条码!"; // return null; // } // else // { // //领料出库 源单:生产任务单-投料 // if (sBarBillName == "生产任务单-投料" && HBillType == "1204") // { // DAL.Cls_S_IF_PPBomBillList_Lite dal = new DAL.Cls_S_IF_PPBomBillList_Lite(); // DataSet DS; // //根据单据号获取过滤条件 // string sWhere = " Where 单据号 like '%" + sBarCode + "%'"; // DS = dal.DisSourceBillList(sWhere); // if (DS == null || DS.Tables[0].Rows.Count <= 0) // { // sErrMsg = "没有返回任何记录!"; // return null; // } // oBar.HBarType = "源单条码"; // oBar.HSourceBillNo = Convert.ToString(DS.Tables[0].Rows[0]["HBillNo"]); // oBar.HSourceBillType = Convert.ToString(DS.Tables[0].Rows[0]["HBillType"]); // oBar.HSupID = Convert.ToInt64(DS.Tables[0].Rows[0]["HSupID"]); // oBar.HSupName = Convert.ToString(DS.Tables[0].Rows[0]["HSupName"]); // oBar.HDeptID = Convert.ToInt64(DS.Tables[0].Rows[0]["HDeptID"]); // oBar.HDeptName = Convert.ToString(DS.Tables[0].Rows[0]["HDeptName"]); // } // //销售出库 源单:销售订单 // else if (sBarBillName == "销售订单" && HBillType == "1205") // { // DAL.Cls_S_IF_SEOrderBill_Lite dal = new DAL.Cls_S_IF_SEOrderBill_Lite(); // DataSet DS; // //根据单据号获取过滤条件 // string sWhere = " Where 单据号 like '%" + sBarCode + "%'"; // DS = dal.DisSourceBillList(sWhere); // if (DS == null || DS.Tables[0].Rows.Count <= 0) // { // sErrMsg = "没有返回任何记录!"; // return null; // } // oBar.HBarType = "源单条码"; // oBar.HSourceBillNo = Convert.ToString(DS.Tables[0].Rows[0]["HBillNo"]); // oBar.HSourceBillType = Convert.ToString(DS.Tables[0].Rows[0]["HBillType"]); // oBar.HSupID = Convert.ToInt64(DS.Tables[0].Rows[0]["HSupID"]); // oBar.HSupName = Convert.ToString(DS.Tables[0].Rows[0]["HSupName"]); // oBar.HDeptID = Convert.ToInt64(DS.Tables[0].Rows[0]["HDeptID"]); // oBar.HDeptName = Convert.ToString(DS.Tables[0].Rows[0]["HDeptName"]); // } // //销售出库 源单:发货通知单 // else if (sBarBillName == "发货通知单" && HBillType == "1205") // { // DAL.Cls_S_IF_SeOutStockBill_Lite dal = new DAL.Cls_S_IF_SeOutStockBill_Lite(); // DataSet DS; // //根据单据号获取过滤条件 // string sWhere = " Where 单据号 like '%" + sBarCode + "%'"; // DS = dal.DisSourceBillList(sWhere); // if (DS == null || DS.Tables[0].Rows.Count <= 0) // { // sErrMsg = "没有返回任何记录!"; // return null; // } // oBar.HBarType = "源单条码"; // oBar.HSourceBillNo = Convert.ToString(DS.Tables[0].Rows[0]["HBillNo"]); // oBar.HSourceBillType = Convert.ToString(DS.Tables[0].Rows[0]["HBillType"]); // oBar.HSupID = Convert.ToInt64(DS.Tables[0].Rows[0]["HSupID"]); // oBar.HSupName = Convert.ToString(DS.Tables[0].Rows[0]["HSupName"]); // oBar.HDeptID = Convert.ToInt64(DS.Tables[0].Rows[0]["HDeptID"]); // oBar.HDeptName = Convert.ToString(DS.Tables[0].Rows[0]["HDeptName"]); // } // //委外出库单 源单:委外订单-投料 // else if (sBarBillName == "委外订单-投料" && HBillType == "1211") // { // DAL.Cls_S_IF_WWPPBomBill_Lite dal = new DAL.Cls_S_IF_WWPPBomBill_Lite(); // DataSet DS; // //根据单据号获取过滤条件 // string sWhere = " Where 单据号 like '%" + sBarCode + "%'"; // DS = dal.DisSourceBillList(sWhere); // if (DS == null || DS.Tables[0].Rows.Count <= 0) // { // sErrMsg = "没有返回任何记录!"; // return null; // } // oBar.HBarType = "源单条码"; // oBar.HSourceBillNo = Convert.ToString(DS.Tables[0].Rows[0]["HBillNo"]); // oBar.HSourceBillType = Convert.ToString(DS.Tables[0].Rows[0]["HBillType"]); // oBar.HSupID = Convert.ToInt64(DS.Tables[0].Rows[0]["HSupID"]); // oBar.HSupName = Convert.ToString(DS.Tables[0].Rows[0]["HSupName"]); // oBar.HDeptID = Convert.ToInt64(DS.Tables[0].Rows[0]["HDeptID"]); // oBar.HDeptName = Convert.ToString(DS.Tables[0].Rows[0]["HDeptName"]); // } // else // { // sErrMsg = "源单类型名称设置不正确!"; // return null; // } // // 将源单信息写入 临时缓存表 // if (tem.AddNew_Source(HBillID, HBillNo, HBillType, oBar.HSourceBillNo, oBar.HSourceBillType, sRedBlue, ref sErrMsg)) // { // return oBar; // } // else // { // sErrMsg = "保存源单信息失败!" + sErrMsg; // return null; // } // } // } // } // else // { // sErrMsg = "无效条码类型!"; // return null; // } // } //} } #endregion #region 一键扫码 红字 //一键扫码模式,根据条码前缀走 不同方法(仓库、仓位、部门)(源单、物料条码) public Model.ClsKf_ICStockBill_WMS get_CheckTypeByBarCode_All(string sBarCode, Int64 HBillID, string HBillType, string HBillNo, string HMaker, Int64 HWhID, Int64 HSPID, Double HQty, bool HRedBlueFlag, bool SourceFlag, string HSourceBillNo, string HSourceBillType, Int64 HOWNERID, string sExpressNumber, ref string sErrMsg) { BLL.ClsKF_PonderationBillMain_Temp bll = new ClsKF_PonderationBillMain_Temp(); return bll.get_CheckTypeByBarCode_All(sBarCode, HBillID, HBillType, HBillNo, HMaker, HWhID, HSPID, HQty, HRedBlueFlag, SourceFlag, HSourceBillNo, HSourceBillType, HOWNERID,sExpressNumber, ref sErrMsg); //SQLHelper.ClsCN oCn = new SQLHelper.ClsCN(); //Model.ClsKf_ICStockBill_WMS oBar = new Model.ClsKf_ICStockBill_WMS(); //DAL.ClsKF_PonderationBillMain_Temp_Ctl tem = new DAL.ClsKF_PonderationBillMain_Temp_Ctl(); //Model.ClsKF_PonderationBillMain_Temp model = new Model.ClsKF_PonderationBillMain_Temp(); //string sHSourceBillType = ""; //string sHSourceBillNo = ""; //Int64 sHSupID = 0; //string sHSupName = ""; //Int64 sHDeptID = 0; //string sHDeptName = ""; ////获取系统参数 //Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter(); //if (oSystemParameter.ShowBill(ref sErrMsg) == false) //{ // sErrMsg = "获取系统参数失败! " + sErrMsg; // return null; //} ////判断是否启用一键扫码模式,Y为启用,未启用时只扫描物料条码 //if (oSystemParameter.omodel.WMS_OneKeyMode.ToUpper() == "N") //{ // //将物料条码信息写入出入库条码临时表 // if (set_SavePonderationBillMain_Temp_BarCode(sBarCode, HBillID, HBillType, HBillNo, HMaker, HWhID, HSPID, HQty, HRedBlueFlag, SourceFlag, HSourceBillNo, HSourceBillType, HOWNERID, ref sHSourceBillNo, ref sHSourceBillType, ref sHSupID, ref sHSupName, ref sHDeptID, ref sHDeptName, ref sErrMsg)) // { // oBar.HSourceBillType = sHSourceBillType; // oBar.HSourceBillNo = sHSourceBillNo; // oBar.HSupID = sHSupID; // oBar.HSupName = sHSupName; // oBar.HDeptID = sHDeptID; // oBar.HDeptName = sHDeptName; // } // else // { // sErrMsg = "扫描失败!" + sErrMsg; // return null; // } // return oBar; //} ////一键扫码模式,根据条码前缀走 不同方法(仓库、仓位、部门)(源单、物料条码) //else //{ // string sRedBlue = "蓝字"; // if (HRedBlueFlag) // { // sRedBlue = "红字"; // } // else // { // sRedBlue = "蓝字"; // } // DataSet Dss; // //根据递入的条码前三位,判断条码类型(仓库、仓位、部门、源单、物料条码) // Dss = oCn.RunProcReturn(" select HSourceName,BarCodeType from Xt_BarCodeType where HSourceNumber= '" + sBarCode.Substring(0, 3) + "'", "Xt_BarCodeType"); // //无返回数据则为物料条码 // if (Dss == null || Dss.Tables[0].Rows.Count == 0) // { // //将物料条码信息写入出入库条码临时表 // if (set_SavePonderationBillMain_Temp_BarCode(sBarCode, HBillID, HBillType, HBillNo, HMaker, HWhID, HSPID, HQty, HRedBlueFlag, SourceFlag, HSourceBillNo, HSourceBillType, HOWNERID, ref sHSourceBillNo, ref sHSourceBillType, ref sHSupID, ref sHSupName, ref sHDeptID, ref sHDeptName, ref sErrMsg)) // { // oBar.HSourceBillType = sHSourceBillType; // oBar.HSourceBillNo = sHSourceBillNo; // oBar.HSupID = sHSupID; // oBar.HSupName = sHSupName; // oBar.HDeptID = sHDeptID; // oBar.HDeptName = sHDeptName; // } // else // { // sErrMsg = "扫描失败!" + sErrMsg; // return null; // } // return oBar; // } // else // { // string sBarBillName = Pub_Class.ClsPub.isStrNull(Dss.Tables[0].Rows[0]["HSourceName"]); // string sBarBillType = Pub_Class.ClsPub.isStrNull(Dss.Tables[0].Rows[0]["BarCodeType"]); // //判断条码类型为 基础资料条码 或 源单条码 // if (sBarBillType == "基础资料条码") // { // //仓库条码 // if (sBarBillName == "仓库") // { // DAL.ClsIF_Warehouse_View dal = new DAL.ClsIF_Warehouse_View(); // //将递入的条码去掉前三位后转化成整形,TryParse不能转换成整数时返回false,并返回ID=0 // int ID; // if (int.TryParse(sBarCode.Remove(0, 3), out ID)) // { // if (dal.GetInfoByID(ID)) // { // oBar.HBarType = "仓库条码"; // oBar.HWhID = dal.omodel.HItemID; // oBar.HWhNumber = dal.omodel.HNumber; // oBar.HWhName = dal.omodel.HName; // oBar.HSPFlag = dal.omodel.HIsStockMgr; // return oBar; // } // else // { // sErrMsg = "无效仓库条码!"; // return null; // } // } // else // { // sErrMsg = "错误的仓库条码!"; // return null; // } // } // //仓位条码 // else if (sBarBillName == "仓位") // { // DAL.ClsIF_StockPlace_View dal = new DAL.ClsIF_StockPlace_View(); // //将递入的条码去掉前三位后转化成整形 // int ID; // if (int.TryParse(sBarCode.Remove(0, 3), out ID)) // { // if (dal.GetInfoByID(ID)) // { // oBar.HBarType = "仓位条码"; // oBar.HSPID = dal.omodel.HItemID; // oBar.HSPNumber = dal.omodel.HNumber; // oBar.HSPName = dal.omodel.HName; // oBar.HWhID = dal.omodel.HWHID; // oBar.HWhNumber = dal.omodel.HWhNumber; // oBar.HWhName = dal.omodel.HWhName; // return oBar; // } // else // { // sErrMsg = "无效仓位条码!"; // return null; // } // } // else // { // sErrMsg = "错误的仓位条码!"; // return null; // } // } // //部门条码 // else if (sBarBillName == "部门") // { // DAL.ClsIF_Department_View dal = new DAL.ClsIF_Department_View(); // //将递入的条码去掉前三位后转化成整形 // int ID; // if (int.TryParse(sBarCode.Remove(0, 3), out ID)) // { // if (dal.GetInfoByID(ID)) // { // oBar.HBarType = "部门条码"; // oBar.HDeptID = dal.omodel.HItemID; // oBar.HDeptNumber = dal.omodel.HNumber; // oBar.HDeptName = dal.omodel.HName; // return oBar; // } // else // { // sErrMsg = "无效部门条码!"; // return null; // } // } // else // { // sErrMsg = "错误的部门条码!"; // return null; // } // } // else // { // sErrMsg = "无效基础资料条码!"; // return null; // } // } // //源单条码 // else if (sBarBillType == "源单条码") // { // DataSet Ds = oCn.RunProcReturn(" select HSourceName from Xt_BarCodeType where HSourceNumber= '" + sBarCode.Substring(0, 3) + "' and HBillType= '" + HBillType + "'", "Xt_BarCodeType"); // if (Ds == null || Ds.Tables[0].Rows.Count == 0) // { // sErrMsg = "所扫源单条码不属于此模块源单范围!"; // return null; // } // else // { // sBarBillName = Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HSourceName"]); // //扫描源单条码时判断是否已经扫描过源单信息 // if (SourceFlag) // { // sErrMsg = "明细信息列表已有扫码记录,不允许多次扫描源单条码!"; // return null; // } // else // { // //产品入库单 源单:生产任务单 // if (sBarBillName == "生产任务单" && HBillType == "1202") // { // DAL.Cls_S_IF_ICMOBill_Lite dal = new DAL.Cls_S_IF_ICMOBill_Lite(); // DataSet DS; // //根据单据号获取过滤条件 // string sWhere = " Where 单据号 like '%" + sBarCode + "'"; // DS = dal.DisSourceBillList(sWhere); // if (DS == null || DS.Tables[0].Rows.Count <= 0) // { // sErrMsg = "没有返回任何记录!"; // return null; // } // oBar.HBarType = "源单条码"; // oBar.HSourceBillNo = Convert.ToString(DS.Tables[0].Rows[0]["HBillNo"]); // oBar.HSourceBillType = Convert.ToString(DS.Tables[0].Rows[0]["HBillType"]); // oBar.HSupID = Convert.ToInt64(DS.Tables[0].Rows[0]["HSupID"]); // oBar.HSupName = Convert.ToString(DS.Tables[0].Rows[0]["HSupName"]); // oBar.HDeptID = Convert.ToInt64(DS.Tables[0].Rows[0]["HDeptID"]); // oBar.HDeptName = Convert.ToString(DS.Tables[0].Rows[0]["HDeptName"]); // } // //外购入库单 源单:采购订单 // else if (sBarBillName == "采购订单" && HBillType == "1201") // { // DAL.Cls_S_IF_POOrderBill_Lite dal = new DAL.Cls_S_IF_POOrderBill_Lite(); // DataSet DS; // //根据单据号获取过滤条件 // string sWhere = " Where 单据号 like '%" + sBarCode + "'"; // DS = dal.DisSourceBillList(sWhere); // if (DS == null || DS.Tables[0].Rows.Count <= 0) // { // sErrMsg = "没有返回任何记录!"; // return null; // } // oBar.HBarType = "源单条码"; // oBar.HSourceBillNo = Convert.ToString(DS.Tables[0].Rows[0]["HBillNo"]); // oBar.HSourceBillType = Convert.ToString(DS.Tables[0].Rows[0]["HBillType"]); // oBar.HSupID = Convert.ToInt64(DS.Tables[0].Rows[0]["HSupID"]); // oBar.HSupName = Convert.ToString(DS.Tables[0].Rows[0]["HSupName"]); // oBar.HDeptID = Convert.ToInt64(DS.Tables[0].Rows[0]["HDeptID"]); // oBar.HDeptName = Convert.ToString(DS.Tables[0].Rows[0]["HDeptName"]); // } // //外购入库单 源单:收料通知单 // else if (sBarBillName == "收料通知单" && HBillType == "1201") // { // DAL.Cls_S_IF_POStockInBill_Lite dal = new DAL.Cls_S_IF_POStockInBill_Lite(); // DataSet DS; // //根据单据号获取过滤条件 // string sWhere = " Where 单据号 like '%" + sBarCode + "' and isnull(HBillSubType,0)=12510 "; // DS = dal.DisSourceBillList(sWhere); // if (DS == null || DS.Tables[0].Rows.Count <= 0) // { // sErrMsg = "没有返回任何记录!"; // return null; // } // oBar.HBarType = "源单条码"; // oBar.HSourceBillNo = Convert.ToString(DS.Tables[0].Rows[0]["HBillNo"]); // oBar.HSourceBillType = Convert.ToString(DS.Tables[0].Rows[0]["HBillType"]); // oBar.HSupID = Convert.ToInt64(DS.Tables[0].Rows[0]["HSupID"]); // oBar.HSupName = Convert.ToString(DS.Tables[0].Rows[0]["HSupName"]); // oBar.HDeptID = Convert.ToInt64(DS.Tables[0].Rows[0]["HDeptID"]); // oBar.HDeptName = Convert.ToString(DS.Tables[0].Rows[0]["HDeptName"]); // } // //委外入库单 源单:委外订单 // else if (sBarBillName == "委外订单" && HBillType == "1210") // { // DAL.Cls_S_IF_WWOrderBill_Lite dal = new DAL.Cls_S_IF_WWOrderBill_Lite(); // DataSet DS; // //根据单据号获取过滤条件 // string sWhere = " Where 单据号 like '%" + sBarCode + "'"; // DS = dal.DisSourceBillList(sWhere); // if (DS == null || DS.Tables[0].Rows.Count <= 0) // { // sErrMsg = "没有返回任何记录!"; // return null; // } // oBar.HBarType = "源单条码"; // oBar.HSourceBillNo = Convert.ToString(DS.Tables[0].Rows[0]["HBillNo"]); // oBar.HSourceBillType = Convert.ToString(DS.Tables[0].Rows[0]["HBillType"]); // oBar.HSupID = Convert.ToInt64(DS.Tables[0].Rows[0]["HSupID"]); // oBar.HSupName = Convert.ToString(DS.Tables[0].Rows[0]["HSupName"]); // oBar.HDeptID = Convert.ToInt64(DS.Tables[0].Rows[0]["HDeptID"]); // oBar.HDeptName = Convert.ToString(DS.Tables[0].Rows[0]["HDeptName"]); // } // //委外入库单 源单:收料通知单-委外 // else if (sBarBillName == "收料通知单-委外" && HBillType == "1210") // { // DAL.Cls_S_IF_POStockInBill_Lite dal = new DAL.Cls_S_IF_POStockInBill_Lite(); // DataSet DS; // //根据单据号获取过滤条件 // string sWhere = " Where 单据号 like '%" + sBarCode + "' and isnull(HBillSubType,0)=12511 "; // DS = dal.DisSourceBillList(sWhere); // if (DS == null || DS.Tables[0].Rows.Count <= 0) // { // sErrMsg = "没有返回任何记录!"; // return null; // } // oBar.HBarType = "源单条码"; // oBar.HSourceBillNo = Convert.ToString(DS.Tables[0].Rows[0]["HBillNo"]); // oBar.HSourceBillType = Convert.ToString(DS.Tables[0].Rows[0]["HBillType"]); // oBar.HSupID = Convert.ToInt64(DS.Tables[0].Rows[0]["HSupID"]); // oBar.HSupName = Convert.ToString(DS.Tables[0].Rows[0]["HSupName"]); // oBar.HDeptID = Convert.ToInt64(DS.Tables[0].Rows[0]["HDeptID"]); // oBar.HDeptName = Convert.ToString(DS.Tables[0].Rows[0]["HDeptName"]); // } // else // { // sErrMsg = "源单类型名称设置不正确!"; // return null; // } // // 将源单信息写入 临时缓存表 // if (tem.AddNew_Source(HBillID, HBillNo, HBillType, oBar.HSourceBillNo, oBar.HSourceBillType, sRedBlue, ref sErrMsg)) // { // return oBar; // } // else // { // sErrMsg = "保存源单信息失败!" + sErrMsg; // return null; // } // } // } // } // else // { // sErrMsg = "无效条码类型!"; // return null; // } // } //} } #endregion #region 外购退料 外购入库(红字) * public bool set_SavePOStockInBackBill_New(WebAPI.WebS.ClsKf_ICStockBillMain oMain, string sHSourceType, ref string sErrMsg) { WebS.WebService1 oWebs = new WebS.WebService1(); if (oWebs.set_SavePOStockInBackBill_New(oMain, sHSourceType, ref sErrMsg)) { //sErrMsg = "保存成功!" + oMain.HBillNo; return true; } else { sErrMsg = "单据号:" + oMain.HBillNo + ", 单据ID:" + oMain.HInterID + ";" + sErrMsg; return false; } //获取系统参数 //Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter(); //if (oSystemParameter.ShowBill(ref sErrMsg) == false) //{ // sErrMsg = "获取系统参数失败! " + sErrMsg; // return false; //} //// //if (oSystemParameter.omodel.Kf_POStockInBackBill_ERPMode.ToUpper() == "WISE") //判断同步模式是金蝶WISE //{ // if (SavePOStockInBackBill_K3(oMain, sHSourceType, oSystemParameter.omodel, ref sErrMsg)) // { // //"保存成功!"; // sErrMsg = "保存成功!" + oMain.HBillNo; // return true; // } // else // { // //"保存失败!"; // sErrMsg = sErrMsg; // return false; // } //} //if (oSystemParameter.omodel.Kf_POStockInBackBill_ERPMode.ToUpper() == "CLOUD") //判断同步模式是金蝶CLOUD //{ // //if (set_SavePOStockInBackBill_CLD(oMain, sHSourceType, oSystemParameter.omodel, ref sErrMsg) == true) // //{ // // //"保存成功!"; // // return true; // //} // //else // //{ // //"保存失败!"; // return false; // //} //} //sErrMsg = "保存外购退料单失败!" + sErrMsg; //return false; } //生成外购退料单 public bool set_SavePOStockInBackBill(Model.ClsKf_ICStockBillMain oMain, string sHSourceType, ref string sErrMsg) { //获取系统参数 Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter(); if (oSystemParameter.ShowBill(ref sErrMsg) == false) { sErrMsg = "获取系统参数失败! " + sErrMsg; return false; } // if (oSystemParameter.omodel.Kf_POStockInBackBill_ERPMode.ToUpper() == "WISE") //判断同步模式是金蝶WISE { //DAL.ClsKf_POStockInBackBill dal = new DAL.ClsKf_POStockInBackBill(); //dal.omodel = oMain; ////上传前必填项判断 //if (oMain.HDeptID == 0) //{ // sErrMsg = "部门没有选择!"; // return false; //} //if (oMain.HSupID == 0) //{ // sErrMsg = "供应商没有选择!"; // return false; //} //if (oMain.HSecManagerID == 0) //{ // sErrMsg = "验收没有选择!"; // return false; //} //if (oMain.HKeeperID == 0) //{ // sErrMsg = "保管没有选择!"; // return false; //} ////同步生成K3单据 //if (sHSourceType == "-1") //无源单 //{ // if (dal.AddBill_PDA_NoSource(ref sErrMsg)) // { // //"保存成功!"; // return true; // } // else // { // //"保存失败!"; // return false; // } //} //else //{ // sErrMsg = "没有找到对应的源单方法!"; // return false; //} if (SavePOStockInBackBill_K3(oMain, sHSourceType, oSystemParameter.omodel, ref sErrMsg)) { //"保存成功!"; sErrMsg = "保存成功!" + oMain.HBillNo; return true; } else { //"保存失败!"; sErrMsg = sErrMsg; return false; } } if (oSystemParameter.omodel.Kf_POStockInBackBill_ERPMode.ToUpper() == "CLOUD") //判断同步模式是金蝶CLOUD { } sErrMsg = "保存外购退料单失败!" + sErrMsg; return false; } //生成外购退料单K3 /// /// 生成外购退料单K3 /// /// /// /// public bool SavePOStockInBackBill_K3(Model.ClsKf_ICStockBillMain oMain, string sHSourceType, Pub_Class.ClsXt_SystemParameterMain oSystemParameterMain, ref string sErrMsg) { SQLHelper.ClsCN oCn = new SQLHelper.ClsCN(); DAL.ClsKf_POStockInBackBill dal = new DAL.ClsKf_POStockInBackBill(); dal.omodel = oMain; //上传前必填项判断 if (oMain.HDeptID == 0) { sErrMsg = "部门没有选择!"; return false; } if (oMain.HSupID == 0) { sErrMsg = "供应商没有选择!"; return false; } if (oMain.HSecManagerID == 0) { sErrMsg = "验收没有选择!"; return false; } if (oMain.HKeeperID == 0) { sErrMsg = "保管没有选择!"; return false; } try { //判断会计期是否合理 string s = ""; int sYear = 0; int sPeriod = 0; if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(oMain.HDate, ref sYear, ref sPeriod, ref s) == false) { sErrMsg = s; return false; } oMain.HYear = sYear; oMain.HPeriod = sPeriod; DataSet Ds; oCn.BeginTran(); //生成出入库单据 //插入子表 oCn.RunProc("EXEC h_p_Kf_POStockInBackBillSub_Insert_New " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "','" + sHSourceType + "'"); //插入主表 oCn.RunProc("Insert Into Kf_ICStockBillMain " + "(HBillType,HBillSubType,HInterID,HBillNo,HDate,HMainSourceBillType" + ",HYear,HPeriod,HRemark,HMaker,HMakeDate" + ",HSupID,HWHID,HSCWHID,HEmpID,HManagerID,HSecManagerID" + ",HKeeperID,HDeptID,HExplanation,HInnerBillNo,HRedBlueFlag" + ") " + " values('1239','1239'," + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "',convert(varchar(10),getdate(),120),'" + oMain.HMainSourceBillType + "'" + ", " + oMain.HYear.ToString() + "," + oMain.HPeriod.ToString() + ",'" + oMain.HRemark + "','" + oMain.HMaker + "',convert(varchar(10),getdate(),120)" + ", " + oMain.HSupID.ToString() + "," + oMain.HWHID.ToString() + "," + oMain.HSCWHID.ToString() + "," + oMain.HEmpID.ToString() + "," + oMain.HManagerID.ToString() + "," + oMain.HSecManagerID.ToString() + ", " + oMain.HKeeperID.ToString() + "," + oMain.HDeptID.ToString() + ",'" + oMain.HExplanation + "','" + oMain.HInnerBillNo + "'," + DBUtility.ClsPub.BoolToString(oMain.HRedBlueFlag) + ") "); //新增K3子表、主表 oCn.RunProc("exec h_p_IFK3_ToERP_POStockInBackBill_Insert_New " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "'," + oMain.HBillerID.ToString() + ",'" + sHSourceType + "'"); //更新关联数量 if (sHSourceType == "1105") //退料通知单 { oCn.RunProc("exec h_p_Cg_UpDateRelation_POInStockBackToPOStockInBack_Add " + oMain.HInterID.ToString()); //回填K3关联数量 oCn.RunProc("exec h_p_IFK3_ToERP_POStockInBackBill_UpdateBillRelateData_POInStockBack " + oMain.HInterID.ToString()); } else if (sHSourceType == "1201") //外购入库单-蓝字 { oCn.RunProc("exec h_p_Kf_UpDateRelation_POStockInToPOStockInBack_Add " + oMain.HInterID.ToString()); //回填K3关联数量 oCn.RunProc("exec h_p_IFK3_ToERP_POStockInBackBill_UpdateBillRelateData_Blue " + oMain.HInterID.ToString()); } else //无源单 { //回填K3关联数量 oCn.RunProc("exec h_p_IFK3_ToERP_POStockInBackBill_UpdateBillRelateData " + oMain.HInterID.ToString()); } //判断库存更新控制状态(0为审核改变库存,1为保存改变库存) DataSet DS = oCn.RunProcReturn("exec h_p_IFK3_SaveUpdateStock ", "h_p_IFK3_SaveUpdateStock"); if (DS == null || DS.Tables[1].Rows.Count == 0) { sErrMsg = "判断库存更新控制状态,未知错误!"; oCn.RollBack(); return false; } else { if (DBUtility.ClsPub.isLong(DS.Tables[1].Rows[0][0]) == 1) { //更新K3库存 oCn.RunProc("exec h_p_IFK3_ToERP_POStockInBackBill_UpdateStock " + oMain.HInterID.ToString()); oCn.RunProc("exec h_p_IFK3_ToERP_POStockInBackBill_UpdateOrderStock " + oMain.HInterID.ToString()); //审核单据 if (oSystemParameterMain.Kf_POStockInBackBill_AutoCheck == "Y") //系统参数 自动审核 { //审核单据 oCn.RunProc("Update Kf_ICStockBillMain Set HChecker='" + oMain.HMaker + "',HCheckDate=convert(varchar(10),getdate(),120) where HInterID= " + oMain.HInterID.ToString()); //审核K3单据 oCn.RunProc("exec h_p_IFK3_ToERP_POStockInBackBill_Check " + oMain.HInterID.ToString() + "," + oMain.HBillerID.ToString()); } } else { //审核单据 if (oSystemParameterMain.Kf_POStockInBackBill_AutoCheck == "Y") //系统参数 自动审核 { //审核单据 oCn.RunProc("Update Kf_ICStockBillMain Set HChecker='" + oMain.HMaker + "',HCheckDate=convert(varchar(10),getdate(),120) where HInterID= " + oMain.HInterID.ToString()); //审核K3单据 oCn.RunProc("exec h_p_IFK3_ToERP_POStockInBackBill_Check " + oMain.HInterID.ToString() + "," + oMain.HBillerID.ToString()); //更新K3库存 oCn.RunProc("exec h_p_IFK3_ToERP_POStockInBackBill_UpdateStock " + oMain.HInterID.ToString()); oCn.RunProc("exec h_p_IFK3_ToERP_POStockInBackBill_UpdateOrderStock " + oMain.HInterID.ToString()); } } } //K3负库存判断 if (oSystemParameterMain.WMS_ERPStockCtl == "Y") //系统参数 提交后ERP负库存控制 { //判断条码库存是否异常(负库存、库存大于条码初始化) Ds = oCn.RunProcReturn("EXEC h_p_KF_ICInventoryBarCodeQtyCtrl " + oMain.HInterID.ToString(), "h_p_KF_ICInventoryBarCodeQtyCtrl"); if (DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0][0]) == 1) { } else { sErrMsg = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0][1]); oCn.RollBack(); return false; } } sErrMsg = "新增单据成功!"; oCn.Commit(); return true; } catch (Exception e) { sErrMsg = "生成外购退料单失败!" + e.Message; oCn.RollBack(); return false; } } //蓝字采购入库单列表 用于采购入库单(红字) public DataSet GetKf_POStockInBillList(string sWhere) { DAL.Cls_S_IF_POStockInBill_Lite dal = new DAL.Cls_S_IF_POStockInBill_Lite(); return dal.DisSourceBillList(sWhere); } //采购订单-退料列表 用于采购入库单(红字) public DataSet GetCg_POOrderBackBillList(string sWhere) { BLL.ClsKf_POStockInBackBill bll = new BLL.ClsKf_POStockInBackBill(); return bll.GetCg_POOrderBackBillList(sWhere, ref DBUtility.ClsPub.sErrInfo); //DAL.Cls_S_IF_POOrderBackBill_Lite dal = new DAL.Cls_S_IF_POOrderBackBill_Lite(); //return dal.DisSourceBillList(sWhere); } //退料通知单列表 用于采购入库单(红字) public DataSet GetCg_POInStockBackBillList(string sWhere) { BLL.ClsKf_POStockInBackBill bll = new BLL.ClsKf_POStockInBackBill(); return bll.GetCg_POInStockBackBillList(sWhere, ref DBUtility.ClsPub.sErrInfo); //DAL.Cls_S_IF_POInStockBackBill_Lite dal = new DAL.Cls_S_IF_POInStockBackBill_Lite(); //return dal.DisSourceBillList(sWhere); } #endregion #region 委外退库 委外入库(红字) * /// /// 生成委外退库单K3 /// /// /// /// public bool SaveEntrustInBackBill_K3(Model.ClsKf_ICStockBillMain oMain, string sHSourceType, Pub_Class.ClsXt_SystemParameterMain oSystemParameterMain, ref string sErrMsg) { SQLHelper.ClsCN oCn = new SQLHelper.ClsCN(); DAL.ClsKf_EntrustInBackBill dal = new DAL.ClsKf_EntrustInBackBill(); dal.omodel = oMain; //上传前必填项判断 if (oMain.HDeptID == 0) { sErrMsg = "部门没有选择!"; return false; } if (oMain.HSupID == 0) { sErrMsg = "供应商没有选择!"; return false; } if (oMain.HSecManagerID == 0) { sErrMsg = "验收没有选择!"; return false; } if (oMain.HKeeperID == 0) { sErrMsg = "保管没有选择!"; return false; } try { //判断会计期是否合理 string s = ""; int sYear = 0; int sPeriod = 0; if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(oMain.HDate, ref sYear, ref sPeriod, ref s) == false) { sErrMsg = s; return false; } oMain.HYear = sYear; oMain.HPeriod = sPeriod; DataSet Ds; oCn.BeginTran(); //生成出入库单据 //插入子表 oCn.RunProc("EXEC h_p_Kf_EntrustInBackBillSub_Insert_New " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "','" + sHSourceType + "'"); //插入主表 oCn.RunProc("Insert Into Kf_ICStockBillMain " + "(HBillType,HBillSubType,HInterID,HBillNo,HDate,HMainSourceBillType" + ",HYear,HPeriod,HRemark,HMaker,HMakeDate" + ",HSupID,HWHID,HSCWHID,HEmpID,HManagerID,HSecManagerID" + ",HKeeperID,HDeptID,HExplanation,HInnerBillNo,HRedBlueFlag" + ") " + " values('1246','1246'," + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "',convert(varchar(10),getdate(),120),'" + oMain.HMainSourceBillType + "'" + ", " + oMain.HYear.ToString() + "," + oMain.HPeriod.ToString() + ",'" + oMain.HRemark + "','" + oMain.HMaker + "',convert(varchar(10),getdate(),120)" + ", " + oMain.HSupID.ToString() + "," + oMain.HWHID.ToString() + "," + oMain.HSCWHID.ToString() + "," + oMain.HEmpID.ToString() + "," + oMain.HManagerID.ToString() + "," + oMain.HSecManagerID.ToString() + ", " + oMain.HKeeperID.ToString() + "," + oMain.HDeptID.ToString() + ",'" + oMain.HExplanation + "','" + oMain.HInnerBillNo + "'," + DBUtility.ClsPub.BoolToString(oMain.HRedBlueFlag) + ") "); //新增K3子表、主表 oCn.RunProc("exec h_p_IFK3_ToERP_EntrustInBackBill_Insert_New " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "'," + oMain.HBillerID.ToString() + ",'" + sHSourceType + "'"); //更新关联数量 if (sHSourceType == "1601") //委外订单-退库 { oCn.RunProc("exec h_p_WW_UpDateRelation_EntrustOrderToEntrustInBack_Add " + oMain.HInterID.ToString()); //回填K3关联数量 oCn.RunProc("exec h_p_IFK3_ToERP_EntrustInBackBill_UpdateBillRelateData_EntrustOrder " + oMain.HInterID.ToString()); } else if (sHSourceType == "1210") //委外入库单-蓝字 { oCn.RunProc("exec h_p_Kf_UpDateRelation_EntrustInToEntrustInBack_Add " + oMain.HInterID.ToString()); //回填K3关联数量 oCn.RunProc("exec h_p_IFK3_ToERP_EntrustInBackBill_UpdateBillRelateData_Blue " + oMain.HInterID.ToString()); } else if (sHSourceType == "1105") //退料通知单 { oCn.RunProc("exec h_p_Cg_UpDateRelation_POInStockBackToEntrustInBack_Add " + oMain.HInterID.ToString()); //回填K3关联数量 oCn.RunProc("exec h_p_IFK3_ToERP_EntrustInBackBill_UpdateBillRelateData_POInStockBack " + oMain.HInterID.ToString()); } else //无源单 { //回填K3关联数量 oCn.RunProc("exec h_p_IFK3_ToERP_EntrustInBackBill_UpdateBillRelateData " + oMain.HInterID.ToString()); } //判断库存更新控制状态(0为审核改变库存,1为保存改变库存) DataSet DS = oCn.RunProcReturn("exec h_p_IFK3_SaveUpdateStock ", "h_p_IFK3_SaveUpdateStock"); if (DS == null || DS.Tables[1].Rows.Count == 0) { sErrMsg = "判断库存更新控制状态,未知错误!"; oCn.RollBack(); return false; } else { if (DBUtility.ClsPub.isLong(DS.Tables[1].Rows[0][0]) == 1) { //更新K3库存 oCn.RunProc("exec h_p_IFK3_ToERP_EntrustInBackBill_UpdateStock " + oMain.HInterID.ToString()); oCn.RunProc("exec h_p_IFK3_ToERP_EntrustInBackBill_UpdateOrderStock " + oMain.HInterID.ToString()); //审核单据 if (oSystemParameterMain.Kf_EntrustInBackBill_AutoCheck == "Y") //系统参数 自动审核 { //审核单据 oCn.RunProc("Update Kf_ICStockBillMain Set HChecker='" + oMain.HMaker + "',HCheckDate=convert(varchar(10),getdate(),120) where HInterID= " + oMain.HInterID.ToString()); //审核K3单据 oCn.RunProc("exec h_p_IFK3_ToERP_EntrustInBackBill_Check " + oMain.HInterID.ToString() + "," + oMain.HBillerID.ToString()); } } else { //审核单据 if (oSystemParameterMain.Kf_EntrustInBackBill_AutoCheck == "Y") //系统参数 自动审核 { //审核单据 oCn.RunProc("Update Kf_ICStockBillMain Set HChecker='" + oMain.HMaker + "',HCheckDate=convert(varchar(10),getdate(),120) where HInterID= " + oMain.HInterID.ToString()); //审核K3单据 oCn.RunProc("exec h_p_IFK3_ToERP_EntrustInBackBill_Check " + oMain.HInterID.ToString() + "," + oMain.HBillerID.ToString()); //更新K3库存 oCn.RunProc("exec h_p_IFK3_ToERP_EntrustInBackBill_UpdateStock " + oMain.HInterID.ToString()); oCn.RunProc("exec h_p_IFK3_ToERP_EntrustInBackBill_UpdateOrderStock " + oMain.HInterID.ToString()); } } } //K3负库存判断 if (oSystemParameterMain.WMS_ERPStockCtl == "Y") //系统参数 提交后ERP负库存控制 { //判断条码库存是否异常(负库存、库存大于条码初始化) Ds = oCn.RunProcReturn("EXEC h_p_KF_ICInventoryBarCodeQtyCtrl " + oMain.HInterID.ToString(), "h_p_KF_ICInventoryBarCodeQtyCtrl"); if (DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0][0]) == 1) { } else { sErrMsg = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0][1]); oCn.RollBack(); return false; } } sErrMsg = "新增单据成功!"; oCn.Commit(); return true; } catch (Exception e) { sErrMsg = "生成委外退库单失败!" + e.Message; oCn.RollBack(); return false; } } //生成委外退库单 public bool set_SaveEntrustInBackBill_New(WebAPI.WebS.ClsKf_ICStockBillMain oMain, string sHSourceType, ref string sErrMsg) { WebS.WebService1 oWebs = new WebS.WebService1(); if (oWebs.set_SaveEntrustInBackBill_New(oMain, sHSourceType, ref sErrMsg)) { //sErrMsg = "保存成功!" + oMain.HBillNo; return true; } else { sErrMsg = "单据号:" + oMain.HBillNo + ", 单据ID:" + oMain.HInterID + ";" + sErrMsg; return false; } } //生成委外退库单 public bool set_SaveEntrustInBackBill(Model.ClsKf_ICStockBillMain oMain, string sHSourceType, ref string sErrMsg) { //获取系统参数 Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter(); if (oSystemParameter.ShowBill(ref sErrMsg) == false) { sErrMsg = "获取系统参数失败! " + sErrMsg; return false; } // if (oSystemParameter.omodel.Kf_EntrustInBackBill_ERPMode.ToUpper() == "WISE") //判断同步模式是金蝶WISE { DAL.ClsKf_EntrustInBackBill dal = new DAL.ClsKf_EntrustInBackBill(); dal.omodel = oMain; //上传前必填项判断 if (oMain.HDeptID == 0) { sErrMsg = "部门没有选择!"; return false; } if (oMain.HSupID == 0) { sErrMsg = "供应商没有选择!"; return false; } if (oMain.HSecManagerID == 0) { sErrMsg = "验收没有选择!"; return false; } if (oMain.HKeeperID == 0) { sErrMsg = "保管没有选择!"; return false; } //同步生成K3单据 if (sHSourceType == "-1") //无源单 { if (dal.AddBill_PDA_NoSource(ref sErrMsg)) { //"保存成功!"; return true; } else { //"保存失败!"; return false; } } else { sErrMsg = "没有找到对应的源单方法!"; return false; } } if (oSystemParameter.omodel.Kf_EntrustInBackBill_ERPMode.ToUpper() == "CLOUD") //判断同步模式是金蝶CLOUD { } sErrMsg = "保存委外退库单失败!" + sErrMsg; return false; } #endregion #region 产品退库 产品入库(红字) * public bool SaveProductInBackBill_K3(Model.ClsKf_ICStockBillMain oMain, string sHSourceType, Pub_Class.ClsXt_SystemParameterMain oSystemParameterMain, ref string sErrMsg) { SQLHelper.ClsCN oCn = new SQLHelper.ClsCN(); DAL.ClsKf_ProductInBackBill dal = new DAL.ClsKf_ProductInBackBill(); dal.omodel = oMain; //上传前必填项判断 if (oMain.HDeptID == 0) { sErrMsg = "部门没有选择!"; return false; } if (oMain.HSecManagerID == 0) { sErrMsg = "验收没有选择!"; return false; } if (oMain.HKeeperID == 0) { sErrMsg = "保管没有选择!"; return false; } try { //判断会计期是否合理 string s = ""; int sYear = 0; int sPeriod = 0; if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(oMain.HDate, ref sYear, ref sPeriod, ref s) == false) { sErrMsg = s; return false; } oMain.HYear = sYear; oMain.HPeriod = sPeriod; DataSet Ds; oCn.BeginTran(); //生成出入库单据 //插入子表 oCn.RunProc("EXEC h_p_Kf_ProductInBackBillSub_Insert_New " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "','" + sHSourceType + "'"); //插入主表 oCn.RunProc("Insert Into Kf_ICStockBillMain " + "(HBillType,HBillSubType,HInterID,HBillNo,HDate,HMainSourceBillType" + ",HYear,HPeriod,HRemark,HMaker,HMakeDate" + ",HSupID,HWHID,HSCWHID,HEmpID,HManagerID,HSecManagerID" + ",HKeeperID,HDeptID,HExplanation,HInnerBillNo,HRedBlueFlag" + ") " + " values('1245','1245'," + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "',convert(varchar(10),getdate(),120),'" + oMain.HMainSourceBillType + "'" + ", " + oMain.HYear.ToString() + "," + oMain.HPeriod.ToString() + ",'" + oMain.HRemark + "','" + oMain.HMaker + "',convert(varchar(10),getdate(),120)" + ", " + oMain.HSupID.ToString() + "," + oMain.HWHID.ToString() + "," + oMain.HSCWHID.ToString() + "," + oMain.HEmpID.ToString() + "," + oMain.HManagerID.ToString() + "," + oMain.HSecManagerID.ToString() + ", " + oMain.HKeeperID.ToString() + "," + oMain.HDeptID.ToString() + ",'" + oMain.HExplanation + "','" + oMain.HInnerBillNo + "'," + DBUtility.ClsPub.BoolToString(oMain.HRedBlueFlag) + ") "); //新增K3子表、主表 oCn.RunProc("exec h_p_IFK3_ToERP_ProductInBackBill_Insert_New " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "'," + oMain.HBillerID.ToString() + ",'" + sHSourceType + "'"); //更新关联数量 if (sHSourceType == "3710") //生产任务单-退库 { oCn.RunProc("exec h_p_Sc_UpDateRelation_ICMOToProductInBack_Add " + oMain.HInterID.ToString()); //回填K3关联数量 oCn.RunProc("exec h_p_IFK3_ToERP_ProductInBackBill_UpdateBillRelateData_ICMO " + oMain.HInterID.ToString()); } else if (sHSourceType == "1202") //产品入库单-蓝字 { oCn.RunProc("exec h_p_Kf_UpDateRelation_ProductInToProductInBack_Add " + oMain.HInterID.ToString()); //回填K3关联数量 oCn.RunProc("exec h_p_IFK3_ToERP_ProductInBackBill_UpdateBillRelateData_Blue " + oMain.HInterID.ToString()); } else //无源单 { //回填K3关联数量 oCn.RunProc("exec h_p_IFK3_ToERP_ProductInBackBill_UpdateBillRelateData " + oMain.HInterID.ToString()); } //判断库存更新控制状态(0为审核改变库存,1为保存改变库存) DataSet DS = oCn.RunProcReturn("exec h_p_IFK3_SaveUpdateStock ", "h_p_IFK3_SaveUpdateStock"); if (DS == null || DS.Tables[1].Rows.Count == 0) { sErrMsg = "判断库存更新控制状态,未知错误!"; oCn.RollBack(); return false; } else { if (DBUtility.ClsPub.isLong(DS.Tables[1].Rows[0][0]) == 1) { //更新K3库存 oCn.RunProc("exec h_p_IFK3_ToERP_ProductInBackBill_UpdateStock " + oMain.HInterID.ToString()); oCn.RunProc("exec h_p_IFK3_ToERP_ProductInBackBill_UpdateOrderStock " + oMain.HInterID.ToString()); //审核单据 if (oSystemParameterMain.Kf_ProductInBackBill_AutoCheck == "Y") //系统参数 自动审核 { //审核单据 oCn.RunProc("Update Kf_ICStockBillMain Set HChecker='" + oMain.HMaker + "',HCheckDate=convert(varchar(10),getdate(),120) where HInterID= " + oMain.HInterID.ToString()); //审核K3单据 oCn.RunProc("exec h_p_IFK3_ToERP_ProductInBackBill_Check " + oMain.HInterID.ToString() + "," + oMain.HBillerID.ToString()); } } else { //审核单据 if (oSystemParameterMain.Kf_ProductInBackBill_AutoCheck == "Y") //系统参数 自动审核 { //审核单据 oCn.RunProc("Update Kf_ICStockBillMain Set HChecker='" + oMain.HMaker + "',HCheckDate=convert(varchar(10),getdate(),120) where HInterID= " + oMain.HInterID.ToString()); //审核K3单据 oCn.RunProc("exec h_p_IFK3_ToERP_ProductInBackBill_Check " + oMain.HInterID.ToString() + "," + oMain.HBillerID.ToString()); //更新K3库存 oCn.RunProc("exec h_p_IFK3_ToERP_ProductInBackBill_UpdateStock " + oMain.HInterID.ToString()); oCn.RunProc("exec h_p_IFK3_ToERP_ProductInBackBill_UpdateOrderStock " + oMain.HInterID.ToString()); } } } //K3负库存判断 if (oSystemParameterMain.WMS_ERPStockCtl == "Y") //系统参数 提交后ERP负库存控制 { //判断条码库存是否异常(负库存、库存大于条码初始化) Ds = oCn.RunProcReturn("EXEC h_p_KF_ICInventoryBarCodeQtyCtrl " + oMain.HInterID.ToString(), "h_p_KF_ICInventoryBarCodeQtyCtrl"); if (DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0][0]) == 1) { } else { sErrMsg = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0][1]); oCn.RollBack(); return false; } } sErrMsg = "新增单据成功!"; oCn.Commit(); return true; } catch (Exception e) { sErrMsg = "生成产品退库单失败!" + e.Message; oCn.RollBack(); return false; } } //生成产品退库单 public bool set_SaveProductInBackBill_New(WebAPI.WebS.ClsKf_ICStockBillMain oMain, string sHSourceType, ref string sErrMsg) { WebS.WebService1 oWebs = new WebS.WebService1(); if (oWebs.set_SaveProductInBackBill_New(oMain, sHSourceType, ref sErrMsg)) { //sErrMsg = "保存成功!" + oMain.HBillNo; return true; } else { sErrMsg = "单据号:" + oMain.HBillNo + ", 单据ID:" + oMain.HInterID + ";" + sErrMsg; return false; } } ///生成产品退库单 public bool set_ProductInBackBill(Model.ClsKf_ProductInBillMain oMain, ref string sErrMsg) { DAL.ClsKf_ProductInBill dal = new DAL.ClsKf_ProductInBill(); dal.omodel = oMain; if (oMain.HRedBlueFlag) { //if (dal.AddBill_PDA_Red(ref sErrMsg)) //{ // //"保存成功!"; // return true; //} //else //{ //"保存失败!"; return false; //} } else { if (dal.AddBill_PDA(ref sErrMsg)) { //"保存成功!"; return true; } else { //"保存失败!"; return false; } } } //生成产品退库单 public bool set_SaveProductInBackBill(Model.ClsKf_ICStockBillMain oMain, string sHSourceType, ref string sErrMsg) { //获取系统参数 Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter(); if (oSystemParameter.ShowBill(ref sErrMsg) == false) { sErrMsg = "获取系统参数失败! " + sErrMsg; return false; } // if (oSystemParameter.omodel.Kf_ProductInBackBill_ERPMode.ToUpper() == "WISE") //判断同步模式是金蝶WISE { DAL.ClsKf_ProductInBackBill dal = new DAL.ClsKf_ProductInBackBill(); dal.omodel = oMain; //上传前必填项判断 if (oMain.HDeptID == 0) { sErrMsg = "部门没有选择!"; return false; } if (oMain.HSecManagerID == 0) { sErrMsg = "验收没有选择!"; return false; } if (oMain.HKeeperID == 0) { sErrMsg = "保管没有选择!"; return false; } //同步生成K3单据 if (sHSourceType == "-1") //无源单 { if (dal.AddBill_PDA_NoSource(ref sErrMsg)) { //"保存成功!"; return true; } else { //"保存失败!"; return false; } } else { sErrMsg = "没有找到对应的源单方法!"; return false; } } if (oSystemParameter.omodel.Kf_ProductInBackBill_ERPMode.ToUpper() == "CLOUD") //判断同步模式是金蝶CLOUD { } sErrMsg = "保存产品退库单失败!" + sErrMsg; return false; } public DataSet GetSc_ICMOBackBillList(string sWhere) { DAL.Cls_S_IF_ICMOBackBill_Lite dal = new DAL.Cls_S_IF_ICMOBackBill_Lite(); return dal.DisSourceBillList(sWhere); } public DataSet GetSc_PPBomBillList(string sWhere) { BLL.ClsKf_MateOutBill bll = new BLL.ClsKf_MateOutBill(); return bll.GetSc_PPBomBillList(sWhere, ref DBUtility.ClsPub.sErrInfo); //DAL.Cls_S_IF_PPBomBillList_Lite dal = new DAL.Cls_S_IF_PPBomBillList_Lite(); //return dal.DisSourceBillList(sWhere); } public DataSet GetSc_PPBomBillList2(string sWhere) { BLL.ClsKf_MateOutBackBill bll = new BLL.ClsKf_MateOutBackBill(); return bll.GetSc_PPBomBackBillList(sWhere, ref DBUtility.ClsPub.sErrInfo); //DAL.Cls_S_IF_PPBomBillList_Lite dal = new DAL.Cls_S_IF_PPBomBillList_Lite(); //return dal.DisSourceBillList(sWhere); } public DataSet GetSc_PPBomBillList1(string sWhere) { DAL.Cls_S_IF_PPBomBillList_Lite dal = new DAL.Cls_S_IF_PPBomBillList_Lite(); return dal.DisSourceBillList(sWhere); } public DataSet GetKf_ProductInBillList(string sWhere) { DAL.Cls_S_IF_ProductInBill_Lite dal = new DAL.Cls_S_IF_ProductInBill_Lite(); return dal.DisSourceBillList(sWhere); } public DataSet GetKf_MoveStockRequestBillList(string sWhere) { DAL.Cls_S_IF_MoveStockRequestBill_Lite dal = new DAL.Cls_S_IF_MoveStockRequestBill_Lite(); return dal.DisSourceBillList(sWhere); } #endregion #region 其他入库(红字) * /// /// 生成其他入库单(红字)K3 /// /// /// /// public bool SaveOtherInBackBill_K3(Model.ClsKf_ICStockBillMain oMain, string sHSourceType, Pub_Class.ClsXt_SystemParameterMain oSystemParameterMain, ref string sErrMsg) { SQLHelper.ClsCN oCn = new SQLHelper.ClsCN(); DAL.ClsKf_OtherInBackBill dal = new DAL.ClsKf_OtherInBackBill(); dal.omodel = oMain; //上传前必填项判断 if (oMain.HDeptID == 0) { sErrMsg = "部门没有选择!"; return false; } if (oMain.HSecManagerID == 0) { sErrMsg = "验收没有选择!"; return false; } if (oMain.HKeeperID == 0) { sErrMsg = "保管没有选择!"; return false; } try { //判断会计期是否合理 string s = ""; int sYear = 0; int sPeriod = 0; if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(oMain.HDate, ref sYear, ref sPeriod, ref s) == false) { sErrMsg = s; return false; } oMain.HYear = sYear; oMain.HPeriod = sPeriod; DataSet Ds; oCn.BeginTran(); //生成出入库单据 //插入子表 oCn.RunProc("EXEC h_p_Kf_OtherInBackBillSub_Insert_New " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "','" + sHSourceType + "'"); //插入主表 oCn.RunProc("Insert Into Kf_ICStockBillMain " + "(HBillType,HBillSubType,HInterID,HBillNo,HDate,HMainSourceBillType" + ",HYear,HPeriod,HRemark,HMaker,HMakeDate" + ",HSupID,HWHID,HSCWHID,HEmpID,HManagerID,HSecManagerID" + ",HKeeperID,HDeptID,HExplanation,HInnerBillNo,HRedBlueFlag" + ") " + " values('1248','1248'," + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "',convert(varchar(10),getdate(),120),'" + oMain.HMainSourceBillType + "'" + ", " + oMain.HYear.ToString() + "," + oMain.HPeriod.ToString() + ",'" + oMain.HRemark + "','" + oMain.HMaker + "',convert(varchar(10),getdate(),120)" + ", " + oMain.HSupID.ToString() + "," + oMain.HWHID.ToString() + "," + oMain.HSCWHID.ToString() + "," + oMain.HEmpID.ToString() + "," + oMain.HManagerID.ToString() + "," + oMain.HSecManagerID.ToString() + ", " + oMain.HKeeperID.ToString() + "," + oMain.HDeptID.ToString() + ",'" + oMain.HExplanation + "','" + oMain.HInnerBillNo + "'," + DBUtility.ClsPub.BoolToString(oMain.HRedBlueFlag) + ") "); //新增K3子表、主表 oCn.RunProc("exec h_p_IFK3_ToERP_OtherInBackBill_Insert_New " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "'," + oMain.HBillerID.ToString() + ",'" + sHSourceType + "'"); //更新关联数量 //回填K3关联数量 oCn.RunProc("exec h_p_IFK3_ToERP_OtherInBackBill_UpdateBillRelateData " + oMain.HInterID.ToString()); //判断库存更新控制状态(0为审核改变库存,1为保存改变库存) DataSet DS = oCn.RunProcReturn("exec h_p_IFK3_SaveUpdateStock ", "h_p_IFK3_SaveUpdateStock"); if (DS == null || DS.Tables[1].Rows.Count == 0) { sErrMsg = "判断库存更新控制状态,未知错误!"; oCn.RollBack(); return false; } else { if (DBUtility.ClsPub.isLong(DS.Tables[1].Rows[0][0]) == 1) { //更新K3库存 oCn.RunProc("exec h_p_IFK3_ToERP_OtherInBackBill_UpdateStock " + oMain.HInterID.ToString()); oCn.RunProc("exec h_p_IFK3_ToERP_OtherInBackBill_UpdateOrderStock " + oMain.HInterID.ToString()); //审核单据 if (oSystemParameterMain.Kf_OtherInBackBill_AutoCheck == "Y") //系统参数 自动审核 { //审核单据 oCn.RunProc("Update Kf_ICStockBillMain Set HChecker='" + oMain.HMaker + "',HCheckDate=convert(varchar(10),getdate(),120) where HInterID= " + oMain.HInterID.ToString()); //审核K3单据 oCn.RunProc("exec h_p_IFK3_ToERP_OtherInBackBill_Check " + oMain.HInterID.ToString() + "," + oMain.HBillerID.ToString()); } } else { //审核单据 if (oSystemParameterMain.Kf_OtherInBackBill_AutoCheck == "Y") //系统参数 自动审核 { //审核单据 oCn.RunProc("Update Kf_ICStockBillMain Set HChecker='" + oMain.HMaker + "',HCheckDate=convert(varchar(10),getdate(),120) where HInterID= " + oMain.HInterID.ToString()); //审核K3单据 oCn.RunProc("exec h_p_IFK3_ToERP_OtherInBackBill_Check " + oMain.HInterID.ToString() + "," + oMain.HBillerID.ToString()); //更新K3库存 oCn.RunProc("exec h_p_IFK3_ToERP_OtherInBackBill_UpdateStock " + oMain.HInterID.ToString()); oCn.RunProc("exec h_p_IFK3_ToERP_OtherInBackBill_UpdateOrderStock " + oMain.HInterID.ToString()); } } } //K3负库存判断 if (oSystemParameterMain.WMS_ERPStockCtl == "Y") //系统参数 提交后ERP负库存控制 { //判断条码库存是否异常(负库存、库存大于条码初始化) Ds = oCn.RunProcReturn("EXEC h_p_KF_ICInventoryBarCodeQtyCtrl " + oMain.HInterID.ToString(), "h_p_KF_ICInventoryBarCodeQtyCtrl"); if (DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0][0]) == 1) { } else { sErrMsg = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0][1]); oCn.RollBack(); return false; } } sErrMsg = "新增单据成功!"; oCn.Commit(); return true; } catch (Exception e) { sErrMsg = "生成其他入库单(红字)失败!" + e.Message; oCn.RollBack(); return false; } } //生成其他入库单(红字) public bool set_SaveOtherInBackBill_New(Model.ClsKf_ICStockBillMain oMain, string sHSourceType, ref string sErrMsg) { //获取系统参数 Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter(); if (oSystemParameter.ShowBill(ref sErrMsg) == false) { sErrMsg = "获取系统参数失败! " + sErrMsg; return false; } // if (oSystemParameter.omodel.Kf_OtherInBackBill_ERPMode.ToUpper() == "WISE") //判断同步模式是金蝶WISE { if (SaveOtherInBackBill_K3(oMain, sHSourceType, oSystemParameter.omodel, ref sErrMsg)) { //"保存成功!"; sErrMsg = "保存成功!" + oMain.HBillNo; return true; } else { //"保存失败!"; sErrMsg = sErrMsg; return false; } } if (oSystemParameter.omodel.Kf_OtherInBackBill_ERPMode.ToUpper() == "CLOUD") //判断同步模式是金蝶CLOUD { return false; } sErrMsg = "保存其他入库单(红字)失败!" + sErrMsg; return false; } //生成其他入库单(红字) public bool set_SaveOtherInBackBill(Model.ClsKf_ICStockBillMain oMain, string sHSourceType, ref string sErrMsg) { //获取系统参数 Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter(); if (oSystemParameter.ShowBill(ref sErrMsg) == false) { sErrMsg = "获取系统参数失败! " + sErrMsg; return false; } // if (oSystemParameter.omodel.Kf_OtherInBackBill_ERPMode.ToUpper() == "WISE") //判断同步模式是金蝶WISE { DAL.ClsKf_OtherInBackBill dal = new DAL.ClsKf_OtherInBackBill(); dal.omodel = oMain; //上传前必填项判断 if (oMain.HDeptID == 0) { sErrMsg = "部门没有选择!"; return false; } if (oMain.HSecManagerID == 0) { sErrMsg = "验收没有选择!"; return false; } if (oMain.HKeeperID == 0) { sErrMsg = "保管没有选择!"; return false; } //同步生成K3单据 if (sHSourceType == "-1") //无源单 { if (dal.AddBill_PDA_NoSource(ref sErrMsg)) { //"保存成功!"; return true; } else { //"保存失败!"; return false; } } else { sErrMsg = "没有找到对应的源单方法!"; return false; } } //if (oSystemParameter.omodel.Kf_OtherInBackBill_ERPMode.ToUpper() == "CLOUD") //判断同步模式是金蝶CLOUD //{ //} sErrMsg = "保存其他入库单(红字)失败!" + sErrMsg; return false; } #endregion #region 生产退料 生产领料(红字) * //生成生产退料单 //public bool set_SaveMateOutBackBill(Model.ClsKf_ICStockBillMain oMain, string sHSourceType, ref string sErrMsg) //{ // //获取系统参数 // Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter(); // if (oSystemParameter.ShowBill(ref sErrMsg) == false) // { // sErrMsg = "获取系统参数失败! " + sErrMsg; // return false; // } // // // if (oSystemParameter.omodel.Kf_MateOutBackBill_ERPMode.ToUpper() == "WISE") //判断同步模式是金蝶WISE // { // DAL.ClsKf_MateOutBackBill dal = new DAL.ClsKf_MateOutBackBill(); // dal.omodel = oMain; // //上传前必填项判断 // if (oMain.HDeptID == 0) // { // sErrMsg = "部门没有选择!"; // return false; // } // if (oMain.HSecManagerID == 0) // { // sErrMsg = "收料没有选择!"; // return false; // } // if (oMain.HKeeperID == 0) // { // sErrMsg = "保管没有选择!"; // return false; // } // //同步生成K3单据 // if (sHSourceType == "-1") //无源单 // { // if (dal.AddBill_PDA_NoSource(ref sErrMsg)) // { // //"保存成功!"; // return true; // } // else // { // //"保存失败!"; // return false; // } // } // else // { // sErrMsg = "没有找到对应的源单方法!"; // return false; // } // } // if (oSystemParameter.omodel.Kf_MateOutBackBill_ERPMode.ToUpper() == "CLOUD") //判断同步模式是金蝶CLOUD // { // } // sErrMsg = "保存生产退料单失败!" + sErrMsg; // return false; //} // 生产退料 生产领料 public bool set_SaveMateOutBackBill_New(WebAPI.WebS.ClsKf_ICStockBillMain oMain, string sHSourceType, ref string sErrMsg) { WebS.WebService1 oWebs = new WebS.WebService1(); if (oWebs.set_SaveMateOutBackBill_New(oMain, sHSourceType, ref sErrMsg)) { //sErrMsg = "保存成功!" + oMain.HBillNo; return true; } else { sErrMsg = "单据号:" + oMain.HBillNo + ", 单据ID:" + oMain.HInterID + ";" + sErrMsg; return false; } //获取系统参数 //Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter(); //if (oSystemParameter.ShowBill(ref sErrMsg) == false) //{ // sErrMsg = "获取系统参数失败! " + sErrMsg; // return false; //} //// //if (oSystemParameter.omodel.Kf_MateOutBackBill_ERPMode.ToUpper() == "WISE") //判断同步模式是金蝶WISE //{ // if (SaveMateOutBackBill_K3(oMain, sHSourceType, oSystemParameter.omodel, ref sErrMsg)) // { // //"保存成功!"; // sErrMsg = "保存成功!" + oMain.HBillNo; // return true; // } // else // { // //"保存失败!"; // sErrMsg = sErrMsg; // return false; // } //} //if (oSystemParameter.omodel.Kf_MateOutBackBill_ERPMode.ToUpper() == "CLOUD") //判断同步模式是金蝶CLOUD //{ //} //sErrMsg = "保存生产退料单失败!" + sErrMsg; //return false; } // 生产退料K3 生产领料 public bool SaveMateOutBackBill_K3(Model.ClsKf_ICStockBillMain oMain, string sHSourceType, Pub_Class.ClsXt_SystemParameterMain oSystemParameterMain, ref string sErrMsg) { SQLHelper.ClsCN oCn = new SQLHelper.ClsCN(); DAL.ClsKf_MateOutBackBill dal = new DAL.ClsKf_MateOutBackBill(); dal.omodel = oMain; //上传前必填项判断 if (oMain.HDeptID == 0) { sErrMsg = "部门没有选择!"; return false; } if (oMain.HSecManagerID == 0) { sErrMsg = "收料没有选择!"; return false; } if (oMain.HKeeperID == 0) { sErrMsg = "保管没有选择!"; return false; } try { //判断会计期是否合理 string s = ""; int sYear = 0; int sPeriod = 0; if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(oMain.HDate, ref sYear, ref sPeriod, ref s) == false) { sErrMsg = s; return false; } oMain.HYear = sYear; oMain.HPeriod = sPeriod; DataSet Ds; oCn.BeginTran(); //生成出入库单据 //插入子表 oCn.RunProc("EXEC h_p_Kf_MateOutBackBillSub_Insert_New " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "','" + sHSourceType + "'"); //插入主表 oCn.RunProc("Insert Into Kf_ICStockBillMain " + "(HBillType,HBillSubType,HInterID,HBillNo,HDate,HMainSourceBillType" + ",HYear,HPeriod,HRemark,HMaker,HMakeDate" + ",HSupID,HWHID,HSCWHID,HEmpID,HManagerID,HSecManagerID" + ",HKeeperID,HDeptID,HExplanation,HInnerBillNo,HRedBlueFlag" + ") " + " values('1244','1244'," + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "',convert(varchar(10),getdate(),120),'" + oMain.HMainSourceBillType + "'" + ", " + oMain.HYear.ToString() + "," + oMain.HPeriod.ToString() + ",'" + oMain.HRemark + "','" + oMain.HMaker + "',convert(varchar(10),getdate(),120)" + ", " + oMain.HSupID.ToString() + "," + oMain.HWHID.ToString() + "," + oMain.HSCWHID.ToString() + "," + oMain.HEmpID.ToString() + "," + oMain.HManagerID.ToString() + "," + oMain.HSecManagerID.ToString() + ", " + oMain.HKeeperID.ToString() + "," + oMain.HDeptID.ToString() + ",'" + oMain.HExplanation + "','" + oMain.HInnerBillNo + "'," + DBUtility.ClsPub.BoolToString(oMain.HRedBlueFlag) + ") "); //新增K3子表、主表 oCn.RunProc("exec h_p_IFK3_ToERP_MateOutBackBill_Insert_New " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "'," + oMain.HBillerID.ToString() + ",'" + sHSourceType + "'"); //更新关联数量 if (sHSourceType == "3720") //生产任务单-投料 { oCn.RunProc("exec h_p_Sc_UpDateRelation_PPBomToMateOutBack_Add " + oMain.HInterID.ToString()); //回填K3关联数量 oCn.RunProc("exec h_p_IFK3_ToERP_MateOutBackBill_UpdateBillRelateData_PPBom " + oMain.HInterID.ToString()); } else if (sHSourceType == "1204") //生产领料单-蓝字 { oCn.RunProc("exec h_p_Kf_UpDateRelation_MateOutToMateOutBack_Add " + oMain.HInterID.ToString()); //回填K3关联数量 oCn.RunProc("exec h_p_IFK3_ToERP_MateOutBackBill_UpdateBillRelateData_Blue " + oMain.HInterID.ToString()); } else //无源单 { //回填K3关联数量 oCn.RunProc("exec h_p_IFK3_ToERP_MateOutBackBill_UpdateBillRelateData " + oMain.HInterID.ToString()); } //判断库存更新控制状态(0为审核改变库存,1为保存改变库存) DataSet DS = oCn.RunProcReturn("exec h_p_IFK3_SaveUpdateStock ", "h_p_IFK3_SaveUpdateStock"); if (DS == null || DS.Tables[1].Rows.Count == 0) { sErrMsg = "判断库存更新控制状态,未知错误!"; oCn.RollBack(); return false; } else { if (DBUtility.ClsPub.isLong(DS.Tables[1].Rows[0][0]) == 1) { //更新K3库存 oCn.RunProc("exec h_p_IFK3_ToERP_MateOutBackBill_UpdateStock " + oMain.HInterID.ToString()); oCn.RunProc("exec h_p_IFK3_ToERP_MateOutBackBill_UpdateOrderStock " + oMain.HInterID.ToString()); //审核单据 if (oSystemParameterMain.Kf_MateOutBackBill_AutoCheck == "Y") //系统参数 自动审核 { //审核单据 oCn.RunProc("Update Kf_ICStockBillMain Set HChecker='" + oMain.HMaker + "',HCheckDate=convert(varchar(10),getdate(),120) where HInterID= " + oMain.HInterID.ToString()); //审核K3单据 oCn.RunProc("exec h_p_IFK3_ToERP_MateOutBackBill_Check " + oMain.HInterID.ToString() + "," + oMain.HBillerID.ToString()); } } else { //审核单据 if (oSystemParameterMain.Kf_MateOutBackBill_AutoCheck == "Y") //系统参数 自动审核 { //审核单据 oCn.RunProc("Update Kf_ICStockBillMain Set HChecker='" + oMain.HMaker + "',HCheckDate=convert(varchar(10),getdate(),120) where HInterID= " + oMain.HInterID.ToString()); //审核K3单据 oCn.RunProc("exec h_p_IFK3_ToERP_MateOutBackBill_Check " + oMain.HInterID.ToString() + "," + oMain.HBillerID.ToString()); //更新K3库存 oCn.RunProc("exec h_p_IFK3_ToERP_MateOutBackBill_UpdateStock " + oMain.HInterID.ToString()); oCn.RunProc("exec h_p_IFK3_ToERP_MateOutBackBill_UpdateOrderStock " + oMain.HInterID.ToString()); } } } sErrMsg = "新增单据成功!"; oCn.Commit(); return true; } catch (Exception e) { sErrMsg = "生成生产退料单失败!" + e.Message; oCn.RollBack(); return false; } } #endregion #region 委外退料 委外出库(红字) * //生成委外退料单 public bool set_SaveEntrustOutBackBill(Model.ClsKf_ICStockBillMain oMain, string sHSourceType, ref string sErrMsg) { //获取系统参数 Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter(); if (oSystemParameter.ShowBill(ref sErrMsg) == false) { sErrMsg = "获取系统参数失败! " + sErrMsg; return false; } // if (oSystemParameter.omodel.Kf_EntrustOutBackBill_ERPMode.ToUpper() == "WISE") //判断同步模式是金蝶WISE { DAL.ClsKf_EntrustOutBackBill dal = new DAL.ClsKf_EntrustOutBackBill(); dal.omodel = oMain; //上传前必填项判断 if (oMain.HDeptID == 0) { sErrMsg = "部门没有选择!"; return false; } if (oMain.HSupID == 0) { sErrMsg = "加工单位没有选择!"; return false; } if (oMain.HSecManagerID == 0) { sErrMsg = "收料没有选择!"; return false; } if (oMain.HKeeperID == 0) { sErrMsg = "保管没有选择!"; return false; } //同步生成K3单据 if (sHSourceType == "-1") //无源单 { if (dal.AddBill_PDA_NoSource(ref sErrMsg)) { //"保存成功!"; return true; } else { //"保存失败!"; return false; } } else { sErrMsg = "没有找到对应的源单方法!"; return false; } } if (oSystemParameter.omodel.Kf_EntrustOutBackBill_ERPMode.ToUpper() == "CLOUD") //判断同步模式是金蝶CLOUD { } sErrMsg = "保存委外退料单失败!" + sErrMsg; return false; } #endregion #region 其他出库(红字) * /// /// 生成其他出库单(红字)K3 /// /// /// /// public bool SaveOtherOutBackBill_K3(Model.ClsKf_ICStockBillMain oMain, string sHSourceType, Pub_Class.ClsXt_SystemParameterMain oSystemParameterMain, ref string sErrMsg) { SQLHelper.ClsCN oCn = new SQLHelper.ClsCN(); DAL.ClsKf_OtherOutBackBill dal = new DAL.ClsKf_OtherOutBackBill(); dal.omodel = oMain; //上传前必填项判断 if (oMain.HDeptID == 0) { sErrMsg = "部门没有选择!"; return false; } if (oMain.HSecManagerID == 0) { sErrMsg = "收料没有选择!"; return false; } if (oMain.HKeeperID == 0) { sErrMsg = "保管没有选择!"; return false; } try { //判断会计期是否合理 string s = ""; int sYear = 0; int sPeriod = 0; if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(oMain.HDate, ref sYear, ref sPeriod, ref s) == false) { sErrMsg = s; return false; } oMain.HYear = sYear; oMain.HPeriod = sPeriod; DataSet Ds; oCn.BeginTran(); //生成出入库单据 //插入子表 oCn.RunProc("EXEC h_p_Kf_OtherOutBackBillSub_Insert_New " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "','" + sHSourceType + "'"); //插入主表 oCn.RunProc("Insert Into Kf_ICStockBillMain " + "(HBillType,HBillSubType,HInterID,HBillNo,HDate,HMainSourceBillType" + ",HYear,HPeriod,HRemark,HMaker,HMakeDate" + ",HSupID,HWHID,HSCWHID,HEmpID,HManagerID,HSecManagerID" + ",HKeeperID,HDeptID,HExplanation,HInnerBillNo,HRedBlueFlag" + ") " + " values('1249','1249'," + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "',convert(varchar(10),getdate(),120),'" + oMain.HMainSourceBillType + "'" + ", " + oMain.HYear.ToString() + "," + oMain.HPeriod.ToString() + ",'" + oMain.HRemark + "','" + oMain.HMaker + "',convert(varchar(10),getdate(),120)" + ", " + oMain.HSupID.ToString() + "," + oMain.HWHID.ToString() + "," + oMain.HSCWHID.ToString() + "," + oMain.HEmpID.ToString() + "," + oMain.HManagerID.ToString() + "," + oMain.HSecManagerID.ToString() + ", " + oMain.HKeeperID.ToString() + "," + oMain.HDeptID.ToString() + ",'" + oMain.HExplanation + "','" + oMain.HInnerBillNo + "'," + DBUtility.ClsPub.BoolToString(oMain.HRedBlueFlag) + ") "); //新增K3子表、主表 oCn.RunProc("exec h_p_IFK3_ToERP_OtherOutBackBill_Insert_New " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "'," + oMain.HBillerID.ToString() + ",'" + sHSourceType + "'"); //更新关联数量 //回填K3关联数量 oCn.RunProc("exec h_p_IFK3_ToERP_OtherOutBackBill_UpdateBillRelateData " + oMain.HInterID.ToString()); //判断库存更新控制状态(0为审核改变库存,1为保存改变库存) DataSet DS = oCn.RunProcReturn("exec h_p_IFK3_SaveUpdateStock ", "h_p_IFK3_SaveUpdateStock"); if (DS == null || DS.Tables[1].Rows.Count == 0) { sErrMsg = "判断库存更新控制状态,未知错误!"; oCn.RollBack(); return false; } else { if (DBUtility.ClsPub.isLong(DS.Tables[1].Rows[0][0]) == 1) { //更新K3库存 oCn.RunProc("exec h_p_IFK3_ToERP_OtherOutBackBill_UpdateStock " + oMain.HInterID.ToString()); oCn.RunProc("exec h_p_IFK3_ToERP_OtherOutBackBill_UpdateOrderStock " + oMain.HInterID.ToString()); //审核单据 if (oSystemParameterMain.Kf_OtherOutBackBill_AutoCheck == "Y") //系统参数 自动审核 { //审核单据 oCn.RunProc("Update Kf_ICStockBillMain Set HChecker='" + oMain.HMaker + "',HCheckDate=convert(varchar(10),getdate(),120) where HInterID= " + oMain.HInterID.ToString()); //审核K3单据 oCn.RunProc("exec h_p_IFK3_ToERP_OtherOutBackBill_Check " + oMain.HInterID.ToString() + "," + oMain.HBillerID.ToString()); } } else { //审核单据 if (oSystemParameterMain.Kf_OtherOutBackBill_AutoCheck == "Y") //系统参数 自动审核 { //审核单据 oCn.RunProc("Update Kf_ICStockBillMain Set HChecker='" + oMain.HMaker + "',HCheckDate=convert(varchar(10),getdate(),120) where HInterID= " + oMain.HInterID.ToString()); //审核K3单据 oCn.RunProc("exec h_p_IFK3_ToERP_OtherOutBackBill_Check " + oMain.HInterID.ToString() + "," + oMain.HBillerID.ToString()); //更新K3库存 oCn.RunProc("exec h_p_IFK3_ToERP_OtherOutBackBill_UpdateStock " + oMain.HInterID.ToString()); oCn.RunProc("exec h_p_IFK3_ToERP_OtherOutBackBill_UpdateOrderStock " + oMain.HInterID.ToString()); } } } sErrMsg = "新增单据成功!"; oCn.Commit(); return true; } catch (Exception e) { sErrMsg = "生成其他出库单(红字)失败!" + e.Message; oCn.RollBack(); return false; } } //生成其他出库单(红字) public bool set_SaveOtherOutBackBill_New(Model.ClsKf_ICStockBillMain oMain, string sHSourceType, ref string sErrMsg) { //获取系统参数 Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter(); if (oSystemParameter.ShowBill(ref sErrMsg) == false) { sErrMsg = "获取系统参数失败! " + sErrMsg; return false; } // if (oSystemParameter.omodel.Kf_OtherOutBackBill_ERPMode.ToUpper() == "WISE") //判断同步模式是金蝶WISE { if (SaveOtherOutBackBill_K3(oMain, sHSourceType, oSystemParameter.omodel, ref sErrMsg)) { //"保存成功!"; sErrMsg = "保存成功!" + oMain.HBillNo; return true; } else { //"保存失败!"; sErrMsg = sErrMsg; return false; } } if (oSystemParameter.omodel.Kf_OtherOutBackBill_ERPMode.ToUpper() == "CLOUD") //判断同步模式是金蝶CLOUD { return false; } sErrMsg = "保存其他出库单(红字)失败!" + sErrMsg; return false; } //生成其他出库单(红字) public bool set_SaveOtherOutBackBill(Model.ClsKf_ICStockBillMain oMain, string sHSourceType, ref string sErrMsg) { //获取系统参数 Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter(); if (oSystemParameter.ShowBill(ref sErrMsg) == false) { sErrMsg = "获取系统参数失败! " + sErrMsg; return false; } // if (oSystemParameter.omodel.Kf_OtherOutBackBill_ERPMode.ToUpper() == "WISE") //判断同步模式是金蝶WISE { DAL.ClsKf_OtherOutBackBill dal = new DAL.ClsKf_OtherOutBackBill(); dal.omodel = oMain; //上传前必填项判断 if (oMain.HDeptID == 0) { sErrMsg = "部门没有选择!"; return false; } if (oMain.HSecManagerID == 0) { sErrMsg = "收料没有选择!"; return false; } if (oMain.HKeeperID == 0) { sErrMsg = "保管没有选择!"; return false; } //同步生成K3单据 if (sHSourceType == "-1") //无源单 { if (dal.AddBill_PDA_NoSource(ref sErrMsg)) { //"保存成功!"; return true; } else { //"保存失败!"; return false; } } else { sErrMsg = "没有找到对应的源单方法!"; return false; } } if (oSystemParameter.omodel.Kf_OtherOutBackBill_ERPMode.ToUpper() == "CLOUD") //判断同步模式是金蝶CLOUD { } sErrMsg = "保存其他出库单(红字)失败!" + sErrMsg; return false; } #endregion #region 销售退库 销售出库(红字) * //生成销售退库单 public bool set_SaveSellOutBackBill(Model.ClsKf_ICStockBillMain oMain, string sHSourceType, ref string sErrMsg) { //获取系统参数 Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter(); if (oSystemParameter.ShowBill(ref sErrMsg) == false) { sErrMsg = "获取系统参数失败! " + sErrMsg; return false; } // if (oSystemParameter.omodel.Kf_SellOutBackBill_ERPMode.ToUpper() == "WISE") //判断同步模式是金蝶WISE { DAL.ClsKf_SellOutBackBill dal = new DAL.ClsKf_SellOutBackBill(); dal.omodel = oMain; //上传前必填项判断 if (oMain.HDeptID == 0) { sErrMsg = "部门没有选择!"; return false; } if (oMain.HSupID == 0) { sErrMsg = "客户没有选择!"; return false; } if (oMain.HSecManagerID == 0) { sErrMsg = "收货没有选择!"; return false; } if (oMain.HKeeperID == 0) { sErrMsg = "保管没有选择!"; return false; } //同步生成K3单据 if (sHSourceType == "-1") //无源单 { if (dal.AddBill_PDA_NoSource(ref sErrMsg)) { //"保存成功!"; return true; } else { //"保存失败!"; return false; } } else { sErrMsg = "没有找到对应的源单方法!"; return false; } } //if (oSystemParameter.omodel.Kf_SellOutBackBill_ERPMode.ToUpper() == "CLOUD") //判断同步模式是金蝶CLOUD //{ // if (set_SaveSellOutBackBill_CLD(oMain, "2222", oSystemParameter.omodel, ref sErrMsg) == true) // { // //"保存成功!"; // return true; // } // else // { // //"保存失败!"; // return false; // } //} sErrMsg = "保存销售退库单失败!" + sErrMsg; return false; } //生成销售退库单 public bool set_SaveSellOutBackBill_New(WebAPI.WebS.ClsKf_ICStockBillMain oMain, string sHSourceType, ref string sErrMsg) { WebS.WebService1 oWebs = new WebS.WebService1(); if (oWebs.set_SaveSellOutBackBill_New(oMain, sHSourceType, ref sErrMsg)) { //sErrMsg = "保存成功!" + oMain.HBillNo; return true; } else { sErrMsg = "单据号:" + oMain.HBillNo + ", 单据ID:" + oMain.HInterID + ";" + sErrMsg; return false; } //string sHBillNo = ""; ////获取系统参数 //Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter(); //if (oSystemParameter.ShowBill(ref sErrMsg) == false) //{ // sErrMsg = "获取系统参数失败! " + sErrMsg; // return false; //} //// //if (oSystemParameter.omodel.Kf_SellOutBackBill_ERPMode.ToUpper() == "WISE") //判断同步模式是金蝶WISE //{ // if (SaveSellOutBackBill_K3(oMain, sHSourceType, oSystemParameter.omodel, ref sErrMsg)) // { // //"保存成功!"; // sErrMsg = "保存成功!" + oMain.HBillNo; // return true; // } // else // { // //"保存失败!"; // sErrMsg = sErrMsg; // return false; // } //} //if (oSystemParameter.omodel.Kf_SellOutBackBill_ERPMode.ToUpper() == "CLOUD") //判断同步模式是金蝶CLOUD //{ // //if (set_SaveSellOutBackBill_CLD(oMain, sHSourceType, oSystemParameter.omodel, ref sErrMsg) == true) // //{ // // //"保存成功!"; // // return true; // //} // //else // //{ // //"保存失败!"; // return false; // //} //} //sErrMsg = "保存销售退库单失败!" + sErrMsg; //return false; } /// /// 生成销售退库单K3 1 /// /// /// /// public bool SaveSellOutBackBill_K3(Model.ClsKf_ICStockBillMain oMain, string sHSourceType, Pub_Class.ClsXt_SystemParameterMain oSystemParameterMain, ref string sErrMsg) { SQLHelper.ClsCN oCn = new SQLHelper.ClsCN(); DAL.ClsKf_SellOutBackBill dal = new DAL.ClsKf_SellOutBackBill(); dal.omodel = oMain; //上传前必填项判断 if (oMain.HDeptID == 0) { sErrMsg = "部门没有选择!"; return false; } if (oMain.HSupID == 0) { sErrMsg = "客户没有选择!"; return false; } if (oMain.HSecManagerID == 0) { sErrMsg = "收货没有选择!"; return false; } if (oMain.HKeeperID == 0) { sErrMsg = "保管没有选择!"; return false; } try { //判断会计期是否合理 string s = ""; int sYear = 0; int sPeriod = 0; if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(oMain.HDate, ref sYear, ref sPeriod, ref s) == false) { sErrMsg = s; return false; } oMain.HYear = sYear; oMain.HPeriod = sPeriod; DataSet Ds; oCn.BeginTran(); //生成出入库单据 //插入子表 oCn.RunProc("EXEC h_p_Kf_SellOutBackBillSub_Insert_New " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "','" + sHSourceType + "'"); //插入主表 oCn.RunProc("Insert Into Kf_ICStockBillMain " + "(HBillType,HBillSubType,HInterID,HBillNo,HDate,HMainSourceBillType" + ",HYear,HPeriod,HRemark,HMaker,HMakeDate" + ",HSupID,HWHID,HSCWHID,HEmpID,HManagerID,HSecManagerID" + ",HKeeperID,HDeptID,HExplanation,HInnerBillNo,HRedBlueFlag" + ") " + " values('1247','1247'," + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "',convert(varchar(10),getdate(),120),'" + oMain.HMainSourceBillType + "'" + ", " + oMain.HYear.ToString() + "," + oMain.HPeriod.ToString() + ",'" + oMain.HRemark + "','" + oMain.HMaker + "',convert(varchar(10),getdate(),120)" + ", " + oMain.HSupID.ToString() + "," + oMain.HWHID.ToString() + "," + oMain.HSCWHID.ToString() + "," + oMain.HEmpID.ToString() + "," + oMain.HManagerID.ToString() + "," + oMain.HSecManagerID.ToString() + ", " + oMain.HKeeperID.ToString() + "," + oMain.HDeptID.ToString() + ",'" + oMain.HExplanation + "','" + oMain.HInnerBillNo + "'," + DBUtility.ClsPub.BoolToString(oMain.HRedBlueFlag) + ") "); //新增K3子表、主表 oCn.RunProc("exec h_p_IFK3_ToERP_SellOutBackBill_Insert_New " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "'," + oMain.HBillerID.ToString() + ",'" + sHSourceType + "'"); //更新关联数量 if (sHSourceType == "1403") //退货通知单 { oCn.RunProc("exec h_p_Xs_UpDateRelation_SeOutStockBackToSellOutBack_Add " + oMain.HInterID.ToString()); //回填K3关联数量 oCn.RunProc("exec h_p_IFK3_ToERP_SellOutBackBill_UpdateBillRelateData_SeOutStockBack " + oMain.HInterID.ToString()); } else if (sHSourceType == "1205") //销售出库单-蓝字 { oCn.RunProc("exec h_p_Kf_UpDateRelation_SellOutToSellOutBack_Add " + oMain.HInterID.ToString()); //回填K3关联数量 oCn.RunProc("exec h_p_IFK3_ToERP_SellOutBackBill_UpdateBillRelateData_Blue " + oMain.HInterID.ToString()); } else if (sHSourceType == "1401") //销售订单 { oCn.RunProc("exec h_p_Xs_UpDateRelation_SeOrderToSellOutBack_Add " + oMain.HInterID.ToString()); //回填K3关联数量 oCn.RunProc("exec h_p_IFK3_ToERP_SellOutBackBill_UpdateBillRelateData_SeOrder " + oMain.HInterID.ToString()); } else //无源单 { //回填K3关联数量 oCn.RunProc("exec h_p_IFK3_ToERP_SellOutBackBill_UpdateBillRelateData " + oMain.HInterID.ToString()); } //判断库存更新控制状态(0为审核改变库存,1为保存改变库存) DataSet DS = oCn.RunProcReturn("exec h_p_IFK3_SaveUpdateStock ", "h_p_IFK3_SaveUpdateStock"); if (DS == null || DS.Tables[1].Rows.Count == 0) { sErrMsg = "判断库存更新控制状态,未知错误!"; oCn.RollBack(); return false; } else { if (DBUtility.ClsPub.isLong(DS.Tables[1].Rows[0][0]) == 1) { //更新K3库存 oCn.RunProc("exec h_p_IFK3_ToERP_SellOutBackBill_UpdateStock " + oMain.HInterID.ToString()); oCn.RunProc("exec h_p_IFK3_ToERP_SellOutBackBill_UpdateOrderStock " + oMain.HInterID.ToString()); //审核单据 if (oSystemParameterMain.Kf_SellOutBackBill_AutoCheck == "Y") //系统参数 自动审核 { //审核单据 oCn.RunProc("Update Kf_ICStockBillMain Set HChecker='" + oMain.HMaker + "',HCheckDate=convert(varchar(10),getdate(),120) where HInterID= " + oMain.HInterID.ToString()); //审核K3单据 oCn.RunProc("exec h_p_IFK3_ToERP_SellOutBackBill_Check " + oMain.HInterID.ToString() + "," + oMain.HBillerID.ToString()); } } else { //审核单据 if (oSystemParameterMain.Kf_SellOutBackBill_AutoCheck == "Y") //系统参数 自动审核 { //审核单据 oCn.RunProc("Update Kf_ICStockBillMain Set HChecker='" + oMain.HMaker + "',HCheckDate=convert(varchar(10),getdate(),120) where HInterID= " + oMain.HInterID.ToString()); //审核K3单据 oCn.RunProc("exec h_p_IFK3_ToERP_SellOutBackBill_Check " + oMain.HInterID.ToString() + "," + oMain.HBillerID.ToString()); //更新K3库存 oCn.RunProc("exec h_p_IFK3_ToERP_SellOutBackBill_UpdateStock " + oMain.HInterID.ToString()); oCn.RunProc("exec h_p_IFK3_ToERP_SellOutBackBill_UpdateOrderStock " + oMain.HInterID.ToString()); } } } //同步生成外购退料单 if (oSystemParameterMain.Kf_SellOutBackBill_AutoSavePOStockInBackBill == "Y") //系统参数 同步生成外购退料单 { //判断所登录用户账号是否绑定了对应供应商 DataSet Ds2 = oCn.RunProcReturn(" select HSupID from Gy_Czygl where Czymc= '" + oMain.HMaker + "'", "Gy_Czygl"); if (Ds2 == null || Ds2.Tables[0].Rows.Count == 0) { sErrMsg = "所登录用户账号不正确,请重新登录!"; oCn.RollBack(); return false; } else if (DBUtility.ClsPub.isLong(Ds2.Tables[0].Rows[0]["HSupID"]) == 0) { sErrMsg = "所登录用户账号没有绑定对应供应商,无法同步生成外购退料单,生成单据失败,请先设置对应供应商!"; oCn.RollBack(); return false; } long HNewInterID = DBUtility.ClsPub.CreateBillID_Prod("1239", ref sErrMsg); string HNewBillNo = DBUtility.ClsPub.CreateBillCode_Prod("1239", ref sErrMsg, true); string HNewSourceType = "-1"; //无源单 //新增ERP子表、主表 oCn.RunProc("exec h_p_Kf_SellOutBackBill_AutoSavePOStockInBackBill " + oMain.HInterID.ToString() + "," + HNewInterID + ",'" + HNewBillNo + "'"); //新增K3子表、主表 oCn.RunProc("exec h_p_IFK3_ToERP_POStockInBackBill_Insert_New " + HNewInterID + ",'" + HNewBillNo + "'," + oMain.HBillerID.ToString() + ",'" + HNewSourceType + "'"); //回填K3关联数量 oCn.RunProc("exec h_p_IFK3_ToERP_POStockInBackBill_UpdateBillRelateData " + HNewInterID); //审核单据 if (oSystemParameterMain.Kf_POStockInBackBill_AutoCheck == "Y") //系统参数 自动审核 { //审核单据 oCn.RunProc("Update Kf_ICStockBillMain Set HChecker='" + oMain.HMaker + "',HCheckDate=convert(varchar(10),getdate(),120) where HInterID= " + HNewInterID); //审核K3单据 oCn.RunProc("exec h_p_IFK3_ToERP_POStockInBackBill_Check " + HNewInterID + "," + oMain.HBillerID.ToString()); //更新K3库存 oCn.RunProc("exec h_p_IFK3_ToERP_POStockInBackBill_UpdateStock " + HNewInterID); oCn.RunProc("exec h_p_IFK3_ToERP_POStockInBackBill_UpdateOrderStock " + HNewInterID); } //K3负库存判断 if (oSystemParameterMain.WMS_ERPStockCtl == "Y") //系统参数 提交后ERP负库存控制 { //判断条码库存是否异常(负库存、库存大于条码初始化) Ds = oCn.RunProcReturn("EXEC h_p_KF_ICInventoryBarCodeQtyCtrl " + HNewInterID, "h_p_KF_ICInventoryBarCodeQtyCtrl"); if (DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0][0]) == 1) { } else { sErrMsg = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0][1]); oCn.RollBack(); return false; } } } sErrMsg = "新增单据成功!"; oCn.Commit(); return true; } catch (Exception e) { sErrMsg = "生成销售退库单失败!" + e.Message; oCn.RollBack(); return false; } } #endregion #region 扫描物料条码 存入出入库条码临时表 //扫描物料条码 保存到出入库条码临时表(物料) public bool set_SavePonderationBillMain_Temp_BarCode(string sBarCode, Int64 HBillID, string HBillType, string HBillNo, string HMaker, Int64 HWhID, Int64 HSPID, Double HQty, bool HRedBlueFlag, bool SourceFlag, string HSourceBillNo, string HSourceBillType, Int64 HOWNERID, ref string sHSourceBillNo, ref string sHSourceBillType, ref long sHSupID, ref string sHSupName, ref long sHDeptID, ref string sHDeptName, ref string sErrMsg) { SQLHelper.ClsCN oCn = new SQLHelper.ClsCN(); DAL.ClsKF_PonderationBillMain_Temp_Ctl tem = new DAL.ClsKF_PonderationBillMain_Temp_Ctl(); Model.ClsKF_PonderationBillMain_Temp model = new Model.ClsKF_PonderationBillMain_Temp(); double sRelQty = 0; string sRedBlue = "蓝字"; if (HRedBlueFlag) { sRedBlue = "红字"; } else { sRedBlue = "蓝字"; } //判断条码是否含特殊符号 # ,如果含有则 拆分 string[] NewBarCode; if (sBarCode.CompareTo("#") > 0) { NewBarCode = sBarCode.Split(Convert.ToChar("#")); sBarCode = NewBarCode[0]; } //蓝字产品入库、外购入库、委外入库,根据物料条码得到对应源单信息,非多源单模式 //未扫描源单的情况下,第一次扫描物料条码获取源单信息并存入临时表 //采购入库(1201)、产品入库(1202)、委外入库(1210) if (SourceFlag == false && (HBillType == "1201" || HBillType == "1202" || HBillType == "1210")) { //根据物料条码得到对应源单信息并将源单信息新增到条码出入库临时表,带出表头部门、供应商 DataSet ds1 = oCn.RunProcReturn("exec h_p_WMS_BarCode_SourceBillType " + HBillID.ToString() + ",'" + HBillType + "','" + sBarCode + "'", "h_p_WMS_BarCode_SourceBillType"); if (ds1 == null || ds1.Tables[0].Rows.Count == 0) { sErrMsg = "扫描物料条码后判断条码源单信息,未知错误!"; return false; } else { if (DBUtility.ClsPub.isLong(ds1.Tables[0].Rows[0][0]) == 0) { sHSourceBillType = DBUtility.ClsPub.isStrNull(ds1.Tables[0].Rows[0]["HSourceBillType"]); sHSourceBillNo = DBUtility.ClsPub.isStrNull(ds1.Tables[0].Rows[0]["HSourceBillNo"]); sHSupID = DBUtility.ClsPub.isLong(ds1.Tables[0].Rows[0]["HSupID"]); sHSupName = DBUtility.ClsPub.isStrNull(ds1.Tables[0].Rows[0]["HSupName"]); sHDeptID = DBUtility.ClsPub.isLong(ds1.Tables[0].Rows[0]["HDeptID"]); sHDeptName = DBUtility.ClsPub.isStrNull(ds1.Tables[0].Rows[0]["HDeptName"]); HSourceBillType = DBUtility.ClsPub.isStrNull(ds1.Tables[0].Rows[0]["HSourceBillType"]); //存在源单信息,将源单信息写入条码临时表 if (sHSourceBillNo != "") { // 将源单信息写入 临时缓存表 if (tem.AddNew_Source(HBillID, HBillNo, HBillType, sHSourceBillNo, sHSourceBillType, sRedBlue, ref sErrMsg)) { } else { sErrMsg = "扫描物料条码后保存源单信息失败!" + sErrMsg; return false; } } } else { sErrMsg = DBUtility.ClsPub.isStrNull(ds1.Tables[0].Rows[0]["HRemark"]); return false; } } } else { //无源单状态,设置源单类型为-1 if (SourceFlag == false) { //销售出库不允许无源单出库 if (HBillType == "1205") { sErrMsg = "不允许无源单出库,请先扫描源单!"; return false; } HSourceBillType = "-1"; } } //根据条码获取条码信息,存在相同物料时自动获取一行源单信息 DAL.ClsGy_BarCodeBill_View dal = new DAL.ClsGy_BarCodeBill_View(); if (dal.GetInfoByNumber_View(sBarCode)) { //获取TMP中的原单主内码和子内码 DataSet ds2 = oCn.RunProcReturn("exec h_p_WMS_GetBarCodeSourceInterID " + HBillID.ToString() + ",'" + sBarCode + "' ", "h_p_WMS_GetBarCodeSourceInterID"); if (ds2 == null || ds2.Tables[0].Rows.Count == 0) { sErrMsg = "扫描物料条码后有源单自动获取一行源单信息,未知错误!"; return false; } else { dal.omodel_View.HSourceBillNo = DBUtility.ClsPub.isStrNull(ds2.Tables[0].Rows[0]["HSourceBillNo"]); dal.omodel_View.HSourceEntryID = DBUtility.ClsPub.isLong(ds2.Tables[0].Rows[0]["HSourceEntryID"]); dal.omodel_View.HSourceInterID = DBUtility.ClsPub.isLong(ds2.Tables[0].Rows[0]["HSourceInterID"]); dal.omodel_View.HinitQty = DBUtility.ClsPub.isDoule(ds2.Tables[0].Rows[0]["HQtyMust"]); //所扫描物料条码的物料不属于该源单下 if (DBUtility.ClsPub.isLong(ds2.Tables[0].Rows[0][0]) != 0) { if (HSourceBillNo != "" && SourceFlag == true) { sErrMsg = "该物料并不存在于此明细信息中,请确认物料无误后重新扫描!"; return false; } } } } else { sErrMsg = "无效条码"; return false; } //获取条码数量 if (dal.omodel_View.HBarCodeType != "托盘条码") { if (dal.omodel_View.HBarCodeType == "唯一条码" && HQty > 0 && dal.omodel_View.HQty < HQty) { sRelQty = dal.omodel_View.HQty; } else if (HQty > 0) { sRelQty = HQty; } else { sRelQty = dal.omodel_View.HQty; } //采购入库(1201)、产品入库(1202)、其他入库蓝字(1203)、委外入库(1210) //生产退料(1244)、销售退库(1247)、其他出库红字(1249)、委外退料(1238) //生产领料(1204)、销售出库(1205)、其他出库蓝字(1206)、委外出库(1211) //外购退料(1239)、产品退库(1245)、其他入库红字(1248)、委外退库(1246) if (HBillType == "1204" || HBillType == "1205" || HBillType == "1206" || HBillType == "1211" || HBillType == "1239" || HBillType == "1245" || HBillType == "1248" || HBillType == "1246") { //非唯一条码扫描时判断仓库仓位是否已选择 if (dal.omodel_View.HBarCodeType != "唯一条码") { if (HWhID == 0) { sErrMsg = "仓库没有选择!"; return false; } else { //根据仓库ID,判断是否启用仓位 DataSet ds3 = oCn.RunProcReturn(" select HSPFlag from Gy_Warehouse where HItemID= " + HWhID.ToString(), "Gy_Warehouse"); //无返回数据则为物料条码 if (ds3 == null || ds3.Tables[0].Rows.Count == 0) { sErrMsg = "仓库内码错误!"; return false; } else if (HSPID == 0 && DBUtility.ClsPub.isBool(ds3.Tables[0].Rows[0]["HSPFlag"]) == true) { sErrMsg = "仓位没有选择!"; return false; } } } else { //判断条码库存 返回库存数量 仓库 仓位 DAL.ClsKF_PonderationBillMain_Temp_View Tempdal = new DAL.ClsKF_PonderationBillMain_Temp_View(); if (Tempdal.CheckQtyByBarCode(HBillID, HBillType, sBarCode, ref HWhID, ref HSPID, sRelQty, ref sRelQty)) { } else { if (sRelQty == 0) { sErrMsg = "无库存!"; return false; } else { sErrMsg = "库存不足,已获取实际库存数量!"; } } } } else { //判断并获取 仓库 仓位信息 DataSet ds4 = oCn.RunProcReturn("exec h_p_WMS_GetBillWHID " + HBillID.ToString() + ",'" + HBillType + "','" + sBarCode + "'," + HWhID.ToString() + "," + HSPID.ToString(), "h_p_WMS_GetBillWHID"); if (ds4 == null || ds4.Tables[0].Rows.Count == 0) { sErrMsg = "判断并获取仓库仓位信息,未知错误!"; return false; } else { if (DBUtility.ClsPub.isLong(ds4.Tables[0].Rows[0][0]) == 0) { HWhID = DBUtility.ClsPub.isLong(ds4.Tables[0].Rows[0]["HWHID"]); HSPID = DBUtility.ClsPub.isLong(ds4.Tables[0].Rows[0]["HSPID"]); } else { sErrMsg = DBUtility.ClsPub.isStrNull(ds4.Tables[0].Rows[0]["HRemark"]); return false; } } //判断条码扫描数量 返回剩余未扫描数量 if (tem.IsBarCode(sBarCode, HBillType, HRedBlueFlag, ref sRelQty, ref sErrMsg)) { } else { sErrMsg = sErrMsg; return false; } } } model.HInterID = HBillID; model.HBillNo = HBillNo; model.HBillType = HBillType; model.HMaker = HMaker; // model.HMaterID = dal.omodel_View.HMaterID; model.HAuxPropID = dal.omodel_View.HAuxPropID; model.HErpClsID = dal.omodel_View.HErpClsID; model.HQty = sRelQty; model.HQtyMust = dal.omodel_View.HinitQty; model.HBarCode = dal.omodel_View.HBarCode; model.HBatchNo = dal.omodel_View.HBatchNo; model.HMTONo = dal.omodel_View.HMTONo; model.HWhID = HWhID; model.HStockPlaceID = HSPID; model.HSourceInterID = dal.omodel_View.HSourceInterID; model.HSourceEntryID = dal.omodel_View.HSourceEntryID; model.HSourceBillNo = dal.omodel_View.HSourceBillNo; model.HSourceBillType = HSourceBillType; model.HRedBlueFlag = HRedBlueFlag; model.HPieceQty = 1; model.HSTOCKORGID = HOWNERID; model.HOWNERID = HOWNERID; //物料条码写入临时表时,判断仓库仓位是否正确 DataSet ds5 = oCn.RunProcReturn("exec h_p_WMS_CheckWHandSP " + HWhID.ToString() + "," + HSPID.ToString(), "h_p_WMS_CheckWHandSP"); if (ds5 == null || ds5.Tables[0].Rows.Count == 0) { sErrMsg = "扫描物料条码存入临时表时判断仓库仓位是否正确,未知错误!"; return false; } else { if (DBUtility.ClsPub.isLong(ds5.Tables[0].Rows[0][0]) == 1) { sErrMsg = DBUtility.ClsPub.isStrNull(ds5.Tables[0].Rows[0]["HRemark"]); return false; } } //将物料条码信息写入出入库条码临时表 if (set_SavePonderationBillMain_Temp_Select_Qty(model, HQty, ref sErrMsg)) { } else { sErrMsg = "扫描失败!" + sErrMsg; return false; } return true; } #endregion #region 扫描物料条码 根据物料条码得到对应源单信息 入库模块 //扫描物料条码 保存到出入库条码临时表(物料) 入库模块 public bool set_SavePonderationBillMain_Temp_BarCode_Fast(string sBarCode, Int64 HBillID, string HBillType, string HBillNo, string HMaker, Int64 HWhID, Int64 HSPID, Double HQty, bool HRedBlueFlag, bool SourceFlag, string HSourceBillNo, string HSourceBillType, Int64 HOWNERID, ref string sHSourceBillNo, ref string sHSourceBillType, ref long sHSupID, ref string sHSupName, ref long sHDeptID, ref string sHDeptName, ref string sErrMsg) { SQLHelper.ClsCN oCn = new SQLHelper.ClsCN(); DAL.ClsKF_PonderationBillMain_Temp_Ctl tem = new DAL.ClsKF_PonderationBillMain_Temp_Ctl(); Model.ClsKF_PonderationBillMain_Temp model = new Model.ClsKF_PonderationBillMain_Temp(); double sRelQty = 0; string sRedBlue = "蓝字"; if (HRedBlueFlag) { sRedBlue = "红字"; } else { sRedBlue = "蓝字"; } //判断条码是否含特殊符号 # ,如果含有则 拆分 string[] NewBarCode; if (sBarCode.CompareTo("#") > 0) { NewBarCode = sBarCode.Split(Convert.ToChar("#")); sBarCode = NewBarCode[0]; } //根据物料条码得到对应源单信息,非多源单模式,判断是否已有源单记录(单据类型=1203,其他入库单除外) if (SourceFlag || HBillType == "1203") { } else { //根据物料条码得到对应源单信息并将源单信息新增到条码出入库临时表,带出表头部门、供应商 DataSet ds = oCn.RunProcReturn("exec h_p_WMS_BarCode_SourceBillType " + HBillID.ToString() + ",'" + HBillType + "','" + sBarCode + "'", "h_p_WMS_BarCode_SourceBillType"); if (ds == null || ds.Tables[0].Rows.Count == 0) { sErrMsg = "扫描物料条码后判断条码源单信息,未知错误!"; return false; } else { if (DBUtility.ClsPub.isLong(ds.Tables[0].Rows[0][0]) == 0) { sHSourceBillType = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HSourceBillType"]); sHSourceBillNo = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HSourceBillNo"]); sHSupID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[0]["HSupID"]); sHSupName = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HSupName"]); sHDeptID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[0]["HDeptID"]); sHDeptName = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HDeptName"]); HSourceBillType = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HSourceBillType"]); //存在源单信息,将源单信息写入条码临时表 if (sHSourceBillNo != "") { // 将源单信息写入 临时缓存表 if (tem.AddNew_Source(HBillID, HBillNo, HBillType, sHSourceBillNo, sHSourceBillType, sRedBlue, ref sErrMsg)) { } else { sErrMsg = "扫描物料条码后保存源单信息失败!" + sErrMsg; return false; } } } else { sErrMsg = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HRemark"]); return false; } } } //根据条码获取条码信息,存在相同物料时自动获取一行源单信息 DAL.ClsGy_BarCodeBill_View dal = new DAL.ClsGy_BarCodeBill_View(); if (dal.GetInfoByNumber_View(sBarCode)) { //获取TMP中的原单主内码和子内码 DataSet ds2 = oCn.RunProcReturn("exec h_p_WMS_GetBarCodeSourceInterID " + HBillID.ToString() + ",'" + sBarCode + "' ", "h_p_WMS_GetBarCodeSourceInterID"); if (ds2 == null || ds2.Tables[0].Rows.Count == 0) { sErrMsg = "扫描物料条码后有源单自动获取一行源单信息,未知错误!"; return false; } else { dal.omodel_View.HSourceBillNo = DBUtility.ClsPub.isStrNull(ds2.Tables[0].Rows[0]["HSourceBillNo"]); dal.omodel_View.HSourceEntryID = DBUtility.ClsPub.isLong(ds2.Tables[0].Rows[0]["HSourceEntryID"]); dal.omodel_View.HSourceInterID = DBUtility.ClsPub.isLong(ds2.Tables[0].Rows[0]["HSourceInterID"]); dal.omodel_View.HinitQty = DBUtility.ClsPub.isDoule(ds2.Tables[0].Rows[0]["HQtyMust"]); //所扫描物料条码的物料不属于该源单下 if (DBUtility.ClsPub.isLong(ds2.Tables[0].Rows[0][0]) != 0) { if (HSourceBillNo != "" && SourceFlag == true) { sErrMsg = "该物料并不存在于此明细信息中,请确认物料无误后重新扫描!"; return false; } } } } else { sErrMsg = "无效条码"; return false; } //判断并获取 仓库 仓位信息 DataSet ds3 = oCn.RunProcReturn("exec h_p_WMS_GetBillWHID " + HBillID.ToString() + ",'" + HBillType + "','" + sBarCode + "'," + HWhID.ToString() + "," + HSPID.ToString(), "h_p_WMS_GetBillWHID"); if (ds3 == null || ds3.Tables[0].Rows.Count == 0) { sErrMsg = "判断并获取仓库仓位信息,未知错误!"; return false; } else { if (DBUtility.ClsPub.isLong(ds3.Tables[0].Rows[0][0]) == 0) { HWhID = DBUtility.ClsPub.isLong(ds3.Tables[0].Rows[0]["HWHID"]); HSPID = DBUtility.ClsPub.isLong(ds3.Tables[0].Rows[0]["HSPID"]); } else { sErrMsg = DBUtility.ClsPub.isStrNull(ds3.Tables[0].Rows[0]["HRemark"]); return false; } } //获取条码数量 if (dal.omodel_View.HBarCodeType != "托盘条码") { if (dal.omodel_View.HBarCodeType == "唯一条码" && HQty > 0 && dal.omodel_View.HQty < HQty) { sRelQty = dal.omodel_View.HQty; } else if (HQty > 0) { sRelQty = HQty; } else { sRelQty = dal.omodel_View.HQty; } if (HRedBlueFlag) { //判断条码库存 返回库存数量 仓库 仓位 DAL.ClsKF_PonderationBillMain_Temp_View Tempdal = new DAL.ClsKF_PonderationBillMain_Temp_View(); if (Tempdal.CheckQtyByBarCode(HBillID, HBillType, sBarCode, ref HWhID, ref HSPID, sRelQty, ref sRelQty)) { } else { if (sRelQty == 0) { sErrMsg = "无库存!"; return false; } else { sErrMsg = "库存不足,已获取实际库存数量!"; } } } else { //判断条码扫描数量 返回剩余未扫描数量 if (tem.IsBarCode(sBarCode, HBillType, HRedBlueFlag, ref sRelQty, ref sErrMsg)) { } else { sErrMsg = sErrMsg; return false; } } } model.HInterID = HBillID; model.HBillNo = HBillNo; model.HBillType = HBillType; model.HMaker = HMaker; // model.HMaterID = dal.omodel_View.HMaterID; model.HAuxPropID = dal.omodel_View.HAuxPropID; model.HErpClsID = dal.omodel_View.HErpClsID; model.HQty = sRelQty; model.HQtyMust = dal.omodel_View.HinitQty; model.HBarCode = dal.omodel_View.HBarCode; model.HBatchNo = dal.omodel_View.HBatchNo; model.HMTONo = dal.omodel_View.HMTONo; model.HWhID = HWhID; model.HStockPlaceID = HSPID; model.HSourceInterID = dal.omodel_View.HSourceInterID; model.HSourceEntryID = dal.omodel_View.HSourceEntryID; model.HSourceBillNo = dal.omodel_View.HSourceBillNo; model.HSourceBillType = HSourceBillType; model.HRedBlueFlag = HRedBlueFlag; model.HPieceQty = 1; model.HSTOCKORGID = HOWNERID; model.HOWNERID = HOWNERID; //将物料条码信息写入出入库条码临时表 if (set_SavePonderationBillMain_Temp_Select_Qty(model, HQty, ref sErrMsg)) { } else { sErrMsg = "扫描失败!" + sErrMsg; return false; } return true; } //扫描物料条码 保存到出入库条码临时表(物料) 出库模块 public bool set_SavePonderationBillMain_Temp_BarCode_OutFast(string sBarCode, Int64 HBillID, string HBillType, string HBillNo, string HMaker, Int64 HWhID, Int64 HSPID, Double HQty, bool HRedBlueFlag, bool SourceFlag, string HSourceBillNo, string HSourceBillType, Int64 HOWNERID, ref string sErrMsg) { SQLHelper.ClsCN oCn = new SQLHelper.ClsCN(); DAL.ClsKF_PonderationBillMain_Temp_Ctl tem = new DAL.ClsKF_PonderationBillMain_Temp_Ctl(); Model.ClsKF_PonderationBillMain_Temp model = new Model.ClsKF_PonderationBillMain_Temp(); double sRelQty = 0; //判断条码是否含特殊符号 # ,如果含有则 拆分 string[] NewBarCode; if (sBarCode.CompareTo("#") > 0) { NewBarCode = sBarCode.Split(Convert.ToChar("#")); sBarCode = NewBarCode[0]; } //根据条码获取条码信息,存在相同物料时自动获取一行源单信息 DAL.ClsGy_BarCodeBill_View dal = new DAL.ClsGy_BarCodeBill_View(); if (dal.GetInfoByNumber_View(sBarCode)) { //获取TMP中的原单主内码和子内码 DataSet ds2 = oCn.RunProcReturn("exec h_p_WMS_GetBarCodeSourceInterID " + HBillID.ToString() + ",'" + sBarCode + "' ", "h_p_WMS_GetBarCodeSourceInterID"); if (ds2 == null || ds2.Tables[0].Rows.Count == 0) { sErrMsg = "扫描物料条码后有源单自动获取一行源单信息,未知错误!"; return false; } else { dal.omodel_View.HSourceBillNo = DBUtility.ClsPub.isStrNull(ds2.Tables[0].Rows[0]["HSourceBillNo"]); dal.omodel_View.HSourceEntryID = DBUtility.ClsPub.isLong(ds2.Tables[0].Rows[0]["HSourceEntryID"]); dal.omodel_View.HSourceInterID = DBUtility.ClsPub.isLong(ds2.Tables[0].Rows[0]["HSourceInterID"]); dal.omodel_View.HinitQty = DBUtility.ClsPub.isDoule(ds2.Tables[0].Rows[0]["HQtyMust"]); //所扫描物料条码的物料不属于该源单下 if (DBUtility.ClsPub.isLong(ds2.Tables[0].Rows[0][0]) != 0) { if (HSourceBillNo != "" && SourceFlag == true && HSourceBillType != "-1") { sErrMsg = "该物料并不存在于此明细信息中,请确认物料无误后重新扫描!"; return false; } } } } else { sErrMsg = "无效条码"; return false; } //获取条码数量 if (dal.omodel_View.HBarCodeType != "托盘条码") { if (dal.omodel_View.HBarCodeType == "唯一条码" && HQty > 0 && dal.omodel_View.HQty < HQty) { sRelQty = dal.omodel_View.HQty; } else if (HQty > 0) { sRelQty = HQty; } else { sRelQty = dal.omodel_View.HQty; } if (HRedBlueFlag == false) { //非唯一条码扫描时判断仓库仓位是否已选择 if (dal.omodel_View.HBarCodeType != "唯一条码") { if (HWhID == 0) { sErrMsg = "仓库没有选择!"; return false; } else { //根据仓库ID,判断是否启用仓位 DataSet Dss = oCn.RunProcReturn(" select HSPFlag from Gy_Warehouse where HItemID= " + HWhID.ToString(), "Gy_Warehouse"); //无返回数据则为物料条码 if (Dss == null || Dss.Tables[0].Rows.Count == 0) { sErrMsg = "仓库内码错误!"; return false; } else if (HSPID == 0 && DBUtility.ClsPub.isBool(Dss.Tables[0].Rows[0]["HSPFlag"]) == true) { sErrMsg = "仓位没有选择!"; return false; } } } else { //判断条码库存 返回库存数量 仓库 仓位 DAL.ClsKF_PonderationBillMain_Temp_View Tempdal = new DAL.ClsKF_PonderationBillMain_Temp_View(); if (Tempdal.CheckQtyByBarCode(HBillID, HBillType, sBarCode, ref HWhID, ref HSPID, sRelQty, ref sRelQty)) { } else { if (sRelQty == 0) { sErrMsg = "无库存!"; return false; } else { sErrMsg = "库存不足,已获取实际库存数量!"; } } } } else { //判断并获取 仓库 仓位信息 DataSet ds3 = oCn.RunProcReturn("exec h_p_WMS_GetBillWHID " + HBillID.ToString() + ",'" + HBillType + "','" + sBarCode + "'," + HWhID.ToString() + "," + HSPID.ToString(), "h_p_WMS_GetBillWHID"); if (ds3 == null || ds3.Tables[0].Rows.Count == 0) { sErrMsg = "判断并获取仓库仓位信息,未知错误!"; return false; } else { if (DBUtility.ClsPub.isLong(ds3.Tables[0].Rows[0][0]) == 0) { HWhID = DBUtility.ClsPub.isLong(ds3.Tables[0].Rows[0]["HWHID"]); HSPID = DBUtility.ClsPub.isLong(ds3.Tables[0].Rows[0]["HSPID"]); } else { sErrMsg = DBUtility.ClsPub.isStrNull(ds3.Tables[0].Rows[0]["HRemark"]); return false; } } //判断条码扫描数量 返回剩余未扫描数量 if (tem.IsBarCode(sBarCode, HBillType, HRedBlueFlag, ref sRelQty, ref sErrMsg)) { } else { sErrMsg = sErrMsg; return false; } } } model.HInterID = HBillID; model.HBillNo = HBillNo; model.HBillType = HBillType; model.HMaker = HMaker; // model.HMaterID = dal.omodel_View.HMaterID; model.HAuxPropID = dal.omodel_View.HAuxPropID; model.HErpClsID = dal.omodel_View.HErpClsID; model.HQty = sRelQty; model.HQtyMust = dal.omodel_View.HinitQty; model.HBarCode = dal.omodel_View.HBarCode; model.HBatchNo = dal.omodel_View.HBatchNo; model.HMTONo = dal.omodel_View.HMTONo; model.HWhID = HWhID; model.HStockPlaceID = HSPID; model.HSourceInterID = dal.omodel_View.HSourceInterID; model.HSourceEntryID = dal.omodel_View.HSourceEntryID; model.HSourceBillNo = dal.omodel_View.HSourceBillNo; model.HSourceBillType = HSourceBillType; model.HRedBlueFlag = HRedBlueFlag; model.HPieceQty = 1; model.HSTOCKORGID = HOWNERID; model.HOWNERID = HOWNERID; //将物料条码信息写入出入库条码临时表 if (set_SavePonderationBillMain_Temp_Select_Qty(model, HQty, ref sErrMsg)) { } else { sErrMsg = "扫描失败!" + sErrMsg; return false; } return true; } #endregion #region 公用 //保存到出入库条码临时表(一张单据,存在相同物料) public bool set_SavePonderationBillMain_Temp_Select_Qty(Model.ClsKF_PonderationBillMain_Temp oMain, Double sQty, ref string sErrMsg) { BLL.ClsKF_PonderationBillMain_Temp bll = new ClsKF_PonderationBillMain_Temp(); return bll.set_SavePonderationBillMain_Temp_Select_Qty(oMain, sQty, ref sErrMsg); } //根据单据内码获取信息,用于缓存列表 public DataSet GetPonderationBill(long HInterID) { SQLHelper.ClsCN oCn = new SQLHelper.ClsCN(); // try { DataSet DS = oCn.RunProcReturn("select * from KF_PonderationBillMain_Temp where HInterID=" + HInterID.ToString(), "KF_PonderationBillMain_Temp", ref DBUtility.ClsPub.sExeReturnInfo); //DataSet DS = oCn.RunProcReturn("Select * from h_v_Sc_AssemblyBill Where HInterID=" + HInterID.ToString() + " and HBillType='" + sBillType + "' " + sWhere, "h_v_Sc_AssemblyBill", ref DBUtility.ClsPub.sExeReturnInfo); if (DS.Tables[0].Rows.Count == 0) return null; else { return DS; } } catch (Exception e) { throw (e); } } //根据托条码 获取条码档案列表唯一码信息 public DataSet GetBarCode(string HBarCode) { SQLHelper.ClsCN oCn = new SQLHelper.ClsCN(); // try { DataSet DS = oCn.RunProcReturn("select HBarCode,HQty from Sc_PackUnionBillSub where HBarCode_Pack ='" + HBarCode.ToString() + "'", "Sc_PackUnionBillSub", ref DBUtility.ClsPub.sExeReturnInfo); //DataSet DS = oCn.RunProcReturn("Select * from h_v_Sc_AssemblyBill Where HInterID=" + HInterID.ToString() + " and HBillType='" + sBillType + "' " + sWhere, "h_v_Sc_AssemblyBill", ref DBUtility.ClsPub.sExeReturnInfo); if (DS.Tables[0].Rows.Count == 0) return null; else { return DS; } } catch (Exception e) { throw (e); } } public DataSet GetHBW(long HBadType) { SQLHelper.ClsCN oCn = new SQLHelper.ClsCN(); // try { DataSet DS = oCn.RunProcReturn("select * from Gy_BadReason where HItemID=" + HBadType.ToString(), "Gy_BadReason", ref DBUtility.ClsPub.sExeReturnInfo); //DataSet DS = oCn.RunProcReturn("Select * from h_v_Sc_AssemblyBill Where HInterID=" + HInterID.ToString() + " and HBillType='" + sBillType + "' " + sWhere, "h_v_Sc_AssemblyBill", ref DBUtility.ClsPub.sExeReturnInfo); if (DS.Tables[0].Rows.Count == 0) return null; else { return DS; } } catch (Exception e) { throw (e); } } #endregion #region 调拨单 //返回出入库条码临时表 /// /// 返回出入库条码临时表 /// /// 过滤条件 /// public DataSet GetKf_PonderationBillMain_Temp_Sum(long HInterID, string sBillType, string sWhere) { DAL.ClsKF_PonderationBillMain_Temp_View dal = new DAL.ClsKF_PonderationBillMain_Temp_View(); return dal.GetInfoByID_View_Sum(HInterID, sBillType, sWhere); } public bool set_SaveMoveStockBill(WebAPI.WebS.ClsKf_MoveStockBillMain oMain, string sHSourceType, ref string sErrMsg) { WebS.WebService1 oWebs = new WebS.WebService1(); if (oWebs.set_SaveMoveStockBill(oMain, sHSourceType, ref sErrMsg)) { //sErrMsg = "保存成功!" + oMain.HBillNo; return true; } else { sErrMsg = "单据号:" + oMain.HBillNo + ", 单据ID:" + oMain.HInterID + ";" + sErrMsg; return false; } //DAL.ClsKf_MoveStockBill dal = new DAL.ClsKf_MoveStockBill(); //DAL.ClsKF_PonderationBillMain_Temp_View tmp = new DAL.ClsKF_PonderationBillMain_Temp_View(); //dal.omodel = oMain; ////判断扫描记录,是否按照先进先出规则 //if (!tmp.CheckICInventory_FIFO_Tmp(oMain.HInterID, oMain.HBillType, ref sErrMsg)) //{ // return false; //} ////获取系统参数 //Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter(); //if (oSystemParameter.ShowBill(ref sErrMsg) == false) //{ // sErrMsg = "获取系统参数失败! " + sErrMsg; // return false; //} //// //if (oSystemParameter.omodel.Kf_MoveStockBill_ERPMode.ToUpper() == "WISE") //判断同步模式是金蝶WISE //{ // //上传前必填项判断 // if (oMain.HSecManagerID == 0) // { // sErrMsg = "验收没有选择!"; // return false; // } // if (oMain.HKeeperID == 0) // { // sErrMsg = "保管没有选择!"; // return false; // } // //同步生成K3单据 // if (sHSourceType == "3720") // { // if (dal.AddBill_PDA(ref sErrMsg)) // { // //"保存成功!"; // return true; // } // else // { // //"保存失败!"; // return false; // } // } // else if (sHSourceType == "1402") // { // if (dal.AddBill_PDA_SeOutStock(ref sErrMsg)) // { // //"保存成功!"; // return true; // } // else // { // //"保存失败!"; // return false; // } // } // else if (sHSourceType == "1243") // { // if (dal.AddBill_PDA_MoveStockRequest(ref sErrMsg)) // { // //"保存成功!"; // return true; // } // else // { // //"保存失败!"; // return false; // } // } // else // { // if (dal.AddBill_PDA(ref sErrMsg)) // { // //"保存成功!"; // return true; // } // else // { // //"保存失败!"; // return false; // } // } //} //if (oSystemParameter.omodel.Kf_MoveStockBill_ERPMode.ToUpper() == "CLOUD") //判断同步模式是金蝶CLOUD //{ // //if (set_SaveMoveBill_CLD(oMain, sHSourceType, oSystemParameter.omodel, ref sErrMsg) == true) // //{ // // //"保存成功!"; // // return true; // //} // //else // //{ // // //"保存失败!"; // // return false; // //} //} //sErrMsg = "保存调拨单失败!" + sErrMsg; //return false; } //public bool set_SaveMoveStockBill_PD(WebAPI.WebS.ClsKf_MoveStockBillMain oMain, string sHSourceType, ref string sErrMsg) //{ // WebS.WebService1 oWebs = new WebS.WebService1(); // if (oWebs.set_SaveMoveStockBill_PD(oMain, sHSourceType, ref sErrMsg)) // { // sErrMsg = "保存成功!" + oMain.HBillNo; // return true; // } // else // { // sErrMsg = "单据号:" + oMain.HBillNo + ", 单据ID:" + oMain.HInterID + ";" + sErrMsg; // return false; // } //} public bool set_MoveStockStepOutBill(WebAPI.WebS.ClsKf_MoveStockStepOutBillMain oMain, string sHSourceType, ref string sErrMsg) { WebS.WebService1 oWebs = new WebS.WebService1(); if (oWebs.set_SaveMoveStockStepOutBill_New(oMain, sHSourceType, ref sErrMsg)) { //sErrMsg = "保存成功!" + oMain.HBillNo; return true; } else { sErrMsg = "单据号:" + oMain.HBillNo + ", 单据ID:" + oMain.HInterID + ";" + sErrMsg; return false; } } //删除记录 public bool set_DelPonderationBillMain_Temp_InterIDAndSource(long HInterID, long HMaterID, long HAuxPropID, string HMTONo, long HSourceInterID, long HSourceEntryID, string sHBillType, ref string sErrMsg) { BLL.ClsKF_PonderationBillMain_Temp bll = new ClsKF_PonderationBillMain_Temp(); return bll.set_DelPonderationBillMain_Temp_InterIDAndSource(HInterID, HMaterID, HAuxPropID, HMTONo, HSourceInterID, HSourceEntryID, sHBillType, ref DBUtility.ClsPub.sExeReturnInfo); //DAL.ClsKF_PonderationBillMain_Temp_Ctl dal = new DAL.ClsKF_PonderationBillMain_Temp_Ctl(); //if (dal.DeleteByInterIDAndSource(HInterID, HMaterID, HAuxPropID, HMTONo, HSourceInterID, HSourceEntryID, sHBillType)) //{ // sErrMsg = "删除成功!"; // return true; //} //else //{ // sErrMsg = "删除失败!"; // return false; //} } //删除缓存列表单据 同步资料 public bool DeleteBillList(Int64 sHInterID, ref string sErrMsg) { DAL.ClsKF_PonderationBillMain_Temp_Ctl dal = new DAL.ClsKF_PonderationBillMain_Temp_Ctl(); if (dal.DeleteBillList(sHInterID)) { sErrMsg = "删除成功!"; return true; } else { sErrMsg = "删除失败!"; return false; } } //删除单据临时表信息 public bool DeleteBill_AN(long HInterID, long HMaterID, long HAuxPropID, string HMTONo, long HSourceInterID, long HSourceEntryID, string sHBillType, ref string sErrMsg) { //DAL.ClsKF_PonderationBillMain_Temp_Ctl dal = new DAL.ClsKF_PonderationBillMain_Temp_Ctl(); //if (dal.DeleteByInterIDAndSource(HInterID, HMaterID, HAuxPropID, HMTONo, HSourceInterID, HSourceEntryID, sHBillType)) //{ // sErrMsg = "删除成功!"; // return true; //} //else //{ // sErrMsg = "删除失败!"; // return false; //} WebS.WebService1 oWebs = new WebS.WebService1(); if (oWebs.set_DelPonderationBillMain_Temp_InterIDAndSource(HInterID, HMaterID, HAuxPropID, HMTONo, HSourceInterID, HSourceEntryID, sHBillType, ref DBUtility.ClsPub.sErrInfo)) { sErrMsg = "删除成功!"; return true; } else { sErrMsg = "删除失败!"; return false; } //if (WebSoBar == null) //{ // objJsonResult.code = "0"; // objJsonResult.count = 0; // objJsonResult.Message = DBUtility.ClsPub.sErrInfo; // objJsonResult.data = null; // return objJsonResult; //} //else //{ // objJsonResult.code = "0"; // objJsonResult.count = 1; // objJsonResult.Message = DBUtility.ClsPub.sErrInfo; // objJsonResult.data = WebSoBar; // return objJsonResult; //} } //删除单据临时表信息 public bool DeleteBill(Int64 sHInterID, string HBillNo, string HBillType, string HBarCode, ref string sErrMsg) { DAL.ClsKF_PonderationBillMain_Temp_Ctl dal = new DAL.ClsKF_PonderationBillMain_Temp_Ctl(); if (dal.DeleteBill(sHInterID, HBillNo, HBillType, HBarCode)) { sErrMsg = "删除成功!"; return true; } else { sErrMsg = "删除失败!"; return false; } } //public Model.ClsGy_BarCodeBill_WMS_Model_View get_InfoByBarCode_Source(string sBarCode, Int64 sInterID, ref bool sBool, ref string sErrMsg) //{ // SQLHelper.ClsCN oCN = new SQLHelper.ClsCN(); // DAL.ClsGy_BarCodeBill_View dal = new DAL.ClsGy_BarCodeBill_View(); // if (dal.GetInfoByNumber_View(sBarCode)) // { // sErrMsg = ""; // //-------------获取TMP中的原单主内码和子内码 // DataSet ds = oCN.RunProcReturn("exec h_p_WMS_GetBarCodeSourceInterID " + sInterID.ToString() + ",'" + sBarCode + "' ", "h_p_WMS_GetBarCodeSourceInterID"); // if (ds == null || ds.Tables[0].Rows.Count == 0) // { // } // else // { // if (DBUtility.ClsPub.isLong(ds.Tables[0].Rows[0][0]) == 0) // { // dal.omodel_View.HSourceBillNo = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HSourceBillNo"]); // dal.omodel_View.HSourceEntryID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[0]["HSourceEntryID"]); // dal.omodel_View.HSourceInterID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[0]["HSourceInterID"]); // dal.omodel_View.HinitQty = DBUtility.ClsPub.isDoule(ds.Tables[0].Rows[0]["HQtyMust"]); // sBool = true; // } // } // return dal.omodel_View; // } // else // { // sErrMsg = "无效条码"; // return null; // } //} #endregion #region 外购入库 /// /// //扫码入库时获取仓库仓位信息 /// /// /// /// /// /// /// /// /// /// public bool Get_CheckWhAndSP(Int64 sHInterID, string sHBillType, string sBarCode, Int64 sHWHID, Int64 sHSPID, ref Int64 HWHID, ref Int64 HSPID, ref string sErrMsg) { SQLHelper.ClsCN oCN = new SQLHelper.ClsCN(); DataSet ds = oCN.RunProcReturn("exec h_p_WMS_GetBillWHID " + sHInterID.ToString() + ",'" + sHBillType + "','" + sBarCode + "'," + sHWHID.ToString() + "," + sHSPID.ToString(), "h_p_WMS_GetBillWHID"); if (ds == null || ds.Tables[0].Rows.Count == 0) { sErrMsg = "未知错误!"; return false; } else { if (DBUtility.ClsPub.isLong(ds.Tables[0].Rows[0][0]) == 0) { HWHID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[0]["HWHID"]); HSPID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[0]["HSPID"]); sErrMsg = ""; return true; } else if (DBUtility.ClsPub.isLong(ds.Tables[0].Rows[0][0]) == 1) { sErrMsg = "仓位没有选择,请先选择仓位!"; return false; } else if (DBUtility.ClsPub.isLong(ds.Tables[0].Rows[0][0]) == 2) { sErrMsg = "所选仓位不在该仓库下,请重新选择!"; return false; } else if (DBUtility.ClsPub.isLong(ds.Tables[0].Rows[0][0]) == 6) { sErrMsg = "物料默认仓位没有设置,请在物料基础资料中维护仓位信息!"; return false; } else if (DBUtility.ClsPub.isLong(ds.Tables[0].Rows[0][0]) == 7) { sErrMsg = "物料默认仓位信息设置错误,获取仓位信息失败,请在物料基础资料中设置正确仓位信息!"; return false; } else if (DBUtility.ClsPub.isLong(ds.Tables[0].Rows[0][0]) == 8) { sErrMsg = "物料默认仓库信息设置错误,获取仓库信息失败,请在物料基础资料中设置正确仓库信息!"; return false; } else if (DBUtility.ClsPub.isLong(ds.Tables[0].Rows[0][0]) == 9) { sErrMsg = "仓库没有选择,请先选择仓库!或在物料基础资料中维护相应仓库、仓位信息!"; return false; } else { sErrMsg = "未知错误2!"; return false; } } } /// /// //保存到出入库条码临时表(原单) 根据源单单号 批量新增源单信息 /// /// /// /// /// /// /// /// /// /// /// /// /// /// public bool set_SavePonderationBillMain_Temp_Source_SourceBillType(long sHInterID, string sBillNo, string sHBillType, string sBarCode, string sRedBlueflag, ref string sSourceBillNo, ref string sSourceTypeName, ref long sHSupID, ref string sHSupName, ref long sHDeptID, ref string sHDeptName, ref string sErrMsg) { DAL.ClsKF_PonderationBillMain_Temp_Ctl dal = new DAL.ClsKF_PonderationBillMain_Temp_Ctl(); SQLHelper.ClsCN oCN = new SQLHelper.ClsCN(); string sSourceBillType; DataSet ds = oCN.RunProcReturn("exec h_p_WMS_BarCode_SourceBillType " + sHInterID.ToString() + ",'" + sHBillType + "','" + sBarCode + "'", "h_p_WMS_BarCode_SourceBillType"); if (ds == null || ds.Tables[0].Rows.Count == 0) { sErrMsg = "扫描物料条码后判断条码源单信息,未知错误!"; return false; } else { if (DBUtility.ClsPub.isLong(ds.Tables[0].Rows[0][0]) == 0) { sSourceTypeName = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HSourceTypeName"]); sSourceBillType = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HSourceBillType"]); sSourceBillNo = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HSourceBillNo"]); sHSupID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[0]["HSupID"]); sHSupName = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HSupName"]); sHDeptID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[0]["HDeptID"]); sHDeptName = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HDeptName"]); if (sSourceBillNo == "") { sErrMsg = ""; return true; } else { if (dal.AddNew_Source(sHInterID, sBillNo, sHBillType, sSourceBillNo, sSourceBillType, sRedBlueflag, ref sErrMsg)) { sErrMsg = ""; return true; } else { sErrMsg = "扫描物料条码后保存源单信息失败!" + sErrMsg; return false; } } } else if (DBUtility.ClsPub.isLong(ds.Tables[0].Rows[0][0]) == 1201) { sErrMsg = "所扫描的物料条码源单类型不在外购入库模块的源单类型中,请确认入库扫码模块是否正确!"; return false; } else if (DBUtility.ClsPub.isLong(ds.Tables[0].Rows[0][0]) == 1202) { sErrMsg = "所扫描的物料条码源单类型不在产品入库模块的源单类型中,请确认入库扫码模块是否正确!"; return false; } else if (DBUtility.ClsPub.isLong(ds.Tables[0].Rows[0][0]) == 1210) { sErrMsg = "所扫描的物料条码源单类型不在委外入库模块的源单类型中,请确认入库扫码模块是否正确!"; return false; } else { sErrMsg = "扫描物料条码后判断条码源单信息,未知错误2!"; return false; } } } /// /// 返回收料通知单列表 /// /// /// public DataSet GetCg_PoInStockBillList(string sWhere) { BLL.ClsKf_POStockInBill bll = new BLL.ClsKf_POStockInBill(); return bll.GetCg_POInStockBillList(sWhere,ref DBUtility.ClsPub.sExeReturnInfo); } public DataSet GetCg_POOrderBillList(string sWhere) { BLL.ClsKf_POStockInBill bll = new BLL.ClsKf_POStockInBill(); return bll.GetCg_POOrderBillList(sWhere, ref DBUtility.ClsPub.sExeReturnInfo); } /// /// //保存到出入库条码临时表(原单) 根据源单单号 批量新增源单信息 /// /// /// /// /// /// /// /// /// public bool set_SavePonderationBillMain_Temp_Source_Fast(long sNewInterID, string sNewBillNo, string sNewBillType, string sSourceBillNo, string sSourceBillType, string sRedBlueflag, ref string sErrInfo) { BLL.ClsKF_PonderationBillMain_Temp bll = new ClsKF_PonderationBillMain_Temp(); return bll.set_SavePonderationBillMain_Temp_Source_Fast(sNewInterID, sNewBillNo, sNewBillType, sSourceBillNo, sSourceBillType, sRedBlueflag, ref DBUtility.ClsPub.sErrInfo); //DAL.ClsKF_PonderationBillMain_Temp_Ctl dal = new DAL.ClsKF_PonderationBillMain_Temp_Ctl(); //if (dal.AddNew_Source(sNewInterID, sNewBillNo, sNewBillType, sSourceBillNo, sSourceBillType, sRedBlueflag, ref sErrMsg)) //{ // //sErrMsg = "保存成功!"; // return true; //} //else //{ // //sErrMsg = "输入源单信息不准确,请输入较完整的单据号!"; // return false; //} } /// /// 返回出入库条码临时表 /// /// /// Web/GetMAXNum public DataSet GetKf_PonderationBillMain_Temp(long HInterID, string sBillType, string sWhere) { BLL.ClsKF_PonderationBillMain_Temp bll = new ClsKF_PonderationBillMain_Temp(); return bll.GetKf_PonderationBillMain_Temp(HInterID, sBillType,sWhere,ref DBUtility.ClsPub.sExeReturnInfo); //DAL.ClsKF_PonderationBillMain_Temp_View dal = new DAL.ClsKF_PonderationBillMain_Temp_View(); //return dal.GetInfoByID_View(HInterID, sBillType, sWhere); } public bool Get_CheckQtyByBarCode(string sBarcode, long HWHID, long HSPID, long HAuxPropID, string sBatchNo, string HMTONo, double sQty, ref double sRelQty) { DAL.ClsKF_PonderationBillMain_Temp_View dal = new DAL.ClsKF_PonderationBillMain_Temp_View(); if (dal.CheckQtyByBarCode(sBarcode, HWHID, HSPID, HAuxPropID, sBatchNo, HMTONo, sQty, ref sRelQty)) { return true; } else { return false; } } public DataSet GetSPInfoByIDandHWHIDandOrg(long sItemID, long sHWHID, long HUSEORGID, ref string sErrMsg) { BLL.ClsIF_StockPlace_View bll = new BLL.ClsIF_StockPlace_View(); return bll.GetInfoByID(sItemID, sHWHID, HUSEORGID); //DAL.ClsKF_PonderationBillMain_Temp_View dal = new DAL.ClsKF_PonderationBillMain_Temp_View(); //return dal.GetInfoByID_View(HInterID, sBillType, sWhere); } //返回出入库条码临时表(领料出库简洁版) /// /// 返回出入库条码临时表(领料出库简洁版) /// /// 过滤条件 /// public DataSet GetKf_PonderationBillMain_Temp_New(long HInterID, string sBillType, string sWhere) { SQLHelper.ClsCN oCn = new SQLHelper.ClsCN(); DataSet DS = oCn.RunProcReturn("exec h_p_KF_PonderationBillMain_TempList " + HInterID.ToString() + ",'" + sBillType + "','" + sWhere + "'", "h_p_KF_PonderationBillMain_TempList"); if (DS == null || DS.Tables[0].Rows.Count == 0) { return null; } else { return DS; } } /// /// 根据条码得到相应信息(条码档案) /// /// /// /// /// /// public Model.ClsGy_BarCodeBill_WMS_Model_View get_InfoByBarCode_Source(string sBarCode, Int64 sInterID, ref bool sBool, ref string sErrMsg) { BLL.ClsGy_BarCodeBill_View bll = new BLL.ClsGy_BarCodeBill_View(); return bll.get_InfoByBarCode_Source(sBarCode, sInterID,ref sBool,ref sErrMsg); //SQLHelper.ClsCN oCN = new SQLHelper.ClsCN(); //DAL.ClsGy_BarCodeBill_View dal = new DAL.ClsGy_BarCodeBill_View(); //if (dal.GetInfoByNumber_View(sBarCode)) //{ // sErrMsg = ""; // //-------------获取TMP中的原单主内码和子内码 // DataSet ds = oCN.RunProcReturn("exec h_p_WMS_GetBarCodeSourceInterID " + sInterID.ToString() + ",'" + sBarCode + "' ", "h_p_WMS_GetBarCodeSourceInterID"); // if (ds == null || ds.Tables[0].Rows.Count == 0) // { // } // else // { // if (DBUtility.ClsPub.isLong(ds.Tables[0].Rows[0][0]) == 0) // { // dal.omodel_View.HSourceBillNo = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HSourceBillNo"]); // dal.omodel_View.HSourceEntryID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[0]["HSourceEntryID"]); // dal.omodel_View.HSourceInterID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[0]["HSourceInterID"]); // dal.omodel_View.HinitQty = DBUtility.ClsPub.isDoule(ds.Tables[0].Rows[0]["HQtyMust"]); // sBool = true; // } // } // return dal.omodel_View; //} //else //{ // sErrMsg = "无效条码"; // return null; //} } /// /// 保存到出入库条码临时表 /// /// /// /// /// public bool set_SavePonderationBillMain_Temp_Qty(Model.ClsKF_PonderationBillMain_Temp oMain, Double sQty, ref string sErrMsg) { BLL.ClsKF_PonderationBillMain_Temp bll = new BLL.ClsKF_PonderationBillMain_Temp(); return bll.set_SavePonderationBillMain_Temp_Qty(oMain,sQty,ref sErrMsg); //DAL.ClsKF_PonderationBillMain_Temp_Ctl dal = new DAL.ClsKF_PonderationBillMain_Temp_Ctl(); //DAL.ClsGy_BarCodeBill_View oBar = new DAL.ClsGy_BarCodeBill_View(); //dal.oModel = oMain; //if (!oBar.GetInfoByNumber_View(oMain.HBarCode)) //{ // sErrMsg = "无效条码"; // return false; //} //else //{ // if (oBar.omodel_View.HBarCodeType == "托盘条码") // { // if (!dal.IsBarCode_Pack(oMain.HBarCode, oMain.HInterID, oMain.HBillType)) // { // sErrMsg = "存在相同条码,请勿重复扫描!"; // return false; // } // if (dal.AddNew_More(ref sErrMsg)) // { // //sErrMsg = "保存成功!"; // return true; // } // else // { // //sErrMsg = "保存失败!"; // return false; // } // } // else // { // if (oBar.omodel_View.HBarCodeType == "唯一条码") // { // if (!dal.IsBarCode(oMain.HBarCode, oMain.HInterID, oMain.HErpClsID, oMain.HBillType)) // { // sErrMsg = "存在相同条码,请勿重复扫描!"; // return false; // } // //判断条码临时表中是否存在(调拨单同一条码相同调入调出仓库仓位只允许扫描一次,销售出库同一条码同一仓库仓位只允许扫描一次) 丸井 // //if (!dal.IsBarCode(oMain.HBarCode, oMain.HInterID, oMain.HErpClsID, oMain.HBillType,oMain.HWhID,oMain.HStockPlaceID,oMain.HSCWHID,oMain.HOutStockPlaceID,oMain.)) // //{ // // sErrMsg = "存在相同条码,请勿重复扫描!"; // // return false; // //} // } // if (dal.AddNew_sQty(sQty, ref sErrMsg)) // { // //sErrMsg = "保存成功!"; // return true; // } // else // { // //sErrMsg = "保存失败!"; // return false; // } // } //} //dal.oCn.CnClose(); //dal.oCn.CnDispose(); //oBar. } //返回缓存列表信息 同步资料 public DataSet GetKf_PonderationBillMain_TempList_New(string sHBillType, string sHMaker, Int64 sHOWNERID) { DAL.ClsKF_PonderationBillMain_Temp_View dal = new DAL.ClsKF_PonderationBillMain_Temp_View(); return dal.GetKf_PonderationBillMain_TempList_New(sHBillType, sHMaker, sHOWNERID); } //返回缓存列表信息 同步资料 public DataSet GetKf_PonderationBillMain_TempList(string sHBillType, string sWhere) { DAL.ClsKF_PonderationBillMain_Temp_View dal = new DAL.ClsKF_PonderationBillMain_Temp_View(); return dal.GetKf_PonderationBillMain_TempList(sHBillType, sWhere); } /// /// 生成外购入库单 /// /// /// /// /// public bool set_SavePOStockInBill(Model.ClsKf_POStockInBillMain oMain, string sHSourceType, ref string sErrMsg) { DAL.ClsKf_POStockInBill dal = new DAL.ClsKf_POStockInBill(); dal.omodel = oMain; if (sHSourceType == "1103") //收料通知单 { if (dal.AddBill_PDA(ref sErrMsg)) { //"保存成功!"; return true; } else { //"保存失败!"; return false; } } else if (sHSourceType == "1102") //采购订单 { if (dal.AddBill_PDA_POOrder(ref sErrMsg)) { //"保存成功!"; return true; } else { //"保存失败!"; return false; } } else { return false; } } public bool set_SavePOStockInBill_New(WebAPI.WebS.ClsKf_POStockInBillMain oMain, string sHSourceType, ref string sErrMsg) { //BLL.ClsKf_POStockInBill bll = new BLL.ClsKf_POStockInBill(); //return bll.set_SavePOStockInBill_New(oMain, sHSourceType, ref DBUtility.ClsPub.sExeReturnInfo); WebS.WebService1 oWebs = new WebS.WebService1(); if (oWebs.set_SavePOStockInBill_New(oMain, sHSourceType, ref sErrMsg)) { //判断是否反写成功 if (set_UpdateHStatus(oMain.HInterID, oMain.HExplanation.ToString())) { //sErrMsg = "保存成功!" + oMain.HBillNo; return true; } else { //sErrMsg = "保存成功!" + oMain.HBillNo + "状态反写失败!"; return true; } } else { sErrMsg = "单据号:" + oMain.HBillNo + ", 单据ID:" + oMain.HInterID + ";" + sErrMsg; return false; } } public bool set_SaveICMOReportBill_Json(WebAPI.WebS.ClsSc_ICMOReportBillMain oMain, string sHSourceType, ref string sErrMsg) { //BLL.ClsKf_POStockInBill bll = new BLL.ClsKf_POStockInBill(); //return bll.set_SavePOStockInBill_New(oMain, sHSourceType, ref DBUtility.ClsPub.sExeReturnInfo); WebS.WebService1 oWebs = new WebS.WebService1(); if (oWebs.set_SaveICMOReportBill_New(oMain, sHSourceType, ref sErrMsg)) { //判断是否反写成功 //if (set_UpdateHStatus(oMain.HInterID, oMain.HExplanation.ToString())) //{ sErrMsg = "保存成功!" + oMain.HBillNo; return true; //} //else //{ // sErrMsg = "保存成功!" + oMain.HBillNo + "状态反写失败!"; // return true; //} } else { sErrMsg = "单据号:" + oMain.HBillNo + ", 单据ID:" + oMain.HInterID + ";" + sErrMsg; return false; } } //public bool set_SavePOInStockBill_NEW_Json(WebAPI.WebS.ClsCg_POInStockBillMain oMain, ref string sErrMsg) //{ // //BLL.ClsKf_POStockInBill bll = new BLL.ClsKf_POStockInBill(); // //return bll.set_SavePOStockInBill_New(oMain, sHSourceType, ref DBUtility.ClsPub.sExeReturnInfo); // WebS.WebService1 oWebs = new WebS.WebService1(); // if (oWebs.set_SavePOInStockBill_Json(oMain, ref sErrMsg)) // { // //判断是否反写成功 // //if (set_UpdateHStatus(oMain.HInterID, oMain.HExplanation.ToString())) // //{ // sErrMsg = "保存成功!" + oMain.HBillNo; // return true; // //} // //else // //{ // // sErrMsg = "保存成功!" + oMain.HBillNo + "状态反写失败!"; // // return true; // //} // } // else // { // sErrMsg = "单据号:" + oMain.HBillNo + ", 单据ID:" + oMain.HInterID + ";" + sErrMsg; // return false; // } //} /// /// 生成外购入库单K3 /// /// /// /// public bool SavePOStockInBill_K3(Model.ClsKf_POStockInBillMain oMain, string sHSourceType, Pub_Class.ClsXt_SystemParameterMain oSystemParameterMain, ref string sErrMsg) { SQLHelper.ClsCN oCn = new SQLHelper.ClsCN(); DAL.ClsKf_POStockInBill dal = new DAL.ClsKf_POStockInBill(); dal.omodel = oMain; //上传前必填项判断 if (oMain.HDeptID == 0) { sErrMsg = "部门没有选择!"; return false; } if (oMain.HSupID == 0) { sErrMsg = "供应商没有选择!"; return false; } if (oMain.HSecManagerID == 0) { sErrMsg = "验收没有选择!"; return false; } if (oMain.HKeeperID == 0) { sErrMsg = "保管没有选择!"; return false; } try { //判断会计期是否合理 string s = ""; int sYear = 0; int sPeriod = 0; if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(oMain.HDate, ref sYear, ref sPeriod, ref s) == false) { sErrMsg = s; return false; } oMain.HYear = sYear; oMain.HPeriod = sPeriod; DataSet Ds; oCn.BeginTran(); //生成出入库单据 //插入子表 oCn.RunProc("EXEC h_p_Kf_POStockInBillSub_Insert_New " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "','" + sHSourceType + "'"); //插入主表 oCn.RunProc("Insert Into Kf_ICStockBillMain " + "(HBillType,HBillSubType,HInterID,HBillNo,HDate,HMainSourceBillType" + ",HYear,HPeriod,HRemark,HMaker,HMakeDate" + ",HSupID,HWHID,HSCWHID,HEmpID,HManagerID,HSecManagerID" + ",HKeeperID,HDeptID,HExplanation,HInnerBillNo,HRedBlueFlag" + ") " + " values('1201','1201'," + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "',convert(varchar(10),getdate(),120),'" + oMain.HMainSourceBillType + "'" + ", " + oMain.HYear.ToString() + "," + oMain.HPeriod.ToString() + ",'" + oMain.HRemark + "','" + oMain.HMaker + "',convert(varchar(10),getdate(),120)" + ", " + oMain.HSupID.ToString() + "," + oMain.HWHID.ToString() + "," + oMain.HSCWHID.ToString() + "," + oMain.HEmpID.ToString() + "," + oMain.HManagerID.ToString() + "," + oMain.HSecManagerID.ToString() + ", " + oMain.HKeeperID.ToString() + "," + oMain.HDeptID.ToString() + ",'" + oMain.HExplanation + "','" + oMain.HInnerBillNo + "'," + DBUtility.ClsPub.BoolToString(oMain.HRedBlueFlag) + ") "); //新增K3子表、主表 oCn.RunProc("exec h_p_IFK3_ToERP_POStockInBill_Insert_New " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "'," + oMain.HBillerID.ToString() + ",'" + sHSourceType + "'"); //更新关联数量 if (sHSourceType == "1102") //采购订单 { oCn.RunProc("exec h_p_Cg_UpDateRelation_POOrderToPOStockIn_Add " + oMain.HInterID.ToString()); //回填K3关联数量 oCn.RunProc("exec h_p_IFK3_ToERP_POStockInBill_UpdateBillRelateData_POOrder_New " + oMain.HInterID.ToString()); } else if (sHSourceType == "1103") //收料通知单 { oCn.RunProc("exec h_p_Cg_UpDateRelation_POInStockToPOStockIn_Add " + oMain.HInterID.ToString()); //回填K3关联数量 oCn.RunProc("exec h_p_IFK3_ToERP_POStockInBill_UpdateBillRelateData_POInStock_New " + oMain.HInterID.ToString()); } else //无源单 { //回填K3关联数量 oCn.RunProc("exec h_p_IFK3_ToERP_POStockInBill_UpdateBillRelateData_New " + oMain.HInterID.ToString()); } //判断库存更新控制状态(0为审核改变库存,1为保存改变库存) DataSet DS = oCn.RunProcReturn("exec h_p_IFK3_SaveUpdateStock ", "h_p_IFK3_SaveUpdateStock"); if (DS == null || DS.Tables[1].Rows.Count == 0) { sErrMsg = "判断库存更新控制状态,未知错误!"; oCn.RollBack(); return false; } else { if (DBUtility.ClsPub.isLong(DS.Tables[1].Rows[0][0]) == 1) { //更新K3库存 oCn.RunProc("exec h_p_IFK3_ToERP_POStockInBill_UpdateStock_New " + oMain.HInterID.ToString()); oCn.RunProc("exec h_p_IFK3_ToERP_POStockInBill_UpdateOrderStock_New " + oMain.HInterID.ToString()); //审核单据 if (oSystemParameterMain.Kf_POStockInBill_AutoCheck == "Y") //系统参数 自动审核 { //审核单据 oCn.RunProc("Update Kf_ICStockBillMain Set HChecker='" + oMain.HMaker + "',HCheckDate=convert(varchar(10),getdate(),120) where HInterID= " + oMain.HInterID.ToString()); //审核K3单据 oCn.RunProc("exec h_p_IFK3_ToERP_POStockInBill_Check_New " + oMain.HInterID.ToString() + "," + oMain.HBillerID.ToString()); } } else { //审核单据 if (oSystemParameterMain.Kf_POStockInBill_AutoCheck == "Y") //系统参数 自动审核 { //审核单据 oCn.RunProc("Update Kf_ICStockBillMain Set HChecker='" + oMain.HMaker + "',HCheckDate=convert(varchar(10),getdate(),120) where HInterID= " + oMain.HInterID.ToString()); //审核K3单据 oCn.RunProc("exec h_p_IFK3_ToERP_POStockInBill_Check_New " + oMain.HInterID.ToString() + "," + oMain.HBillerID.ToString()); //更新K3库存 oCn.RunProc("exec h_p_IFK3_ToERP_POStockInBill_UpdateStock_New " + oMain.HInterID.ToString()); oCn.RunProc("exec h_p_IFK3_ToERP_POStockInBill_UpdateOrderStock_New " + oMain.HInterID.ToString()); } } } sErrMsg = "新增单据成功!"; oCn.Commit(); return true; } catch (Exception e) { sErrMsg = "生成外购入库单失败!" + e.Message; oCn.RollBack(); return false; } } #endregion #region 产品入库 /// /// 返回生产任务单列表 源单 /// /// 过滤条件 /// public DataSet GetSc_ICMOBillList(string sWhere) { BLL.ClsKf_ProductInBill bll = new BLL.ClsKf_ProductInBill(); return bll.GetSc_ICMOBillList(sWhere, ref DBUtility.ClsPub.sExeReturnInfo); //DAL.Cls_S_IF_ICMOBill_Lite dal = new DAL.Cls_S_IF_ICMOBill_Lite(); //return dal.DisSourceBillList(sWhere); } /// /// 返回生产汇报单列表 源单 /// /// 过滤条件 /// public DataSet GetSc_ICMOReportBillList(string sWhere) { WebS.WebService1 oWebs = new WebS.WebService1(); BLL.ClsKf_ProductInBill bll = new BLL.ClsKf_ProductInBill(); return oWebs.GetSc_ICMOReportBillList (sWhere); //DAL.Cls_S_IF_ICMOBill_Lite dal = new DAL.Cls_S_IF_ICMOBill_Lite(); //return dal.DisSourceBillList(sWhere); } /// /// 生成产品入库单K3 /// /// /// /// public bool SaveProductInBill_K3(Model.ClsKf_ProductInBillMain oMain, string sHSourceType, Pub_Class.ClsXt_SystemParameterMain oSystemParameterMain, ref string sErrMsg) { SQLHelper.ClsCN oCn = new SQLHelper.ClsCN(); DAL.ClsKf_ProductInBill dal = new DAL.ClsKf_ProductInBill(); dal.omodel = oMain; //上传前必填项判断 if (oMain.HDeptID == 0) { sErrMsg = "部门没有选择!"; return false; } if (oMain.HSecManagerID == 0) { sErrMsg = "验收没有选择!"; return false; } if (oMain.HKeeperID == 0) { sErrMsg = "保管没有选择!"; return false; } try { //判断会计期是否合理 string s = ""; int sYear = 0; int sPeriod = 0; if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(oMain.HDate, ref sYear, ref sPeriod, ref s) == false) { sErrMsg = s; return false; } oMain.HYear = sYear; oMain.HPeriod = sPeriod; DataSet Ds; oCn.BeginTran(); //生成出入库单据 //插入子表 oCn.RunProc("EXEC h_p_Kf_ProductInBillSub_Insert_New " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "','" + sHSourceType + "'"); //插入主表 oCn.RunProc("Insert Into Kf_ICStockBillMain " + "(HBillType,HBillSubType,HInterID,HBillNo,HDate,HMainSourceBillType" + ",HYear,HPeriod,HRemark,HMaker,HMakeDate" + ",HSupID,HWHID,HSCWHID,HEmpID,HManagerID,HSecManagerID" + ",HKeeperID,HDeptID,HExplanation,HInnerBillNo,HRedBlueFlag" + ") " + " values('1202','1202'," + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "',convert(varchar(10),getdate(),120),'" + oMain.HMainSourceBillType + "'" + ", " + oMain.HYear.ToString() + "," + oMain.HPeriod.ToString() + ",'" + oMain.HRemark + "','" + oMain.HMaker + "',convert(varchar(10),getdate(),120)" + ", " + oMain.HSupID.ToString() + "," + oMain.HWHID.ToString() + "," + oMain.HSCWHID.ToString() + "," + oMain.HEmpID.ToString() + "," + oMain.HManagerID.ToString() + "," + oMain.HSecManagerID.ToString() + ", " + oMain.HKeeperID.ToString() + "," + oMain.HDeptID.ToString() + ",'" + oMain.HExplanation + "','" + oMain.HInnerBillNo + "'," + DBUtility.ClsPub.BoolToString(oMain.HRedBlueFlag) + ") "); //新增K3子表、主表 oCn.RunProc("exec h_p_IFK3_ToERP_ProductInBill_Insert_New " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "'," + oMain.HBillerID.ToString() + ",'" + sHSourceType + "'"); //更新关联数量 if (sHSourceType == "3710") //生产任务单 { oCn.RunProc("exec h_p_Sc_UpDateRelation_ICMOToProductIn_Add " + oMain.HInterID.ToString()); //回填K3关联数量 oCn.RunProc("exec h_p_IFK3_ToERP_ProductInBill_UpdateBillRelateData_ICMO_New " + oMain.HInterID.ToString()); } else //无源单 { //回填K3关联数量 oCn.RunProc("exec h_p_IFK3_ToERP_ProductInBill_UpdateBillRelateData_New " + oMain.HInterID.ToString()); } //判断库存更新控制状态(0为审核改变库存,1为保存改变库存) DataSet DS = oCn.RunProcReturn("exec h_p_IFK3_SaveUpdateStock ", "h_p_IFK3_SaveUpdateStock"); if (DS == null || DS.Tables[1].Rows.Count == 0) { sErrMsg = "判断库存更新控制状态,未知错误!"; oCn.RollBack(); return false; } else { if (DBUtility.ClsPub.isLong(DS.Tables[1].Rows[0][0]) == 1) { //更新K3库存 oCn.RunProc("exec h_p_IFK3_ToERP_ProductInBill_UpdateStock_New " + oMain.HInterID.ToString()); oCn.RunProc("exec h_p_IFK3_ToERP_ProductInBill_UpdateOrderStock_New " + oMain.HInterID.ToString()); //审核单据 if (oSystemParameterMain.Kf_ProductInBill_AutoCheck == "Y") //系统参数 自动审核 { //审核单据 oCn.RunProc("Update Kf_ICStockBillMain Set HChecker='" + oMain.HMaker + "',HCheckDate=convert(varchar(10),getdate(),120) where HInterID= " + oMain.HInterID.ToString()); //审核K3单据 oCn.RunProc("exec h_p_IFK3_ToERP_ProductInBill_Check_New " + oMain.HInterID.ToString() + "," + oMain.HBillerID.ToString()); } } else { //审核单据 if (oSystemParameterMain.Kf_ProductInBill_AutoCheck == "Y") //系统参数 自动审核 { //审核单据 oCn.RunProc("Update Kf_ICStockBillMain Set HChecker='" + oMain.HMaker + "',HCheckDate=convert(varchar(10),getdate(),120) where HInterID= " + oMain.HInterID.ToString()); //审核K3单据 oCn.RunProc("exec h_p_IFK3_ToERP_ProductInBill_Check_New " + oMain.HInterID.ToString() + "," + oMain.HBillerID.ToString()); //更新K3库存 oCn.RunProc("exec h_p_IFK3_ToERP_ProductInBill_UpdateStock_New " + oMain.HInterID.ToString()); oCn.RunProc("exec h_p_IFK3_ToERP_ProductInBill_UpdateOrderStock_New " + oMain.HInterID.ToString()); } } } sErrMsg = "新增单据成功!"; oCn.Commit(); return true; } catch (Exception e) { sErrMsg = "生成产品入库单失败!" + e.Message; oCn.RollBack(); return false; } } //生成产品入库单 //public bool set_SaveProductInBill_New(Model.ClsKf_ProductInBillMain oMain, string sHSourceType, ref string sErrMsg) //{ // //获取系统参数 // Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter(); // if (oSystemParameter.ShowBill(ref sErrMsg) == false) // { // sErrMsg = "获取系统参数失败! " + sErrMsg; // return false; // } // // // if (oSystemParameter.omodel.Kf_ProductInBill_ERPMode.ToUpper() == "WISE") //判断同步模式是金蝶WISE // { // if (SaveProductInBill_K3(oMain, sHSourceType, oSystemParameter.omodel, ref sErrMsg)) // { // //"保存成功!"; // sErrMsg = "保存成功!" + oMain.HBillNo; // return true; // } // else // { // //"保存失败!"; // sErrMsg = sErrMsg; // return false; // } // } // if (oSystemParameter.omodel.Kf_ProductInBill_ERPMode.ToUpper() == "CLOUD") //判断同步模式是金蝶CLOUD // { // //if (set_SaveProductInBill_CLD(oMain, sHSourceType, oSystemParameter.omodel, ref sErrMsg) == true) // //{ // // //"保存成功!"; // // return true; // //} // //else // //{ // //"保存失败!"; // return false; // //} // } // sErrMsg = "保存产品入库单失败!" + sErrMsg; // return false; //} public bool set_SaveProductInBill_New(WebAPI.WebS.ClsKf_ProductInBillMain oMain, string sHSourceType, ref string sErrMsg) { WebS.WebService1 oWebs = new WebS.WebService1(); if (oWebs.set_SaveProductInBill_New(oMain, sHSourceType, ref sErrMsg)) { ////判断是否反写成功 //if (set_UpdateHStatus(oMain.HInterID,oMain.HExplanation.ToString())) //{ // sErrMsg = "保存成功!" + oMain.HBillNo; // return true; //} //else //{ // sErrMsg = "保存成功!" + oMain.HBillNo + "状态反写失败!"; // return true; //} //sErrMsg = "保存成功!" + oMain.HBillNo; return true; } else { sErrMsg = "单据号:" + oMain.HBillNo + ", 单据ID:" + oMain.HInterID + ";" + sErrMsg; return false; } } //根据id反写条码档案表状态 public bool set_UpdateHStatus(long HinterID, string HMESSPName) { try { new SQLHelper.ClsCN().RunProcReturn("EXEC h_p_WMS_UpdateMESSPtoBarCode " + HinterID + "," + "'" + HMESSPName + "'", "h_p_WMS_UpdateMESSPtoBarCode"); return true; } catch (Exception ex) { return false; } } /// /// 生成产品入库单 /// /// /// /// /// public bool set_SaveProductInBill(Model.ClsKf_ProductInBillMain oMain, ref string sErrMsg) { DAL.ClsKf_ProductInBill dal = new DAL.ClsKf_ProductInBill(); dal.omodel = oMain; if (dal.AddBill_PDA(ref sErrMsg)) { //"保存成功!"; return true; } else { //"保存失败!"; return false; } } public DataSet GetProductInBill(long HInterID) { SQLHelper.ClsCN oCn = new SQLHelper.ClsCN(); // try { DataSet DS = oCn.RunProcReturn("select * from KF_PonderationBillMain_Temp where HInterID=" + HInterID.ToString() ,"KF_PonderationBillMain_Temp",ref DBUtility.ClsPub.sExeReturnInfo); //DataSet DS = oCn.RunProcReturn("Select * from h_v_Sc_AssemblyBill Where HInterID=" + HInterID.ToString() + " and HBillType='" + sBillType + "' " + sWhere, "h_v_Sc_AssemblyBill", ref DBUtility.ClsPub.sExeReturnInfo); if (DS.Tables[0].Rows.Count == 0) return null; else { return DS; } } catch (Exception e) { throw (e); } } #endregion #region 生产领料单 //生成领料出库单 public bool set_SaveMateOutBill_New(WebAPI.WebS.ClsKf_MateOutBillMain oMain, string sHSourceType, ref string sErrMsg) { WebS.WebService1 oWebs = new WebS.WebService1(); if (oWebs.set_SaveMateOutBill_New(oMain, sHSourceType, ref sErrMsg)) { //sErrMsg = "保存成功!" + oMain.HBillNo; return true; } else { sErrMsg = "单据号:" + oMain.HBillNo + ", 单据ID:" + oMain.HInterID + ";" + sErrMsg; return false; } ////获取系统参数 //Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter(); //if (oSystemParameter.ShowBill(ref sErrMsg) == false) //{ // sErrMsg = "获取系统参数失败! " + sErrMsg; // return false; //} //// //if (oSystemParameter.omodel.Kf_MateOutBill_ERPMode.ToUpper() == "WISE") //判断同步模式是金蝶WISE //{ // if (SaveMateOutBill_K3(oMain, sHSourceType, oSystemParameter.omodel, ref sErrMsg)) // { // //"保存成功!"; // sErrMsg = "保存成功!" + oMain.HBillNo; // return true; // } // else // { // //"保存失败!"; // sErrMsg = sErrMsg; // return false; // } //} //if (oSystemParameter.omodel.Kf_MateOutBill_ERPMode.ToUpper() == "CLOUD") //判断同步模式是金蝶CLOUD //{ // //if (set_SaveMateOutBill_CLD(oMain, sHSourceType, oSystemParameter.omodel, ref sErrMsg) == true) // //{ // // //"保存成功!"; // // return true; // //} // //else // //{ // //"保存失败!"; // return false; // //} //} //sErrMsg = "保存领料出库单失败!" + sErrMsg; //return false; } /// /// 生成生产领料单 /// /// /// /// /// public bool set_SaveMateOutBill(Model.ClsKf_MateOutBillMain oMain, ref string sErrMsg) { DAL.ClsKf_MateOutBill dal = new DAL.ClsKf_MateOutBill(); DAL.ClsKF_PonderationBillMain_Temp_View tmp = new DAL.ClsKF_PonderationBillMain_Temp_View(); dal.omodel = oMain; //判断扫描记录,是否按照先进先出规则 //if (!tmp.CheckICInventory_FIFO_Tmp(oMain.HInterID, oMain.HBillType, ref sErrMsg)) //{ // return false; //} //获取系统参数 Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter(); if (oSystemParameter.ShowBill(ref sErrMsg) == false) { sErrMsg = "获取系统参数失败! " + sErrMsg; return false; } // if (oSystemParameter.omodel.Kf_MateOutBill_ERPMode.ToUpper() == "WISE") //判断同步模式是金蝶WISE { //上传前必填项判断 if (oMain.HDeptID == 0) { sErrMsg = "部门没有选择!"; return false; } if (oMain.HSecManagerID == 0) { sErrMsg = "领料没有选择!"; return false; } if (oMain.HKeeperID == 0) { sErrMsg = "发料没有选择!"; return false; } //同步生成K3单据 if (oMain.HRedBlueFlag) { if (dal.AddBill_PDA_Red(ref sErrMsg)) { //"保存成功!"; return true; } else { //"保存失败!"; return false; } } else { if (dal.AddBill_PDA(ref sErrMsg)) { //"保存成功!"; return true; } else { //"保存失败!"; return false; } } } if (oSystemParameter.omodel.Kf_MateOutBill_ERPMode.ToUpper() == "CLOUD") //判断同步模式是金蝶CLOUD { //if (set_SaveMateOutBill_CLD(oMain, "1111", oSystemParameter.omodel, ref sErrMsg) == true) //{ // //"保存成功!"; // return true; //} //else //{ // //"保存失败!"; // return false; //} } sErrMsg = "保存生产领料单失败!" + sErrMsg; return false; } //public DataSet GetSc_PPBomBillList(string sWhere) //{ // DAL.Cls_S_IF_PPBomBillList_Lite dal = new DAL.Cls_S_IF_PPBomBillList_Lite(); // return dal.DisSourceBillList(sWhere); //} //生成生产领料单 K3 public bool SaveMateOutBill_K3(Model.ClsKf_MateOutBillMain oMain, string sHSourceType, Pub_Class.ClsXt_SystemParameterMain oSystemParameterMain, ref string sErrMsg) { SQLHelper.ClsCN oCn = new SQLHelper.ClsCN(); DAL.ClsKf_MateOutBill dal = new DAL.ClsKf_MateOutBill(); dal.omodel = oMain; //上传前必填项判断 if (oMain.HDeptID == 0) { sErrMsg = "部门没有选择!"; return false; } if (oMain.HSecManagerID == 0) { sErrMsg = "领料没有选择!"; return false; } if (oMain.HKeeperID == 0) { sErrMsg = "发料没有选择!"; return false; } try { //判断会计期是否合理 string s = ""; int sYear = 0; int sPeriod = 0; if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(oMain.HDate, ref sYear, ref sPeriod, ref s) == false) { sErrMsg = s; return false; } oMain.HYear = sYear; oMain.HPeriod = sPeriod; DataSet Ds; oCn.BeginTran(); //生成出入库单据 //插入子表 oCn.RunProc("EXEC h_p_Kf_MateOutBillSub_Insert_New " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "','" + sHSourceType + "'"); //插入主表 oCn.RunProc("Insert Into Kf_ICStockBillMain " + "(HBillType,HBillSubType,HInterID,HBillNo,HDate,HMainSourceBillType" + ",HYear,HPeriod,HRemark,HMaker,HMakeDate" + ",HSupID,HWHID,HSCWHID,HEmpID,HManagerID,HSecManagerID" + ",HKeeperID,HDeptID,HExplanation,HInnerBillNo,HRedBlueFlag" + ") " + " values('1204','1204'," + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "',convert(varchar(10),getdate(),120),'" + oMain.HMainSourceBillType + "'" + ", " + oMain.HYear.ToString() + "," + oMain.HPeriod.ToString() + ",'" + oMain.HRemark + "','" + oMain.HMaker + "',convert(varchar(10),getdate(),120)" + ", " + oMain.HSupID.ToString() + "," + oMain.HWHID.ToString() + "," + oMain.HSCWHID.ToString() + "," + oMain.HEmpID.ToString() + "," + oMain.HManagerID.ToString() + "," + oMain.HSecManagerID.ToString() + ", " + oMain.HKeeperID.ToString() + "," + oMain.HDeptID.ToString() + ",'" + oMain.HExplanation + "','" + oMain.HInnerBillNo + "'," + DBUtility.ClsPub.BoolToString(oMain.HRedBlueFlag) + ") "); //新增K3子表、主表 oCn.RunProc("exec h_p_IFK3_ToERP_MateOutBill_Insert_New " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "'," + oMain.HBillerID.ToString() + ",'" + sHSourceType + "'"); //更新关联数量 if (sHSourceType == "3720") //生产任务单-投料 { oCn.RunProc("exec h_p_Sc_UpDateRelation_PPBomToMateOut_Add " + oMain.HInterID.ToString()); //回填K3关联数量 oCn.RunProc("exec h_p_IFK3_ToERP_MateOutBill_UpdateBillRelateData_PPBom_New " + oMain.HInterID.ToString()); } else //无源单 { //回填K3关联数量 oCn.RunProc("exec h_p_IFK3_ToERP_MateOutBill_UpdateBillRelateData_New " + oMain.HInterID.ToString()); } //判断库存更新控制状态(0为审核改变库存,1为保存改变库存) DataSet DS = oCn.RunProcReturn("exec h_p_IFK3_SaveUpdateStock ", "h_p_IFK3_SaveUpdateStock"); if (DS == null || DS.Tables[1].Rows.Count == 0) { sErrMsg = "判断库存更新控制状态,未知错误!"; oCn.RollBack(); return false; } else { if (DBUtility.ClsPub.isLong(DS.Tables[1].Rows[0][0]) == 1) { //更新K3库存 oCn.RunProc("exec h_p_IFK3_ToERP_MateOutBill_UpdateStock_New " + oMain.HInterID.ToString()); oCn.RunProc("exec h_p_IFK3_ToERP_MateOutBill_UpdateOrderStock_New " + oMain.HInterID.ToString()); //审核单据 if (oSystemParameterMain.Kf_MateOutBill_AutoCheck == "Y") //系统参数 自动审核 { //审核单据 oCn.RunProc("Update Kf_ICStockBillMain Set HChecker='" + oMain.HMaker + "',HCheckDate=convert(varchar(10),getdate(),120) where HInterID= " + oMain.HInterID.ToString()); //审核K3单据 oCn.RunProc("exec h_p_IFK3_ToERP_MateOutBill_Check_New " + oMain.HInterID.ToString() + "," + oMain.HBillerID.ToString()); } } else { //审核单据 if (oSystemParameterMain.Kf_MateOutBill_AutoCheck == "Y") //系统参数 自动审核 { //审核单据 oCn.RunProc("Update Kf_ICStockBillMain Set HChecker='" + oMain.HMaker + "',HCheckDate=convert(varchar(10),getdate(),120) where HInterID= " + oMain.HInterID.ToString()); //审核K3单据 oCn.RunProc("exec h_p_IFK3_ToERP_MateOutBill_Check_New " + oMain.HInterID.ToString() + "," + oMain.HBillerID.ToString()); //更新K3库存 oCn.RunProc("exec h_p_IFK3_ToERP_MateOutBill_UpdateStock_New " + oMain.HInterID.ToString()); oCn.RunProc("exec h_p_IFK3_ToERP_MateOutBill_UpdateOrderStock_New " + oMain.HInterID.ToString()); } } } //K3负库存判断 if (oSystemParameterMain.WMS_ERPStockCtl == "Y") //系统参数 提交后ERP负库存控制 { //判断条码库存是否异常(负库存、库存大于条码初始化) Ds = oCn.RunProcReturn("EXEC h_p_KF_ICInventoryBarCodeQtyCtrl " + oMain.HInterID.ToString(), "h_p_KF_ICInventoryBarCodeQtyCtrl"); if (DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0][0]) == 1) { } else { sErrMsg = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0][1]); oCn.RollBack(); return false; } } sErrMsg = "新增单据成功!"; oCn.Commit(); return true; } catch (Exception e) { sErrMsg = "生成领料出库单失败!" + e.Message; oCn.RollBack(); return false; } } public DataSet GetWW_WWOrderBillList(string sWhere) { DAL.Cls_S_IF_WWOrderBill_Lite dal = new DAL.Cls_S_IF_WWOrderBill_Lite(); return dal.DisSourceBillList(sWhere); } public DataSet GetKf_SellOutBillList(string sWhere) { DAL.Cls_S_IF_SellOutBill_Lite dal = new DAL.Cls_S_IF_SellOutBill_Lite(); return dal.DisSourceBillList(sWhere); } #endregion #region 委外入库 /// /// 生成委外入库单K3 /// /// /// /// public bool SaveEntrustInBill_K3(Model.ClsKf_EntrustInBillMain oMain, string sHSourceType, Pub_Class.ClsXt_SystemParameterMain oSystemParameterMain, ref string sErrMsg) { SQLHelper.ClsCN oCn = new SQLHelper.ClsCN(); DAL.ClsKf_EntrustInBill dal = new DAL.ClsKf_EntrustInBill(); dal.omodel = oMain; //上传前必填项判断 if (oMain.HSupID == 0) { sErrMsg = "供应商没有选择!"; return false; } if (oMain.HSecManagerID == 0) { sErrMsg = "验收没有选择!"; return false; } if (oMain.HKeeperID == 0) { sErrMsg = "保管没有选择!"; return false; } try { //判断会计期是否合理 string s = ""; int sYear = 0; int sPeriod = 0; if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(oMain.HDate, ref sYear, ref sPeriod, ref s) == false) { sErrMsg = s; return false; } oMain.HYear = sYear; oMain.HPeriod = sPeriod; DataSet Ds; oCn.BeginTran(); //生成出入库单据 //插入子表 oCn.RunProc("EXEC h_p_Kf_EntrustInBillSub_Insert_New " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "','" + sHSourceType + "'"); //插入主表 oCn.RunProc("Insert Into Kf_ICStockBillMain " + "(HBillType,HBillSubType,HInterID,HBillNo,HDate,HMainSourceBillType" + ",HYear,HPeriod,HRemark,HMaker,HMakeDate" + ",HSupID,HWHID,HSCWHID,HEmpID,HManagerID,HSecManagerID" + ",HKeeperID,HDeptID,HExplanation,HInnerBillNo,HRedBlueFlag" + ") " + " values('1210','1210'," + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "',convert(varchar(10),getdate(),120),'" + oMain.HMainSourceBillType + "'" + ", " + oMain.HYear.ToString() + "," + oMain.HPeriod.ToString() + ",'" + oMain.HRemark + "','" + oMain.HMaker + "',convert(varchar(10),getdate(),120)" + ", " + oMain.HSupID.ToString() + "," + oMain.HWHID.ToString() + "," + oMain.HSCWHID.ToString() + "," + oMain.HEmpID.ToString() + "," + oMain.HMangerID.ToString() + "," + oMain.HSecManagerID.ToString() + ", " + oMain.HKeeperID.ToString() + "," + oMain.HDeptID.ToString() + ",'" + oMain.HExplanation + "','" + oMain.HInnerBillNo + "'," + DBUtility.ClsPub.BoolToString(oMain.HRedBlueFlag) + ") "); //新增K3子表、主表 oCn.RunProc("exec h_p_IFK3_ToERP_EntrustInBill_Insert_New " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "'," + oMain.HBillerID.ToString() + ",'" + sHSourceType + "'"); //更新关联数量 if (sHSourceType == "1601") //委外订单 { oCn.RunProc("exec h_p_WW_UpDateRelation_EntrustOrderToEntrustIn_Add " + oMain.HInterID.ToString()); //回填K3关联数量 oCn.RunProc("exec h_p_IFK3_ToERP_EntrustInBill_UpdateBillRelateData_EntrustOrder_New " + oMain.HInterID.ToString()); } else if (sHSourceType == "1103") //收料通知单 { oCn.RunProc("exec h_p_Cg_UpDateRelation_POInStockToEntrustIn_Add " + oMain.HInterID.ToString()); //回填K3关联数量 oCn.RunProc("exec h_p_IFK3_ToERP_EntrustInBill_UpdateBillRelateData_POInStock_New " + oMain.HInterID.ToString()); } else //无源单 { //回填K3关联数量 oCn.RunProc("exec h_p_IFK3_ToERP_EntrustInBill_UpdateBillRelateData_New " + oMain.HInterID.ToString()); } //判断库存更新控制状态(0为审核改变库存,1为保存改变库存) DataSet DS = oCn.RunProcReturn("exec h_p_IFK3_SaveUpdateStock ", "h_p_IFK3_SaveUpdateStock"); if (DS == null || DS.Tables[1].Rows.Count == 0) { sErrMsg = "判断库存更新控制状态,未知错误!"; oCn.RollBack(); return false; } else { if (DBUtility.ClsPub.isLong(DS.Tables[1].Rows[0][0]) == 1) { //更新K3库存 oCn.RunProc("exec h_p_IFK3_ToERP_EntrustInBill_UpdateStock_New " + oMain.HInterID.ToString()); oCn.RunProc("exec h_p_IFK3_ToERP_EntrustInBill_UpdateOrderStock_New " + oMain.HInterID.ToString()); //审核单据 if (oSystemParameterMain.Kf_EntrustInBill_AutoCheck == "Y") //系统参数 自动审核 { //审核单据 oCn.RunProc("Update Kf_ICStockBillMain Set HChecker='" + oMain.HMaker + "',HCheckDate=convert(varchar(10),getdate(),120) where HInterID= " + oMain.HInterID.ToString()); //审核K3单据 oCn.RunProc("exec h_p_IFK3_ToERP_EntrustInBill_Check_New " + oMain.HInterID.ToString() + "," + oMain.HBillerID.ToString()); } } else { //审核单据 if (oSystemParameterMain.Kf_EntrustInBill_AutoCheck == "Y") //系统参数 自动审核 { //审核单据 oCn.RunProc("Update Kf_ICStockBillMain Set HChecker='" + oMain.HMaker + "',HCheckDate=convert(varchar(10),getdate(),120) where HInterID= " + oMain.HInterID.ToString()); //审核K3单据 oCn.RunProc("exec h_p_IFK3_ToERP_EntrustInBill_Check_New " + oMain.HInterID.ToString() + "," + oMain.HBillerID.ToString()); //更新K3库存 oCn.RunProc("exec h_p_IFK3_ToERP_EntrustInBill_UpdateStock_New " + oMain.HInterID.ToString()); oCn.RunProc("exec h_p_IFK3_ToERP_EntrustInBill_UpdateOrderStock_New " + oMain.HInterID.ToString()); } } } sErrMsg = "新增单据成功!"; oCn.Commit(); return true; } catch (Exception e) { sErrMsg = "生成委外入库单失败!" + e.Message; oCn.RollBack(); return false; } } //生成委外入库单 public bool set_SaveEntrustInBill_New(WebAPI.WebS.ClsKf_EntrustInBillMain oMain, string sHSourceType, ref string sErrMsg) { WebS.WebService1 oWebs = new WebS.WebService1(); if (oWebs.set_SaveEntrustInBill_New(oMain, sHSourceType, ref sErrMsg)) { //判断是否反写成功 if (set_UpdateHStatus(oMain.HInterID, oMain.HExplanation.ToString())) { //sErrMsg = "保存成功!" + oMain.HBillNo; return true; } else { //sErrMsg = "保存成功!" + oMain.HBillNo + "状态反写失败!"; return true; } } else { sErrMsg = "单据号:" + oMain.HBillNo + ", 单据ID:" + oMain.HInterID + ";" + sErrMsg; return false; } } public bool set_SaveEntrustInBill(Model.ClsKf_EntrustInBillMain oMain, string sHSourceType, ref string sErrMsg) { //获取系统参数 Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter(); if (oSystemParameter.ShowBill(ref sErrMsg) == false) { sErrMsg = "获取系统参数失败! " + sErrMsg; return false; } // if (oSystemParameter.omodel.Kf_EntrustInBill_ERPMode.ToUpper() == "WISE") //判断同步模式是金蝶WISE { DAL.ClsKf_EntrustInBill dal = new DAL.ClsKf_EntrustInBill(); dal.omodel = oMain; //上传前必填项判断 if (oMain.HSupID == 0) { sErrMsg = "供应商没有选择!"; return false; } if (oMain.HSecManagerID == 0) { sErrMsg = "验收没有选择!"; return false; } if (oMain.HKeeperID == 0) { sErrMsg = "保管没有选择!"; return false; } //同步生成K3单据 if (oMain.HRedBlueFlag) { //if (dal.AddBill_PDA_Red_ByWWOrder(ref sErrMsg)) //{ // //"保存成功!"; // return true; //} //else //{ // //"保存失败!"; // return false; //} return false; } else { if (sHSourceType == "1103") //收料通知单 { if (dal.AddBill_PDA(ref sErrMsg)) { //"保存成功!"; return true; } else { //"保存失败!"; return false; } } else if (sHSourceType == "1601") //委外订单 { if (dal.AddBill_PDA_ByWWOrder(ref sErrMsg)) { //"保存成功!"; return true; } else { //"保存失败!"; return false; } } else { return false; } } } if (oSystemParameter.omodel.Kf_EntrustInBill_ERPMode.ToUpper() == "CLOUD") //判断同步模式是金蝶CLOUD { //if (set_SaveEntrustInBill_CLD(oMain, sHSourceType, oSystemParameter.omodel, ref sErrMsg) == true) //{ // //"保存成功!"; // return true; //} //else //{ // //"保存失败!"; // return false; //} } sErrMsg = "保存委外入库单失败!" + sErrMsg; return false; } #endregion #region 委外退料单 /// /// 生成委外退料单K3 /// /// /// /// public bool SaveEntrustOutBackBill_K3(Model.ClsKf_ICStockBillMain oMain, string sHSourceType, Pub_Class.ClsXt_SystemParameterMain oSystemParameterMain, ref string sErrMsg) { SQLHelper.ClsCN oCn = new SQLHelper.ClsCN(); DAL.ClsKf_EntrustOutBackBill dal = new DAL.ClsKf_EntrustOutBackBill(); dal.omodel = oMain; //上传前必填项判断 if (oMain.HDeptID == 0) { sErrMsg = "部门没有选择!"; return false; } if (oMain.HSupID == 0) { sErrMsg = "加工单位没有选择!"; return false; } if (oMain.HSecManagerID == 0) { sErrMsg = "收料没有选择!"; return false; } if (oMain.HKeeperID == 0) { sErrMsg = "保管没有选择!"; return false; } try { //判断会计期是否合理 string s = ""; int sYear = 0; int sPeriod = 0; if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(oMain.HDate, ref sYear, ref sPeriod, ref s) == false) { sErrMsg = s; return false; } oMain.HYear = sYear; oMain.HPeriod = sPeriod; DataSet Ds; oCn.BeginTran(); //生成出入库单据 //插入子表 oCn.RunProc("EXEC h_p_Kf_EntrustOutBackBillSub_Insert_New " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "','" + sHSourceType + "'"); //插入主表 oCn.RunProc("Insert Into Kf_ICStockBillMain " + "(HBillType,HBillSubType,HInterID,HBillNo,HDate,HMainSourceBillType" + ",HYear,HPeriod,HRemark,HMaker,HMakeDate" + ",HSupID,HWHID,HSCWHID,HEmpID,HManagerID,HSecManagerID" + ",HKeeperID,HDeptID,HExplanation,HInnerBillNo,HRedBlueFlag" + ") " + " values('1238','1238'," + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "',convert(varchar(10),getdate(),120),'" + oMain.HMainSourceBillType + "'" + ", " + oMain.HYear.ToString() + "," + oMain.HPeriod.ToString() + ",'" + oMain.HRemark + "','" + oMain.HMaker + "',convert(varchar(10),getdate(),120)" + ", " + oMain.HSupID.ToString() + "," + oMain.HWHID.ToString() + "," + oMain.HSCWHID.ToString() + "," + oMain.HEmpID.ToString() + "," + oMain.HManagerID.ToString() + "," + oMain.HSecManagerID.ToString() + ", " + oMain.HKeeperID.ToString() + "," + oMain.HDeptID.ToString() + ",'" + oMain.HExplanation + "','" + oMain.HInnerBillNo + "'," + DBUtility.ClsPub.BoolToString(oMain.HRedBlueFlag) + ") "); //新增K3子表、主表 oCn.RunProc("exec h_p_IFK3_ToERP_EntrustOutBackBill_Insert_New " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "'," + oMain.HBillerID.ToString() + ",'" + sHSourceType + "'"); //更新关联数量 if (sHSourceType == "3720") //委外订单-退料 { oCn.RunProc("exec h_p_WW_UpDateRelation_WWPPBomToEntrustOutBack_Add " + oMain.HInterID.ToString()); //回填K3关联数量 oCn.RunProc("exec h_p_IFK3_ToERP_EntrustOutBackBill_UpdateBillRelateData_EntrustOrder " + oMain.HInterID.ToString()); } else if (sHSourceType == "1211") //委外出库单-蓝字 { oCn.RunProc("exec h_p_Kf_UpDateRelation_EntrustOutToEntrustOutBack_Add " + oMain.HInterID.ToString()); //回填K3关联数量 oCn.RunProc("exec h_p_IFK3_ToERP_EntrustOutBackBill_UpdateBillRelateData_Blue " + oMain.HInterID.ToString()); } else //无源单 { //回填K3关联数量 oCn.RunProc("exec h_p_IFK3_ToERP_EntrustOutBackBill_UpdateBillRelateData " + oMain.HInterID.ToString()); } //判断库存更新控制状态(0为审核改变库存,1为保存改变库存) DataSet DS = oCn.RunProcReturn("exec h_p_IFK3_SaveUpdateStock ", "h_p_IFK3_SaveUpdateStock"); if (DS == null || DS.Tables[1].Rows.Count == 0) { sErrMsg = "判断库存更新控制状态,未知错误!"; oCn.RollBack(); return false; } else { if (DBUtility.ClsPub.isLong(DS.Tables[1].Rows[0][0]) == 1) { //更新K3库存 oCn.RunProc("exec h_p_IFK3_ToERP_EntrustOutBackBill_UpdateStock " + oMain.HInterID.ToString()); oCn.RunProc("exec h_p_IFK3_ToERP_EntrustOutBackBill_UpdateOrderStock " + oMain.HInterID.ToString()); //审核单据 if (oSystemParameterMain.Kf_EntrustOutBackBill_AutoCheck == "Y") //系统参数 自动审核 { //审核单据 oCn.RunProc("Update Kf_ICStockBillMain Set HChecker='" + oMain.HMaker + "',HCheckDate=convert(varchar(10),getdate(),120) where HInterID= " + oMain.HInterID.ToString()); //审核K3单据 oCn.RunProc("exec h_p_IFK3_ToERP_EntrustOutBackBill_Check " + oMain.HInterID.ToString() + "," + oMain.HBillerID.ToString()); } } else { //审核单据 if (oSystemParameterMain.Kf_EntrustOutBackBill_AutoCheck == "Y") //系统参数 自动审核 { //审核单据 oCn.RunProc("Update Kf_ICStockBillMain Set HChecker='" + oMain.HMaker + "',HCheckDate=convert(varchar(10),getdate(),120) where HInterID= " + oMain.HInterID.ToString()); //审核K3单据 oCn.RunProc("exec h_p_IFK3_ToERP_EntrustOutBackBill_Check " + oMain.HInterID.ToString() + "," + oMain.HBillerID.ToString()); //更新K3库存 oCn.RunProc("exec h_p_IFK3_ToERP_EntrustOutBackBill_UpdateStock " + oMain.HInterID.ToString()); oCn.RunProc("exec h_p_IFK3_ToERP_EntrustOutBackBill_UpdateOrderStock " + oMain.HInterID.ToString()); } } } sErrMsg = "新增单据成功!"; oCn.Commit(); return true; } catch (Exception e) { sErrMsg = "生成委外退料单失败!" + e.Message; oCn.RollBack(); return false; } } //生成委外退料单 public bool set_SaveEntrustOutBackBill_New(WebAPI.WebS.ClsKf_ICStockBillMain oMain, string sHSourceType, ref string sErrMsg) { WebS.WebService1 oWebs = new WebS.WebService1(); if (oWebs.set_SaveEntrustOutBackBill_New(oMain, sHSourceType, ref sErrMsg)) { //sErrMsg = "保存成功!" + oMain.HBillNo; return true; } else { sErrMsg = "单据号:" + oMain.HBillNo + ", 单据ID:" + oMain.HInterID + ";" + sErrMsg; return false; } } //生成委外退料单 public bool set_EntrustOutBackBill(Model.ClsKf_EntrustOutBillMain oMain, ref string sErrMsg) { DAL.ClsKf_EntrustOutBill dal = new DAL.ClsKf_EntrustOutBill(); dal.omodel = oMain; if (oMain.HRedBlueFlag) { //if (dal.AddBill_PDA_Red(ref sErrMsg)) //{ // //"保存成功!"; // return true; //} //else //{ //"保存失败!"; return false; //} } else { if (dal.AddBill_PDA(ref sErrMsg)) { //"保存成功!"; return true; } else { //"保存失败!"; return false; } } } #endregion #region 委外出库单 /// /// 生成委外出库单K3 /// /// /// /// public bool SaveEntrustOutBill_K3(Model.ClsKf_EntrustOutBillMain oMain, string sHSourceType, Pub_Class.ClsXt_SystemParameterMain oSystemParameterMain, ref string sErrMsg) { SQLHelper.ClsCN oCn = new SQLHelper.ClsCN(); DAL.ClsKf_EntrustOutBill dal = new DAL.ClsKf_EntrustOutBill(); dal.omodel = oMain; //上传前必填项判断 if (oMain.HSupID == 0) { sErrMsg = "加工单位没有选择!"; return false; } if (oMain.HSecManagerID == 0) { sErrMsg = "领料没有选择!"; return false; } if (oMain.HKeeperID == 0) { sErrMsg = "发料没有选择!"; return false; } try { //判断会计期是否合理 string s = ""; int sYear = 0; int sPeriod = 0; if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(oMain.HDate, ref sYear, ref sPeriod, ref s) == false) { sErrMsg = s; return false; } oMain.HYear = sYear; oMain.HPeriod = sPeriod; DataSet Ds; oCn.BeginTran(); //生成出入库单据 //插入子表 oCn.RunProc("EXEC h_p_Kf_EntrustOutBillSub_Insert_New " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "','" + sHSourceType + "'"); //插入主表 oCn.RunProc("Insert Into Kf_ICStockBillMain " + "(HBillType,HBillSubType,HInterID,HBillNo,HDate,HMainSourceBillType" + ",HYear,HPeriod,HRemark,HMaker,HMakeDate" + ",HSupID,HWHID,HSCWHID,HEmpID,HManagerID,HSecManagerID" + ",HKeeperID,HDeptID,HExplanation,HInnerBillNo,HRedBlueFlag" + ") " + " values('1211','1211'," + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "',convert(varchar(10),getdate(),120),'" + oMain.HMainSourceBillType + "'" + ", " + oMain.HYear.ToString() + "," + oMain.HPeriod.ToString() + ",'" + oMain.HRemark + "','" + oMain.HMaker + "',convert(varchar(10),getdate(),120)" + ", " + oMain.HSupID.ToString() + "," + oMain.HWHID.ToString() + "," + oMain.HSCWHID.ToString() + "," + oMain.HEmpID.ToString() + "," + oMain.HMangerID.ToString() + "," + oMain.HSecManagerID.ToString() + ", " + oMain.HKeeperID.ToString() + "," + oMain.HDeptID.ToString() + ",'" + oMain.HExplanation + "','" + oMain.HInnerBillNo + "'," + DBUtility.ClsPub.BoolToString(oMain.HRedBlueFlag) + ") "); //新增K3子表、主表 oCn.RunProc("exec h_p_IFK3_ToERP_EntrustOutBill_Insert_New " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "'," + oMain.HBillerID.ToString() + ",'" + sHSourceType + "'"); //更新关联数量 if (sHSourceType == "3720") //委外订单-投料 { oCn.RunProc("exec h_p_WW_UpDateRelation_WWPPBomToEntrustOut_Add " + oMain.HInterID.ToString()); //回填K3关联数量 oCn.RunProc("exec h_p_IFK3_ToERP_EntrustOutBill_UpdateBillRelateData_WWPPBom_New " + oMain.HInterID.ToString()); } else //无源单 { //回填K3关联数量 oCn.RunProc("exec h_p_IFK3_ToERP_EntrustOutBill_UpdateBillRelateData_New " + oMain.HInterID.ToString()); } //判断库存更新控制状态(0为审核改变库存,1为保存改变库存) DataSet DS = oCn.RunProcReturn("exec h_p_IFK3_SaveUpdateStock ", "h_p_IFK3_SaveUpdateStock"); if (DS == null || DS.Tables[1].Rows.Count == 0) { sErrMsg = "判断库存更新控制状态,未知错误!"; oCn.RollBack(); return false; } else { if (DBUtility.ClsPub.isLong(DS.Tables[1].Rows[0][0]) == 1) { //更新K3库存 oCn.RunProc("exec h_p_IFK3_ToERP_EntrustOutBill_UpdateStock_New " + oMain.HInterID.ToString()); oCn.RunProc("exec h_p_IFK3_ToERP_EntrustOutBill_UpdateOrderStock_New " + oMain.HInterID.ToString()); //审核单据 if (oSystemParameterMain.Kf_EntrustOutBill_AutoCheck == "Y") //系统参数 自动审核 { //审核单据 oCn.RunProc("Update Kf_ICStockBillMain Set HChecker='" + oMain.HMaker + "',HCheckDate=convert(varchar(10),getdate(),120) where HInterID= " + oMain.HInterID.ToString()); //审核K3单据 oCn.RunProc("exec h_p_IFK3_ToERP_EntrustOutBill_Check_New " + oMain.HInterID.ToString() + "," + oMain.HBillerID.ToString()); } } else { //审核单据 if (oSystemParameterMain.Kf_EntrustOutBill_AutoCheck == "Y") //系统参数 自动审核 { //审核单据 oCn.RunProc("Update Kf_ICStockBillMain Set HChecker='" + oMain.HMaker + "',HCheckDate=convert(varchar(10),getdate(),120) where HInterID= " + oMain.HInterID.ToString()); //审核K3单据 oCn.RunProc("exec h_p_IFK3_ToERP_EntrustOutBill_Check_New " + oMain.HInterID.ToString() + "," + oMain.HBillerID.ToString()); //更新K3库存 oCn.RunProc("exec h_p_IFK3_ToERP_EntrustOutBill_UpdateStock_New " + oMain.HInterID.ToString()); oCn.RunProc("exec h_p_IFK3_ToERP_EntrustOutBill_UpdateOrderStock_New " + oMain.HInterID.ToString()); } } } //K3负库存判断 if (oSystemParameterMain.WMS_ERPStockCtl == "Y") //系统参数 提交后ERP负库存控制 { //判断条码库存是否异常(负库存、库存大于条码初始化) Ds = oCn.RunProcReturn("EXEC h_p_KF_ICInventoryBarCodeQtyCtrl " + oMain.HInterID.ToString(), "h_p_KF_ICInventoryBarCodeQtyCtrl"); if (DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0][0]) == 1) { } else { sErrMsg = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0][1]); oCn.RollBack(); return false; } } sErrMsg = "新增单据成功!"; oCn.Commit(); return true; } catch (Exception e) { sErrMsg = "生成委外出库单失败!" + e.Message; oCn.RollBack(); return false; } } //获取CLOUD账号密码 public DataSet get_SaveCLOUDUseNameandPsd(Int64 HInterID) { try { DataSet ds; SQLHelper.ClsCN oCN = new SQLHelper.ClsCN(); ds = oCN.RunProcReturn("exec h_p_WMS_GetCloudUserByBill " + HInterID.ToString(), "h_p_WMS_GetCloudUserByBill"); if (ds == null && ds.Tables[0].Rows.Count == 0) { return null; } else { return ds; } } catch (Exception e) { return null; } } /// /// 委外出库单CLD 源单:委外用料清单 /// /// /// /// private bool SaveEntrustOutBill_WWPPBom_CLD(Model.ClsKf_EntrustOutBillMain oMain, string sHSourceType, Pub_Class.ClsXt_SystemParameterMain oSystemParameterMain, ref string sErrMsg) { SQLHelper.ClsCN oCn = new SQLHelper.ClsCN(); try { //判断会计期是否合理 string s = ""; int sYear = 0; int sPeriod = 0; if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(oMain.HDate, ref sYear, ref sPeriod, ref s) == false) { sErrMsg = s; return false; } oMain.HYear = sYear; oMain.HPeriod = sPeriod; oCn.BeginTran(); //生成出入库单据 //插入子表 oCn.RunProc("EXEC h_p_Kf_EntrustOutBillSub_Insert_New " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "','" + sHSourceType + "'"); //插入主表 oCn.RunProc("Insert Into Kf_ICStockBillMain " + "(HBillType,HBillSubType,HInterID,HBillNo,HDate,HMainSourceBillType" + ",HYear,HPeriod,HRemark,HMaker,HMakeDate" + ",HSupID,HWHID,HSCWHID,HEmpID,HManagerID,HSecManagerID" + ",HKeeperID,HDeptID,HExplanation,HInnerBillNo,HRedBlueFlag" + ") " + " values('1211','1211'," + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "',convert(varchar(10),getdate(),120),'" + oMain.HMainSourceBillType + "'" + ", " + oMain.HYear.ToString() + "," + oMain.HPeriod.ToString() + ",'" + oMain.HRemark + "','" + oMain.HMaker + "',convert(varchar(10),getdate(),120)" + ", " + oMain.HSupID.ToString() + "," + oMain.HWHID.ToString() + "," + oMain.HSCWHID.ToString() + "," + oMain.HEmpID.ToString() + "," + oMain.HMangerID.ToString() + "," + oMain.HSecManagerID.ToString() + ", " + oMain.HKeeperID.ToString() + "," + oMain.HDeptID.ToString() + ",'" + oMain.HExplanation + "','" + oMain.HInnerBillNo + "'," + DBUtility.ClsPub.BoolToString(oMain.HRedBlueFlag) + ") "); //更新关联数量 oCn.RunProc("exec h_p_WW_UpDateRelation_WWPPBomToEntrustOut_Add " + oMain.HInterID.ToString()); if (oSystemParameterMain.Kf_EntrustOutBill_AutoCheck == "Y") //系统参数 自动审核 { //审核单据 oCn.RunProc("Update Kf_ICStockBillMain Set HChecker='" + oMain.HMaker + "',HCheckDate=convert(varchar(10),getdate(),120) where HInterID= " + oMain.HInterID.ToString()); } //根据TMP表 返回 子表信息 DataSet Ds; Ds = oCn.RunProcReturn("exec h_p_Kf_GetEntrustOutBill_WWPPBom_CLD_New " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "'", "h_p_Kf_GetEntrustOutBill_WWPPBom_CLD_New"); if (Ds == null || Ds.Tables[0].Rows.Count == 0 || Ds.Tables[1].Rows.Count == 0) { sErrMsg = "获取子表信息失败!"; oCn.RollBack(); return false; } else { string sJson_Main = "{\"Creator\":\"\",\"NeedUpDateFields\":[],\"NeedReturnFields\":[],\"IsDeleteEntry\":\"True\",\"SubSystemId\":\"\",\"IsVerifyBaseDataField\":\"false\"," + "\"IsEntryBatchFill\":\"True\",\"ValidateFlag\":\"True\",\"NumberSearch\":\"True\",\"InterationFlags\":\"\"," + "\"Model\":{ " + //\"FID\":\"0\", "\"FBillNo\":\"" + oMain.HBillNo + "\"," + "\"FBillType\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FBillType"]) + "\"}," + "\"FDATE\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FDATE"]) + "\"," + "\"FSTOCKORGID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSTOCKORGID"]) + "\"}," + "\"FSUBORGID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSUBORGID"]) + "\"}," + "\"FSUPPLIERID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSUPPLIERID"]) + "\"}," + //\"FPICKERID\":{}, //\"FSTOCKERID\":{\"FNAME\":\"\"}, //\"FDescription\":\"\", "\"FISCROSSTRADE\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FISCROSSTRADE"]) + "\"," + "\"FVMIBUSINESS\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FVMIBUSINESS"]) + "\"," + //\"FScanBox\":\"\", //\"FSourceType\":\"\", "\"FEntity\": [ "; string sJson_Entry = ""; for (int i = 0; i < Ds.Tables[1].Rows.Count; i++) { if (sJson_Entry != "") { sJson_Entry = sJson_Entry + " , "; } string sJson_BatchNo = ""; string sJson_StockPlace = ""; if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["HISBATCHMANAGE"]) == "1") //是否启用批次管理 { sJson_BatchNo = " \"FLOT\": {\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FLOT"]) + "\"}, \"FLOT_TEXT\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FLOT"]) + "\" , "; } else { sJson_BatchNo = ""; } //仓位 if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSTOCKLOCID"]) == "") { sJson_StockPlace = ""; } else { sJson_StockPlace = Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSTOCKLOCID"]) + "\"}},"; } // sJson_Entry = sJson_Entry + " {" + //\"FENTRYID\":\"0\", " \"FMATERIALID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FMATERIALID"]) + "\"}," + " \"FUNITID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FUNITID"]) + "\"}," + " \"FAPPQTY\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FAPPQTY"]) + "," + " \"FACTUALQTY\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FACTUALQTY"]) + "," + " \"FSTOCKID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSTOCKID"]) + "\"}," + sJson_StockPlace + sJson_BatchNo + //\"FSRCBIZENTRYSEQ\":\"0\", //\"FSRCBIZBILLTYPE\":{\"FID\":\"\"}, //\"FSRCBIZBILLNO\":\"\", " \"FPICKINGSTATUS\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FPICKINGSTATUS"]) + "\"," + " \"FPARENTMATERIALID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FPARENTMATERIALID"]) + "\"}," + " \"FSRCINTERID\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSRCINTERID"]) + "," + " \"FSRCENTRYID\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSRCENTRYID"]) + "," + //\"FSRCBIZINTERID\":\"0\", //\"FConsome\":\"\", " \"FSUBREQID\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSUBREQID"]) + "," + " \"FRESERVETYPE\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FRESERVETYPE"]) + "\"," + " \"FSETTLEORGID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSETTLEORGID"]) + "\"}," + " \"FBASESTOCKACTUALQTY\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBASESTOCKACTUALQTY"]) + "," + //\"FSRCBIZENTRYID\":\"0\", " \"FPPBOMBILLNO\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FPPBOMBILLNO"]) + "\"," + " \"FSUBREQENTRYID\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSUBREQENTRYID"]) + "," + " \"FBASEUNITID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBASEUNITID"]) + "\"}," + " \"FBASEAPPQTY\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBASEAPPQTY"]) + "," + " \"FBASEACTUALQTY\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBASEACTUALQTY"]) + "," + //\"FBaseAllowOverQty\":\"0\", //\"FBaseSelPrcdReturnQty\":\"0\", //\"FPrice\":\"0\", //\"FAmount\":\"0\", " \"FSTOCKUNITID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSTOCKUNITID"]) + "\"}," + " \"FSTOCKAPPQTY\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSTOCKAPPQTY"]) + "," + //\"FStockAllowOverQty\":\"0\", //\"FStockSelPrcdReturnQty\":\"0\", //\"FSecAllowOverQty\":\"0\", //\"FSecSelPrcdReturnQty\":\"0\", " \"FENTRYVMIBUSINESS\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FENTRYVMIBUSINESS"]) + "\"," + //\"FPMBillNo\":\"\", " \"FGROUPROW\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FGROUPROW"]) + "\"," + " \"FPOORDERBILLNO\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FPOORDERBILLNO"]) + "\"," + " \"FPOORDERSEQ\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FPOORDERSEQ"]) + "," + " \"FSupplierId0\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSupplierId0"]) + "\"}," + " \"FKEEPERTYPEID\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FKEEPERTYPEID"]) + "\"," + " \"FKEEPERID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FKEEPERID"]) + "\"}," + " \"FSTOCKSTATUSID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSTOCKSTATUSID"]) + "\"}," + //\"FProduceDate\":\"1900-01-01\", //\"FExpiryDate\":\"1900-01-01\", //\"FAllowOverQty\":\"0\", " \"FOWNERTYPEID\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FOWNERTYPEID"]) + "\"," + " \"FOWNERID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FOWNERID"]) + "\"}," + " \"FPARENTOWNERTYPEID\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FPARENTOWNERTYPEID"]) + "\"," + " \"FPARENTOWNERID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FPARENTOWNERID"]) + "\"}," + " \"FBOMID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBOMID"]) + "\"}," + " \"FAUXPROPID\":{\"FAUXPROPID__FF100002\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FAUXPROPID"]) + "\"}}," + " \"FMTONO\":\" " + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FMTONO"]) + "\"," + " \"FPROJECTNO\":\" " + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FPROJECTNO"]) + "\"," + " \"FOPERID\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FOPERID"]) + "," + " \"FPROCESSID\" : { \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FPROCESSID"]) + "\" } , " + " \"FMEMO\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FMEMO"]) + "\"," + " \"FSRCENTRYSEQ\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSRCENTRYSEQ"]) + "," + " \"FSUBREQBILLNO\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSUBREQBILLNO"]) + "\"," + " \"FSUBREQENTRYSEQ\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSUBREQENTRYSEQ"]) + "," + " \"FPPBOMENTRYID\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FPPBOMENTRYID"]) + "," + " \"FSECUNITID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSECUNITID"]) + "\"}," + " \"FSNUNITID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSNUNITID"]) + "\"}," + " \"FREQSRC\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FREQSRC"]) + "\" , " + " \"FREQBILLNO\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FREQBILLNO"]) + "\" , " + " \"FREQBILLID\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FREQBILLID"]) + "," + " \"FREQENTRYSEQ\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FREQENTRYSEQ"]) + "," + " \"FREQENTRYID\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FREQENTRYID"]) + "," + " \"FSTOCKACTUALQTY\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSTOCKACTUALQTY"]) + "," + " \"FSRCBILLTYPE\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSRCBILLTYPE"]) + "\"," + " \"FSRCBILLNO\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSRCBILLNO"]) + "\"," + //\"FSerialSubEntity\":[{\"FDetailID\":\"0\", //\"FSerialNo\":\"\", //\"FSerialId\":{\"FNumber\":\"\"}, //\"FSerialNote\":\"\"}]}]}} " \"FEntity_Link\": [ { " + " \"FEntity_Link_FFLOWID\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntity_Link_FFLOWID"]) + "\"," + " \"FEntity_Link_FFLOWLINEID\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntity_Link_FFLOWLINEID"]) + "\"," + " \"FEntity_Link_FRULEID\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntity_Link_FRULEID"]) + "\"," + " \"FEntity_Link_FSTABLENAME\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntity_Link_FSTABLENAME"]) + "\"," + " \"FEntity_Link_FSBILLID\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntity_Link_FSBILLID"]) + "\"," + " \"FEntity_Link_FSID\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntity_Link_FSID"]) + "\"," + " \"FEntity_Link_FBASEACTUALQTYOLD\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntity_Link_FBASEACTUALQTYOLD"]) + "," + " \"FEntity_Link_FBASEACTUALQTY\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntity_Link_FBASEACTUALQTY"]) + "" + " } ]," + " \"FBFLOWID\":{\"FID\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBFLOWID"]) + "\"}}"; } string sJson_End = " ] }}"; string sJson = sJson_Main + sJson_Entry + sJson_End; //从配置文件获取 CLOUD网址、账套信息、登录用户、登录密码 if (!Pub_Class.ClsPub.GetCLOUDLoginInfo(ref Pub_Class.ClsPub.sExeReturnInfo)) { sErrMsg = Pub_Class.ClsPub.sExeReturnInfo; return false; } //获取CLOUD账号密码 string sCLOUDUseName = Pub_Class.ClsPub.sCLOUDUseName; string sCLOUDPsd = Pub_Class.ClsPub.sCLOUDPsd; DataSet ds11 = get_SaveCLOUDUseNameandPsd(oMain.HInterID); if (ds11 == null || ds11.Tables[0].Rows.Count == 0) { } else { sCLOUDUseName = DBUtility.ClsPub.isStrNull(ds11.Tables[0].Rows[0]["HCloudUserName"]); sCLOUDPsd = DBUtility.ClsPub.isStrNull(ds11.Tables[0].Rows[0]["HCloudUserPsd"]); } //生成 委外出库 string HReturn; //ApiClient client = new ApiClient(Pub_Class.ClsPub.sCLOUDUrl); //string dbId = Pub_Class.ClsPub.sCLOUDAcc; //AotuTest117 //bool bLogin = client.Login(dbId, sCLOUDUseName, sCLOUDPsd, 2052); //if (bLogin) //{ // var result = client.Execute("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Save", // new object[] { "SUB_PickMtrl", sJson }); // if (oSystemParameterMain.Kf_EntrustOutBill_AutoCheck == "Y") //系统参数 自动审核 // { // string sJson2 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}"; // var result2 = client.Execute("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Submit", // new object[] { "SUB_PickMtrl", sJson2 }); // string sJson3 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}"; // var result3 = client.Execute("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Audit", // new object[] { "SUB_PickMtrl", sJson3 }); // HReturn = result.ToString() + "," + result2.ToString() + "," + result3.ToString(); // } // else // { // HReturn = result.ToString(); // } // if (HReturn.Contains("\"IsSuccess\":false") == true) // { // sErrMsg = "生成委外出库单失败!" + HReturn + sJson; // oCn.RollBack(); // return false; // } // else // { // oCn.Commit(); return true; //} //} //else //{ // sErrMsg = "生成委外出库单失败!登录失败!"; // oCn.RollBack(); // return false; //} } } catch (Exception e) { sErrMsg = "生成委外出库单失败!" + e.Message; oCn.RollBack(); return false; } } public bool set_SaveEntrustOutBill_CLD_New(Model.ClsKf_EntrustOutBillMain oMain, string sHSourceType, Pub_Class.ClsXt_SystemParameterMain oSystemParameterMain, ref string sErrMsg) { if (sHSourceType == "1604") //委外用料清单 { if (SaveEntrustOutBill_WWPPBom_CLD(oMain, sHSourceType, oSystemParameterMain, ref sErrMsg)) { //"保存成功!"; sErrMsg = "保存成功!" + oMain.HBillNo; return true; } else { //"保存失败!"; //sErrMsg = "单据号:" + oMain.HBillNo + ",单据ID:" + oMain.HInterID + ";" + sErrMsg; sErrMsg = "保存失败![SaveEntrustOutBill_WWPPBom_CLD]" + sErrMsg; return false; } } else { sErrMsg = "单据号:" + oMain.HBillNo + ",单据ID:" + oMain.HInterID + ";错误的源单类型"; return false; } } //生成委外出库单--直接调用webservice中的方法 public bool set_SaveEntrustOutBill_New(WebAPI.WebS.ClsKf_EntrustOutBillMain oMain, string sHSourceType, ref string sErrMsg) { WebS.WebService1 oWebs = new WebS.WebService1(); if (oWebs.set_SaveEntrustOutBill_New(oMain, sHSourceType, ref sErrMsg)) { //sErrMsg = "保存成功!" + oMain.HBillNo; return true; } else { sErrMsg = "单据号:" + oMain.HBillNo + ", 单据ID:" + oMain.HInterID + ";" + sErrMsg; return false; } ////获取系统参数 //Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter(); //if (oSystemParameter.ShowBill(ref sErrMsg) == false) //{ // //ShowBill返回:sReturn = "显示单据成功!";return true; // sErrMsg = "获取系统参数失败! " + sErrMsg; // return false; //} //if (oSystemParameter.omodel.Kf_EntrustOutBill_ERPMode.ToUpper() == "WISE") //判断同步模式是金蝶WISE //{ // if (SaveEntrustOutBill_K3(oMain, sHSourceType, oSystemParameter.omodel, ref sErrMsg)) // { // sErrMsg = "保存成功!" + oMain.HBillNo; // return true; // } // else // { // sErrMsg = "保存失败[SaveEntrustOutBill_K3]"; // return false; // } //} //if (oSystemParameter.omodel.Kf_EntrustOutBill_ERPMode.ToUpper() == "CLOUD") //判断同步模式是金蝶CLOUD //{ // if (set_SaveEntrustOutBill_CLD_New(oMain, sHSourceType, oSystemParameter.omodel, ref sErrMsg) == true) // { // //"保存成功!"; // sErrMsg = "保存成功"; // return true; // } // else // { // //"保存失败!"; // sErrMsg = "保存失败[set_SaveEntrustOutBill_CLD_New]" + sErrMsg; // return false; // } //} //sErrMsg = "保存委外出库单失败!" + sErrMsg; //return false; } /// /// 生成委外出库单 /// /// /// /// /// public bool set_SaveEntrustOutBill(Model.ClsKf_EntrustOutBillMain oMain, ref string sErrMsg) { //获取系统参数 Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter(); if (oSystemParameter.ShowBill(ref sErrMsg) == false) { sErrMsg = "获取系统参数失败! " + sErrMsg; return false; } // if (oSystemParameter.omodel.Kf_EntrustOutBill_ERPMode.ToUpper() == "WISE") //判断同步模式是金蝶WISE { DAL.ClsKf_EntrustOutBill dal = new DAL.ClsKf_EntrustOutBill(); dal.omodel = oMain; //上传前必填项判断 if (oMain.HSupID == 0) { sErrMsg = "加工单位没有选择!"; return false; } if (oMain.HSecManagerID == 0) { sErrMsg = "领料没有选择!"; return false; } if (oMain.HKeeperID == 0) { sErrMsg = "发料没有选择!"; return false; } //同步生成K3单据 if (oMain.HRedBlueFlag) { //if (dal.AddBill_PDA_Red(ref sErrMsg)) //{ // //"保存成功!"; // return true; //} //else //{ // //"保存失败!"; return false; //} } else { if (dal.AddBill_PDA(ref sErrMsg)) { //"保存成功!"; return true; } else { //"保存失败!"; return false; } } } if (oSystemParameter.omodel.Kf_EntrustOutBill_ERPMode.ToUpper() == "CLOUD") //判断同步模式是金蝶CLOUD { //if (set_SaveEntrustOutBill_CLD(oMain, "1111", oSystemParameter.omodel, ref sErrMsg) == true) //{ // //"保存成功!"; // return true; //} //else //{ // //"保存失败!"; // return false; //} } sErrMsg = "保存委外出库单失败!" + sErrMsg; return false; } public DataSet GetWW_WWPPBomList(string sWhere) { //DAL.Cls_S_CLD_WWPPBomBill_Lite dal = new DAL.Cls_S_CLD_WWPPBomBill_Lite(); //return dal.DisSourceBillList(sWhere); BLL.ClsKf_EntrustOutBill bll = new BLL.ClsKf_EntrustOutBill(); return bll.GetWW_WWPPBomList(sWhere, ref DBUtility.ClsPub.sErrInfo); //DAL.Cls_S_IF_WWPPBomBill_Lite dal = new Cls_S_IF_WWPPBomBill_Lite(); //return dal.DisSourceBillList(sWhere); } #endregion #region 委外加工出库 zuofei //返回k3委外订单投料列表 退料(红字委外出库) /// /// 返回k3委外订单投料列表 退料(红字委外出库) /// /// 过滤条件 /// public DataSet GetK3_WWPPBomBackList(string sWhere) { BLL.ClsKf_EntrustOutBackBill bll = new BLL.ClsKf_EntrustOutBackBill(); return bll.GetWW_WWPPBomBackList(sWhere, ref DBUtility.ClsPub.sErrInfo); //DAL.Cls_S_K3_WWPPBomBackBill_Lite dal = new DAL.Cls_S_K3_WWPPBomBackBill_Lite(); //return dal.DisSourceBillList(sWhere); } /// /// 生成委外退货单 /// /// /// /// /// //public bool set_SaveEntrustOutBill(Model.ClsKf_EntrustOutBillMain oMain, string sHSourceType, ref string sErrMsg) //{ // DAL.ClsKf_EntrustOutBill dal = new DAL.ClsKf_EntrustOutBill(); // dal.omodel = oMain; // if (oMain.HRedBlueFlag) // { // //if (dal.AddBill_PDA_Red(ref sErrMsg)) // //{ // // //"保存成功!"; // // return true; // //} // //else // //{ // // //"保存失败!"; // // return false; // //} // return false; // } // else // { // if (dal.AddBill_PDA(ref sErrMsg)) // { // //"保存成功!"; // return true; // } // else // { // //"保存失败!"; // return false; // } // } //} #endregion #region 销售出库 /// /// 返回发货通知单列表 /// /// /// public DataSet GetXs_SeOutStockBillList(string sWhere) { BLL.ClsKf_SellOutBill bll = new BLL.ClsKf_SellOutBill(); return bll.GetXs_SeOutStockBillList(sWhere, ref DBUtility.ClsPub.sErrInfo); //DAL.Cls_S_IF_SeOutStockBill_Lite dal = new DAL.Cls_S_IF_SeOutStockBill_Lite(); //return dal.DisSourceBillList(sWhere); } /// /// 返回销售订单列表 /// /// /// public DataSet GetXs_SeOrderBillList(string sWhere) { BLL.ClsKf_SellOutBill bll = new BLL.ClsKf_SellOutBill(); return bll.GetXs_SeOrderBillList(sWhere, ref DBUtility.ClsPub.sErrInfo); //DAL.Cls_S_IF_SEOrderBill_Lite dal = new DAL.Cls_S_IF_SEOrderBill_Lite(); //return dal.DisSourceBillList(sWhere); } /// /// 生成销售出库单 /// /// /// /// /// //public bool set_SaveSellOutBill(Model.ClsKf_SellOutBillMain oMain, string sHSourceType, ref string sErrMsg) //{ // //DAL.ClsKf_SellOutBill dal = new DAL.ClsKf_SellOutBill(); // //dal.omodel = oMain; // //if (oMain.HRedBlueFlag) // //{ // // if (dal.AddBill_PDA_Red(ref sErrMsg)) // // { // // //"保存成功!"; // // return true; // // } // // else // // { // // //"保存失败!"; // // return false; // // } // //} // //else // //{ // // if (dal.AddBill_PDA(ref sErrMsg)) // // { // // //"保存成功!"; // // return true; // // } // // else // // { // // //"保存失败!"; // // return false; // // } // //} // Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter(); // if (oSystemParameter.ShowBill(ref sErrMsg) == false) // { // sErrMsg = "获取系统参数失败! " + sErrMsg; // return false; // } // // // if (oSystemParameter.omodel.Kf_SellOutBill_ERPMode.ToUpper() == "WISE") //判断同步模式是金蝶WISE // { // DAL.ClsKf_SellOutBill dal = new DAL.ClsKf_SellOutBill(); // dal.omodel = oMain; // //上传前必填项判断 // if (oMain.HDeptID == 0) // { // sErrMsg = "部门没有选择!"; // return false; // } // if (oMain.HSupID == 0) // { // sErrMsg = "客户没有选择!"; // return false; // } // if (oMain.HSecManagerID == 0) // { // sErrMsg = "发货没有选择!"; // return false; // } // if (oMain.HKeeperID == 0) // { // sErrMsg = "保管没有选择!"; // return false; // } // //同步生成K3单据 // if (oMain.HRedBlueFlag) // { // return false; // } // else // { // //源单 发货通知单 // if (sHSourceType == "1402" || sHSourceType == "-1") // { // if (dal.AddBill_PDA(ref sErrMsg)) // { // //"保存成功!"; // return true; // } // else // { // //"保存失败!"; // return false; // } // } // else // { // // //源单 销售订单 // // if (dal.AddBill_PDA_SEOrder(ref sErrMsg)) // // { // // //"保存成功!"; // // return true; // // } // // else // // { // // //"保存失败!"; // return false; // // } // } // } // } // if (oSystemParameter.omodel.Kf_SellOutBill_ERPMode.ToUpper() == "CLOUD") //判断同步模式是金蝶CLOUD // { // //if (set_SaveSellOutBill_CLD(oMain, "2222", oSystemParameter.omodel, ref sErrMsg) == true) // //{ // // //"保存成功!"; // // return true; // //} // //else // //{ // // //"保存失败!"; // // return false; // //} // } // sErrMsg = "保存销售出库单失败!" + sErrMsg; // return false; //} public bool set_SaveSellOutBill_New(WebAPI.WebS.ClsKf_SellOutBillMain oMain, string sHSourceType, ref string sErrMsg) { WebS.WebService1 oWebs = new WebS.WebService1(); if (oWebs.set_SaveSellOutBill_New(oMain, sHSourceType, ref sErrMsg)) { sErrMsg = "保存成功!" + oMain.HBillNo; return true; } else { sErrMsg = "单据号:" + oMain.HBillNo + ", 单据ID:" + oMain.HInterID + ";" + sErrMsg; return false; } ////获取系统参数 //Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter(); //if (oSystemParameter.ShowBill(ref sErrMsg) == false) //{ // sErrMsg = "获取系统参数失败! " + sErrMsg; // return false; //} //// //if (oSystemParameter.omodel.Kf_SellOutBill_ERPMode.ToUpper() == "WISE") //判断同步模式是金蝶WISE //{ // if (SaveSellOutBill_K3(oMain, sHSourceType, oSystemParameter.omodel, ref sErrMsg)) // { // //"保存成功!"; // sErrMsg = "保存成功!" + oMain.HBillNo; // return true; // } // else // { // //"保存失败!"; // sErrMsg = sErrMsg; // return false; // } //} //if (oSystemParameter.omodel.Kf_SellOutBill_ERPMode.ToUpper() == "CLOUD") //判断同步模式是金蝶CLOUD //{ // //if (set_SaveSellOutBill_CLD(oMain, sHSourceType, oSystemParameter.omodel, ref sErrMsg) == true) // //{ // // //"保存成功!"; // // return true; // //} // //else // //{ // // //"保存失败!"; // // return false; // //} //} //sErrMsg = "保存销售出库单失败!" + sErrMsg; //return false; } /// /// 生成销售出库单K3 /// /// /// /// public bool SaveSellOutBill_K3(Model.ClsKf_SellOutBillMain oMain, string sHSourceType, Pub_Class.ClsXt_SystemParameterMain oSystemParameterMain, ref string sErrMsg) { SQLHelper.ClsCN oCn = new SQLHelper.ClsCN(); DAL.ClsKf_SellOutBill dal = new DAL.ClsKf_SellOutBill(); dal.omodel = oMain; //上传前必填项判断 if (oMain.HDeptID == 0) { sErrMsg = "部门没有选择!"; return false; } if (oMain.HSupID == 0) { sErrMsg = "客户没有选择!"; return false; } if (oMain.HSecManagerID == 0) { sErrMsg = "发货没有选择!"; return false; } if (oMain.HKeeperID == 0) { sErrMsg = "保管没有选择!"; return false; } try { //判断会计期是否合理 string s = ""; int sYear = 0; int sPeriod = 0; if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(oMain.HDate, ref sYear, ref sPeriod, ref s) == false) { sErrMsg = s; return false; } oMain.HYear = sYear; oMain.HPeriod = sPeriod; DataSet Ds; oCn.BeginTran(); //生成出入库单据 //插入子表 oCn.RunProc("EXEC h_p_Kf_SellOutBillSub_Insert_New " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "','" + sHSourceType + "'"); //插入主表 oCn.RunProc("Insert Into Kf_ICStockBillMain " + "(HBillType,HBillSubType,HInterID,HBillNo,HDate,HMainSourceBillType" + ",HYear,HPeriod,HRemark,HMaker,HMakeDate" + ",HSupID,HWHID,HSCWHID,HEmpID,HManagerID,HSecManagerID" + ",HKeeperID,HDeptID,HExplanation,HInnerBillNo,HRedBlueFlag" + ") " + " values('1205','1205'," + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "',convert(varchar(10),getdate(),120),'" + oMain.HMainSourceBillType + "'" + ", " + oMain.HYear.ToString() + "," + oMain.HPeriod.ToString() + ",'" + oMain.HRemark + "','" + oMain.HMaker + "',convert(varchar(10),getdate(),120)" + ", " + oMain.HSupID.ToString() + "," + oMain.HWHID.ToString() + "," + oMain.HSCWHID.ToString() + "," + oMain.HEmpID.ToString() + "," + oMain.HManagerID.ToString() + "," + oMain.HSecManagerID.ToString() + ", " + oMain.HKeeperID.ToString() + "," + oMain.HDeptID.ToString() + ",'" + oMain.HExplanation + "','" + oMain.HInnerBillNo + "'," + DBUtility.ClsPub.BoolToString(oMain.HRedBlueFlag) + ") "); //新增K3子表、主表 oCn.RunProc("exec h_p_IFK3_ToERP_SellOutBill_Insert_New " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "'," + oMain.HBillerID.ToString() + ",'" + sHSourceType + "'"); //更新关联数量 if (sHSourceType == "1401") //销售订单 { oCn.RunProc("exec h_p_Xs_UpDateRelation_SeOrderToSellOut_Add " + oMain.HInterID.ToString()); //回填K3关联数量 oCn.RunProc("exec h_p_IFK3_ToERP_SellOutBill_UpdateBillRelateData_SeOrder_New " + oMain.HInterID.ToString()); } else if (sHSourceType == "1402") //发货通知单 { oCn.RunProc("exec h_p_Xs_UpDateRelation_SeOutStockToSellOut_Add " + oMain.HInterID.ToString()); //回填K3关联数量 oCn.RunProc("exec h_p_IFK3_ToERP_SellOutBill_UpdateBillRelateData_SeOutStock_New " + oMain.HInterID.ToString()); } else //无源单 { //回填K3关联数量 oCn.RunProc("exec h_p_IFK3_ToERP_SellOutBill_UpdateBillRelateData_New " + oMain.HInterID.ToString()); } //判断库存更新控制状态(0为审核改变库存,1为保存改变库存) DataSet DS = oCn.RunProcReturn("exec h_p_IFK3_SaveUpdateStock ", "h_p_IFK3_SaveUpdateStock"); if (DS == null || DS.Tables[1].Rows.Count == 0) { sErrMsg = "判断库存更新控制状态,未知错误!"; oCn.RollBack(); return false; } else { if (DBUtility.ClsPub.isLong(DS.Tables[1].Rows[0][0]) == 1) { //更新K3库存 oCn.RunProc("exec h_p_IFK3_ToERP_SellOutBill_UpdateStock_New " + oMain.HInterID.ToString()); oCn.RunProc("exec h_p_IFK3_ToERP_SellOutBill_UpdateOrderStock_New " + oMain.HInterID.ToString()); //审核单据 if (oSystemParameterMain.Kf_SellOutBill_AutoCheck == "Y") //系统参数 自动审核 { //审核单据 oCn.RunProc("Update Kf_ICStockBillMain Set HChecker='" + oMain.HMaker + "',HCheckDate=convert(varchar(10),getdate(),120) where HInterID= " + oMain.HInterID.ToString()); //审核K3单据 oCn.RunProc("exec h_p_IFK3_ToERP_SellOutBill_Check_New " + oMain.HInterID.ToString() + "," + oMain.HBillerID.ToString()); } } else { //审核单据 if (oSystemParameterMain.Kf_SellOutBill_AutoCheck == "Y") //系统参数 自动审核 { //审核单据 oCn.RunProc("Update Kf_ICStockBillMain Set HChecker='" + oMain.HMaker + "',HCheckDate=convert(varchar(10),getdate(),120) where HInterID= " + oMain.HInterID.ToString()); //审核K3单据 oCn.RunProc("exec h_p_IFK3_ToERP_SellOutBill_Check_New " + oMain.HInterID.ToString() + "," + oMain.HBillerID.ToString()); //更新K3库存 oCn.RunProc("exec h_p_IFK3_ToERP_SellOutBill_UpdateStock_New " + oMain.HInterID.ToString()); oCn.RunProc("exec h_p_IFK3_ToERP_SellOutBill_UpdateOrderStock_New " + oMain.HInterID.ToString()); } } } //K3负库存判断 if (oSystemParameterMain.WMS_ERPStockCtl == "Y") //系统参数 提交后ERP负库存控制 { //判断条码库存是否异常(负库存、库存大于条码初始化) Ds = oCn.RunProcReturn("EXEC h_p_KF_ICInventoryBarCodeQtyCtrl " + oMain.HInterID.ToString(), "h_p_KF_ICInventoryBarCodeQtyCtrl"); if (DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0][0]) == 1) { } else { sErrMsg = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0][1]); oCn.RollBack(); return false; } } //同步生成采购入库单 if (oSystemParameterMain.Kf_SellOutBill_AutoSavePOStockInBill == "Y") //系统参数 同步生成采购入库单 { //判断所登录用户账号是否绑定了对应供应商 DataSet Ds2 = oCn.RunProcReturn(" select HSupID from Gy_Czygl where Czymc= '" + oMain.HMaker + "'", "Gy_Czygl"); if (Ds2 == null || Ds2.Tables[0].Rows.Count == 0) { sErrMsg = "所登录用户账号不正确,请重新登录!"; oCn.RollBack(); return false; } else if (DBUtility.ClsPub.isLong(Ds2.Tables[0].Rows[0]["HSupID"]) == 0) { sErrMsg = "所登录用户账号没有绑定对应供应商,无法同步生成外购入库单,生成单据失败,请先设置对应供应商!"; oCn.RollBack(); return false; } long HNewInterID = DBUtility.ClsPub.CreateBillID_Prod("1201", ref sErrMsg); string HNewBillNo = DBUtility.ClsPub.CreateBillCode_Prod("1201", ref sErrMsg, true); string HNewSourceType = "-1"; //无源单 //新增ERP子表、主表 oCn.RunProc("exec h_p_Kf_SellOutBill_AutoSavePOStockInBill " + oMain.HInterID.ToString() + "," + HNewInterID + ",'" + HNewBillNo + "'"); //新增K3子表、主表 oCn.RunProc("exec h_p_IFK3_ToERP_POStockInBill_Insert_New " + HNewInterID + ",'" + HNewBillNo + "'," + oMain.HBillerID.ToString() + ",'" + HNewSourceType + "'"); //回填K3关联数量 oCn.RunProc("exec h_p_IFK3_ToERP_POStockInBill_UpdateBillRelateData_New " + HNewInterID); //审核单据 if (oSystemParameterMain.Kf_POStockInBill_AutoCheck == "Y") //系统参数 自动审核 { //审核单据 oCn.RunProc("Update Kf_ICStockBillMain Set HChecker='" + oMain.HMaker + "',HCheckDate=convert(varchar(10),getdate(),120) where HInterID= " + HNewInterID); //审核K3单据 oCn.RunProc("exec h_p_IFK3_ToERP_POStockInBill_Check_New " + HNewInterID + "," + oMain.HBillerID.ToString()); //更新K3库存 oCn.RunProc("exec h_p_IFK3_ToERP_POStockInBill_UpdateStock_New " + HNewInterID); oCn.RunProc("exec h_p_IFK3_ToERP_POStockInBill_UpdateOrderStock_New " + HNewInterID); } } sErrMsg = "新增单据成功!"; oCn.Commit(); return true; } catch (Exception e) { sErrMsg = "生成销售出库单失败!" + e.Message; oCn.RollBack(); return false; } } #endregion #region 销售出库-红字 //返回退货通知单列表 (红字销售出库) /// /// 返回退货通知单列表(红字销售出库) /// /// 过滤条件 /// public DataSet GetXs_SeOutStockBackBillList(string sWhere) { //DAL.Cls_S_IF_SeOutStockBackBill_Lite dal = new DAL.Cls_S_IF_SeOutStockBackBill_Lite(); //return dal.DisSourceBillList(sWhere); BLL.ClsKf_SellOutBackBill bll = new BLL.ClsKf_SellOutBackBill(); return bll.GetXs_SeOutStockBackBillList(sWhere, ref DBUtility.ClsPub.sErrInfo); } //返回销售订单列表 (红字销售出库) /// /// 返回销售订单列表(红字销售出库) /// /// 过滤条件 /// public DataSet GetXs_SeOrderBillRedList(string sWhere) { //此处需改为IF视图 //DAL.Cls_S_K3_SEOrderBill_Red_Lite dal = new DAL.Cls_S_K3_SEOrderBill_Red_Lite(); //return dal.DisSourceBillList(sWhere); BLL.ClsKf_SellOutBackBill bll = new BLL.ClsKf_SellOutBackBill(); return bll.GetXs_SeOrderBackBillList(sWhere, ref DBUtility.ClsPub.sErrInfo); } //返回退货通知单列表 (红字销售出库) /// /// 返回退货通知单列表(红字销售出库) /// /// 过滤条件 /// public DataSet GetXs_SeOutBackBillList(string sWhere) { //DAL.Cls_S_IF_SeOutBackBill_Lite dal = new DAL.Cls_S_IF_SeOutBackBill_Lite(); //return dal.DisSourceBillList(sWhere); DataSet ds=null; return ds; } #endregion #region 其他入库单 /// /// 生成其他入库单K3 /// /// /// /// public bool SaveOtherInBill_K3(Model.ClsKf_OtherInBillMain oMain, string sHSourceType, Pub_Class.ClsXt_SystemParameterMain oSystemParameterMain, ref string sErrMsg) { SQLHelper.ClsCN oCn = new SQLHelper.ClsCN(); DAL.ClsKf_OtherInBill dal = new DAL.ClsKf_OtherInBill(); dal.omodel = oMain; //上传前必填项判断 if (oMain.HDeptID == 0) { sErrMsg = "部门没有选择!"; return false; } if (oMain.HSecManagerID == 0) { sErrMsg = "验收没有选择!"; return false; } if (oMain.HKeeperID == 0) { sErrMsg = "保管没有选择!"; return false; } try { //判断会计期是否合理 string s = ""; int sYear = 0; int sPeriod = 0; if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(oMain.HDate, ref sYear, ref sPeriod, ref s) == false) { sErrMsg = s; return false; } oMain.HYear = sYear; oMain.HPeriod = sPeriod; DataSet Ds; oCn.BeginTran(); //生成出入库单据 //插入子表 oCn.RunProc("EXEC h_p_Kf_OtherInBillSub_Insert_New " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "','" + sHSourceType + "'"); //插入主表 oCn.RunProc("Insert Into Kf_ICStockBillMain " + "(HBillType,HBillSubType,HInterID,HBillNo,HDate,HMainSourceBillType" + ",HYear,HPeriod,HRemark,HMaker,HMakeDate" + ",HSupID,HWHID,HSCWHID,HEmpID,HManagerID,HSecManagerID" + ",HKeeperID,HDeptID,HExplanation,HInnerBillNo,HRedBlueFlag" + ") " + " values('1203','1203'," + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "',convert(varchar(10),getdate(),120),'" + oMain.HMainSourceBillType + "'" + ", " + oMain.HYear.ToString() + "," + oMain.HPeriod.ToString() + ",'" + oMain.HRemark + "','" + oMain.HMaker + "',convert(varchar(10),getdate(),120)" + ", " + oMain.HSupID.ToString() + "," + oMain.HWHID.ToString() + "," + oMain.HSCWHID.ToString() + "," + oMain.HEmpID.ToString() + "," + oMain.HManagerID.ToString() + "," + oMain.HSecManagerID.ToString() + ", " + oMain.HKeeperID.ToString() + "," + oMain.HDeptID.ToString() + ",'" + oMain.HExplanation + "','" + oMain.HInnerBillNo + "'," + DBUtility.ClsPub.BoolToString(oMain.HRedBlueFlag) + ") "); //新增K3子表、主表 oCn.RunProc("exec h_p_IFK3_ToERP_OtherInBill_Insert_New " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "'," + oMain.HBillerID.ToString() + ",'" + sHSourceType + "'"); //更新关联数量 //回填K3关联数量 oCn.RunProc("exec h_p_IFK3_ToERP_OtherInBill_UpdateBillRelateData_New " + oMain.HInterID.ToString()); //判断库存更新控制状态(0为审核改变库存,1为保存改变库存) DataSet DS = oCn.RunProcReturn("exec h_p_IFK3_SaveUpdateStock ", "h_p_IFK3_SaveUpdateStock"); if (DS == null || DS.Tables[1].Rows.Count == 0) { sErrMsg = "判断库存更新控制状态,未知错误!"; oCn.RollBack(); return false; } else { if (DBUtility.ClsPub.isLong(DS.Tables[1].Rows[0][0]) == 1) //1为保存改变库存 { //更新K3库存 oCn.RunProc("exec h_p_IFK3_ToERP_OtherInBill_UpdateStock_New " + oMain.HInterID.ToString()); oCn.RunProc("exec h_p_IFK3_ToERP_OtherInBill_UpdateOrderStock_New " + oMain.HInterID.ToString()); //审核单据 if (oSystemParameterMain.Kf_OtherInBill_AutoCheck == "Y") //系统参数 自动审核 { //审核单据 oCn.RunProc("Update Kf_ICStockBillMain Set HChecker='" + oMain.HMaker + "',HCheckDate=convert(varchar(10),getdate(),120) where HInterID= " + oMain.HInterID.ToString()); //审核K3单据 oCn.RunProc("exec h_p_IFK3_ToERP_OtherInBill_Check_New " + oMain.HInterID.ToString() + "," + oMain.HBillerID.ToString()); } } else//0为审核改变库存 { //审核单据 if (oSystemParameterMain.Kf_OtherInBill_AutoCheck == "Y") //系统参数 自动审核 { //审核单据 oCn.RunProc("Update Kf_ICStockBillMain Set HChecker='" + oMain.HMaker + "',HCheckDate=convert(varchar(10),getdate(),120) where HInterID= " + oMain.HInterID.ToString()); //审核K3单据 oCn.RunProc("exec h_p_IFK3_ToERP_OtherInBill_Check_New " + oMain.HInterID.ToString() + "," + oMain.HBillerID.ToString()); //更新K3库存 oCn.RunProc("exec h_p_IFK3_ToERP_OtherInBill_UpdateStock_New " + oMain.HInterID.ToString()); oCn.RunProc("exec h_p_IFK3_ToERP_OtherInBill_UpdateOrderStock_New " + oMain.HInterID.ToString()); } } } sErrMsg = "新增单据成功!"; oCn.Commit(); return true; } catch (Exception e) { sErrMsg = "生成其他入库单失败!" + e.Message; oCn.RollBack(); return false; } } //生成其他入库单 //public bool set_SaveOtherInBill_New(Model.ClsKf_OtherInBillMain oMain, string sHSourceType, ref string sErrMsg) //{ // //获取系统参数 // Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter(); // if (oSystemParameter.ShowBill(ref sErrMsg) == false) // { // sErrMsg = "获取系统参数失败! " + sErrMsg; // return false; // } // // // if (oSystemParameter.omodel.Kf_OtherInBill_ERPMode.ToUpper() == "WISE") //判断同步模式是金蝶WISE // { // if (SaveOtherInBill_K3(oMain, sHSourceType, oSystemParameter.omodel, ref sErrMsg)) // { // //"保存成功!"; // sErrMsg = "保存成功!" + oMain.HBillNo; // return true; // } // else // { // //"保存失败!"; // sErrMsg = sErrMsg; // return false; // } // } // if (oSystemParameter.omodel.Kf_OtherInBill_ERPMode.ToUpper() == "CLOUD") //判断同步模式是金蝶CLOUD // { // ////上传前必填项判断 // //if (oMain.HDeptID == 0) // //{ // // sErrMsg = "部门没有选择!"; // // return false; // //} // //同步生成CLOUD单据 // //if (SaveOtherInBill_CLD(oMain, sHSourceType, oSystemParameter.omodel, ref sErrMsg) == true) // //{ // // //"保存成功!"; // // return true; // //} // //else // //{ // // //"保存失败!"; // // return false; // //} // } // sErrMsg = "保存其他入库单失败!" + sErrMsg; // return false; //} public bool set_SaveOtherInBill_New(WebAPI.WebS.ClsKf_OtherInBillMain oMain, string sHSourceType, WebS.ClsXt_SystemParameterMain oSystemParameterMain, ref string sErrMsg) { WebS.WebService1 oWebs = new WebS.WebService1();//set_SaveOtherInBill_CLD_New if (oWebs.set_SaveOtherInBill_CLD_New(oMain, sHSourceType, oSystemParameterMain, ref sErrMsg)) { sErrMsg = "保存成功!" + oMain.HBillNo; return true; } else { sErrMsg = "单据号:" + oMain.HBillNo + ", 单据ID:" + oMain.HInterID + ";" + sErrMsg; return false; } } public bool SaveOtherInBill_CLD(Model.ClsKf_OtherInBillMain oMain, string sHSourceType, Pub_Class.ClsXt_SystemParameterMain oSystemParameterMain, ref string sErrMsg) { SQLHelper.ClsCN oCn = new SQLHelper.ClsCN(); try { //判断会计期是否合理 string s = ""; int sYear = 0; int sPeriod = 0; if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(oMain.HDate, ref sYear, ref sPeriod, ref s) == false) { sErrMsg = s; return false; } oMain.HYear = sYear; oMain.HPeriod = sPeriod; oCn.BeginTran(); //生成出入库单据 //插入子表 oCn.RunProc("EXEC h_p_Kf_OtherInBillSub_Insert_New " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "','" + sHSourceType + "'"); //插入主表 oCn.RunProc("Insert Into Kf_ICStockBillMain " + "(HBillType,HBillSubType,HInterID,HBillNo,HDate,HMainSourceBillType" + ",HYear,HPeriod,HRemark,HMaker,HMakeDate" + ",HSupID,HWHID,HSCWHID,HEmpID,HManagerID,HSecManagerID" + ",HKeeperID,HDeptID,HExplanation,HInnerBillNo,HRedBlueFlag" + ",HStockStyle" + ",HSTOCKORGID,HOWNERID" + ") " + " values('1203','1203'," + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "',convert(varchar(10),getdate(),120),'" + oMain.HMainSourceBillType + "'" + ", " + oMain.HYear.ToString() + "," + oMain.HPeriod.ToString() + ",'" + oMain.HRemark + "','" + oMain.HMaker + "',convert(varchar(10),getdate(),120)" + ", " + oMain.HSupID.ToString() + "," + oMain.HWHID.ToString() + "," + oMain.HSCWHID.ToString() + "," + oMain.HEmpID.ToString() + "," + oMain.HManagerID.ToString() + "," + oMain.HSecManagerID.ToString() + ", " + oMain.HKeeperID.ToString() + "," + oMain.HDeptID.ToString() + ",'" + oMain.HExplanation + "','" + oMain.HInnerBillNo + "'," + DBUtility.ClsPub.BoolToString(oMain.HRedBlueFlag) + ",'" + oMain.HStockStyle + "'" + ", " + oMain.HSTOCKORGID.ToString() + "," + oMain.HOWNERID.ToString() + ") "); //更新关联数量 if (oSystemParameterMain.Kf_OtherInBill_AutoCheck == "Y") //系统参数 自动审核 { //审核单据 oCn.RunProc("Update Kf_ICStockBillMain Set HChecker='" + oMain.HMaker + "',HCheckDate=convert(varchar(10),getdate(),120) where HInterID= " + oMain.HInterID.ToString()); } //根据TMP表 返回 子表信息 DataSet Ds; Ds = oCn.RunProcReturn("exec h_p_Kf_GetOtherInBill_CLD " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "'", "h_p_Kf_GetOtherInBill_CLD"); if (Ds == null || Ds.Tables[0].Rows.Count == 0 || Ds.Tables[1].Rows.Count == 0) { sErrMsg = "获取子表信息失败!"; oCn.RollBack(); return false; } else { string sJson_StockStyle = ""; if (oSystemParameterMain.WMS_CampanyName == "韩电") //系统参数 客户定制化名称 空白为通用 { sJson_StockStyle = "\"F_RKLX\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["F_RKLX"]) + "\","; //入库类型 } else if (oSystemParameterMain.WMS_CampanyName == "四维尔") //系统参数 客户定制化名称 空白为通用 { sJson_StockStyle = "\"F_ABCD_COMBO\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["F_ABCD_COMBO"]) + "\","; //其他入库业务类型 } else { sJson_StockStyle = ""; } string sJson_Main = "{\"Creator\":\"\",\"NeedUpDateFields\":[],\"NeedReturnFields\":[],\"IsDeleteEntry\":\"True\",\"SubSystemId\":\"\",\"IsVerifyBaseDataField\":\"false\",\"IsEntryBatchFill\":\"True\",\"Model\":{\"FBillNo\":\"" + oMain.HBillNo + "\"," + //\"FID\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FID"]) + "\"," + "\"FBillTypeID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FBillTypeID"]) + "\"}," + "\"FStockOrgId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FStockOrgId"]) + "\"}," + "\"FStockDirect\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FStockDirect"]) + "\"," + "\"FDate\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FDate"]) + "\"," + //"\"FSUPPLIERID\":{\"FNumber\":\"" + oMain.HSupplyID.ToString() + "\"}," + "\"FDEPTID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FDEPTID"]) + "\"}," + //"\"FSTOCKERID\":{\"FName\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSTOCKERID"]) + "\"}," + //"\"FSTOCKERGROUPID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSTOCKERGROUPID"]) + "\"}," + "\"FOwnerTypeIdHead\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FOwnerTypeIdHead"]) + "\"," + "\"FOwnerIdHead\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FOwnerIdHead"]) + "\"}," + "\"FNOTE\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FNOTE"]) + "\"," + "\"FBaseCurrId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FBaseCurrId"]) + "\"}," + "\"FScanBox\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FScanBox"]) + "\"," + sJson_StockStyle + "\"FEntity\":["; string sJson_Entry = ""; for (int i = 0; i < Ds.Tables[1].Rows.Count; i++) { if (sJson_Entry != "") { sJson_Entry = sJson_Entry + " , "; } string sJson_BatchNo = ""; string sJson_StockPlace = ""; string sJson_FAUXPROPID = ""; if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["HISBATCHMANAGE"]) == "1") //是否启用批次管理 { sJson_BatchNo = " \"FLOT\": {\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FLOT"]) + "\"}, \"FLOT_TEXT\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FLOT"]) + "\" , "; } else { sJson_BatchNo = ""; } if (oSystemParameterMain.WMS_CampanyName == "卓力") //系统参数 客户定制化名称 空白为通用 { sJson_StockPlace = "\"FStockLocId\":{\"FSTOCKLOCID__FF100002\":{\"FNUMBER\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FStockLocId"]) + "\"}},"; } else { if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FStockLocId"]) == "") { sJson_StockPlace = ""; } else { sJson_StockPlace = Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FStockLocId"]) + "\"}},"; } } //辅助属性 if (oSystemParameterMain.WMS_CampanyName == "卓力" || oSystemParameterMain.WMS_CampanyName == "韩电") //系统参数 客户定制化名称 空白为通用 { sJson_FAUXPROPID = ""; } else { sJson_FAUXPROPID = " \"FAUXPROPID\":{\"FAUXPROPID__FF100002\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FAUXPROPID"]) + "\"}},"; } //自定义字段处理 sJson_Entry = sJson_Entry + "{\"FEntryID\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntryID"]) + "\"," + "\"FMATERIALID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FMATERIALID"]) + "\"}," + sJson_FAUXPROPID + //"\"FAuxPropId\":{\"FAUXPROPID__FF100001\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FAuxPropId"]) + "\"}," + //"\"FAUXPROPID__FF100030\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FAUXPROPID__FF100030"]) + "\"}," + //"\"FAUXPROPID__FF100002\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FAUXPROPID__FF100002"]) + "\"}}," + "\"FUnitID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FUnitID"]) + "\"}," + "\"FSTOCKSTATUSID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSTOCKSTATUSID"]) + "\"}," + "\"FQty\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FQty"]) + "," + "\"FBaseUnitId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBaseUnitId"]) + "\"}," + "\"FSTOCKID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSTOCKID"]) + "\"}," + sJson_StockPlace + //"\"FStockLocId\":{\"FSTOCKLOCID__FF100002\":{\"FNUMBER\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FStockLocId"]) + "\"}}," + //"\"FLOT\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FLOT"]) + "\"}," + sJson_BatchNo + "\"FEntryNote\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntryNote"]) + "\"," + //"\"FBOMID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBOMID"]) + "\"}," + //"\"FPRODUCEDATE\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FPRODUCEDATE"]) + "," + //"\"FMTONO\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FMTONO"]) + "," + "\"FExtAuxUnitId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FExtAuxUnitId"]) + "\"}," + //"\"FProjectNo\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FProjectNo"]) + "," + "\"FExtAuxUnitQty\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FExtAuxUnitQty"]) + "," + "\"FOWNERTYPEID\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FOWNERTYPEID"]) + "\"," + "\"FOWNERID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FOWNERID"]) + "\"}," + "\"FKEEPERTYPEID\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FKEEPERTYPEID"]) + "\"," + "\"FKEEPERID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FKEEPERID"]) + "\"}} "; } //"\"FInStockEntry_Link_FSId\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FInStockEntry_Link_FSId"]) + string sJson_End = " ] }}"; string sJson = sJson_Main + sJson_Entry + sJson_End; //从配置文件获取 CLOUD网址、账套信息、登录用户、登录密码 if (!Pub_Class.ClsPub.GetCLOUDLoginInfo(ref Pub_Class.ClsPub.sExeReturnInfo)) { sErrMsg = Pub_Class.ClsPub.sExeReturnInfo; return false; } //获取CLOUD账号密码 string sCLOUDUseName = Pub_Class.ClsPub.sCLOUDUseName; string sCLOUDPsd = Pub_Class.ClsPub.sCLOUDPsd; DataSet ds11 = get_SaveCLOUDUseNameandPsd(oMain.HInterID); if (ds11 == null || ds11.Tables[0].Rows.Count == 0) { } else { sCLOUDUseName = DBUtility.ClsPub.isStrNull(ds11.Tables[0].Rows[0]["HCloudUserName"]); sCLOUDPsd = DBUtility.ClsPub.isStrNull(ds11.Tables[0].Rows[0]["HCloudUserPsd"]); } //生成 其他入库单 1个物料1单 string HReturn; //ApiClient client = new ApiClient(Pub_Class.ClsPub.sCLOUDUrl); //string dbId = Pub_Class.ClsPub.sCLOUDAcc; //AotuTest117 //bool bLogin = client.Login(dbId, sCLOUDUseName, sCLOUDPsd, 2052); //if (bLogin) //{ // var result = client.Execute("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Save", // new object[] { "STK_MISCELLANEOUS", sJson }); // if (oSystemParameterMain.Kf_OtherInBill_AutoCheck == "Y") //系统参数 自动审核 // { // string sJson2 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}"; // var result2 = client.Execute("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Submit", // new object[] { "STK_MISCELLANEOUS", sJson2 }); // string sJson3 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}"; // var result3 = client.Execute("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Audit", // new object[] { "STK_MISCELLANEOUS", sJson3 }); // HReturn = result.ToString() + "," + result2.ToString() + "," + result3.ToString(); // } // else // { // HReturn = result.ToString(); // } // if (HReturn.Contains("\"IsSuccess\":false") == true) // { // sErrMsg = "其他入库单失败!" + HReturn + sJson; // oCn.RollBack(); return false; //} //else //{ // oCn.Commit(); // return true; //} //} //else //{ // sErrMsg = "其他入库单失败!登录失败!"; // oCn.RollBack(); // return false; //} } } catch (Exception e) { sErrMsg = "其他入库单失败!" + e.Message; oCn.RollBack(); return false; } } ///生成其他入库单 public bool set_SaveOtherInBill(Model.ClsKf_OtherInBillMain oMain, ref string sErrMsg) { //获取系统参数 Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter(); if (oSystemParameter.ShowBill(ref sErrMsg) == false) { sErrMsg = "获取系统参数失败! " + sErrMsg; return false; } // if (oSystemParameter.omodel.Kf_OtherInBill_ERPMode.ToUpper() == "WISE") //判断同步模式是金蝶WISE { DAL.ClsKf_OtherInBill dal = new DAL.ClsKf_OtherInBill(); dal.omodel = oMain; //上传前必填项判断 if (oMain.HDeptID == 0) { sErrMsg = "部门没有选择!"; return false; } if (oMain.HSecManagerID == 0) { sErrMsg = "验收没有选择!"; return false; } if (oMain.HKeeperID == 0) { sErrMsg = "保管没有选择!"; return false; } //同步生成K3单据 if (oMain.HRedBlueFlag) { //if (dal.AddBill_PDA_Red(ref sErrMsg)) //{ // //"保存成功!"; // return true; //} //else //{ //"保存失败!"; return false; //} } else { if (dal.AddBill_PDA(ref sErrMsg)) { //"保存成功!"; return true; } else { //"保存失败!"; return false; } } } if (oSystemParameter.omodel.Kf_OtherInBill_ERPMode.ToUpper() == "CLOUD") //判断同步模式是金蝶CLOUD { //上传前必填项判断 if (oMain.HDeptID == 0) { sErrMsg = "部门没有选择!"; return false; } //同步生成CLOUD单据 //if (set_SaveOtherInBill_CLD(oMain, "1111", oSystemParameter.omodel, ref sErrMsg) == true) //{ // //"保存成功!"; // return true; //} //else //{ // //"保存失败!"; // return false; //} } sErrMsg = "保存其他入库单失败!" + sErrMsg; return false; } #endregion #region 其他出库单 /// /// 生成其他出库单K3 /// /// /// /// public bool SaveOtherOutBill_K3(Model.ClsKf_OtherOutBillMain oMain, string sHSourceType, Pub_Class.ClsXt_SystemParameterMain oSystemParameterMain, ref string sErrMsg) { SQLHelper.ClsCN oCn = new SQLHelper.ClsCN(); DAL.ClsKf_OtherOutBill dal = new DAL.ClsKf_OtherOutBill(); dal.omodel = oMain; //上传前必填项判断 if (oMain.HDeptID == 0) { sErrMsg = "部门没有选择!"; return false; } if (oMain.HSecManagerID == 0) { sErrMsg = "领料没有选择!"; return false; } if (oMain.HKeeperID == 0) { sErrMsg = "保管没有选择!"; return false; } try { //判断会计期是否合理 string s = ""; int sYear = 0; int sPeriod = 0; if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(oMain.HDate, ref sYear, ref sPeriod, ref s) == false) { sErrMsg = s; return false; } oMain.HYear = sYear; oMain.HPeriod = sPeriod; DataSet Ds; oCn.BeginTran(); //生成出入库单据 //插入子表 oCn.RunProc("EXEC h_p_Kf_OtherOutBillSub_Insert_New " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "','" + sHSourceType + "'"); //插入主表 oCn.RunProc("Insert Into Kf_ICStockBillMain " + "(HBillType,HBillSubType,HInterID,HBillNo,HDate,HMainSourceBillType" + ",HYear,HPeriod,HRemark,HMaker,HMakeDate" + ",HSupID,HWHID,HSCWHID,HEmpID,HManagerID,HSecManagerID" + ",HKeeperID,HDeptID,HExplanation,HInnerBillNo,HRedBlueFlag" + ") " + " values('1206','1206'," + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "',convert(varchar(10),getdate(),120),'" + oMain.HMainSourceBillType + "'" + ", " + oMain.HYear.ToString() + "," + oMain.HPeriod.ToString() + ",'" + oMain.HRemark + "','" + oMain.HMaker + "',convert(varchar(10),getdate(),120)" + ", " + oMain.HSupID.ToString() + "," + oMain.HWHID.ToString() + "," + oMain.HSCWHID.ToString() + "," + oMain.HEmpID.ToString() + "," + oMain.HManagerID.ToString() + "," + oMain.HSecManagerID.ToString() + ", " + oMain.HKeeperID.ToString() + "," + oMain.HDeptID.ToString() + ",'" + oMain.HExplanation + "','" + oMain.HInnerBillNo + "'," + DBUtility.ClsPub.BoolToString(oMain.HRedBlueFlag) + ") "); //新增K3子表、主表 oCn.RunProc("exec h_p_IFK3_ToERP_OtherOutBill_Insert_New " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "'," + oMain.HBillerID.ToString() + ",'" + sHSourceType + "'"); //更新关联数量 //回填K3关联数量 oCn.RunProc("exec h_p_IFK3_ToERP_OtherOutBill_UpdateBillRelateData_New " + oMain.HInterID.ToString()); //判断库存更新控制状态(0为审核改变库存,1为保存改变库存) DataSet DS = oCn.RunProcReturn("exec h_p_IFK3_SaveUpdateStock ", "h_p_IFK3_SaveUpdateStock"); if (DS == null || DS.Tables[1].Rows.Count == 0) { sErrMsg = "判断库存更新控制状态,未知错误!"; oCn.RollBack(); return false; } else { if (DBUtility.ClsPub.isLong(DS.Tables[1].Rows[0][0]) == 1) { //更新K3库存 oCn.RunProc("exec h_p_IFK3_ToERP_OtherOutBill_UpdateStock_New " + oMain.HInterID.ToString()); oCn.RunProc("exec h_p_IFK3_ToERP_OtherOutBill_UpdateOrderStock_New " + oMain.HInterID.ToString()); //审核单据 if (oSystemParameterMain.Kf_OtherOutBill_AutoCheck == "Y") //系统参数 自动审核 { //审核单据 oCn.RunProc("Update Kf_ICStockBillMain Set HChecker='" + oMain.HMaker + "',HCheckDate=convert(varchar(10),getdate(),120) where HInterID= " + oMain.HInterID.ToString()); //审核K3单据 oCn.RunProc("exec h_p_IFK3_ToERP_OtherOutBill_Check_New " + oMain.HInterID.ToString() + "," + oMain.HBillerID.ToString()); } } else { //审核单据 if (oSystemParameterMain.Kf_OtherOutBill_AutoCheck == "Y") //系统参数 自动审核 { //审核单据 oCn.RunProc("Update Kf_ICStockBillMain Set HChecker='" + oMain.HMaker + "',HCheckDate=convert(varchar(10),getdate(),120) where HInterID= " + oMain.HInterID.ToString()); //审核K3单据 oCn.RunProc("exec h_p_IFK3_ToERP_OtherOutBill_Check_New " + oMain.HInterID.ToString() + "," + oMain.HBillerID.ToString()); //更新K3库存 oCn.RunProc("exec h_p_IFK3_ToERP_OtherOutBill_UpdateStock_New " + oMain.HInterID.ToString()); oCn.RunProc("exec h_p_IFK3_ToERP_OtherOutBill_UpdateOrderStock_New " + oMain.HInterID.ToString()); } } } //K3负库存判断 if (oSystemParameterMain.WMS_ERPStockCtl == "Y") //系统参数 提交后ERP负库存控制 { //判断条码库存是否异常(负库存、库存大于条码初始化) Ds = oCn.RunProcReturn("EXEC h_p_KF_ICInventoryBarCodeQtyCtrl " + oMain.HInterID.ToString(), "h_p_KF_ICInventoryBarCodeQtyCtrl"); if (DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0][0]) == 1) { } else { sErrMsg = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0][1]); oCn.RollBack(); return false; } } sErrMsg = "新增单据成功!"; oCn.Commit(); return true; } catch (Exception e) { sErrMsg = "生成其他出库单失败!" + e.Message; oCn.RollBack(); return false; } } //生成其他出库单 public bool set_SaveOtherOutBill_New(WebAPI.WebS.ClsKf_OtherOutBillMain oMain, string sHSourceType, WebS.ClsXt_SystemParameterMain oSystemParameterMain, ref string sErrMsg) { WebS.WebService1 oWebs = new WebS.WebService1();//set_SaveOtherInBill_CLD_New if (oWebs.set_SaveOtherOutBill_CLD_New(oMain, sHSourceType, oSystemParameterMain, ref sErrMsg)) { sErrMsg = "保存成功!" + oMain.HBillNo; return true; } else { sErrMsg = "单据号:" + oMain.HBillNo + ", 单据ID:" + oMain.HInterID + ";" + sErrMsg; return false; } } public bool set_SaveOtherOutBill(Model.ClsKf_OtherOutBillMain oMain, string sHSourceType, ref string sErrMsg) { //获取系统参数 Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter(); if (oSystemParameter.ShowBill(ref sErrMsg) == false) { sErrMsg = "获取系统参数失败! " + sErrMsg; return false; } // if (oSystemParameter.omodel.Kf_OtherOutBill_ERPMode.ToUpper() == "WISE") //判断同步模式是金蝶WISE { DAL.ClsKf_OtherOutBill dal = new DAL.ClsKf_OtherOutBill(); dal.omodel = oMain; //上传前必填项判断 if (oMain.HDeptID == 0) { sErrMsg = "部门没有选择!"; return false; } if (oMain.HSecManagerID == 0) { sErrMsg = "领料没有选择!"; return false; } if (oMain.HKeeperID == 0) { sErrMsg = "保管没有选择!"; return false; } //同步生成K3单据 if (oMain.HRedBlueFlag) { //if (dal.AddBill_PDA_Red(ref sErrMsg)) //{ // //"保存成功!"; // return true; //} //else //{ //"保存失败!"; return false; //} } else { if (dal.AddBill_PDA(ref sErrMsg)) { //"保存成功!"; return true; } else { //"保存失败!"; return false; } } } if (oSystemParameter.omodel.Kf_OtherOutBill_ERPMode.ToUpper() == "CLOUD") //判断同步模式是金蝶CLOUD { //上传前必填项判断 if (oMain.HDeptID == 0) { sErrMsg = "部门没有选择!"; return false; } //同步生成CLOUD单据 //if (set_SaveOtherOutBill_CLD(oMain, sHSourceType, oSystemParameter.omodel, ref sErrMsg) == true) //{ // //"保存成功!"; // return true; //} //else //{ // //"保存失败!"; // return false; //} } sErrMsg = "保存其他出库单失败!" + sErrMsg; return false; } #endregion #region 组装单 public DataSet GetSc_AssemblyBill(long HInterID, string sBillType, string sWhere) { SQLHelper.ClsCN oCn = new SQLHelper.ClsCN(); // try { DataSet DS = oCn.RunProcReturn("exec h_p_Sc_AssemblyBillList " + HInterID, "h_p_Sc_AssemblyBillList"); //DataSet DS = oCn.RunProcReturn("Select * from h_v_Sc_AssemblyBill Where HInterID=" + HInterID.ToString() + " and HBillType='" + sBillType + "' " + sWhere, "h_v_Sc_AssemblyBill", ref DBUtility.ClsPub.sExeReturnInfo); if (DS.Tables[0].Rows.Count == 0) return null; else { return DS; } } catch (Exception e) { throw (e); } } //扫描成品条码 public bool Get_Assembly_CPBarCode(string sCPCode, string HBillType, ref string sICMOBillNo, ref string sCPBarCode, ref Int64 sCPMaterID, ref string sCPMaterName, ref string sBillNo, ref Int64 sInterID, ref string sErrMsg) { SQLHelper.ClsCN oCn = new SQLHelper.ClsCN(); DAL.ClsGy_BarCodeBill_View dal = new DAL.ClsGy_BarCodeBill_View(); // try { //判断所扫描条码是否有效 if (dal.GetInfoByNumber_View(sCPCode)) { //判断成品条码是否存在组装单记录 DataSet ds = oCn.RunProcReturn("exec h_p_Sc_AssemblyBill_CPBarCode '" + sCPCode + "'", "h_p_Sc_AssemblyBill_CPBarCode"); if (ds == null || ds.Tables[0].Rows.Count == 0) { sErrMsg = "扫描成品条码信息,未知错误!"; return false; } else { //已存在组装单记录,编辑状态,获取原组装单单据内码、单据号 if (DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBack"]) == "Modify") { sICMOBillNo = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HICMOBillNo"]); sCPBarCode = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HCPBarCode"]); sCPMaterID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[0]["HCPMaterID"]); sCPMaterName = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HCPMaterName"]); sInterID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[0]["HInterID"]); sBillNo = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBillNo"]); return true; } else if (DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBack"]) == "AddNew") //不存在组装单记录,新增状态,获取最大组装单单据内码、单据号 { sICMOBillNo = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HICMOBillNo"]); sCPBarCode = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HCPBarCode"]); sCPMaterID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[0]["HCPMaterID"]); sCPMaterName = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HCPMaterName"]); sInterID = DBUtility.ClsPub.CreateBillID_Prod(HBillType, ref sErrMsg); sBillNo = DBUtility.ClsPub.CreateBillCode_Prod(HBillType, ref sErrMsg, true); return true; } else { sErrMsg = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBack"]); return false; } } } else { sErrMsg = "无效条码"; return false; } } catch (Exception e) { sErrMsg = "扫描成品条码失败!" + e.Message; return false; } } //扫描配件条码 public bool Get_Assembly_PJBarCode(string sPJCode, string sCPCode, long sInterID, string sBillNo, string sMaker, long HWorkerID, string HSNNumber, ref string sErrMsg) { SQLHelper.ClsCN oCn = new SQLHelper.ClsCN(); DAL.ClsGy_BarCodeBill_View dal = new DAL.ClsGy_BarCodeBill_View(); // try { if (dal.GetInfoByNumber_View(sPJCode)) { if (sPJCode == sCPCode) { sErrMsg = "所扫描配件条码与成品条码不允许相同!"; return false; } DataSet ds = oCn.RunProcReturn("exec h_p_Sc_AssemblyBill_PJBarCode '" + sPJCode + "','" + sCPCode + "'," + sInterID.ToString() + ",'" + sBillNo + "','" + sMaker + "'," + HWorkerID.ToString() + ",'" + HSNNumber + "'", "h_p_Sc_AssemblyBill_PJBarCode"); if (ds == null || ds.Tables[0].Rows.Count == 0) { sErrMsg = "扫描配件条码信息,未知错误!"; return false; } else { if (DBUtility.ClsPub.isLong(ds.Tables[0].Rows[0][0]) == 0) { return true; } else { sErrMsg = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HRemark"]); return false; } } } else { sErrMsg = "无效条码"; return false; } } catch (Exception e) { sErrMsg = "扫描配件条码失败!" + e.Message; return false; } } //删除出入库条码临时表 public bool set_DelSc_AssemblyBill(long HInterID, string HBarCode, ref string sErrMsg) { SQLHelper.ClsCN oCn = new SQLHelper.ClsCN(); try { oCn.RunProc("Delete from Sc_AssemblyBillSub where HInterID=" + HInterID.ToString() + " and HBarCode='" + HBarCode + "'", ref DBUtility.ClsPub.sExeReturnInfo); return true; } catch (Exception e) { sErrMsg = "删除失败!" + e.Message; return false; } } #endregion #region [获取打印模板] /// /// 打印模板列表 /// /// /// /// public DataSet GetOpenTmpList(string sWhere, ref string sErr) { SQLHelper.ClsCN oCn = new SQLHelper.ClsCN(); DataSet ds = new DataSet(); ds = oCn.RunProcReturn("select * from h_v_IF_OpenTmpList " + sWhere, "h_v_IF_OpenTmpList"); return ds; } #endregion #region [获取默认打印模板] /// /// 默认打印模板 /// /// /// /// public DataSet GetDefaultOpenTmp(string sWhere, ref string sErr) { SQLHelper.ClsCN oCn = new SQLHelper.ClsCN(); DataSet ds = new DataSet(); ds = oCn.RunProcReturn("select * from h_v_IF_OpenTmpList " + sWhere, "h_v_IF_OpenTmpList"); return ds; } #endregion //返回条码临时表 /// /// 返回条码临时表 /// public DataSet GetBarCode_Temp(long HInterID, long HMaterID, Int64 HAuxPropID, string HMTONo, Int64 HWhID, Int64 HSPID, Int64 HSCWhID, Int64 HSCSPID, string HBatchNo, Int64 HSourceInterID, Int64 HSourceEntryID, string sBillType, string sWhere) { DAL.ClsKF_PonderationBillMain_Temp_View dal = new DAL.ClsKF_PonderationBillMain_Temp_View(); return dal.GetBarCodeByID_View(HInterID, sBillType, HMaterID, HAuxPropID, HMTONo, HWhID, HSPID, HSCWhID, HSCSPID, HBatchNo, HSourceInterID, HSourceEntryID, sWhere); } //删除出入库条码临时表(根据条码) public bool set_DelPonderationBillMain_Temp_BarCode(long HInterID, string sBarCode, string sHBillType, ref string sErrMsg) { DAL.ClsKF_PonderationBillMain_Temp_Ctl dal = new DAL.ClsKF_PonderationBillMain_Temp_Ctl(); if (dal.DeleteByBarCode(HInterID, sBarCode, sHBillType)) { sErrMsg = "删除成功!"; return true; } else { sErrMsg = "删除失败!"; return false; } } /// /// 返回扫码明细信息 /// public DataSet GetBarcodeList(long HInterID, string HBillNo, string sBillType, ref string sMouldManagerCtl, ref string sFIFOCtl, ref string sErrMsg) { DAL.ClsKF_PonderationBillMain_Temp_View bll = new DAL.ClsKF_PonderationBillMain_Temp_View(); return bll.GetBillEntry_TmpList(HInterID, HBillNo, sBillType, ref sMouldManagerCtl, ref sFIFOCtl, ref sErrMsg); //DAL.ClsKF_PonderationBillMain_Temp_View dal = new DAL.ClsKF_PonderationBillMain_Temp_View(); //return dal.GetInfoByID_View(HInterID, sBillType, sWhere); } //撤销缓存列表选中数据 public bool RescindBillList(Int64 sHInterID, string sBillNo, string sBillType, ref string sErrMsg) { DAL.ClsKF_PonderationBillMain_Temp_Ctl dal = new DAL.ClsKF_PonderationBillMain_Temp_Ctl(); if (dal.DeleteICStockBillAndWMS(sHInterID, sBillNo, sBillType, ref sErrMsg)) { sErrMsg = "删除成功!"; return true; } else { sErrMsg = "删除失败!"; return false; } } //返回缓存列表已上传列表信息 public DataSet GetDisBillUpdateLoad_Json(string sHBillType, string HMaker, Int64 HOrgID) { DAL.ClsKF_PonderationBillMain_Temp_View dal = new DAL.ClsKF_PonderationBillMain_Temp_View(); return dal.GetKf_ICStockBillList(sHBillType, HMaker, HOrgID); } //返回缓存列表查询已上传列表信息 public DataSet GetQueryBillUpdateLoad_Json(string BillType, string HBillNo, string HSourceBillNo) { DAL.ClsKF_PonderationBillMain_Temp_View dal = new DAL.ClsKF_PonderationBillMain_Temp_View(); return dal.GetKf_ICStockBillQueryList(BillType, HBillNo, HSourceBillNo); } } }