质量管理-我的待办

liweidong
maxiangong 5 days ago
parent e86d41eb56
commit 4245b62411
  1. 4
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/common/enums/MesApprovalRecordBizTypeEnum.java
  2. 11
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/common/feign/IMesApprovalRecordClient.java
  3. 2
      blade-service/blade-desk/src/main/java/org/springblade/desk/basic/util/RoleUtil.java
  4. 14
      blade-service/blade-desk/src/main/java/org/springblade/desk/common/feign/MesApprovalRecordClient.java
  5. 7
      blade-service/blade-desk/src/main/java/org/springblade/desk/common/service/IMesApprovalRecordService.java
  6. 31
      blade-service/blade-desk/src/main/java/org/springblade/desk/common/service/impl/LiquidTankTaskApprovalServiceImpl.java
  7. 9
      blade-service/blade-desk/src/main/java/org/springblade/desk/common/service/impl/MesApprovalRecordServiceImpl.java
  8. 29
      blade-service/blade-desk/src/main/java/org/springblade/desk/common/service/impl/ProReTemplateApprovalServiceImpl.java
  9. 32
      blade-service/blade-desk/src/main/java/org/springblade/desk/common/service/impl/RaiseHandApprovalServiceImpl.java
  10. 22
      blade-service/blade-desk/src/main/java/org/springblade/desk/produce/service/impl/MesRbFilePreserveSlotServiceImpl.java
  11. 32
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/LiquidTankTaskController.java
  12. 964
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/RaiseHandController.java
  13. 5
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/IInspectionTaskService.java
  14. 7
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/ILiquidTankTaskService.java
  15. 5
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/IRaiseHandService.java
  16. 38
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/impl/InspectionTaskServiceImpl.java
  17. 58
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/impl/LiquidTankTaskServiceImpl.java
  18. 36
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/impl/ProReTemplateServiceImpl.java
  19. 94
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/impl/RaiseHandServiceImpl.java

@ -17,7 +17,9 @@ public enum MesApprovalRecordBizTypeEnum {
TEAM_GROUP_PROCESS_AUDIT("班组提请工艺审批"),
WMS_SCRAP_AUDIT("仓库报废审批"),
BATCH_PLANNING_CATEGORY("槽液计划类/审核"),
LIQUID_TANK_TASK("槽液加药量审核"),
RAISE_HAND("举手免责审核"),
PRO_RE_TEMPLATE("过程记录模板审核"),
;
private final String desc;

@ -27,7 +27,6 @@ package org.springblade.desk.common.feign;
import org.springblade.core.tool.api.R;
import org.springblade.desk.common.pojo.dto.MesApprovalRecordFeignDTO;
import org.springblade.desk.common.pojo.entity.MesApprovalRecordEntity;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
@ -48,7 +47,7 @@ public interface IMesApprovalRecordClient {
String PASS_APPROVAL = API_PREFIX + "/passApproval";
String PENDING_APPROVAL = API_PREFIX + "/pendingApproval";
String REJECT_APPROVAL = API_PREFIX + "/rejectApproval";
String REMOVE_APPROVAL = API_PREFIX + "/removeApproval";
/**
* 创建审核记录
@ -82,4 +81,12 @@ public interface IMesApprovalRecordClient {
*/
@PostMapping(REJECT_APPROVAL)
R rejectApproval(@RequestBody MesApprovalRecordFeignDTO mesApprovalRecord);
/**
* 删除审核记录
* @param mesApprovalRecord
* @return
*/
@PostMapping(REMOVE_APPROVAL)
R removeApproval(@RequestBody MesApprovalRecordFeignDTO mesApprovalRecord);
}

@ -47,6 +47,6 @@ public class RoleUtil {
return true;
}
}
return true;
return false;
}
}

@ -25,12 +25,10 @@
*/
package org.springblade.desk.common.feign;
import lombok.AllArgsConstructor;
import io.swagger.v3.oas.annotations.Hidden;
import lombok.AllArgsConstructor;
import org.springblade.core.tool.api.R;
import org.springblade.desk.common.constant.ApprovalStatusConstant;
import org.springblade.desk.common.pojo.dto.MesApprovalRecordFeignDTO;
import org.springblade.desk.common.pojo.entity.MesApprovalRecordEntity;
import org.springblade.desk.common.service.IMesApprovalRecordService;
import org.springframework.web.bind.annotation.RestController;
@ -86,4 +84,14 @@ public class MesApprovalRecordClient implements IMesApprovalRecordClient {
}
return R.success();
}
@Override
public R removeApproval(MesApprovalRecordFeignDTO mesApprovalRecord) {
try {
mesApprovalRecordService.removeApproval(mesApprovalRecord.getBizId(), mesApprovalRecord.getBizType());
} catch (Exception e) {
return R.fail(e.getMessage());
}
return R.success();
}
}

