WYB
2021-04-12 663e2ea4eb6ee3c4411443b8b5757a0be826a6cc
WebAPI/Controllers/Sc_ProcessMangementController.cs
@@ -693,76 +693,158 @@
                msg3 = msg3.Substring(1, msg3.Length - 2);
                msg3 = msg3.Replace("\\", "");
                msg3 = msg3.Replace("\n", "");  //\n
                //msg2 = msg2.Replace("'", "’");
                //List<Model.ClsCg_POInStockBillSub> ls = new List<Model.ClsCg_POInStockBillSub>();
                //ls = oListModels.getObjectByJson_POInStockSub(msg3);
                //int i = 0;
                //foreach (Model.ClsCg_POInStockBillSub oItemSub in ls)
                //{
                //    i++;
                //    if (oItemSub.HQty <= 0)
                //    {
                //        objJsonResult.code = "0";
                //        objJsonResult.count = 0;
                //        objJsonResult.Message = "保存失败!第" + i.ToString() + "行数量不大于0无法保存!";
                //        objJsonResult.data = 1;
                //        return objJsonResult;
                //    }
                //    if (oItemSub.HQty > oItemSub.HRQty)
                //    {
                //        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;
                //    }
                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;
                    }
                //    oItemSub.HEntryID = i;
                //    oItemSub.HEntryCloseDate = DBUtility.ClsPub.isDate(DateTime.Now);
                //    oItemSub.HRemark = "";
                //    oItemSub.HCloseMan = "";
                //    oItemSub.HCloseType = false;
                //    oBill.DetailColl.Add(oItemSub);
                //}
                    reportSub.HEntryID = i;
                    reportSub.HEntryCloseDate = DBUtility.ClsPub.isDate(DateTime.Now);
                    reportSub.HRemark = "";
                    reportSub.HCloseMan = "";
                    reportSub.HCloseType = false;
                    reportSub.HEmpID =0;
                    reportSub.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.数量;
                    reportSub.HProcID = (long)ItemView.HprocID;
                    reportSub.HProcNumber = ItemView.工序代码;
                    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.物料代码;
                    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 = "";
                    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 (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;
                //}
                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;
                }
            }