| 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(); | 
|   | 
|         ///<summary> | 
|         ///封装状态码及返回信息的公用方法。 | 
|         ///参数:DataSet。 | 
|         ///返回值:json。 | 
|         ///</summary> | 
|         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; | 
|             } | 
|         } | 
|   | 
|         ///<summary> | 
|         ///统一正确信息方法。 | 
|         ///参数:string。 | 
|         ///返回值:object。 | 
|         ///</summary> | 
|         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; | 
|             } | 
|         } | 
|   | 
|         ///<summary> | 
|         ///自定义错误信息方法。 | 
|         ///参数:string。 | 
|         ///返回值:object。 | 
|         ///</summary> | 
|         public object CustomError(string msg) | 
|         { | 
|             objJsonResult.code = "0"; | 
|             objJsonResult.count = 0; | 
|             objJsonResult.Message = msg; | 
|             objJsonResult.data = null; | 
|             return objJsonResult; | 
|         } | 
|   | 
|         /// <summary> | 
|         /// 返回生产汇报单列表 | 
|         ///参数:string sql。 | 
|         ///返回值:object。 | 
|         /// </summary> | 
|         [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); | 
|         } | 
|   | 
|         /// <summary> | 
|         /// 返回生产汇报单主表详情信息 | 
|         ///参数:string sql。 | 
|         ///返回值:object。 | 
|         /// </summary> | 
|         [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); | 
|         } | 
|   | 
|         /// <summary> | 
|         /// 返回生产派工单关联详情信息 | 
|         ///参数:string sql。 | 
|         ///返回值:object。 | 
|         /// </summary> | 
|         [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); | 
|         } | 
|   | 
|         /// <summary> | 
|         /// 返回生产工序计划单列表 | 
|         ///参数:string sql。 | 
|         ///返回值:object。 | 
|         /// </summary> | 
|         [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); | 
|         } | 
|   | 
|        /// <summary> | 
|        /// 返回生产工序派工单列表 | 
|        /// </summary> | 
|        /// <param name="sWhere"></param> | 
|        /// <returns></returns> | 
|         [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); | 
|         } | 
|   | 
|         /// <summary> | 
|         /// 保存派工单信息 | 
|         /// </summary> | 
|         /// <param name="msg"></param> | 
|         /// <returns></returns> | 
|         [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<Model.ClsSc_ProcessSendWorkMain> lsmain = new List<Model.ClsSc_ProcessSendWorkMain>(); | 
|                 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<WebAPI.Models.Sc_ProcessPlanViewModel> ls = new List<WebAPI.Models.Sc_ProcessPlanViewModel>(); | 
|                 ls = oListModels.getObjectByJson_SendWorkSub(msg3); | 
|                 int i = 0; | 
|                 List<Model.ClsSc_ProcessSendWorkSub> lss = new List<Model.ClsSc_ProcessSendWorkSub>(); | 
|                 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; | 
|             } | 
|         } | 
|   | 
|         /// <summary> | 
|         /// 保存委外派工单信息 | 
|         /// </summary> | 
|         /// <param name="msg"></param> | 
|         /// <returns></returns> | 
|         [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<WebAPI.Models.ClsSc_ProcessSendWorkMain> lsmain = new List<WebAPI.Models.ClsSc_ProcessSendWorkMain>(); | 
|                 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<WebAPI.Models.WW_EntrustWorkOrderViewModel> ls = new List<WebAPI.Models.WW_EntrustWorkOrderViewModel>(); | 
|                 ls = oListModels.getObjectByJson_WWSendWorkSub(msg3); | 
|                 int i = 0; | 
|                 List<Model.ClsSc_ProcessSendWorkSub> lss = new List<Model.ClsSc_ProcessSendWorkSub>(); | 
|                 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; | 
|             } | 
|         } | 
|   | 
|         /// <summary> | 
|         /// 返回委外工单列表 | 
|         /// </summary> | 
|         /// <param name="sWhere"></param> | 
|         /// <returns></returns> | 
|         [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); | 
|         } | 
|   | 
|         /// <summary> | 
|         /// 返回不合格评审列表 | 
|         /// </summary> | 
|         /// <param name="sWhere"></param> | 
|         /// <returns></returns> | 
|         [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); | 
|         } | 
|   | 
|         /// <summary> | 
|         /// PDA工序汇报单保存 | 
|         /// </summary> | 
|         /// <param name="msg"></param> | 
|         /// <returns></returns> | 
|         [Route("SaveProcessReport")] | 
|         [HttpPost] | 
|         public object SaveProcessReport([FromBody] JObject msg)  | 
|         { | 
|             var _value = msg["msg"].ToString(); | 
|             string msg1 = _value.ToString(); | 
|             ListModels oListModels = new ListModels(); | 
|             try | 
|             { | 
|                 WebAPI.DLL.ClsSc_ProcessReport ReportModel = new WebAPI.DLL.ClsSc_ProcessReport(); | 
|                 List<WebAPI.Models.Sc_ProcessReportViewModel> ls = new List<WebAPI.Models.Sc_ProcessReportViewModel>(); | 
|                 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; | 
|             } | 
|         } | 
|   | 
|         /// <summary> | 
|         /// 派工单号获取信息 | 
|         /// </summary> | 
|         /// <returns></returns> | 
|         [Route("Sc_ProcessMangement/getHbarCodeDetail")] | 
|         [HttpGet] | 
|         public ApiResult<DataSet> GetHbarCodeDetail(string sBillBarCode) | 
|         { | 
|             var model = LuBaoSevice.GetHbarCodeDetail(sBillBarCode); | 
|             return model; | 
|         } | 
|   | 
|         /// <summary> | 
|         ///工序号获得信息 | 
|         /// </summary> | 
|         /// <returns></returns> | 
|         [Route("Sc_ProcessMangement/getProcDetail")] | 
|         [HttpGet] | 
|         public ApiResult<DataSet> GetProcDetail(string sBillNo, string sProcNo) | 
|         { | 
|             var model = LuBaoSevice.GetProcDetail(sBillNo, sProcNo); | 
|             return model; | 
|         } | 
|   | 
|         /// <summary> | 
|         /// 保存工序汇报单信息 | 
|         /// </summary> | 
|         /// <param name="msg"></param> | 
|         /// <returns></returns> | 
|         [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 | 
|             { | 
|                 WebAPI.DLL.ClsSc_ProcessReport ReportModel = new WebAPI.DLL.ClsSc_ProcessReport(); | 
|                 List<Model.ClsSc_ProcessReportMain> lsmain = new List<Model.ClsSc_ProcessReportMain>(); | 
|                 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<WebAPI.Models.Sc_ProcessSendWorkViewModel> ls = new List<WebAPI.Models.Sc_ProcessSendWorkViewModel>(); | 
|                 ls = oListModels.getObjectByJson_ViewReportlist(msg3); | 
|                 int i = 0; | 
|                 //定义汇报单子表集合用于存放下推派工单的多行数据 | 
|                 List<Model.ClsSc_ProcessReportSub> lsReportSub = new List<Model.ClsSc_ProcessReportSub>(); | 
|                 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; | 
|             } | 
|         } | 
|   | 
|   | 
|         /// <summary> | 
|         /// 保存不良评审单信息 | 
|         /// </summary> | 
|         /// <param name="msg"></param> | 
|         /// <returns></returns> | 
|         [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<Model.ClsQC_NoPassProdCheckBillMain> lsmain = new List<Model.ClsQC_NoPassProdCheckBillMain>(); | 
|                 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<Model.ClsQC_NoPassProdCheckBillSub> ls = new List<Model.ClsQC_NoPassProdCheckBillSub>(); | 
|                 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; | 
|             } | 
|         } | 
|   | 
|   | 
|         /// <summary> | 
|         /// 汇报单编辑关闭功能 | 
|         /// </summary> | 
|         /// <param name="HInterID"></param> | 
|         /// <param name="IsClose"></param> | 
|         ///  <param name="CurUserName"></param> | 
|         /// <returns></returns> | 
|         [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; | 
|             } | 
|         } | 
|   | 
|         /// <summary> | 
|         /// 汇报单编辑审核反审核功能 | 
|         /// </summary> | 
|         /// <param name="HInterID"></param> | 
|         /// <param name="IsAudit"></param> | 
|         ///  <param name="CurUserName"></param> | 
|         /// <returns></returns> | 
|         [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; | 
|             } | 
|         } | 
|   | 
|         /// <summary> | 
|         /// 返回委外工序派工单列表 | 
|         /// </summary> | 
|         /// <param name="sqlWhere"></param> | 
|         /// <returns></returns> | 
|         [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); | 
|         } | 
|   | 
|         /// <summary> | 
|         /// 返回委外工序计划汇报单列表 | 
|         /// </summary> | 
|         /// <param name="sqlWhere"></param> | 
|         /// <returns></returns> | 
|         [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); | 
|         } | 
|   | 
|         /// <summary> | 
|         /// 返回委外工序计划转出单列表 | 
|         /// </summary> | 
|         /// <param name="sqlWhere"></param> | 
|         /// <returns></returns> | 
|         [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); | 
|         } | 
|   | 
|   | 
|         /// <summary> | 
|         /// 保存委外汇报单信息 | 
|         /// </summary> | 
|         /// <param name="msg"></param> | 
|         /// <returns></returns> | 
|         [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<WebAPI.Models.ClsWW_EntrustProcessReportBillMain> lsmain = new List<WebAPI.Models.ClsWW_EntrustProcessReportBillMain>(); | 
|                 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<WebAPI.Models.WW_EntrustProcSendWorkViewModel> ls = new List<WebAPI.Models.WW_EntrustProcSendWorkViewModel>(); | 
|                 ls = oListModels.getObjectByJson_WW_EntrustProcSendWork(msg3); | 
|                 int i = 0; | 
|                 List<Models.ClsWW_EntrustProcessReportBillSub> lss = new List<Models.ClsWW_EntrustProcessReportBillSub>(); | 
|                 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; | 
|             } | 
|         } | 
|   | 
|   | 
|         /// <summary> | 
|         /// 委外派工单号获取信息 | 
|         /// </summary> | 
|         /// <returns></returns> | 
|         [Route("Sc_ProcessMangement/WWgetHbarCodeDetail")] | 
|         [HttpGet] | 
|         public ApiResult<DataSet> WWGetHbarCodeDetail(string sBillBarCode) | 
|         { | 
|             var model = LuBaoSevice.WWGetHbarCodeDetail(sBillBarCode); | 
|             return model; | 
|         } | 
|   | 
|         /// <summary> | 
|         ///委外工序号获得信息 | 
|         /// </summary> | 
|         /// <returns></returns> | 
|         [Route("Sc_ProcessMangement/WWgetProcDetail")] | 
|         [HttpGet] | 
|         public ApiResult<DataSet> WWGetProcDetail(string sBillNo, string sProcNo) | 
|         { | 
|             var model = LuBaoSevice.WWGetProcDetail(sBillNo, sProcNo); | 
|             return model; | 
|         } | 
|   | 
|         /// <summary> | 
|         /// PDA委外工序汇报单保存 | 
|         /// </summary> | 
|         /// <param name="msg"></param> | 
|         /// <returns></returns> | 
|         [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<WebAPI.Models.WWReportViewModel> ls = new List<WebAPI.Models.WWReportViewModel>(); | 
|                 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; | 
|             } | 
|         } | 
|   | 
|         /// <summary> | 
|         /// 保存委外转出单信息 | 
|         /// </summary> | 
|         /// <param name="msg"></param> | 
|         /// <returns></returns> | 
|         [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<WebAPI.Models.ClsWW_EntrustProcessSendOutBillMain> lsmain = new List<WebAPI.Models.ClsWW_EntrustProcessSendOutBillMain>(); | 
|                 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<WebAPI.Models.WW_EntrustProcSendWorkViewModel> ls = new List<WebAPI.Models.WW_EntrustProcSendWorkViewModel>(); | 
|                 ls = oListModels.getObjectByJson_WW_EntrustProcSendWork(msg3); | 
|                 int i = 0; | 
|                 List<Models.ClsWW_EntrustProcessSendOutBillSub> lss = new List<Models.ClsWW_EntrustProcessSendOutBillSub>(); | 
|                 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; | 
|             } | 
|         } | 
|   | 
|         /// <summary> | 
|         /// PDA委外工序转出单保存 | 
|         /// </summary> | 
|         /// <param name="msg"></param> | 
|         /// <returns></returns> | 
|         [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<WebAPI.Models.WWSendOutBillViewModel> ls = new List<WebAPI.Models.WWSendOutBillViewModel>(); | 
|                 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; | 
|             } | 
|         } | 
|   | 
|   | 
|         /// <summary> | 
|         /// 保存委外工单信息 | 
|         /// </summary> | 
|         /// <param name="msg"></param> | 
|         /// <returns></returns> | 
|         [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<Models.ClsWW_EntrustWorkOrderBillMain> lsmain = new List<Models.ClsWW_EntrustWorkOrderBillMain>(); | 
|                 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<WebAPI.Models.Sc_ProcessPlanViewModel> ls = new List<WebAPI.Models.Sc_ProcessPlanViewModel>(); | 
|                 ls = oListModels.getObjectByJson_SendWorkSub(msg3); | 
|                 int i = 0; | 
|                 List<Models.ClsWW_EntrustWorkOrderBillSub> lss = new List<Models.ClsWW_EntrustWorkOrderBillSub>(); | 
|                 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; | 
|             } | 
|         } | 
|   | 
|   | 
|   | 
|     } | 
| } |