@ -173,4 +173,11 @@ public interface IMesApprovalRecordService extends BaseService<MesApprovalRecord
* @param approvalTime
*/
void pendingApproval(Long bizId, String bizType, Long approvalUser, Date approvalTime);
/**
* 删除审核记录
* @param bizId
* @param bizType
*/
void removeApproval(Long bizId, String bizType);
}

@ -0,0 +1,31 @@
package org.springblade.desk.common.service.impl;
import jakarta.annotation.Resource;
import org.springblade.desk.common.enums.MesApprovalRecordBizTypeEnum;
import org.springblade.desk.common.service.ApprovalRecordDetailStrategy;
import org.springblade.desk.quality.pojo.entity.LiquidTankTask;
import org.springblade.desk.quality.pojo.vo.LiquidTankTaskVO;
import org.springblade.desk.quality.service.ILiquidTankTaskService;
import org.springframework.stereotype.Service;
/**
* 槽液加药量审核待办策略实现类
*/
@Service
public class LiquidTankTaskApprovalServiceImpl implements ApprovalRecordDetailStrategy<LiquidTankTaskVO> {
@Resource
private ILiquidTankTaskService liquidTankTaskService;
@Override
public String getBizType() {
return MesApprovalRecordBizTypeEnum.LIQUID_TANK_TASK.getDesc();
}
@Override
public LiquidTankTaskVO getDetail(Long bizId) {
LiquidTankTask liquidTankTask = new LiquidTankTask();
liquidTankTask.setId(bizId);
return liquidTankTaskService.detail(liquidTankTask);
}
}

