liweidong
liweidong-hj 1 week ago
commit f850f8c7e4
  1. 47
      blade-service-api/blade-wms-api/src/main/java/org/springblade/wms/pojo/entity/StMoldApplyFor.java
  2. 25
      blade-service/blade-wms/src/main/java/org/springblade/wms/controller/StMoldApplyForController.java
  3. 4
      blade-service/blade-wms/src/main/java/org/springblade/wms/service/IStMoldApplyForService.java
  4. 98
      blade-service/blade-wms/src/main/java/org/springblade/wms/service/impl/StMoldApplyForServiceImpl.java

@ -1,5 +1,6 @@
package org.springblade.wms.pojo.entity; package org.springblade.wms.pojo.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.fasterxml.jackson.databind.annotation.JsonSerialize;
@ -125,12 +126,34 @@ public class StMoldApplyFor extends TenantEntity {
@Schema(description = "紧急状态") @Schema(description = "紧急状态")
private String urgentType; private String urgentType;
/**
* 审批人
*/
@TableField(value = "APPROVAL_MAN")
private Long approvalMan;
/**
* 审批时间
*/
@TableField(value = "APPROVAL_TIME")
private Date approvalTime;
/**
* 审批状态
*/
@TableField(value = "APPROVAL_STATUS")
private Short approvalStatus;
/** /**
* 新建 * 新建
*/ */
public static Short MAF_STATUS_NEW = 1; public static Short MAF_STATUS_NEW = 0;
/** /**
* 已申请 * 已确认
*/
public static Short MAF_STATUS_CONFIRMED = 1;
/**
* 已审批
*/ */
public static Short MAF_STATUS_HAVE = 2; public static Short MAF_STATUS_HAVE = 2;
/** /**
@ -142,5 +165,25 @@ public class StMoldApplyFor extends TenantEntity {
*/ */
public static Short MAF_STATUS_ERP_DEL = 4; public static Short MAF_STATUS_ERP_DEL = 4;
/**
* 初始状态(未发送审批)
*/
public static final short APPROVAL_STATUS_NEW = -1;
/**
* 审批中(审批中)
*/
public static final short APPROVAL_STATUS_CHECKING = 0;
/**
* 审批完毕(审批通过)
*/
public static final short APPROVAL_STATUS_CHECKED = 1;
/**
* 审批未通过
*/
public static final short APPROVAL_STATUS_UNPASS = 2;
} }

