仓库管理修改

liweidong
wusiyu 3 days ago
parent c6d0d42558
commit f63082a948
  1. 4
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/common/enums/MesApprovalRecordBizTypeEnum.java
  2. 17
      blade-service/blade-wms/src/main/java/org/springblade/wms/controller/StBuyOrderController.java
  3. 14
      blade-service/blade-wms/src/main/java/org/springblade/wms/controller/StClassRequestController.java
  4. 14
      blade-service/blade-wms/src/main/java/org/springblade/wms/controller/StOtherOutRecordController.java
  5. 5
      blade-service/blade-wms/src/main/java/org/springblade/wms/controller/StOtherReceiptRecordController.java
  6. 6
      blade-service/blade-wms/src/main/java/org/springblade/wms/controller/StTeamRequestController.java
  7. 9
      blade-service/blade-wms/src/main/java/org/springblade/wms/mapper/StClassRequestMapper.xml
  8. 4
      blade-service/blade-wms/src/main/java/org/springblade/wms/mapper/StOtherReceiptRecordMapper.xml
  9. 84
      blade-service/blade-wms/src/main/java/org/springblade/wms/service/impl/StBuyOrderServiceImpl.java
  10. 68
      blade-service/blade-wms/src/main/java/org/springblade/wms/service/impl/StClassRequestServiceImpl.java
  11. 45
      blade-service/blade-wms/src/main/java/org/springblade/wms/service/impl/StMoldApplyForServiceImpl.java
  12. 58
      blade-service/blade-wms/src/main/java/org/springblade/wms/service/impl/StOtherOutRecordServiceImpl.java

@ -11,6 +11,10 @@ import lombok.Getter;
public enum MesApprovalRecordBizTypeEnum { public enum MesApprovalRecordBizTypeEnum {
OEM_STATEMENT("外协结算校对/审核"), OEM_STATEMENT("外协结算校对/审核"),
WMS_EXTRA_PLAN("仓库额外计划审批"),
TOOL_PLAN_APPLY_AUDIT("工装计划申报审批"),
TEAM_GROUP_PROCESS_AUDIT("班组提请工艺审批"),
WMS_SCRAP_AUDIT("仓库报废审批"),
; ;
private final String desc; private final String desc;

@ -94,18 +94,9 @@ public class StBuyOrderController extends BladeController {
@Operation(summary = "分页", description = "传入stBuyOrder") @Operation(summary = "分页", description = "传入stBuyOrder")
public R<IPage<StBuyOrderVO>> page(StBuyOrderVO stBuyOrder, Query query) { public R<IPage<StBuyOrderVO>> page(StBuyOrderVO stBuyOrder, Query query) {
/* 1. 固定条件:boStatus = NEW_BUILT */ /* 固定条件:boStatus = NEW_BUILT */
stBuyOrder.setBoStatus(StBuyOrder.BOSTATUS_NEW); 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);
// }
IPage<StBuyOrderVO> pages = stBuyOrderService.selectStBuyOrderPage(Condition.getPage(query), stBuyOrder); IPage<StBuyOrderVO> pages = stBuyOrderService.selectStBuyOrderPage(Condition.getPage(query), stBuyOrder);
return R.data(pages); return R.data(pages);
} }
@ -139,12 +130,6 @@ public class StBuyOrderController extends BladeController {
query.setAscs("bo_code"); query.setAscs("bo_code");
} }
// 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); IPage<StBuyOrderVO> pages = stBuyOrderService.selectStoreRequestPage(Condition.getPage(query), stBuyOrder);
return R.data(pages); return R.data(pages);
} }

