using DBUtility; using Model; using Newtonsoft.Json.Linq; using SQLHelper; using System; using System.Collections.Generic; using System.Data; using System.IO; using System.Linq; using System.Net; using System.Net.Http; using System.Web; using System.Web.Http; using WebAPI; using WebAPI.Code; using WebAPI.Models; namespace WebAPI.Controllers { public class ProductInController : ApiController { public Int64 HSupID;//供应商ID public Int64 HDeptID;//部门ID public Int64 HWhID;//仓库ID public Int64 HSPID;//仓位ID public string HSupName; public string HDeptName; public string HWhName; public string HSPName; public Int64 HInterID;//本单ID public string HBillNo; public string HSourceBillNo; public string HBillType = "1202";//单据类型 public string sBillCode = "ICStockBill"; public string sTranType = "2"; public bool sRedBlueFlag = false; public bool SourceFlag = false; //public string sSourceType = "3710"; public WebServer webserver =new WebServer(); public DataSet ds =new DataSet(); public ClsGy_BarCodeBill_WMS_Model_View oView =new ClsGy_BarCodeBill_WMS_Model_View(); public ClsKF_PonderationBillMain_Temp model = new ClsKF_PonderationBillMain_Temp(); public ClsKf_ICStockBill_WMS oBar = new Model.ClsKf_ICStockBill_WMS(); //public ClsKf_ICStockBill_WMS oBar = new ClsKf_ICStockBill_WMS(); public double sRelQty = 0; // private DataBaseServices objDataBaseServices = new DataBaseServices(); private json objJsonResult = new json(); // private string msgModel = "{{\"count\":{0},\"code\":{0},\"message\":\"{1}\",\"result\":{2}}}"; public static string GetSession(string sMsg) { try { string s = Common.GetSession(); return s; } catch (Exception e) { return ""; } } /// /// 产品入库/扫条码/直接调用webservice /// /// [Route("ProductIn/get_CheckTypeByBarCode_Json")] [HttpGet] public Object get_CheckTypeByBarCode_Json(string sCode, Int64 sInterID, string sBillNo, string sBillType, string sMaker, Int64 WhID, Int64 SPID, Double sQty, bool sRedBlue, bool SourceFlag, string sSourceBillNo, string sSourceType, Int64 HOWNERID) { //if (sRedBlue == true) //{ // HBillType = "1245"; //} //oBar = webserver.get_CheckTypeByBarCode(sCode, sInterID, sBillType, sBillNo, sMaker, WhID, SPID, sQty, sRedBlue, SourceFlag, sSourceBillNo, sSourceType, HOWNERID, ref DBUtility.ClsPub.sErrInfo); WebS.WebService1 oWebs = new WebS.WebService1(); WebS.ClsKf_ICStockBill_WMS WebSoBar = new WebS.ClsKf_ICStockBill_WMS(); string sExpressNumber = ""; //WebSoBar = oWebs.get_CheckTypeByBarCode_All(sCode, sInterID, HBillType, sBillNo, sMaker, WhID, SPID, sQty, sRedBlue, SourceFlag, sSourceBillNo, sSourceType, HOWNERID, sExpressNumber, ref DBUtility.ClsPub.sErrInfo); WebSoBar = oWebs.get_CheckTypeByBarCode_All(sCode, sInterID, HBillType, sBillNo, sMaker, WhID, SPID, sQty, sRedBlue, SourceFlag, sSourceBillNo, sSourceType, HOWNERID, sExpressNumber, ref DBUtility.ClsPub.sErrInfo); 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; } } /// /// 一键扫码(红字) /// /// [Route("ProductIn/get_CheckTypeByBarCode_All_Json")] [HttpGet] public Object get_CheckTypeByBarCode_AllN_Json(string sCode, Int64 sInterID, string HBillType, string sBillNo, string sMaker, Int64 WhID, Int64 SPID, Double sQty, bool sRedBlue, bool SourceFlag, string sSourceBillNo, string sSourceType, Int64 HOWNERID, string sExpressNumber) { if (sRedBlue == true) { HBillType = "1245"; } oBar = webserver.get_CheckTypeByBarCode_All(sCode, sInterID, HBillType, sBillNo, sMaker, WhID, SPID, sQty, sRedBlue, SourceFlag, sSourceBillNo, sSourceType, HOWNERID,sExpressNumber,ref DBUtility.ClsPub.sErrInfo); if (oBar == 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 = oBar; return objJsonResult; } } /// /// 返回出入库条码临时表 /// /// [Route("ProductIn/DisBillEntryList_Webs_Json")] [HttpGet] public object DisBillEntryList_Webs_Json(long HBillID, string HBillType, string sWhere) { try { ds = webserver.GetKf_PonderationBillMain_Temp(HBillID, HBillType, sWhere); if (ds == null || ds.Tables[0].Rows.Count <= 0) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "没有返回任何记录!"; objJsonResult.data = null; return objJsonResult; //DBUtility.ClsPub.MessageBeep((int)DBUtility.ClsPub.BeepType.Warning); } else { objJsonResult.code = "0"; objJsonResult.count = 1; objJsonResult.Message = "获取信息成功!"; objJsonResult.data = ds.Tables[0]; return objJsonResult; } } catch (Exception e) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "没有返回任何记录!" + e.ToString(); objJsonResult.data = null; return objJsonResult; } } [Route("ProductIn/DisBillEntryList_Mate_Webs_Json")] [HttpGet] public object DisBillEntryList_Mate_Webs_Json(string HBillType, string sWhere) { try { ds = webserver.GetKf_PonderationBillMain_TempList(HBillType, sWhere); if (ds == null || ds.Tables[0].Rows.Count <= 0) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "没有返回任何记录!"; objJsonResult.data = null; return objJsonResult; //DBUtility.ClsPub.MessageBeep((int)DBUtility.ClsPub.BeepType.Warning); } else { objJsonResult.code = "0"; objJsonResult.count = 1; objJsonResult.Message = "获取信息成功!"; objJsonResult.data = ds.Tables[0]; return objJsonResult; } } catch (Exception e) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "没有返回任何记录!" + e.ToString(); objJsonResult.data = null; return objJsonResult; } } /// /// 产品入库(源单:生产任务单) 扫描源单,将源单信息写入条码临时表 /// /// /// [Route("ProductIn/set_SavePonderationBillMain_Temp_Source_Fast_Json")] [HttpGet] public object set_SavePonderationBillMain_Temp_Source_Fast_Json(string HSourceBillType, string HSourceBillNo, Int64 sInterID, string sBillNo) { try { // DataSet ds = new DataSet(); // WebServer webserver = new WebServer(); string sWhere = " Where 单据号 like '%" + HSourceBillNo.Trim() + "%'"; if (HSourceBillType == "3710") { ds = webserver.GetSc_ICMOBillList(sWhere + " "); } else { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "没有返回任何记录,源单类型有错误!"; objJsonResult.data = null; return objJsonResult; ; } if (ds == null || ds.Tables[0].Rows.Count <= 0) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "没有返回任何记录!"; objJsonResult.data = null; return objJsonResult; //DBUtility.ClsPub.MessageBeep((int)DBUtility.ClsPub.BeepType.Warning); } else { HSupID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[0]["HSupID"]); HSupName = Convert.ToString(ds.Tables[0].Rows[0]["HSupName"]); HDeptID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[0]["HDeptID"]); HDeptName = Convert.ToString(ds.Tables[0].Rows[0]["HDeptName"]); if (webserver.set_SavePonderationBillMain_Temp_Source_Fast(sInterID, sBillNo, HBillType, HSourceBillNo, HSourceBillType, "蓝字", ref DBUtility.ClsPub.sErrInfo)) { objJsonResult.code = "0"; objJsonResult.count = 1; objJsonResult.Message = "返回记录成功!"; objJsonResult.data = ds.Tables[0]; return objJsonResult; } else { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "写入临时表失败!" + DBUtility.ClsPub.sErrInfo; objJsonResult.data = null; return objJsonResult; } } } catch (Exception ex) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "没有返回任何记录!"+ex.ToString(); objJsonResult.data = null; return objJsonResult; } } /// /// 扫描物料条码,将物料条码信息写入条码临时表 /// /// /// /// /// /// [Route("ProductIn/get_InfoByBarCode_Source_Json")] [HttpGet] public object get_InfoByBarCode_Source_Json(string sBarCode, Int64 sInterID, string sBillNo, Double sQty, Int64 sWHID, Int64 sSPID) { try { Int64 HWHID = sWHID; Int64 HSPID = sSPID; string sErrMsg = ""; bool sBool = false; oView = webserver.get_InfoByBarCode_Source(sBarCode, sInterID, ref sBool, ref sErrMsg); if (webserver.Get_CheckWhAndSP(sInterID, HBillType, sBarCode, sWHID, sSPID, ref HWHID, ref HSPID, ref sErrMsg)) { } else { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = sErrMsg; objJsonResult.data = null; return objJsonResult; } model.HInterID = DBUtility.ClsPub.isLong(sInterID); model.HBillNo = DBUtility.ClsPub.isStrNull(sBillNo); model.HBillType = this.HBillType; model.HMaker = ""; // model.HMaterID = oView.HMaterID; model.HAuxPropID = oView.HAuxPropID; model.HErpClsID = oView.HErpClsID; model.HQty = oView.HQty; model.HQtyMust = oView.HinitQty; model.HBarCode = oView.HBarCode; model.HBatchNo = oView.HBatchNo; model.HMTONo = oView.HMTONo; model.HWhID = HWHID; model.HStockPlaceID = HSPID; model.HSourceInterID = oView.HSourceInterID; model.HSourceEntryID = oView.HSourceEntryID; model.HSourceBillNo = oView.HSourceBillNo; model.HSourceBillType = oView.HSourceBillType; model.HRedBlueFlag = false; model.HPieceQty = 1; model.HSTOCKORGID = 0; model.HOWNERID = 0; if (webserver.set_SavePonderationBillMain_Temp_Qty(model, sQty, ref DBUtility.ClsPub.sErrInfo)) { objJsonResult.code = "0"; objJsonResult.count = 1; objJsonResult.Message = "扫码成功!"; objJsonResult.data = null; return objJsonResult; } else { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "扫码失败!" + DBUtility.ClsPub.sErrInfo; objJsonResult.data = null; return objJsonResult; } } catch (Exception e) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "扫码失败,此条码不存在!" + e.ToString(); objJsonResult.data = null; return objJsonResult; } } // /// // /// 扫描物料条码,将物料条码信息写入条码临时表 // /// // /// // /// // /// // /// // /// // [Route("ProductIn/SetMaterBarCode_Webs_Json")] // [HttpGet] // public object SetMaterBarCode_Webs_Json(string sBarCode, Int64 HBillID, string HBillNo, string HMaker, Int64 HWhID, Int64 HSPID, Double HQty, bool SourceFlag, string HSourceBillNo, string HSourceBillType, Int64 HOWNERID, ref string sErrMsg) // { // ClsKf_ICStockBill_WMS oBar = new ClsKf_ICStockBill_WMS(); // try // { // if (sBarCode.Trim() == "") // { // objJsonResult.code = "0"; // objJsonResult.count = 0; // objJsonResult.Message = "条码为空!"; // objJsonResult.data = null; // return objJsonResult; // } // //根据条码前缀走 不同方法(仓库、仓位、部门)(源单、物料条码) // oBar = webserver.get_CheckTypeByBarCode(sBarCode, HBillID, HBillType, HBillNo, HMaker, HWhID, HSPID, HQty, sRedBlueFlag, SourceFlag, HSourceBillNo, HSourceBillType, HOWNERID, ref DBUtility.ClsPub.sErrInfo); // if (oBar == null) // { // objJsonResult.code = "0"; // objJsonResult.count = 0; // objJsonResult.Message = DBUtility.ClsPub.sErrInfo; // objJsonResult.data = null; // return objJsonResult; // } // else // { // //----------创建虚表------------------------ // DataTable dt_Main = new DataTable("Json"); // dt_Main.Columns.Add("HBarType", typeof(string)); // dt_Main.Columns.Add("HSourceBillType", typeof(string)); // dt_Main.Columns.Add("HSourceBillNo", typeof(string)); // dt_Main.Columns.Add("HSupID", typeof(int)); // dt_Main.Columns.Add("HSupName", typeof(string)); // dt_Main.Columns.Add("HDeptID", typeof(int)); // dt_Main.Columns.Add("HDeptNumber", typeof(string)); // dt_Main.Columns.Add("HDeptName", typeof(string)); // dt_Main.Columns.Add("HWhID", typeof(int)); // dt_Main.Columns.Add("HWhNumber", typeof(string)); // dt_Main.Columns.Add("HWhName", typeof(string)); // dt_Main.Columns.Add("HSPFlag", typeof(bool)); // dt_Main.Columns.Add("HSPID", typeof(int)); // dt_Main.Columns.Add("HSPNumber", typeof(string)); // dt_Main.Columns.Add("HSPName", typeof(string)); // dt_Main.Columns.Add("SourceFlag", typeof(bool)); // //---------创建新行------------------------ // DataRow dr_main = dt_Main.NewRow();//创建新行 // dt_Main.Rows.Add(dr_main);//将新行加入到表中 // dr_main["HBarType"] = oBar.HBarType; // dr_main["HSourceBillType"] = oBar.HSourceBillType; // dr_main["HSourceBillNo"] = oBar.HSourceBillNo; // dr_main["HSupID"] = oBar.HSupID; // dr_main["HSupName"] = oBar.HSupName; // dr_main["HDeptID"] = oBar.HDeptID; // dr_main["HDeptNumber"] = oBar.HDeptNumber; // dr_main["HDeptName"] = oBar.HDeptName; // dr_main["HWhID"] = oBar.HWhID; // dr_main["HWhNumber"] = oBar.HWhNumber; // dr_main["HWhName"] = oBar.HWhName; // dr_main["HSPFlag"] = oBar.HSPFlag; // dr_main["HSPID"] = oBar.HSPID; // dr_main["HSPNumber"] = oBar.HSPNumber; // dr_main["HSPName"] = oBar.HSPName; // dr_main["SourceFlag"] = true; // objJsonResult.code = "0"; // objJsonResult.count = 1; // objJsonResult.Message = "扫码成功!"; // objJsonResult.data = dt_Main; // return objJsonResult; // } // } // catch (Exception e) // { // objJsonResult.code = "0"; // objJsonResult.count = 0; // objJsonResult.Message = "写入临时表信息失败!" + e.Message + DBUtility.ClsPub.sErrInfo; // objJsonResult.data = null; // return objJsonResult; // } // } /// /// 生成产品入库单 /// /// [Route("ProductIn/set_SaveProductInBill_Json")] [HttpPost] public object set_SaveProductInBill_Json([FromBody]JObject oMain) { var _value = oMain["oMain"].ToString(); string msg1 = _value.ToString(); //List lsmain = new List(); //ListModels oListModels = new ListModels(); //lsmain = oListModels.getProductInBillMainByJson(msg1); //lsmain[0].HYear = DBUtility.ClsPub.isLong(DateTime.Now.Year); //lsmain[0].HDate = DBUtility.ClsPub.isDate(DateTime.Now.ToString("yyyy-MM-dd")); //string sSourceBillType = lsmain[0].HBillType; //BLL.ClsKf_ProductInBill bll = new BLL.ClsKf_ProductInBill(); //return bll.set_SaveProductInBill_New(lsmain[0], sSourceBillType, ref DBUtility.ClsPub.sErrInfo); try { List lsmain = new List(); ListModels oListModels = new ListModels(); lsmain = oListModels.getProductInBillMainByJson(msg1); lsmain[0].HYear = DBUtility.ClsPub.isLong(DateTime.Now.Year); lsmain[0].HDate = DBUtility.ClsPub.isDate(DateTime.Now.ToString("yyyy-MM-dd")); string sSourceBillType = lsmain[0].HBillType; WebAPI.WebS.ClsKf_ProductInBillMain websLsmain = new WebS.ClsKf_ProductInBillMain(); websLsmain.HInterID = lsmain[0].HInterID; websLsmain.HDate = lsmain[0].HDate; websLsmain.HBillNo = lsmain[0].HBillNo; websLsmain.HDeptID = lsmain[0].HDeptID; websLsmain.HEmpID = lsmain[0].HEmpID; websLsmain.HRemark = lsmain[0].HRemark; websLsmain.HMaker = lsmain[0].HMaker; if (webserver.set_SaveProductInBill_New(websLsmain, sSourceBillType, ref DBUtility.ClsPub.sErrInfo)) { objJsonResult.code = "0"; objJsonResult.count = 1; objJsonResult.Message = "生成产品入库单成功!单据号为:"; objJsonResult.data = null; return objJsonResult; } else { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "上传失败!" + DBUtility.ClsPub.sErrInfo; objJsonResult.data = null; return objJsonResult; } } catch (Exception e) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "上传失败!" + e.ToString(); objJsonResult.data = null; return objJsonResult; } } [Route("ProductIn/Delete_Json")] [HttpGet] public object Delete_Json(long HInterID, long HMaterID, long HAuxPropID, string HMTONo, long HSourceInterID, long HSourceEntryID, string sHBillType) { string sErrMsg = string.Empty; try { if (webserver.set_DelPonderationBillMain_Temp_InterIDAndSource(HInterID, HMaterID, HAuxPropID, HMTONo, HSourceInterID, HSourceEntryID, sHBillType, ref sErrMsg)) { objJsonResult.code = "0"; objJsonResult.count = 1; objJsonResult.Message = "删除成功!"; objJsonResult.data = null; return objJsonResult; } else { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "删除失败!"; objJsonResult.data = null; return objJsonResult; } } catch (Exception) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "删除失败!"; objJsonResult.data = null; return objJsonResult; } } [Route("ProductInBillList/Delete_Json")] [HttpGet] public object Delete_Json(long sHInterID) { string sErrMsg = string.Empty; try { if (webserver.DeleteBillList(sHInterID, ref sErrMsg)) { objJsonResult.code = "0"; objJsonResult.count = 1; objJsonResult.Message = "删除成功!"; objJsonResult.data = null; return objJsonResult; } else { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "删除失败!"; objJsonResult.data = null; return objJsonResult; } } catch (Exception) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "删除失败!"; objJsonResult.data = null; return objJsonResult; } } [Route("ProductInBillList/DisBillEntryList_Mate_Webs_Json")] [HttpGet] public object DisBillEntryList_Webs_Json(string HBillType, string sWhere) { try { ds = webserver.GetKf_PonderationBillMain_TempList(HBillType, sWhere); if (ds == null || ds.Tables[0].Rows.Count <= 0) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "没有返回任何记录!"; objJsonResult.data = null; return objJsonResult; //DBUtility.ClsPub.MessageBeep((int)DBUtility.ClsPub.BeepType.Warning); } else { objJsonResult.code = "0"; objJsonResult.count = 1; objJsonResult.Message = "获取信息成功!"; objJsonResult.data = ds.Tables[0]; return objJsonResult; } } catch (Exception e) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "没有返回任何记录!" + e.ToString(); objJsonResult.data = null; return objJsonResult; } } [Route("ProductInBill/GetProductInBill")] [HttpGet] public object GetProductInBill(long HInterID) { try { ds = webserver.GetProductInBill(HInterID); if (ds == null || ds.Tables[0].Rows.Count <= 0) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "没有返回任何记录!"; objJsonResult.data = null; return objJsonResult; //DBUtility.ClsPub.MessageBeep((int)DBUtility.ClsPub.BeepType.Warning); } else { objJsonResult.code = "0"; objJsonResult.count = 1; objJsonResult.Message = "获取信息成功!"; objJsonResult.data = ds.Tables[0]; return objJsonResult; } } catch (Exception e) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "没有返回任何记录!" + e.ToString(); objJsonResult.data = null; return objJsonResult; } } } }