From 4245b62411c1eef8b46938db87dc975164434006 Mon Sep 17 00:00:00 2001 From: maxiangong <298222784@qq.com> Date: Fri, 12 Jun 2026 17:48:36 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B4=A8=E9=87=8F=E7=AE=A1=E7=90=86-=E6=88=91?= =?UTF-8?q?=E7=9A=84=E5=BE=85=E5=8A=9E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../enums/MesApprovalRecordBizTypeEnum.java | 4 +- .../feign/IMesApprovalRecordClient.java | 11 +- .../springblade/desk/basic/util/RoleUtil.java | 2 +- .../common/feign/MesApprovalRecordClient.java | 14 +- .../service/IMesApprovalRecordService.java | 7 + .../LiquidTankTaskApprovalServiceImpl.java | 31 + .../impl/MesApprovalRecordServiceImpl.java | 9 + .../ProReTemplateApprovalServiceImpl.java | 29 + .../impl/RaiseHandApprovalServiceImpl.java | 32 + .../MesRbFilePreserveSlotServiceImpl.java | 22 +- .../controller/LiquidTankTaskController.java | 32 +- .../controller/RaiseHandController.java | 964 ++++++++---------- .../service/IInspectionTaskService.java | 5 +- .../service/ILiquidTankTaskService.java | 7 + .../quality/service/IRaiseHandService.java | 5 +- .../impl/InspectionTaskServiceImpl.java | 38 + .../impl/LiquidTankTaskServiceImpl.java | 62 +- .../impl/ProReTemplateServiceImpl.java | 36 +- .../service/impl/RaiseHandServiceImpl.java | 94 +- 19 files changed, 801 insertions(+), 603 deletions(-) create mode 100644 blade-service/blade-desk/src/main/java/org/springblade/desk/common/service/impl/LiquidTankTaskApprovalServiceImpl.java create mode 100644 blade-service/blade-desk/src/main/java/org/springblade/desk/common/service/impl/ProReTemplateApprovalServiceImpl.java create mode 100644 blade-service/blade-desk/src/main/java/org/springblade/desk/common/service/impl/RaiseHandApprovalServiceImpl.java diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/common/enums/MesApprovalRecordBizTypeEnum.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/common/enums/MesApprovalRecordBizTypeEnum.java index 122c09ac1..e8c50ed24 100644 --- a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/common/enums/MesApprovalRecordBizTypeEnum.java +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/common/enums/MesApprovalRecordBizTypeEnum.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; diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/common/feign/IMesApprovalRecordClient.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/common/feign/IMesApprovalRecordClient.java index 90ee5a961..c98decfaf 100644 --- a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/common/feign/IMesApprovalRecordClient.java +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/common/feign/IMesApprovalRecordClient.java @@ -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); } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/basic/util/RoleUtil.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/basic/util/RoleUtil.java index 2366ca5c5..942da0750 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/basic/util/RoleUtil.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/basic/util/RoleUtil.java @@ -47,6 +47,6 @@ public class RoleUtil { return true; } } - return true; + return false; } } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/common/feign/MesApprovalRecordClient.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/common/feign/MesApprovalRecordClient.java index a36deb6ef..8bdfcba80 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/common/feign/MesApprovalRecordClient.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/common/feign/MesApprovalRecordClient.java @@ -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(); + } } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/common/service/IMesApprovalRecordService.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/common/service/IMesApprovalRecordService.java index fb5c78abb..778eaa131 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/common/service/IMesApprovalRecordService.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/common/service/IMesApprovalRecordService.java @@ -173,4 +173,11 @@ public interface IMesApprovalRecordService extends BaseService { + + @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); + } +} diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/common/service/impl/MesApprovalRecordServiceImpl.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/common/service/impl/MesApprovalRecordServiceImpl.java index b01bfbd27..0948ec19d 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/common/service/impl/MesApprovalRecordServiceImpl.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/common/service/impl/MesApprovalRecordServiceImpl.java @@ -426,6 +426,15 @@ public class MesApprovalRecordServiceImpl extends BaseServiceImpl() .eq(MesApprovalRecordEntity::getBizType, bizType) diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/common/service/impl/ProReTemplateApprovalServiceImpl.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/common/service/impl/ProReTemplateApprovalServiceImpl.java new file mode 100644 index 000000000..4d8006a78 --- /dev/null +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/common/service/impl/ProReTemplateApprovalServiceImpl.java @@ -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 { + + @Resource + private IInspectionTaskService inspectionTaskService; + + + @Override + public String getBizType() { + return MesApprovalRecordBizTypeEnum.PRO_RE_TEMPLATE.getDesc(); + } + + @Override + public JSONObject getDetail(Long bizId) { + return inspectionTaskService.getByRfpIdJson(bizId); + } +} diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/common/service/impl/RaiseHandApprovalServiceImpl.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/common/service/impl/RaiseHandApprovalServiceImpl.java new file mode 100644 index 000000000..e4a299656 --- /dev/null +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/common/service/impl/RaiseHandApprovalServiceImpl.java @@ -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 { + + @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; + } +} diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/service/impl/MesRbFilePreserveSlotServiceImpl.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/service/impl/MesRbFilePreserveSlotServiceImpl.java index 99aad6060..8cbebb91c 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/service/impl/MesRbFilePreserveSlotServiceImpl.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/service/impl/MesRbFilePreserveSlotServiceImpl.java @@ -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 implements IMesRbFilePreserveSlotService { - @Override - public IPage selectMesRbFilePreserveSlotPage(IPage page, MesRbFilePreserveSlotVO mesRbFilePreserveSlot) { - return page.setRecords(baseMapper.selectMesRbFilePreserveSlotPage(page, mesRbFilePreserveSlot)); - } + @Override + public IPage selectMesRbFilePreserveSlotPage(IPage page, MesRbFilePreserveSlotVO mesRbFilePreserveSlot) { + return page.setRecords(baseMapper.selectMesRbFilePreserveSlotPage(page, mesRbFilePreserveSlot)); + } - @Override - public List getByRfpId(Long aLong) { - return this.list(Wrappers.lambdaQuery(MesRbFilePreserveSlotEntity.class).eq(MesRbFilePreserveSlotEntity::getRfpId, aLong)); - } + @Override + public List getByRfpId(Long aLong) { + return this.list(Wrappers.lambdaQuery(MesRbFilePreserveSlotEntity.class).eq(MesRbFilePreserveSlotEntity::getRfpId, aLong)); + } } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/LiquidTankTaskController.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/LiquidTankTaskController.java index 070f228c6..d47aa7227 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/LiquidTankTaskController.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/LiquidTankTaskController.java @@ -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 detail(LiquidTankTask liquidTankTask) { - QueryWrapper qw = Condition.getQueryWrapper(liquidTankTask); - LiquidTankTask detail = service.getOne(qw); - - - - - LiquidTankTaskVO detailVO = LiquidTankTaskWrapper.build().entityVO(detail); - - if(null != detail.getReceiveDrugUserId()){ - R user = iUserClient.userInfoById(detail.getReceiveDrugUserId()); - detailVO.setReceiveDurgUserRealName(user.getData().getRealName()); - } - if(null != detail.getRepeatTestUserId()){ - R 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)); } /** diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/RaiseHandController.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/RaiseHandController.java index deefa2e86..f9e1ad8db 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/RaiseHandController.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/RaiseHandController.java @@ -4,9 +4,7 @@ package org.springblade.desk.quality.controller; import cn.hutool.core.bean.BeanUtil; -import cn.hutool.core.date.DateTime; import cn.hutool.core.util.StrUtil; -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; @@ -38,35 +36,30 @@ import org.springblade.desk.basic.constant.BaseRequest; import org.springblade.desk.basic.util.ExcelExtUtil; import org.springblade.desk.basic.util.RequestUtil; import org.springblade.desk.common.constant.BizTypeConstant; +import org.springblade.desk.common.enums.MesApprovalRecordBizTypeEnum; import org.springblade.desk.common.feign.IMesNotifyMessageClient; -import org.springblade.desk.common.feign.MesNotifyMessageClient; import org.springblade.desk.common.pojo.entity.MesNotifyMessageEntity; -import org.springblade.desk.energy.pojo.entity.BsTowerReportEntity; +import org.springblade.desk.common.service.IMesApprovalRecordService; import org.springblade.desk.quality.constant.QAModuleConst; -import org.springblade.desk.quality.excel.LiquidTankWaveExcel; import org.springblade.desk.quality.excel.RaiseHandExcel; -import org.springblade.desk.quality.pojo.entity.*; +import org.springblade.desk.quality.pojo.entity.LiquidTankReport; +import org.springblade.desk.quality.pojo.entity.RaiseHand; +import org.springblade.desk.quality.pojo.entity.RaiseHandRecord; import org.springblade.desk.quality.pojo.vo.LiquidTankTaskCopyVO; -import org.springblade.desk.quality.pojo.vo.LiquidTankWaveVO; import org.springblade.desk.quality.pojo.vo.RaiseHandVO; -import org.springblade.desk.quality.service.*; +import org.springblade.desk.quality.service.ILiquidTankTaskCopyService; +import org.springblade.desk.quality.service.IRaiseHandRecordService; +import org.springblade.desk.quality.service.IRaiseHandService; +import org.springblade.desk.quality.service.IRelTankWaveItemService; import org.springblade.desk.quality.util.FullMergeExcelUtil; -import org.springblade.desk.quality.wrapper.LiquidTankTaskCopyWrapper; -import org.springblade.desk.quality.wrapper.LiquidTankWaveWrapper; import org.springblade.desk.quality.wrapper.RaiseHandWrapper; import org.springblade.system.feign.IUserClient; import org.springblade.system.pojo.entity.User; -import org.springframework.beans.BeanUtils; import org.springframework.http.ResponseEntity; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; -import java.time.LocalDate; -import java.time.LocalDateTime; -import java.time.ZoneId; -import java.time.format.DateTimeFormatter; -import java.time.format.DateTimeParseException; import java.util.*; import java.util.stream.Collectors; @@ -86,111 +79,41 @@ import java.util.stream.Collectors; public class RaiseHandController extends BladeController { @Resource - private IRaiseHandService service; - - @Resource - private ILiquidTankTaskCopyService copyService; - @Resource - private IRelTankWaveItemService relReportItemService; - @Resource - private IUserClient userClient; - @Resource - IRaiseHandRecordService recordService; - @Resource - IMesNotifyMessageClient mesNotifyMessageClient; - - - /** - * [槽液曲线] 详情 - */ - @GetMapping("/detail") - @ApiOperationSupport(order = 10) - @Operation(summary = "详情", description = "传入LiquidTankWave Obj") - public R detail(RaiseHand liquidTankWave) { - QueryWrapper qw = Condition.getQueryWrapper(liquidTankWave); - RaiseHand detail = service.getOne(qw); - RaiseHandVO detailVO = RaiseHandWrapper.build().entityVO(detail); - - List all = new ArrayList<>(); - - QueryWrapper qwRecord = new QueryWrapper<>(); - qwRecord.eq("HAND_ID", detail.getId()); - qwRecord.eq("CURRENT_STATUS", 0); - qwRecord.orderByDesc("CREATE_TIME"); - - List 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 qwRecord1 = new QueryWrapper<>(); - qwRecord1.eq("HAND_ID", detail.getId()); - qwRecord1.eq("CURRENT_STATUS", 1); - - qwRecord1.orderByDesc("CREATE_TIME"); - - List 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 qwRecord2 = new QueryWrapper<>(); - qwRecord2.eq("HAND_ID", detail.getId()); - qwRecord2.eq("CURRENT_STATUS", 2); - qwRecord2.orderByDesc("CREATE_TIME"); - - List 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 qwRecord3 = new QueryWrapper<>(); - qwRecord3.eq("HAND_ID", detail.getId()); - qwRecord3.eq("CURRENT_STATUS", 3); - qwRecord3.orderByDesc("CREATE_TIME"); - - List 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 R.data(detailVO); - } - - /** - * [槽液曲线] list分页 - */ - @GetMapping("/list") - @ApiOperationSupport(order = 20) - @Operation(summary = "list分页", description = "传入LiquidTankWave Obj") - public R> list(@Parameter(hidden = true) @RequestParam Map liquidTankWave, - Query query) { + private IRaiseHandService service; + + @Resource + private ILiquidTankTaskCopyService copyService; + @Resource + private IRelTankWaveItemService relReportItemService; + @Resource + private IUserClient userClient; + @Resource + IRaiseHandRecordService recordService; + @Resource + IMesNotifyMessageClient mesNotifyMessageClient; + @Resource + private IMesApprovalRecordService mesApprovalRecordService; + + + /** + * [槽液曲线] 详情 + */ + @GetMapping("/detail") + @ApiOperationSupport(order = 10) + @Operation(summary = "详情", description = "传入LiquidTankWave Obj") + public R detail(RaiseHand liquidTankWave) { + RaiseHandVO detailVO = service.detail(liquidTankWave); + return R.data(detailVO); + } + + /** + * [槽液曲线] list分页 + */ + @GetMapping("/list") + @ApiOperationSupport(order = 20) + @Operation(summary = "list分页", description = "传入LiquidTankWave Obj") + public R> list(@Parameter(hidden = true) @RequestParam Map liquidTankWave, + Query query) { QueryWrapper qw = Condition.getQueryWrapper(liquidTankWave, RaiseHand.class); @@ -201,409 +124,422 @@ public class RaiseHandController extends BladeController { qw.between(BaseCol.CREATE_TIME, crStart, crEnd); } - IPage pages = service.page(Condition.getPage(query), qw); - IPage pagesVO = RaiseHandWrapper.build().pageVO(pages); - List listVO = pagesVO.getRecords(); - for(RaiseHandVO vo : listVO){ - R user = userClient.userInfoById(vo.getReportUserId()); - if(null != user && null != user.getData()){ - vo.setReportUserName(user.getData().getRealName()); - } - } - return R.data(pagesVO); - } - - - /** - * [槽液曲线] page分页 - */ - @GetMapping("/page") - @ApiOperationSupport(order = 21) - @Operation(summary = "page分页", description = "传入LiquidTankWave Obj") - public R> page(RaiseHandVO liquidTankWave, Query query) { - - BladeUser user = AuthUtil.getUser(); - QueryWrapper qwhand = new QueryWrapper<>(); - qwhand.eq("REPORT_USER_ID", user.getUserId()); - qwhand.eq("STATUS",0); - List hands = service.list(qwhand); - List ids = new ArrayList<>(); - if(null != hands && hands.size() > 0){ - ids = hands.stream().map(RaiseHand::getId).collect(Collectors.toList()); - } - - liquidTankWave.setIds(ids); - - if(user.getRoleId().contains("2028359258054373378") || user.getNickName().equals("admin")){ - liquidTankWave.setCheckStatus(null); - }else{ - //工艺人员 - if("2000409951566053378".equals(user.getRoleId()) || "2019987303479734273".equals(user.getRoleId()) - || "1993624442365915137".equals(user.getRoleId())){ - liquidTankWave.setCheckStatus("1"); - } - //质量工程师 - else if("2003293549151420418".equals(user.getRoleId())){ - liquidTankWave.setCheckStatus("2"); - } - //主管业务领导 - else if("1123598816738675204".equals(user.getRoleId())){ - liquidTankWave.setCheckStatus("3"); - }else{ - liquidTankWave.setCheckStatus("0"); - } - } - - - - IPage pagesVO = service.selectRaiseHandPage( - Condition.getPage(query), liquidTankWave - ); - return R.data(pagesVO); - } - - - - - @PostMapping("/reviewData") - @ApiOperationSupport(order = 30) - @Operation(summary = "新增一条", description = "传入LiquidTankWave Obj") - @Transactional - public R reviewData(@Valid @RequestBody RaiseHandVO addOne) { - RaiseHand one = service.getById(addOne.getId()); - Integer status = one.getStatus(); + IPage pages = service.page(Condition.getPage(query), qw); + IPage pagesVO = RaiseHandWrapper.build().pageVO(pages); + List listVO = pagesVO.getRecords(); + for (RaiseHandVO vo : listVO) { + R user = userClient.userInfoById(vo.getReportUserId()); + if (null != user && null != user.getData()) { + vo.setReportUserName(user.getData().getRealName()); + } + } + return R.data(pagesVO); + } + + + /** + * [槽液曲线] page分页 + */ + @GetMapping("/page") + @ApiOperationSupport(order = 21) + @Operation(summary = "page分页", description = "传入LiquidTankWave Obj") + public R> page(RaiseHandVO liquidTankWave, Query query) { + + BladeUser user = AuthUtil.getUser(); + QueryWrapper qwhand = new QueryWrapper<>(); + qwhand.eq("REPORT_USER_ID", user.getUserId()); + qwhand.eq("STATUS", 0); + List hands = service.list(qwhand); + List ids = new ArrayList<>(); + if (null != hands && hands.size() > 0) { + ids = hands.stream().map(RaiseHand::getId).collect(Collectors.toList()); + } + + liquidTankWave.setIds(ids); + + if (user.getRoleId().contains("2028359258054373378") || user.getNickName().equals("admin")) { + liquidTankWave.setCheckStatus(null); + } else { + //工艺人员 + if ("2000409951566053378".equals(user.getRoleId()) || "2019987303479734273".equals(user.getRoleId()) + || "1993624442365915137".equals(user.getRoleId())) { + liquidTankWave.setCheckStatus("1"); + } + //质量工程师 + else if ("2003293549151420418".equals(user.getRoleId())) { + liquidTankWave.setCheckStatus("2"); + } + //主管业务领导 + else if ("1123598816738675204".equals(user.getRoleId())) { + liquidTankWave.setCheckStatus("3"); + } else { + liquidTankWave.setCheckStatus("0"); + } + } + + + IPage pagesVO = service.selectRaiseHandPage( + Condition.getPage(query), liquidTankWave + ); + return R.data(pagesVO); + } + + + @PostMapping("/reviewData") + @ApiOperationSupport(order = 30) + @Operation(summary = "新增一条", description = "传入LiquidTankWave Obj") + @Transactional + public R reviewData(@Valid @RequestBody RaiseHandVO addOne) { + RaiseHand one = service.getById(addOne.getId()); + Integer status = one.getStatus(); // BeanUtils.copyProperties(addOne, one); - if("0".equals(addOne.getIsSuccess())){ - one.setStatus(0); - }else{ - one.setStatus(one.getStatus()+1); - } - service.updateById(one); - - //创建当前节点记录 - // TODO: 2026/4/28 当前节点已经存在 - RaiseHandRecord record = recordService.getOne(Wrappers.lambdaQuery(RaiseHandRecord.class) - .eq(RaiseHandRecord::getHandId, one.getId()) - .eq(RaiseHandRecord::getCurrentStatus, status) - .eq(RaiseHandRecord::getIsDeleted, 0), false); - // 如果记录不存在,创建新记录 - if (BeanUtil.isEmpty( record)) { - record = new RaiseHandRecord(); - } - Date now = new Date(); - record.setHandId(one.getId()); - record.setNotes(addOne.getNotes()); - record.setIsSuccess(addOne.getIsSuccess()); - record.setCurrentStatus(status); - record.setCreateTime(now); - record.setReviewTime(now); - record.setReviewUserId(AuthUtil.getUser().getUserId()); - record.setReviewUserName(AuthUtil.getUser().getNickName()); - recordService.saveOrUpdate(record); - - // 当下审批节点固定,大于 1 需要手动选择审批人 创建下一节点记录 - if (one.getStatus() > 1 && one.getStatus() < 4) { - createNextNodeRecord(one, addOne.getNextUserId()); - } - - return R.status(true); - } - - private void createNextNodeRecord(RaiseHand raiseHand, String nextUserId) { - // 校验下一节点审批人 - if (StrUtil.isEmpty(nextUserId)) { - throw new RuntimeException("请选择下一节点审批人"); - } - - // 获取下一节点审批人信息 - User nextApprover; - try { - nextApprover = userClient.userInfoById(Long.parseLong(nextUserId)).getData(); - } catch (Exception e) { - log.error("获取下一节点审批人失败", e); - throw new RuntimeException("下一节点审批人获取失败"); - } - - if (BeanUtil.isEmpty(nextApprover)) { - throw new RuntimeException("下一节点审批人获取失败"); - } - - // 创建下一节点记录 - RaiseHandRecord nextNode = new RaiseHandRecord(); - nextNode.setHandId(raiseHand.getId()); - nextNode.setCurrentStatus(raiseHand.getStatus()); - nextNode.setNextUserId(nextApprover.getId().toString()); - nextNode.setNextUserName(nextApprover.getRealName()); - nextNode.setCreateTime(new Date()); - recordService.save(nextNode); - - // 给下一个节点审批人推送消息 - pushNotificationToNextApprover(raiseHand, nextApprover); - } - - private void pushNotificationToNextApprover(RaiseHand raiseHand, User nextApprover) { - try { - // 构建审批节点名称 - String nodeName = getApprovalNodeName(raiseHand.getStatus() + 1); - - // 构建通知标题 - String title = String.format("举手免责审批提醒 - %s", - StringUtils.isNotBlank(raiseHand.getNotes()) ? raiseHand.getNotes() : "待审批"); - - // 构建通知内容 - String content = String.format( - "您有一条新的举手免责审批待处理:\n" + - "- 问题描述:%s\n" + - "- 申请人:%s\n" + - "- 岗位:%s\n" + - "- 当前节点:%s\n" + - "- 申请时间:%s\n" + - "请及时登录系统进行处理。", - StringUtils.defaultIfBlank(raiseHand.getNotes(), "无"), - StringUtils.defaultIfBlank(raiseHand.getReportUserName(), "未知"), - StringUtils.defaultIfBlank(raiseHand.getPostName(), "未知"), - nodeName, - raiseHand.getCreateTime() != null ? DateUtil.format(raiseHand.getCreateTime(), "yyyy-MM-dd HH:mm:ss") : "未知" - ); - - // 创建通知消息实体 - MesNotifyMessageEntity notifyMessage = MesNotifyMessageEntity.builder() - .title(title) - .content(content) - .receiveUserId(nextApprover.getId()) - .bizType(BizTypeConstant.CRAFT_TASK_REDEPLOY) - .build(); - - // 调用Feign客户端保存通知消息 - R result = mesNotifyMessageClient.save(notifyMessage); - - if (result != null && result.isSuccess()) { - log.info("成功发送举手免责审批提醒,审批人: {}, 审批人姓名: {}, 举手ID: {}", - nextApprover.getId(), nextApprover.getRealName(), raiseHand.getId()); - } else { - log.error("发送举手免责审批提醒失败,审批人: {}, 错误信息: {}", - nextApprover.getId(), result != null ? result.getMsg() : "返回结果为空"); - } - - } catch (Exception e) { - log.error("处理举手免责审批提醒时发生异常,举手ID: {}", raiseHand.getId(), e); - throw new RuntimeException("发送举手免责审批提醒失败"); - } - } - - /** - * 根据状态获取审批节点名称 - * @param status 审批状态 - * @return 节点名称 - */ - private String getApprovalNodeName(Integer status) { - if (status == null) { - return "未知节点"; - } - switch (status) { - case 1: - return "工艺管理员审批"; - case 2: - return "质量管理员审批"; - case 3: - return "主管业务领导审批"; - case 4: - return "审批完成"; - default: - return "未知节点"; - } - } - - @PostMapping("/save") - @ApiOperationSupport(order = 30) - @ApiLog("新增举手免责") - @Operation(summary = "新增一条", description = "传入LiquidTankWave Obj") - @Transactional - public R save(@Valid @RequestBody RaiseHand addOne) { - - addOne.setId(null); - service.save(addOne); - // TODO: 2026/4/29 前端未传该字段,框架自动填充 - //if(1 == addOne.getStatus()){ - RaiseHandRecord record = new RaiseHandRecord(); - record.setHandId(addOne.getId()); - record.setNotes(""); - record.setIsSuccess("1"); - record.setCurrentStatus(0); - record.setCreateTime(new Date()); - record.setReviewUserId(AuthUtil.getUser().getUserId()); - record.setReviewUserName(AuthUtil.getUser().getNickName()); - recordService.save(record); - //} - createNextNodeRecord(addOne, addOne.getProcessUserId().toString()); - - return R.status(true); - } - - @PostMapping("/saveBat") - @ApiOperationSupport(order = 31) - @ApiLog("新增举手免责") - @Operation(summary = "新增批量", description = "传入LiquidTankWave List") - public R saveBat(@Valid @RequestBody List addList) { - addList.forEach(one -> { - one.setId(null); - }); - return R.status(service.saveBatch(addList)); - } - - - @PostMapping("/update") - @ApiOperationSupport(order = 40) - @ApiLog("修改举手免责") - @Operation(summary = "修改一条", description = "传入LiquidTankWave Obj") - @Transactional - public R update(@Valid @RequestBody RaiseHand updateOne) { - - - if(1 == updateOne.getStatus()){ - RaiseHandRecord record = new RaiseHandRecord(); - record.setHandId(updateOne.getId()); - record.setNotes(""); - record.setIsSuccess("1"); - record.setCurrentStatus(0); - record.setCreateTime(new Date()); - record.setReviewUserId(AuthUtil.getUser().getUserId()); - record.setReviewUserName(AuthUtil.getUser().getNickName()); - recordService.save(record); - } - - - return R.status(service.updateById(updateOne)); - } - - @PostMapping("/updateSubmit") - @ApiOperationSupport(order = 40) - @ApiLog("提交举手免责") - @Operation(summary = "修改一条", description = "传入LiquidTankWave Obj") - @Transactional - public R updateSubmit(@Valid @RequestBody RaiseHand updateOne) { - - - RaiseHandRecord record = new RaiseHandRecord(); - record.setHandId(updateOne.getId()); - record.setNotes(""); - record.setIsSuccess("1"); - record.setCurrentStatus(0); - record.setCreateTime(new Date()); - record.setReviewUserId(AuthUtil.getUser().getUserId()); - record.setReviewUserName(AuthUtil.getUser().getNickName()); - recordService.save(record); - - updateOne.setStatus(1); - return R.status(service.updateById(updateOne)); - } + if ("0".equals(addOne.getIsSuccess())) { + one.setStatus(0); + } else { + one.setStatus(one.getStatus() + 1); + } + service.updateById(one); + + //创建当前节点记录 + // TODO: 2026/4/28 当前节点已经存在 + RaiseHandRecord record = recordService.getOne(Wrappers.lambdaQuery(RaiseHandRecord.class) + .eq(RaiseHandRecord::getHandId, one.getId()) + .eq(RaiseHandRecord::getCurrentStatus, status) + .eq(RaiseHandRecord::getIsDeleted, 0), false); + // 如果记录不存在,创建新记录 + if (BeanUtil.isEmpty(record)) { + record = new RaiseHandRecord(); + } + Date now = new Date(); + record.setHandId(one.getId()); + record.setNotes(addOne.getNotes()); + record.setIsSuccess(addOne.getIsSuccess()); + record.setCurrentStatus(status); + record.setCreateTime(now); + record.setReviewTime(now); + record.setReviewUserId(AuthUtil.getUser().getUserId()); + record.setReviewUserName(AuthUtil.getUser().getNickName()); + recordService.saveOrUpdate(record); + + // 当下审批节点固定,大于 1 需要手动选择审批人 创建下一节点记录 + if (one.getStatus() > 1 && one.getStatus() < 4) { + createNextNodeRecord(one, addOne.getNextUserId()); + } + if ("0".equals(addOne.getIsSuccess())) { + mesApprovalRecordService.rejectApproval(one.getId(), MesApprovalRecordBizTypeEnum.RAISE_HAND.getDesc(), one.getUpdateUser(), one.getUpdateTime()); + } else { + if (StringUtils.isNotEmpty(addOne.getNextUserId())) { + mesApprovalRecordService.passApprovalWithUsers(one.getId(), MesApprovalRecordBizTypeEnum.RAISE_HAND.getDesc(), one.getUpdateUser(), one.getUpdateTime(), Arrays.asList(Long.parseLong(addOne.getNextUserId()))); + } else { + mesApprovalRecordService.passApproval(one.getId(), MesApprovalRecordBizTypeEnum.RAISE_HAND.getDesc(), one.getUpdateUser(), one.getUpdateTime()); + } + } + return R.status(true); + } + + private void createNextNodeRecord(RaiseHand raiseHand, String nextUserId) { + // 校验下一节点审批人 + if (StrUtil.isEmpty(nextUserId)) { + throw new RuntimeException("请选择下一节点审批人"); + } + + // 获取下一节点审批人信息 + User nextApprover; + try { + nextApprover = userClient.userInfoById(Long.parseLong(nextUserId)).getData(); + } catch (Exception e) { + log.error("获取下一节点审批人失败", e); + throw new RuntimeException("下一节点审批人获取失败"); + } + + if (BeanUtil.isEmpty(nextApprover)) { + throw new RuntimeException("下一节点审批人获取失败"); + } + + // 创建下一节点记录 + RaiseHandRecord nextNode = new RaiseHandRecord(); + nextNode.setHandId(raiseHand.getId()); + nextNode.setCurrentStatus(raiseHand.getStatus()); + nextNode.setNextUserId(nextApprover.getId().toString()); + nextNode.setNextUserName(nextApprover.getRealName()); + nextNode.setCreateTime(new Date()); + recordService.save(nextNode); + + // 给下一个节点审批人推送消息 + pushNotificationToNextApprover(raiseHand, nextApprover); + } + + private void pushNotificationToNextApprover(RaiseHand raiseHand, User nextApprover) { + try { + // 构建审批节点名称 + String nodeName = getApprovalNodeName(raiseHand.getStatus() + 1); + + // 构建通知标题 + String title = String.format("举手免责审批提醒 - %s", + StringUtils.isNotBlank(raiseHand.getNotes()) ? raiseHand.getNotes() : "待审批"); + + // 构建通知内容 + String content = String.format( + "您有一条新的举手免责审批待处理:\n" + + "- 问题描述:%s\n" + + "- 申请人:%s\n" + + "- 岗位:%s\n" + + "- 当前节点:%s\n" + + "- 申请时间:%s\n" + + "请及时登录系统进行处理。", + StringUtils.defaultIfBlank(raiseHand.getNotes(), "无"), + StringUtils.defaultIfBlank(raiseHand.getReportUserName(), "未知"), + StringUtils.defaultIfBlank(raiseHand.getPostName(), "未知"), + nodeName, + raiseHand.getCreateTime() != null ? DateUtil.format(raiseHand.getCreateTime(), "yyyy-MM-dd HH:mm:ss") : "未知" + ); + + // 创建通知消息实体 + MesNotifyMessageEntity notifyMessage = MesNotifyMessageEntity.builder() + .title(title) + .content(content) + .receiveUserId(nextApprover.getId()) + .bizType(BizTypeConstant.CRAFT_TASK_REDEPLOY) + .build(); + + // 调用Feign客户端保存通知消息 + R result = mesNotifyMessageClient.save(notifyMessage); + + if (result != null && result.isSuccess()) { + log.info("成功发送举手免责审批提醒,审批人: {}, 审批人姓名: {}, 举手ID: {}", + nextApprover.getId(), nextApprover.getRealName(), raiseHand.getId()); + } else { + log.error("发送举手免责审批提醒失败,审批人: {}, 错误信息: {}", + nextApprover.getId(), result != null ? result.getMsg() : "返回结果为空"); + } + + } catch (Exception e) { + log.error("处理举手免责审批提醒时发生异常,举手ID: {}", raiseHand.getId(), e); + throw new RuntimeException("发送举手免责审批提醒失败"); + } + } + + /** + * 根据状态获取审批节点名称 + * + * @param status 审批状态 + * @return 节点名称 + */ + private String getApprovalNodeName(Integer status) { + if (status == null) { + return "未知节点"; + } + switch (status) { + case 1: + return "工艺管理员审批"; + case 2: + return "质量管理员审批"; + case 3: + return "主管业务领导审批"; + case 4: + return "审批完成"; + default: + return "未知节点"; + } + } + + @PostMapping("/save") + @ApiOperationSupport(order = 30) + @ApiLog("新增举手免责") + @Operation(summary = "新增一条", description = "传入LiquidTankWave Obj") + @Transactional + public R save(@Valid @RequestBody RaiseHand addOne) { + + addOne.setId(null); + service.save(addOne); + // TODO: 2026/4/29 前端未传该字段,框架自动填充 + //if(1 == addOne.getStatus()){ + RaiseHandRecord record = new RaiseHandRecord(); + record.setHandId(addOne.getId()); + record.setNotes(""); + record.setIsSuccess("1"); + record.setCurrentStatus(0); + record.setCreateTime(new Date()); + record.setReviewUserId(AuthUtil.getUser().getUserId()); + record.setReviewUserName(AuthUtil.getUser().getNickName()); + recordService.save(record); + //} + createNextNodeRecord(addOne, addOne.getProcessUserId().toString()); + mesApprovalRecordService.createApprovalWithUsers(addOne.getId(), MesApprovalRecordBizTypeEnum.RAISE_HAND.getDesc(), record.getCreateUser(), record.getCreateTime(), Arrays.asList(addOne.getProcessUserId())); + return R.status(true); + } + + @PostMapping("/saveBat") + @ApiOperationSupport(order = 31) + @ApiLog("新增举手免责") + @Operation(summary = "新增批量", description = "传入LiquidTankWave List") + public R saveBat(@Valid @RequestBody List addList) { + addList.forEach(one -> { + one.setId(null); + }); + return R.status(service.saveBatch(addList)); + } + + + @PostMapping("/update") + @ApiOperationSupport(order = 40) + @ApiLog("修改举手免责") + @Operation(summary = "修改一条", description = "传入LiquidTankWave Obj") + @Transactional + public R update(@Valid @RequestBody RaiseHand updateOne) { + + + if (1 == updateOne.getStatus()) { + RaiseHandRecord record = new RaiseHandRecord(); + record.setHandId(updateOne.getId()); + record.setNotes(""); + record.setIsSuccess("1"); + record.setCurrentStatus(0); + record.setCreateTime(new Date()); + record.setReviewUserId(AuthUtil.getUser().getUserId()); + record.setReviewUserName(AuthUtil.getUser().getNickName()); + recordService.save(record); + } + + + return R.status(service.updateById(updateOne)); + } + + @PostMapping("/updateSubmit") + @ApiOperationSupport(order = 40) + @ApiLog("提交举手免责") + @Operation(summary = "修改一条", description = "传入LiquidTankWave Obj") + @Transactional + public R updateSubmit(@Valid @RequestBody RaiseHand updateOne) { + + + RaiseHandRecord record = new RaiseHandRecord(); + record.setHandId(updateOne.getId()); + record.setNotes(""); + record.setIsSuccess("1"); + record.setCurrentStatus(0); + record.setCreateTime(new Date()); + record.setReviewUserId(AuthUtil.getUser().getUserId()); + record.setReviewUserName(AuthUtil.getUser().getNickName()); + recordService.save(record); + + updateOne.setStatus(1); + boolean b = service.updateById(updateOne); + mesApprovalRecordService.createApprovalWithUsers(updateOne.getId(), MesApprovalRecordBizTypeEnum.RAISE_HAND.getDesc(), updateOne.getUpdateUser(), updateOne.getUpdateTime(), Arrays.asList(updateOne.getProcessUserId())); + return R.status(b); + } @PostMapping("/updateBat") @ApiOperationSupport(order = 41) - @ApiLog("修改举手免责") - @Operation(summary = "修改批量", description = "传入LiquidTankWave List") + @ApiLog("修改举手免责") + @Operation(summary = "修改批量", description = "传入LiquidTankWave List") public R updateBat(@Valid @RequestBody List updateList) { return R.status(service.updateBatchById(updateList)); } - @PostMapping("/submit") - @ApiOperationSupport(order = 50) - @Operation(summary = "新增或修改一条", description = "传入LiquidTankWave Obj") - public R submit(@Valid @RequestBody RaiseHand mergeOne) { - return R.status(service.saveOrUpdate(mergeOne)); - } - - - @PostMapping("/submitBat") - @ApiOperationSupport(order = 51) - @Operation(summary = "新增或修改批量", description = "传入LiquidTankWave List") - public R submitBat(@Valid @RequestBody List mergeList) { - return R.status(service.saveOrUpdateBatch(mergeList)); - } - - /** - * [槽液曲线] 逻辑删除 - */ - @PostMapping("/remove") - @ApiOperationSupport(order = 61) - @ApiLog("删除举手免责") - @Operation(summary = "逻辑删除", description = "传入ids") - public R remove(@Parameter(description = "主键集合", required = true) @RequestParam String ids) { - return R.status(service.removeByIds(Func.toLongList(ids))); - } - - /** - * [槽液曲线] 导出Excel - */ - @GetMapping("/exportExcel") - @ApiOperationSupport(order = 70) - @Operation(summary = "导出Excel", description = "传入LiquidTankWave") - public void exportExcel(@Parameter(hidden = true) @RequestParam Map liquidTankWave, - BladeUser bladeUser, HttpServletResponse response) { - QueryWrapper qw = Condition.getQueryWrapper(liquidTankWave, RaiseHand.class); - //if (!AuthUtil.isAdministrator()) { - // queryWrapper.lambda().eq(LiquidTankWave::getTenantId, bladeUser.getTenantId()); - //} - //queryWrapper.lambda().eq(LiquidTankWaveEntity::getIsDeleted, BladeConstant.DB_NOT_DELETED); - List list = service.exportRaiseHand(qw); - ExcelUtil.export(response, "[举手免责]数据" + DateUtil.time(), - "[举手免责]数据表", list, RaiseHandExcel.class); - } - - /** + @PostMapping("/submit") + @ApiOperationSupport(order = 50) + @Operation(summary = "新增或修改一条", description = "传入LiquidTankWave Obj") + public R submit(@Valid @RequestBody RaiseHand mergeOne) { + return R.status(service.saveOrUpdate(mergeOne)); + } + + + @PostMapping("/submitBat") + @ApiOperationSupport(order = 51) + @Operation(summary = "新增或修改批量", description = "传入LiquidTankWave List") + public R submitBat(@Valid @RequestBody List mergeList) { + return R.status(service.saveOrUpdateBatch(mergeList)); + } + + /** + * [槽液曲线] 逻辑删除 + */ + @PostMapping("/remove") + @ApiOperationSupport(order = 61) + @ApiLog("删除举手免责") + @Operation(summary = "逻辑删除", description = "传入ids") + public R remove(@Parameter(description = "主键集合", required = true) @RequestParam String ids) { + List idList = Func.toLongList(ids); + boolean b = service.removeByIds(Func.toLongList(ids)); + for (Long id : idList) { + mesApprovalRecordService.removeApproval(id, MesApprovalRecordBizTypeEnum.RAISE_HAND.getDesc()); + } + return R.status(b); + } + + /** + * [槽液曲线] 导出Excel + */ + @GetMapping("/exportExcel") + @ApiOperationSupport(order = 70) + @Operation(summary = "导出Excel", description = "传入LiquidTankWave") + public void exportExcel(@Parameter(hidden = true) @RequestParam Map liquidTankWave, + BladeUser bladeUser, HttpServletResponse response) { + QueryWrapper qw = Condition.getQueryWrapper(liquidTankWave, RaiseHand.class); + //if (!AuthUtil.isAdministrator()) { + // queryWrapper.lambda().eq(LiquidTankWave::getTenantId, bladeUser.getTenantId()); + //} + //queryWrapper.lambda().eq(LiquidTankWaveEntity::getIsDeleted, BladeConstant.DB_NOT_DELETED); + List list = service.exportRaiseHand(qw); + ExcelUtil.export(response, "[举手免责]数据" + DateUtil.time(), + "[举手免责]数据表", list, RaiseHandExcel.class); + } + + /** * [槽液曲线] 下载Excel模板 */ - @GetMapping("/downloadExcelTemplate") - @ApiOperationSupport(order = 71) - @Operation(summary = "下载Excel模板", description = "") - public ResponseEntity downloadExcelTemplate() { - return ExcelExtUtil.downloadXlsTemplate( - "Excel/QA/ImportTemplate-CycleTestItem.xls", - "导入模版-周期试验项目.xls"); - } - - /** - * [槽液曲线] 导入Excel - */ - @PostMapping("/importExcel") - @ApiOperationSupport(order = 72) - @Operation(summary = "导入Excel", description = "MultipartFile") - public R importExcel(@RequestParam("file") MultipartFile file) { - R checkR = ExcelExtUtil.importExcelCheck(file); - if (checkR != null) { - return checkR; - } - List importList = ExcelUtil.read( - file, 0, 1, RaiseHand.class - ); - return R.status(service.saveBatch(importList)); - } - - @GetMapping("/exportData") - @ApiOperationSupport(order = 70) - @Operation(summary = "导出Excel", description = "传入LiquidTankTaskCopy") - @PreAuth - public void exportData(Long id, - HttpServletResponse response) { - List list = new ArrayList<>(); - String name = "举手免责信息收藏"; - String tableTtile ="bbb"; - try { - FullMergeExcelUtil.exportHandExcel( - response, - "举手免责", - name, - tableTtile, - new String[]{"", "", "填写具体班组或个人", "岗位", "发生时间", "免责问题描述", "处理人", - "是否涉及免除金额", "免除金额(元)","处理时间","纠正措施","固化文件","是否闭环", - "闭环日期","问题是否需要在公司范围内举一反三","问题是否涉及用户"}, - list, - new int[]{0} - ); - } catch (Exception e) { - throw new RuntimeException(e); - } - } + @GetMapping("/downloadExcelTemplate") + @ApiOperationSupport(order = 71) + @Operation(summary = "下载Excel模板", description = "") + public ResponseEntity downloadExcelTemplate() { + return ExcelExtUtil.downloadXlsTemplate( + "Excel/QA/ImportTemplate-CycleTestItem.xls", + "导入模版-周期试验项目.xls"); + } + + /** + * [槽液曲线] 导入Excel + */ + @PostMapping("/importExcel") + @ApiOperationSupport(order = 72) + @Operation(summary = "导入Excel", description = "MultipartFile") + public R importExcel(@RequestParam("file") MultipartFile file) { + R checkR = ExcelExtUtil.importExcelCheck(file); + if (checkR != null) { + return checkR; + } + List importList = ExcelUtil.read( + file, 0, 1, RaiseHand.class + ); + return R.status(service.saveBatch(importList)); + } + + @GetMapping("/exportData") + @ApiOperationSupport(order = 70) + @Operation(summary = "导出Excel", description = "传入LiquidTankTaskCopy") + @PreAuth + public void exportData(Long id, + HttpServletResponse response) { + List list = new ArrayList<>(); + String name = "举手免责信息收藏"; + String tableTtile = "bbb"; + try { + FullMergeExcelUtil.exportHandExcel( + response, + "举手免责", + name, + tableTtile, + new String[]{"", "", "填写具体班组或个人", "岗位", "发生时间", "免责问题描述", "处理人", + "是否涉及免除金额", "免除金额(元)", "处理时间", "纠正措施", "固化文件", "是否闭环", + "闭环日期", "问题是否需要在公司范围内举一反三", "问题是否涉及用户"}, + list, + new int[]{0} + ); + } catch (Exception e) { + throw new RuntimeException(e); + } + } } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/IInspectionTaskService.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/IInspectionTaskService.java index 1c1f669c1..c96e07f52 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/IInspectionTaskService.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/IInspectionTaskService.java @@ -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 { void computeOrderQty(WorkPlan wp, InspectionTask task, WorkOrder wo, int checkQ, int testQty, int lossQty, int scrapQty); void addRsSheet(Long id); + + JSONObject getByRfpIdJson(Long rfpId); } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/ILiquidTankTaskService.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/ILiquidTankTaskService.java index 46ceb4066..143f78bc6 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/ILiquidTankTaskService.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/ILiquidTankTaskService.java @@ -87,4 +87,11 @@ public interface ILiquidTankTaskService extends BaseService { * @return R */ R removeWithCheck(String ids); + + /** + * [槽液检测任务] 详情 + * @param liquidTankTask + * @return + */ + LiquidTankTaskVO detail(LiquidTankTask liquidTankTask); } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/IRaiseHandService.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/IRaiseHandService.java index 739625349..51c9123ec 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/IRaiseHandService.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/IRaiseHandService.java @@ -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 { List exportRaiseHand(Wrapper queryWrapper); void update(RaiseHand one); + + RaiseHandVO detail(RaiseHand liquidTankWave); } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/impl/InspectionTaskServiceImpl.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/impl/InspectionTaskServiceImpl.java index 833f71edd..53e0c9018 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/impl/InspectionTaskServiceImpl.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/impl/InspectionTaskServiceImpl.java @@ -2926,4 +2926,42 @@ public class InspectionTaskServiceImpl extends BaseServiceImpl preserveSlotList; + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("RFP_ID", rfpId); + preserveSlotList = mesRbFilePreserveSlotService.list(queryWrapper); + JSONObject obj = new JSONObject(); + Integer insertIndex = 0; + if (preserveSlotList.size() > 0) { + List childrenList; + + for (MesRbFilePreserveSlotEntity dsRbFilePreserveSlot : preserveSlotList) { + List 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; + } + + + } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/impl/LiquidTankTaskServiceImpl.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/impl/LiquidTankTaskServiceImpl.java index e8ae8b66d..9091c5d72 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/impl/LiquidTankTaskServiceImpl.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/impl/LiquidTankTaskServiceImpl.java @@ -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 selectLiquidTankTaskPage(IPage page, @@ -103,7 +115,7 @@ public class LiquidTankTaskServiceImpl extends BaseServiceImpl selectLiquidTankTaskPageByJoin(IPage page, - LiquidTankTaskVO liquidTankTask) { + LiquidTankTaskVO liquidTankTask) { return page.setRecords(baseMapper.selectLiquidTankTaskPageByJoin(page, liquidTankTask)); } @@ -168,6 +180,7 @@ public class LiquidTankTaskServiceImpl extends BaseServiceImpl 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; } // 状态 @@ -664,7 +677,7 @@ public class LiquidTankTaskServiceImpl extends BaseServiceImpl() .eq(LiquidTankTaskHi::getLiquidTankTaskId, taskId)); - + // 删除 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 qw = Condition.getQueryWrapper(liquidTankTask); + LiquidTankTask detail = this.getOne(qw); + LiquidTankTaskVO detailVO = LiquidTankTaskWrapper.build().entityVO(detail); + if (null != detail.getReceiveDrugUserId()) { + R user = iUserClient.userInfoById(detail.getReceiveDrugUserId()); + detailVO.setReceiveDurgUserRealName(user.getData().getRealName()); + } + if (null != detail.getRepeatTestUserId()) { + R 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; + } } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/impl/ProReTemplateServiceImpl.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/impl/ProReTemplateServiceImpl.java index 812847f8d..fc0a75efe 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/impl/ProReTemplateServiceImpl.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/impl/ProReTemplateServiceImpl.java @@ -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 selectProReTemplatePage(IPage page, ProReTemplateVO proReTemplate) { @@ -103,12 +103,12 @@ public class ProReTemplateServiceImpl extends EnBaseServiceImpl roleIdNameMap = new HashMap<>(2){{ + Map roleIdNameMap = new HashMap<>(2) {{ put(2049025452882501633L, "厂长"); put(2049026003313598466L, "副厂长"); }}; @@ -494,9 +500,9 @@ public class ProReTemplateServiceImpl extends EnBaseServiceImpl roleMap = new HashMap<>(2){{ - put(2038575519089082370L,"工艺组长"); - put(2032370955230949378L,"工艺室主任"); + Map roleMap = new HashMap<>(2) {{ + put(2038575519089082370L, "工艺组长"); + put(2032370955230949378L, "工艺室主任"); }}; // 工艺组长/工艺室主任 roleMap.forEach((level1RoleId, roleName) -> { diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/impl/RaiseHandServiceImpl.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/impl/RaiseHandServiceImpl.java index 52527a72a..919dc8474 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/impl/RaiseHandServiceImpl.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/impl/RaiseHandServiceImpl.java @@ -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 implements IRaiseHandService { + @Resource + private IRaiseHandRecordService recordService; + @Override public void setVOValue(WorkPlanItemThicknessVO vo) { @@ -66,5 +69,82 @@ public class RaiseHandServiceImpl extends BaseServiceImpl qw = Condition.getQueryWrapper(liquidTankWave); + RaiseHand detail = this.getOne(qw); + RaiseHandVO detailVO = RaiseHandWrapper.build().entityVO(detail); + + List all = new ArrayList<>(); + + QueryWrapper qwRecord = new QueryWrapper<>(); + qwRecord.eq("HAND_ID", detail.getId()); + qwRecord.eq("CURRENT_STATUS", 0); + qwRecord.orderByDesc("CREATE_TIME"); + + List 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 qwRecord1 = new QueryWrapper<>(); + qwRecord1.eq("HAND_ID", detail.getId()); + qwRecord1.eq("CURRENT_STATUS", 1); + + qwRecord1.orderByDesc("CREATE_TIME"); + + List 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 qwRecord2 = new QueryWrapper<>(); + qwRecord2.eq("HAND_ID", detail.getId()); + qwRecord2.eq("CURRENT_STATUS", 2); + qwRecord2.orderByDesc("CREATE_TIME"); + + List 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 qwRecord3 = new QueryWrapper<>(); + qwRecord3.eq("HAND_ID", detail.getId()); + qwRecord3.eq("CURRENT_STATUS", 3); + qwRecord3.orderByDesc("CREATE_TIME"); + + List 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; + } + }