@ -22,6 +22,7 @@ import org.springblade.core.tool.utils.DateUtil;
import org.springblade.core.tool.utils.Func; import org.springblade.core.tool.utils.Func;
import org.springblade.wms.excel.StMoldApplyForExcel; import org.springblade.wms.excel.StMoldApplyForExcel;
import org.springblade.wms.pojo.dto.StMoldApplyForDTO; import org.springblade.wms.pojo.dto.StMoldApplyForDTO;
import org.springblade.wms.pojo.entity.StBuyOrder;
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;
@ -137,13 +138,35 @@ public class StMoldApplyForController extends BladeController {
return R.status(stMoldApplyForService.delete(Func.toLongList(ids))); return R.status(stMoldApplyForService.delete(Func.toLongList(ids)));
} }
/**
* 工装计划申请表
*/
@PostMapping("/renderApproval")
@ApiOperationSupport(order = 5)
@ApiLog("工装计划申请表 ")
@Operation(summary = "修改", description = "传入stMoldApplyFor")
public R renderApproval(@Valid @RequestBody List<StMoldApplyFor> list) {
return R.status(stMoldApplyForService.renderApproval(list));
}
/**
* 采购申请单 审批
*/
@PostMapping("/approval/operate")
@ApiOperationSupport(order = 8)
@ApiLog("采购申请单 审批")
@Operation(summary = "审批", description = "传入ids")
public R<String> approvalOrder( @RequestParam Long id, @RequestParam Short approvalResult) {
stMoldApplyForService.approvalOrder(id, approvalResult, AuthUtil.getUser());
return R.success("审批操作成功");
}
/** /**
* 导出数据 * 导出数据
*/ */
@IsAdmin @IsAdmin
@GetMapping("/export-stMoldApplyFor") @GetMapping("/export-stMoldApplyFor")
@ApiOperationSupport(order = 8) @ApiOperationSupport(order = 9)
@ApiLog("导出数据") @ApiLog("导出数据")
@Operation(summary = "导出数据", description = "传入stMoldApplyFor") @Operation(summary = "导出数据", description = "传入stMoldApplyFor")
public void exportStMoldApplyFor(@Parameter(hidden = true) @RequestParam Map<String, Object> stMoldApplyFor, BladeUser bladeUser, HttpServletResponse response) { public void exportStMoldApplyFor(@Parameter(hidden = true) @RequestParam Map<String, Object> stMoldApplyFor, BladeUser bladeUser, HttpServletResponse response) {

@ -41,5 +41,9 @@ public interface IStMoldApplyForService extends BaseService<StMoldApplyFor> {
void addOrEditProcess(List<StMoldApplyFor> list, List<Long> deleteIds, BladeUser user); void addOrEditProcess(List<StMoldApplyFor> list, List<Long> deleteIds, BladeUser user);
boolean delete(List<Long> deleteIds); boolean delete(List<Long> deleteIds);
void approvalOrder(Long id, Short approvalResult, BladeUser user);
boolean renderApproval(List<StMoldApplyFor> list);
} }

@ -9,7 +9,10 @@ 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.tool.api.R; import org.springblade.core.tool.api.R;
import org.springblade.desk.common.feign.IMesApprovalRecordClient;
import org.springblade.desk.common.pojo.entity.MesApprovalRecordEntity;
import org.springblade.erpdata.feign.IErpDataWmsClient; import org.springblade.erpdata.feign.IErpDataWmsClient;
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;
@ -37,7 +40,11 @@ public class StMoldApplyForServiceImpl extends BaseServiceImpl<StMoldApplyForMap
@Resource @Resource
IUserClient userClient; IUserClient userClient;
@Resource @Resource
ISysClient sysClient;
@Resource
IErpDataWmsClient erpDataWmsClient; IErpDataWmsClient erpDataWmsClient;
@Resource
IMesApprovalRecordClient mesApprovalRecordClient;
@Override @Override
public IPage<StMoldApplyForVO> selectStMoldApplyForPage(IPage<StMoldApplyForVO> page, StMoldApplyForVO stMoldApplyFor) { public IPage<StMoldApplyForVO> selectStMoldApplyForPage(IPage<StMoldApplyForVO> page, StMoldApplyForVO stMoldApplyFor) {
@ -55,29 +62,14 @@ public class StMoldApplyForServiceImpl extends BaseServiceImpl<StMoldApplyForMap
plan.setCreateUser(user.getUserId()); plan.setCreateUser(user.getUserId());
plan.setCreateTime(new Date()); plan.setCreateTime(new Date());
R<User> ruser = userClient.userInfoById(plan.getKeeper());
User keeper = ruser.getData();
String erpWoCode = null;
// 1. 调 ERP
try {
erpWoCode = erpDataWmsClient.createMoldPlan(
plan.getPartCode(), plan.getMoCode(), plan.getPlanType(),
plan.getQuantity(), plan.getNeedDate(), plan.getQuaLevel(),
keeper.getAccount(), user.getAccount(),
StrUtil.blankToDefault(plan.getMemo(), ""),
plan.getUrgentType(), StrUtil.nullToEmpty(plan.getErpWoCode())).getData();
} catch (BusinessException e) {
throw new RuntimeException("创建模具计划失败:" + e.getMessage());
}
// 2. 本地落库 // 2. 本地落库
if (plan.getId() != null) { // 修改 if (plan.getId() != null) { // 修改
plan.setErpWoCode(erpWoCode); // plan.setErpWoCode(erpWoCode);
this.updateById(plan); this.updateById(plan);
} else { // 新增 } else { // 新增
plan.setErpWoCode(erpWoCode); // plan.setErpWoCode(erpWoCode);
plan.setMafType((short) 2); plan.setMafType((short) 2);
plan.setMafStatus(StMoldApplyFor.MAF_STATUS_HAVE); plan.setMafStatus(StMoldApplyFor.MAF_STATUS_NEW);
this.save(plan); this.save(plan);
} }
} }
@ -107,6 +99,7 @@ public class StMoldApplyForServiceImpl extends BaseServiceImpl<StMoldApplyForMap
if (CollUtil.isNotEmpty(deleteIds)) { if (CollUtil.isNotEmpty(deleteIds)) {
for (Long id : deleteIds) { for (Long id : deleteIds) {
StMoldApplyFor plan = this.getById(id); StMoldApplyFor plan = this.getById(id);
if (plan.getMafStatus() == 2) {
if (plan == null) continue; if (plan == null) continue;
if (!StMoldApplyFor.MAF_STATUS_OK.equals(plan.getMafStatus())) { if (!StMoldApplyFor.MAF_STATUS_OK.equals(plan.getMafStatus())) {
try { try {
@ -120,9 +113,78 @@ public class StMoldApplyForServiceImpl extends BaseServiceImpl<StMoldApplyForMap
} }
} }
} }
}
return this.deleteLogic(deleteIds); return this.deleteLogic(deleteIds);
} }
@Override
public boolean renderApproval(List<StMoldApplyFor> list){
for (StMoldApplyFor plan : list){
plan.setMafStatus(StMoldApplyFor.MAF_STATUS_CONFIRMED);
MesApprovalRecordEntity approvalRecord = new MesApprovalRecordEntity();
approvalRecord.setBizId(plan.getId());
approvalRecord.setBizType("工装计划申报审批");
approvalRecord.setContent("工装计划申报审批");
R<User> ruse = userClient.userInfoById(plan.getCreateUser());
User user1 = ruse.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));
mesApprovalRecordClient.save(approvalRecord);
}
return this.updateBatchById(list);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void approvalOrder(Long orderId, Short approvalResult, BladeUser approver) {
StMoldApplyFor plan = baseMapper.selectById(orderId);
if (plan == null) {
throw new RuntimeException("工装申报不存在!");
}
if (StMoldApplyFor.APPROVAL_STATUS_CHECKED == plan.getApprovalStatus()) {
throw new RuntimeException("该工装申报单已审批通过,无需重复审批!");
}
plan.setApprovalStatus(approvalResult);
plan.setApprovalMan(approver.getUserId());
plan.setApprovalTime(new Date());
baseMapper.updateById(plan);
if (plan.getApprovalStatus() == 1) {
R<User> ruser = userClient.userInfoById(plan.getKeeper());
User keeper = ruser.getData();
R<User> ruse = userClient.userInfoById(plan.getCreateUser());
User user = ruse.getData();
String erpWoCode = null;
// 调 ERP
try {
erpWoCode = erpDataWmsClient.createMoldPlan(
plan.getPartCode(), plan.getMoCode(), plan.getPlanType(),
plan.getQuantity(), plan.getNeedDate(), plan.getQuaLevel(),
keeper.getAccount(), user.getAccount(),
StrUtil.blankToDefault(plan.getMemo(), ""),
plan.getUrgentType(), StrUtil.nullToEmpty(plan.getErpWoCode())).getData();
} catch (BusinessException e) {
throw new RuntimeException("创建模具计划失败:" + e.getMessage());
}
plan.setErpWoCode(erpWoCode);
plan.setMafStatus(StMoldApplyFor.MAF_STATUS_HAVE);
baseMapper.updateById(plan);
}
}
@Override @Override
public List<StMoldApplyForExcel> exportStMoldApplyFor(Wrapper<StMoldApplyFor> queryWrapper) { public List<StMoldApplyForExcel> exportStMoldApplyFor(Wrapper<StMoldApplyFor> queryWrapper) {
List<StMoldApplyForExcel> stMoldApplyForList = baseMapper.exportStMoldApplyFor(queryWrapper); List<StMoldApplyForExcel> stMoldApplyForList = baseMapper.exportStMoldApplyFor(queryWrapper);

Loading…
Cancel
Save