Commit c156032a297fdfb013bc63c4282339df723e61a3

Authored by 王富生
1 parent f43dbd08

app巡查计划明细提交

urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/app/inspectionplan/AppInspectionPlanCommitController.java
... ... @@ -3,17 +3,16 @@ package com.zteits.urbanops.module.garden.controller.app.inspectionplan;
3 3  
4 4 import com.zteits.urbanops.framework.common.pojo.CommonResult;
5 5 import com.zteits.urbanops.module.garden.controller.app.inspectionplan.vo.AppInspectionPlanCommitRespVO;
  6 +import com.zteits.urbanops.module.garden.controller.app.inspectionplan.vo.AppInspectionPlanCommitSaveReqVO;
6 7 import com.zteits.urbanops.module.garden.service.inspectionplan.InspectionPlanCommitService;
7 8 import io.swagger.v3.oas.annotations.Operation;
8 9 import io.swagger.v3.oas.annotations.Parameter;
9 10 import io.swagger.v3.oas.annotations.tags.Tag;
10 11 import jakarta.annotation.Resource;
  12 +import jakarta.validation.Valid;
11 13 import jakarta.validation.constraints.NotBlank;
12 14 import org.springframework.validation.annotation.Validated;
13   -import org.springframework.web.bind.annotation.GetMapping;
14   -import org.springframework.web.bind.annotation.RequestMapping;
15   -import org.springframework.web.bind.annotation.RequestParam;
16   -import org.springframework.web.bind.annotation.RestController;
  15 +import org.springframework.web.bind.annotation.*;
