diff --git a/nflg-mobilebroken-admin/src/main/java/com/nflg/mobilebroken/admin/controller/TicketController.java b/nflg-mobilebroken-admin/src/main/java/com/nflg/mobilebroken/admin/controller/TicketController.java index 3d186a02..9bf974dc 100644 --- a/nflg-mobilebroken-admin/src/main/java/com/nflg/mobilebroken/admin/controller/TicketController.java +++ b/nflg-mobilebroken-admin/src/main/java/com/nflg/mobilebroken/admin/controller/TicketController.java @@ -480,7 +480,7 @@ public class TicketController extends ControllerBase { **/ @GetMapping("revokedTicket") public ApiResult revokedTicket(@Valid @RequestParam @NotNull Integer id) { - ticketService.revoked(id); + ticketService.revokedFromAdmin(id); return ApiResult.success(); } diff --git a/nflg-mobilebroken-cfs-app/src/main/java/com/nflg/mobilebroken/cfs/CfsApplication.java b/nflg-mobilebroken-cfs-app/src/main/java/com/nflg/mobilebroken/cfs/CfsApplication.java index 3a3acf91..0eb76e0e 100644 --- a/nflg-mobilebroken-cfs-app/src/main/java/com/nflg/mobilebroken/cfs/CfsApplication.java +++ b/nflg-mobilebroken-cfs-app/src/main/java/com/nflg/mobilebroken/cfs/CfsApplication.java @@ -1,5 +1,7 @@ package com.nflg.mobilebroken.cfs; +import cn.dev33.satoken.SaManager; +import lombok.extern.slf4j.Slf4j; import org.mybatis.spring.annotation.MapperScan; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @@ -8,6 +10,7 @@ import org.springframework.context.annotation.ComponentScan; import org.springframework.scheduling.annotation.EnableAsync; import org.springframework.scheduling.annotation.EnableScheduling; +@Slf4j @SpringBootApplication @MapperScan("com.nflg.mobilebroken.repository.mapper") @ComponentScan(basePackages = {"com.nflg.mobilebroken.repository.service", "com.nflg.mobilebroken.cfs" @@ -19,5 +22,6 @@ public class CfsApplication { public static void main(String[] args) { SpringApplication.run(CfsApplication.class, args); + log.info("启动成功,Sa-Token 配置如下:{}", SaManager.getConfig()); } } diff --git a/nflg-mobilebroken-cfs-app/src/main/java/com/nflg/mobilebroken/cfs/service/TicketUnionService.java b/nflg-mobilebroken-cfs-app/src/main/java/com/nflg/mobilebroken/cfs/service/TicketUnionService.java index bbf2c6e5..5eb09c47 100644 --- a/nflg-mobilebroken-cfs-app/src/main/java/com/nflg/mobilebroken/cfs/service/TicketUnionService.java +++ b/nflg-mobilebroken-cfs-app/src/main/java/com/nflg/mobilebroken/cfs/service/TicketUnionService.java @@ -35,12 +35,12 @@ public class TicketUnionService { public TicketDTO revoked(Long id) { if (id < Integer.MAX_VALUE) { - Ticket ticket = ticketService.revoked(Math.toIntExact(id)); + Ticket ticket = ticketService.revokedFromApp(Math.toIntExact(id)); TicketDTO dto = Convert.convert(TicketDTO.class, ticket); dto.setType(0); return dto; } else { - GongfuTicket ticket = gongfuTicketService.revoked(id); + GongfuTicket ticket = gongfuTicketService.revokedFromApp(id); TicketDTO dto = Convert.convert(TicketDTO.class, ticket); dto.setType(1); return dto; diff --git a/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/constant/MessageSubType.java b/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/constant/MessageSubType.java index 77b93874..32cf7078 100644 --- a/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/constant/MessageSubType.java +++ b/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/constant/MessageSubType.java @@ -32,13 +32,13 @@ public enum MessageSubType { //工单解决方案审核 TicketSolutionAudit(11, "工单解决方案审核"), //派工单延期审核 - DispatchApplyforAudit(12, "派工单延期审核"), + DispatchApplyforAudit(12, "派工延期审核"), //派工单创建 - DispatchCreate(13, "派工单创建"), + DispatchCreate(13, "派工创建"), //派工单完成 - DispatchComplate(14, "派工单完成"), + DispatchComplate(14, "派工完成"), //派工单延期审核结果 - DispatchAuditResult(15, "派工单延期审核结果"), + DispatchAuditResult(15, "派工延期审核结果"), //工单解决方案审核 TicketSolutionAuditResult(16, "工单解决方案审核结果"), ; diff --git a/nflg-mobilebroken-gongfu/src/main/java/com/nflg/mobilebroken/gongfu/controller/DispatchController.java b/nflg-mobilebroken-gongfu/src/main/java/com/nflg/mobilebroken/gongfu/controller/DispatchController.java index 4897ab02..b478d419 100644 --- a/nflg-mobilebroken-gongfu/src/main/java/com/nflg/mobilebroken/gongfu/controller/DispatchController.java +++ b/nflg-mobilebroken-gongfu/src/main/java/com/nflg/mobilebroken/gongfu/controller/DispatchController.java @@ -219,7 +219,7 @@ public class DispatchController extends ControllerBase { @GetMapping("/getInfo") public ApiResult getInfo(@RequestParam Long id) { DispatchVO vo = dispatchService.getInfo(id); - VUtils.trueThrowBusinessError(Objects.isNull(vo)).throwMessage("派工单不存在"); + VUtils.trueThrowBusinessError(Objects.isNull(vo)).throwMessage("派工不存在"); vo.setFiles(Convert.toList(GongfuFileVO.class, fileService.lambdaQuery() .eq(GongfuFile::getSourceId, id) .list() @@ -238,7 +238,7 @@ public class DispatchController extends ControllerBase { public ApiResult applyforAdd(@Valid @RequestBody DispatchApplyForAddRequest request) { GongfuDispatch dispatch = dispatchService.getById(request.getTicketId()); VUtils.trueThrowBusinessError(!Objects.equals(dispatch.getHandlerUserId(), AdminUserUtil.getUserId().longValue())) - .throwMessage("你不是派工单处理人,无法申请延期"); + .throwMessage("你不是派工处理人,无法申请延期"); VUtils.trueThrowBusinessError(Objects.equals(dispatch.getState(), 2)).throwMessage("已完成状态不能申请延期"); VUtils.trueThrowBusinessError(dispatchApplyforService.lambdaQuery() .eq(GongfuDispatchApplyfor::getTicketId, request.getTicketId()) @@ -285,7 +285,7 @@ public class DispatchController extends ControllerBase { VUtils.trueThrowBusinessError(Objects.isNull(applyfor)).throwMessage("延期申请不存在"); VUtils.trueThrowBusinessError(!Objects.equals(applyfor.getAuditState(), 0)).throwMessage("已经审核过了"); GongfuDispatch dispatch = dispatchService.getById(applyfor.getTicketId()); - VUtils.trueThrowBusinessError(Objects.isNull(dispatch)).throwMessage("派工单不存在"); + VUtils.trueThrowBusinessError(Objects.isNull(dispatch)).throwMessage("派工不存在"); ApplyforAuditVO vo = new ApplyforAuditVO(); vo.setApplyUser(adminUserService.getInfo(applyfor.getCreateById())); DispatchApplyforAuditVO ao = Convert.convert(DispatchApplyforAuditVO.class, dispatch); @@ -306,10 +306,10 @@ public class DispatchController extends ControllerBase { VUtils.trueThrowBusinessError(Objects.isNull(applyfor)).throwMessage("延期申请不存在"); VUtils.trueThrowBusinessError(!Objects.equals(applyfor.getAuditState(), 0)).throwMessage("已经审核过了"); GongfuDispatch dispatch = dispatchService.getById(applyfor.getTicketId()); - VUtils.trueThrowBusinessError(Objects.isNull(dispatch)).throwMessage("派工单不存在"); - VUtils.trueThrowBusinessError(dispatch.getState() == 2).throwMessage("派工单已完成不能延期"); + VUtils.trueThrowBusinessError(Objects.isNull(dispatch)).throwMessage("派工不存在"); + VUtils.trueThrowBusinessError(dispatch.getState() == 2).throwMessage("派工已完成不能延期"); VUtils.trueThrowBusinessError(!Objects.equals(dispatch.getCreateById(), AdminUserUtil.getUserId())) - .throwMessage("你不是派工单创建人,无法审核延期申请"); + .throwMessage("你不是派工创建人,无法审核延期申请"); applyfor.setAuditState(request.getPass() ? 1 : 2); applyfor.setAuditUser(AdminUserUtil.getUserName()); applyfor.setAuditTime(LocalDateTime.now()); diff --git a/nflg-mobilebroken-gongfu/src/main/java/com/nflg/mobilebroken/gongfu/controller/TicketController.java b/nflg-mobilebroken-gongfu/src/main/java/com/nflg/mobilebroken/gongfu/controller/TicketController.java index c23ab774..de365516 100644 --- a/nflg-mobilebroken-gongfu/src/main/java/com/nflg/mobilebroken/gongfu/controller/TicketController.java +++ b/nflg-mobilebroken-gongfu/src/main/java/com/nflg/mobilebroken/gongfu/controller/TicketController.java @@ -481,7 +481,7 @@ public class TicketController extends ControllerBase { **/ @GetMapping("revokedTicket") public ApiResult revokedTicket(@Valid @RequestParam @NotNull Long id) { - ticketService.revoked(id); + ticketService.revokedFromAdmin(id); return ApiResult.success(); } @@ -562,7 +562,7 @@ public class TicketController extends ControllerBase { variables.put("ticket", vo); Map base = new HashMap<>(); base.put("t1", Objects.isNull(ticket.getThroughput()) ? "设备运行时间" : "产量"); - base.put("v1", Objects.isNull(ticket.getThroughput()) ? ticket.getUseTime() + "小时" : new DecimalFormat("0.#").format(ticket.getThroughput())); + base.put("v1", Objects.isNull(ticket.getThroughput()) ? ticket.getUseTime() + "小时" : new DecimalFormat("0.#").format(ticket.getThroughput()) + "(吨或方)"); variables.put("base", base); // 渲染HTML TemplateEngine templateEngine = new TemplateEngine(); diff --git a/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/IGongfuTicketService.java b/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/IGongfuTicketService.java index 9dbc023f..2da68644 100644 --- a/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/IGongfuTicketService.java +++ b/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/IGongfuTicketService.java @@ -42,7 +42,9 @@ public interface IGongfuTicketService extends IService { List getNonemergency(int days); - GongfuTicket revoked(Long id); + GongfuTicket revokedFromApp(Long id); + + GongfuTicket revokedFromAdmin(Long id); GongfuTicket reopen(Long id); diff --git a/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/ITicketService.java b/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/ITicketService.java index be28769c..f15ec9b8 100644 --- a/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/ITicketService.java +++ b/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/ITicketService.java @@ -44,7 +44,9 @@ public interface ITicketService extends IService { List getNonemergency(int days); - Ticket revoked(Integer id); + Ticket revokedFromApp(Integer id); + + Ticket revokedFromAdmin(Integer id); Ticket reopen(Integer id); diff --git a/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/impl/GongfuTicketServiceImpl.java b/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/impl/GongfuTicketServiceImpl.java index 2b8dca57..0b7ea6a5 100644 --- a/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/impl/GongfuTicketServiceImpl.java +++ b/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/impl/GongfuTicketServiceImpl.java @@ -289,11 +289,26 @@ public class GongfuTicketServiceImpl extends ServiceImpl 0) + VUtils.trueThrowBusinessError(ticket.getState() > TicketState.ProcessingCompleted.getState()) + .throwMessage("当前工单状态不允许撤销"); + VUtils.trueThrowBusinessError(ticketEvaluateService.lambdaQuery().eq(TicketEvaluate::getTicketId, id).exists()) + .throwMessage("工单已评价,不允许撤销"); + ticket.setState(TicketState.Revoked.getState()); + ticket.setUpdateTime(LocalDateTime.now()); + updateById(ticket); + return ticket; + } + + @Override + public GongfuTicket revokedFromAdmin(Long id) { + GongfuTicket ticket = lambdaQuery().eq(GongfuTicket::getId, id).one(); + VUtils.trueThrowBusinessError(!(StrUtil.equals(ticket.getUserPlatform(), Constant.FROM_ADMIN) && Objects.equals(ticket.getUserId(), AdminUserUtil.getUserId()))) + .throwMessage("无权操作该工单"); + VUtils.trueThrowBusinessError(ticket.getState() > TicketState.ProcessingCompleted.getState()) .throwMessage("当前工单状态不允许撤销"); VUtils.trueThrowBusinessError(ticketEvaluateService.lambdaQuery().eq(TicketEvaluate::getTicketId, id).exists()) .throwMessage("工单已评价,不允许撤销"); diff --git a/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/impl/TicketServiceImpl.java b/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/impl/TicketServiceImpl.java index a4a5f7ed..5e589aee 100644 --- a/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/impl/TicketServiceImpl.java +++ b/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/impl/TicketServiceImpl.java @@ -326,11 +326,26 @@ public class TicketServiceImpl extends ServiceImpl impleme } @Override - public Ticket revoked(Integer id) { + public Ticket revokedFromApp(Integer id) { Ticket ticket = lambdaQuery().eq(Ticket::getId, id).one(); VUtils.trueThrowBusinessError(!(Objects.equals(ticket.getUserId(), AppUserUtil.getUserId()) && StrUtil.equals(ticket.getUserPlatform(), AppUserUtil.getFrom()))) .throwMessage("无权操作该工单"); - VUtils.trueThrowBusinessError(Byte.compare(ticket.getState(), TicketState.ProcessingCompleted.getState()) > 0) + VUtils.trueThrowBusinessError(ticket.getState() > TicketState.ProcessingCompleted.getState()) + .throwMessage("当前工单状态不允许撤销"); + VUtils.trueThrowBusinessError(ticketEvaluateService.lambdaQuery().eq(TicketEvaluate::getTicketId, id).exists()) + .throwMessage("工单已评价,不允许撤销"); + ticket.setState(TicketState.Revoked.getState()); + ticket.setUpdateTime(LocalDateTime.now()); + updateById(ticket); + return ticket; + } + + @Override + public Ticket revokedFromAdmin(Integer id) { + Ticket ticket = lambdaQuery().eq(Ticket::getId, id).one(); + VUtils.trueThrowBusinessError(!(StrUtil.equals(ticket.getUserPlatform(), Constant.FROM_ADMIN) && Objects.equals(ticket.getUserId(), AdminUserUtil.getUserId()))) + .throwMessage("无权操作该工单"); + VUtils.trueThrowBusinessError(ticket.getState() > TicketState.ProcessingCompleted.getState()) .throwMessage("当前工单状态不允许撤销"); VUtils.trueThrowBusinessError(ticketEvaluateService.lambdaQuery().eq(TicketEvaluate::getTicketId, id).exists()) .throwMessage("工单已评价,不允许撤销"); diff --git a/nflg-mobilebroken-repository/src/main/resources/mapper/TicketMapper.xml b/nflg-mobilebroken-repository/src/main/resources/mapper/TicketMapper.xml index ade91da8..e39b9f25 100644 --- a/nflg-mobilebroken-repository/src/main/resources/mapper/TicketMapper.xml +++ b/nflg-mobilebroken-repository/src/main/resources/mapper/TicketMapper.xml @@ -107,7 +107,7 @@ LEFT JOIN v_device_part_language l ON p.id=l.source_id AND l.language_code=#{language} WHERE t.user_id=#{userId} AND t.user_platform=#{from} AND t.state!=4 - ORDER BY t.id DESC + ORDER BY t.state,t.id DESC