using Newtonsoft.Json.Linq; using Pub_Class; using System; using System.Collections; using System.Collections.Generic; using System.Data; using System.Data.SqlClient; using System.Web.Http; using WebAPI.Models; using WebAPI.Service; namespace WebAPI.Controllers { public class Sc_ProcessMangementController : ApiController { public DBUtility.ClsPub.Enum_BillStatus BillStatus; private json objJsonResult = new json(); /// ///封装状态码及返回信息的公用方法。 ///参数:DataSet。 ///返回值:json。 /// public object GetObjectJson(DataSet ds) { try { if (ds == null || ds.Tables[0].Rows.Count <= 0) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "没有返回任何记录!"; 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; } } /// ///统一正确信息方法。 ///参数:string。 ///返回值:object。 /// public object CustomCorrect(DataSet ds) { if (ds == null || ds.Tables[0].Rows.Count <= 0) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "没有返回任何记录!"; objJsonResult.data = null; return objJsonResult; } else { objJsonResult.code = "0"; objJsonResult.count = 1; objJsonResult.Message = "获取信息成功!"; objJsonResult.data = ds.Tables[0]; return objJsonResult; } } /// ///自定义错误信息方法。 ///参数:string。 ///返回值:object。 /// public object CustomError(string msg) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = msg; objJsonResult.data = null; return objJsonResult; } /// /// 返回生产汇报单列表 ///参数:string sql。 ///返回值:object。 /// [Route("Sc_ProcessMangement/MES_Sc_ProcessReportList_Json")] [HttpGet] public object MES_Sc_ProcessReportList_Json(string sWhere) { DataSet ds; try { SQLHelper.ClsCN oCN = new SQLHelper.ClsCN(); if (sWhere == null || sWhere.Equals("")) { ds = oCN.RunProcReturn("select top 500 * from h_v_Sc_ProcessReportList ", "h_v_Sc_ProcessReportList"); } else { string sql1 = "select * from h_v_Sc_ProcessReportList where 1 = 1 "; string sql = sql1 + sWhere; ds = oCN.RunProcReturn(sql, "h_v_Sc_ProcessReportList"); } } catch (Exception e) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "没有返回任何记录!" + e.ToString(); objJsonResult.data = null; return objJsonResult; } return GetObjectJson(ds); } /// /// 返回生产汇报单主表详情信息 ///参数:string sql。 ///返回值:object。 /// [Route("Sc_ProcessMangement/MES_DetailSc_ProcessReportList_Json")] [HttpGet] public object MES_DetailSc_ProcessReportList_Json(int HInterID) { DataSet ds; try { SQLHelper.ClsCN oCN = new SQLHelper.ClsCN(); if (HInterID<=0) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "HInterID小于0!" ; objJsonResult.data = null; return objJsonResult; } else { string sql1 = @"select s1.HInterID,s1.HBillNo,s1.HDeptID,s2.HName,s1.HDate,s1.HPlanQty,s1.HICMOBillNo,s1.HRemark,s2.HNumber ,s1.HMaker,s1.HMakeDate,s1.HChecker,s1.HCheckDate,s1.HUpDater,s1.HUpDateDate,s1.HCloseMan,s1.HCloseDate from Sc_ProcessReportMain s1 inner join Gy_Department s2 on s1.HDeptID=s2.HItemID and s1.HInterID=" + HInterID; ds = oCN.RunProcReturn(sql1, "Sc_ProcessReportMain"); } } catch (Exception e) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "没有返回任何记录!" + e.ToString(); objJsonResult.data = null; return objJsonResult; } return GetObjectJson(ds); } /// /// 返回生产派工单关联详情信息 ///参数:string sql。 ///返回值:object。 /// [Route("Sc_ProcessMangement/MES_h_v_Sc_ProcessSendWorkList_Json")] [HttpGet] public object MES_h_v_Sc_ProcessSendWorkList_Json(int HInterID) { DataSet ds; try { SQLHelper.ClsCN oCN = new SQLHelper.ClsCN(); if (HInterID <= 0) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "HInterID小于0!"; objJsonResult.data = null; return objJsonResult; } else { string sql1 =@"select [hmainid], [日期], [单据号], [HDeptID], [部门代码], [部门], [HMaterID], [物料代码], [物料名称], [规格型号], [HUnitID], [计量单位代码], [计量单位], [HprocID], [工序代码], [工序], [HGroupID], [班组代码], [班组名称], [HSourceID], [资源代码], [生产资源], [HWorkerID], [职员代码], [职员], [hsubid], [数量], [计划开工日期], [计划完工日期], [计划工时], [表体备注], [HICMOInterID], [生产任务单号], [HSeOrderInterID], [销售订单号], [表头备注], [制单人], [制单日期], [审核人], [审核日期], [修改人], [修改日期], [关闭人], [关闭日期], [作废人], [作废日期], [源单主内码], [源单子内码], [源单单号], [源单类型], [行关闭人], [HBillType], [HQtyDecimal], [HPriceDecimal] from h_v_Sc_ProcessSendWorkList where hmainid=(select HSourceID from Sc_ProcessReportSub where HInterID="+HInterID+")"; ds = oCN.RunProcReturn(sql1, "h_v_Sc_ProcessSendWorkList"); } } catch (Exception e) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "没有返回任何记录!" + e.ToString(); objJsonResult.data = null; return objJsonResult; } return GetObjectJson(ds); } /// /// 返回生产工序计划单列表 ///参数:string sql。 ///返回值:object。 /// [Route("Sc_ProcessMangement/MES_Sc_ProcessPlanMain_Json")] [HttpGet] public object MES_Sc_ProcessPlanMain_Json(string sWhere) { DataSet ds; try { SQLHelper.ClsCN oCN = new SQLHelper.ClsCN(); if (sWhere == null || sWhere.Equals("")) { ds = oCN.RunProcReturn("select top 500 * from h_v_Sc_ProcessPlanList ", "h_v_Sc_ProcessPlanList"); } else { string sql1 = "select * from h_v_Sc_ProcessPlanList where 1 = 1 "; string sql = sql1 + sWhere; ds = oCN.RunProcReturn(sql, "h_v_Sc_ProcessPlanList"); } } catch (Exception e) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "没有返回任何记录!" + e.ToString(); objJsonResult.data = null; return objJsonResult; } return GetObjectJson(ds); } /// /// 返回生产工序派工单列表 /// /// /// [Route("Sc_ProcessMangement/MES_Sc_ProcessSendWorkMain_Json")] [HttpGet] public object MES_Sc_ProcessSendWorkMain_Json(string sWhere) { DataSet ds; try { SQLHelper.ClsCN oCN = new SQLHelper.ClsCN(); if (sWhere == null || sWhere.Equals("")) { ds = oCN.RunProcReturn("select top 500 * from h_v_Sc_ProcessSendWorkList ", "h_v_Sc_ProcessSendWorkList"); } else { string sql1 = "select * from h_v_Sc_ProcessSendWorkList where 1 = 1 "; string sql = sql1 + sWhere; ds = oCN.RunProcReturn(sql, "h_v_Sc_ProcessSendWorkList"); } } catch (Exception e) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "没有返回任何记录!" + e.ToString(); objJsonResult.data = null; return objJsonResult; } return GetObjectJson(ds); } /// /// 保存派工单信息 /// /// /// [Route("SaveProcessSendWork")] [HttpPost] public object SaveProcessSendWork([FromBody]JObject msg) { var _value = msg["msg"].ToString(); string msg1 = _value.ToString(); string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries); string msg2 = sArray[0].ToString(); string msg3 = sArray[1].ToString(); string UserName = ""; ListModels oListModels = new ListModels(); try { DAL.ClsSc_ProcessSendWork Sendwork = new DAL.ClsSc_ProcessSendWork(); List lsmain = new List(); msg2 = msg2.Replace("\\", ""); msg2 = msg2.Replace("\n", ""); lsmain = oListModels.getObjectByJson_SendWorkMain(msg2); foreach ( Model.ClsSc_ProcessSendWorkMain oItem in lsmain) { UserName = oItem.HMaker; oItem.HMakeDate = DBUtility.ClsPub.isStrNull(DateTime.Now.ToString("yyyy-MM-dd")); oItem.HYear = DBUtility.ClsPub.isLong(DateTime.Now.Year); oItem.HDate = DateTime.Now; oItem.HMainSourceInterID = oItem.HInterID; oItem.HInterID = 0; if (DBUtility.ClsPub.isStrNull(oItem.HPlanBeginDate) == "") { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "保存失败!没有填写计划开工日期,无法保存!"; objJsonResult.data = 1; return objJsonResult; } Sendwork.omodel = oItem; } //表体数据 //按 },{来拆分数组 //去掉【和】 msg3 = msg3.Substring(1, msg3.Length - 2); msg3 = msg3.Replace("\\", ""); msg3 = msg3.Replace("\n", ""); //\n List ls = new List(); ls = oListModels.getObjectByJson_SendWorkSub(msg3); int i = 0; List lss = new List(); foreach (WebAPI.Models.Sc_ProcessPlanViewModel oItemSub in ls) { i++; Model.ClsSc_ProcessSendWorkSub sendworksub = new Model.ClsSc_ProcessSendWorkSub(); sendworksub.HProcID = oItemSub.hprocid.Value;//--工序ID sendworksub.HProcPlanBillNo = oItemSub.工序计划单号; //--工序计划单号 sendworksub.HProcPlanEntryID = oItemSub.hsubid.Value; //--工序计划单子ID sendworksub.HProcPlanInterID = oItemSub.hmainid.Value; //--工序计划单ID sendworksub.HICMOInterID = oItemSub.hicmointerid.Value; //--任务单ID sendworksub.HICMOBillNo = oItemSub.任务单号; //--任务单号 sendworksub.HSeOrderBillNo = oItemSub.销售订单号; //--销售订单号 sendworksub.HSeOrderEntryID = oItemSub.销售订单子ID.Value; //--销售子ID sendworksub.HSeOrderInterID = oItemSub.销售订单主ID.Value; //--销售订单主ID sendworksub.HPlanTimes = (float)oItemSub.计划加工时间; //--计划工时 sendworksub.HPlanEndDate = oItemSub.计划完工日期.Value; //--计划完工日期 sendworksub.HPlanBeginDate = oItemSub.计划开工日期.Value; //--计划开工日期 sendworksub.HQty = (double)oItemSub.计划数量; //--派工数量 sendworksub.HWorkerNumber = oItemSub.操作员代码; //--操作工代码 sendworksub.HWorkerID = oItemSub.HWorkerID.Value; //--操作工ID sendworksub.HGroupNumber = oItemSub.班组代码; //班组代码 sendworksub.HGroupID = oItemSub.HGroupID.Value; //--班组ID sendworksub.HSourceNumber = oItemSub.生产资源; //--生产资源代码 //--生产资源ID sendworksub.HProcNumber = oItemSub.工序代码; //--工序代码 sendworksub.HRemark = oItemSub.表体备注; //--备注 if (oItemSub.计划数量 <= 0) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "保存失败!第" + i.ToString() + "行数量不大于0无法保存!"; objJsonResult.data = 1; return objJsonResult; } if (Convert.ToInt32( sendworksub.HQty) > Convert.ToInt32( oItemSub.计划数量)) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "保存失败!第" + i.ToString() + "行派工数量不能大于计划单数量!"; objJsonResult.data = 1; return objJsonResult; } //if (DBUtility.ClsPub.isStrNull(oItemSub.HBatChNo) == "") //{ // objJsonResult.code = "0"; // objJsonResult.count = 0; // objJsonResult.Message = "保存失败!第" + i.ToString() + "行未填写批号!"; // objJsonResult.data = 1; // return objJsonResult; //} sendworksub.HEntryID = i; sendworksub.HEntryCloseDate = DBUtility.ClsPub.isDate(DateTime.Now); sendworksub.HRemark = ""; sendworksub.HCloseMan = ""; sendworksub.HCloseType = false; sendworksub.HSourceBillType = oItemSub.HBillType; lss.Add(sendworksub);//先把数据存放到派工单子表集合里 } if (lss.Count > 0) { //然后再循环保存到派工单子表的集合里 foreach (Model.ClsSc_ProcessSendWorkSub Itemsendwork in lss) { Sendwork.DetailColl.Add(Itemsendwork); } } else { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "保存失败!lss集合小于0"; objJsonResult.data = 1; return objJsonResult; } //保存 //保存完毕后处理 bool bResult; if (Sendwork.omodel.HInterID == 0) { // bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo); bResult = Sendwork.AddBill(ref DBUtility.ClsPub.sExeReturnInfo); } else { bResult = Sendwork.ModifyBill(Sendwork.omodel.HInterID, ref DBUtility.ClsPub.sExeReturnInfo); } if (bResult) { objJsonResult.code = "0"; objJsonResult.count = 1; objJsonResult.Message = "保存成功!"; //WebAPIController.Add_Log("送货单下推", UserName, "生成送货单"); objJsonResult.data = 1; return objJsonResult; } else { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "保存失败!" + DBUtility.ClsPub.sExeReturnInfo; objJsonResult.data = 1; return objJsonResult; } } catch (Exception e) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "保存失败!" + e.ToString(); objJsonResult.data = 1; return objJsonResult; } } /// /// 保存委外派工单信息 /// /// /// [Route("SaveWWProcessSendWork")] [HttpPost] public object SaveWWProcessSendWork([FromBody] JObject msg) { var _value = msg["msg"].ToString(); string msg1 = _value.ToString(); string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries); string msg2 = sArray[0].ToString(); string msg3 = sArray[1].ToString(); string UserName = ""; ListModels oListModels = new ListModels(); try { WebAPI.DLL.ClsSc_ProcessSendWork Sendwork = new WebAPI.DLL.ClsSc_ProcessSendWork(); List lsmain = new List(); msg2 = msg2.Replace("\\", ""); msg2 = msg2.Replace("\n", ""); lsmain = oListModels.getObjectByJson_WWSendWorkMain(msg2); foreach (WebAPI.Models.ClsSc_ProcessSendWorkMain oItem in lsmain) { UserName = oItem.HMaker; oItem.HMakeDate = DBUtility.ClsPub.isStrNull(DateTime.Now.ToString("yyyy-MM-dd")); oItem.HYear = DBUtility.ClsPub.isLong(DateTime.Now.Year); oItem.HDate = DateTime.Now; oItem.HMainSourceInterID = oItem.HInterID; oItem.HInterID = 0; if (DBUtility.ClsPub.isStrNull(oItem.HPlanBeginDate) == "") { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "保存失败!没有填写计划开工日期,无法保存!"; objJsonResult.data = 1; return objJsonResult; } Sendwork.omodel = oItem; } //表体数据 //按 },{来拆分数组 //去掉【和】 msg3 = msg3.Substring(1, msg3.Length - 2); msg3 = msg3.Replace("\\", ""); msg3 = msg3.Replace("\n", ""); //\n List ls = new List(); ls = oListModels.getObjectByJson_WWSendWorkSub(msg3); int i = 0; List lss = new List(); foreach (WebAPI.Models.WW_EntrustWorkOrderViewModel oItemSub in ls) { i++; Model.ClsSc_ProcessSendWorkSub sendworksub = new Model.ClsSc_ProcessSendWorkSub(); sendworksub.HProcID = 0;//--工序ID sendworksub.HSourceInterID = (long)oItemSub.hmainid;//源单id sendworksub.HSourceEntryID = oItemSub.hsubid; //--源单子ID sendworksub.HSourceBillNo = oItemSub.单据号; //--源单单号 sendworksub.HSourceBillType = oItemSub.HBillType; //--源单类型 sendworksub.HQty = oItemSub.数量; //--数量 sendworksub.HICMOBillNo = ""; //--任务单号 sendworksub.HSeOrderBillNo = ""; //--销售订单号 sendworksub.HSeOrderEntryID = 0; //--销售子ID sendworksub.HSeOrderInterID = 0; //--销售订单主ID sendworksub.HPlanTimes = 0; //--计划工时 sendworksub.HPlanEndDate = DateTime.Now; //--计划完工日期 sendworksub.HPlanBeginDate = DateTime.Now; //--计划开工日期 sendworksub.HQty = (double)oItemSub.数量; //--派工数量 sendworksub.HWorkerNumber = ""; //--操作工代码 sendworksub.HWorkerID = 0; //--操作工ID sendworksub.HGroupNumber = ""; //班组代码 sendworksub.HGroupID =0; //--班组ID sendworksub.HSourceNumber = ""; //--生产资源代码 //--生产资源ID sendworksub.HProcNumber = ""; //--工序代码 if (oItemSub.数量 <= 0) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "保存失败!第" + i.ToString() + "行数量不大于0无法保存!"; objJsonResult.data = 1; return objJsonResult; } if (Convert.ToInt32(sendworksub.HQty) > Convert.ToInt32(oItemSub.数量)) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "保存失败!第" + i.ToString() + "行委外派工数量不能大于委外工单数量!"; objJsonResult.data = 1; return objJsonResult; } //if (DBUtility.ClsPub.isStrNull(oItemSub.HBatChNo) == "") //{ // objJsonResult.code = "0"; // objJsonResult.count = 0; // objJsonResult.Message = "保存失败!第" + i.ToString() + "行未填写批号!"; // objJsonResult.data = 1; // return objJsonResult; //} sendworksub.HEntryID = i; sendworksub.HEntryCloseDate = DBUtility.ClsPub.isDate(DateTime.Now); sendworksub.HRemark = ""; sendworksub.HCloseMan = ""; sendworksub.HCloseType = false; lss.Add(sendworksub);//先把数据存放到派工单子表集合里 } if (lss.Count > 0) { //然后再循环保存到派工单子表的集合里 foreach (Model.ClsSc_ProcessSendWorkSub Itemsendwork in lss) { Sendwork.DetailColl.Add(Itemsendwork); } } else { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "保存失败!lss集合小于0"; objJsonResult.data = 1; return objJsonResult; } //保存 //保存完毕后处理 bool bResult; if (Sendwork.omodel.HInterID == 0) { // bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo); bResult = Sendwork.AddBill(ref DBUtility.ClsPub.sExeReturnInfo); } else { bResult = Sendwork.ModifyBill(Sendwork.omodel.HInterID, ref DBUtility.ClsPub.sExeReturnInfo); } if (bResult) { objJsonResult.code = "0"; objJsonResult.count = 1; objJsonResult.Message = "保存成功!"; //WebAPIController.Add_Log("送货单下推", UserName, "生成送货单"); objJsonResult.data = 1; return objJsonResult; } else { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "保存失败!" + DBUtility.ClsPub.sExeReturnInfo; objJsonResult.data = 1; return objJsonResult; } } catch (Exception e) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "保存失败!" + e.ToString(); objJsonResult.data = 1; return objJsonResult; } } /// /// 返回委外工单列表 /// /// /// [Route("Sc_ProcessMangement/MES_WW_EntrustWorkOrderBillMain_Json")] [HttpGet] public object MES_WW_EntrustWorkOrderBillMain_Json(string sWhere) { DataSet ds; try { SQLHelper.ClsCN oCN = new SQLHelper.ClsCN(); if (sWhere == null || sWhere.Equals("")) { ds = oCN.RunProcReturn("select top 500 * from h_v_WW_EntrustWorkOrderBillList ", "h_v_WW_EntrustWorkOrderBillList"); } else { string sql1 = "select * from h_v_WW_EntrustWorkOrderBillList where 1 = 1 "; string sql = sql1 + sWhere; ds = oCN.RunProcReturn(sql, "h_v_WW_EntrustWorkOrderBillList"); } } catch (Exception e) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "没有返回任何记录!" + e.ToString(); objJsonResult.data = null; return objJsonResult; } return GetObjectJson(ds); } /// /// 返回不合格评审列表 /// /// /// [Route("Sc_ProcessMangement/MES_QC_NoPassProdCheckBill_Json")] [HttpGet] public object MES_QC_NoPassProdCheckBill_Json(string sWhere) { DataSet ds; try { SQLHelper.ClsCN oCN = new SQLHelper.ClsCN(); if (sWhere == null || sWhere.Equals("")) { ds = oCN.RunProcReturn("select top 500 * from h_v_QC_NoPassProdCheckBillList ", "h_v_QC_NoPassProdCheckBillList"); } else { string sql1 = "select * from h_v_QC_NoPassProdCheckBillList where 1 = 1 "; string sql = sql1 + sWhere; ds = oCN.RunProcReturn(sql, "h_v_QC_NoPassProdCheckBillList"); } } catch (Exception e) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "没有返回任何记录!" + e.ToString(); objJsonResult.data = null; return objJsonResult; } return GetObjectJson(ds); } /// /// PDA工序汇报单保存 /// /// /// [Route("SaveProcessReport")] [HttpPost] public object SaveProcessReport([FromBody] JObject msg) { var _value = msg["msg"].ToString(); string msg1 = _value.ToString(); ListModels oListModels = new ListModels(); try { DAL.ClsSc_ProcessReport ReportModel = new DAL.ClsSc_ProcessReport(); List ls = new List(); ls = oListModels.getObjectByJson_Report(msg1); int i = 0; foreach (Models.Sc_ProcessReportViewModel ItemView in ls) { i++; Model.ClsSc_ProcessReportMain ReportMain = new Model.ClsSc_ProcessReportMain(); Model.ClsSc_ProcessReportSub ReportSub = new Model.ClsSc_ProcessReportSub(); //工序汇报单主表保存 ReportMain.HBillType = "3714"; ReportMain.HBillNo = ItemView.HBillNo; ReportMain.HMakeDate=DBUtility.ClsPub.isStrNull(DateTime.Now.ToString("yyyy-MM-dd")); ReportMain.HYear=DBUtility.ClsPub.isLong(DateTime.Now.Year); ReportMain.HDate = DateTime.Now; ReportMain.HMaker = ItemView.HEmp; ReportMain.HCloseType = false; ReportMain.HPlanQty = (double)ItemView.HQty; ReportMain.HMainSourceInterID = ItemView.HInterID; ReportMain.HInterID =0; ReportMain.HPeriod = 1; ReportMain.HBillSubType = "3714"; ReportMain.HBillStatus = 0; ReportMain.HCheckItemNowID = 0; ReportMain.HCheckItemNextID = 0; ReportMain.HICMOInterID= (long)ItemView.HICMOInterID; ReportMain.HICMOBillNo=ItemView.HICMOBillNo; ReportMain.HDeptID = (long)ItemView.HDeptID; ReportMain.HDeptNumber =ItemView.HDeptNumber; ReportMain.HGroupID = (long)ItemView.HGroupID; ReportMain.HGroupNumber = ItemView.HGroupNumber; ReportMain.HMaterID = (long)ItemView.HMaterID; ReportMain.HMaterNumber = ItemView.HMaterNumber; ReportMain.HUnitID = ItemView.HUnitID; ReportMain.HUnitNumber = ItemView.HUnitNumber; ReportMain.HInStockQty = 0; ReportMain.HSumTimes = 0; ReportMain.HExplanation = ""; ReportMain.HInnerBillNo = ""; ReportMain.HSupID = 0; //保存到汇报单主表 ReportModel.omodel = ReportMain; ReportSub.HEmpID = (long)ItemView.HEmpID; ReportSub.HICMOBillNo = ItemView.HICMOBillNo; ReportSub.HICMOInterID = (long)ItemView.HICMOInterID; ReportSub.HEntryID = i; ReportSub.HEntryCloseDate = DBUtility.ClsPub.isDate(DateTime.Now); ReportSub.HRemark = ""; ReportSub.HCloseMan = ""; ReportSub.HCloseType = false; ReportSub.HSourceBillType = "3712"; ReportSub.HQty = (double)ItemView.HQty; ReportSub.HProcID = ItemView.HProcID; ReportSub.HProcNumber = ItemView.HProcNumber; ReportSub.HOutPrice =0; ReportSub.HOutMoney = 0; ReportSub.HSourceID = (long)ItemView.HSourceID; ReportSub.HEmpNumber = ""; ReportSub.HRelBeginDate = DateTime.Now; ReportSub.HRelEndDate = DateTime.Now; ReportSub.HTimes =3; ReportSub.HSeOrderInterID = 0; ReportSub.HSeOrderEntryID =0; ReportSub.HSeOrderBillNo = ""; ReportSub.HProcPlanInterID = 0; ReportSub.HProcPlanBillNo = ""; ReportSub.HSourceInterID = 0; ReportSub.HSourceBillNo = ""; ReportSub.HRelationQty = 0; ReportSub.HRelationMoney = 0; ReportSub.HMaterID = (long)ItemView.HMaterID; ReportSub.HMaterNumber = ItemView.HMaterNumber; ReportSub.HCheckQty =0; ReportSub.HBadCount =0; ReportSub.HWasterQty =0; ReportSub.HWasterQty2 =0; ReportSub.HPrice =0; ReportSub.HMoney =0; ReportSub.HProcPlanInterID =0; ReportSub.HProcPlanEntryID =0; ReportSub.HProcPlanBillNo =""; ReportSub.HSourceEntryID =0; ReportSub.HSourceBillType =""; ReportSub.HRelationQty =0; ReportSub.HRelationMoney =0; ReportSub.HBadPrirce =0; ReportSub.HBadMoney =0; ReportSub.HWasterPrice =0; ReportSub.HWasterMoney =0; ReportSub.HQualityRate =0; ReportSub.HSecUnitQty1 =0; ReportSub.HSecUnitRate1=0; ReportSub.HSecUnitQty2=0; ReportSub.HSecUnitRate2=0; ReportSub.HUsingQty=0; ReportSub.HSelfBadCount=0; ReportSub.HPreBadCount=0; ReportSub.HPayMentQty=0; ReportSub.HOtherDeduct=0; ReportSub.HRelPay=0; ReportSub.HOtherItem1=""; ReportSub.HOtherItem2=""; ReportSub.HOtherItem3=""; ReportSub.HOtherItem4=""; ReportSub.HOtherItem5=""; ReportSub.HPackType=""; ReportSub.HCheckEmpID=0; ReportSub.HWeight=0; ReportSub.HBatchNo=""; //保存到汇报单子表 ReportModel.DetailColl.Add(ReportSub); } //保存 //保存完毕后处理 bool bResult; if (ReportModel.omodel.HInterID == 0) { // bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo); bResult = ReportModel.AddBill(ref DBUtility.ClsPub.sExeReturnInfo); } else { bResult = ReportModel.ModifyBill(ReportModel.omodel.HInterID, ref DBUtility.ClsPub.sExeReturnInfo); } if (bResult) { objJsonResult.code = "0"; objJsonResult.count = 1; objJsonResult.Message = "保存成功!"; //WebAPIController.Add_Log("送货单下推", UserName, "生成送货单"); objJsonResult.data = 1; return objJsonResult; } else { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "保存失败!" + DBUtility.ClsPub.sExeReturnInfo; objJsonResult.data = 1; return objJsonResult; } } catch (Exception e) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "保存失败!" + e.ToString(); objJsonResult.data = 1; return objJsonResult; } } /// /// 派工单号获取信息 /// /// [Route("Sc_ProcessMangement/getHbarCodeDetail")] [HttpGet] public ApiResult GetHbarCodeDetail(string sBillBarCode) { var model = LuBaoSevice.GetHbarCodeDetail(sBillBarCode); return model; } /// ///工序号获得信息 /// /// [Route("Sc_ProcessMangement/getProcDetail")] [HttpGet] public ApiResult GetProcDetail(string sBillNo, string sProcNo) { var model = LuBaoSevice.GetProcDetail(sBillNo, sProcNo); return model; } /// /// 保存工序汇报单信息 /// /// /// [Route("SaveProcessReportList")] [HttpPost] public object SaveProcessReportList([FromBody] JObject msg) { var _value = msg["msg"].ToString(); string msg1 = _value.ToString(); string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries); string msg2 = sArray[0].ToString(); string msg3 = sArray[1].ToString(); string UserName; ListModels oListModels = new ListModels(); try { DAL.ClsSc_ProcessReport ReportModel = new DAL.ClsSc_ProcessReport(); List lsmain = new List(); msg2 = msg2.Replace("\\", ""); msg2 = msg2.Replace("\n", ""); //\n lsmain = oListModels.getObjectByJson_Reportlist(msg2); foreach (Model.ClsSc_ProcessReportMain oItem in lsmain) { UserName = oItem.HMaker; oItem.HMaker = UserName; oItem.HMakeDate = DBUtility.ClsPub.isStrNull(DateTime.Now.ToString("yyyy-MM-dd")); oItem.HYear = DBUtility.ClsPub.isLong(DateTime.Now.Year); oItem.HDate = DBUtility.ClsPub.isDate(DateTime.Now.ToString("yyyy-MM-dd")); oItem.HBillType = "3714"; //oItem.HExRate = 1; oItem.HMainSourceInterID = oItem.HInterID; oItem.HInterID = 0; //oItem.HInterID = DBUtility.ClsPub.CreateBillID_SRMProd("1103", ref DBUtility.ClsPub.sExeReturnInfo); if (DBUtility.ClsPub.isStrNull(oItem.HPlanQty) == "") { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "保存失败!没有填写派工数量,无法保存!"; objJsonResult.data = 1; return objJsonResult; } ReportModel.omodel = oItem; } //表体数据 //按 },{来拆分数组 //去掉【和】 msg3 = msg3.Substring(1, msg3.Length - 2); msg3 = msg3.Replace("\\", ""); msg3 = msg3.Replace("\n", ""); //\n msg2 = msg2.Replace("'", "’"); List ls = new List(); ls = oListModels.getObjectByJson_ViewReportlist(msg3); int i = 0; //定义汇报单子表集合用于存放下推派工单的多行数据 List lsReportSub = new List(); foreach (WebAPI.Models.Sc_ProcessSendWorkViewModel ItemView in ls) { i++; Model.ClsSc_ProcessReportSub reportSub = new Model.ClsSc_ProcessReportSub(); if (ItemView.数量 <= 0) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "保存失败!第" + i.ToString() + "行数量不大于0无法保存!"; objJsonResult.data = 1; return objJsonResult; } if ((double)ItemView.数量 < ReportModel.omodel.HPlanQty) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "保存失败!工序汇报单累计汇报数量不能大于源单数量!"; objJsonResult.data = 1; return objJsonResult; } reportSub.HEntryID = i; reportSub.HEntryCloseDate = DBUtility.ClsPub.isDate(DateTime.Now); reportSub.HRemark = ""; reportSub.HCloseMan = ReportModel.omodel.HCloseMan; reportSub.HCloseType = false; reportSub.HEmpID =0; reportSub.HICMOBillNo =""; reportSub.HICMOInterID = (long)ItemView.HICMOInterID; reportSub.HRemark = ""; reportSub.HSourceBillType = "3712"; reportSub.HQty = (double)ItemView.数量; reportSub.HProcID = (long)ItemView.HprocID; reportSub.HProcNumber = ItemView.工序代码; reportSub.HOutPrice = 0; reportSub.HOutMoney = 0; reportSub.HSourceID = (long)ItemView.hmainid; reportSub.HEmpNumber = ""; reportSub.HRelBeginDate = DateTime.Now; reportSub.HRelEndDate = DateTime.Now; reportSub.HTimes = 3; reportSub.HSeOrderInterID = 0; reportSub.HSeOrderEntryID = 0; reportSub.HSeOrderBillNo = ""; reportSub.HProcPlanInterID = 0; reportSub.HProcPlanBillNo = ""; reportSub.HSourceInterID = (long)ItemView.hmainid; reportSub.HSourceBillNo = ItemView.单据号; reportSub.HRelationQty = 0; reportSub.HRelationMoney = 0; reportSub.HMaterID = (long)ItemView.HMaterID; reportSub.HMaterNumber = ItemView.物料代码; reportSub.HCheckQty = 0; reportSub.HBadCount = 0; reportSub.HWasterQty = 0; reportSub.HWasterQty2 = 0; reportSub.HPrice = 0; reportSub.HMoney = 0; reportSub.HProcPlanInterID = 0; reportSub.HProcPlanEntryID = 0; reportSub.HProcPlanBillNo = ""; reportSub.HSourceEntryID = 0; reportSub.HSourceBillType = "3712"; reportSub.HRelationQty = 0; reportSub.HRelationMoney = 0; reportSub.HBadPrirce = 0; reportSub.HBadMoney = 0; reportSub.HWasterPrice = 0; reportSub.HWasterMoney = 0; reportSub.HQualityRate = 0; reportSub.HSecUnitQty1 = 0; reportSub.HSecUnitRate1 = 0; reportSub.HSecUnitQty2 = 0; reportSub.HSecUnitRate2 = 0; reportSub.HUsingQty = 0; reportSub.HSelfBadCount = 0; reportSub.HPreBadCount = 0; reportSub.HPayMentQty = 0; reportSub.HOtherDeduct = 0; reportSub.HRelPay = 0; reportSub.HOtherItem1 = ""; reportSub.HOtherItem2 = ""; reportSub.HOtherItem3 = ""; reportSub.HOtherItem4 = ""; reportSub.HOtherItem5 = ""; reportSub.HPackType = ""; reportSub.HCheckEmpID = 0; reportSub.HWeight = 0; reportSub.HBatchNo = ""; lsReportSub.Add(reportSub); } if (lsReportSub.Count>0) { //然后在循环保存到汇报但子表 foreach (Model.ClsSc_ProcessReportSub item in lsReportSub) { ReportModel.DetailColl.Add(item); } } else { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "保存失败!lsReportSub集合小于0"; objJsonResult.data = 1; return objJsonResult; } ////保存前判断(单据号重复,笔录项目) ////保存 ////保存完毕后处理 bool bResult; if (ReportModel.omodel.HInterID == 0) { // bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo); bResult = ReportModel.AddBill(ref DBUtility.ClsPub.sExeReturnInfo); } else { bResult = ReportModel.ModifyBill(ReportModel.omodel.HInterID, ref DBUtility.ClsPub.sExeReturnInfo); } if (bResult) { objJsonResult.code = "0"; objJsonResult.count = 1; objJsonResult.Message = "保存成功!"; //WebAPIController.Add_Log("送货单下推", UserName, "生成送货单"); objJsonResult.data = 1; return objJsonResult; } else { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "保存失败!" + DBUtility.ClsPub.sExeReturnInfo; objJsonResult.data = 1; return objJsonResult; } } catch (Exception e) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "保存失败!" + e.ToString(); objJsonResult.data = 1; return objJsonResult; } } /// /// 保存不良评审单信息 /// /// /// [Route("SaveBadReasonList")] [HttpPost] public object SaveBadReasonList([FromBody] JObject msg) { var _value = msg["msg"].ToString(); string msg1 = _value.ToString(); string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries); string msg2 = sArray[0].ToString(); string msg3 = sArray[1].ToString(); string UserName=""; ListModels oListModels = new ListModels(); try { DLL.ClsQC_NoPassProdCheckBill oBill = new DLL.ClsQC_NoPassProdCheckBill(); List lsmain = new List(); msg2 = msg2.Replace("\\", ""); msg2 = msg2.Replace("\n", ""); //\n lsmain = oListModels.getObjectByJson_NoPassProdCheckMain(msg2); foreach (Model.ClsQC_NoPassProdCheckBillMain oItem in lsmain) { //oItem.HMaker = ""; UserName=oItem.HMaker; oItem.HMakeDate = DBUtility.ClsPub.isStrNull(DateTime.Now.ToString("yyyy-MM-dd")); oItem.HYear = DBUtility.ClsPub.isLong(DateTime.Now.Year); oItem.HDate = DBUtility.ClsPub.isDate(DateTime.Now.ToString("yyyy-MM-dd")); oItem.HBillType = "7509"; oItem.HBillSubType = "7509"; oItem.HBillStatus = 1; oItem.HPeriod = 0; oItem.HGroupName =""; oItem.HSourceID = 0; oItem.HICMOInterID = 0; oItem.HICMOBillNo = ""; oItem.HInStockQty = 0; oItem.HCheckQty = 0; oItem.HRightQty = 0; oItem.HBadPNL = 0; oItem.HPlanPNL = 0; oItem.HFirstCheckEmp = 0; oItem.HCheckerResult = ""; oItem.HWorkCenterID = 0; oItem.HProcExchInterID = 0; oItem.HProcExchEntryID = 0; oItem.HProcExchBillNo = ""; oItem.HOrderProcNo = ""; oItem.HProcExchQty = 0; oItem.HMainSourceInterID = oItem.HInterID; oItem.HInterID = 0; //oItem.HInterID = DBUtility.ClsPub.CreateBillID_SRMProd("1103", ref DBUtility.ClsPub.sExeReturnInfo); if (DBUtility.ClsPub.isStrNull(oItem.HDate)=="") { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "保存失败!没有单据日期,无法保存!"; objJsonResult.data = 1; return objJsonResult; } oBill.omodel = oItem; } //表体数据 //按 },{来拆分数组 //去掉【和】 msg3 = msg3.Substring(1, msg3.Length - 2); msg3 = msg3.Replace("\\", ""); msg3 = msg3.Replace("\n", ""); //\n //msg2 = msg2.Replace("'", "’"); List ls = new List(); ls = oListModels.getObjectByJson_NoPassProdCheckSub(msg3); int i = 0; foreach (Model.ClsQC_NoPassProdCheckBillSub oItemSub in ls) { i++; if (string.IsNullOrWhiteSpace(oItemSub.HWasterReasonName)) { break; } //将前台临时存放的值传过来的值赋给对应的不良数量字段 oItemSub.HBadQty = Convert.ToDecimal( oItemSub.HMRBChecker); if (oItemSub.HBadQty<=0) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "保存失败!第" + i.ToString() + "行不良评审数量不大于0无法保存!"; objJsonResult.data = 1; return objJsonResult; } if ((double)oItemSub.HBadQty >oBill.omodel.HPlanQty ) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "保存失败!第" + i.ToString() + "行数量不能大于不良数量!"; objJsonResult.data = 1; return objJsonResult; } if (DBUtility.ClsPub.isStrNull(oItemSub.HWasterReasonName)=="") { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "保存失败!第" + i.ToString() + "行未填写不良原因!"; objJsonResult.data = 1; return objJsonResult; } oItemSub.HSourceEntryID = oBill.omodel.HMainSourceEntryID; oItemSub.HSourceInterID = oBill.omodel.HMainSourceInterID; oItemSub.HEntryID = i; oItemSub.HEntryCloseDate = DBUtility.ClsPub.isDate(DateTime.Now); oItemSub.HCloseType = false; oItemSub.HBillNo_bak = oBill.omodel.HBillNo; oItemSub.HMRBChecker = ""; oItemSub.HSourceBillNo = oBill.omodel.HMainSourceBillNo; oItemSub.HSourceBillType = "3715"; oItemSub.HRelationQty = 0; oItemSub.HRelationMoney = 0; oItemSub.HMaterID = oBill.omodel.HMaterID; oItemSub.HUnitID = 0; oItemSub.HMustQty = 0; oItemSub.HDisposeNote = ""; oItemSub.HPunishmentBillNo = ""; oItemSub.HBadPCSQty = 0; oItemSub.HQCResultID = 0; oBill.DetailColl.Add(oItemSub); } //保存前判断(单据号重复,笔录项目) //保存 //保存完毕后处理 bool bResult; if (oBill.omodel.HInterID == 0) { // bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo); bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo); } else { bResult = oBill.ModifyBill(oBill.omodel.HInterID, ref DBUtility.ClsPub.sExeReturnInfo); } if (bResult) { objJsonResult.code = "0"; objJsonResult.count = 1; objJsonResult.Message = "保存成功!"; //WebAPIController.Add_Log("送货单下推", UserName, "生成送货单"); objJsonResult.data = 1; return objJsonResult; } else { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "保存失败!" + DBUtility.ClsPub.sExeReturnInfo; objJsonResult.data = 1; return objJsonResult; } } catch (Exception e) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "保存失败!" + e.ToString(); objJsonResult.data = 1; return objJsonResult; } } /// /// 汇报单编辑关闭功能 /// /// /// /// /// [Route("CloseProcessReportList")] [HttpGet] public object CloseProcessReportList(int HInterID,int IsClose,string CurUserName) { DataSet ds; string ModRightNameCheck = "Sc_ProcessReport_check"; try { //审核权限 if (!DBUtility.ClsPub.Security_Log(ModRightNameCheck, 1, true, CurUserName)) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "审核失败!无权限!"; objJsonResult.data = null; return objJsonResult; } SQLHelper.ClsCN oCN = new SQLHelper.ClsCN(); if (HInterID <= 0) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "HInterID小于0!"; objJsonResult.data = null; return objJsonResult; } ds = oCN.RunProcReturn("select * from Sc_ProcessReportMain where HInterID=" + HInterID, "Sc_ProcessReportMain"); if (ds == null || ds.Tables[0].Rows.Count == 0) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "没有这个单据,无法关闭!"; objJsonResult.data = null; return objJsonResult; ; } var HChecker = ds.Tables[0].Rows[0]["HChecker"].ToString(); var HCloseMan = ds.Tables[0].Rows[0]["HCloseMan"].ToString(); if (IsClose == 0) { if (HCloseMan.Trim() != "" || HChecker.Trim() == "") { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "单据未审核、已关闭、已作废状态下不允许关闭!!!"; objJsonResult.data = null; return objJsonResult; } oCN.RunProc("update Sc_ProcessReportMain set HCloseMan='" + CurUserName + "' ,HCloseDate=GETDATE() where HInterID=" + HInterID); objJsonResult.code = "0"; objJsonResult.count = 1; objJsonResult.Message = "* 单据关闭成功!"; objJsonResult.data = null; return objJsonResult; ; } else if(IsClose==1) { if (HCloseMan.Trim() == "" || HChecker.Trim() == "") { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "单据未审核、未关闭、已作废状态下不允许撤销关闭!!!"; objJsonResult.data = null; return objJsonResult; } oCN.RunProc("update Sc_ProcessReportMain set HCloseMan='' ,HCloseDate=null where HInterID=" + HInterID); 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 e) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "关闭失败或则反关闭失败!" + e.ToString(); objJsonResult.data = null; return objJsonResult; } } /// /// 汇报单编辑审核反审核功能 /// /// /// /// /// [Route("AuditProcessReportList")] [HttpGet] public object AuditProcessReportList(int HInterID, int IsAudit, string CurUserName) { DataSet ds; string ModRightNameCheck = "Sc_ProcessReport_check"; var a = DBUtility.ClsPub.CurUserName; try { //审核权限 if (!DBUtility.ClsPub.Security_Log(ModRightNameCheck, 1, true, CurUserName)) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "审核失败!无权限!"; objJsonResult.data = null; return objJsonResult; } SQLHelper.ClsCN oCN = new SQLHelper.ClsCN(); if (HInterID <= 0) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "HInterID小于0!"; objJsonResult.data = null; return objJsonResult; } ds = oCN.RunProcReturn("select * from Sc_ProcessReportMain where HInterID=" + HInterID, "Sc_ProcessReportMain"); if (ds == null || ds.Tables[0].Rows.Count == 0) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "没有这个单据,无法审核!"; objJsonResult.data = null; return objJsonResult; } var HChecker = ds.Tables[0].Rows[0]["HChecker"].ToString();//取审核人 var HMaker=ds.Tables[0].Rows[0]["HMaker"].ToString();//取制单人 var HCloseMan=ds.Tables[0].Rows[0]["HCloseMan"].ToString();//取关闭人 if (IsAudit == 0) { if (HChecker.Trim() != "" || HChecker.Trim() == HMaker || HCloseMan != "") { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "单据已审核、已关闭、已作废状态不允许审核!!!"; objJsonResult.data = null; return objJsonResult; } oCN.RunProc("update Sc_ProcessReportMain set HChecker='" + CurUserName + "' ,HCheckDate=GETDATE() where HInterID=" + HInterID); objJsonResult.code = "0"; objJsonResult.count = 1; objJsonResult.Message = "* 单据审核成功!"; objJsonResult.data = null; return objJsonResult; } else if (IsAudit == 1) { if (HChecker.Trim() == "" || HChecker.Trim() == CurUserName || HCloseMan != "") { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "单据未审核、已关闭、已作废状态下不允许反审核!!!"; objJsonResult.data = null; return objJsonResult; } oCN.RunProc("update Sc_ProcessReportMain set HChecker='' ,HCheckDate=null where HInterID=" + HInterID); 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 e) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "审核失败或者反审核失败!" + e.ToString(); objJsonResult.data = null; return objJsonResult; } } /// /// 返回委外工序派工单列表 /// /// /// [Route("Sc_ProcessMangement/MES_WW_EntrustProcSendWorkBill_Json")] [HttpGet] public object MES_WW_EntrustProcSendWorkBill_Json(string sqlWhere) { DataSet ds; try { SQLHelper.ClsCN oCN = new SQLHelper.ClsCN(); if (sqlWhere == null || sqlWhere.Equals("")) { ds = oCN.RunProcReturn("select top 500 * from h_v_WW_EntrustProcSendWorkBillList ", "h_v_WW_EntrustProcSendWorkBillList"); } else { string sql1 = "select * from h_v_WW_EntrustProcSendWorkBillList where 1 = 1 "; string sql = sql1 + sqlWhere; ds = oCN.RunProcReturn(sql, "h_v_WW_EntrustProcSendWorkBillList"); } } catch (Exception e) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "没有返回任何记录!" + e.ToString(); objJsonResult.data = null; return objJsonResult; } return GetObjectJson(ds); } /// /// 返回委外工序计划汇报单列表 /// /// /// [Route("Sc_ProcessMangement/MES_WW_EntrustProcessReportBill_Json")] [HttpGet] public object MES_WW_EntrustProcessReportBill_Json(string sqlWhere) { DataSet ds; try { SQLHelper.ClsCN oCN = new SQLHelper.ClsCN(); if (sqlWhere == null || sqlWhere.Equals("")) { ds = oCN.RunProcReturn("select top 500 * from h_v_WW_EntrustProcessReportBillList ", "h_v_WW_EntrustProcessReportBillList"); } else { string sql1 = "select * from h_v_WW_EntrustProcessReportBillList where 1 = 1 "; string sql = sql1 + sqlWhere; ds = oCN.RunProcReturn(sql, "h_v_WW_EntrustProcessReportBillList"); } } catch (Exception e) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "没有返回任何记录!" + e.ToString(); objJsonResult.data = null; return objJsonResult; } return GetObjectJson(ds); } /// /// 返回委外工序计划转出单列表 /// /// /// [Route("Sc_ProcessMangement/MES_WW_EntrustProcessSendOutBillList_Json")] [HttpGet] public object MES_WW_EntrustProcessSendOutBillList_Json(string sqlWhere) { DataSet ds; try { SQLHelper.ClsCN oCN = new SQLHelper.ClsCN(); if (sqlWhere == null || sqlWhere.Equals("")) { ds = oCN.RunProcReturn("select top 500 * from h_v_WW_EntrustProcessSendOutBillList ", "h_v_WW_EntrustProcessSendOutBillList"); } else { string sql1 = "select * from h_v_WW_EntrustProcessSendOutBillList where 1 = 1 "; string sql = sql1 + sqlWhere; ds = oCN.RunProcReturn(sql, "h_v_WW_EntrustProcessSendOutBillList"); } } catch (Exception e) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "没有返回任何记录!" + e.ToString(); objJsonResult.data = null; return objJsonResult; } return GetObjectJson(ds); } /// /// 保存委外汇报单信息 /// /// /// [Route("SaveWW_EntrustProcessReportBill")] [HttpPost] public object SaveWW_EntrustProcessReportBill([FromBody] JObject msg) { var _value = msg["msg"].ToString(); string msg1 = _value.ToString(); string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries); string msg2 = sArray[0].ToString(); string msg3 = sArray[1].ToString(); string UserName = ""; ListModels oListModels = new ListModels(); try { WebAPI.DLL.ClsWW_EntrustProcessReportBill Sendwork = new WebAPI.DLL.ClsWW_EntrustProcessReportBill(); List lsmain = new List(); msg2 = msg2.Replace("\\", ""); msg2 = msg2.Replace("\n", ""); lsmain = oListModels.getObjectByJson_WW_EntrustProcessReportBillMain(msg2); foreach (WebAPI.Models.ClsWW_EntrustProcessReportBillMain oItem in lsmain) { UserName = oItem.HMaker; oItem.HMakeDate = DBUtility.ClsPub.isStrNull(DateTime.Now.ToString("yyyy-MM-dd")); oItem.HYear = DBUtility.ClsPub.isLong(DateTime.Now.Year); oItem.HDate = DateTime.Now; oItem.HMainSourceInterID = oItem.HInterID; oItem.HInterID = 0; Sendwork.omodel = oItem; } //表体数据 //按 },{来拆分数组 //去掉【和】 msg3 = msg3.Substring(1, msg3.Length - 2); msg3 = msg3.Replace("\\", ""); msg3 = msg3.Replace("\n", ""); //\n List ls = new List(); ls = oListModels.getObjectByJson_WW_EntrustProcSendWork(msg3); int i = 0; List lss = new List(); foreach (WebAPI.Models.WW_EntrustProcSendWorkViewModel oItemSub in ls) { i++; Models.ClsWW_EntrustProcessReportBillSub sendworksub = new Models.ClsWW_EntrustProcessReportBillSub(); sendworksub.HProcID = 0;//--工序ID sendworksub.HSourceInterID = (long)oItemSub.hmainid;//源单id sendworksub.HSourceEntryID = (long)oItemSub.hsubid; //--源单子ID sendworksub.HSourceBillNo = oItemSub.单据号; //--源单单号 sendworksub.HSourceBillType = oItemSub.HBillType; //--源单类型 sendworksub.HQty = (decimal)oItemSub.数量; //--数量 sendworksub.HICMOBillNo = ""; //--任务单号 sendworksub.HSeOrderBillNo = ""; //--销售订单号 sendworksub.HSeOrderEntryID = 0; //--销售子ID sendworksub.HSeOrderInterID = 0; //--销售订单主ID sendworksub.HTimes = 0; //--计划工时 if (oItemSub.数量 <= 0) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "保存失败!第" + i.ToString() + "行数量不大于0无法保存!"; objJsonResult.data = 1; return objJsonResult; } if (Convert.ToInt32(sendworksub.HQty) > Convert.ToInt32(oItemSub.数量)) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "保存失败!第" + i.ToString() + "行委外汇报数量不能大于委外派工单数量!"; objJsonResult.data = 1; return objJsonResult; } sendworksub.HEntryID = i; sendworksub.HEntryCloseDate = DBUtility.ClsPub.isDate(DateTime.Now); sendworksub.HRemark = ""; sendworksub.HCloseMan = ""; sendworksub.HCloseType = false; lss.Add(sendworksub);//先把数据存放到派工单子表集合里 } if (lss.Count > 0) { //然后再循环保存到派工单子表的集合里 foreach (Models.ClsWW_EntrustProcessReportBillSub Itemsendwork in lss) { Sendwork.DetailColl.Add(Itemsendwork); } } else { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "保存失败!lss集合小于0"; objJsonResult.data = 1; return objJsonResult; } //保存 //保存完毕后处理 bool bResult; if (Sendwork.omodel.HInterID == 0) { // bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo); bResult = Sendwork.AddBill(ref DBUtility.ClsPub.sExeReturnInfo); } else { bResult = Sendwork.ModifyBill(Sendwork.omodel.HInterID, ref DBUtility.ClsPub.sExeReturnInfo); } if (bResult) { objJsonResult.code = "0"; objJsonResult.count = 1; objJsonResult.Message = "保存成功!"; //WebAPIController.Add_Log("送货单下推", UserName, "生成送货单"); objJsonResult.data = 1; return objJsonResult; } else { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "保存失败!" + DBUtility.ClsPub.sExeReturnInfo; objJsonResult.data = 1; return objJsonResult; } } catch (Exception e) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "保存失败!" + e.ToString(); objJsonResult.data = 1; return objJsonResult; } } /// /// 委外派工单号获取信息 /// /// [Route("Sc_ProcessMangement/WWgetHbarCodeDetail")] [HttpGet] public ApiResult WWGetHbarCodeDetail(string sBillBarCode) { var model = LuBaoSevice.WWGetHbarCodeDetail(sBillBarCode); return model; } /// ///委外工序号获得信息 /// /// [Route("Sc_ProcessMangement/WWgetProcDetail")] [HttpGet] public ApiResult WWGetProcDetail(string sBillNo, string sProcNo) { var model = LuBaoSevice.WWGetProcDetail(sBillNo, sProcNo); return model; } /// /// PDA委外工序汇报单保存 /// /// /// [Route("SaveWWReport")] [HttpPost] public object SaveWWReport([FromBody] JObject msg) { var _value = msg["msg"].ToString(); string msg1 = _value.ToString(); ListModels oListModels = new ListModels(); try { WebAPI.DLL.ClsWW_EntrustProcessReportBill ReportModel = new WebAPI.DLL.ClsWW_EntrustProcessReportBill(); List ls = new List(); ls = oListModels.getObjectByJson_WWReport(msg1); int i = 0; foreach (Models.WWReportViewModel ItemView in ls) { i++; Models.ClsWW_EntrustProcessReportBillMain ReportMain = new Models.ClsWW_EntrustProcessReportBillMain(); Models.ClsWW_EntrustProcessReportBillSub ReportSub = new Models.ClsWW_EntrustProcessReportBillSub(); //工序汇报单主表保存 ReportMain.HBillType = "3742"; ReportMain.HBillNo = ItemView.HBillNo; ReportMain.HMakeDate = DBUtility.ClsPub.isStrNull(DateTime.Now.ToString("yyyy-MM-dd")); ReportMain.HYear = DBUtility.ClsPub.isLong(DateTime.Now.Year); ReportMain.HDate = DateTime.Now; ReportMain.HMaker = ""; ReportMain.HCloseType = false; ReportMain.HPrintQty = 0; ReportMain.HMainSourceBillType = "3740"; ReportMain.HMainSourceInterID =0; ReportMain.HMainSourceBillNo = ItemView.HWW_BillNo; ReportMain.HInterID = 0; ReportMain.HPeriod = 1; ReportMain.HBillSubType = "3742"; ReportMain.HBillStatus = 0; ReportMain.HCheckItemNowID = 0; ReportMain.HCheckItemNextID = 0; ReportMain.HDeptID = Convert.ToInt32(ItemView.HDeptID); ReportMain.HExplanation = ""; ReportMain.HInnerBillNo = ""; ReportMain.HSupID =Convert.ToInt32( ItemView.HSupID); //保存到汇报单主表 ReportModel.omodel = ReportMain; ReportSub.HMaterID = Convert.ToInt32(ItemView.HMaterID); ReportSub.HICMOBillNo = ""; ReportSub.HICMOInterID = 0; ReportSub.HEntryID = i; ReportSub.HEntryCloseDate = DBUtility.ClsPub.isDate(DateTime.Now); ReportSub.HRemark = ""; ReportSub.HCloseMan = ""; ReportSub.HCloseType = false; ReportSub.HSourceBillType = "3740"; ReportSub.HQty = Convert.ToDecimal(ItemView.HQty); ReportSub.HProcID =Convert.ToInt32( ItemView.HProcID); ReportSub.HTimes = 0; ReportSub.HSeOrderInterID = 0; ReportSub.HSeOrderEntryID = 0; ReportSub.HSeOrderBillNo = ""; ReportSub.HProcPlanInterID = 0; ReportSub.HProcPlanBillNo = ""; ReportSub.HSourceInterID = 0; ReportSub.HSourceBillNo = ""; ReportSub.HRelationQty = 0; ReportSub.HRelationMoney = 0; ReportSub.HCheckQty = 0; ReportSub.HBadCount = 0; ReportSub.HWasterQty = 0; ReportSub.HWasterQty2 = 0; ReportSub.HPrice = 0; ReportSub.HMoney = 0; ReportSub.HProcPlanInterID = 0; ReportSub.HProcPlanEntryID = 0; ReportSub.HProcPlanBillNo = ""; ReportSub.HSourceEntryID = 0; ReportSub.HSourceBillType = ""; ReportSub.HRelationQty = 0; ReportSub.HRelationMoney = 0; ReportSub.HBadPrirce = 0; ReportSub.HBadMoney = 0; ReportSub.HWasterPrice = 0; ReportSub.HWasterMoney = 0; ReportSub.HQualityRate = 0; ReportSub.HUsingQty = 0; ReportSub.HSelfBadCount = 0; ReportSub.HPreBadCount = 0; ReportSub.HPayMentQty = 0; ReportSub.HPackType = ""; ReportSub.HCheckEmpID = 0; ReportSub.HWeight = 0; ReportSub.HBatchNo = ""; //保存到委外汇报单子表 ReportModel.DetailColl.Add(ReportSub); } //保存 //保存完毕后处理 bool bResult; bResult = ReportModel.AddBill(ref DBUtility.ClsPub.sExeReturnInfo); if (bResult) { objJsonResult.code = "0"; objJsonResult.count = 1; objJsonResult.Message = "保存成功!"; //WebAPIController.Add_Log("送货单下推", UserName, "生成送货单"); objJsonResult.data = 1; return objJsonResult; } else { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "保存失败!" + DBUtility.ClsPub.sExeReturnInfo; objJsonResult.data = 1; return objJsonResult; } } catch (Exception e) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "保存失败!" + e.ToString(); objJsonResult.data = 1; return objJsonResult; } } /// /// 保存委外转出单信息 /// /// /// [Route("SaveWW_EntrustProcessSendOutBill")] [HttpPost] public object SaveWW_EntrustProcessSendOutBill([FromBody] JObject msg) { var _value = msg["msg"].ToString(); string msg1 = _value.ToString(); string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries); string msg2 = sArray[0].ToString(); string msg3 = sArray[1].ToString(); string UserName = ""; ListModels oListModels = new ListModels(); try { WebAPI.DLL.ClsWW_EntrustProcessSendOutBill Sendwork = new WebAPI.DLL.ClsWW_EntrustProcessSendOutBill(); List lsmain = new List(); msg2 = msg2.Replace("\\", ""); msg2 = msg2.Replace("\n", ""); lsmain = oListModels.getObjectByJson_WW_EntrustProcessSendOutBillMain(msg2); foreach (WebAPI.Models.ClsWW_EntrustProcessSendOutBillMain oItem in lsmain) { UserName = oItem.HMaker; oItem.HMakeDate = DBUtility.ClsPub.isStrNull(DateTime.Now.ToString("yyyy-MM-dd")); oItem.HYear = DBUtility.ClsPub.isLong(DateTime.Now.Year); oItem.HDate = DateTime.Now; oItem.HMainSourceInterID = oItem.HInterID; oItem.HInterID = 0; Sendwork.omodel = oItem; } //表体数据 //按 },{来拆分数组 //去掉【和】 msg3 = msg3.Substring(1, msg3.Length - 2); msg3 = msg3.Replace("\\", ""); msg3 = msg3.Replace("\n", ""); //\n List ls = new List(); ls = oListModels.getObjectByJson_WW_EntrustProcSendWork(msg3); int i = 0; List lss = new List(); foreach (WebAPI.Models.WW_EntrustProcSendWorkViewModel oItemSub in ls) { i++; Models.ClsWW_EntrustProcessSendOutBillSub sendworksub = new Models.ClsWW_EntrustProcessSendOutBillSub(); sendworksub.HProcID = 0;//--工序ID sendworksub.HSourceInterID = (long)oItemSub.hmainid;//源单id sendworksub.HSourceEntryID = (long)oItemSub.hsubid; //--源单子ID sendworksub.HSourceBillNo = oItemSub.单据号; //--源单单号 sendworksub.HSourceBillType = oItemSub.HBillType; //--源单类型 sendworksub.HQty = (decimal)oItemSub.数量; //--数量 sendworksub.HICMOBillNo = ""; //--任务单号 sendworksub.HSeOrderBillNo = ""; //--销售订单号 sendworksub.HSeOrderEntryID = 0; //--销售子ID sendworksub.HSeOrderInterID = 0; //--销售订单主ID if (oItemSub.数量 <= 0) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "保存失败!第" + i.ToString() + "行数量不大于0无法保存!"; objJsonResult.data = 1; return objJsonResult; } if (Convert.ToInt32(sendworksub.HQty) > Convert.ToInt32(oItemSub.数量)) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "保存失败!第" + i.ToString() + "行委外汇报数量不能大于委外派工单数量!"; objJsonResult.data = 1; return objJsonResult; } sendworksub.HEntryID = i; sendworksub.HEntryCloseDate = DBUtility.ClsPub.isDate(DateTime.Now); sendworksub.HRemark = ""; sendworksub.HCloseMan = ""; sendworksub.HCloseType = false; lss.Add(sendworksub);//先把数据存放到派工单子表集合里 } if (lss.Count > 0) { //然后再循环保存到派工单子表的集合里 foreach (Models.ClsWW_EntrustProcessSendOutBillSub Itemsendwork in lss) { Sendwork.DetailColl.Add(Itemsendwork); } } else { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "保存失败!lss集合小于0"; objJsonResult.data = 1; return objJsonResult; } //保存 //保存完毕后处理 bool bResult; if (Sendwork.omodel.HInterID == 0) { // bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo); bResult = Sendwork.AddBill(ref DBUtility.ClsPub.sExeReturnInfo); } else { bResult = Sendwork.ModifyBill(Sendwork.omodel.HInterID, ref DBUtility.ClsPub.sExeReturnInfo); } if (bResult) { objJsonResult.code = "0"; objJsonResult.count = 1; objJsonResult.Message = "保存成功!"; //WebAPIController.Add_Log("送货单下推", UserName, "生成送货单"); objJsonResult.data = 1; return objJsonResult; } else { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "保存失败!" + DBUtility.ClsPub.sExeReturnInfo; objJsonResult.data = 1; return objJsonResult; } } catch (Exception e) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "保存失败!" + e.ToString(); objJsonResult.data = 1; return objJsonResult; } } /// /// PDA委外工序转出单保存 /// /// /// [Route("SaveWWSendOutBill")] [HttpPost] public object SaveWWSendOutBill([FromBody] JObject msg) { var _value = msg["msg"].ToString(); string msg1 = _value.ToString(); ListModels oListModels = new ListModels(); try { WebAPI.DLL.ClsWW_EntrustProcessSendOutBill ReportModel = new WebAPI.DLL.ClsWW_EntrustProcessSendOutBill(); List ls = new List(); ls = oListModels.getObjectByJson_WWSendOutBill(msg1); int i = 0; foreach (Models.WWSendOutBillViewModel ItemView in ls) { i++; Models.ClsWW_EntrustProcessSendOutBillMain ReportMain = new Models.ClsWW_EntrustProcessSendOutBillMain(); Models.ClsWW_EntrustProcessSendOutBillSub ReportSub = new Models.ClsWW_EntrustProcessSendOutBillSub(); //工序转出单主表保存 ReportMain.HBillType = "3741"; ReportMain.HBillNo = ItemView.HBillNo; ReportMain.HMakeDate = DBUtility.ClsPub.isStrNull(DateTime.Now.ToString("yyyy-MM-dd")); ReportMain.HYear = DBUtility.ClsPub.isLong(DateTime.Now.Year); ReportMain.HDate = DateTime.Now; ReportMain.HMaker = ""; ReportMain.HCloseType = false; ReportMain.HPrintQty = 0; ReportMain.HMainSourceBillType = "3740"; ReportMain.HMainSourceInterID = 0; ReportMain.HMainSourceBillNo = ItemView.HWW_BillNo; ReportMain.HInterID = 0; ReportMain.HPeriod = 1; ReportMain.HBillSubType = "3741"; ReportMain.HBillStatus = 0; ReportMain.HCheckItemNowID = 0; ReportMain.HCheckItemNextID = 0; ReportMain.HDeptID = Convert.ToInt32(ItemView.HDeptID); ReportMain.HExplanation = ""; ReportMain.HInnerBillNo = ""; ReportMain.HSupID = Convert.ToInt32(ItemView.HSupID); //保存到转出单主表 ReportModel.omodel = ReportMain; ReportSub.HMaterID = Convert.ToInt32(ItemView.HMaterID); ReportSub.HICMOBillNo = ""; ReportSub.HICMOInterID = 0; ReportSub.HEntryID = i; ReportSub.HEntryCloseDate = DBUtility.ClsPub.isDate(DateTime.Now); ReportSub.HRemark = ""; ReportSub.HCloseMan = ""; ReportSub.HCloseType = false; ReportSub.HSourceBillType = "3740"; ReportSub.HQty = Convert.ToDecimal(ItemView.HQty); ReportSub.HProcID = Convert.ToInt32(ItemView.HProcID); ReportSub.HSeOrderInterID = 0; ReportSub.HSeOrderEntryID = 0; ReportSub.HSeOrderBillNo = ""; ReportSub.HProcPlanInterID = 0; ReportSub.HProcPlanBillNo = ""; ReportSub.HSourceInterID = 0; ReportSub.HSourceBillNo = ""; ReportSub.HRelationQty = 0; ReportSub.HRelationMoney = 0; ReportSub.HPrice = 0; ReportSub.HMoney = 0; ReportSub.HProcPlanInterID = 0; ReportSub.HProcPlanEntryID = 0; ReportSub.HProcPlanBillNo = ""; ReportSub.HSourceEntryID = 0; ReportSub.HSourceBillType = ""; ReportSub.HRelationQty = 0; ReportSub.HRelationMoney = 0; ReportSub.HPackType = ""; ReportSub.HBatchNo = ""; //保存到委外转出单子表 ReportModel.DetailColl.Add(ReportSub); } //保存 //保存完毕后处理 bool bResult; bResult = ReportModel.AddBill(ref DBUtility.ClsPub.sExeReturnInfo); if (bResult) { objJsonResult.code = "0"; objJsonResult.count = 1; objJsonResult.Message = "保存成功!"; //WebAPIController.Add_Log("送货单下推", UserName, "生成送货单"); objJsonResult.data = 1; return objJsonResult; } else { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "保存失败!" + DBUtility.ClsPub.sExeReturnInfo; objJsonResult.data = 1; return objJsonResult; } } catch (Exception e) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "保存失败!" + e.ToString(); objJsonResult.data = 1; return objJsonResult; } } /// /// 保存委外工单信息 /// /// /// [Route("SaveWWWorkOrder")] [HttpPost] public object SaveWWWorkOrder([FromBody] JObject msg) { var _value = msg["msg"].ToString(); string msg1 = _value.ToString(); string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries); string msg2 = sArray[0].ToString(); string msg3 = sArray[1].ToString(); string UserName = ""; ListModels oListModels = new ListModels(); try { WebAPI.DLL.ClsWW_EntrustWorkOrderBill WorkOrder = new WebAPI.DLL.ClsWW_EntrustWorkOrderBill(); List lsmain = new List(); msg2 = msg2.Replace("\\", ""); msg2 = msg2.Replace("\n", ""); lsmain = oListModels.getObjectByJson_WorkOrderMain(msg2); foreach (Models.ClsWW_EntrustWorkOrderBillMain oItem in lsmain) { UserName = oItem.HMaker; oItem.HMakeDate = DBUtility.ClsPub.isStrNull(DateTime.Now.ToString("yyyy-MM-dd")); oItem.HYear = DBUtility.ClsPub.isLong(DateTime.Now.Year); oItem.HDate = DateTime.Now; oItem.HMainSourceInterID = oItem.HInterID; oItem.HInterID = 0; WorkOrder.omodel = oItem; } //表体数据 //按 },{来拆分数组 //去掉【和】 msg3 = msg3.Substring(1, msg3.Length - 2); msg3 = msg3.Replace("\\", ""); msg3 = msg3.Replace("\n", ""); //\n List ls = new List(); ls = oListModels.getObjectByJson_SendWorkSub(msg3); int i = 0; List lss = new List(); foreach (WebAPI.Models.Sc_ProcessPlanViewModel oItemSub in ls) { i++; Models.ClsWW_EntrustWorkOrderBillSub WorkOrdersub = new Models.ClsWW_EntrustWorkOrderBillSub(); WorkOrdersub.HProcID = oItemSub.hprocid.Value;//--工序ID WorkOrdersub.HSourceInterID = oItemSub.hmainid.Value; //--源单id WorkOrdersub.HSourceEntryID = oItemSub.hsubid.Value; //--源单子ID WorkOrdersub.HSourceBillNo = oItemSub.单据号; //--源单单号 WorkOrdersub.HSourceBillType= oItemSub.HBillType; //--源单类型 WorkOrdersub.HRelationQty = 0; //--关联数量 WorkOrdersub.HRelationMoney = 0; //--关联金额 WorkOrdersub.HOrderBillNo = ""; //--销售订单号 WorkOrdersub.HMaterLenModel = ""; //--材质 WorkOrdersub.HMaterQty = 0; //--材质数量 WorkOrdersub.HMaterID = oItemSub.HMaterID.Value; //--物料 WorkOrdersub.HQty = (double)oItemSub.计划数量; //--订单数量 WorkOrdersub.HEntrustType = "3739"; //--委外类型 WorkOrdersub.HNextProcName = ""; //--下道工序 WorkOrdersub.HPrice =0; //加工费 WorkOrdersub.HOutQty = 0; //--关联发出数量 WorkOrdersub.HInQty =0; //--关联接收数量 WorkOrdersub.HBackSupDate = DateTime.Now; //--实际交货日期 WorkOrdersub.HInDate = DateTime.Now; //--交货日期 WorkOrdersub.HWorkProcFlow = ""; //--工艺流 WorkOrdersub.HLeftMater = ""; //--余料情况 if (oItemSub.计划数量 <= 0) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "保存失败!第" + i.ToString() + "行数量不大于0无法保存!"; objJsonResult.data = 1; return objJsonResult; } if (Convert.ToInt32(WorkOrdersub.HQty) > Convert.ToInt32(oItemSub.计划数量)) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "保存失败!第" + i.ToString() + "行派工数量不能大于计划单数量!"; objJsonResult.data = 1; return objJsonResult; } WorkOrdersub.HEntryID = i; WorkOrdersub.HEntryCloseDate = DBUtility.ClsPub.isDate(DateTime.Now); WorkOrdersub.HRemark = ""; WorkOrdersub.HCloseMan = ""; WorkOrdersub.HCloseType = false; WorkOrdersub.HSourceBillType = oItemSub.HBillType; lss.Add(WorkOrdersub);//先把数据存放到委外工单子表集合里 } if (lss.Count > 0) { //然后再循环保存到委外工单子表的集合里 foreach (Models.ClsWW_EntrustWorkOrderBillSub Itemsendwork in lss) { WorkOrder.DetailColl.Add(Itemsendwork); } } else { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "保存失败!lss集合小于0"; objJsonResult.data = 1; return objJsonResult; } //保存 //保存完毕后处理 bool bResult; if (WorkOrder.omodel.HInterID == 0) { // bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo); bResult = WorkOrder.AddBill(ref DBUtility.ClsPub.sExeReturnInfo); } else { bResult = WorkOrder.ModifyBill(WorkOrder.omodel.HInterID, ref DBUtility.ClsPub.sExeReturnInfo); } if (bResult) { objJsonResult.code = "0"; objJsonResult.count = 1; objJsonResult.Message = "保存成功!"; //WebAPIController.Add_Log("送货单下推", UserName, "生成送货单"); objJsonResult.data = 1; return objJsonResult; } else { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "保存失败!" + DBUtility.ClsPub.sExeReturnInfo; objJsonResult.data = 1; return objJsonResult; } } catch (Exception e) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "保存失败!" + e.ToString(); objJsonResult.data = 1; return objJsonResult; } } } }