diff --git a/blade-service-api/blade-erpdata-api/src/main/java/org/springblade/erpdata/feign/IErpDataProduceClient.java b/blade-service-api/blade-erpdata-api/src/main/java/org/springblade/erpdata/feign/IErpDataProduceClient.java index f19d21ea..a879a1ea 100644 --- a/blade-service-api/blade-erpdata-api/src/main/java/org/springblade/erpdata/feign/IErpDataProduceClient.java +++ b/blade-service-api/blade-erpdata-api/src/main/java/org/springblade/erpdata/feign/IErpDataProduceClient.java @@ -1,16 +1,15 @@ package org.springblade.erpdata.feign; -import com.baomidou.mybatisplus.core.metadata.IPage; import org.springblade.common.constant.LauncherConstant; import org.springblade.core.tool.api.R; -import org.springblade.erpdata.pojo.dto.ReworkProcessDTO; import org.springblade.erpdata.pojo.vo.QueryBatchVO; import org.springblade.erpdata.pojo.vo.ReworkProcessVO; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestParam; +import java.util.List; import java.util.Map; /** @@ -19,58 +18,60 @@ import java.util.Map; * @author Chill */ @FeignClient( - value = LauncherConstant.APPLICATION_ERP_DATA_NAME + value = LauncherConstant.APPLICATION_ERP_DATA_NAME ) public interface IErpDataProduceClient { - String API_PREFIX = "/feign/erpdata/produce"; - String QUERY_BATCH = API_PREFIX + "/queryBatch"; - String REWORK_ORDER = API_PREFIX + "/loadReworkOrder"; - String PRODUCT_APP_AREA = API_PREFIX + "/productAppArea"; - String VERSION = API_PREFIX + "/version"; - String CUSTODIAN = API_PREFIX + "/getCustodian"; - String CHK_SJJD = API_PREFIX + "/chkSjjd"; - String CHK_SHJH = API_PREFIX + "/chkShjh"; + String API_PREFIX = "/feign/erpdata/produce"; + String QUERY_BATCH = API_PREFIX + "/queryBatch"; + String REWORK_ORDER = API_PREFIX + "/loadReworkOrder"; + String PRODUCT_APP_AREA = API_PREFIX + "/productAppArea"; + String VERSION = API_PREFIX + "/version"; + String CUSTODIAN = API_PREFIX + "/getCustodian"; + String CHK_SJJD = API_PREFIX + "/chkSjjd"; + String CHK_SHJH = API_PREFIX + "/chkShjh"; - /** - * 缺件申报-通过零件号获取批次号 + /** + * 缺件申报-通过零件号获取批次号 */ - @GetMapping(QUERY_BATCH) - R queryBatch(@RequestParam("partCode") String partCode); + @GetMapping(QUERY_BATCH) + R queryBatch(@RequestParam("partCode") String partCode); - /** - * 返工订单 - */ - @GetMapping(REWORK_ORDER) - R> loadReworkOrder(ReworkProcessDTO query); + /** + * 返工订单 + */ + @GetMapping(REWORK_ORDER) + R> loadReworkOrder(@RequestParam(value = "reworkCode", required = false) String reworkCode, + @RequestParam(value = "partCode", required = false) String partCode, + @RequestParam(value = "batchNo", required = false) String batchNo); - /** - * 获取产品区域 - */ - @GetMapping(PRODUCT_APP_AREA) - R> getProductAppareaByPartCode(@RequestParam("partCode") String partCode); + /** + * 获取产品区域 + */ + @GetMapping(PRODUCT_APP_AREA) + R> getProductAppareaByPartCode(@RequestParam("partCode") String partCode); - /** - * 获取产品版本 - */ - @GetMapping(VERSION) - R getVersionByPartCode(@RequestParam("partCode") String partCode); + /** + * 获取产品版本 + */ + @GetMapping(VERSION) + R getVersionByPartCode(@RequestParam("partCode") String partCode); - /** - * 获取保管员 - */ - @GetMapping(CUSTODIAN) - R getCustodianByRecDept(@RequestParam("partCode") String partCode, @RequestParam("recDept") String recDept); + /** + * 获取保管员 + */ + @GetMapping(CUSTODIAN) + R getCustodianByRecDept(@RequestParam("partCode") String partCode, @RequestParam("recDept") String recDept); - /** - * 验证是订单是否通过首件鉴定 - */ - @GetMapping(CHK_SJJD) - R chkSjjd(@RequestParam("ypCode")String ypCode, @RequestParam("batchNo")String batchNo); + /** + * 验证是订单是否通过首件鉴定 + */ + @GetMapping(CHK_SJJD) + R chkSjjd(@RequestParam("ypCode") String ypCode, @RequestParam("batchNo") String batchNo); - /** - * 验证是订单是否通过首件审核 - */ - @GetMapping(CHK_SHJH) - R chkShjh(@RequestParam("woCode")String woCode, @RequestParam("ypCode")String ypCode, @RequestParam("partCode")String partCode, @RequestParam("productIdent")String productIdent, @RequestParam("makeQty")Double makeQty, @RequestParam("memo")String memo); + /** + * 验证是订单是否通过首件审核 + */ + @GetMapping(CHK_SHJH) + R chkShjh(@RequestParam("woCode") String woCode, @RequestParam("ypCode") String ypCode, @RequestParam("partCode") String partCode, @RequestParam("productIdent") String productIdent, @RequestParam("makeQty") Double makeQty, @RequestParam("memo") String memo); } diff --git a/blade-service-api/blade-erpdata-api/src/main/java/org/springblade/erpdata/feign/IErpDataProduceClientFallback.java b/blade-service-api/blade-erpdata-api/src/main/java/org/springblade/erpdata/feign/IErpDataProduceClientFallback.java index 9be84656..8a31e2f5 100644 --- a/blade-service-api/blade-erpdata-api/src/main/java/org/springblade/erpdata/feign/IErpDataProduceClientFallback.java +++ b/blade-service-api/blade-erpdata-api/src/main/java/org/springblade/erpdata/feign/IErpDataProduceClientFallback.java @@ -1,12 +1,11 @@ package org.springblade.erpdata.feign; -import com.baomidou.mybatisplus.core.metadata.IPage; import org.springblade.core.tool.api.R; -import org.springblade.erpdata.pojo.dto.ReworkProcessDTO; import org.springblade.erpdata.pojo.vo.QueryBatchVO; import org.springblade.erpdata.pojo.vo.ReworkProcessVO; import org.springframework.stereotype.Component; +import java.util.List; import java.util.Map; /** @@ -18,38 +17,38 @@ import java.util.Map; @Component public class IErpDataProduceClientFallback implements IErpDataProduceClient { - @Override - public R queryBatch(String partCode) { - return R.fail("获取数据失败"); - } - - @Override - public R> loadReworkOrder(ReworkProcessDTO query) { - return R.fail("获取数据失败"); - } - - @Override - public R> getProductAppareaByPartCode(String partCode) { - return R.fail("获取数据失败"); - } - - @Override - public R getVersionByPartCode(String partCode) { - return R.fail("获取数据失败"); - } - - @Override - public R getCustodianByRecDept(String partCode, String recDept) { - return R.fail("获取数据失败"); - } - - @Override - public R chkSjjd(String ypCode, String batchNo) { - return R.fail("获取数据失败"); - } - - @Override - public R chkShjh(String woCode, String ypCode, String partCode, String productIdent, Double makeQty, String memo) { - return R.fail("获取数据失败"); - } + @Override + public R queryBatch(String partCode) { + return R.fail("获取数据失败"); + } + + @Override + public R> loadReworkOrder(String reworkCode, String partCode, String batchNo) { + return R.fail("获取数据失败"); + } + + @Override + public R> getProductAppareaByPartCode(String partCode) { + return R.fail("获取数据失败"); + } + + @Override + public R getVersionByPartCode(String partCode) { + return R.fail("获取数据失败"); + } + + @Override + public R getCustodianByRecDept(String partCode, String recDept) { + return R.fail("获取数据失败"); + } + + @Override + public R chkSjjd(String ypCode, String batchNo) { + return R.fail("获取数据失败"); + } + + @Override + public R chkShjh(String woCode, String ypCode, String partCode, String productIdent, Double makeQty, String memo) { + return R.fail("获取数据失败"); + } } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/controller/ReworkProcessController.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/controller/ReworkProcessController.java index d59ac32a..c0d65b55 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/controller/ReworkProcessController.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/controller/ReworkProcessController.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; +import jakarta.annotation.Resource; import jakarta.validation.Valid; import lombok.RequiredArgsConstructor; import org.springblade.core.boot.ctrl.BladeController; @@ -13,11 +14,11 @@ import org.springblade.core.secure.utils.AuthUtil; import org.springblade.core.tool.api.R; import org.springblade.desk.produce.pojo.dto.MesRbRedoRoutDTO; import org.springblade.desk.produce.service.IPdaSaveService; +import org.springblade.erpdata.feign.IErpDataProduceClient; import org.springblade.erpdata.pojo.dto.ReworkProcessDTO; import org.springblade.erpdata.pojo.vo.ReworkProcessVO; import org.springframework.web.bind.annotation.*; -import java.util.ArrayList; import java.util.List; /** @@ -33,41 +34,49 @@ public class ReworkProcessController extends BladeController { private final IPdaSaveService pdaSaveService; + @Resource + private IErpDataProduceClient erpDataProduceClient; + @GetMapping("/loadReworkOrder") @ApiOperationSupport(order = 1) @Operation(summary = "erp查询返工订单", description = "传入ReworkProcessDTO") public R> page(ReworkProcessDTO prReworkProcess, Query query) { - prReworkProcess.setQuery(query); +// prReworkProcess.setQuery(query); +// IPage page = Condition.getPage(query); +// List records = new ArrayList<>(); +// ReworkProcessVO reworkProcessVO = new ReworkProcessVO(); +// reworkProcessVO.setRedono("返修单号"); +// reworkProcessVO.setSeqno(1); +// reworkProcessVO.setSeqdept("处理单位"); +// reworkProcessVO.setPrtno("物料号"); +// reworkProcessVO.setExcstatus(1); +// reworkProcessVO.setAmount(1.0); +// reworkProcessVO.setReqdate("2026-02-04"); +// reworkProcessVO.setReqqty("需求数量"); +// reworkProcessVO.setRecdate("2026-02-04"); +// reworkProcessVO.setRecman("接收人"); +// reworkProcessVO.setRecqty("接收数量"); +// reworkProcessVO.setEnddat("2026-02-04"); +// reworkProcessVO.setEndman("完成人"); +// reworkProcessVO.setEndqty("完成数量"); +// reworkProcessVO.setSplcode("批次号"); +// reworkProcessVO.setRemark("备注"); +// reworkProcessVO.setHrecdate("2026-02-04"); +// reworkProcessVO.setBfqty(1); +// reworkProcessVO.setUsedept("发生单位"); +// reworkProcessVO.setDetail("处理意见"); +// reworkProcessVO.setPrtlotno("生产标识"); +// reworkProcessVO.setDeptcode("工艺路线"); +// reworkProcessVO.setSono("开单车间订单号"); +// records.add(reworkProcessVO); +// page.setRecords(records); +// return R.data(page); IPage page = Condition.getPage(query); - List records = new ArrayList<>(); - ReworkProcessVO reworkProcessVO = new ReworkProcessVO(); - reworkProcessVO.setRedono("返修单号"); - reworkProcessVO.setSeqno(1); - reworkProcessVO.setSeqdept("处理单位"); - reworkProcessVO.setPrtno("物料号"); - reworkProcessVO.setExcstatus(1); - reworkProcessVO.setAmount(1.0); - reworkProcessVO.setReqdate("2026-02-04"); - reworkProcessVO.setReqqty("需求数量"); - reworkProcessVO.setRecdate("2026-02-04"); - reworkProcessVO.setRecman("接收人"); - reworkProcessVO.setRecqty("接收数量"); - reworkProcessVO.setEnddat("2026-02-04"); - reworkProcessVO.setEndman("完成人"); - reworkProcessVO.setEndqty("完成数量"); - reworkProcessVO.setSplcode("批次号"); - reworkProcessVO.setRemark("备注"); - reworkProcessVO.setHrecdate("2026-02-04"); - reworkProcessVO.setBfqty(1); - reworkProcessVO.setUsedept("发生单位"); - reworkProcessVO.setDetail("处理意见"); - reworkProcessVO.setPrtlotno("生产标识"); - reworkProcessVO.setDeptcode("工艺路线"); - reworkProcessVO.setSono("开单车间订单号"); - records.add(reworkProcessVO); - page.setRecords(records); - return R.data(page); -// return erpDataProduceClient.loadReworkOrder(prReworkProcess); + String reworkCode = prReworkProcess.getReworkCode(); + String partCode = prReworkProcess.getPartCode(); + String batchNo = prReworkProcess.getBatchNo(); + R> listR = erpDataProduceClient.loadReworkOrder(reworkCode, partCode, batchNo); + return R.data(page.setRecords(listR.getData())); } // @GetMapping("/treeProcess") diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/service/impl/WorkOrderServiceImpl.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/service/impl/WorkOrderServiceImpl.java index 24e7a61c..1f3c2456 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/service/impl/WorkOrderServiceImpl.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/service/impl/WorkOrderServiceImpl.java @@ -23,13 +23,11 @@ import org.springblade.desk.basic.pojo.entity.BsAssignEntity; import org.springblade.desk.basic.pojo.entity.OemCraftAbilityEntity; import org.springblade.desk.basic.pojo.entity.WorkCenter; import org.springblade.desk.basic.service.*; -import org.springblade.desk.dashboard.pojo.entity.BsProcessSetEntity; -import org.springblade.desk.dashboard.pojo.entity.BsTeamSetEntity; -import org.springblade.desk.dashboard.pojo.entity.DsPartEntity; -import org.springblade.desk.dashboard.pojo.entity.DsProcessProjectEntity; +import org.springblade.desk.dashboard.pojo.entity.*; import org.springblade.desk.dashboard.service.IBsProcessSetService; import org.springblade.desk.dashboard.service.IBsTeamSetService; import org.springblade.desk.dashboard.service.IDsPartService; +import org.springblade.desk.dashboard.service.IDsProcessMeasuringToolService; import org.springblade.desk.device.pojo.entity.EquipmentEntity; import org.springblade.desk.device.pojo.entity.FeiBaSetEntity; import org.springblade.desk.device.pojo.entity.RackSetEntity; @@ -144,6 +142,8 @@ public class WorkOrderServiceImpl extends BaseServiceImpl selectWorkOrderPage(IPage page, WorkOrderDTO workOrder) { return page.setRecords(baseMapper.selectWorkOrderPage(page, workOrder)); @@ -1605,6 +1605,8 @@ public class WorkOrderServiceImpl extends BaseServiceImpl workPlanItems = new ArrayList<>(); WorkPlanItem workPlanItem; + List workPlanItemDetails = new ArrayList<>(); + WorkPlanItemDetail workPlanItemDetail; for (DsProcessProjectEntity project : projects) { workPlanItem = new WorkPlanItem(); workPlanItem.setWpId(workPlan.getId()); @@ -1621,6 +1623,24 @@ public class WorkOrderServiceImpl extends BaseServiceImpl toolEntities = processMeasuringToolService.selectDsProcessMeasuringToolByProcessId(projects.get(0).getProcessId()); + if (CollectionUtils.isNotEmpty(toolEntities)) { + for (DsProcessMeasuringToolEntity toolEntity : toolEntities) { + workPlanItemDetail = new WorkPlanItemDetail(); + workPlanItemDetail.setWorkPlanItemId(planItem.getId()); + workPlanItemDetail.setTestType(toolEntity.getTestType()); + workPlanItemDetail.setRuleSize(toolEntity.getToolSize()); + workPlanItemDetail.setTools(toolEntity.getToolInfo()); + workPlanItemDetail.setMtId(StringUtils.isNotBlank(toolEntity.getMtId()) ? Long.valueOf(toolEntity.getMtId()) : null); + workPlanItemDetails.add(workPlanItemDetail); + } + workPlanItemDetailService.saveBatch(workPlanItemDetails); + break; + } + } + } // 修改车间订单为检验中 workOrder.setRunStatus(WorkOrder.RUN_STATUS_CHECK); } else { diff --git a/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/feign/ErpDataProduceClient.java b/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/feign/ErpDataProduceClient.java index c49dc3a4..7ca5c7fa 100644 --- a/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/feign/ErpDataProduceClient.java +++ b/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/feign/ErpDataProduceClient.java @@ -1,18 +1,16 @@ package org.springblade.erpdata.feign; -import com.baomidou.mybatisplus.core.metadata.IPage; import io.swagger.v3.oas.annotations.Hidden; import lombok.AllArgsConstructor; -import org.springblade.core.mp.support.Condition; import org.springblade.core.tenant.annotation.NonDS; import org.springblade.core.tool.api.R; -import org.springblade.erpdata.pojo.dto.ReworkProcessDTO; import org.springblade.erpdata.pojo.vo.QueryBatchVO; import org.springblade.erpdata.pojo.vo.ReworkProcessVO; import org.springblade.erpdata.service.IErpDataProduceService; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; +import java.util.List; import java.util.Map; @@ -37,8 +35,8 @@ public class ErpDataProduceClient implements IErpDataProduceClient { @Override @GetMapping(REWORK_ORDER) - public R> loadReworkOrder(ReworkProcessDTO query) { - return R.data(erpDataProduceService.loadReworkOrder(Condition.getPage(query.getQuery()), query)); + public R> loadReworkOrder(String reworkCode, String partCode, String batchNo) { + return R.data(erpDataProduceService.loadReworkOrder(reworkCode, partCode, batchNo)); } @Override diff --git a/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/mapper/ErpDataProduceMapper.java b/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/mapper/ErpDataProduceMapper.java index f9783317..1ad9e5c6 100644 --- a/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/mapper/ErpDataProduceMapper.java +++ b/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/mapper/ErpDataProduceMapper.java @@ -18,7 +18,7 @@ public interface ErpDataProduceMapper extends Mapper { QueryBatchVO queryBatch(String partCode); - List loadReworkOrder(IPage page, ReworkProcessDTO query); + List loadReworkOrder(String reworkCode, String partCode, String batchNo); Map getProductAppareaByPartCode(String partCode); diff --git a/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/mapper/ErpDataProduceMapper.xml b/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/mapper/ErpDataProduceMapper.xml index 39aed5ee..baddd120 100644 --- a/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/mapper/ErpDataProduceMapper.xml +++ b/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/mapper/ErpDataProduceMapper.xml @@ -50,13 +50,13 @@ dba_mgr.v_mes_rb_redo b a.redono = b.redono AND a.splcode = b.splcode AND a.prtno = b.prtno AND a.amount = b.amount - + AND a.redono LIKE concat(concat('%', #{query.reworkCode}),'%') - + AND a.prtno LIKE concat(concat('%', #{query.partCode}),'%') - + AND a.splcode LIKE concat(concat('%', #{query.batchNo}),'%') diff --git a/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/service/IErpDataProduceService.java b/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/service/IErpDataProduceService.java index f0e5fbf6..47107ed7 100644 --- a/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/service/IErpDataProduceService.java +++ b/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/service/IErpDataProduceService.java @@ -5,6 +5,7 @@ import org.springblade.erpdata.pojo.dto.ReworkProcessDTO; import org.springblade.erpdata.pojo.vo.QueryBatchVO; import org.springblade.erpdata.pojo.vo.ReworkProcessVO; +import java.util.List; import java.util.Map; /** @@ -17,7 +18,7 @@ public interface IErpDataProduceService { QueryBatchVO queryBatch(String partCode); - IPage loadReworkOrder(IPage page, ReworkProcessDTO query); + List loadReworkOrder(String reworkCode, String partCode, String batchNo); Map getProductAppareaByPartCode(String partCode); diff --git a/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/service/impl/ErpDataProduceServiceImpl.java b/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/service/impl/ErpDataProduceServiceImpl.java index 9483fcfc..d8df8036 100644 --- a/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/service/impl/ErpDataProduceServiceImpl.java +++ b/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/service/impl/ErpDataProduceServiceImpl.java @@ -16,6 +16,7 @@ import org.springframework.stereotype.Service; import java.sql.Types; import java.util.HashMap; +import java.util.List; import java.util.Map; /** @@ -37,8 +38,8 @@ public class ErpDataProduceServiceImpl implements IErpDataProduceService { } @Override - public IPage loadReworkOrder(IPage page, ReworkProcessDTO query) { - return page.setRecords(erpDataProduceMapper.loadReworkOrder(page, query)); + public List loadReworkOrder(String reworkCode, String partCode, String batchNo) { + return erpDataProduceMapper.loadReworkOrder(reworkCode, partCode, batchNo); } @Override