生产管理修改

liweidong
李涛 2 weeks ago
parent f28d061293
commit 8360232ca5
  1. 91
      blade-service-api/blade-erpdata-api/src/main/java/org/springblade/erpdata/feign/IErpDataProduceClient.java
  2. 71
      blade-service-api/blade-erpdata-api/src/main/java/org/springblade/erpdata/feign/IErpDataProduceClientFallback.java
  3. 71
      blade-service/blade-desk/src/main/java/org/springblade/desk/produce/controller/ReworkProcessController.java
  4. 28
      blade-service/blade-desk/src/main/java/org/springblade/desk/produce/service/impl/WorkOrderServiceImpl.java
  5. 8
      blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/feign/ErpDataProduceClient.java
  6. 2
      blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/mapper/ErpDataProduceMapper.java
  7. 6
      blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/mapper/ErpDataProduceMapper.xml
  8. 3
      blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/service/IErpDataProduceService.java
  9. 5
      blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/service/impl/ErpDataProduceServiceImpl.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<QueryBatchVO> queryBatch(@RequestParam("partCode") String partCode);
@GetMapping(QUERY_BATCH)
R<QueryBatchVO> queryBatch(@RequestParam("partCode") String partCode);
/**
* 返工订单
*/
@GetMapping(REWORK_ORDER)
R<IPage<ReworkProcessVO>> loadReworkOrder(ReworkProcessDTO query);
/**
* 返工订单
*/
@GetMapping(REWORK_ORDER)
R<List<ReworkProcessVO>> 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<Map<String, String>> getProductAppareaByPartCode(@RequestParam("partCode") String partCode);
/**
* 获取产品区域
*/
@GetMapping(PRODUCT_APP_AREA)
R<Map<String, String>> getProductAppareaByPartCode(@RequestParam("partCode") String partCode);
/**
* 获取产品版本
*/
@GetMapping(VERSION)
R<String> getVersionByPartCode(@RequestParam("partCode") String partCode);
/**
* 获取产品版本
*/
@GetMapping(VERSION)
R<String> getVersionByPartCode(@RequestParam("partCode") String partCode);
/**
* 获取保管员
*/
@GetMapping(CUSTODIAN)
R<String> getCustodianByRecDept(@RequestParam("partCode") String partCode, @RequestParam("recDept") String recDept);
/**
* 获取保管员
*/
@GetMapping(CUSTODIAN)
R<String> getCustodianByRecDept(@RequestParam("partCode") String partCode, @RequestParam("recDept") String recDept);
/**
* 验证是订单是否通过首件鉴定
*/
@GetMapping(CHK_SJJD)
R<String> chkSjjd(@RequestParam("ypCode")String ypCode, @RequestParam("batchNo")String batchNo);
/**
* 验证是订单是否通过首件鉴定
*/
@GetMapping(CHK_SJJD)
R<String> chkSjjd(@RequestParam("ypCode") String ypCode, @RequestParam("batchNo") String batchNo);
/**
* 验证是订单是否通过首件审核
*/
@GetMapping(CHK_SHJH)
R<String> 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<String> 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);
}

@ -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<QueryBatchVO> queryBatch(String partCode) {
return R.fail("获取数据失败");
}
@Override
public R<IPage<ReworkProcessVO>> loadReworkOrder(ReworkProcessDTO query) {
return R.fail("获取数据失败");
}
@Override
public R<Map<String, String>> getProductAppareaByPartCode(String partCode) {
return R.fail("获取数据失败");
}
@Override
public R<String> getVersionByPartCode(String partCode) {
return R.fail("获取数据失败");
}
@Override
public R<String> getCustodianByRecDept(String partCode, String recDept) {
return R.fail("获取数据失败");
}
@Override
public R<String> chkSjjd(String ypCode, String batchNo) {
return R.fail("获取数据失败");
}
@Override
public R<String> chkShjh(String woCode, String ypCode, String partCode, String productIdent, Double makeQty, String memo) {
return R.fail("获取数据失败");
}
@Override
public R<QueryBatchVO> queryBatch(String partCode) {
return R.fail("获取数据失败");
}
@Override
public R<List<ReworkProcessVO>> loadReworkOrder(String reworkCode, String partCode, String batchNo) {
return R.fail("获取数据失败");
}
@Override
public R<Map<String, String>> getProductAppareaByPartCode(String partCode) {
return R.fail("获取数据失败");
}
@Override
public R<String> getVersionByPartCode(String partCode) {
return R.fail("获取数据失败");
}
@Override
public R<String> getCustodianByRecDept(String partCode, String recDept) {
return R.fail("获取数据失败");
}
@Override
public R<String> chkSjjd(String ypCode, String batchNo) {
return R.fail("获取数据失败");
}
@Override
public R<String> chkShjh(String woCode, String ypCode, String partCode, String productIdent, Double makeQty, String memo) {
return R.fail("获取数据失败");
}
}

