diff --git a/blade-service-api/blade-wms-api/src/main/java/org/springblade/wms/pojo/entity/StReturnRecord.java b/blade-service-api/blade-wms-api/src/main/java/org/springblade/wms/pojo/entity/StReturnRecord.java index ecfdee014..8042c6ccb 100644 --- a/blade-service-api/blade-wms-api/src/main/java/org/springblade/wms/pojo/entity/StReturnRecord.java +++ b/blade-service-api/blade-wms-api/src/main/java/org/springblade/wms/pojo/entity/StReturnRecord.java @@ -1,5 +1,6 @@ package org.springblade.wms.pojo.entity; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.databind.annotation.JsonSerialize; @@ -109,6 +110,12 @@ public class StReturnRecord extends TenantEntity { @DateTimeFormat(pattern = "yyyy-MM-dd") @Schema(description = "本次归还时间") private Date returnTime; + /** + * 审批人 + */ + @Schema(description = "审批人") + @TableField(exist = false) + private Long approver; } diff --git a/blade-service-api/blade-wms-api/src/main/java/org/springblade/wms/pojo/vo/StGlassCakeOutVO.java b/blade-service-api/blade-wms-api/src/main/java/org/springblade/wms/pojo/vo/StGlassCakeOutVO.java index fa2b034d6..bb911727b 100644 --- a/blade-service-api/blade-wms-api/src/main/java/org/springblade/wms/pojo/vo/StGlassCakeOutVO.java +++ b/blade-service-api/blade-wms-api/src/main/java/org/springblade/wms/pojo/vo/StGlassCakeOutVO.java @@ -75,6 +75,9 @@ public class StGlassCakeOutVO extends StGlassCakeOut { @Schema(description = "出库人名称") @TableField(exist = false) private String outUserName; + @Schema(description = "领料人名称") + @TableField(exist = false) + private String pickerName; @TableField(exist = false) private String startEstUseTime; diff --git a/blade-service/blade-wms/src/main/java/org/springblade/wms/controller/StExpireRecordController.java b/blade-service/blade-wms/src/main/java/org/springblade/wms/controller/StExpireRecordController.java index 6844b9d80..6b2ddd379 100644 --- a/blade-service/blade-wms/src/main/java/org/springblade/wms/controller/StExpireRecordController.java +++ b/blade-service/blade-wms/src/main/java/org/springblade/wms/controller/StExpireRecordController.java @@ -170,8 +170,9 @@ public class StExpireRecordController extends BladeController { @RequestParam(required = false) String bfCode, @RequestParam(required = false) Long rrId, @RequestParam(required = false) String woCode, + @RequestParam(required = false) Long approver, @RequestParam Short bfType) { - stExpireRecordService.invalidatedOut(rlsId, outQty, memo, bfCode, rrId, woCode, bfType, AuthUtil.getUser()); + stExpireRecordService.invalidatedOut(rlsId, outQty, memo, bfCode, rrId, woCode, approver, bfType, AuthUtil.getUser()); return R.success(); } diff --git a/blade-service/blade-wms/src/main/java/org/springblade/wms/mapper/StGlassCakeOutMapper.xml b/blade-service/blade-wms/src/main/java/org/springblade/wms/mapper/StGlassCakeOutMapper.xml index e9a4c8bc3..1f9ca0823 100644 --- a/blade-service/blade-wms/src/main/java/org/springblade/wms/mapper/StGlassCakeOutMapper.xml +++ b/blade-service/blade-wms/src/main/java/org/springblade/wms/mapper/StGlassCakeOutMapper.xml @@ -41,7 +41,7 @@ gco.part_name, gco.batch_code, gco.card_no, gco.quantity, gco.require_qty, gco.stove_pi_no, gco.out_qty, gco.cur_status, gco.est_use_time, gco.out_time, gco.out_users, gco.out_code, - gco.memo, + gco.memo, gco.picker, -- 物料表字段(根据实际ST_GOODS字段调整,无则删对应行) g.goods_code, g.id AS goodsId, @@ -64,7 +64,8 @@ -- 创建人名称 cu.name AS create_user_name, -- 出库人名称 - ou.name AS out_user_name + ou.name AS out_user_name, + pk.name AS picker_name FROM ST_GLASS_CAKE_OUT gco -- 左关联物料表:获取物料信息 LEFT JOIN ST_GOODS g ON gco.goods_id = g.id AND g.is_deleted = 0 @@ -78,6 +79,7 @@ LEFT JOIN BLADE_USER cu ON gco.create_user = cu.id AND cu.is_deleted = 0 -- 左关联出库人表:获取出库人真实姓名 LEFT JOIN BLADE_USER ou ON gco.out_users = ou.id AND ou.is_deleted = 0 + LEFT JOIN BLADE_USER pk ON gco.picker = pk.id AND pk.is_deleted = 0 -- 原有过滤条件:软删除 WHERE gco.is_deleted = 0 diff --git a/blade-service/blade-wms/src/main/java/org/springblade/wms/service/IStExpireRecordService.java b/blade-service/blade-wms/src/main/java/org/springblade/wms/service/IStExpireRecordService.java index 12e04dd4d..37cc896ac 100644 --- a/blade-service/blade-wms/src/main/java/org/springblade/wms/service/IStExpireRecordService.java +++ b/blade-service/blade-wms/src/main/java/org/springblade/wms/service/IStExpireRecordService.java @@ -43,7 +43,7 @@ public interface IStExpireRecordService extends BaseService { void expireHandle(List rlsIdArr, String dueDate, BladeUser user); - void invalidatedOut(Long rlsId, Double outQty, String memo, String bfCode, Long rrId, String woCode, Short bfType, BladeUser user); + void invalidatedOut(Long rlsId, Double outQty, String memo, String bfCode, Long rrId, String woCode, Long approver, Short bfType, BladeUser user); void batchInvalidatedOut(StExpireRecordDTO dto, BladeUser user); } diff --git a/blade-service/blade-wms/src/main/java/org/springblade/wms/service/impl/StExpireRecordServiceImpl.java b/blade-service/blade-wms/src/main/java/org/springblade/wms/service/impl/StExpireRecordServiceImpl.java index 3a7070c2a..018e05a9c 100644 --- a/blade-service/blade-wms/src/main/java/org/springblade/wms/service/impl/StExpireRecordServiceImpl.java +++ b/blade-service/blade-wms/src/main/java/org/springblade/wms/service/impl/StExpireRecordServiceImpl.java @@ -97,7 +97,7 @@ public class StExpireRecordServiceImpl extends BaseServiceImpl items = dto.getItems(); @@ -181,7 +183,7 @@ public class StExpireRecordServiceImpl extends BaseServiceImpl ruser = userClient.userInfoById(stOtherOutRecord.getCreateUser()); - User user1 = ruser.getData(); - approvalRecord.setCurrentRoleId(Long.valueOf(user1.getRoleId().split(",")[0])); - R roleName = sysClient.getRoleName(approvalRecord.getCurrentRoleId()); - String roleNameData = roleName.getData(); - approvalRecord.setCurrentRoleName(roleNameData); - approvalRecord.setNextRoleName("热表-工艺员"); - R roleIdResp = sysClient.getRoleIds("000000", approvalRecord.getNextRoleName()); - String roleId = roleIdResp.getData(); - approvalRecord.setNextRoleId(Long.valueOf(roleId)); +// R ruser = userClient.userInfoById(stOtherOutRecord.getCreateUser()); +// User user1 = ruser.getData(); +// approvalRecord.setCurrentRoleId(Long.valueOf(user1.getRoleId().split(",")[0])); +// R roleName = sysClient.getRoleName(approvalRecord.getCurrentRoleId()); +// String roleNameData = roleName.getData(); +// approvalRecord.setCurrentRoleName(roleNameData); +// approvalRecord.setNextRoleName("热表-工艺员"); +// R roleIdResp = sysClient.getRoleIds("000000", approvalRecord.getNextRoleName()); +// String roleId = roleIdResp.getData(); +// approvalRecord.setNextRoleId(Long.valueOf(roleId)); + approvalRecord.setCurrentUserId(user.getUserId()); + approvalRecord.setCurrentUserName(user.getNickName()); + User ruser = userClient.userInfoById(stOtherOutRecord.getApprover()).getData(); + approvalRecord.setNextUserId(stOtherOutRecord.getApprover()); + approvalRecord.setNextUserName(ruser.getRealName()); + mesApprovalRecordClient.save(approvalRecord); } @@ -105,9 +115,10 @@ public class StOtherOutRecordServiceImpl extends BaseServiceImpl roleIdResp = sysClient.getRoleIds("000000", "热表-工艺员"); - String roleId = roleIdResp.getData(); - MesApprovalRecordEntity updateRecord = new MesApprovalRecordEntity(); updateRecord.setBizId(id); updateRecord.setBizType("报废审批"); updateRecord.setOpinion(""); - updateRecord.setNextRoleId(Long.valueOf(roleId)); +// updateRecord.setNextRoleId(Long.valueOf(roleId)); + updateRecord.setNextUserId(stOtherOutRecord.getApprover()); updateRecord.setStatus(Integer.valueOf(approvalResult)); mesApprovalRecordClient.update(updateRecord); @@ -237,6 +246,15 @@ public class StOtherOutRecordServiceImpl extends BaseServiceImpl stockMap = stockList.stream() .collect(Collectors.toMap(StRealtimeStock::getId, Function.identity())); + String datePrefix = DateUtil.format(new Date(), "yyyyMMdd"); + // 2. 当天最大序号 + String maxCode = stStockInoutRecordMapper.getMaxCheckCode(datePrefix); + int lastNum = 0; + if (StrUtil.isNotBlank(maxCode)) { + String number = maxCode.substring(datePrefix.length()); + lastNum = Integer.parseInt(number); + } + // ========== 1.3 组装所有商品明细 ========== for (StRealtimeStock stock : outList) { StRealtimeStock entity = stockMap.get(stock.getId()); @@ -245,10 +263,15 @@ public class StOtherOutRecordServiceImpl extends BaseServiceImpl 0) { // 调用报废出库逻辑生成报废单 - stExpireRecordService.invalidatedOut(stRealtimeStock.getId(), stReturnRecord.getBfQty(), stLend.getMemo(), null, stReturnRecord.getId(), null, StOtherOutRecord.BF_TYPE_RETURN, user); + stExpireRecordService.invalidatedOut(stRealtimeStock.getId(), stReturnRecord.getBfQty(), stLend.getMemo(), null, stReturnRecord.getId(), null, stReturnRecord.getApprover(), StOtherOutRecord.BF_TYPE_RETURN, user); } } return true;