|
|
|
|
@ -11,8 +11,9 @@ import org.springblade.core.log.exception.ServiceException; |
|
|
|
|
import org.springblade.core.mp.base.BaseServiceImpl; |
|
|
|
|
import org.springblade.core.secure.BladeUser; |
|
|
|
|
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.pojo.entity.MesApprovalRecordEntity; |
|
|
|
|
import org.springblade.desk.common.pojo.dto.MesApprovalRecordFeignDTO; |
|
|
|
|
import org.springblade.erpdata.feign.IErpDataWmsClient; |
|
|
|
|
import org.springblade.erpdata.pojo.vo.PurchaseTrackVO; |
|
|
|
|
import org.springblade.system.feign.ISysClient; |
|
|
|
|
@ -183,26 +184,13 @@ public class StBuyOrderServiceImpl extends BaseServiceImpl<StBuyOrderMapper, StB |
|
|
|
|
buyOrder.setApprovalStatus(StBuyOrder.APPROVAL_STATUS_CHECKING); |
|
|
|
|
baseMapper.insert(buyOrder); |
|
|
|
|
|
|
|
|
|
MesApprovalRecordEntity approvalRecord = new MesApprovalRecordEntity(); |
|
|
|
|
approvalRecord.setBizId(buyOrder.getId()); |
|
|
|
|
approvalRecord.setBizType("额外提请审批"); |
|
|
|
|
approvalRecord.setContent("额外提请审批"); |
|
|
|
|
R<User> ruser = userClient.userInfoById(buyOrder.getDeclareMan()); |
|
|
|
|
User user1 = ruser.getData(); |
|
|
|
|
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)); |
|
|
|
|
MesApprovalRecordFeignDTO mesApprovalRecord = new MesApprovalRecordFeignDTO(); |
|
|
|
|
mesApprovalRecord.setBizId(buyOrder.getId()); |
|
|
|
|
mesApprovalRecord.setBizType(MesApprovalRecordBizTypeEnum.WMS_EXTRA_PLAN.getDesc()); |
|
|
|
|
mesApprovalRecord.setApprovalUser(user.getUserId()); |
|
|
|
|
mesApprovalRecord.setApprovalTime(new Date()); |
|
|
|
|
mesApprovalRecordClient.createApproval(mesApprovalRecord); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 启动流程(原逻辑完全保留)
|
|
|
|
|
// PfFlowRecServiceImpl.saveStartFlow(buyOrder.getFlowCode(), buyOrder.getBoId(), user);
|
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
@ -223,10 +211,7 @@ public class StBuyOrderServiceImpl extends BaseServiceImpl<StBuyOrderMapper, StB |
|
|
|
|
@Override |
|
|
|
|
@Transactional(rollbackFor = Exception.class) |
|
|
|
|
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); |
|
|
|
|
if (buyOrder == null) { |
|
|
|
|
throw new RuntimeException("采购单不存在!"); |
|
|
|
|
@ -243,21 +228,24 @@ public class StBuyOrderServiceImpl extends BaseServiceImpl<StBuyOrderMapper, StB |
|
|
|
|
buyOrder.setCheckDate(new Date()); |
|
|
|
|
baseMapper.updateById(buyOrder); |
|
|
|
|
|
|
|
|
|
R<String> roleIdResp = sysClient.getRoleIds("000000", "厂长,副厂长"); |
|
|
|
|
String roleId = roleIdResp.getData(); |
|
|
|
|
if (approvalResult == 1) { |
|
|
|
|
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(); |
|
|
|
|
updateRecord.setBizId(orderId); |
|
|
|
|
updateRecord.setBizType("额外提请审批"); |
|
|
|
|
updateRecord.setOpinion(""); |
|
|
|
|
// updateRecord.setNextRoleId(Long.valueOf(roleId));
|
|
|
|
|
updateRecord.setNextUserName("厂长,副厂长"); |
|
|
|
|
updateRecord.setStatus(Integer.valueOf(approvalResult)); |
|
|
|
|
} else if (approvalResult == 2) { |
|
|
|
|
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); |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// } else {
|
|
|
|
|
// throw new RuntimeException("仅保管员可执行审批操作!");
|
|
|
|
|
// }
|
|
|
|
|
}else if(buyOrder.getApprovalStatus() == 1){ |
|
|
|
|
|
|
|
|
|
if (StBuyOrder.APPROVAL_STATUS_SECOND_CHECKED == buyOrder.getApprovalStatus()) { |
|
|
|
|
@ -268,13 +256,23 @@ public class StBuyOrderServiceImpl extends BaseServiceImpl<StBuyOrderMapper, StB |
|
|
|
|
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)); |
|
|
|
|
if (approvalResult == 3) { |
|
|
|
|
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); |
|
|
|
|
|
|
|
|
|
} 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); |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|