| | |
| | | public class Pro_ScDayImport : AbstractDynamicFormPlugIn |
| | | { |
| | | private string fileFullPath = string.Empty; |
| | | |
| | | |
| | | //public override void OnLoad(EventArgs e) |
| | | //{ |
| | | // base.OnLoad(e); |
| | |
| | | { |
| | | LogHelper.Info("导入功能点击按钮:"); |
| | | ImportData(); |
| | | WriteImportLog(); |
| | | //this.View.ShowErrMessage("测试导入功能点击按钮"); |
| | | } |
| | | |
| | |
| | | sql = $" /*dialect*/ select FEntryID, FHMASTERDATE from SC_WORKBILLSORTBILLSub where FID={Convert.ToString(current["FDayPlanID"])} "; |
| | | List<DayPlanModel> dayPlanModel = new List<DayPlanModel>(); |
| | | dayPlanModel = DBServiceHelper.ExecuteDataSet(Context, sql).ToModelList<DayPlanModel>(); |
| | | int fseq = 1; |
| | | for (int i = 0; i <= 60; i++) |
| | | { |
| | | if (Convert.ToString(current["FT" + "" + i + ""]) == "" || Convert.ToString(current["FT" + "" + i + ""]) == "0") |
| | | continue; |
| | | |
| | | JObject jsonFPOOrderEntry = new JObject(); |
| | | jsonFPOOrderEntry.Add("FHMasterDate", date.AddDays(i).ToShortDateString()); ;//主日期 |
| | | jsonFPOOrderEntry.Add("FHQty ", Convert.ToString(current["FT" + "" + i + ""])); ;//日计划数量 |
| | | jsonFPOOrderEntry.Add("FColumn", "FT" + "" + i + ""); ;//对应的列头 |
| | | //jsonFPOOrderEntry.Add("FSEQ", fseq); ;//序号 |
| | | List<DayPlanModel> _dayPlanModel = dayPlanModel.Where(x => x.FHMASTERDATE == date.AddDays(i)).ToList(); |
| | | if (_dayPlanModel.Count > 0) |
| | | { |
| | | jsonFPOOrderEntry.Add("FEntryID", _dayPlanModel.FirstOrDefault().FEntryID); ;//序号 |
| | | } |
| | | |
| | | Entry.Add(jsonFPOOrderEntry); |
| | | fseq++; |
| | | } |
| | | jsonModel.Add("FEntity", Entry); |
| | | jsonModel.Add("FID", Convert.ToString(current["FDayPlanID"])); ;//源单编号 |
| | |
| | | var result = cloudClient.Save("Paez_Sc_WorkBillAutoSortBill", jsonRoot.ToString()); |
| | | JObject saveObj = JObject.Parse(result); |
| | | string saveIsSuc = saveObj["Result"]["ResponseStatus"]["IsSuccess"].ToString().ToUpper(); |
| | | LogHelper.Info(jsonRoot.ToString()); |
| | | if (saveIsSuc == "TRUE") |
| | | { |
| | | string FDayPlanBillNo = saveObj["Result"]["Number"].ToString(); |
| | |
| | | } |
| | | else |
| | | { |
| | | int fseq = 1; |
| | | for (int i = 0; i <= 60; i++) |
| | | { |
| | | if (Convert.ToString(current["FT" + "" + i + ""]) == "" || Convert.ToString(current["FT" + "" + i + ""]) == "0") |
| | |
| | | jsonFPOOrderEntry.Add("FHMasterDate", date.AddDays(i).ToShortDateString()); ;//主日期 |
| | | jsonFPOOrderEntry.Add("FHQty ", Convert.ToString(current["FT" + "" + i + ""])); ;//日计划数量 |
| | | jsonFPOOrderEntry.Add("FColumn", "FT" + "" + i + ""); ;//对应的列头 |
| | | //jsonFPOOrderEntry.Add("FSEQ", fseq); ;//序号 |
| | | Entry.Add(jsonFPOOrderEntry); |
| | | fseq++; |
| | | } |
| | | jsonModel.Add("FEntity", Entry); |
| | | jsonRoot.Add("Model", jsonModel); |
| | | var result = cloudClient.Save("Paez_Sc_WorkBillAutoSortBill", jsonRoot.ToString()); |
| | | JObject saveObj = JObject.Parse(result); |
| | | string saveIsSuc = saveObj["Result"]["ResponseStatus"]["IsSuccess"].ToString().ToUpper(); |
| | | //LogService.WriteAsync(jsonRoot); |
| | | if (saveIsSuc == "TRUE") |
| | | { |
| | | string FDayPlanBillNo = saveObj["Result"]["Number"].ToString(); |
| | |
| | | } |
| | | return string.Empty; |
| | | } |
| | | } |
| | | |
| | | public void WriteImportLog() |
| | | { |
| | | try |
| | | { |
| | | CloudClient cloudClient = new CloudClient("http://localhost//k3cloud/"); |
| | | string sql; |
| | | DateTime date = Convert.ToDateTime(this.Model.GetValue("F_Paez_Date")); |
| | | //获取单据体信息 |
| | | Entity entity = this.View.BillBusinessInfo.GetEntity("FEntity"); |
| | | //单据体信息转换为列表集合 |
| | | DynamicObjectCollection entityDataObjoct = this.View.Model.GetEntityDataObject(entity); |
| | | foreach (DynamicObject current in entityDataObjoct) |
| | | { |
| | | if (string.IsNullOrEmpty(Convert.ToString(current["FSCOrderNo"]))) |
| | | continue; |
| | | //根据生产订单号和物料查询是否存在明细 +生产订单明细行号 |
| | | sql = string.Format(@" |
| | | /*dialect*/ |
| | | SELECT T1.FBILLNO,T2.*,t3.FNUMBER as FUnitNumber FROM T_PRD_MO T1 |
| | | LEFT JOIN T_PRD_MOENTRY T2 ON T1.FID = T2.FID |
| | | join T_BD_UNIT t3 on t2.FUNITID=t3.FUNITID |
| | | WHERE T1.FBILLNO = '{0}' AND T2.FMATERIALID = '{1}' AND T2.FSEQ = '{2}'", Convert.ToString(current["FSCOrderNo"]), Convert.ToString(current["FMatrailId_Id"]), Convert.ToString(current["FSRCBILLENTRYSEQ"])); |
| | | DataTable dt = new DataTable(); |
| | | dt = DBServiceHelper.ExecuteDataSet(Context, sql).Tables[0]; |
| | | if (dt.Rows.Count == 0) |
| | | continue; |
| | | string FID = "";//FID 源单主内码 |
| | | string FENTRYID = "";//FENTRYID 源单子内码 |
| | | string FLOT = "";//FLOT 批次 |
| | | string FQTY = "";//FQTY 生产订单数量 |
| | | string FBILLNO = "";//FBILLNO 原单号 |
| | | string FHUnitID = "";//单位 |
| | | if (dt.Rows.Count > 0) |
| | | { |
| | | FID = dt.Rows[0]["FID"].ToString(); |
| | | FENTRYID = dt.Rows[0]["FENTRYID"].ToString(); |
| | | FLOT = dt.Rows[0]["FLOT"].ToString(); |
| | | FQTY = dt.Rows[0]["FQTY"].ToString(); |
| | | FBILLNO = dt.Rows[0]["FBILLNO"].ToString(); |
| | | FHUnitID = dt.Rows[0]["FUnitNumber"].ToString(); |
| | | } |
| | | JObject jsonRoot = new JObject(); |
| | | jsonRoot.Add("Creator", ""); |
| | | jsonRoot.Add("NeedUpDateFields", new JArray()); |
| | | jsonRoot.Add("NeedReturnFields", new JArray()); |
| | | jsonRoot.Add("IsDeleteEntry", "false"); |
| | | jsonRoot.Add("SubSystemId", ""); |
| | | jsonRoot.Add("IsVerifyBaseDataField", ""); |
| | | JObject jsonModel = new JObject(); |
| | | jsonModel.Add("FPreparatDate", date.ToString());//编制日期 |
| | | jsonModel.Add("FSRCBILLENTRYSEQ", Convert.ToString(current["FSRCBILLENTRYSEQ"]));//生产订单明细行号 |
| | | jsonModel.Add("FSCOrderNo", Convert.ToString(current["FSCOrderNo"])); //生产订单号FSCOrderNo |
| | | jsonModel.Add("FHSeOrderBillNo", Convert.ToString(current["FSalOrderNo"]));//销售订单号 |
| | | jsonModel.Add("FHOrderLev", current["FOrderLevel"].ToString());//订单等级 |
| | | jsonModel.Add("FHOrderQty", Convert.ToString(current["FSalOrderCount"]));//销售订单数量 |
| | | jsonModel.Add("FHOrderCommitDate", Convert.ToString(current["FDeliveryDate"]));//交货期HOrderCommitDate |
| | | jsonModel.Add("FHUnitID", new JObject() { ["Fnumber"] = FHUnitID });//单位 |
| | | |
| | | //jsonModel.Add("FBatch", current["FBatch"].ToString());//批次 |
| | | jsonModel.Add("FBatch", FLOT);//批次 |
| | | jsonModel.Add("FHOrderNeedQty", FQTY);// 订单需求数量 |
| | | jsonModel.Add("FPrdBillNo", FBILLNO); ;//源单编号 |
| | | jsonModel.Add("FPRDMOMAINID", FID); ;//源单主内码 |
| | | jsonModel.Add("FPRDMOENTYID", FENTRYID); ;//源单子内码 |
| | | jsonModel.Add("FOrderQuantity", Convert.ToString(current["FOrderQuantity"])); ;//生产订单数量 |
| | | jsonModel.Add("FDayPlanQuantity", Convert.ToString(current["FDayPlanQuantity"])); ;//日计划数量 |
| | | jsonModel.Add("FNoScheduled", Convert.ToString(current["FNoScheduled"])); ;//未排数量 |
| | | JObject jsonFHMaterID = new JObject(); |
| | | jsonFHMaterID.Add("FNumber", (current["FMatrailId"] as DynamicObject)["Number"].ToString()); |
| | | jsonModel.Add("FHMaterID", jsonFHMaterID);//FHMaterID 物料 |
| | | if (Convert.ToString(current["FORGID_Id"]) != "0") |
| | | { |
| | | JObject jsonFHPRDORGID = new JObject(); |
| | | jsonFHPRDORGID.Add("FNumber", (current["FORGID"] as DynamicObject)["Number"].ToString()); |
| | | jsonModel.Add("FHPRDORGID", jsonFHPRDORGID);//FHMaterID 生产组织 |
| | | |
| | | } |
| | | if (Convert.ToString(current["FResourcesId_Id"]) != "0") |
| | | { |
| | | JObject jsonFProductWorkShopId = new JObject(); |
| | | jsonFProductWorkShopId.Add("FNumber", (current["FResourcesId"] as DynamicObject)["Number"].ToString()); |
| | | jsonModel.Add("FHSourceID", jsonFProductWorkShopId);//FHSourceID 生产车间 |
| | | } |
| | | if (Convert.ToString(current["FProductWorkShopId_Id"]) != "0") |
| | | { |
| | | JObject jsonFResourcesId = new JObject(); |
| | | jsonFResourcesId.Add("FNumber", (current["FProductWorkShopId"] as DynamicObject)["Number"].ToString()); |
| | | jsonModel.Add("FHWorkShopID", jsonFResourcesId);//FHWorkShopID 生产资源 |
| | | } |
| | | JArray Entry = new JArray(); |
| | | |
| | | for (int i = 0; i <= 60; i++) |
| | | { |
| | | if (Convert.ToString(current["FT" + "" + i + ""]) == "" || Convert.ToString(current["FT" + "" + i + ""]) == "0") |
| | | continue; |
| | | JObject jsonFPOOrderEntry = new JObject(); |
| | | jsonFPOOrderEntry.Add("FHMasterDate", date.AddDays(i).ToShortDateString()); ;//主日期 |
| | | jsonFPOOrderEntry.Add("FHQty ", Convert.ToString(current["FT" + "" + i + ""])); ;//日计划数量 |
| | | jsonFPOOrderEntry.Add("FColumn", "FT" + "" + i + ""); ;//对应的列头 |
| | | Entry.Add(jsonFPOOrderEntry); |
| | | } |
| | | jsonModel.Add("FEntity", Entry); |
| | | jsonRoot.Add("Model", jsonModel); |
| | | var result = cloudClient.Save("paez_Sc_WorkBillAutoSortBill_Log", jsonRoot.ToString()); |
| | | JObject saveObj = JObject.Parse(result); |
| | | string saveIsSuc = saveObj["Result"]["ResponseStatus"]["IsSuccess"].ToString().ToUpper(); |
| | | if (saveIsSuc != "TRUE") |
| | | { |
| | | LogHelper.Error("生产日计划导入记录日志,新增异常json:" + jsonRoot.ToString()); |
| | | } |
| | | |
| | | } |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | LogHelper.Error("生产日计划导入记录日志跳出:" + ex.Message.ToString()); |
| | | } |
| | | } |
| | | } |
| | | } |