@ -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<IPage<ReworkProcessVO>> page(ReworkProcessDTO prReworkProcess, Query query) {
prReworkProcess.setQuery(query);
// prReworkProcess.setQuery(query);
// IPage<ReworkProcessVO> page = Condition.getPage(query);
// List<ReworkProcessVO> 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<ReworkProcessVO> page = Condition.getPage(query);
List<ReworkProcessVO> 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<List<ReworkProcessVO>> listR = erpDataProduceClient.loadReworkOrder(reworkCode, partCode, batchNo);
return R.data(page.setRecords(listR.getData()));
}
// @GetMapping("/treeProcess")

@ -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<WorkOrderMapper, WorkO
private final IBsAssignService bsAssignService;
private final IDsProcessMeasuringToolService processMeasuringToolService;
@Override
public IPage<WorkOrderVO> selectWorkOrderPage(IPage<WorkOrderVO> page, WorkOrderDTO workOrder) {
return page.setRecords(baseMapper.selectWorkOrderPage(page, workOrder));
@ -1605,6 +1605,8 @@ public class WorkOrderServiceImpl extends BaseServiceImpl<WorkOrderMapper, WorkO
// 保存检验项目
List<WorkPlanItem> workPlanItems = new ArrayList<>();
WorkPlanItem workPlanItem;
List<WorkPlanItemDetail> 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<WorkOrderMapper, WorkO
workPlanItems.add(workPlanItem);
}
workPlanItemService.saveBatch(workPlanItems);
for (WorkPlanItem planItem : workPlanItems) {
if ("尺寸检测".equals(planItem.getItemName())) {
List<DsProcessMeasuringToolEntity> 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 {

@ -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<IPage<ReworkProcessVO>> loadReworkOrder(ReworkProcessDTO query) {
return R.data(erpDataProduceService.loadReworkOrder(Condition.getPage(query.getQuery()), query));
public R<List<ReworkProcessVO>> loadReworkOrder(String reworkCode, String partCode, String batchNo) {
return R.data(erpDataProduceService.loadReworkOrder(reworkCode, partCode, batchNo));
}
@Override

@ -18,7 +18,7 @@ public interface ErpDataProduceMapper extends Mapper {
QueryBatchVO queryBatch(String partCode);
List<ReworkProcessVO> loadReworkOrder(IPage<ReworkProcessVO> page, ReworkProcessDTO query);
List<ReworkProcessVO> loadReworkOrder(String reworkCode, String partCode, String batchNo);
Map<String, String> getProductAppareaByPartCode(String partCode);

@ -50,13 +50,13 @@
dba_mgr.v_mes_rb_redo b
<where>
a.redono = b.redono AND a.splcode = b.splcode AND a.prtno = b.prtno AND a.amount = b.amount
<if test="query.reworkCode != null and query.reworkCode != ''">
<if test="reworkCode != null and reworkCode != ''">
AND a.redono LIKE concat(concat('%', #{query.reworkCode}),'%')
</if>
<if test="query.partCode != null and query.partCode != ''">
<if test="partCode != null and partCode != ''">
AND a.prtno LIKE concat(concat('%', #{query.partCode}),'%')
</if>
<if test="query.batchNo != null and query.batchNo != ''">
<if test="batchNo != null and batchNo != ''">
AND a.splcode LIKE concat(concat('%', #{query.batchNo}),'%')
</if>
</where>

@ -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<ReworkProcessVO> loadReworkOrder(IPage<ReworkProcessVO> page, ReworkProcessDTO query);
List<ReworkProcessVO> loadReworkOrder(String reworkCode, String partCode, String batchNo);
Map<String, String> getProductAppareaByPartCode(String partCode);

@ -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<ReworkProcessVO> loadReworkOrder(IPage<ReworkProcessVO> page, ReworkProcessDTO query) {
return page.setRecords(erpDataProduceMapper.loadReworkOrder(page, query));
public List<ReworkProcessVO> loadReworkOrder(String reworkCode, String partCode, String batchNo) {
return erpDataProduceMapper.loadReworkOrder(reworkCode, partCode, batchNo);
}
@Override

Loading…
Cancel
Save