王 垚
2022-06-29 4b4c3e0c6d9b96e5a7c8e5fec7c1e4b25a7460cb
WebAPI/Controllers/Sc_ProcessMangementController.cs
@@ -155,13 +155,15 @@
        /// <returns></returns>
        [Route("Sc_ProcessMangement/SaveICMOReportBill")]
        [HttpGet]
        public object SaveICMOReportBill(string InterID, string user, string BillNo)
        public object SaveICMOReportBill(string InterID, string user, string BillNo, string OrganizationID)
        {
            try
            {
                //获取生产汇报单最大InterID和单据号
                Int64 HInterID = DBUtility.ClsPub.CreateBillID("3711", ref DBUtility.ClsPub.sExeReturnInfo);
                string HBillNo = DBUtility.ClsPub.CreateBillCode("3711", ref DBUtility.ClsPub.sExeReturnInfo, true);
                //获取组织代码
                string OrganizationNUM = oCN.RunProcReturn("select HNumber from Xt_ORGANIZATIONS where HItemID=" + OrganizationID, "Xt_ORGANIZATIONS").Tables[0].Rows[0]["HNumber"].ToString();
                //根据工序汇报单主ID获取工序汇报入库单的数据
                DataSet ds = oCN.RunProcReturn("select * from h_v_MES_StationOutBillList_LastProc where HInterID=" + InterID, "h_v_MES_StationOutBillList_LastProc");
                DataRow dr = ds.Tables[0].Rows[0];
@@ -210,40 +212,32 @@
                    return objJsonResult;
                }
                //根据任务单查找到金蝶的生产订单
                DataSet ds1 = oCN.RunProcReturn("SELECT * FROM AIS20210811135644..T_PRD_MO where FID=(select HERPInterID from Sc_ICMOBillMain where HBillNo='" + dr["任务单"].ToString() + "')", "AIS20210811135644..T_PRD_MO");
                DataSet ds1 = oCN.RunProcReturn("select * from  h_v_TOERP_StationOutBillList_LastProc where HICMOInterID=" + dr["HICMOInterID"].ToString(), "h_v_TOERP_StationOutBillList_LastProc");
                DataRow dr1 = ds1.Tables[0].Rows[0];
                JObject model = new JObject();
                model.Add("FBillType", new JObject() { ["Fnumber"] = "50fa7c2eda7947b89fab5431bf25d48e" }); //单据类型1
                model.Add("FBillType", "50fa7c2eda7947b89fab5431bf25d48e"); //单据类型1
                model.Add("FPrdOrgId", new JObject() { ["Fnumber"] = dr1["FPrdOrgNUMBER"].ToString() }); //生产组织1
                model.Add("FDate", DateTime.Now.ToString("yyyy-MM-dd")); //单据日期1
                JArray Fentity = new JArray();
                foreach (DataRow item in ds.Tables[0].Rows)
                {
                    JObject FentityModel = new JObject();
                    FentityModel.Add("FReportType", "BD_OwnerOrg");//生产汇报类型
                    FentityModel.Add("FTimeUnitId", "BD_OwnerOrg");//时间单位
                    FentityModel.Add("FWorkshipId", new JObject() { ["Fnumber"] = item["FWorkShopID"].ToString() }); //  生产车间
                    FentityModel.Add("FStandHourUnitId", new JObject() { ["Fnumber"] = item["FUNITNUMBER"].ToString() }); // 单位标准工时单位
                    FentityModel.Add("FMaterialId", new JObject() { ["Fnumber"] = item["产品代码"].ToString() }); // 物料编码
                    FentityModel.Add("FReportType", "103852");//生产汇报类型
                    FentityModel.Add("FTimeUnitId", "1");//时间单位
                    FentityModel.Add("FWorkshipId", new JObject() { ["Fnumber"] = dr1["FWorkShopNUM"].ToString() }); //  生产车间
                    FentityModel.Add("FStandHourUnitId", "3600"); // 单位标准工时单位
                    FentityModel.Add("FMaterialId", new JObject() { ["Fnumber"] = dr1["FMaterialNUM"].ToString() }); // 物料编码
                    FentityModel.Add("FMoEntrySeq", dr1["HICMOEntryID"].ToString());//生产订单行号
                    FentityModel.Add("FMoId", dr1["HICMOInterID"].ToString());//生产订单内码
                    FentityModel.Add("FFinishQty", item["接收数量"].ToString());//完成数量1
                    FentityModel.Add("FQuaQty", item["合格数量"].ToString());//合格数量1
                    FentityModel.Add("FOwnerID", new JObject() { ["Fnumber"] = item["FPURCHASEORGNUMBER"].ToString() });//货主
                    FentityModel.Add("FSrcId", item["FID"].ToString());//源单内码
                    FentityModel.Add("FSRCFORMID", "PUR_PurchaseOrder");//源单类型
                    FentityModel.Add("FSrcBillNo", item["FBILLNO"].ToString());//源单单号
                    FentityModel.Add("FSRCENTRYID", item["FENTRYID"].ToString());//源单分录内码
                    FentityModel.Add("FORDERBILLNO", item["FBILLNO"].ToString());//源单单号
                    FentityModel.Add("FPOORDERENTRYID", item["FENTRYID"].ToString());//源单分录内码
                    FentityModel.Add("FTLId", item["HID"].ToString());//提料源单内码
                    FentityModel.Add("FTLentryId", item["HENTRYID"].ToString());//提料源单分录内码
                    FentityModel.Add("FTLOrderNo", item["HBILLNO"].ToString());//提料源单分录内码
                    FentityModel.Add("FPrice", item["FPRICE"].ToString());//单价
                    FentityModel.Add("FTaxPrice", item["FTAXPRICE"].ToString());//含税单价
                    FentityModel.Add("FEntryTaxRate", item["FTAXRATE"].ToString());//税率
                    FentityModel.Add("F_QIMB_Text", item["FXQD"].ToString());//需求单号
                    FentityModel.Add("FStockInOrgId ", OrganizationNUM);// 入库组织
                    FentityModel.Add("FStockId", new JObject() { ["Fnumber"] = dr1["FStockNUM"].ToString() }); // 仓库
                    FentityModel.Add("FSrcBillType", "PRD_MO");//  源单类型
                    FentityModel.Add("FSrcBillNo", item["任务单"].ToString());//  源单编号
                    FentityModel.Add("FSrcInterId", dr1["HICMOInterID"].ToString());//  源单内码
                    FentityModel.Add("FSrcEntryId", dr1["HICMOEntryID"].ToString());//  源单分录内码
                    //JArray Fentity2 = new JArray();
                    //JObject FentityModel2 = new JObject();
@@ -267,7 +261,7 @@
                    //["IsAutoSubmitAndAudit"] = true,//自动调用提交和审核功能
                    ["Model"] = model
                };
                string result = InvokeHelper.Submit("PRD_PPBOM", JsonConvert.SerializeObject(json));
                string result = InvokeHelper.Submit("PRD_MORPT", JsonConvert.SerializeObject(jsonRoot));
                //判断审核是否成功
                if (JObject.Parse(result)["Result"]["ResponseStatus"]["IsSuccess"].ToString().ToUpper() != "TRUE")
                {
@@ -279,6 +273,11 @@
                    return objJsonResult;
                }
                oCN.Commit();
                objJsonResult.code = "0";
                objJsonResult.count = 1;
                objJsonResult.Message = "保存成功!";
                objJsonResult.data = 1;
                return objJsonResult;
            }
            catch (Exception e)
            {