17 16  
18 17 import java.util.List;
19 18  
... ... @@ -28,10 +27,17 @@ public class AppInspectionPlanCommitController {
28 27 @Resource
29 28 private InspectionPlanCommitService inspectionPlanCommitService;
30 29  
  30 + @PostMapping("/create")
  31 + @Operation(summary = "创建巡检计划提交明细")
  32 + // @PreAuthorize("@ss.hasPermission('app:garden:inspection-plan-commit:create')")
  33 + public CommonResult<Long> createInspectionPlanCommit(@Valid @RequestBody AppInspectionPlanCommitSaveReqVO createReqVO) {
  34 + return success(inspectionPlanCommitService.appCreateInspectionPlanCommit(createReqVO));
  35 + }
  36 +
31 37 @GetMapping("/get/by/plan_no")
32 38 @Operation(summary = "获得巡检计划提交明细")
33 39 @Parameter(name = "plan_no", description = "计划编号", required = true, example = "1024")
34   - //@PreAuthorize("@ss.hasPermission('garden:inspection-plan-commit:query')")
  40 + //@PreAuthorize("@ss.hasPermission('app:garden:inspection-plan-commit:query')")
35 41 public CommonResult<List<AppInspectionPlanCommitRespVO>> appInspectionPlanCommitListByPlanNo(@RequestParam("plan_no") @NotBlank String planNo) {
36 42 List<AppInspectionPlanCommitRespVO> list = inspectionPlanCommitService.appInspectionPlanCommitListByPlanNo(planNo);
37 43 return success(list);
... ...
urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/app/inspectionplan/vo/AppInspectionPlanCommitSaveReqVO.java 0 → 100644
  1 +package com.zteits.urbanops.module.garden.controller.app.inspectionplan.vo;
  2 +
  3 +import io.swagger.v3.oas.annotations.media.Schema;
  4 +import jakarta.validation.constraints.NotEmpty;
  5 +import jakarta.validation.constraints.NotNull;
  6 +import lombok.Data;
  7 +
  8 +import java.time.LocalDate;
  9 +import java.util.List;
  10 +
  11 +@Schema(description = "APP管理 - 巡检计划提交明细新增/修改 Request VO")
  12 +@Data
  13 +public class AppInspectionPlanCommitSaveReqVO {
  14 +
  15 + @Schema(description = "批次号", requiredMode = Schema.RequiredMode.REQUIRED)
  16 + @NotEmpty(message = "批次号不能为空")
  17 + private String batchNo;
  18 +
  19 + @Schema(description = "计划编码", requiredMode = Schema.RequiredMode.REQUIRED)
  20 + @NotEmpty(message = "计划编码不能为空")
  21 + private String planNo;
  22 +
  23 + @Schema(description = "图片地址host", requiredMode = Schema.RequiredMode.REQUIRED)
  24 + @NotEmpty(message = "图片地址host不能为空")
  25 + private String imgHost;
  26 +
  27 + @Schema(description = "巡检照片", requiredMode = Schema.RequiredMode.REQUIRED)
  28 + @NotEmpty(message = "巡检照片不能为空")
  29 + private List<String> imgList;
  30 +
  31 + @Schema(description = "巡检结果: 1:正常;2:异常", requiredMode = Schema.RequiredMode.REQUIRED)
  32 + @NotNull(message = "巡检结果: 1:正常;2:异常不能为空")
  33 + private Integer inspectionState;
  34 +
  35 + @Schema(description = "转交状态: 1:未转交;2:已转交", requiredMode = Schema.RequiredMode.REQUIRED)
  36 + @NotNull(message = "转交状态: 1:未转交;2:已转交不能为空")
  37 + private Integer transState;
  38 +
  39 + @Schema(description = "转交问题单编码", requiredMode = Schema.RequiredMode.REQUIRED)
  40 + private String transWorkNo;
  41 +
  42 + @Schema(description = "备注", requiredMode = Schema.RequiredMode.REQUIRED, example = "你猜")
  43 + @NotEmpty(message = "备注不能为空")
  44 + private String remark;
  45 +
  46 +}
0 47 \ No newline at end of file
... ...
urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/inspectionplan/InspectionPlanCommitService.java
... ... @@ -3,6 +3,7 @@ package com.zteits.urbanops.module.garden.service.inspectionplan;
3 3 import java.util.*;
4 4  
5 5 import com.zteits.urbanops.module.garden.controller.app.inspectionplan.vo.AppInspectionPlanCommitRespVO;
  6 +import com.zteits.urbanops.module.garden.controller.app.inspectionplan.vo.AppInspectionPlanCommitSaveReqVO;
6 7 import jakarta.validation.*;
7 8 import com.zteits.urbanops.module.garden.controller.admin.inspectionplan.vo.*;
8 9 import com.zteits.urbanops.module.garden.dal.dataobject.inspectionplan.InspectionPlanCommitDO;
... ... @@ -24,6 +25,16 @@ public interface InspectionPlanCommitService {
24 25 Long createInspectionPlanCommit(@Valid InspectionPlanCommitSaveReqVO createReqVO);
25 26  
26 27 /**
  28 + * App-创建巡检计划提交明细
  29 + *
  30 + * @param createReqVO 创建信息
  31 + * @return 编号
  32 + */
  33 + Long appCreateInspectionPlanCommit(@Valid AppInspectionPlanCommitSaveReqVO createReqVO);
  34 +
  35 +
  36 +
  37 + /**
27 38 * 更新巡检计划提交明细
28 39 *
29 40 * @param updateReqVO 更新信息
... ...
urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/inspectionplan/InspectionPlanCommitServiceImpl.java
1 1 package com.zteits.urbanops.module.garden.service.inspectionplan;
2 2  
  3 +import com.alibaba.fastjson.JSONObject;
  4 +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
3 5 import com.baomidou.mybatisplus.core.metadata.IPage;
  6 +import com.google.common.collect.Lists;
  7 +import com.zteits.urbanops.framework.common.pojo.PageResult;
  8 +import com.zteits.urbanops.framework.common.util.object.BeanUtils;
4 9 import com.zteits.urbanops.framework.common.util.string.StrUtils;
5 10 import com.zteits.urbanops.framework.mybatis.core.util.MyBatisUtils;
6 11 import com.zteits.urbanops.framework.security.core.util.SecurityFrameworkUtils;
  12 +import com.zteits.urbanops.module.garden.controller.admin.inspectionplan.vo.InspectionPlanCommitPageReqVO;
  13 +import com.zteits.urbanops.module.garden.controller.admin.inspectionplan.vo.InspectionPlanCommitRespVO;
  14 +import com.zteits.urbanops.module.garden.controller.admin.inspectionplan.vo.InspectionPlanCommitSaveReqVO;
7 15 import com.zteits.urbanops.module.garden.controller.app.inspectionplan.vo.AppInspectionPlanCommitRespVO;
  16 +import com.zteits.urbanops.module.garden.controller.app.inspectionplan.vo.AppInspectionPlanCommitSaveReqVO;
  17 +import com.zteits.urbanops.module.garden.dal.dataobject.inspectionplan.InspectionPlanCommitDO;
  18 +import com.zteits.urbanops.module.garden.dal.dataobject.inspectionplan.InspectionPlanDO;
  19 +import com.zteits.urbanops.module.garden.dal.dataobject.inspectionplan.InspectionPlanDetailDO;
  20 +import com.zteits.urbanops.module.garden.dal.mysql.inspectionplan.InspectionPlanCommitMapper;
  21 +import com.zteits.urbanops.module.garden.dal.mysql.inspectionplan.InspectionPlanDetailMapper;
  22 +import com.zteits.urbanops.module.garden.dal.mysql.inspectionplan.InspectionPlanMapper;
8 23 import com.zteits.urbanops.module.system.api.dept.DeptApi;
9 24 import com.zteits.urbanops.module.system.api.dept.dto.DeptRespDTO;
  25 +import com.zteits.urbanops.module.system.api.permission.RoleApi;
  26 +import com.zteits.urbanops.module.system.dal.dataobject.permission.RoleDO;
  27 +import jakarta.annotation.Resource;
10 28 import org.apache.commons.lang3.StringUtils;
11 29 import org.springframework.stereotype.Service;
12   -import jakarta.annotation.Resource;
  30 +import org.springframework.transaction.annotation.Transactional;
13 31 import org.springframework.util.CollectionUtils;
14 32 import org.springframework.validation.annotation.Validated;
15 33  
  34 +import java.time.LocalDateTime;
16 35 import java.util.*;
17 36 import java.util.stream.Collectors;
18 37  
19   -import com.zteits.urbanops.module.garden.controller.admin.inspectionplan.vo.*;
20   -import com.zteits.urbanops.module.garden.dal.dataobject.inspectionplan.InspectionPlanCommitDO;
21   -import com.zteits.urbanops.framework.common.pojo.PageResult;
22   -import com.zteits.urbanops.framework.common.util.object.BeanUtils;
23   -
24   -import com.zteits.urbanops.module.garden.dal.mysql.inspectionplan.InspectionPlanCommitMapper;
25   -
26 38  
27 39 /**
28 40 * 巡检计划提交明细 Service 实现类
... ... @@ -37,8 +49,17 @@ public class InspectionPlanCommitServiceImpl implements InspectionPlanCommitServ
37 49 private InspectionPlanCommitMapper inspectionPlanCommitMapper;
38 50  
39 51 @Resource
  52 + private InspectionPlanMapper inspectionPlanMapper;
  53 +
  54 + @Resource
  55 + private InspectionPlanDetailMapper inspectionPlanDetailMapper;
  56 +
  57 + @Resource
40 58 private DeptApi deptApi;
41 59  
  60 + @Resource
  61 + private RoleApi roleApi;
  62 +
42 63 @Override
43 64 public Long createInspectionPlanCommit(InspectionPlanCommitSaveReqVO createReqVO) {
44 65 // 插入
... ... @@ -49,6 +70,73 @@ public class InspectionPlanCommitServiceImpl implements InspectionPlanCommitServ
49 70 return inspectionPlanCommit.getId();
50 71 }
51 72  
  73 + @Transactional(rollbackFor = Exception.class)
  74 + @Override
  75 + public Long appCreateInspectionPlanCommit(AppInspectionPlanCommitSaveReqVO createReqVO) {
  76 + Long userId = SecurityFrameworkUtils.getLoginUserId();
  77 + /*1.查询计划信息*/
  78 + InspectionPlanDO inspectionPlanDO = inspectionPlanMapper.selectOne(InspectionPlanDO::getBatchNo, createReqVO.getBatchNo());
  79 + InspectionPlanCommitDO inspectionPlanCommit = getInspectionPlanCommitDO(createReqVO, inspectionPlanDO);
  80 + /*2.查询角色*/
  81 + List<RoleDO> roleList = roleApi.getRoleList(Lists.newArrayList(userId));
  82 + if (!CollectionUtils.isEmpty(roleList)) {
  83 + inspectionPlanCommit.setRoleId(roleList.get(0).getId());
  84 + inspectionPlanCommit.setRoleName(roleList.get(0).getName());
  85 + }else{
  86 + inspectionPlanCommit.setRoleId(0L);
  87 + inspectionPlanCommit.setRoleName("未知角色");
  88 + }
  89 +
  90 + /*3.插入明细*/
  91 + inspectionPlanCommitMapper.insert(inspectionPlanCommit);
  92 + /*4.更新状态*/
  93 + InspectionPlanDetailDO inspectionPlanDetailDO = inspectionPlanDetailMapper.selectOne(InspectionPlanDetailDO::getPlanNo, createReqVO.getPlanNo());
  94 + Integer detailFinishNum = inspectionPlanDetailDO.getPlanFinishNum() + 1;
  95 + int detailFinishState = 1;
  96 + if(detailFinishNum.equals(inspectionPlanDetailDO.getPlanNum())){
  97 + detailFinishState = 2;
  98 + }
  99 + LambdaUpdateWrapper<InspectionPlanDetailDO> detailUpdateSql = new LambdaUpdateWrapper<InspectionPlanDetailDO>()
  100 + .set(InspectionPlanDetailDO::getPlanFinishNum, detailFinishNum)
  101 + .set(InspectionPlanDetailDO::getFinishState, detailFinishState)
  102 + .set(InspectionPlanDetailDO::getUpdateTime, LocalDateTime.now())
  103 + .eq(InspectionPlanDetailDO::getPlanNo, createReqVO.getPlanNo());
  104 + inspectionPlanDetailMapper.update(detailUpdateSql);
  105 +
  106 + Integer planFinishNum = inspectionPlanDO.getPlanFinishNum() + 1;
  107 + int planFinishState = 1;
  108 + if(planFinishNum.equals(inspectionPlanDO.getPlanNum())){
  109 + planFinishState = 2;
  110 + }
  111 + LambdaUpdateWrapper<InspectionPlanDO> updateSql = new LambdaUpdateWrapper<InspectionPlanDO>()
  112 + .set(InspectionPlanDO::getPlanFinishNum, planFinishNum)
  113 + .set(InspectionPlanDO::getFinishState, planFinishState)
  114 + .set(InspectionPlanDO::getUpdateTime, LocalDateTime.now())
  115 + .eq(InspectionPlanDO::getBatchNo, createReqVO.getBatchNo());
  116 + inspectionPlanMapper.update(updateSql);
  117 +
  118 + return 1L;
  119 + }
  120 +
  121 + private static InspectionPlanCommitDO getInspectionPlanCommitDO(AppInspectionPlanCommitSaveReqVO createReqVO, InspectionPlanDO inspectionPlanDO) {
  122 + LocalDateTime now = LocalDateTime.now();
  123 + Long userId = SecurityFrameworkUtils.getLoginUserId();
  124 + String userName = SecurityFrameworkUtils.getLoginUserNickname();
  125 + InspectionPlanCommitDO inspectionPlanCommit = InspectionPlanCommitDO.builder()
  126 + .batchNo(inspectionPlanDO.getBatchNo())
  127 + .planNo(createReqVO.getPlanNo()).busiLine(inspectionPlanDO.getBusiLine())
  128 + .companyId(inspectionPlanDO.getCompanyId()).deptId(inspectionPlanDO.getDeptId())
  129 + .roadId(inspectionPlanDO.getRoadId()).img(JSONObject.toJSONString(createReqVO.getImgList()))
  130 + .inspectionState(createReqVO.getInspectionState()).transState(createReqVO.getTransState())
  131 + .transWorkNo(createReqVO.getTransWorkNo())
  132 + .userId(userId).userName(userName)
  133 + .finishTime(now).creatorName(userName).updaterName(userName)
  134 + .remark(createReqVO.getRemark()).imgHost(createReqVO.getImgHost()).build();
  135 + inspectionPlanCommit.setCreator(userId+"");
  136 + inspectionPlanCommit.setUpdater(userId+"");
  137 + return inspectionPlanCommit;
  138 + }
  139 +
52 140 @Override
53 141 public void updateInspectionPlanCommit(InspectionPlanCommitSaveReqVO updateReqVO) {
54 142 // 校验存在
... ...