diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/produce/pojo/entity/MesDataMaintainLog.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/produce/pojo/entity/MesDataMaintainLog.java new file mode 100644 index 000000000..4ad592f6f --- /dev/null +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/produce/pojo/entity/MesDataMaintainLog.java @@ -0,0 +1,84 @@ +package org.springblade.desk.produce.pojo.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.springblade.core.mp.base.BaseEntity; + +import java.io.Serial; +import java.util.Date; + +/** + * 数据维护记录 实体类 + * @author litao + */ +@Data +@TableName("MES_DATA_MAINTAIN_LOG") +@Schema(description = "MesDataMaintainLog对象") +@EqualsAndHashCode(callSuper = true) +public class MesDataMaintainLog extends BaseEntity { + + @Schema(description = "生产订单id") + private Long yoId; + + @Schema(description = "修改前数量") + private Double qtyFront; + + @Schema(description = "修改后数量") + private Double qtyAfter; + + @Schema(description = "修改前面积") + private Double areaFront; + + @Schema(description = "修改后面积") + private Double areaAfter; + + @Schema(description = "修改前镀种") + private String plateFront; + + @Schema(description = "修改后镀种") + private String plateAfter; + + @Schema(description = "修改前镀层厚度") + private Double plateThicknessFront; + + @Schema(description = "修改后镀层厚度") + private Double plateThicknessAfter; + + @Schema(description = "修改前涂色标") + private String tsbFront; + + @Schema(description = "修改后涂色标") + private String tsbAfter; + + @Schema(description = "修改前涂色带") + private String tsdFront; + + @Schema(description = "修改后涂色带") + private String tsdAfter; + + @Schema(description = "修改前涂箭头") + private String tjtFront; + + @Schema(description = "修改后涂箭头") + private String tjtAfter; + + @Schema(description = "流程卡号") + private String cardNo; + + @Schema(description = "零件号") + private String partCode; + + @Schema(description = "批次号") + private String batchNo; + + @Schema(description = "备注") + private String memo; + + @Schema(description = "维护人") + @TableField(exist = false) + private String name; + +} 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 2ff4be936..989355dd9 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 @@ -244,4 +244,7 @@ public interface IErpDataProduceClient { @GetMapping(SELECT_MAX_WOCLSTOTQTY_BY_WONO) R selectMaxWoclstotqtyByWono(@RequestParam(value = "code") String code); + + R erpUpdateMakeQty(@RequestParam(value = "woCode") String woCode, @RequestParam(value = "memo", required = false) String memo, + @RequestParam(value = "qtyAfter") Double qtyAfter, @RequestParam(value = "userName", required = false) String userName); } 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 6adf77bda..1e93d8dfb 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 @@ -143,4 +143,9 @@ public class IErpDataProduceClientFallback implements IErpDataProduceClient { return R.fail("获取数据失败"); } + @Override + public R erpUpdateMakeQty(String woCode, String memo, Double qtyAfter, String userName) { + return R.fail("获取数据失败"); + } + } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/controller/WorkProcessController.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/controller/WorkProcessController.java index 57d24b8d7..2d8883483 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/controller/WorkProcessController.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/controller/WorkProcessController.java @@ -13,10 +13,14 @@ import org.springblade.core.tool.api.R; import org.springblade.core.tool.utils.Func; import org.springblade.desk.produce.pojo.dto.MesMacToolUseDTO; import org.springblade.desk.produce.pojo.dto.SaveMacToolUseDto; +import org.springblade.desk.produce.pojo.entity.MesDataMaintainLog; import org.springblade.desk.produce.pojo.vo.BindModelVO; import org.springblade.desk.produce.pojo.vo.MesMacToolUseVO; import org.springblade.desk.produce.service.IMacToolUseService; +import org.springblade.desk.produce.service.IMesDataMaintainLogService; import org.springblade.desk.produce.service.IPdaLoadService; +import org.springblade.system.cache.UserCache; +import org.springblade.system.pojo.entity.User; import org.springframework.web.bind.annotation.*; import java.util.List; @@ -35,6 +39,9 @@ public class WorkProcessController extends BladeController { private final IMacToolUseService macToolUseService; private final IPdaLoadService pdaLoadService; + + private final IMesDataMaintainLogService mesDataMaintainLogService; + @GetMapping("/queryData") @ApiOperationSupport(order = 1) @Operation(summary = "分页", description = "传入macToolUse") @@ -45,8 +52,8 @@ public class WorkProcessController extends BladeController { @GetMapping("/getMacToolUseByWpId") @Operation(summary = "根据wpId获取绑定记录", description = "传入wpId") - public R> getMacToolUseByWpId(Long wpId) { - return R.data(macToolUseService.getMacToolUseByWpId(wpId)); + public R> getMacToolUseByWpId(String cardNo) { + return R.data(macToolUseService.getMacToolUseByWpId(cardNo)); } @PostMapping("/remove") @@ -84,4 +91,21 @@ public class WorkProcessController extends BladeController { public R saveMacToolUse(@RequestBody SaveMacToolUseDto saveMacToolUseDto) { return R.status(macToolUseService.saveMacToolUse(saveMacToolUseDto)); } + + @PostMapping("/saveDataMaintainLog") + @Operation(summary = "数据维护记录保存") + public R saveDataMaintainLog(@RequestBody MesDataMaintainLog mesDataMaintainLog) { + return R.status(pdaLoadService.saveDataMaintainLog(mesDataMaintainLog)); + } + + @GetMapping("/pageDataMaintainLog") + @Operation(summary = "数据维护记录分页查询") + public R> pageMesDataMaintainLog(MesDataMaintainLog mesDataMaintainLog, Query query) { + IPage page = mesDataMaintainLogService.page(Condition.getPage(query), Condition.getQueryWrapper(mesDataMaintainLog)); + for (MesDataMaintainLog record : page.getRecords()) { + User user = UserCache.getUser(record.getCreateUser()); + record.setName(user != null ? user.getName() : null); + } + return R.data(page); + } } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/mapper/MacToolUseMapper.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/mapper/MacToolUseMapper.java index d34fa261b..42c05d00c 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/mapper/MacToolUseMapper.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/mapper/MacToolUseMapper.java @@ -44,7 +44,7 @@ public interface MacToolUseMapper extends BaseMapper { */ void updatePrintType(String deviceCode, String hangNum, String mtnCode); - List getMacToolUseByWpId(Long wpId); + List getMacToolUseByWpId(String cardNo); List getBindMacToolUseByRsCode(String rsCode); diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/mapper/MacToolUseMapper.xml b/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/mapper/MacToolUseMapper.xml index 4f74427bf..63c3cbb31 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/mapper/MacToolUseMapper.xml +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/mapper/MacToolUseMapper.xml @@ -220,14 +220,13 @@ f.DEVICE_CODE AS deviceCode FROM MES_MAC_TOOL_USE a - INNER JOIN MES_WORK_PLAN b - ON a.wp_id = b.ID - INNER JOIN MES_WORK_ORDER c ON b.wo_id = c.ID + INNER JOIN MES_WORK_PLAN b ON a.wp_id = b.ID + INNER JOIN MES_WORK_ORDER c ON b.id = c.wp_id LEFT JOIN MES_RACK_SET d ON a.BS_RACK_SET = d.ID LEFT JOIN MES_FEI_BA_SET e ON a.BS_FEI_BA_SET = e.ID LEFT JOIN MES_EQUIPMENT f ON a.EQUIPMENT_CARD = f.ID LEFT JOIN blade_user g ON a.CREATE_MAN = g.ID - WHERE a.is_deleted = 0 AND a.wp_id = #{wpId} + WHERE a.is_deleted = 0 AND c.is_deleted = 0 AND c.CARD_NO = #{cardNo} order by a.BIND_TIME DESC select * diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/service/IMacToolUseService.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/service/IMacToolUseService.java index b69fe87b4..06c056988 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/service/IMacToolUseService.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/service/IMacToolUseService.java @@ -89,7 +89,7 @@ public interface IMacToolUseService extends BaseService { */ List listByNoFinished(); - List getMacToolUseByWpId(Long wpId); + List getMacToolUseByWpId(String cardNo); MesMacToolUseVO getBindMacToolUseByRsCode(String rsCode); diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/service/IMesDataMaintainLogService.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/service/IMesDataMaintainLogService.java new file mode 100644 index 000000000..93960cc25 --- /dev/null +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/service/IMesDataMaintainLogService.java @@ -0,0 +1,13 @@ +package org.springblade.desk.produce.service; + +import org.springblade.core.mp.base.BaseService; +import org.springblade.desk.produce.pojo.entity.MesDataMaintainLog; + +/** + * 数据维护记录 服务类 + * + * @author BladeX + */ +public interface IMesDataMaintainLogService extends BaseService { + +} diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/service/IPdaLoadService.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/service/IPdaLoadService.java index 35281ef45..cc6845dd6 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/service/IPdaLoadService.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/service/IPdaLoadService.java @@ -7,6 +7,7 @@ import org.springblade.desk.device.pojo.entity.EquipmentEntity; import org.springblade.desk.device.pojo.entity.FeiBaSetEntity; import org.springblade.desk.device.pojo.entity.RackSetEntity; import org.springblade.desk.order.pojo.entity.YieldOrder; +import org.springblade.desk.produce.pojo.entity.MesDataMaintainLog; import org.springblade.desk.produce.pojo.entity.WorkOrder; import org.springblade.desk.produce.pojo.entity.WorkPlan; import org.springblade.desk.produce.pojo.vo.BindModelVO; @@ -84,4 +85,6 @@ public interface IPdaLoadService extends BaseService { Object epDosingRecByCode(String code); BindModelVO getCurrentWorkPlan(String cardNo); + + boolean saveDataMaintainLog(MesDataMaintainLog mesDataMaintainLog); } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/service/impl/MacToolUseServiceImpl.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/service/impl/MacToolUseServiceImpl.java index 0e35439f5..45c177df0 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/service/impl/MacToolUseServiceImpl.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/service/impl/MacToolUseServiceImpl.java @@ -357,8 +357,8 @@ public class MacToolUseServiceImpl extends BaseServiceImpl getMacToolUseByWpId(Long wpId) { - return baseMapper.getMacToolUseByWpId(wpId); + public List getMacToolUseByWpId(String cardNo) { + return baseMapper.getMacToolUseByWpId(cardNo); } @Override diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/service/impl/MesDataMaintainLogServiceImpl.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/service/impl/MesDataMaintainLogServiceImpl.java new file mode 100644 index 000000000..c05ed6959 --- /dev/null +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/service/impl/MesDataMaintainLogServiceImpl.java @@ -0,0 +1,23 @@ +package org.springblade.desk.produce.service.impl; + +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springblade.core.log.exception.ServiceException; +import org.springblade.core.mp.base.BaseServiceImpl; +import org.springblade.desk.produce.mapper.MesDataMaintainLogMapper; +import org.springblade.desk.produce.pojo.entity.MesDataMaintainLog; +import org.springblade.desk.produce.service.IMesDataMaintainLogService; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +/** + * 数据维护记录 服务实现类 + * + * @author BladeX + */ +@Slf4j +@Service +@RequiredArgsConstructor +public class MesDataMaintainLogServiceImpl extends BaseServiceImpl implements IMesDataMaintainLogService { + +} diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/service/impl/PdaLoadServiceImpl.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/service/impl/PdaLoadServiceImpl.java index 21e1731a2..f85051eaa 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/service/impl/PdaLoadServiceImpl.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/service/impl/PdaLoadServiceImpl.java @@ -5,6 +5,7 @@ import com.alibaba.fastjson.JSONObject; import com.alibaba.nacos.common.utils.CollectionUtils; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import jakarta.annotation.Resource; import jakarta.servlet.http.HttpServletRequest; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -26,7 +27,6 @@ import org.springblade.desk.device.service.IRackSetService; import org.springblade.desk.energy.pojo.entity.BsSafePatrolInspectionEntity; import org.springblade.desk.energy.service.IBsDosingRecService; import org.springblade.desk.energy.service.IBsEpciuPatrolInspectionService; -import org.springblade.desk.energy.service.IBsSafeInspectionPointService; import org.springblade.desk.energy.service.IBsSafePatrolInspectionService; import org.springblade.desk.order.pojo.entity.YieldOrder; import org.springblade.desk.order.service.IYieldOrderService; @@ -37,9 +37,7 @@ import org.springblade.desk.produce.pojo.vo.BindModelVO; import org.springblade.desk.produce.pojo.vo.LoadSubOrderVO; import org.springblade.desk.produce.pojo.vo.PdaProRelevantVO; import org.springblade.desk.produce.service.*; -import org.springblade.desk.quality.constant.InspectionTaskConst; import org.springblade.desk.quality.pojo.entity.InspectionItem; -import org.springblade.desk.quality.pojo.entity.InspectionTask; import org.springblade.desk.quality.pojo.entity.WorkPlanItem; import org.springblade.desk.quality.pojo.entity.WorkPlanItemDetail; import org.springblade.desk.quality.pojo.vo.InspectionTaskDetailVO; @@ -49,6 +47,7 @@ import org.springblade.desk.quality.service.IInspectionItemService; import org.springblade.desk.quality.service.IInspectionTaskService; import org.springblade.desk.quality.service.IWorkPlanItemDetailService; import org.springblade.desk.quality.service.IWorkPlanItemService; +import org.springblade.erpdata.feign.IErpDataProduceClient; import org.springblade.scheduling.pojo.entity.CraftAbilityEntity; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; @@ -113,6 +112,13 @@ public class PdaLoadServiceImpl extends BaseServiceImpl erpUpdateMakeQty(String woCode, String memo, Double qtyAfter, String userName) { + return R.data(erpDataProduceService.erpUpdateMakeQty(woCode, memo, qtyAfter, userName)); + } + } 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 8dd53faf7..448664079 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 @@ -70,4 +70,6 @@ public interface IErpDataProduceService { Double selectMaxWototqtyByWono(String code); Double selectMaxWoclstotqtyByWono(String code); + + String erpUpdateMakeQty(String woCode, String memo, Double qtyAfter, String userName); } 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 510809bec..f2a411182 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 @@ -589,4 +589,40 @@ public class ErpDataProduceServiceImpl implements IErpDataProduceService { public Double selectMaxWoclstotqtyByWono(String code) { return erpDataProduceMapper.selectMaxWoclstotqtyByWono(code); } + + @Override + public String erpUpdateMakeQty(String woCode, String memo, Double qtyAfter, String userName) { + SimpleJdbcCall jdbcCall = new SimpleJdbcCall(jdbcTemplate) + // 指定存储过程名(包含 DB Link) + .withProcedureName("dba_mgr.pro_rbupwxdata") + // 建议关闭元数据访问(通过 DB Link 访问时可避免权限/性能问题) + .withoutProcedureColumnMetaDataAccess() + // 显式声明参数 + .declareParameters( + new SqlParameter("v_wono", Types.VARCHAR), + new SqlParameter("v_chgqty", Types.DOUBLE), + new SqlParameter("v_chgman", Types.VARCHAR), + new SqlParameter("v_chgdat", Types.DATE), + new SqlParameter("v_chgrsn", Types.VARCHAR), + new SqlOutParameter("v_excnote", Types.VARCHAR), + new SqlOutParameter("v_excflag", Types.VARCHAR) + ); + // 2. 封装输入参数 + Map inParams = new HashMap<>(); + inParams.put("v_wono", woCode); + inParams.put("v_chgqty", qtyAfter); + inParams.put("v_chgman", userName); + inParams.put("v_chgdat", new Date()); + inParams.put("v_chgrsn", memo); + // 3. 执行并获取结果 Map + Map resultMap = jdbcCall.execute(inParams); + + // 4. 提取输出参数 + String excflag = (String) resultMap.get("v_excflag"); + String excnote = (String) resultMap.get("v_excnote"); + if ("0".equals(excflag)) { + throw new ServiceException("修改订单加工数量错误:" + excnote); + } + return excflag; + } }