|  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /// <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; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|