using DAL; using DBUtility; using Model; using Newtonsoft.Json; using Newtonsoft.Json.Converters; using Newtonsoft.Json.Linq; using SQLHelper; using System; using System.Collections.Generic; using System.Data; using System.Linq; using System.Net; using System.Net.Http; using System.Web.Http; using System.Windows.Forms; using WebAPI; using WebAPI.Models; using WebAPI.Service; namespace WebAPI.Controllers { public class MouldController : ApiController { public DBUtility.ClsPub.Enum_BillStatus BillStatus; public DataSet ds = new DataSet(); private json objJsonResult = new json(); SQLHelper.ClsCN oCn = new SQLHelper.ClsCN(); Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter(); #region 器具扫码模块调用方法 #region 器具扫码模块 扫描器具条码调用方法 /// /// 扫描器具条码 /// /// [Route("MouldController/Get_CheckTypeByMouldBarCode_Json")] [HttpGet] public object Get_CheckTypeByMouldBarCode_Json(string sBarCode, Int64 HInterID, string HBillType, string HBillNo, string HMaker, Int64 HWhID, Int64 HSPID, Int64 HSCWhID, Int64 HSCSPID, bool HRedBlueFlag, string HSourceBillNo, string HSourceBillType, Int64 HStockOrgID, Int64 HStockOutOrgID) { Int64 HBarCodeQty = 0; //允许扫描条码个数(0、1、2、3.....,其中0为不控制) #region 获取系统参数 string sErrMsg = ""; if (oSystemParameter.ShowBillByOrgID(HStockOrgID, ref sErrMsg) == true) { //器具采购入库单 if (HBillType == "3801") { HBarCodeQty = DBUtility.ClsPub.isLong(oSystemParameter.omodel.Sc_MouldProdInBill_BarCodeQty); } //器具领用出库单 else if (HBillType == "3802") { HBarCodeQty = DBUtility.ClsPub.isLong(oSystemParameter.omodel.Sc_MouldProdOutBill_BarCodeQty); } //器具领用退库单 else if (HBillType == "3803") { HBarCodeQty = DBUtility.ClsPub.isLong(oSystemParameter.omodel.Sc_MouldProdBackBill_BarCodeQty); } //器具改制出库单 else if (HBillType == "3825") { HBarCodeQty = DBUtility.ClsPub.isLong(oSystemParameter.omodel.Sc_MouldRepairOutBill_BarCodeQty); } //器具改制入库单 else if (HBillType == "3826") { HBarCodeQty = DBUtility.ClsPub.isLong(oSystemParameter.omodel.Sc_MouldRepairInBill_BarCodeQty); } //器具其他入库单 else if (HBillType == "3827") { HBarCodeQty = DBUtility.ClsPub.isLong(oSystemParameter.omodel.Sc_MouldOtherInBill_BarCodeQty); } //器具其他出库单 else if (HBillType == "3828") { HBarCodeQty = DBUtility.ClsPub.isLong(oSystemParameter.omodel.Sc_MouldOtherOutBill_BarCodeQty); } //器具暂借入库单 else if (HBillType == "3829") { HBarCodeQty = DBUtility.ClsPub.isLong(oSystemParameter.omodel.Sc_MouldBorrowInBill_BarCodeQty); } //器具暂借出库单 else if (HBillType == "3830") { HBarCodeQty = DBUtility.ClsPub.isLong(oSystemParameter.omodel.Sc_MouldBorrowOutBill_BarCodeQty); } //器具报废入库单 else if (HBillType == "3831") { HBarCodeQty = DBUtility.ClsPub.isLong(oSystemParameter.omodel.Sc_MouldScrapInBill_BarCodeQty); } //器具报废出库单 else if (HBillType == "3832") { HBarCodeQty = DBUtility.ClsPub.isLong(oSystemParameter.omodel.Sc_MouldScrapOutBill_BarCodeQty); } //器具直接调拨单 else if (HBillType == "3814") { HBarCodeQty = DBUtility.ClsPub.isLong(oSystemParameter.omodel.Sc_MouldProdMoveBill_BarCodeQty); } //器具分步调出单 else if (HBillType == "3840") { HBarCodeQty = DBUtility.ClsPub.isLong(oSystemParameter.omodel.Sc_MouldMoveStockStepOutBill_BarCodeQty); } //器具分步调入单 else if (HBillType == "3841") { HBarCodeQty = DBUtility.ClsPub.isLong(oSystemParameter.omodel.Sc_MouldMoveStockStepInBill_BarCodeQty); } } else { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "获取系统参数失败! " + sErrMsg; objJsonResult.data = null; return objJsonResult; } #endregion try { ds = oCn.RunProcReturn("exec h_p_WMS_CheckMouldBarCode_Add '" + sBarCode + "'," + HInterID.ToString() + ",'" + HBillNo + "','" + HBillType + "'," + HWhID.ToString() + "," + HSPID.ToString() + "," + HSCWhID.ToString() + "," + HSCSPID.ToString() + ",'" + HSourceBillNo + "','" + HSourceBillType + "','" + HRedBlueFlag + "','" + HMaker + "'," + HStockOrgID.ToString() + "," + HStockOutOrgID.ToString() + "," + HBarCodeQty.ToString(), "h_p_WMS_CheckMouldBarCode_Add"); if (ds == null || ds.Tables[0].Rows.Count == 0) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "将器具信息写入器具出入库临时表失败!"; objJsonResult.data = null; return objJsonResult; } else if (DBUtility.ClsPub.isLong(ds.Tables[0].Rows[0]["HBack"]) == 1) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HRemark"]); objJsonResult.data = null; return objJsonResult; } 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; } } #endregion #region 器具扫码模块 获取器具列表信息处理方法 /// /// 获取器具列表信息 /// /// [Route("MouldController/GetMouldBillEntryTmpList_Json")] [HttpGet] public object GetMouldBillEntryTmpList_Json(Int64 HInterID, string HBillNo, string HBillType) { try { ds = oCn.RunProcReturn("exec h_p_WMS_MouldBillEntryTmpList " + HInterID.ToString() + ",'" + HBillType + "'", "h_p_WMS_MouldBillEntryTmpList"); if (ds == null || ds.Tables[0].Rows.Count == 0) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "没有返回任何记录!"; objJsonResult.data = null; return objJsonResult; } else { List columnNameList = new List(); //添加列名 foreach (DataColumn col in ds.Tables[0].Columns) { Type dataType = col.DataType; string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}"; columnNameList.Add(JsonConvert.DeserializeObject(ColmString)); //获取到DataColumn列对象的列名 } objJsonResult.code = "0"; objJsonResult.count = 1; objJsonResult.Message = "获取信息成功!"; objJsonResult.data = ds.Tables[0]; objJsonResult.list = columnNameList; return objJsonResult; } } catch (Exception e) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "获取列表信息失败!" + e.ToString(); objJsonResult.data = null; return objJsonResult; } } #endregion #region 器具扫码模块 删除功能按钮调用 删除器具列表选中行临时表记录 /// /// 删除器具列表选中行临时表记录 /// /// [Route("MouldController/set_DelMouldStockBillMain_Temp_Json")] [HttpGet] public object set_DelPonderationBillMain_Temp_BarCode_Json(Int64 HInterID, string HBillType, string HBarCode) { try { oCn.RunProc("Delete from Sc_MouldStockBillMain_Temp where HInterID=" + HInterID.ToString() + " and HBillType='" + HBillType + "' and HBarCode='" + HBarCode + "'", ref DBUtility.ClsPub.sExeReturnInfo); objJsonResult.code = "0"; objJsonResult.count = 1; objJsonResult.Message = "删除成功"; objJsonResult.data = null; return objJsonResult; } catch (Exception e) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "删除器具列表记录失败!" + e.ToString(); objJsonResult.data = null; return objJsonResult; } } #endregion #endregion #region 器具缓存列表模块调用方法 #region 器具缓存列表界面,返回缓存列表信息 /// /// 器具缓存列表界面,返回缓存列表信息 /// /// [Route("MouldController/GetKf_PonderationBillMain_TempList_New_Json")] [HttpGet] public object GetKf_PonderationBillMain_TempList_New_Json(string HBillType, string HMaker, Int64 HStockOrgID) { try { ds = oCn.RunProcReturn("exec h_p_Sc_GetMouldStockBillMain_TempList '" + HBillType + "','" + HMaker + "'," + HStockOrgID.ToString(), "h_p_Sc_GetMouldStockBillMain_TempList"); if (ds == null || ds.Tables[0].Rows.Count == 0) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "没有返回任何记录!"; objJsonResult.data = null; return objJsonResult; } else { List columnNameList = new List(); //添加列名 foreach (DataColumn col in ds.Tables[0].Columns) { Type dataType = col.DataType; string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}"; columnNameList.Add(JsonConvert.DeserializeObject(ColmString)); //获取到DataColumn列对象的列名 } objJsonResult.code = "0"; objJsonResult.count = 1; objJsonResult.Message = "获取单据缓存列表信息成功!"; objJsonResult.data = ds.Tables[0]; objJsonResult.list = columnNameList; return objJsonResult; } } catch (Exception e) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "获取单据缓存列表信息失败!" + e.ToString(); objJsonResult.data = null; return objJsonResult; } } #endregion #region 器具缓存列表 编辑功能调用 /// /// 器具缓存列表选择编辑时,判断所选单据是否已存在上传记录 /// /// [Route("MouldController/MouldTempList_Modify_Json")] [HttpGet] public object MouldTempList_Modify_Json(long HInterID, string HBillNo, string HBillType) { try { ds = oCn.RunProcReturn("exec h_p_WMS_MouldTempList_Modify " + HInterID + ",'" + HBillNo + "','" + HBillType + "'", "h_p_WMS_MouldTempList_Modify"); if (ds == null || ds.Tables[0].Rows.Count == 0) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "模具缓存列表编辑前判断失败!"; objJsonResult.data = null; return objJsonResult; } else if (DBUtility.ClsPub.isLong(ds.Tables[0].Rows[0]["HBack"]) == 1) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HRemark"]); objJsonResult.data = null; return objJsonResult; } objJsonResult.code = "0"; objJsonResult.count = 1; objJsonResult.Message = "成功"; objJsonResult.data = null; return objJsonResult; } catch (Exception e) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "缓存列表编辑前判断失败!" + e.ToString(); objJsonResult.data = null; return objJsonResult; } } #endregion #region 器具缓存列表模块 删除缓存列表单据 /// /// 删除缓存列表单据 /// /// [Route("MouldController/set_DeleteMouldBillList_Json")] [HttpGet] public object set_DeleteMouldBillList_Json(long HInterID, string HBillType) { try { oCn.RunProc("Delete from Sc_MouldStockBillMain_Temp where HInterID=" + HInterID.ToString() + " and HBillType='" + HBillType + "'", ref DBUtility.ClsPub.sExeReturnInfo); objJsonResult.code = "0"; objJsonResult.count = 1; objJsonResult.Message = "删除成功"; objJsonResult.data = null; return objJsonResult; } catch (Exception e) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "删除器具缓存列表单据失败!" + e.ToString(); objJsonResult.data = null; return objJsonResult; } } #endregion #endregion #region 器具提交生单处理方法 #region 模具领用出库单 上传生单 /// /// 模具领用出库单新增上传 /// /// [Route("MouldController/set_SaveMouldProdOutBill_Json")] [HttpPost] public object set_SaveMouldProdOutBill_Json([FromBody] JObject oMain) { BillStatus = DBUtility.ClsPub.Enum_BillStatus.BillStatus_AddNew; DAL.ClsSc_MouldProdOutBill BillNew = new DAL.ClsSc_MouldProdOutBill(); var _value = oMain["oMain"].ToString(); string msg1 = _value.ToString(); try { string sMainStr = "[" + msg1.ToString() + "]"; List mainList = Newtonsoft.Json.JsonConvert.DeserializeObject>(sMainStr); //单据号是否重复 if (BillNew.IsExistBillNo(ref ClsPub.sExeReturnInfo, mainList[0].HBillNo, BillStatus, mainList[0].HInterID)) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "单据号重复!不允许保存!"; objJsonResult.data = null; return objJsonResult; } //判断会计期是否合理 string s = ""; int sYear = 0; int sPeriod = 0; if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(mainList[0].HDate, ref sYear, ref sPeriod, ref s) == false) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = s; objJsonResult.data = null; return objJsonResult; } //固定赋值================================= BillNew.omodel.HYear = sYear; BillNew.omodel.HPeriod = sPeriod; BillNew.omodel.HBillType = "3802"; BillNew.omodel.HInterID = mainList[0].HInterID; BillNew.omodel.HBillNo = mainList[0].HBillNo; BillNew.omodel.HDate = mainList[0].HDate; BillNew.omodel.HRemark = mainList[0].HRemark; BillNew.omodel.HMaker = mainList[0].HMaker; BillNew.omodel.HSTOCKORGID = mainList[0].HSTOCKORGID; DBUtility.ClsPub.CurUserName = mainList[0].HMaker; //==================================================== BillNew.omodel.HSupID = mainList[0].HSupID; BillNew.omodel.HSupTypeID = mainList[0].HSupTypeID; BillNew.omodel.HEmpID = mainList[0].HEmpID; BillNew.omodel.HManagerID = mainList[0].HManagerID; BillNew.omodel.HSecManagerID = mainList[0].HSecManagerID; BillNew.omodel.HKeeperID = mainList[0].HKeeperID; BillNew.omodel.HDeptID = mainList[0].HDeptID; BillNew.omodel.HWHID = mainList[0].HWHID; BillNew.omodel.HSCWHID = mainList[0].HSCWHID; BillNew.omodel.HExplanation = mainList[0].HExplanation; BillNew.omodel.HInnerBillNo = mainList[0].HInnerBillNo; BillNew.omodel.HRedBlueFlag = mainList[0].HRedBlueFlag; //子表赋值 ds = oCn.RunProcReturn("exec h_p_Sc_GetMouldStockBill_Temp " + BillNew.omodel.HInterID.ToString() + ",'" + BillNew.omodel.HBillType + "'", "h_p_Sc_GetMouldStockBill_Temp"); if (ds == null || ds.Tables[0].Rows.Count == 0) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "没有扫码信息,请先扫描条码,确认无误后再提交!"; objJsonResult.data = null; return objJsonResult; } else { for (int i = 0; i <= ds.Tables[0].Rows.Count - 1; i++) { Model.ClsSc_MouldStockBillSub oSub = new Model.ClsSc_MouldStockBillSub(); //固定赋值======================================== oSub.HEntryID = i + 1; oSub.HRemark = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[i]["HRemark"]); oSub.HSourceInterID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HSourceInterID"]); oSub.HSourceEntryID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HSourceEntryID"]); oSub.HSourceBillType = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[i]["HSourceBillType"]); oSub.HSourceBillNo = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[i]["HSourceBillNo"]); oSub.HRelationQty = DBUtility.ClsPub.isDoule(ds.Tables[0].Rows[i]["HRelationQty"]); oSub.HRelationMoney = DBUtility.ClsPub.isDoule(ds.Tables[0].Rows[i]["HRelationMoney"]); //============================= oSub.HMaterID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HMaterID"]); oSub.HPropertyID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HAuxPropID"]); oSub.HSecUnitID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HSecUnitID"]); oSub.HSecUnitRate = DBUtility.ClsPub.isSingle(ds.Tables[0].Rows[i]["HSecUnitRate"]); oSub.HUnitID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HUnitID"]); oSub.HBatchNo = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[i]["HBatchNo"]); oSub.HQtyMust = DBUtility.ClsPub.isDoule(ds.Tables[0].Rows[i]["HQtyMust"]); oSub.HQtyRel = DBUtility.ClsPub.isDoule(ds.Tables[0].Rows[i]["HQtyRel"]); oSub.HQty = DBUtility.ClsPub.isDoule(ds.Tables[0].Rows[i]["HQty"]); oSub.HPrice = DBUtility.ClsPub.isDoule(ds.Tables[0].Rows[i]["HPrice"]); oSub.HMoney = DBUtility.ClsPub.isDoule(ds.Tables[0].Rows[i]["HMoney"]); oSub.HDesignLife = DBUtility.ClsPub.isDoule(ds.Tables[0].Rows[i]["HDesignLife"]); oSub.HLeaveLife = DBUtility.ClsPub.isDoule(ds.Tables[0].Rows[i]["HLeaveLife"]); oSub.HUseLife = DBUtility.ClsPub.isDoule(ds.Tables[0].Rows[i]["HUseLife"]); oSub.HUseLifeQty = DBUtility.ClsPub.isDoule(ds.Tables[0].Rows[i]["HUseLifeQty"]); oSub.HNewLifeQty = DBUtility.ClsPub.isDoule(ds.Tables[0].Rows[i]["HNewLifeQty"]); oSub.HWHID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HWHID"]); oSub.HSCWHID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HSCWHID"]); oSub.HSPID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HSPID"]); oSub.HSCSPID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HSCSPID"]); oSub.HSPGroupID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HSPGroupID"]); oSub.HBarCode = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[i]["HBarCode"]); oSub.HCorrespondentTypeID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HCorrespondentTypeID"]); oSub.HCorrespondentID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HCorrespondentID"]); oSub.HPOOrderInterID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HPOOrderInterID"]); oSub.HPOOrderEntryID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HPOOrderEntryID"]); oSub.HPOOrderBillNo = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[i]["HPOOrderBillNo"]); oSub.HSeOrderInterID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HSeOrderInterID"]); oSub.HSeOrderEntryID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HSeOrderEntryID"]); oSub.HSeOrderBillNo = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[i]["HSeOrderBillNo"]); oSub.HStockOrgID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HStockOrgID"]); oSub.HOWNERID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HOWNERID"]); oSub.HOtherOrgID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HOtherOrgID"]); oSub.HOWNERTYPEID = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[i]["HOWNERTYPEID"]); BillNew.DetailColl.Add(oSub); } } //保存 bool bResult; bResult = BillNew.AddBill(ref DBUtility.ClsPub.sExeReturnInfo); if (bResult) { objJsonResult.code = "0"; objJsonResult.count = 1; objJsonResult.Message = DBUtility.ClsPub.sExeReturnInfo; //成功! objJsonResult.data = null; return objJsonResult; } else { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "保存失败!" + DBUtility.ClsPub.sExeReturnInfo; objJsonResult.data = null; return objJsonResult; } } catch (Exception e) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "模具领用出库单上传失败!" + e.Message; objJsonResult.data = null; return objJsonResult; } } #endregion #region 模具领用退库单 上传生单 /// /// 模具领用退库单新增上传 /// /// [Route("MouldController/set_SaveMouldProdBackBill_Json")] [HttpPost] public object set_SaveMouldProdBackBill_Json([FromBody] JObject oMain) { BillStatus = DBUtility.ClsPub.Enum_BillStatus.BillStatus_AddNew; DAL.ClsSc_MouldProdBackBill BillNew = new DAL.ClsSc_MouldProdBackBill(); var _value = oMain["oMain"].ToString(); string msg1 = _value.ToString(); try { string sMainStr = "[" + msg1.ToString() + "]"; List mainList = Newtonsoft.Json.JsonConvert.DeserializeObject>(sMainStr); //单据号是否重复 if (BillNew.IsExistBillNo(ref ClsPub.sExeReturnInfo, mainList[0].HBillNo, BillStatus, mainList[0].HInterID)) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "单据号重复!不允许保存!"; objJsonResult.data = null; return objJsonResult; } //判断会计期是否合理 string s = ""; int sYear = 0; int sPeriod = 0; if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(mainList[0].HDate, ref sYear, ref sPeriod, ref s) == false) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = s; objJsonResult.data = null; return objJsonResult; } //固定赋值================================= BillNew.omodel.HYear = sYear; BillNew.omodel.HPeriod = sPeriod; BillNew.omodel.HBillType = "3803"; BillNew.omodel.HInterID = mainList[0].HInterID; BillNew.omodel.HBillNo = mainList[0].HBillNo; BillNew.omodel.HDate = mainList[0].HDate; BillNew.omodel.HRemark = mainList[0].HRemark; BillNew.omodel.HMaker = mainList[0].HMaker; BillNew.omodel.HSTOCKORGID = mainList[0].HSTOCKORGID; DBUtility.ClsPub.CurUserName = mainList[0].HMaker; //==================================================== BillNew.omodel.HSupID = mainList[0].HSupID; BillNew.omodel.HSupTypeID = mainList[0].HSupTypeID; BillNew.omodel.HEmpID = mainList[0].HEmpID; BillNew.omodel.HManagerID = mainList[0].HManagerID; BillNew.omodel.HSecManagerID = mainList[0].HSecManagerID; BillNew.omodel.HKeeperID = mainList[0].HKeeperID; BillNew.omodel.HDeptID = mainList[0].HDeptID; BillNew.omodel.HWHID = mainList[0].HWHID; BillNew.omodel.HSCWHID = mainList[0].HSCWHID; BillNew.omodel.HExplanation = mainList[0].HExplanation; BillNew.omodel.HInnerBillNo = mainList[0].HInnerBillNo; BillNew.omodel.HRedBlueFlag = mainList[0].HRedBlueFlag; //子表赋值 ds = oCn.RunProcReturn("exec h_p_Sc_GetMouldStockBill_Temp " + BillNew.omodel.HInterID.ToString() + ",'" + BillNew.omodel.HBillType + "'", "h_p_Sc_GetMouldStockBill_Temp"); if (ds == null || ds.Tables[0].Rows.Count == 0) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "没有扫码信息,请先扫描条码,确认无误后再提交!"; objJsonResult.data = null; return objJsonResult; } else { for (int i = 0; i <= ds.Tables[0].Rows.Count - 1; i++) { Model.ClsSc_MouldStockBillSub oSub = new Model.ClsSc_MouldStockBillSub(); //固定赋值======================================== oSub.HEntryID = i + 1; oSub.HRemark = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[i]["HRemark"]); oSub.HSourceInterID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HSourceInterID"]); oSub.HSourceEntryID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HSourceEntryID"]); oSub.HSourceBillType = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[i]["HSourceBillType"]); oSub.HSourceBillNo = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[i]["HSourceBillNo"]); oSub.HRelationQty = DBUtility.ClsPub.isDoule(ds.Tables[0].Rows[i]["HRelationQty"]); oSub.HRelationMoney = DBUtility.ClsPub.isDoule(ds.Tables[0].Rows[i]["HRelationMoney"]); //============================= oSub.HMaterID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HMaterID"]); oSub.HPropertyID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HAuxPropID"]); oSub.HSecUnitID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HSecUnitID"]); oSub.HSecUnitRate = DBUtility.ClsPub.isSingle(ds.Tables[0].Rows[i]["HSecUnitRate"]); oSub.HUnitID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HUnitID"]); oSub.HBatchNo = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[i]["HBatchNo"]); oSub.HQtyMust = DBUtility.ClsPub.isDoule(ds.Tables[0].Rows[i]["HQtyMust"]); oSub.HQtyRel = DBUtility.ClsPub.isDoule(ds.Tables[0].Rows[i]["HQtyRel"]); oSub.HQty = DBUtility.ClsPub.isDoule(ds.Tables[0].Rows[i]["HQty"]); oSub.HPrice = DBUtility.ClsPub.isDoule(ds.Tables[0].Rows[i]["HPrice"]); oSub.HMoney = DBUtility.ClsPub.isDoule(ds.Tables[0].Rows[i]["HMoney"]); oSub.HDesignLife = DBUtility.ClsPub.isDoule(ds.Tables[0].Rows[i]["HDesignLife"]); oSub.HLeaveLife = DBUtility.ClsPub.isDoule(ds.Tables[0].Rows[i]["HLeaveLife"]); oSub.HUseLife = DBUtility.ClsPub.isDoule(ds.Tables[0].Rows[i]["HUseLife"]); oSub.HUseLifeQty = DBUtility.ClsPub.isDoule(ds.Tables[0].Rows[i]["HUseLifeQty"]); oSub.HNewLifeQty = DBUtility.ClsPub.isDoule(ds.Tables[0].Rows[i]["HNewLifeQty"]); oSub.HWHID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HWHID"]); oSub.HSCWHID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HSCWHID"]); oSub.HSPID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HSPID"]); oSub.HSCSPID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HSCSPID"]); oSub.HSPGroupID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HSPGroupID"]); oSub.HBarCode = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[i]["HBarCode"]); oSub.HCorrespondentTypeID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HCorrespondentTypeID"]); oSub.HCorrespondentID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HCorrespondentID"]); oSub.HPOOrderInterID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HPOOrderInterID"]); oSub.HPOOrderEntryID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HPOOrderEntryID"]); oSub.HPOOrderBillNo = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[i]["HPOOrderBillNo"]); oSub.HSeOrderInterID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HSeOrderInterID"]); oSub.HSeOrderEntryID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HSeOrderEntryID"]); oSub.HSeOrderBillNo = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[i]["HSeOrderBillNo"]); oSub.HStockOrgID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HStockOrgID"]); oSub.HOWNERID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HOWNERID"]); oSub.HOtherOrgID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HOtherOrgID"]); oSub.HOWNERTYPEID = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[i]["HOWNERTYPEID"]); BillNew.DetailColl.Add(oSub); } } //保存 bool bResult; bResult = BillNew.AddBill(ref DBUtility.ClsPub.sExeReturnInfo); if (bResult) { objJsonResult.code = "0"; objJsonResult.count = 1; objJsonResult.Message = DBUtility.ClsPub.sExeReturnInfo; //成功! objJsonResult.data = null; return objJsonResult; } else { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "保存失败!" + DBUtility.ClsPub.sExeReturnInfo; objJsonResult.data = null; return objJsonResult; } } catch (Exception e) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "模具领用退库单上传失败!" + e.Message; objJsonResult.data = null; return objJsonResult; } } #endregion #region 模具调拨单 上传生单 /// /// 模具调拨单新增上传 /// /// [Route("MouldController/set_SaveMouldProdMoveBill_Json")] [HttpPost] public object set_SaveMouldProdMoveBill_Json([FromBody] JObject oMain) { BillStatus = DBUtility.ClsPub.Enum_BillStatus.BillStatus_AddNew; DAL.ClsSc_MouldProdMoveBill BillNew = new DAL.ClsSc_MouldProdMoveBill(); var _value = oMain["oMain"].ToString(); string msg1 = _value.ToString(); try { string sMainStr = "[" + msg1.ToString() + "]"; List mainList = Newtonsoft.Json.JsonConvert.DeserializeObject>(sMainStr); //单据号是否重复 if (BillNew.IsExistBillNo(ref ClsPub.sExeReturnInfo, mainList[0].HBillNo, BillStatus, mainList[0].HInterID)) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "单据号重复!不允许保存!"; objJsonResult.data = null; return objJsonResult; } //判断会计期是否合理 string s = ""; int sYear = 0; int sPeriod = 0; if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(mainList[0].HDate, ref sYear, ref sPeriod, ref s) == false) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = s; objJsonResult.data = null; return objJsonResult; } //固定赋值================================= BillNew.omodel.HYear = sYear; BillNew.omodel.HPeriod = sPeriod; BillNew.omodel.HBillType = "3814"; BillNew.omodel.HInterID = mainList[0].HInterID; BillNew.omodel.HBillNo = mainList[0].HBillNo; BillNew.omodel.HDate = mainList[0].HDate; BillNew.omodel.HRemark = mainList[0].HRemark; BillNew.omodel.HMaker = mainList[0].HMaker; BillNew.omodel.HSTOCKORGID = mainList[0].HStockInOrgID; DBUtility.ClsPub.CurUserName = mainList[0].HMaker; //==================================================== BillNew.omodel.HSupID = mainList[0].HSupID; BillNew.omodel.HSupTypeID = mainList[0].HSupTypeID; BillNew.omodel.HEmpID = mainList[0].HEmpID; BillNew.omodel.HManagerID = mainList[0].HManagerID; BillNew.omodel.HSecManagerID = mainList[0].HSecManagerID; BillNew.omodel.HKeeperID = mainList[0].HKeeperID; BillNew.omodel.HDeptID = mainList[0].HDeptID; BillNew.omodel.HWHID = mainList[0].HWHID; BillNew.omodel.HSCWHID = mainList[0].HSCWHID; BillNew.omodel.HExplanation = mainList[0].HExplanation; BillNew.omodel.HInnerBillNo = mainList[0].HInnerBillNo; BillNew.omodel.HRedBlueFlag = mainList[0].HRedBlueFlag; BillNew.omodel.HStockStyle = mainList[0].HStockStyle; BillNew.omodel.HStockInOrgID = mainList[0].HStockInOrgID; BillNew.omodel.HStockOutOrgID = mainList[0].HStockOutOrgID; //子表赋值 ds = oCn.RunProcReturn("exec h_p_Sc_GetMouldStockBill_Temp " + BillNew.omodel.HInterID.ToString() + ",'" + BillNew.omodel.HBillType + "'", "h_p_Sc_GetMouldStockBill_Temp"); if (ds == null || ds.Tables[0].Rows.Count == 0) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "没有扫码信息,请先扫描条码,确认无误后再提交!"; objJsonResult.data = null; return objJsonResult; } else { for (int i = 0; i <= ds.Tables[0].Rows.Count - 1; i++) { Model.ClsSc_MouldProdMoveBillSub oSub = new Model.ClsSc_MouldProdMoveBillSub(); //固定赋值======================================== oSub.HEntryID = i + 1; oSub.HRemark = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[i]["HRemark"]); oSub.HSourceInterID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HSourceInterID"]); oSub.HSourceEntryID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HSourceEntryID"]); oSub.HSourceBillType = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[i]["HSourceBillType"]); oSub.HSourceBillNo = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[i]["HSourceBillNo"]); oSub.HRelationQty = DBUtility.ClsPub.isDoule(ds.Tables[0].Rows[i]["HRelationQty"]); oSub.HRelationMoney = DBUtility.ClsPub.isDoule(ds.Tables[0].Rows[i]["HRelationMoney"]); //============================= oSub.HMaterID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HMaterID"]); oSub.HPropertyID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HAuxPropID"]); oSub.HSecUnitID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HSecUnitID"]); oSub.HSecUnitRate = DBUtility.ClsPub.isSingle(ds.Tables[0].Rows[i]["HSecUnitRate"]); oSub.HUnitID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HUnitID"]); oSub.HBatchNo = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[i]["HBatchNo"]); oSub.HQtyMust = DBUtility.ClsPub.isDoule(ds.Tables[0].Rows[i]["HQtyMust"]); oSub.HQtyRel = DBUtility.ClsPub.isDoule(ds.Tables[0].Rows[i]["HQtyRel"]); oSub.HQty = DBUtility.ClsPub.isDoule(ds.Tables[0].Rows[i]["HQty"]); oSub.HPrice = DBUtility.ClsPub.isDoule(ds.Tables[0].Rows[i]["HPrice"]); oSub.HMoney = DBUtility.ClsPub.isDoule(ds.Tables[0].Rows[i]["HMoney"]); oSub.HDesignLife = DBUtility.ClsPub.isDoule(ds.Tables[0].Rows[i]["HDesignLife"]); oSub.HLeaveLife = DBUtility.ClsPub.isDoule(ds.Tables[0].Rows[i]["HLeaveLife"]); oSub.HUseLife = DBUtility.ClsPub.isDoule(ds.Tables[0].Rows[i]["HUseLife"]); oSub.HUseLifeQty = DBUtility.ClsPub.isDoule(ds.Tables[0].Rows[i]["HUseLifeQty"]); oSub.HNewLifeQty = DBUtility.ClsPub.isDoule(ds.Tables[0].Rows[i]["HNewLifeQty"]); oSub.HWHID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HWHID"]); oSub.HSCWHID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HSCWHID"]); oSub.HSPID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HSPID"]); oSub.HSCSPID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HSCSPID"]); oSub.HSPGroupID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HSPGroupID"]); oSub.HBarCode = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[i]["HBarCode"]); oSub.HCorrespondentTypeID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HCorrespondentTypeID"]); oSub.HCorrespondentID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HCorrespondentID"]); oSub.HPOOrderInterID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HPOOrderInterID"]); oSub.HPOOrderEntryID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HPOOrderEntryID"]); oSub.HPOOrderBillNo = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[i]["HPOOrderBillNo"]); oSub.HSeOrderInterID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HSeOrderInterID"]); oSub.HSeOrderEntryID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HSeOrderEntryID"]); oSub.HSeOrderBillNo = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[i]["HSeOrderBillNo"]); oSub.HStockOrgID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HStockOrgID"]); oSub.HOWNERID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HOWNERID"]); oSub.HOtherOrgID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[i]["HOtherOrgID"]); oSub.HOWNERTYPEID = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[i]["HOWNERTYPEID"]); BillNew.DetailColl.Add(oSub); } } //保存 bool bResult; bResult = BillNew.AddBill(ref DBUtility.ClsPub.sExeReturnInfo); if (bResult) { objJsonResult.code = "0"; objJsonResult.count = 1; objJsonResult.Message = DBUtility.ClsPub.sExeReturnInfo; //成功! objJsonResult.data = null; return objJsonResult; } else { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "保存失败!" + DBUtility.ClsPub.sExeReturnInfo; objJsonResult.data = null; return objJsonResult; } } catch (Exception e) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "模具调拨单上传失败!" + e.Message; objJsonResult.data = null; return objJsonResult; } } #endregion #endregion } }