@ -1,6 +1,5 @@
package org.springblade.wms.controller; package org.springblade.wms.controller;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
@ -95,20 +94,7 @@ public class StClassRequestController extends BladeController {
@ApiLog("班组提请表 自定义分页") @ApiLog("班组提请表 自定义分页")
@Operation(summary = "分页", description = "传入stClassRequest") @Operation(summary = "分页", description = "传入stClassRequest")
public R<IPage<StClassRequestVO>> page(StClassRequestVO stClassRequest, Query query) { public R<IPage<StClassRequestVO>> page(StClassRequestVO stClassRequest, Query query) {
/* 1. 数据权限:当前用户工厂 */
BladeUser user = AuthUtil.getUser();
// if (user != null && user.getDeptId() != null) {
// stClassRequest.setDeptId(user.getDeptId());
// }
String userRoleName = user.getRoleName();
stClassRequest.setUserRoleName(userRoleName);
if (StrUtil.isNotBlank(userRoleName) && userRoleName.contains("rb_craft")) {
// 可查询审批状态为「审批中」的数据
stClassRequest.setApprovalStatus(StClassRequest.APPROVAL_STATUS_CHECKING);
}
IPage<StClassRequestVO> pages = stClassRequestService.selectStClassRequestPage(Condition.getPage(query), stClassRequest); IPage<StClassRequestVO> pages = stClassRequestService.selectStClassRequestPage(Condition.getPage(query), stClassRequest);
return R.data(pages); return R.data(pages);
} }

@ -112,21 +112,7 @@ public class StOtherOutRecordController extends BladeController {
@ApiLog("其他出库表 自定义分页") @ApiLog("其他出库表 自定义分页")
@Operation(summary = "分页", description = "传入stOtherOutRecord") @Operation(summary = "分页", description = "传入stOtherOutRecord")
public R<IPage<StOtherOutRecordVO>> page(StOtherOutRecordVO stOtherOutRecord, Query query) { public R<IPage<StOtherOutRecordVO>> page(StOtherOutRecordVO stOtherOutRecord, Query query) {
/* 1. 数据权限:当前用户工厂 */
BladeUser user = AuthUtil.getUser();
if (user != null && user.getDeptId() != null) {
stOtherOutRecord.setCreateDept(Long.valueOf(user.getDeptId()));
}
// String userRoleName = user.getRoleName();
// stOtherOutRecord.setUserRoleName(userRoleName);
// if (StrUtil.isNotBlank(userRoleName) && userRoleName.contains("rb_craft")) {
// // 工艺员:可查询审批状态为「审批中」的数据
// stOtherOutRecord.setApprovalStatus(StOtherOutRecord.APPROVAL_STATUS_CHECKING);
// }
IPage<StOtherOutRecordVO> pages = stOtherOutRecordService.selectStOtherOutRecordPage(Condition.getPage(query), stOtherOutRecord); IPage<StOtherOutRecordVO> pages = stOtherOutRecordService.selectStOtherOutRecordPage(Condition.getPage(query), stOtherOutRecord);
return R.data(pages); return R.data(pages);
} }

@ -112,11 +112,6 @@ public class StOtherReceiptRecordController extends BladeController {
@ApiLog("其他入库表 自定义分页") @ApiLog("其他入库表 自定义分页")
@Operation(summary = "分页", description = "传入stOtherReceiptRecord") @Operation(summary = "分页", description = "传入stOtherReceiptRecord")
public R<IPage<StOtherReceiptRecordVO>> page(StOtherReceiptRecordVO stOtherReceiptRecord, Query query) { public R<IPage<StOtherReceiptRecordVO>> page(StOtherReceiptRecordVO stOtherReceiptRecord, Query query) {
// 1. 数据权限
BladeUser user = AuthUtil.getUser();
if (user != null && user.getDeptId() != null) {
stOtherReceiptRecord.setCreateDept(Long.valueOf(user.getDeptId()));
}
// 2. 业务校验:必须属于“其他入库” // 2. 业务校验:必须属于“其他入库”
Long sirId = stOtherReceiptRecord.getSirId(); Long sirId = stOtherReceiptRecord.getSirId();

@ -80,11 +80,7 @@ public class StTeamRequestController {
public R<IPage<StClassRequestVO>> page(StClassRequestVO stClassRequest, Query query) { public R<IPage<StClassRequestVO>> page(StClassRequestVO stClassRequest, Query query) {
/* 1. 固定条件:已发布 */ /* 1. 固定条件:已发布 */
stClassRequest.setCurStatus(StClassRequest.CURSTATUS_RELEASED); stClassRequest.setCurStatus(StClassRequest.CURSTATUS_RELEASED);
/* 2. 数据权限:当前用户部门 */
BladeUser user = AuthUtil.getUser();
if (user != null && user.getDeptId() != null) {
stClassRequest.setDeptId(user.getDeptId());
}
IPage<StClassRequestVO> pages = stClassRequestService.selectStTeamRequestPage(Condition.getPage(query), stClassRequest); IPage<StClassRequestVO> pages = stClassRequestService.selectStTeamRequestPage(Condition.getPage(query), stClassRequest);
return R.data(pages); return R.data(pages);
} }

@ -31,7 +31,8 @@
<result column="SPECIFICATIONS" property="specifications"/> <result column="SPECIFICATIONS" property="specifications"/>
<result column="OUT_QUANTITY" property="outQuantity"/> <result column="OUT_QUANTITY" property="outQuantity"/>
<result column="PICKER" property="picker"/> <result column="PICKER" property="picker"/>
<result column="PICKER_NAME" property="picker"/> <result column="PICKER_NAME" property="pickerName"/>
<result column="APPROVE_NAME" property="approveName"/>
</resultMap> </resultMap>
@ -57,10 +58,6 @@
AND t.goods_code = #{stClassRequest.goodsCode} AND t.goods_code = #{stClassRequest.goodsCode}
</if> </if>
<if test="stClassRequest.userRoleName != null and stClassRequest.userRoleName.contains('rb_craft')">
AND t.approval_status = 0
</if>
<!-- 5. 出库状态精确查询(匹配cur_status值) --> <!-- 5. 出库状态精确查询(匹配cur_status值) -->
<if test="stClassRequest.curStatus != null"> <if test="stClassRequest.curStatus != null">
AND t.cur_status = #{stClassRequest.curStatus} AND t.cur_status = #{stClassRequest.curStatus}
@ -125,8 +122,6 @@
<where> <where>
t.is_deleted = 0 t.is_deleted = 0
AND t.cur_status = 15 AND t.cur_status = 15
<if test="stClassRequest.deptId != null"> AND t.dept_id = #{stClassRequest.deptId} </if>
<if test="stClassRequest.crCode != null and stClassRequest.crCode != ''"> <if test="stClassRequest.crCode != null and stClassRequest.crCode != ''">
AND t.cr_code LIKE '%' || #{stClassRequest.crCode} || '%' AND t.cr_code LIKE '%' || #{stClassRequest.crCode} || '%'
</if> </if>

@ -54,9 +54,7 @@
LEFT JOIN ST_REALTIME_STOCK t6 ON t2.rls_id = t6.id LEFT JOIN ST_REALTIME_STOCK t6 ON t2.rls_id = t6.id
LEFT JOIN blade_user u ON t1.create_user = u.id AND u.is_deleted = 0 LEFT JOIN blade_user u ON t1.create_user = u.id AND u.is_deleted = 0
WHERE t1.is_deleted = 0 WHERE t1.is_deleted = 0
<if test="stOtherReceiptRecord.createDept != null and stOtherReceiptRecord.createDept != ''">
AND t1.create_dept = #{stOtherReceiptRecord.createDept}
</if>
<!-- 新增:入库单号(对应t2.sir_code) --> <!-- 新增:入库单号(对应t2.sir_code) -->
<if test="stOtherReceiptRecord.sirCode != null and stOtherReceiptRecord.sirCode != ''"> <if test="stOtherReceiptRecord.sirCode != null and stOtherReceiptRecord.sirCode != ''">
AND t2.sir_code LIKE CONCAT(CONCAT('%', #{stOtherReceiptRecord.sirCode}), '%') AND t2.sir_code LIKE CONCAT(CONCAT('%', #{stOtherReceiptRecord.sirCode}), '%')

@ -11,8 +11,9 @@ import org.springblade.core.log.exception.ServiceException;
import org.springblade.core.mp.base.BaseServiceImpl; import org.springblade.core.mp.base.BaseServiceImpl;
import org.springblade.core.secure.BladeUser; import org.springblade.core.secure.BladeUser;
import org.springblade.core.tool.api.R; import org.springblade.core.tool.api.R;
import org.springblade.desk.common.enums.MesApprovalRecordBizTypeEnum;
import org.springblade.desk.common.feign.IMesApprovalRecordClient; import org.springblade.desk.common.feign.IMesApprovalRecordClient;
import org.springblade.desk.common.pojo.entity.MesApprovalRecordEntity; import org.springblade.desk.common.pojo.dto.MesApprovalRecordFeignDTO;
import org.springblade.erpdata.feign.IErpDataWmsClient; import org.springblade.erpdata.feign.IErpDataWmsClient;
import org.springblade.erpdata.pojo.vo.PurchaseTrackVO; import org.springblade.erpdata.pojo.vo.PurchaseTrackVO;
import org.springblade.system.feign.ISysClient; import org.springblade.system.feign.ISysClient;
@ -183,26 +184,13 @@ public class StBuyOrderServiceImpl extends BaseServiceImpl<StBuyOrderMapper, StB
buyOrder.setApprovalStatus(StBuyOrder.APPROVAL_STATUS_CHECKING); buyOrder.setApprovalStatus(StBuyOrder.APPROVAL_STATUS_CHECKING);
baseMapper.insert(buyOrder); baseMapper.insert(buyOrder);
MesApprovalRecordEntity approvalRecord = new MesApprovalRecordEntity(); MesApprovalRecordFeignDTO mesApprovalRecord = new MesApprovalRecordFeignDTO();
approvalRecord.setBizId(buyOrder.getId()); mesApprovalRecord.setBizId(buyOrder.getId());
approvalRecord.setBizType("额外提请审批"); mesApprovalRecord.setBizType(MesApprovalRecordBizTypeEnum.WMS_EXTRA_PLAN.getDesc());
approvalRecord.setContent("额外提请审批"); mesApprovalRecord.setApprovalUser(user.getUserId());
R<User> ruser = userClient.userInfoById(buyOrder.getDeclareMan()); mesApprovalRecord.setApprovalTime(new Date());
User user1 = ruser.getData(); mesApprovalRecordClient.createApproval(mesApprovalRecord);
approvalRecord.setCurrentRoleId(Long.valueOf(user1.getRoleId().split(",")[0]));
R<String> roleName = sysClient.getRoleName(approvalRecord.getCurrentRoleId());
String roleNameData = roleName.getData();
approvalRecord.setCurrentRoleName(roleNameData);
approvalRecord.setNextRoleName("厂内核算员");
//租户ID 000000
R<String> roleIdResp = sysClient.getRoleIds("000000", approvalRecord.getNextRoleName());
String roleId = roleIdResp.getData();
approvalRecord.setNextRoleId(Long.valueOf(roleId));
// 启动流程(原逻辑完全保留)
// PfFlowRecServiceImpl.saveStartFlow(buyOrder.getFlowCode(), buyOrder.getBoId(), user);
} }
} }
} }
@ -223,10 +211,7 @@ public class StBuyOrderServiceImpl extends BaseServiceImpl<StBuyOrderMapper, StB
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public void approvalOrder(Long orderId, Short approvalResult, BladeUser approver) { public void approvalOrder(Long orderId, Short approvalResult, BladeUser approver) {
// 1. 校验审批人权限(仅保管员可审批)
// String app = approver.getRoleName();
// log.info(app);
// if (Objects.equals(approver.getRoleName(), "热表-核算员")) {
StBuyOrder buyOrder = baseMapper.selectById(orderId); StBuyOrder buyOrder = baseMapper.selectById(orderId);
if (buyOrder == null) { if (buyOrder == null) {
throw new RuntimeException("采购单不存在!"); throw new RuntimeException("采购单不存在!");
@ -243,21 +228,24 @@ public class StBuyOrderServiceImpl extends BaseServiceImpl<StBuyOrderMapper, StB
buyOrder.setCheckDate(new Date()); buyOrder.setCheckDate(new Date());
baseMapper.updateById(buyOrder); baseMapper.updateById(buyOrder);
R<String> roleIdResp = sysClient.getRoleIds("000000", "厂长,副厂长"); if (approvalResult == 1) {
String roleId = roleIdResp.getData(); MesApprovalRecordFeignDTO mesApprovalRecord = new MesApprovalRecordFeignDTO();
mesApprovalRecord.setBizId(orderId);
mesApprovalRecord.setBizType(MesApprovalRecordBizTypeEnum.WMS_EXTRA_PLAN.getDesc());
mesApprovalRecord.setApprovalUser(approver.getUserId());
mesApprovalRecord.setApprovalTime(new Date());
mesApprovalRecordClient.passApproval(mesApprovalRecord);
MesApprovalRecordEntity updateRecord = new MesApprovalRecordEntity(); } else if (approvalResult == 2) {
updateRecord.setBizId(orderId); MesApprovalRecordFeignDTO mesApprovalRecord = new MesApprovalRecordFeignDTO();
updateRecord.setBizType("额外提请审批"); mesApprovalRecord.setBizId(orderId);
updateRecord.setOpinion(""); mesApprovalRecord.setBizType(MesApprovalRecordBizTypeEnum.WMS_EXTRA_PLAN.getDesc());
// updateRecord.setNextRoleId(Long.valueOf(roleId)); mesApprovalRecord.setApprovalUser(approver.getUserId());
updateRecord.setNextUserName("厂长,副厂长"); mesApprovalRecord.setApprovalTime(new Date());
updateRecord.setStatus(Integer.valueOf(approvalResult)); mesApprovalRecordClient.rejectApproval(mesApprovalRecord);
}
// } else {
// throw new RuntimeException("仅保管员可执行审批操作!");
// }
}else if(buyOrder.getApprovalStatus() == 1){ }else if(buyOrder.getApprovalStatus() == 1){
if (StBuyOrder.APPROVAL_STATUS_SECOND_CHECKED == buyOrder.getApprovalStatus()) { if (StBuyOrder.APPROVAL_STATUS_SECOND_CHECKED == buyOrder.getApprovalStatus()) {
@ -268,13 +256,23 @@ public class StBuyOrderServiceImpl extends BaseServiceImpl<StBuyOrderMapper, StB
buyOrder.setApprovalTime2(new Date()); buyOrder.setApprovalTime2(new Date());
baseMapper.updateById(buyOrder); baseMapper.updateById(buyOrder);
MesApprovalRecordEntity updateRecord = new MesApprovalRecordEntity(); if (approvalResult == 3) {
updateRecord.setBizId(orderId); MesApprovalRecordFeignDTO mesApprovalRecord = new MesApprovalRecordFeignDTO();
updateRecord.setBizType("额外提请审批"); mesApprovalRecord.setBizId(orderId);
updateRecord.setOpinion(""); mesApprovalRecord.setBizType(MesApprovalRecordBizTypeEnum.WMS_EXTRA_PLAN.getDesc());
// updateRecord.setNextRoleId(Long.valueOf(roleId)); mesApprovalRecord.setApprovalUser(approver.getUserId());
updateRecord.setNextUserName("厂长,副厂长"); mesApprovalRecord.setApprovalTime(new Date());
updateRecord.setStatus(Integer.valueOf(approvalResult)); mesApprovalRecordClient.passApproval(mesApprovalRecord);
} else if (approvalResult == 4) {
MesApprovalRecordFeignDTO mesApprovalRecord = new MesApprovalRecordFeignDTO();
mesApprovalRecord.setBizId(orderId);
mesApprovalRecord.setBizType(MesApprovalRecordBizTypeEnum.WMS_EXTRA_PLAN.getDesc());
mesApprovalRecord.setApprovalUser(approver.getUserId());
mesApprovalRecord.setApprovalTime(new Date());
mesApprovalRecordClient.rejectApproval(mesApprovalRecord);
}
} }

@ -11,11 +11,12 @@ import lombok.extern.slf4j.Slf4j;
import org.springblade.core.log.exception.ServiceException; import org.springblade.core.log.exception.ServiceException;
import org.springblade.core.mp.base.BaseServiceImpl; import org.springblade.core.mp.base.BaseServiceImpl;
import org.springblade.core.secure.BladeUser; import org.springblade.core.secure.BladeUser;
import org.springblade.desk.common.enums.MesApprovalRecordBizTypeEnum;
import org.springblade.desk.common.feign.IMesApprovalRecordClient; import org.springblade.desk.common.feign.IMesApprovalRecordClient;
import org.springblade.desk.common.pojo.dto.MesApprovalRecordFeignDTO;
import org.springblade.desk.common.pojo.entity.MesApprovalRecordEntity; import org.springblade.desk.common.pojo.entity.MesApprovalRecordEntity;
import org.springblade.system.feign.ISysClient; import org.springblade.system.feign.ISysClient;
import org.springblade.system.feign.IUserClient; import org.springblade.system.feign.IUserClient;
import org.springblade.system.pojo.entity.User;
import org.springblade.wms.excel.StClassRequestExcel; import org.springblade.wms.excel.StClassRequestExcel;
import org.springblade.wms.mapper.StClassRequestMapper; import org.springblade.wms.mapper.StClassRequestMapper;
import org.springblade.wms.pojo.dto.ClassOutboundDTO; import org.springblade.wms.pojo.dto.ClassOutboundDTO;
@ -95,26 +96,13 @@ public class StClassRequestServiceImpl extends BaseServiceImpl<StClassRequestMap
ccr.setCurStatus(StClassRequest.CURSTATUS_NEW); // 待审批 ccr.setCurStatus(StClassRequest.CURSTATUS_NEW); // 待审批
ccr.setApprover(ccr.getApprover()); ccr.setApprover(ccr.getApprover());
MesApprovalRecordEntity approvalRecord = new MesApprovalRecordEntity(); MesApprovalRecordFeignDTO mesApprovalRecord = new MesApprovalRecordFeignDTO();
approvalRecord.setBizId(ccr.getId()); mesApprovalRecord.setBizId(ccr.getId());
approvalRecord.setBizType("班组提请审批"); mesApprovalRecord.setBizType(MesApprovalRecordBizTypeEnum.TEAM_GROUP_PROCESS_AUDIT.getDesc());
approvalRecord.setContent("班组提请审批"); mesApprovalRecord.setApprovalUser(user.getUserId());
// R<User> ruser = userClient.userInfoById(ccr.getCrMan()); mesApprovalRecord.setApprovalTime(new Date());
// User user1 = ruser.getData(); mesApprovalRecord.setUserIds(Collections.singletonList(ccr.getApprover()));
// approvalRecord.setCurrentRoleId(Long.valueOf(user1.getRoleId().split(",")[0])); mesApprovalRecordClient.createApproval(mesApprovalRecord);
// R<String> roleName = sysClient.getRoleName(approvalRecord.getCurrentRoleId());
// String roleNameData = roleName.getData();
// approvalRecord.setCurrentRoleName(roleNameData);
// approvalRecord.setNextRoleName("热表-工艺员");
// R<String> 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(ccr.getApprover()).getData();
approvalRecord.setNextUserId(ccr.getApprover());
approvalRecord.setNextUserName(ruser.getRealName());
} else { } else {
// 普通物料:无需审批,状态设为【无需审批】+ 直接发布 // 普通物料:无需审批,状态设为【无需审批】+ 直接发布
@ -123,14 +111,6 @@ public class StClassRequestServiceImpl extends BaseServiceImpl<StClassRequestMap
} }
this.updateById(ccr); this.updateById(ccr);
// PfFlow pfFlow = this.getByCode("FLOW_ST_001");
// if (pfFlow != null && pfFlow.getUsed() && Boolean.TRUE.equals(ccr.getSpecial())) {
// ccr.setApprovalStatus(IFlowBusinessBean.STATUS_NEW);
// ccr.setCurStatus(StClassRequest.CURSTATUS_NEW);
// } else {
// ccr.setApprovalStatus(IFlowBusinessBean.STATUS_CHECKED);
// ccr.setCurStatus(StClassRequest.CURSTATUS_RELEASED);
// }
} else { } else {
StClassRequest oldCcr = this.getById(ccr.getId()); StClassRequest oldCcr = this.getById(ccr.getId());
StGoods oldstGoods = stGoodsService.getById(oldCcr.getGoodsId()); StGoods oldstGoods = stGoodsService.getById(oldCcr.getGoodsId());
@ -171,13 +151,10 @@ public class StClassRequestServiceImpl extends BaseServiceImpl<StClassRequestMap
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public void approvalRequest(Long id, Short approvalResult, BladeUser approver) { public void approvalRequest(Long id, Short approvalResult, BladeUser approver) {
// 1. 校验工艺员权限
// String roleName = approver.getRoleName();
// if (Objects.equals(approver.getRoleName(), "rb_craft")){
StClassRequest ccr = this.getById(id); StClassRequest ccr = this.getById(id);
if (ccr.getApprover().equals(approver.getUserId())){ if (ccr.getApprover().equals(approver.getUserId())){
// 2. 查询数据 // 2. 查询数据
// StClassRequest ccr = this.getById(id);
if (ccr == null) { if (ccr == null) {
throw new RuntimeException("数据不存在!"); throw new RuntimeException("数据不存在!");
} }
@ -197,17 +174,26 @@ public class StClassRequestServiceImpl extends BaseServiceImpl<StClassRequestMap
? StClassRequest.CURSTATUS_RELEASED : StClassRequest.CURSTATUS_NEW); ? StClassRequest.CURSTATUS_RELEASED : StClassRequest.CURSTATUS_NEW);
this.updateById(ccr); this.updateById(ccr);
MesApprovalRecordEntity updateRecord = new MesApprovalRecordEntity(); if (approvalResult == 1) {
updateRecord.setBizId(id); MesApprovalRecordFeignDTO mesApprovalRecord = new MesApprovalRecordFeignDTO();
updateRecord.setBizType("班组提请审批"); mesApprovalRecord.setBizId(id);
updateRecord.setOpinion(""); mesApprovalRecord.setBizType(MesApprovalRecordBizTypeEnum.TEAM_GROUP_PROCESS_AUDIT.getDesc());
// updateRecord.setNextRoleId(Long.valueOf(roleId)); mesApprovalRecord.setApprovalUser(approver.getUserId());
updateRecord.setNextUserId(ccr.getApprover()); mesApprovalRecord.setApprovalTime(new Date());
updateRecord.setStatus(Integer.valueOf(approvalResult)); mesApprovalRecordClient.passApproval(mesApprovalRecord);
} else if (approvalResult == 10) {
MesApprovalRecordFeignDTO mesApprovalRecord = new MesApprovalRecordFeignDTO();
mesApprovalRecord.setBizId(id);
mesApprovalRecord.setBizType(MesApprovalRecordBizTypeEnum.TEAM_GROUP_PROCESS_AUDIT.getDesc());
mesApprovalRecord.setApprovalUser(approver.getUserId());
mesApprovalRecord.setApprovalTime(new Date());
mesApprovalRecordClient.rejectApproval(mesApprovalRecord);
}
}else { }else {
throw new RuntimeException("仅工艺员可执行审批操作!"); throw new RuntimeException("仅指定人员可执行审批操作!");
} }
} }

@ -8,15 +8,18 @@ import jakarta.annotation.Resource;
import org.springblade.common.exception.BusinessException; import org.springblade.common.exception.BusinessException;
import org.springblade.core.mp.base.BaseServiceImpl; import org.springblade.core.mp.base.BaseServiceImpl;
import org.springblade.core.secure.BladeUser; import org.springblade.core.secure.BladeUser;
import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.core.tool.api.R; import org.springblade.core.tool.api.R;
import org.springblade.desk.common.enums.MesApprovalRecordBizTypeEnum;
import org.springblade.desk.common.feign.IMesApprovalRecordClient; import org.springblade.desk.common.feign.IMesApprovalRecordClient;
import org.springblade.desk.common.pojo.entity.MesApprovalRecordEntity; import org.springblade.desk.common.pojo.dto.MesApprovalRecordFeignDTO;
import org.springblade.erpdata.feign.IErpDataWmsClient; import org.springblade.erpdata.feign.IErpDataWmsClient;
import org.springblade.system.feign.ISysClient; import org.springblade.system.feign.ISysClient;
import org.springblade.system.feign.IUserClient; import org.springblade.system.feign.IUserClient;
import org.springblade.system.pojo.entity.User; import org.springblade.system.pojo.entity.User;
import org.springblade.wms.excel.StMoldApplyForExcel; import org.springblade.wms.excel.StMoldApplyForExcel;
import org.springblade.wms.mapper.StMoldApplyForMapper; import org.springblade.wms.mapper.StMoldApplyForMapper;
import org.springblade.wms.pojo.entity.StClassRequest;
import org.springblade.wms.pojo.entity.StMoldApplyFor; import org.springblade.wms.pojo.entity.StMoldApplyFor;
import org.springblade.wms.pojo.vo.StMoldApplyForVO; import org.springblade.wms.pojo.vo.StMoldApplyForVO;
import org.springblade.wms.service.IStMoldApplyForService; import org.springblade.wms.service.IStMoldApplyForService;
@ -65,6 +68,9 @@ public class StMoldApplyForServiceImpl extends BaseServiceImpl<StMoldApplyForMap
// 2. 本地落库 // 2. 本地落库
if (plan.getId() != null) { // 修改 if (plan.getId() != null) { // 修改
// plan.setErpWoCode(erpWoCode); // plan.setErpWoCode(erpWoCode);
if (plan.getApprovalStatus() == StClassRequest.APPROVAL_STATUS_CHECKING) {
throw new RuntimeException("已发送审批,禁止修改:ID=" + plan.getId());
}
this.updateById(plan); this.updateById(plan);
} else { // 新增 } else { // 新增
// plan.setErpWoCode(erpWoCode); // plan.setErpWoCode(erpWoCode);
@ -124,21 +130,12 @@ public class StMoldApplyForServiceImpl extends BaseServiceImpl<StMoldApplyForMap
plan.setMafStatus(StMoldApplyFor.MAF_STATUS_CONFIRMED); plan.setMafStatus(StMoldApplyFor.MAF_STATUS_CONFIRMED);
plan.setApprovalStatus(StMoldApplyFor.APPROVAL_STATUS_CHECKING); plan.setApprovalStatus(StMoldApplyFor.APPROVAL_STATUS_CHECKING);
MesApprovalRecordEntity approvalRecord = new MesApprovalRecordEntity(); MesApprovalRecordFeignDTO mesApprovalRecord = new MesApprovalRecordFeignDTO();
approvalRecord.setBizId(plan.getId()); mesApprovalRecord.setBizId(plan.getId());
approvalRecord.setBizType("工装计划申报审批"); mesApprovalRecord.setBizType(MesApprovalRecordBizTypeEnum.TOOL_PLAN_APPLY_AUDIT.getDesc());
approvalRecord.setContent("工装计划申报审批"); mesApprovalRecord.setApprovalUser(AuthUtil.getUser().getUserId());
R<User> ruse = userClient.userInfoById(plan.getCreateUser()); mesApprovalRecord.setApprovalTime(new Date());
User user1 = ruse.getData(); mesApprovalRecordClient.createApproval(mesApprovalRecord);
approvalRecord.setCurrentRoleId(Long.valueOf(user1.getRoleId().split(",")[0]));
R<String> roleName = sysClient.getRoleName(approvalRecord.getCurrentRoleId());
String roleNameData = roleName.getData();
approvalRecord.setCurrentRoleName(roleNameData);
approvalRecord.setNextRoleName("厂长,副厂长");
//租户ID 000000
R<String> roleIdResp = sysClient.getRoleIds("000000", approvalRecord.getNextRoleName());
String roleId = roleIdResp.getData();
// approvalRecord.setNextRoleId(Long.valueOf(roleId));
} }
return this.updateBatchById(list); return this.updateBatchById(list);
@ -163,6 +160,13 @@ public class StMoldApplyForServiceImpl extends BaseServiceImpl<StMoldApplyForMap
baseMapper.updateById(plan); baseMapper.updateById(plan);
if (plan.getApprovalStatus() == 1) { if (plan.getApprovalStatus() == 1) {
MesApprovalRecordFeignDTO mesApprovalRecord = new MesApprovalRecordFeignDTO();
mesApprovalRecord.setBizId(orderId);
mesApprovalRecord.setBizType(MesApprovalRecordBizTypeEnum.TOOL_PLAN_APPLY_AUDIT.getDesc());
mesApprovalRecord.setApprovalUser(approver.getUserId());
mesApprovalRecord.setApprovalTime(new Date());
mesApprovalRecordClient.passApproval(mesApprovalRecord);
R<User> ruser = userClient.userInfoById(plan.getKeeper()); R<User> ruser = userClient.userInfoById(plan.getKeeper());
User keeper = ruser.getData(); User keeper = ruser.getData();
@ -184,6 +188,15 @@ public class StMoldApplyForServiceImpl extends BaseServiceImpl<StMoldApplyForMap
plan.setErpWoCode(erpWoCode); plan.setErpWoCode(erpWoCode);
plan.setMafStatus(StMoldApplyFor.MAF_STATUS_HAVE); plan.setMafStatus(StMoldApplyFor.MAF_STATUS_HAVE);
baseMapper.updateById(plan); baseMapper.updateById(plan);
} else if (approvalResult == 2) {
MesApprovalRecordFeignDTO mesApprovalRecord = new MesApprovalRecordFeignDTO();
mesApprovalRecord.setBizId(orderId);
mesApprovalRecord.setBizType(MesApprovalRecordBizTypeEnum.TOOL_PLAN_APPLY_AUDIT.getDesc());
mesApprovalRecord.setApprovalUser(approver.getUserId());
mesApprovalRecord.setApprovalTime(new Date());
mesApprovalRecordClient.rejectApproval(mesApprovalRecord);
} }
} }