@ -426,6 +426,15 @@ public class MesApprovalRecordServiceImpl extends BaseServiceImpl<MesApprovalRec
approvalFlowUserService.save(flowUser);
}
@Override
public void removeApproval(Long bizId, String bizType) {
MesApprovalRecordEntity entity = getByBiz(bizId, bizType);
if (entity == null || entity.getStatus() != ApprovalStatusConstant.WAITING) {
return;
}
this.removeById(entity.getId());
}
private MesApprovalRecordEntity getByBiz(Long bizId, String bizType) {
return this.getOne(new LambdaQueryWrapper<MesApprovalRecordEntity>()
.eq(MesApprovalRecordEntity::getBizType, bizType)

@ -0,0 +1,29 @@
package org.springblade.desk.common.service.impl;
import com.alibaba.fastjson.JSONObject;
import jakarta.annotation.Resource;
import org.springblade.desk.common.enums.MesApprovalRecordBizTypeEnum;
import org.springblade.desk.common.service.ApprovalRecordDetailStrategy;
import org.springblade.desk.quality.service.IInspectionTaskService;
import org.springframework.stereotype.Service;
/**
* 过程记录模板审核待办策略实现类
*/
@Service
public class ProReTemplateApprovalServiceImpl implements ApprovalRecordDetailStrategy<JSONObject> {
@Resource
private IInspectionTaskService inspectionTaskService;
@Override
public String getBizType() {
return MesApprovalRecordBizTypeEnum.PRO_RE_TEMPLATE.getDesc();
}
@Override
public JSONObject getDetail(Long bizId) {
return inspectionTaskService.getByRfpIdJson(bizId);
}
}

@ -0,0 +1,32 @@
package org.springblade.desk.common.service.impl;
import jakarta.annotation.Resource;
import org.springblade.desk.common.enums.MesApprovalRecordBizTypeEnum;
import org.springblade.desk.common.service.ApprovalRecordDetailStrategy;
import org.springblade.desk.quality.pojo.entity.RaiseHand;
import org.springblade.desk.quality.pojo.vo.RaiseHandVO;
import org.springblade.desk.quality.service.IRaiseHandService;
import org.springframework.stereotype.Service;
/**
* 举手免责审核待办策略实现类
*/
@Service
public class RaiseHandApprovalServiceImpl implements ApprovalRecordDetailStrategy<RaiseHandVO> {
@Resource
private IRaiseHandService raiseHandService;
@Override
public String getBizType() {
return MesApprovalRecordBizTypeEnum.RAISE_HAND.getDesc();
}
@Override
public RaiseHandVO getDetail(Long bizId) {
RaiseHand liquidTankWave = new RaiseHand();
liquidTankWave.setId(bizId);
RaiseHandVO detailVO = raiseHandService.detail(liquidTankWave);
return detailVO;
}
}

@ -1,14 +1,14 @@
package org.springblade.desk.produce.service.impl;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import org.springblade.core.mp.base.BaseServiceImpl;
import org.springblade.desk.produce.mapper.MesRbFilePreserveSlotMapper;
import org.springblade.desk.produce.pojo.entity.MesRbFilePreserveSlotEntity;
import org.springblade.desk.produce.pojo.vo.MesRbFilePreserveSlotVO;
import org.springblade.desk.produce.service.IMesRbFilePreserveSlotService;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.springblade.core.mp.base.BaseServiceImpl;
import java.util.List;
/**
@ -20,15 +20,15 @@ import java.util.List;
@Service
public class MesRbFilePreserveSlotServiceImpl extends BaseServiceImpl<MesRbFilePreserveSlotMapper, MesRbFilePreserveSlotEntity> implements IMesRbFilePreserveSlotService {
@Override
public IPage<MesRbFilePreserveSlotVO> selectMesRbFilePreserveSlotPage(IPage<MesRbFilePreserveSlotVO> page, MesRbFilePreserveSlotVO mesRbFilePreserveSlot) {
return page.setRecords(baseMapper.selectMesRbFilePreserveSlotPage(page, mesRbFilePreserveSlot));
}
@Override
public IPage<MesRbFilePreserveSlotVO> selectMesRbFilePreserveSlotPage(IPage<MesRbFilePreserveSlotVO> page, MesRbFilePreserveSlotVO mesRbFilePreserveSlot) {
return page.setRecords(baseMapper.selectMesRbFilePreserveSlotPage(page, mesRbFilePreserveSlot));
}
@Override
public List<MesRbFilePreserveSlotEntity> getByRfpId(Long aLong) {
return this.list(Wrappers.lambdaQuery(MesRbFilePreserveSlotEntity.class).eq(MesRbFilePreserveSlotEntity::getRfpId, aLong));
}
@Override
public List<MesRbFilePreserveSlotEntity> getByRfpId(Long aLong) {
return this.list(Wrappers.lambdaQuery(MesRbFilePreserveSlotEntity.class).eq(MesRbFilePreserveSlotEntity::getRfpId, aLong));
}
}

@ -23,26 +23,21 @@ import org.springblade.core.mp.support.Query;
import org.springblade.core.secure.BladeUser;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.DateUtil;
import org.springblade.desk.basic.pojo.entity.Formula;
import org.springblade.desk.basic.pojo.entity.WorkTank;
import org.springblade.desk.basic.constant.BaseCol;
import org.springblade.desk.basic.service.IFormulaService;
import org.springblade.desk.basic.service.IWorkTankService;
import org.springblade.desk.basic.util.ExcelExtUtil;
import org.springblade.desk.basic.constant.BaseCol;
import org.springblade.desk.basic.util.QueryUtils;
import org.springblade.desk.quality.constant.LiquidTankTaskConst;
import org.springblade.desk.quality.constant.QAModuleConst;
import org.springblade.desk.quality.excel.LiquidTankTaskExcel;
import org.springblade.desk.quality.pojo.entity.LiquidTank;
import org.springblade.desk.quality.pojo.entity.LiquidTankTask;
import org.springblade.desk.quality.pojo.vo.LiquidTankTaskVO;
import org.springblade.desk.quality.service.ILiquidTankService;
import org.springblade.desk.quality.service.ILiquidTankTaskService;
import org.springblade.desk.quality.wrapper.LiquidTankTaskWrapper;
import org.springblade.system.feign.IUserClient;
import org.springblade.system.pojo.entity.User;
import org.springblade.wms.feign.StRealtimeStockClient;
import org.springblade.wms.pojo.entity.StGoods;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
@ -89,30 +84,7 @@ public class LiquidTankTaskController extends BladeController {
@ApiOperationSupport(order = 10)
@Operation(summary = "详情", description = "传入LiquidTankTask Obj")
public R<LiquidTankTaskVO> detail(LiquidTankTask liquidTankTask) {
QueryWrapper<LiquidTankTask> qw = Condition.getQueryWrapper(liquidTankTask);
LiquidTankTask detail = service.getOne(qw);
LiquidTankTaskVO detailVO = LiquidTankTaskWrapper.build().entityVO(detail);
if(null != detail.getReceiveDrugUserId()){
R<User> user = iUserClient.userInfoById(detail.getReceiveDrugUserId());
detailVO.setReceiveDurgUserRealName(user.getData().getRealName());
}
if(null != detail.getRepeatTestUserId()){
R<User> userrepeat = iUserClient.userInfoById(detail.getRepeatTestUserId());
detailVO.setRepeatTestUserRealName(userrepeat.getData().getRealName());
}
Long goodId = detail.getDrugMaterialId();
StGoods good = new StGoods();
good.setId(goodId);
StGoods stGoods = stRealtimeStockClient.getById(good).getData();
detailVO.setDrugMaterialCode(stGoods.getGoodsCode());
service.setVOValue(detailVO);
return R.data(detailVO);
return R.data(service.detail(liquidTankTask));
}
/**

@ -7,8 +7,6 @@ package org.springblade.desk.quality.service;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import io.swagger.v3.oas.annotations.Parameter;
import org.apache.ibatis.annotations.Param;
import org.springblade.common.exception.BusinessException;
import org.springblade.core.mp.base.BaseService;
import org.springblade.core.secure.BladeUser;
@ -24,7 +22,6 @@ import org.springblade.desk.quality.pojo.request.InspectionTaskSearch;
import org.springblade.desk.quality.pojo.request.InspectionTaskStartNew;
import org.springblade.desk.quality.pojo.vo.InspectionTaskDetailVO;
import org.springblade.desk.quality.pojo.vo.InspectionTaskListVO;
import org.springframework.web.bind.annotation.RequestParam;
import java.util.List;
@ -138,4 +135,6 @@ public interface IInspectionTaskService extends BaseService<InspectionTask> {
void computeOrderQty(WorkPlan wp, InspectionTask task, WorkOrder wo, int checkQ, int testQty, int lossQty, int scrapQty);
void addRsSheet(Long id);
JSONObject getByRfpIdJson(Long rfpId);
}

@ -87,4 +87,11 @@ public interface ILiquidTankTaskService extends BaseService<LiquidTankTask> {
* @return R
*/
R removeWithCheck(String ids);
/**
* [槽液检测任务] 详情
* @param liquidTankTask
* @return
*/
LiquidTankTaskVO detail(LiquidTankTask liquidTankTask);
}

@ -7,10 +7,7 @@ import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.springblade.core.mp.base.BaseService;
import org.springblade.desk.quality.excel.RaiseHandExcel;
import org.springblade.desk.quality.excel.StandardExcel;
import org.springblade.desk.quality.pojo.entity.RaiseHand;
import org.springblade.desk.quality.pojo.entity.Standard;
import org.springblade.desk.quality.pojo.entity.WorkPlanThicknessDetail;
import org.springblade.desk.quality.pojo.vo.RaiseHandVO;
import org.springblade.desk.quality.pojo.vo.WorkPlanItemThicknessVO;
@ -36,4 +33,6 @@ public interface IRaiseHandService extends BaseService<RaiseHand> {
List<RaiseHandExcel> exportRaiseHand(Wrapper<RaiseHand> queryWrapper);
void update(RaiseHand one);
RaiseHandVO detail(RaiseHand liquidTankWave);
}

@ -2926,4 +2926,42 @@ public class InspectionTaskServiceImpl extends BaseServiceImpl<InspectionTaskMap
}
}
}
@Override
public JSONObject getByRfpIdJson(Long rfpId) {
List<MesRbFilePreserveSlotEntity> preserveSlotList;
QueryWrapper<MesRbFilePreserveSlotEntity> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("RFP_ID", rfpId);
preserveSlotList = mesRbFilePreserveSlotService.list(queryWrapper);
JSONObject obj = new JSONObject();
Integer insertIndex = 0;
if (preserveSlotList.size() > 0) {
List<MesRbFilePreserveDetailEntity> childrenList;
for (MesRbFilePreserveSlotEntity dsRbFilePreserveSlot : preserveSlotList) {
List<MesRbFilePreserveDetailDTO> childrenListNew = new ArrayList<>();
if (null != dsRbFilePreserveSlot.getInsertIndex()) {
if (Integer.parseInt(dsRbFilePreserveSlot.getInsertIndex()) > insertIndex) {
insertIndex = Integer.parseInt(dsRbFilePreserveSlot.getInsertIndex());
}
}
childrenList = this.getByRfpsIdMesNew(dsRbFilePreserveSlot.getId());
for (MesRbFilePreserveDetailEntity children : childrenList) {
MesRbFilePreserveDetailDTO childrenDTO = new MesRbFilePreserveDetailDTO();
BeanUtils.copyProperties(children, childrenDTO);
childrenListNew.add(childrenDTO);
}
dsRbFilePreserveSlot.setChildrenList(childrenListNew);
}
}
preserveSlotList.sort(Comparator.comparing(MesRbFilePreserveSlotEntity::getSlotIndex));
obj.put("preserveSlotList", preserveSlotList);
obj.put("insertIndex", insertIndex);
return obj;
}
}

