From ab54dedeaa48ab1da3f82ab21640d9fba0124687 Mon Sep 17 00:00:00 2001 From: sugy <455459989@qq.com> Date: Sat, 31 Jan 2026 17:36:25 +0800 Subject: [PATCH] =?UTF-8?q?erp=E5=90=8C=E6=AD=A5=E9=85=8D=E5=A5=97?= =?UTF-8?q?=E8=AE=A2=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../erp/SynSupportingFacilitiesProcessor.java | 27 ++++ .../erpdata/feign/IErpMesRbWoClient.java | 3 + .../feign/IErpMesRbWoClientFallback.java | 5 + .../erpdata/pojo/dto/view/MesRbPk.java | 16 +++ .../erpdata/pojo/dto/view/MesRbSjso.java | 16 ++- .../pojo/dto/view/MesRbSodelrecwx.java | 16 +++ .../pojo/dto/view/MesRbSodelreczg.java | 16 +++ .../pojo/dto/view/MesRbWxpromotion.java | 16 +++ .../FmProjectApplicationController.java | 48 ++++++- .../mapper/ProjectApplicationMapper.xml | 2 +- .../entity/FmProjectApplicationEntity.java | 15 +++ .../erpdata/feign/ErpMesRbWoClient.java | 8 ++ .../erpdata/mapper/ErpMesRbPkMapper.java | 13 ++ .../erpdata/mapper/ErpMesRbPkMapper.xml | 41 ++++++ .../erpdata/service/IErpMesRbPkService.java | 16 +++ .../erpdata/service/IErpMesRbWoService.java | 4 + .../service/impl/ErpMesRbPkServiceImpl.java | 18 +++ .../service/impl/ErpMesRbWoServiceImpl.java | 127 +++++++++++++++++- 18 files changed, 399 insertions(+), 8 deletions(-) create mode 100644 blade-ops/blade-job/src/main/java/org/springblade/job/processor/erp/SynSupportingFacilitiesProcessor.java diff --git a/blade-ops/blade-job/src/main/java/org/springblade/job/processor/erp/SynSupportingFacilitiesProcessor.java b/blade-ops/blade-job/src/main/java/org/springblade/job/processor/erp/SynSupportingFacilitiesProcessor.java new file mode 100644 index 00000000..6f597370 --- /dev/null +++ b/blade-ops/blade-job/src/main/java/org/springblade/job/processor/erp/SynSupportingFacilitiesProcessor.java @@ -0,0 +1,27 @@ +package org.springblade.job.processor.erp; + +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springblade.erpdata.feign.IErpMesRbWoClient; +import tech.powerjob.worker.core.processor.ProcessResult; +import tech.powerjob.worker.core.processor.TaskContext; +import tech.powerjob.worker.core.processor.sdk.BasicProcessor; + +import java.util.concurrent.CompletableFuture; + +@RequiredArgsConstructor +@Slf4j +public class SynSupportingFacilitiesProcessor implements BasicProcessor { + + private final IErpMesRbWoClient mesRbWoClient; + + + + @Override + public ProcessResult process(TaskContext taskContext) throws Exception { + log.info("同步配套订单定时任务开始"); + CompletableFuture runFuture = CompletableFuture.runAsync(()-> mesRbWoClient.synSupportingFacilities()); + log.info("同步配套订单定时任务结束"); + return new ProcessResult(true); + } +} diff --git a/blade-service-api/blade-erpdata-api/src/main/java/org/springblade/erpdata/feign/IErpMesRbWoClient.java b/blade-service-api/blade-erpdata-api/src/main/java/org/springblade/erpdata/feign/IErpMesRbWoClient.java index 74a850a0..796e20da 100644 --- a/blade-service-api/blade-erpdata-api/src/main/java/org/springblade/erpdata/feign/IErpMesRbWoClient.java +++ b/blade-service-api/blade-erpdata-api/src/main/java/org/springblade/erpdata/feign/IErpMesRbWoClient.java @@ -34,6 +34,7 @@ public interface IErpMesRbWoClient { String SYN_GLASSCAKE = API_PREFIX + "/synGlassCake"; String SYN_OUTSOURCING = API_PREFIX + "/synOutsourcing"; String SYN_CRAFT = API_PREFIX + "/synCraft"; + String SYN_SUPPORTING_FACILITIES = API_PREFIX + "/synSupportingFacilities"; /** * 查询烧结配套信息 @@ -70,4 +71,6 @@ public interface IErpMesRbWoClient { R synOutsourcing(); @GetMapping(SYN_CRAFT) R synCraft(); + @GetMapping(SYN_SUPPORTING_FACILITIES) + R synSupportingFacilities(); } diff --git a/blade-service-api/blade-erpdata-api/src/main/java/org/springblade/erpdata/feign/IErpMesRbWoClientFallback.java b/blade-service-api/blade-erpdata-api/src/main/java/org/springblade/erpdata/feign/IErpMesRbWoClientFallback.java index e81d08c1..14907451 100644 --- a/blade-service-api/blade-erpdata-api/src/main/java/org/springblade/erpdata/feign/IErpMesRbWoClientFallback.java +++ b/blade-service-api/blade-erpdata-api/src/main/java/org/springblade/erpdata/feign/IErpMesRbWoClientFallback.java @@ -70,4 +70,9 @@ public class IErpMesRbWoClientFallback implements IErpMesRbWoClient { public R synCraft() { return R.fail("获取数据失败"); } + + @Override + public R synSupportingFacilities() { + return R.fail("获取数据失败"); + } } diff --git a/blade-service-api/blade-erpdata-api/src/main/java/org/springblade/erpdata/pojo/dto/view/MesRbPk.java b/blade-service-api/blade-erpdata-api/src/main/java/org/springblade/erpdata/pojo/dto/view/MesRbPk.java index 6a99e3c1..811064dd 100644 --- a/blade-service-api/blade-erpdata-api/src/main/java/org/springblade/erpdata/pojo/dto/view/MesRbPk.java +++ b/blade-service-api/blade-erpdata-api/src/main/java/org/springblade/erpdata/pojo/dto/view/MesRbPk.java @@ -2,6 +2,8 @@ package org.springblade.erpdata.pojo.dto.view; import lombok.Data; +import java.util.Date; + /** * 对应ERP中视图 v_mes_rb_pk * @@ -39,4 +41,18 @@ public class MesRbPk { private String kdofplat; //镀种 private String prtmeterial; //材料 private String rigidity; //硬度 + + private String firseq; + private String prtudept; + private Date soreqdat; + private String soplanner; + private Date soreldat; + private String rouclp; + private String newlevsoqty; + private String warctlr; + private String lewdept; + private String newlevflag; + private String prtudeptcode; + private String newlevname; + private Date newlevdate; } diff --git a/blade-service-api/blade-erpdata-api/src/main/java/org/springblade/erpdata/pojo/dto/view/MesRbSjso.java b/blade-service-api/blade-erpdata-api/src/main/java/org/springblade/erpdata/pojo/dto/view/MesRbSjso.java index 395a4dd2..b95e6a65 100644 --- a/blade-service-api/blade-erpdata-api/src/main/java/org/springblade/erpdata/pojo/dto/view/MesRbSjso.java +++ b/blade-service-api/blade-erpdata-api/src/main/java/org/springblade/erpdata/pojo/dto/view/MesRbSjso.java @@ -2,6 +2,8 @@ package org.springblade.erpdata.pojo.dto.view; import lombok.Data; +import java.util.Date; + /** * 对应ERP中视图 v_mes_rb_sjso * @@ -12,7 +14,7 @@ import lombok.Data; public class MesRbSjso { private String sono; //车间订单号 - private String fj_splcode; //批次号 + private String splcode; //批次号 private String barcodeno; //路线卡号(配套单号) private String prtno; //零件号 private String prtlotno; //生产标识 @@ -34,4 +36,16 @@ public class MesRbSjso { private String planner; private String username; private String firseq; + + private String prtudept; + private Date soreqdat; + private String soplanner; + private String soreldat; + private String rouclp; + private String newlevsoqty; + private String lewdept; + private String newlevflag; + private String prtudeptcode; + private String newlevname; + private Date newlevdate; } diff --git a/blade-service-api/blade-erpdata-api/src/main/java/org/springblade/erpdata/pojo/dto/view/MesRbSodelrecwx.java b/blade-service-api/blade-erpdata-api/src/main/java/org/springblade/erpdata/pojo/dto/view/MesRbSodelrecwx.java index 42fc5383..c1fb7335 100644 --- a/blade-service-api/blade-erpdata-api/src/main/java/org/springblade/erpdata/pojo/dto/view/MesRbSodelrecwx.java +++ b/blade-service-api/blade-erpdata-api/src/main/java/org/springblade/erpdata/pojo/dto/view/MesRbSodelrecwx.java @@ -2,6 +2,8 @@ package org.springblade.erpdata.pojo.dto.view; import lombok.Data; +import java.util.Date; + /** * 对应ERP中视图 v_mes_rb_sodelrecwx * @@ -40,4 +42,18 @@ public class MesRbSodelrecwx { private String prtmeterial; //材料 private String rigidity; //硬度 private String firseq; + + private String sono; + private String prtudept; + private Date soreqdat; + private String soplanner; + private Date soreldat; + private String rouclp; + private String newlevsoqty; + private String warctlr; + private String lewdept; + private String newlevflag; + private String prtudeptcode; + private String newlevname; + private Date newlevdate; } diff --git a/blade-service-api/blade-erpdata-api/src/main/java/org/springblade/erpdata/pojo/dto/view/MesRbSodelreczg.java b/blade-service-api/blade-erpdata-api/src/main/java/org/springblade/erpdata/pojo/dto/view/MesRbSodelreczg.java index a7a579b6..5de956d4 100644 --- a/blade-service-api/blade-erpdata-api/src/main/java/org/springblade/erpdata/pojo/dto/view/MesRbSodelreczg.java +++ b/blade-service-api/blade-erpdata-api/src/main/java/org/springblade/erpdata/pojo/dto/view/MesRbSodelreczg.java @@ -2,6 +2,8 @@ package org.springblade.erpdata.pojo.dto.view; import lombok.Data; +import java.util.Date; + /** * 对应ERP中视图 v_mes_rb_sodelreczg * @@ -40,4 +42,18 @@ public class MesRbSodelreczg { private String prtmeterial; //材料 private String rigidity; //硬度 private String firseq; + + private String sono; + private String prtudept; + private Date soreqdat; + private String soplanner; + private Date soreldat; + private String rouclp; + private String newlevsoqty; + private String warctlr; + private String lewdept; + private String newlevflag; + private String prtudeptcode; + private String newlevname; + private Date newlevdate; } diff --git a/blade-service-api/blade-erpdata-api/src/main/java/org/springblade/erpdata/pojo/dto/view/MesRbWxpromotion.java b/blade-service-api/blade-erpdata-api/src/main/java/org/springblade/erpdata/pojo/dto/view/MesRbWxpromotion.java index 2636bd62..c8fd4b64 100644 --- a/blade-service-api/blade-erpdata-api/src/main/java/org/springblade/erpdata/pojo/dto/view/MesRbWxpromotion.java +++ b/blade-service-api/blade-erpdata-api/src/main/java/org/springblade/erpdata/pojo/dto/view/MesRbWxpromotion.java @@ -2,6 +2,8 @@ package org.springblade.erpdata.pojo.dto.view; import lombok.Data; +import java.util.Date; + /** * 对应ERP中视图 v_mes_rb_wxpromotion * @@ -40,4 +42,18 @@ public class MesRbWxpromotion { private String prtmeterial; //材料 private String rigidity; //硬度 private String firseq; + + + private String sono; + private String prtudept; + private Date soreqdat; + private String soplanner; + private String soreldat; + private String rouclp; + private String newlevsoqty; + private String warctlr; + private String lewdept; + private String prtudeptcode; + private String newlevname; + private Date newlevdate; } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/process/controller/FmProjectApplicationController.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/process/controller/FmProjectApplicationController.java index 32914b7b..bcf09a40 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/process/controller/FmProjectApplicationController.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/process/controller/FmProjectApplicationController.java @@ -52,6 +52,8 @@ import org.springblade.desk.process.service.IFmProjectMilestoneService; import org.springblade.desk.process.wrapper.FmProjectApplicationWrapper; import org.springframework.web.bind.annotation.*; +import java.text.SimpleDateFormat; +import java.util.Date; import java.util.List; import java.util.Map; @@ -103,6 +105,11 @@ public class FmProjectApplicationController extends BladeController { @Operation(summary = "分页", description = "传入fmProjectApplication") public R> page(FmProjectApplicationVO fmProjectApplication, Query query) { IPage pages = fmProjectApplicationService.selectFmProjectApplicationPage(Condition.getPage(query), fmProjectApplication); + pages.getRecords().forEach(x->{ + List stoneList=fmProjectMilestoneService.list(new QueryWrapper().lambda() + .eq(FmProjectMilestoneEntity::getPaId,x.getId())); + x.setStoneList(stoneList); + }); return R.data(pages); } @@ -133,13 +140,22 @@ public class FmProjectApplicationController extends BladeController { @ApiOperationSupport(order = 6) @Operation(summary = "新增或修改", description = "传入fmProjectApplication") public R submit(@Valid @RequestBody FmProjectApplicationEntity fmProjectApplication) { - Boolean flag=fmProjectApplicationService.save(fmProjectApplication); + if(fmProjectApplication.getId()==null||0==fmProjectApplication.getId()) + fmProjectApplication.setPaCode(nextCode()); + if(fmProjectApplication.getTouchingTime()==null){ + fmProjectApplication.setTouchingTime(new Date()); + } + Boolean flag=fmProjectApplicationService.saveOrUpdate(fmProjectApplication); if(flag){ List stoneList=fmProjectApplication.getStoneList(); stoneList.forEach(x->{ x.setPaId(fmProjectApplication.getId()); }); - return R.status(fmProjectMilestoneService.saveOrUpdateBatch(stoneList)); + if(stoneList.size()>0){ + return R.status(fmProjectMilestoneService.saveOrUpdateBatch(stoneList)); + }else { + return R.status(true); + } } return R.status(false); } @@ -171,5 +187,33 @@ public class FmProjectApplicationController extends BladeController { List list = fmProjectApplicationService.exportFmProjectApplication(queryWrapper); ExcelUtil.export(response, "项目管理数据" + DateUtil.time(), "项目管理数据表", list, FmProjectApplicationExcel.class); } + public String nextCode() { + // 自增总长度 + int len = 3; + // 自增值 + int num = 0; + // 编码模式 + String codePattern = new SimpleDateFormat("yyyyMMdd").format(new Date()); + // 当前模式下最大编码 + List pgrList = fmProjectApplicationService.list( + new QueryWrapper().lambda() + .likeRight(FmProjectApplicationEntity::getPaCode, codePattern) + .orderByDesc(FmProjectApplicationEntity::getPaCode)); + FmProjectApplicationEntity pgr = pgrList.size() > 0 ? pgrList.get(0) : null; + if (pgr != null) { + num = Integer.parseInt(pgr.getPaCode().substring(codePattern.length(), codePattern.length() + len)); + } + num++; + // 下个编码 + return codePattern + prefix(String.valueOf(num), "0", len); + } + public static final String prefix(String StringToFix, String fixChar, int targetLen) { + int len = StringToFix.length(); + + for(int i = 0; i < targetLen - len; i += fixChar.length()) { + StringToFix = fixChar + StringToFix; + } + return StringToFix; + } } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/process/mapper/ProjectApplicationMapper.xml b/blade-service/blade-desk/src/main/java/org/springblade/desk/process/mapper/ProjectApplicationMapper.xml index 64486fb4..e03bd84a 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/process/mapper/ProjectApplicationMapper.xml +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/process/mapper/ProjectApplicationMapper.xml @@ -32,7 +32,7 @@ - select * from FM_PROJECT_APPLICATION n n.is_deleted = 0 diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/process/pojo/entity/FmProjectApplicationEntity.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/process/pojo/entity/FmProjectApplicationEntity.java index 695bf706..a27efa1c 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/process/pojo/entity/FmProjectApplicationEntity.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/process/pojo/entity/FmProjectApplicationEntity.java @@ -61,11 +61,21 @@ public class FmProjectApplicationEntity extends BaseEntity { */ @Schema(description = "单据号") private String paCode; + /** + * 制单人ID + */ + @Schema(description = "制单人Id") + private String touchingManId; /** * 制单人 */ @Schema(description = "制单人") private String touchingMan; + /** + * 制单部门id + */ + @Schema(description = "制单部门Id") + private String touchingDeptId; /** * 制单部门 */ @@ -129,6 +139,11 @@ public class FmProjectApplicationEntity extends BaseEntity { */ @Schema(description = "项目支持人") private String projectSupportMan; + /** + * 项目负责人ID + */ + @Schema(description = "项目负责人ID") + private String projectHeadId; /** * 项目负责人 */ diff --git a/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/feign/ErpMesRbWoClient.java b/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/feign/ErpMesRbWoClient.java index 1023730e..87f1d51b 100644 --- a/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/feign/ErpMesRbWoClient.java +++ b/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/feign/ErpMesRbWoClient.java @@ -99,4 +99,12 @@ public class ErpMesRbWoClient implements IErpMesRbWoClient { log.info("同步正式工艺订单定时任务结束"); return R.success(); } + + @Override + public R synSupportingFacilities() { + log.info("同步配套订单定时任务开始"); + erpMesRbWoService.synSupportingFacilities(); + log.info("同步配套订单定时任务结束"); + return R.success(); + } } diff --git a/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/mapper/ErpMesRbPkMapper.java b/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/mapper/ErpMesRbPkMapper.java index b7df65c9..0d5b6bb2 100644 --- a/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/mapper/ErpMesRbPkMapper.java +++ b/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/mapper/ErpMesRbPkMapper.java @@ -19,4 +19,17 @@ public interface ErpMesRbPkMapper extends Mapper { * @return */ List getMesRbPkErpList(); + /** + * 获取ERP最新等级时间 + * + * @param selectTime + * @return + */ + String getNewlevdateMax(String selectTime); + /** + * 从ERP视图中获取要同步的推进计划转工单 + * + * @return + */ + List getMesRbPkList(String dateMax); } diff --git a/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/mapper/ErpMesRbPkMapper.xml b/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/mapper/ErpMesRbPkMapper.xml index 9648c3ad..d3aa0712 100644 --- a/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/mapper/ErpMesRbPkMapper.xml +++ b/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/mapper/ErpMesRbPkMapper.xml @@ -6,4 +6,45 @@ SELECT * FROM v_mes_rb_pk WHERE is_deleted = 0 + + diff --git a/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/service/IErpMesRbPkService.java b/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/service/IErpMesRbPkService.java index 05b33450..7e471523 100644 --- a/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/service/IErpMesRbPkService.java +++ b/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/service/IErpMesRbPkService.java @@ -1,5 +1,9 @@ package org.springblade.erpdata.service; +import org.springblade.erpdata.pojo.dto.view.MesRbPk; + +import java.util.List; + /** * ERP数据查询service * @@ -11,4 +15,16 @@ public interface IErpMesRbPkService { * 同步数据 */ void synMesRbPk(); + /** + * 获取最新时间 + * @param selectTime + * @return + */ + String getNewlevdateMax(String selectTime); + /** + * 获取数据 + * @param dateMax + * @return + */ + List getMesRbPkList(String dateMax); } diff --git a/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/service/IErpMesRbWoService.java b/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/service/IErpMesRbWoService.java index cd5b8dce..7b153acd 100644 --- a/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/service/IErpMesRbWoService.java +++ b/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/service/IErpMesRbWoService.java @@ -52,4 +52,8 @@ public interface IErpMesRbWoService { * 同步工艺数据 */ void synCraft(); + /** + * 同步配套数据 + */ + void synSupportingFacilities(); } diff --git a/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/service/impl/ErpMesRbPkServiceImpl.java b/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/service/impl/ErpMesRbPkServiceImpl.java index 9bb49e91..5d85c173 100644 --- a/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/service/impl/ErpMesRbPkServiceImpl.java +++ b/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/service/impl/ErpMesRbPkServiceImpl.java @@ -4,9 +4,12 @@ import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springblade.desk.order.feign.IApsClient; import org.springblade.erpdata.mapper.ErpMesRbPkMapper; +import org.springblade.erpdata.pojo.dto.view.MesRbPk; import org.springblade.erpdata.service.IErpMesRbPkService; import org.springframework.stereotype.Service; +import java.util.List; + /** * @author lqk * @date 2025-11-26 9:39 @@ -24,4 +27,19 @@ public class ErpMesRbPkServiceImpl implements IErpMesRbPkService { public void synMesRbPk() { } + /** + * 获取最新等级时间 + * + * @param selectTime + * @return + */ + @Override + public String getNewlevdateMax(String selectTime) { + return mesRbPkMapper.getNewlevdateMax(selectTime); + } + + @Override + public List getMesRbPkList(String dateMax) { + return mesRbPkMapper.getMesRbPkList(dateMax); + } } diff --git a/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/service/impl/ErpMesRbWoServiceImpl.java b/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/service/impl/ErpMesRbWoServiceImpl.java index 79c434c2..01189b6b 100644 --- a/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/service/impl/ErpMesRbWoServiceImpl.java +++ b/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/service/impl/ErpMesRbWoServiceImpl.java @@ -53,6 +53,8 @@ public class ErpMesRbWoServiceImpl implements IErpMesRbWoService { private final IErpMesRbSodelreczgService erpMesRbSodelreczgService; + private final IErpMesRbPkService erpMesRbPkService; + @Override public List getList(MesRbWo entity) { @@ -230,7 +232,7 @@ public class ErpMesRbWoServiceImpl implements IErpMesRbWoService { } yieldOrderList.add(yieldOrder); }); - apsOrderClient.saveOrderList(yieldOrderList); + this.saveOrder(yieldOrderList); } /** * 同步临时工单 @@ -273,7 +275,7 @@ public class ErpMesRbWoServiceImpl implements IErpMesRbWoService { } yieldOrderList.add(yieldOrder); }); - apsOrderClient.saveOrderList(yieldOrderList); + this.saveOrder(yieldOrderList); } /** * 同步烧结数据 @@ -288,6 +290,21 @@ public class ErpMesRbWoServiceImpl implements IErpMesRbWoService { rbtosoList.forEach(mesRbtoso -> { YieldOrder yieldOrder=new YieldOrder(); yieldOrder.setManualIncrease(false); + yieldOrder.setYoCode(mesRbtoso.getSono());//生产单号 + yieldOrder.setBatchNo(mesRbtoso.getSplcode());//批次号 + yieldOrder.setPartCode(mesRbtoso.getPrtno());//零件号 + yieldOrder.setProductIdent(mesRbtoso.getPrtlotno()); + yieldOrder.setUseDept(mesRbtoso.getPrtudept()); + yieldOrder.setDemandDate(mesRbtoso.getSoreqdat());//需求日期 + yieldOrder.setPlanUser(mesRbtoso.getSoplanner()); + yieldOrder.setReleaseDate(mesRbtoso.getSoreqdat()); + yieldOrder.setCardNo(mesRbtoso.getRouclp()); + yieldOrder.setYpQty(Double.valueOf(mesRbtoso.getNewlevsoqty()));//生产数量 + yieldOrder.setCustodian(mesRbtoso.getWarctlr());//保管员 + yieldOrder.setEntrustDept(mesRbtoso.getPrtudeptcode()); + yieldOrder.setUseDeptCode(mesRbtoso.getPrtudeptcode()); + yieldOrder.setPkUsername(mesRbtoso.getNewlevname()); + yieldOrder.setPkDate(mesRbtoso.getNewlevdate()); yieldOrder.setYieldType(12002); yieldOrder.setRoamNoNext( ""); if(StringUtils.isNotEmpty(mesRbtoso.getFirseq())){ @@ -296,7 +313,7 @@ public class ErpMesRbWoServiceImpl implements IErpMesRbWoService { } yieldOrderList.add(yieldOrder); }); - apsOrderClient.saveOrderList(yieldOrderList); + this.saveOrder(yieldOrderList); } /** * 同步采购LOTTJ @@ -312,6 +329,21 @@ public class ErpMesRbWoServiceImpl implements IErpMesRbWoService { YieldOrder yieldOrder=new YieldOrder(); yieldOrder.setYpMemo("推进计划"); yieldOrder.setManualIncrease(false); + yieldOrder.setYoCode(mesRbWxpromotion.getSono());//生产单号 + yieldOrder.setBatchNo(mesRbWxpromotion.getSplcode());//批次号 + yieldOrder.setPartCode(mesRbWxpromotion.getPrtno());//零件号 + yieldOrder.setProductIdent(mesRbWxpromotion.getPrtlotno()); + yieldOrder.setUseDept(mesRbWxpromotion.getPrtudept()); + yieldOrder.setDemandDate(mesRbWxpromotion.getSoreqdat());//需求日期 + yieldOrder.setPlanUser(mesRbWxpromotion.getSoplanner()); + yieldOrder.setReleaseDate(mesRbWxpromotion.getSoreqdat()); + yieldOrder.setCardNo(mesRbWxpromotion.getRouclp()); + yieldOrder.setYpQty(Double.valueOf(mesRbWxpromotion.getNewlevsoqty()));//生产数量 + yieldOrder.setCustodian(mesRbWxpromotion.getWarctlr());//保管员 + yieldOrder.setEntrustDept(mesRbWxpromotion.getPrtudeptcode()); + yieldOrder.setUseDeptCode(mesRbWxpromotion.getPrtudeptcode()); + yieldOrder.setPkUsername(mesRbWxpromotion.getNewlevname()); + yieldOrder.setPkDate(mesRbWxpromotion.getNewlevdate()); List dsPartList=apsOrderClient.getDsCraftListByCode(mesRbWxpromotion.getPrtno()); yieldOrder.setYieldType(12001); if(dsPartList!=null&&dsPartList.get(0).getCraftWay().contains("封接")){ @@ -343,6 +375,21 @@ public class ErpMesRbWoServiceImpl implements IErpMesRbWoService { mesRbSodelrecwxList.forEach(mesRbSodelrecwx -> { YieldOrder yieldOrder=new YieldOrder(); yieldOrder.setManualIncrease(false); + yieldOrder.setYoCode(mesRbSodelrecwx.getSono());//生产单号 + yieldOrder.setBatchNo(mesRbSodelrecwx.getSplcode());//批次号 + yieldOrder.setPartCode(mesRbSodelrecwx.getPrtno());//零件号 + yieldOrder.setProductIdent(mesRbSodelrecwx.getPrtlotno()); + yieldOrder.setUseDept(mesRbSodelrecwx.getPrtudept()); + yieldOrder.setDemandDate(mesRbSodelrecwx.getSoreqdat());//需求日期 + yieldOrder.setPlanUser(mesRbSodelrecwx.getSoplanner()); + yieldOrder.setReleaseDate(mesRbSodelrecwx.getSoreqdat()); + yieldOrder.setCardNo(mesRbSodelrecwx.getRouclp()); + yieldOrder.setYpQty(Double.valueOf(mesRbSodelrecwx.getNewlevsoqty()));//生产数量 + yieldOrder.setCustodian(mesRbSodelrecwx.getWarctlr());//保管员 + yieldOrder.setEntrustDept(mesRbSodelrecwx.getPrtudeptcode()); + yieldOrder.setUseDeptCode(mesRbSodelrecwx.getPrtudeptcode()); + yieldOrder.setPkUsername(mesRbSodelrecwx.getNewlevname()); + yieldOrder.setPkDate(mesRbSodelrecwx.getNewlevdate()); List dsPartList=apsOrderClient.getDsCraftListByCode(mesRbSodelrecwx.getPrtno()); yieldOrder.setYieldType(12001); if(dsPartList!=null&&dsPartList.get(0).getCraftWay().contains("封接")){ @@ -359,7 +406,7 @@ public class ErpMesRbWoServiceImpl implements IErpMesRbWoService { } yieldOrderList.add(yieldOrder); }); - apsOrderClient.saveOrderList(yieldOrderList); + this.saveOrder(yieldOrderList); } /** * 同步工艺工单 @@ -375,6 +422,21 @@ public class ErpMesRbWoServiceImpl implements IErpMesRbWoService { YieldOrder yieldOrder=new YieldOrder(); yieldOrder.setYpMemo("正式工艺转工"); yieldOrder.setManualIncrease(false); + yieldOrder.setYoCode(mesRbSodelreczg.getSono());//生产单号 + yieldOrder.setBatchNo(mesRbSodelreczg.getSplcode());//批次号 + yieldOrder.setPartCode(mesRbSodelreczg.getPrtno());//零件号 + yieldOrder.setProductIdent(mesRbSodelreczg.getPrtlotno()); + yieldOrder.setUseDept(mesRbSodelreczg.getPrtudept()); + yieldOrder.setDemandDate(mesRbSodelreczg.getSoreqdat());//需求日期 + yieldOrder.setPlanUser(mesRbSodelreczg.getSoplanner()); + yieldOrder.setReleaseDate(mesRbSodelreczg.getSoreqdat()); + yieldOrder.setCardNo(mesRbSodelreczg.getRouclp()); + yieldOrder.setYpQty(Double.valueOf(mesRbSodelreczg.getNewlevsoqty()));//生产数量 + yieldOrder.setCustodian(mesRbSodelreczg.getWarctlr());//保管员 + yieldOrder.setEntrustDept(mesRbSodelreczg.getPrtudeptcode()); + yieldOrder.setUseDeptCode(mesRbSodelreczg.getPrtudeptcode()); + yieldOrder.setPkUsername(mesRbSodelreczg.getNewlevname()); + yieldOrder.setPkDate(mesRbSodelreczg.getNewlevdate()); List dsPartList=apsOrderClient.getDsCraftListByCode(mesRbSodelreczg.getPrtno()); yieldOrder.setYieldType(12001); if(dsPartList!=null&&dsPartList.get(0).getCraftWay().contains("封接")){ @@ -391,6 +453,63 @@ public class ErpMesRbWoServiceImpl implements IErpMesRbWoService { } yieldOrderList.add(yieldOrder); }); + this.saveOrder(yieldOrderList); + } + /** + * 同步配套工单 + */ + @Override + public void synSupportingFacilities() { + String selectTime=apsOrderClient.getSelectTime("SYCN_TRANSFERPK_TIME"); + String dateMax=erpMesRbPkService.getNewlevdateMax(selectTime); + apsOrderClient.upByDateMax(dateMax,"SYCN_TRANSFERPK_TIME"); + List mesRbPkList=erpMesRbPkService.getMesRbPkList(dateMax); + List yieldOrderList=new ArrayList<>(); + mesRbPkList.forEach(mesRbPk -> { + YieldOrder yieldOrder=new YieldOrder(); + yieldOrder.setYoCode(mesRbPk.getWono());//生产单号 + yieldOrder.setBatchNo(mesRbPk.getSplcode());//批次号 + yieldOrder.setPartCode(mesRbPk.getPrtno());//零件号 + yieldOrder.setProductIdent(mesRbPk.getPrtlotno()); + yieldOrder.setUseDept(mesRbPk.getPrtudept()); + yieldOrder.setDemandDate(mesRbPk.getSoreqdat());//需求日期 + yieldOrder.setPlanUser(mesRbPk.getSoplanner()); + yieldOrder.setReleaseDate(mesRbPk.getSoreqdat()); + yieldOrder.setCardNo(mesRbPk.getRouclp()); + yieldOrder.setYpQty(Double.valueOf(mesRbPk.getNewlevsoqty()));//生产数量 + yieldOrder.setCustodian(mesRbPk.getWarctlr());//保管员 + yieldOrder.setEntrustDept(mesRbPk.getPlndept()); + if("3400".equals(mesRbPk.getPrtudeptcode())){ + yieldOrder.setMemo("铆卡钉"); + } + yieldOrder.setUseDeptCode(mesRbPk.getPrtudeptcode()); + yieldOrder.setPkUsername(mesRbPk.getNewlevname()); + yieldOrder.setPkDate(mesRbPk.getNewlevdate()); + yieldOrder.setYieldType(12001); + yieldOrder.setRoamNoNext( ""); + if(StringUtils.isNotEmpty(mesRbPk.getFirseq())){ + String roamNoNext=mesRbPartoplinkService.getRoamNoNext(mesRbPk.getPrtno(),mesRbPk.getFirseq()); + yieldOrder.setRoamNoNext(roamNoNext);//下级b号 + } + yieldOrderList.add(yieldOrder); + }); + this.saveOrder(yieldOrderList); + } + private void saveOrder(List yieldOrderList){ + yieldOrderList.forEach(order -> { + Long vCount=0L;//apsOrderClient.getCount(transfer.getYoCode(),transfer.getCardNo(),transfer.getBatchNo(),transfer.getWorkRoam()); + if(vCount>0) { + /* + v_excnote := '零件号【' || v_part_code || '】,批号【' || v_batch_no || '】工单已转交,请勿重复转交!!'; + v_excflag := '0'; + RETURN; + */ + } + List dsPartList=apsOrderClient.getDsCraftListByCode(order.getPartCode()); + if(dsPartList!=null&&dsPartList.size()>0){ + + } + }); apsOrderClient.saveOrderList(yieldOrderList); } }