@ -8,7 +8,9 @@ import jakarta.annotation.Resource;
import org.springblade.core.log.exception.ServiceException; import org.springblade.core.log.exception.ServiceException;
import org.springblade.core.mp.base.BaseServiceImpl; import org.springblade.core.mp.base.BaseServiceImpl;
import org.springblade.core.secure.BladeUser; import org.springblade.core.secure.BladeUser;
import org.springblade.desk.common.enums.MesApprovalRecordBizTypeEnum;
import org.springblade.desk.common.feign.IMesApprovalRecordClient; import org.springblade.desk.common.feign.IMesApprovalRecordClient;
import org.springblade.desk.common.pojo.dto.MesApprovalRecordFeignDTO;
import org.springblade.desk.common.pojo.entity.MesApprovalRecordEntity; import org.springblade.desk.common.pojo.entity.MesApprovalRecordEntity;
import org.springblade.system.feign.ISysClient; import org.springblade.system.feign.ISysClient;
import org.springblade.system.feign.IUserClient; import org.springblade.system.feign.IUserClient;
@ -81,27 +83,13 @@ public class StOtherOutRecordServiceImpl extends BaseServiceImpl<StOtherOutRecor
// 3. 先保存出库单基础记录(获取ID) // 3. 先保存出库单基础记录(获取ID)
this.save(stOtherOutRecord); this.save(stOtherOutRecord);
MesApprovalRecordEntity approvalRecord = new MesApprovalRecordEntity(); MesApprovalRecordFeignDTO mesApprovalRecord = new MesApprovalRecordFeignDTO();
approvalRecord.setBizId(stOtherOutRecord.getId()); mesApprovalRecord.setBizId(stOtherOutRecord.getId());
approvalRecord.setBizType("报废审批"); mesApprovalRecord.setBizType(MesApprovalRecordBizTypeEnum.WMS_SCRAP_AUDIT.getDesc());
approvalRecord.setContent("报废审批"); mesApprovalRecord.setApprovalUser(user.getUserId());
// R<User> ruser = userClient.userInfoById(stOtherOutRecord.getCreateUser()); mesApprovalRecord.setApprovalTime(new Date());
// User user1 = ruser.getData(); mesApprovalRecord.setUserIds(Collections.singletonList(stOtherOutRecord.getApprover()));
// approvalRecord.setCurrentRoleId(Long.valueOf(user1.getRoleId().split(",")[0])); mesApprovalRecordClient.createApproval(mesApprovalRecord);
// R<String> roleName = sysClient.getRoleName(approvalRecord.getCurrentRoleId());
// String roleNameData = roleName.getData();
// approvalRecord.setCurrentRoleName(roleNameData);
// approvalRecord.setNextRoleName("热表-工艺员");
// R<String> 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());
} }
@ -124,18 +112,28 @@ public class StOtherOutRecordServiceImpl extends BaseServiceImpl<StOtherOutRecor
stOtherOutRecord.setApprovalStatus(approvalResult); stOtherOutRecord.setApprovalStatus(approvalResult);
this.updateById(stOtherOutRecord); this.updateById(stOtherOutRecord);
MesApprovalRecordEntity updateRecord = new MesApprovalRecordEntity(); if (approvalResult == 1) {
updateRecord.setBizId(id); MesApprovalRecordFeignDTO mesApprovalRecord = new MesApprovalRecordFeignDTO();
updateRecord.setBizType("报废审批"); mesApprovalRecord.setBizId(id);
updateRecord.setOpinion(""); mesApprovalRecord.setBizType(MesApprovalRecordBizTypeEnum.WMS_SCRAP_AUDIT.getDesc());
// updateRecord.setNextRoleId(Long.valueOf(roleId)); mesApprovalRecord.setApprovalUser(approver.getUserId());
updateRecord.setNextUserId(stOtherOutRecord.getApprover()); mesApprovalRecord.setApprovalTime(new Date());
updateRecord.setStatus(Integer.valueOf(approvalResult)); mesApprovalRecordClient.passApproval(mesApprovalRecord);
this.addOtherOutRecord(stOtherOutRecord, approver); this.addOtherOutRecord(stOtherOutRecord, approver);
} else if (approvalResult == 10) {
MesApprovalRecordFeignDTO mesApprovalRecord = new MesApprovalRecordFeignDTO();
mesApprovalRecord.setBizId(id);
mesApprovalRecord.setBizType(MesApprovalRecordBizTypeEnum.WMS_SCRAP_AUDIT.getDesc());
mesApprovalRecord.setApprovalUser(approver.getUserId());
mesApprovalRecord.setApprovalTime(new Date());
mesApprovalRecordClient.rejectApproval(mesApprovalRecord);
}
}else { }else {
throw new RuntimeException("仅工艺员可审批!"); throw new RuntimeException("仅指定人员可审批!");
} }
} }

Loading…
Cancel
Save