仓库管理修改

liweidong
wusiyu 7 days ago
parent cd93d640e4
commit 0145430e41
  1. 43
      blade-service-api/blade-wms-api/src/main/java/org/springblade/wms/pojo/entity/StBuyOrder.java
  2. 26
      blade-service/blade-wms/src/main/java/org/springblade/wms/controller/StBuyOrderController.java
  3. 4
      blade-service/blade-wms/src/main/java/org/springblade/wms/mapper/StBuyOrderMapper.xml
  4. 45
      blade-service/blade-wms/src/main/java/org/springblade/wms/service/impl/StBuyOrderServiceImpl.java

@ -100,9 +100,9 @@ public class StBuyOrder extends TenantEntity {
@Schema(description = "计划区域")
private String planArea;
/**
* 审批状态
* 二级审批状态
*/
@Schema(description = "审批状态")
@Schema(description = "一、二级审批状态")
private Short approvalStatus;
/**
* 已批数量
@ -154,6 +154,16 @@ public class StBuyOrder extends TenantEntity {
*/
@Schema(description = "等级/生产标识")
private String grade;
/**
* 二级审批人
*/
@Schema(description = "二级审批人")
private Long approvalMan2;
/**
* 二级审批时间
*/
@Schema(description = "二级审批时间")
private Date approvalTime2;
@TableField(exist = false)
private String declareManName;
@ -212,39 +222,20 @@ public class StBuyOrder extends TenantEntity {
*/
public static final short APPROVAL_STATUS_CHECKED = 1;
/**
* 变更待审中
*/
public static final short APPROVAL_STATUS_CHANGE_WAITING_FOR_CHECKUP = 2;
/**
* 变更中
*/
public static final short APPROVAL_STATUS_CHANGING = 3;
/**
* 打回
*/
public static final short APPROVAL_STATUS_RETURN = 4;
/**
* 审批未通过
*/
public static final short APPROVAL_STATUS_UNPASS = 10;
public static final short APPROVAL_STATUS_UNPASS = 2;
/**
* 已完成
* 二级审批通过
*/
public static final short APPROVAL_STATUS_COMPLETE = 20;
public static final short APPROVAL_STATUS_SECOND_CHECKED = 3;
/**
* 已作废
* 二级审批未通过
*/
public static final short APPROVAL_STATUS_CANCEL = 21;
public static final short APPROVAL_STATUS_SECOND_UNPASS = 4;
/**
* 已变更
*/
public static final short APPROVAL_STATUS_CHANGE_OK = 22;
}

@ -97,13 +97,13 @@ public class StBuyOrderController extends BladeController {
stBuyOrder.setBoStatus(StBuyOrder.BOSTATUS_NEW);
// 3. 权限控制:按角色过滤审批状态
BladeUser user = AuthUtil.getUser();
String userRoleName = user.getRoleName();
stBuyOrder.setUserRoleName(userRoleName);
if (StrUtil.isNotBlank(userRoleName) && userRoleName.contains("保管员")) {
// 保管员:可查询审批状态为「审批中」的数据
stBuyOrder.setApprovalStatus(StBuyOrder.APPROVAL_STATUS_CHECKING);
}
// BladeUser user = AuthUtil.getUser();
// String userRoleName = user.getRoleName();
// stBuyOrder.setUserRoleName(userRoleName);
// if (StrUtil.isNotBlank(userRoleName) && userRoleName.contains("保管员")) {
// // 保管员:可查询审批状态为「审批中」的数据
// stBuyOrder.setApprovalStatus(StBuyOrder.APPROVAL_STATUS_CHECKING);
// }
IPage<StBuyOrderVO> pages = stBuyOrderService.selectStBuyOrderPage(Condition.getPage(query), stBuyOrder);
return R.data(pages);
@ -138,12 +138,12 @@ public class StBuyOrderController extends BladeController {
query.setAscs("bo_code");
}
BladeUser user = AuthUtil.getUser();
String userRoleName = user.getRoleName();
if (StrUtil.isNotBlank(userRoleName) && userRoleName.contains("保管员")) {
// 保管员:可查询审批状态为「审批中」的数据
stBuyOrder.setApprovalStatus(StBuyOrder.APPROVAL_STATUS_CHECKING);
}
// BladeUser user = AuthUtil.getUser();
// String userRoleName = user.getRoleName();
// if (StrUtil.isNotBlank(userRoleName) && userRoleName.contains("保管员")) {
// // 保管员:可查询审批状态为「审批中」的数据
// stBuyOrder.setApprovalStatus(StBuyOrder.APPROVAL_STATUS_CHECKING);
// }
IPage<StBuyOrderVO> pages = stBuyOrderService.selectStoreRequestPage(Condition.getPage(query), stBuyOrder);
return R.data(pages);
}

@ -72,10 +72,6 @@
AND bo.bo_code LIKE '%' || #{stBuyOrder.boCode} || '%'
</if>
<if test="stBuyOrder.userRoleName != null and stBuyOrder.userRoleName.contains('保管员')">
AND bo.approval_status = 0
</if>
<!-- 2. 物料编号(goods_code)模糊查询 -->
<if test="stBuyOrder.goodsCode != null and stBuyOrder.goodsCode != ''">
AND g.goods_code LIKE '%' || #{stBuyOrder.goodsCode} || '%'

@ -186,7 +186,7 @@ public class StBuyOrderServiceImpl extends BaseServiceImpl<StBuyOrderMapper, StB
R<String> roleName = sysClient.getRoleName(approvalRecord.getCurrentRoleId());
String roleNameData = roleName.getData();
approvalRecord.setCurrentRoleName(roleNameData);
approvalRecord.setNextRoleName("保管员");
approvalRecord.setNextRoleName("热表-核算员");
//租户ID 000000
R<String> roleIdResp = sysClient.getRoleIds("000000", approvalRecord.getNextRoleName());
String roleId = roleIdResp.getData();
@ -213,14 +213,15 @@ public class StBuyOrderServiceImpl extends BaseServiceImpl<StBuyOrderMapper, StB
// 1. 校验审批人权限(仅保管员可审批)
// String app = approver.getRoleName();
// log.info(app);
if (Objects.equals(approver.getRoleName(), "保管员")) {
// 2. 查询订单并校验状态
StBuyOrder buyOrder = baseMapper.selectById(orderId);
if (buyOrder == null) {
throw new RuntimeException("采购单不存在!");
}
// if (Objects.equals(approver.getRoleName(), "热表-核算员")) {
StBuyOrder buyOrder = baseMapper.selectById(orderId);
if (buyOrder == null) {
throw new RuntimeException("采购单不存在!");
}
if (buyOrder.getApprovalStatus() == 0) {
if (StBuyOrder.APPROVAL_STATUS_CHECKED == buyOrder.getApprovalStatus()) {
throw new RuntimeException("该采购单已审批通过,无需重复审批!");
throw new RuntimeException("该采购单一级审批已通过,无需重复审批!");
}
// 3. 更新审批状态
@ -229,19 +230,39 @@ public class StBuyOrderServiceImpl extends BaseServiceImpl<StBuyOrderMapper, StB
buyOrder.setCheckDate(new Date());
baseMapper.updateById(buyOrder);
R<String> roleIdResp = sysClient.getRoleIds("000000", "保管员");
R<String> roleIdResp = sysClient.getRoleIds("000000", "厂长,副厂长");
String roleId = roleIdResp.getData();
MesApprovalRecordEntity updateRecord = new MesApprovalRecordEntity();
updateRecord.setBizId(orderId);
updateRecord.setBizType("额外提请审批");
updateRecord.setOpinion("");
updateRecord.setNextRoleId(Long.valueOf(roleId));
// updateRecord.setNextRoleId(Long.valueOf(roleId));
updateRecord.setNextUserName("厂长,副厂长");
updateRecord.setStatus(Integer.valueOf(approvalResult));
mesApprovalRecordClient.update(updateRecord);
} else {
throw new RuntimeException("仅保管员可执行审批操作!");
// } else {
// throw new RuntimeException("仅保管员可执行审批操作!");
// }
}else if(buyOrder.getApprovalStatus() == 1){
if (StBuyOrder.APPROVAL_STATUS_SECOND_CHECKED == buyOrder.getApprovalStatus()) {
throw new RuntimeException("该采购单二级审批已通过,无需重复审批!");
}
buyOrder.setApprovalStatus(approvalResult);
buyOrder.setApprovalMan2(approver.getUserId());
buyOrder.setApprovalTime2(new Date());
baseMapper.updateById(buyOrder);
MesApprovalRecordEntity updateRecord = new MesApprovalRecordEntity();
updateRecord.setBizId(orderId);
updateRecord.setBizType("额外提请审批");
updateRecord.setOpinion("");
// updateRecord.setNextRoleId(Long.valueOf(roleId));
updateRecord.setNextUserName("厂长,副厂长");
updateRecord.setStatus(Integer.valueOf(approvalResult));
mesApprovalRecordClient.update(updateRecord);
}
}

Loading…
Cancel
Save