@ -4,7 +4,6 @@
package org.springblade.desk.quality.service.impl;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.cron.task.Task;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@ -17,9 +16,11 @@ import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.jetbrains.annotations.NotNull;
import org.springblade.core.mp.base.BaseServiceImpl;
import org.springblade.core.mp.support.Condition;
import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.Func;
import org.springblade.desk.basic.constant.BaseCol;
import org.springblade.desk.basic.constant.WorkTankConst;
import org.springblade.desk.basic.pojo.entity.TeamSet;
import org.springblade.desk.basic.pojo.entity.WorkTank;
@ -27,23 +28,25 @@ import org.springblade.desk.basic.service.IFormulaService;
import org.springblade.desk.basic.service.ITeamSetService;
import org.springblade.desk.basic.service.IWorkCenterService;
import org.springblade.desk.basic.service.IWorkTankService;
import org.springblade.desk.basic.constant.BaseCol;
import org.springblade.desk.basic.constant.BaseValue;
import org.springblade.desk.basic.util.IdUtil;
import org.springblade.desk.common.enums.MesApprovalRecordBizTypeEnum;
import org.springblade.desk.common.service.IMesApprovalRecordService;
import org.springblade.desk.quality.constant.LiquidTankTaskConst;
import org.springblade.desk.quality.excel.LiquidTankTaskExcel;
import org.springblade.desk.quality.mapper.LiquidTankTaskMapper;
import org.springblade.desk.quality.pojo.entity.LiquidTank;
import org.springblade.desk.quality.pojo.entity.LiquidTankTask;
import org.springblade.desk.quality.pojo.entity.LiquidTankTaskCopy;
import org.springblade.desk.quality.pojo.entity.LiquidTankTaskHi;
import org.springblade.desk.quality.pojo.request.JobExt;
import org.springblade.desk.quality.pojo.vo.LiquidTankTaskVO;
import org.springblade.desk.quality.service.*;
import org.springblade.desk.basic.util.IdUtil;
import org.springblade.desk.quality.util.JobExtUtil;
import org.springblade.desk.quality.wrapper.LiquidTankTaskWrapper;
import org.springblade.system.feign.IDictClient;
import org.springblade.system.feign.IUserClient;
import org.springblade.system.pojo.entity.User;
import org.springblade.wms.feign.StRealtimeStockClient;
import org.springblade.wms.pojo.entity.StGoods;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@ -94,6 +97,15 @@ public class LiquidTankTaskServiceImpl extends BaseServiceImpl<LiquidTankTaskMap
@Resource
private LiquidTankTaskSetVoService setVoService;
@Resource
private IMesApprovalRecordService mesApprovalRecordService;
@Resource
private final StRealtimeStockClient stRealtimeStockClient;
@Resource
private IUserClient iUserClient;
@Override
public IPage<LiquidTankTaskVO> selectLiquidTankTaskPage(IPage<LiquidTankTaskVO> page,
@ -103,7 +115,7 @@ public class LiquidTankTaskServiceImpl extends BaseServiceImpl<LiquidTankTaskMap
@Override
public IPage<LiquidTankTaskVO> selectLiquidTankTaskPageByJoin(IPage<LiquidTankTaskVO> page,
LiquidTankTaskVO liquidTankTask) {
LiquidTankTaskVO liquidTankTask) {
return page.setRecords(baseMapper.selectLiquidTankTaskPageByJoin(page, liquidTankTask));
}
@ -168,6 +180,7 @@ public class LiquidTankTaskServiceImpl extends BaseServiceImpl<LiquidTankTaskMap
// task = basicChangeStatus(task.getId(), LiquidTankTaskConst.S_PENDING_REVIEW);
task = basicChangeTaskStatus(task, LiquidTankTaskConst.S_PENDING_REVIEW);
basicUpdateById(task);
mesApprovalRecordService.createApproval(task.getId(), MesApprovalRecordBizTypeEnum.LIQUID_TANK_TASK.getDesc(), task.getUpdateUser(), task.getUpdateTime());
}
return R.success();
}
@ -191,19 +204,21 @@ public class LiquidTankTaskServiceImpl extends BaseServiceImpl<LiquidTankTaskMap
LiquidTankTask task = baseMapper.selectById(id);
// 通过id去查这一条槽液任务的实际添加量actualAddValue的值,如果是0的话审核通过之后状态就变为正常完成的,不是0按之前的逻辑走
if (Objects.nonNull(task.getActualAddValue()) && 0 == task.getActualAddValue()) {
zeroUpdate(task,reviewPass,reviewOpinion);
zeroUpdate(task, reviewPass, reviewOpinion);
continue;
}
if (Objects.equals(reviewPass, LiquidTankTaskConst.REVIEW_YES)) {
// 审核通过
task = basicChangeStatus(task.getId(), LiquidTankTaskConst.S_PENDING_SEND_DRUG);
task.setReviewPass(LiquidTankTaskConst.REVIEW_YES);
mesApprovalRecordService.passApproval(task.getId(), MesApprovalRecordBizTypeEnum.LIQUID_TANK_TASK.getDesc(), task.getUpdateUser(), task.getUpdateTime());
// todo: flag
// todo: 是否需要加药?
} else if (Objects.equals(reviewPass, LiquidTankTaskConst.REVIEW_NO)) {
// 审核不通过
task = basicChangeStatus(task.getId(), LiquidTankTaskConst.S_PENDING_EDIT_DRUG);
task.setReviewPass(LiquidTankTaskConst.REVIEW_NO);
mesApprovalRecordService.rejectApproval(task.getId(), MesApprovalRecordBizTypeEnum.LIQUID_TANK_TASK.getDesc(), task.getUpdateUser(), task.getUpdateTime());
// todo: flag
}
// 审核意见
@ -278,13 +293,11 @@ public class LiquidTankTaskServiceImpl extends BaseServiceImpl<LiquidTankTaskMap
task.setTeamId(taskOld.getTeamId());
// 领药人 为指定班组 班组长
// task.setReceiveDrugUserId(AuthUtil.getUserId());
Long teamId = task.getTeamId();
TeamSet teamSet = teamSetService.getById(task.getTeamId());
if(teamSet != null){
if (teamSet != null) {
task.setReceiveDrugUserId(teamSet.getTeamLeader());
}
// 领药时间
@ -519,7 +532,7 @@ public class LiquidTankTaskServiceImpl extends BaseServiceImpl<LiquidTankTaskMap
// todo:判断条件
boolean toAccept = true;
R<User> user = userClient.userInfoById(task.getTestUserId());
if(null == user || null == user.getData() || user.getData().getId() == null){
if (null == user || null == user.getData() || user.getData().getId() == null) {
toAccept = false;
}
// 状态
@ -688,6 +701,7 @@ public class LiquidTankTaskServiceImpl extends BaseServiceImpl<LiquidTankTaskMap
// 删除
basicDeleteLogic(java.util.Collections.singletonList(taskId));
mesApprovalRecordService.removeApproval(taskId, MesApprovalRecordBizTypeEnum.LIQUID_TANK_TASK.getDesc());
}
return R.success();
}
@ -731,4 +745,26 @@ public class LiquidTankTaskServiceImpl extends BaseServiceImpl<LiquidTankTaskMap
return "未知状态(" + status + ")";
}
}
@Override
public LiquidTankTaskVO detail(LiquidTankTask liquidTankTask) {
QueryWrapper<LiquidTankTask> qw = Condition.getQueryWrapper(liquidTankTask);
LiquidTankTask detail = this.getOne(qw);
LiquidTankTaskVO detailVO = LiquidTankTaskWrapper.build().entityVO(detail);
if (null != detail.getReceiveDrugUserId()) {
R<User> user = iUserClient.userInfoById(detail.getReceiveDrugUserId());
detailVO.setReceiveDurgUserRealName(user.getData().getRealName());
}
if (null != detail.getRepeatTestUserId()) {
R<User> userrepeat = iUserClient.userInfoById(detail.getRepeatTestUserId());
detailVO.setRepeatTestUserRealName(userrepeat.getData().getRealName());
}
Long goodId = detail.getDrugMaterialId();
StGoods good = new StGoods();
good.setId(goodId);
StGoods stGoods = stRealtimeStockClient.getById(good).getData();
detailVO.setDrugMaterialCode(stGoods.getGoodsCode());
this.setVOValue(detailVO);
return detailVO;
}
}

@ -16,15 +16,18 @@ import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springblade.common.exception.BusinessException;
import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.DateUtil;
import org.springblade.desk.basic.pojo.entity.WorkCenter;
import org.springblade.desk.basic.service.IWorkCenterService;
import org.springblade.desk.basic.service.en.impl.EnBaseServiceImpl;
import org.springblade.desk.basic.util.IdUtil;
import org.springblade.desk.basic.util.RoleUtil;
import org.springblade.desk.common.enums.MesApprovalRecordBizTypeEnum;
import org.springblade.desk.common.feign.IMesNotifyMessageClient;
import org.springblade.desk.common.pojo.entity.MesNotifyMessageEntity;
import org.springblade.desk.common.service.IMesApprovalRecordService;
import org.springblade.desk.dashboard.pojo.entity.BsProcessSetEntity;
import org.springblade.desk.dashboard.service.IBsProcessSetService;
import org.springblade.desk.quality.constant.ProReTemplateConst;
@ -33,7 +36,6 @@ import org.springblade.desk.quality.excel.ProReTemplateExcel;
import org.springblade.desk.quality.mapper.ProReTemplateMapper;
import org.springblade.desk.quality.pojo.entity.ProReTemplate;
import org.springblade.desk.quality.pojo.request.ProReTemplateAuditRequest;
import org.springblade.desk.quality.pojo.vo.ProReTemplateAuditHistoryVO;
import org.springblade.desk.quality.pojo.vo.ProReTemplateDetailVO;
import org.springblade.desk.quality.pojo.vo.ProReTemplateTankVO;
import org.springblade.desk.quality.pojo.vo.ProReTemplateTimelineVO;
@ -41,8 +43,6 @@ import org.springblade.desk.quality.pojo.vo.ProReTemplateVO;
import org.springblade.desk.quality.service.IProReTemplateDetailService;
import org.springblade.desk.quality.service.IProReTemplateService;
import org.springblade.desk.quality.service.IProReTemplateTankService;
import org.springblade.desk.basic.util.IdUtil;
import org.springblade.desk.basic.util.RoleUtil;
import org.springblade.system.feign.IDictClient;
import org.springblade.system.feign.ISysClient;
import org.springblade.system.feign.IUserClient;
@ -50,9 +50,7 @@ import org.springblade.system.pojo.entity.User;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.math.BigDecimal;
import java.util.*;
import java.util.stream.Stream;
/**
* [过程记录模板] 服务实现类
@ -79,11 +77,13 @@ public class ProReTemplateServiceImpl extends EnBaseServiceImpl<ProReTemplateMap
@Resource
private IProReTemplateDetailService detailService;
@Resource
private IWorkCenterService workCenterService;
private IWorkCenterService workCenterService;
@Resource
private IBsProcessSetService bsProcessSetService;
@Resource
private IMesNotifyMessageClient mesNotifyMessageClient;
@Resource
private IMesApprovalRecordService mesApprovalRecordService;
@Override
public IPage<ProReTemplateVO> selectProReTemplatePage(IPage<ProReTemplateVO> page, ProReTemplateVO proReTemplate) {
@ -103,12 +103,12 @@ public class ProReTemplateServiceImpl extends EnBaseServiceImpl<ProReTemplateMap
public void setVOValue(ProReTemplateVO vo) {
WorkCenter center = workCenterService.getById(vo.getWcId());
if(center != null){
if (center != null) {
vo.setWcName(center.getWcName());
}
BsProcessSetEntity bsProcessSet = bsProcessSetService.getById(vo.getPpsId());
if(bsProcessSet != null){
if (bsProcessSet != null) {
vo.setPpsName(bsProcessSet.getName());
}
@ -206,6 +206,8 @@ public class ProReTemplateServiceImpl extends EnBaseServiceImpl<ProReTemplateMap
// 发送消息通知给一级审核人
sendNotificationToLevel1(template);
mesApprovalRecordService.createApproval(id, MesApprovalRecordBizTypeEnum.PRO_RE_TEMPLATE.getDesc(), template.getUpdateUser(), template.getUpdateTime());
return R.success("发布成功,等待一级审核");
}
@ -267,6 +269,7 @@ public class ProReTemplateServiceImpl extends EnBaseServiceImpl<ProReTemplateMap
// 发送消息通知给二级审核人
sendNotificationToLevel2(template);
updateById(template);
mesApprovalRecordService.passApproval(request.getId(), MesApprovalRecordBizTypeEnum.PRO_RE_TEMPLATE.getDesc(), template.getUpdateUser(), template.getUpdateTime());
return R.success("一级审核通过,等待二级审核");
} else {
// 一级审核不通过
@ -275,6 +278,7 @@ public class ProReTemplateServiceImpl extends EnBaseServiceImpl<ProReTemplateMap
template.setAuditRemark(request.getRemark());
updateById(template);
mesApprovalRecordService.rejectApproval(request.getId(), MesApprovalRecordBizTypeEnum.PRO_RE_TEMPLATE.getDesc(), template.getUpdateUser(), template.getUpdateTime());
return R.success("一级审核不通过");
}
}
@ -303,6 +307,7 @@ public class ProReTemplateServiceImpl extends EnBaseServiceImpl<ProReTemplateMap
disableOtherTemplates(template.getWcId(), template.getPpsId(), template.getLine(), template.getId());
updateById(template);
mesApprovalRecordService.passApproval(request.getId(), MesApprovalRecordBizTypeEnum.PRO_RE_TEMPLATE.getDesc(), template.getUpdateUser(), template.getUpdateTime());
return R.success("二级审核通过,模板已生效");
} else {
// 二级审核不通过
@ -311,6 +316,7 @@ public class ProReTemplateServiceImpl extends EnBaseServiceImpl<ProReTemplateMap
template.setAuditRemark(request.getRemark());
updateById(template);
mesApprovalRecordService.rejectApproval(request.getId(), MesApprovalRecordBizTypeEnum.PRO_RE_TEMPLATE.getDesc(), template.getUpdateUser(), template.getUpdateTime());
return R.success("二级审核不通过");
}
}
@ -427,7 +433,7 @@ public class ProReTemplateServiceImpl extends EnBaseServiceImpl<ProReTemplateMap
*/
private boolean hasAuditRoleLevel1() {
// 工艺组长/工艺室主任
return RoleUtil.hasAnyRole("process_manager","热表-工艺组长");
return RoleUtil.hasAnyRole("process_manager", "热表-工艺组长");
}
/**
@ -435,7 +441,7 @@ public class ProReTemplateServiceImpl extends EnBaseServiceImpl<ProReTemplateMap
*/
private boolean hasAuditRoleLevel2() {
// 厂长/副厂长
return RoleUtil.hasAnyRole("plant_manager","deputy_plant_manager");
return RoleUtil.hasAnyRole("plant_manager", "deputy_plant_manager");
}
/**
@ -443,7 +449,7 @@ public class ProReTemplateServiceImpl extends EnBaseServiceImpl<ProReTemplateMap
*/
private void sendNotificationToLevel2(ProReTemplate template) {
try {
Map<Long,String> roleIdNameMap = new HashMap<>(2){{
Map<Long, String> roleIdNameMap = new HashMap<>(2) {{
put(2049025452882501633L, "厂长");
put(2049026003313598466L, "副厂长");
}};
@ -494,9 +500,9 @@ public class ProReTemplateServiceImpl extends EnBaseServiceImpl<ProReTemplateMap
*/
private void sendNotificationToLevel1(ProReTemplate template) {
try {
Map<Long,String> roleMap = new HashMap<>(2){{
put(2038575519089082370L,"工艺组长");
put(2032370955230949378L,"工艺室主任");
Map<Long, String> roleMap = new HashMap<>(2) {{
put(2038575519089082370L, "工艺组长");
put(2032370955230949378L, "工艺室主任");
}};
// 工艺组长/工艺室主任
roleMap.forEach((level1RoleId, roleName) -> {

@ -4,27 +4,27 @@
package org.springblade.desk.quality.service.impl;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import jakarta.annotation.Resource;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.extern.slf4j.Slf4j;
import org.springblade.core.mp.base.BaseServiceImpl;
import org.springblade.core.mp.support.Condition;
import org.springblade.desk.quality.excel.RaiseHandExcel;
import org.springblade.desk.quality.excel.StandardExcel;
import org.springblade.desk.quality.mapper.RaiseHandMapper;
import org.springblade.desk.quality.mapper.WorkPlanItemThicknessMapper;
import org.springblade.desk.quality.pojo.entity.RaiseHand;
import org.springblade.desk.quality.pojo.entity.WorkPlanThicknessDetail;
import org.springblade.desk.quality.pojo.entity.RaiseHandRecord;
import org.springblade.desk.quality.pojo.vo.RaiseHandVO;
import org.springblade.desk.quality.pojo.vo.WorkPlanItemThicknessVO;
import org.springblade.desk.quality.service.IRaiseHandRecordService;
import org.springblade.desk.quality.service.IRaiseHandService;
import org.springblade.desk.quality.service.IWorkPlanItemThicknessService;
import org.springblade.desk.quality.wrapper.WorkPlanItemThicknessWrapper;
import org.springblade.desk.quality.wrapper.RaiseHandWrapper;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List;
/**
@ -41,6 +41,9 @@ import java.util.List;
public class RaiseHandServiceImpl extends BaseServiceImpl<RaiseHandMapper, RaiseHand>
implements IRaiseHandService {
@Resource
private IRaiseHandRecordService recordService;
@Override
public void setVOValue(WorkPlanItemThicknessVO vo) {
@ -66,5 +69,82 @@ public class RaiseHandServiceImpl extends BaseServiceImpl<RaiseHandMapper, Raise
}
@Override
public RaiseHandVO detail(RaiseHand liquidTankWave) {
QueryWrapper<RaiseHand> qw = Condition.getQueryWrapper(liquidTankWave);
RaiseHand detail = this.getOne(qw);
RaiseHandVO detailVO = RaiseHandWrapper.build().entityVO(detail);
List<RaiseHandRecord> all = new ArrayList<>();
QueryWrapper<RaiseHandRecord> qwRecord = new QueryWrapper<>();
qwRecord.eq("HAND_ID", detail.getId());
qwRecord.eq("CURRENT_STATUS", 0);
qwRecord.orderByDesc("CREATE_TIME");
List<RaiseHandRecord> record01s = recordService.list(qwRecord);
if(null != record01s && record01s.size() > 0){
RaiseHandRecord record01 = record01s.get(0);
record01.setPointName("提交人");
all.add(record01);
}else{
RaiseHandRecord record01 = new RaiseHandRecord();
record01.setPointName("提交人");
all.add(record01);
}
QueryWrapper<RaiseHandRecord> qwRecord1 = new QueryWrapper<>();
qwRecord1.eq("HAND_ID", detail.getId());
qwRecord1.eq("CURRENT_STATUS", 1);
qwRecord1.orderByDesc("CREATE_TIME");
List<RaiseHandRecord> record1s = recordService.list(qwRecord1);
if(null != record1s && record1s.size() > 0){
RaiseHandRecord record01 = record1s.get(0);
record01.setPointName("工艺管理员");
all.add(record01);
}else{
RaiseHandRecord record01 = new RaiseHandRecord();
record01.setPointName("工艺管理员");
all.add(record01);
}
QueryWrapper<RaiseHandRecord> qwRecord2 = new QueryWrapper<>();
qwRecord2.eq("HAND_ID", detail.getId());
qwRecord2.eq("CURRENT_STATUS", 2);
qwRecord2.orderByDesc("CREATE_TIME");
List<RaiseHandRecord> record2s = recordService.list(qwRecord2);
if(null != record2s && record2s.size() > 0){
RaiseHandRecord record01 = record2s.get(0);
record01.setPointName("质量管理员");
all.add(record01);
}else{
RaiseHandRecord record01 = new RaiseHandRecord();
record01.setPointName("质量管理员");
all.add(record01);
}
QueryWrapper<RaiseHandRecord> qwRecord3 = new QueryWrapper<>();
qwRecord3.eq("HAND_ID", detail.getId());
qwRecord3.eq("CURRENT_STATUS", 3);
qwRecord3.orderByDesc("CREATE_TIME");
List<RaiseHandRecord> record3s = recordService.list(qwRecord3);
if(null != record3s && record3s.size() > 0){
RaiseHandRecord record01 = record3s.get(0);
record01.setPointName("主管业务领导");
all.add(record01);
}else{
RaiseHandRecord record01 = new RaiseHandRecord();
record01.setPointName("主管业务领导");
all.add(record01);
}
detailVO.setAll( all);
return detailVO;
}
}

Loading…
Cancel
Save