Przeglądaj źródła

Merge branch 'develop' of http://132.232.206.88:3000/lift-manager/lift-server into wanghaicheng

wang-hai-cheng 5 lat temu
rodzic
commit
e4fb59721a
17 zmienionych plików z 276 dodań i 108 usunięć
  1. 74 73
      lift-business-service/src/main/java/cn/com/ty/lift/business/annualinspection/controller/AnnualInspectionController.java
  2. 5 5
      lift-business-service/src/main/java/cn/com/ty/lift/business/capital/controller/CapitalRepairController.java
  3. 3 3
      lift-business-service/src/main/java/cn/com/ty/lift/business/capital/dao/entity/CapitalRepair.java
  4. 5 0
      lift-business-service/src/main/java/cn/com/ty/lift/business/capital/dao/entity/model/request/CapitalRepairAuditRequest.java
  5. 10 4
      lift-business-service/src/main/java/cn/com/ty/lift/business/capital/dao/entity/model/request/CapitalRepairRequest.java
  6. 1 2
      lift-business-service/src/main/java/cn/com/ty/lift/business/capital/dao/mapper/CapitalRepairMapper.java
  7. 12 8
      lift-business-service/src/main/java/cn/com/ty/lift/business/capital/service/CapitalRepairService.java
  8. 4 2
      lift-business-service/src/main/java/cn/com/ty/lift/business/emergency/service/impl/EmergencyRepairService.java
  9. 1 1
      lift-business-service/src/main/java/cn/com/ty/lift/business/framework/conf/MetaHandler.java
  10. 22 1
      lift-business-service/src/main/java/cn/com/ty/lift/business/maintenance/controller/MaintenanceRecordController.java
  11. 10 2
      lift-business-service/src/main/java/cn/com/ty/lift/business/maintenance/dao/entity/MaintenancePlan.java
  12. 36 1
      lift-business-service/src/main/java/cn/com/ty/lift/business/maintenance/service/MaintenanceRecordService.java
  13. 53 0
      lift-business-service/src/main/resources/mapper/capital/CapitalRepairMapper.xml
  14. 34 0
      lift-push/pom.xml
  15. BIN
      lift-push/src/main/resources/lib/xinge-1.2.0-SNAPSHOT-jar-with-dependencies.jar
  16. BIN
      lift-push/src/main/resources/lib/xinge-1.2.0-SNAPSHOT.jar
  17. 6 6
      lift-system-service/src/main/java/cn/com/ty/lift/system/framework/aspect/GlobalDefaultExceptionHandler.java

+ 74 - 73
lift-business-service/src/main/java/cn/com/ty/lift/business/annualinspection/controller/AnnualInspectionController.java

@@ -27,8 +27,9 @@ import java.time.LocalDateTime;
 
 /**
  * <p>
- *     年检记录 前端控制器
+ * 年检记录 前端控制器
  * </p>
+ *
  * @author wcz
  * @since 2019-12-10
  */
@@ -49,7 +50,7 @@ public class AnnualInspectionController {
      */
     @PostMapping("findOne")
     @Judger(fields = {"id"})
-    public RestResponse findOne(@RequestBody InspectionRequest request){
+    public RestResponse findOne(@RequestBody InspectionRequest request) {
         InspectionResponse entity = annualInspectionService.selectByIdWithInfo(request);
         return RestResponse.success(entity);
     }
@@ -61,7 +62,7 @@ public class AnnualInspectionController {
      */
     @PostMapping("page")
     @Judger(fields = "mtCompanyId")
-    public RestResponse page(@RequestBody InspectionRequest request){
+    public RestResponse page(@RequestBody InspectionRequest request) {
         IPage<InspectionResponse> pages = annualInspectionService.pageByCondition(request);
         long count = annualInspectionService.countByCondition(request);
         CountPage<InspectionResponse> countPage = new CountPage<>(count, pages);
@@ -75,39 +76,38 @@ public class AnnualInspectionController {
      */
     @PostMapping("pageWorker")
     @Judger(fields = {"workerId"})
-    public RestResponse pageWorker(@RequestBody InspectionRequest request){
+    public RestResponse pageWorker(@RequestBody InspectionRequest request) {
         IPage<InspectionResponse> pages = annualInspectionService.pageByCondition(request);
         return RestResponse.success(pages);
     }
+
     /**
      * 修改年检信息
-     *
+     * <p>
      * status 状态(0 待完成;1 已完成;2 超期)
-     *
      * stepStatus  :年检阶段状态
-     *
      * 未开始0,第一阶段 1-2,第二阶段 3,第三阶段 4-7,第四阶段 8-10
-     *
-        1  维保工确认年检计划
-        2  维保工上传自检报告,选择自检时间 或者 文员设置 是否检查限速器和荷载年检设置,
-            文员也可以上传自检报告或者确认自检报告和自检时间,自检时间以最后设置的为准
-        --------------------------------
-        3  企业文员确认现场检验时间
-            录入人员信息,政府质检,企业质检,联系电话
-        --------------------------------
-        4	维保工上传检验结果
-        5	企业文员确认检验结果-合格 --> 不能算年检超期
-        6	企业文员确认检验结果-整改 --> 回到第二阶段
-        7	企业文员确认检验结果-不合格 --> 可以算年检超期
-        --------------------------------
-        8	维保工上传年检报告和合格证
-        9	企业文员确认年检报告和合格证-合格
-        10	企业文员确认年检报告和合格证-不合格 -->停用电梯
+     * <p>
+     * 1  维保工确认年检计划
+     * 2  维保工上传自检报告,选择自检时间 或者 文员设置 是否检查限速器和荷载年检设置,
+     * 文员也可以上传自检报告或者确认自检报告和自检时间,自检时间以最后设置的为准
+     * --------------------------------
+     * 3  企业文员确认现场检验时间
+     * 录入人员信息,政府质检,企业质检,联系电话
+     * --------------------------------
+     * 4	维保工上传检验结果
+     * 5	企业文员确认检验结果-合格 --> 不能算年检超期
+     * 6	企业文员确认检验结果-整改 --> 回到第二阶段
+     * 7	企业文员确认检验结果-不合格 --> 可以算年检超期
+     * --------------------------------
+     * 8	维保工上传年检报告和合格证
+     * 9	企业文员确认年检报告和合格证-合格
+     * 10	企业文员确认年检报告和合格证-不合格 -->停用电梯
      * @param entity AnnualInspection
      * @return RestResponse
      */
     @PostMapping("modify")
-    public RestResponse modify(@Valid @RequestBody AnnualInspection entity){
+    public RestResponse modify(@Valid @RequestBody AnnualInspection entity) {
         Long id = entity.getId();
         Judge.id(id);
         AnnualInspection old = annualInspectionService.getById(id);
@@ -118,63 +118,63 @@ public class AnnualInspectionController {
         Integer stepStatus = entity.getStepStatus();
 
         //0 --> 1 维保工确认年检计划
-        Judge.notTrue(Judge.Inspection.statusNotStart(oldStepStatus) && !Judge.Inspection.sameNext(oldStepStatus,stepStatus),Judge.Inspection.confirm);
+        Judge.notTrue(Judge.Inspection.statusNotStart(oldStepStatus) && !Judge.Inspection.sameNext(oldStepStatus, stepStatus), Judge.Inspection.confirm);
         //1 --> 2
-        Judge.notTrue(Judge.Inspection.statusConfirm(oldStepStatus) && !Judge.Inspection.nextStatus(oldStepStatus,stepStatus),Judge.Inspection.selfcheckUpload);
+        Judge.notTrue(Judge.Inspection.statusConfirm(oldStepStatus) && !Judge.Inspection.nextStatus(oldStepStatus, stepStatus), Judge.Inspection.selfcheckUpload);
         /**
          * 2  维保工上传自检报告,选择自检时间 或者 文员设置 是否检查限速器和荷载年检设置,
          *             文员也可以上传自检报告或者确认自检报告和自检时间,自检时间以最后设置的为准
          */
-        if(Judge.Inspection.statusSelfcheck(oldStepStatus)){
+        if (Judge.Inspection.statusSelfcheck(oldStepStatus)) {
             // 修改自检信息
-            if(Judge.Inspection.sameStatus(oldStepStatus,stepStatus)){
-                Judge.notNull(entity.getSelfcheckReportImg(),Judge.Inspection.selfcheckReportImg);
-                Judge.notNull(entity.getSelfcheckDate(),Judge.Inspection.selfcheckDate);
+            if (Judge.Inspection.sameStatus(oldStepStatus, stepStatus)) {
+                Judge.notNull(entity.getSelfcheckReportImg(), Judge.Inspection.selfcheckReportImg);
+                Judge.notNull(entity.getSelfcheckDate(), Judge.Inspection.selfcheckDate);
                 //流转到下一个状态 2 --> 3
-            }else if(Judge.Inspection.statusCheckConfirm(stepStatus)){
+            } else if (Judge.Inspection.statusCheckConfirm(stepStatus)) {
                 //3  企业文员确认现场检验时间,录入人员信息,政府质检,企业质检,联系电话
-                Judge.notNull(entity.getCheckDate(),Judge.Inspection.checkDate);
-                Judge.notNull(entity.getCheckResultImg(),Judge.Inspection.checkResultImg);
-                Judge.notNull(entity.getInspector(),Judge.Inspection.inspector);
-                Judge.notNull(entity.getOperator(),Judge.Inspection.operator);
-                Judge.notNull(entity.getTelephone(),Judge.Inspection.telephone);
-            }else {
+                Judge.notNull(entity.getCheckDate(), Judge.Inspection.checkDate);
+                Judge.notNull(entity.getCheckResultImg(), Judge.Inspection.checkResultImg);
+                Judge.notNull(entity.getInspector(), Judge.Inspection.inspector);
+                Judge.notNull(entity.getOperator(), Judge.Inspection.operator);
+                Judge.notNull(entity.getTelephone(), Judge.Inspection.telephone);
+            } else {
                 return RestResponse.fail(Judge.Inspection.checkConfirm);
             }
         }
         // 3 --> 4  维保工上传检验结果
-        Judge.notTrue(Judge.Inspection.statusCheckConfirm(oldStepStatus) && !Judge.Inspection.nextStatus(oldStepStatus,stepStatus),Judge.Inspection.checkConfirm);
+        Judge.notTrue(Judge.Inspection.statusCheckConfirm(oldStepStatus) && !Judge.Inspection.nextStatus(oldStepStatus, stepStatus), Judge.Inspection.checkConfirm);
         //4 检查上传检验结果
-        if(Judge.Inspection.statusCheckUpload(oldStepStatus)){
+        if (Judge.Inspection.statusCheckUpload(oldStepStatus)) {
             //修改检验结果
-            if(Judge.Inspection.sameStatus(oldStepStatus,stepStatus)){
-                Judge.notNull(entity.getCheckResultImg(),Judge.Inspection.checkResultImg);
-                Judge.notNull(entity.getCheckDate(),Judge.Inspection.checkDate);
+            if (Judge.Inspection.sameStatus(oldStepStatus, stepStatus)) {
+                Judge.notNull(entity.getCheckResultImg(), Judge.Inspection.checkResultImg);
+                Judge.notNull(entity.getCheckDate(), Judge.Inspection.checkDate);
                 //流转到下一个状态
-            }else{
-            /**
-             *  5	企业文员确认检验结果-合格
-             *  6	企业文员确认检验结果-整改
-             *  7	企业文员确认检验结果-不合格
-             */
-                Judge.notTrue(!Judge.Inspection.inStatus(Judge.Inspection.STATUS_CHECK_QUALIFIED,stepStatus,Judge.Inspection.STATUS_CHECK_UNQUALIFIED),Judge.Inspection.checkConfirm);
+            } else {
+                /**
+                 *  5	企业文员确认检验结果-合格
+                 *  6	企业文员确认检验结果-整改
+                 *  7	企业文员确认检验结果-不合格
+                 */
+                Judge.notTrue(!Judge.Inspection.inStatus(Judge.Inspection.STATUS_CHECK_QUALIFIED, stepStatus, Judge.Inspection.STATUS_CHECK_UNQUALIFIED), Judge.Inspection.checkConfirm);
             }
         }
         /**
          * 6 检验结果整改,回到阶段2
          * (3  企业文员确认现场检验时间 录入人员信息,政府质检,企业质检,联系电话)
          */
-        if(Judge.Inspection.statusCheckRectification(stepStatus)){
+        if (Judge.Inspection.statusCheckRectification(stepStatus)) {
             entity.setStepStatus(Judge.Inspection.STATUS_CHECK_CONFIRM);
         }
         /**
          * 5	企业文员确认检验结果-合格 --> 8	维保工上传年检报告和合格证
          * 7	企业文员确认检验结果-不合格-->8	维保工上传年检报告和合格证
          */
-        if(Judge.Inspection.statusCheckQualified(oldStepStatus) || Judge.Inspection.statusCheckUnqualified(oldStepStatus)){
-            if(Judge.Inspection.statusCertificateReportUpload(stepStatus)){
-                Judge.notTrue(StrUtil.hasEmpty(entity.getCertificateImgUrl(),entity.getAnnualInspectionImg()),Judge.Inspection.certificateReportUpload);
-            }else {
+        if (Judge.Inspection.statusCheckQualified(oldStepStatus) || Judge.Inspection.statusCheckUnqualified(oldStepStatus)) {
+            if (Judge.Inspection.statusCertificateReportUpload(stepStatus)) {
+                Judge.notTrue(StrUtil.hasEmpty(entity.getCertificateImgUrl(), entity.getAnnualInspectionImg()), Judge.Inspection.certificateReportUpload);
+            } else {
                 return RestResponse.fail(Judge.Inspection.statusError);
             }
         }
@@ -182,27 +182,27 @@ public class AnnualInspectionController {
          * 8	维保工上传年检报告和合格证--> 9  企业文员确认年检报告和合格证 -合格
          * 8	维保工上传年检报告和合格证--> 10  企业文员确认年检报告和合格证 -不合格
          */
-        if(Judge.Inspection.statusCertificateReportUpload(oldStepStatus)){
+        if (Judge.Inspection.statusCertificateReportUpload(oldStepStatus)) {
             //修改年检报告和合格证
-            if(Judge.Inspection.sameStatus(oldStepStatus,stepStatus)){
-                Judge.notTrue(StrUtil.hasEmpty(entity.getCertificateImgUrl(),entity.getAnnualInspectionImg()),Judge.Inspection.certificateReportUpload);
-            }else if(Judge.Inspection.statusCertificateReportQualified(stepStatus)){
+            if (Judge.Inspection.sameStatus(oldStepStatus, stepStatus)) {
+                Judge.notTrue(StrUtil.hasEmpty(entity.getCertificateImgUrl(), entity.getAnnualInspectionImg()), Judge.Inspection.certificateReportUpload);
+            } else if (Judge.Inspection.statusCertificateReportQualified(stepStatus)) {
                 //合格:文员确认年检报告并设置下次年检时间
-                Judge.notNull(entity.getNextInspectionTime(),Judge.Inspection.nextInspectionTime);
+                Judge.notNull(entity.getNextInspectionTime(), Judge.Inspection.nextInspectionTime);
                 // 设置年检完成 status = 1
                 entity.setFinishTime(LocalDateTime.now());
                 entity.setStatus(1);
-            }else if(Judge.Inspection.statusCertificateReportUnqualified(stepStatus)){
+            } else if (Judge.Inspection.statusCertificateReportUnqualified(stepStatus)) {
                 // 设置年检完成 status = 1
                 entity.setFinishTime(LocalDateTime.now());
                 entity.setStatus(1);
-            }else{
+            } else {
                 return RestResponse.fail(Judge.Inspection.statusError);
             }
         }
 
         int stepName = Judge.Inspection.status2StepName(entity.getStepStatus());
-        Judge.notTrue(stepName == -1,Judge.Inspection.statusError);
+        Judge.notTrue(stepName == -1, Judge.Inspection.statusError);
         entity.setStepName(stepName);
 
         boolean result = annualInspectionService.modify(entity);
@@ -211,15 +211,16 @@ public class AnnualInspectionController {
 
     @GetMapping("show")
     public BufferedImage show(@RequestParam("filename") String filename) throws IOException {
-        if(StrUtil.isEmpty(filename)){
+        if (StrUtil.isEmpty(filename)) {
             return null;
         }
-        String fileurl = aliyunOSS.getObjectUrl(systemConfiguration.getBucketName(),filename);
+        String fileurl = aliyunOSS.getObjectUrl(systemConfiguration.getBucketName(), filename);
         log.info("fileurl: " + fileurl);
         File file = new File("download/" + filename);
-        File down = aliyunOSS.getFile(systemConfiguration.getBucketName(),filename,file);
+        File down = aliyunOSS.getFile(systemConfiguration.getBucketName(), filename, file);
         return null == down ? null : ImageIO.read(new FileInputStream(file));
     }
+
     /**
      * 其他角色获取自己关联的项目的年检任务
      * @param request InspectionRequest
@@ -227,7 +228,7 @@ public class AnnualInspectionController {
      */
     @PostMapping("pageByUser")
     @Judger(fields = {"userId"})
-    public RestResponse pageByUser(@RequestBody InspectionRequest request){
+    public RestResponse pageByUser(@RequestBody InspectionRequest request) {
         IPage<InspectionResponse> pages = annualInspectionService.pageByUser(request);
         return RestResponse.success(pages);
     }
@@ -239,7 +240,7 @@ public class AnnualInspectionController {
      */
     @PostMapping("confirm")
     @Judger(fields = {"id"})
-    public RestResponse confirm(@RequestBody InspectionRequest request){
+    public RestResponse confirm(@RequestBody InspectionRequest request) {
         AnnualInspection entity = annualInspectionService.getById(request.getId());
         Judge.notNull(entity);
         entity.setStepStatus(Judge.Inspection.STATUS_CONFIRM);
@@ -254,8 +255,8 @@ public class AnnualInspectionController {
      * @return RestResponse
      */
     @PostMapping("selfcheck")
-    @Judger(fields = {"id","selfcheckDate","selfcheckReportImg"})
-    public RestResponse selfcheck(@RequestBody InspectionRequest request){
+    @Judger(fields = {"id", "selfcheckDate", "selfcheckReportImg"})
+    public RestResponse selfcheck(@RequestBody InspectionRequest request) {
         AnnualInspection entity = annualInspectionService.getById(request.getId());
         Judge.notNull(entity);
 
@@ -274,8 +275,8 @@ public class AnnualInspectionController {
      * @return RestResponse
      */
     @PostMapping("check")
-    @Judger(fields = {"id","checkDate","checkResultImg"})
-    public RestResponse check(@RequestBody InspectionRequest request){
+    @Judger(fields = {"id", "checkDate", "checkResultImg"})
+    public RestResponse check(@RequestBody InspectionRequest request) {
         AnnualInspection entity = annualInspectionService.getById(request.getId());
         Judge.notNull(entity);
 
@@ -294,8 +295,8 @@ public class AnnualInspectionController {
      * @return RestResponse
      */
     @PostMapping("finish")
-    @Judger(fields = {"id","certificateImgUrl","annualInspectionImg"})
-    public RestResponse finish(@RequestBody InspectionRequest request){
+    @Judger(fields = {"id", "certificateImgUrl", "annualInspectionImg"})
+    public RestResponse finish(@RequestBody InspectionRequest request) {
         AnnualInspection entity = annualInspectionService.getById(request.getId());
         Judge.notNull(entity);
 

+ 5 - 5
lift-business-service/src/main/java/cn/com/ty/lift/business/capital/controller/CapitalRepairController.java

@@ -1,6 +1,7 @@
 package cn.com.ty.lift.business.capital.controller;
 
 import cn.com.ty.lift.business.capital.dao.entity.CapitalRepair;
+import cn.com.ty.lift.business.capital.dao.entity.model.request.CapitalDetailRequest;
 import cn.com.ty.lift.business.capital.dao.entity.model.request.CapitalRepairAuditRequest;
 import cn.com.ty.lift.business.capital.dao.entity.model.request.CapitalRepairRequest;
 import cn.com.ty.lift.business.capital.dao.entity.model.request.SignInRequest;
@@ -8,7 +9,6 @@ import cn.com.ty.lift.business.capital.dao.entity.model.response.SignInResponse;
 import cn.com.ty.lift.business.capital.service.CapitalRepairService;
 import cn.com.ty.lift.business.capital.service.SignInService;
 import cn.com.ty.lift.business.framework.util.MessageUtils;
-import cn.com.ty.lift.business.project.dao.entity.model.response.ProjectResponse;
 import cn.com.xwy.boot.web.dto.RestResponse;
 import cn.hutool.core.collection.CollUtil;
 import cn.hutool.core.util.ObjectUtil;
@@ -43,8 +43,8 @@ public class CapitalRepairController {
      * @date 2020/2/3 11:38 上午
      */
     @PostMapping("list")
-    public RestResponse list(@Valid @RequestBody CapitalRepairRequest request) {
-        IPage<ProjectResponse> page = capitalRepairService.list(request);
+    public RestResponse list(@RequestBody CapitalRepairRequest request) {
+        IPage<CapitalRepair> page = capitalRepairService.list(request);
         if (CollUtil.isEmpty(page.getRecords())) {
             return RestResponse.success();
         }
@@ -58,7 +58,7 @@ public class CapitalRepairController {
      * @date 2020/2/3 11:31 上午
      */
     @PostMapping("detail")
-    public RestResponse detail(@Valid @RequestBody CapitalRepairRequest request) {
+    public RestResponse detail(@Valid @RequestBody CapitalDetailRequest request) {
         CapitalRepair capitalRepair = capitalRepairService.detail(request.getId());
         if (ObjectUtil.isEmpty(capitalRepair)) {
             return RestResponse.success();
@@ -103,7 +103,7 @@ public class CapitalRepairController {
      * @date 2020/2/4 12:46 下午
      */
     @PostMapping("audit")
-    public RestResponse audit(@RequestBody CapitalRepairAuditRequest request){
+    public RestResponse audit(@Valid @RequestBody CapitalRepairAuditRequest request){
         boolean result = capitalRepairService.audit(request);
         if (result) {
             return RestResponse.success(null, MessageUtils.get("msg.modify.success"));

+ 3 - 3
lift-business-service/src/main/java/cn/com/ty/lift/business/capital/dao/entity/CapitalRepair.java

@@ -40,12 +40,12 @@ public class CapitalRepair extends BaseEntity {
     /**
      * 项目编号
      */
-    private String projectCode;
+    private String code;
 
     /**
      * 项目名称
      */
-    private String projectName;
+    private String name;
 
     /**
      * 省编码
@@ -110,7 +110,7 @@ public class CapitalRepair extends BaseEntity {
     /**
      * 是否开启消息推送 0否 1是
      */
-    private Integer pushFlag;
+    private String pushFlag;
 
     /**
      * 区域ID

+ 5 - 0
lift-business-service/src/main/java/cn/com/ty/lift/business/capital/dao/entity/model/request/CapitalRepairAuditRequest.java

@@ -2,6 +2,9 @@ package cn.com.ty.lift.business.capital.dao.entity.model.request;
 
 import lombok.Data;
 
+import javax.validation.constraints.NotEmpty;
+import javax.validation.constraints.NotNull;
+
 /**
  * @author bieao
  * @date 2020/2/4
@@ -13,10 +16,12 @@ public class CapitalRepairAuditRequest {
     /**
      * 是否通过(0:不通过,1:通过)
      */
+    @NotEmpty(message = "notEmpty")
     private String pass;
 
     /**
      * 大修项目id
      */
+    @NotNull(message = "notEmpty")
     private Long id;
 }

+ 10 - 4
lift-business-service/src/main/java/cn/com/ty/lift/business/capital/dao/entity/model/request/CapitalRepairRequest.java

@@ -4,7 +4,6 @@ import cn.com.xwy.boot.controller.BaseRequestModel;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 
-import javax.validation.constraints.NotNull;
 
 /**
  * @author bieao
@@ -15,8 +14,15 @@ import javax.validation.constraints.NotNull;
 @EqualsAndHashCode(callSuper = true)
 public class CapitalRepairRequest extends BaseRequestModel {
     /**
-     * 项目ID
+     * 项目名称
      */
-    @NotNull(message = "notEmpty")
-    private Long id;
+    private String name;
+    /**
+     * 项目名称
+     */
+    private String code;
+    /**
+     * 项目状态
+     */
+    private String status;
 }

+ 1 - 2
lift-business-service/src/main/java/cn/com/ty/lift/business/capital/dao/mapper/CapitalRepairMapper.java

@@ -2,7 +2,6 @@ package cn.com.ty.lift.business.capital.dao.mapper;
 
 import cn.com.ty.lift.business.capital.dao.entity.CapitalRepair;
 import cn.com.ty.lift.business.capital.dao.entity.model.request.CapitalRepairRequest;
-import cn.com.ty.lift.business.project.dao.entity.model.response.ProjectResponse;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import org.apache.ibatis.annotations.Param;
@@ -14,6 +13,6 @@ import org.apache.ibatis.annotations.Param;
  */
 public interface CapitalRepairMapper extends BaseMapper<CapitalRepair> {
 
-    IPage<ProjectResponse> findByCondition(IPage<ProjectResponse> page, @Param("request") CapitalRepairRequest request);
+    IPage<CapitalRepair> findByCondition(IPage<CapitalRepair> page, @Param("request") CapitalRepairRequest request);
 
 }

+ 12 - 8
lift-business-service/src/main/java/cn/com/ty/lift/business/capital/service/CapitalRepairService.java

@@ -4,17 +4,15 @@ import cn.com.ty.lift.business.capital.dao.entity.CapitalRepair;
 import cn.com.ty.lift.business.capital.dao.entity.model.request.CapitalRepairAuditRequest;
 import cn.com.ty.lift.business.capital.dao.entity.model.request.CapitalRepairRequest;
 import cn.com.ty.lift.business.capital.dao.mapper.CapitalRepairMapper;
-import cn.com.ty.lift.business.project.dao.entity.model.response.ProjectResponse;
-
-import static cn.com.ty.lift.common.constants.CommonEnum.CapitalRepairStatus;
-
+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.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.stereotype.Service;
-import org.springframework.web.bind.annotation.RequestBody;
+
+import static cn.com.ty.lift.common.constants.CommonEnum.CapitalRepairStatus;
 
 /**
  * @author bieao
@@ -30,8 +28,14 @@ public class CapitalRepairService extends ServiceImpl<CapitalRepairMapper, Capit
      * @description 条件查询大修项目列表
      * @date 2020/2/3 11:38 上午
      */
-    public IPage<ProjectResponse> list(CapitalRepairRequest request) {
-        IPage<ProjectResponse> page = new Page<>(request.getPageNum(), request.getPageSize());
+    public IPage<CapitalRepair> list(CapitalRepairRequest request) {
+        IPage<CapitalRepair> page = new Page<>(request.getPageNum(), request.getPageSize());
+        if (StrUtil.isNotEmpty(request.getName())) {
+            request.setName(StrUtil.format("%{}%", request.getName()));
+        }
+        if (StrUtil.isNotEmpty(request.getCode())) {
+            request.setCode(StrUtil.format("%{}%", request.getCode()));
+        }
         return baseMapper.findByCondition(page, request);
     }
 
@@ -74,7 +78,7 @@ public class CapitalRepairService extends ServiceImpl<CapitalRepairMapper, Capit
      * @description 大修审核
      * @date 2020/2/4 12:46 下午
      */
-    public boolean audit(@RequestBody CapitalRepairAuditRequest request) {
+    public boolean audit(CapitalRepairAuditRequest request) {
         CapitalRepair capitalRepair = new CapitalRepair();
         capitalRepair.setId(request.getId());
         capitalRepair.setStatus("0".equals(request.getPass()) ?

+ 4 - 2
lift-business-service/src/main/java/cn/com/ty/lift/business/emergency/service/impl/EmergencyRepairService.java

@@ -7,6 +7,8 @@ import cn.com.ty.lift.business.emergency.entity.ErRecordCost;
 import cn.com.ty.lift.business.emergency.entity.ErRecordImg;
 import cn.com.ty.lift.business.emergency.mapper.EmergencyRepairMapper;
 import cn.com.ty.lift.business.emergency.service.IEmergencyRepairService;
+import cn.com.ty.lift.business.emergency.service.IErRecordCostService;
+import cn.com.ty.lift.business.emergency.service.IErRecordImgService;
 import cn.com.ty.lift.business.evaluation.dao.entity.Evaluation;
 import cn.com.ty.lift.business.evaluation.service.EvaluationService;
 import cn.com.ty.lift.business.library.dao.entity.PlatformCompanyLiftRelevance;
@@ -39,8 +41,8 @@ import java.util.List;
 public class EmergencyRepairService extends ServiceImpl<EmergencyRepairMapper, EmergencyRepair> implements IEmergencyRepairService {
 
     private PlatformCompanyLiftRelevanceService platformCompanyLiftRelevanceService;
-    private ErRecordImgService                  erRecordImgService;
-    private ErRecordCostService                 erRecordCostService;
+    private IErRecordImgService                 erRecordImgService;
+    private IErRecordCostService                erRecordCostService;
     private EvaluationService                   evaluationService;
 
     /**

+ 1 - 1
lift-business-service/src/main/java/cn/com/ty/lift/business/framework/conf/MetaHandler.java

@@ -54,7 +54,7 @@ public class MetaHandler implements MetaObjectHandler {
         if (ObjectUtil.isNotEmpty(userId)) {
             return Long.parseLong(Objects.toString(userId));
         }
-        return null;
+        return 10000L;
     }
 
     /**

+ 22 - 1
lift-business-service/src/main/java/cn/com/ty/lift/business/maintenance/controller/MaintenanceRecordController.java

@@ -4,6 +4,7 @@ import cn.com.ty.lift.business.evaluation.dao.entity.Evaluation;
 import cn.com.ty.lift.business.evaluation.service.EvaluationService;
 import cn.com.ty.lift.business.maintenance.dao.entity.MaintenanceOption;
 import cn.com.ty.lift.business.maintenance.dao.entity.MaintenanceRecord;
+import cn.com.ty.lift.business.maintenance.dao.entity.MtRecordCost;
 import cn.com.ty.lift.business.maintenance.dao.entity.model.request.MtPlanRequest;
 import cn.com.ty.lift.business.maintenance.dao.entity.model.request.MtRecordRequest;
 import cn.com.ty.lift.business.maintenance.dao.entity.model.response.MtOptionTree;
@@ -147,6 +148,16 @@ public class MaintenanceRecordController {
         Long id = request.getId();
         //查询费用项
         entity.setMtRecordCosts(mtRecordCostService.listByRecord(id));
+        //总计 partsCost, manCost, 拼接sparepart
+//        List<MtRecordCost> mtRecordCosts = entity.getMtRecordCosts();
+//        if(IterUtil.isNotEmpty(mtRecordCosts)){
+//            BigDecimal partsCost = mtRecordCosts.stream().map(MtRecordCost::getPartsCost).reduce(BigDecimal.ZERO, (m1, m2) -> m1.add(m2));
+//            BigDecimal manCost = mtRecordCosts.stream().map(MtRecordCost::getManCost).reduce(BigDecimal.ZERO, (m1, m2) -> m1.add(m2));
+//            String sparepart = mtRecordCosts.stream().map(MtRecordCost::getSparepart).collect(Collectors.joining(";"));
+//            entity.setPartsCost(partsCost);
+//            entity.setManCost(manCost);
+//            entity.setSparepart(sparepart);
+//        }
         //查询图片
         entity.setMtRecordImgs(mtRecordImgService.listByRecord(id));
         //评价
@@ -297,7 +308,17 @@ public class MaintenanceRecordController {
     @PostMapping("deleteCost")
     @Judger(fields = {"id","mtRecordCostId"})
     public RestResponse deleteCost(@RequestBody MtRecordRequest request){
-        boolean result = mtRecordCostService.removeByRecordAndId(request.getId(),request.getMtRecordCostId());
+        Long id = request.getId();
+        Long mtRecordCostId = request.getMtRecordCostId();
+        MtRecordCost mtRecordCost = mtRecordCostService.getById(mtRecordCostId);
+        if(null == mtRecordCost){
+            return RestResponse.success(true);
+        }
+        MaintenanceRecord record = maintenanceRecordService.getById(id);
+        Judge.notNull(record);
+
+        boolean result = maintenanceRecordService.deleteCost(record,mtRecordCost);
+
         return RestResponse.success(result);
     }
 

+ 10 - 2
lift-business-service/src/main/java/cn/com/ty/lift/business/maintenance/dao/entity/MaintenancePlan.java

@@ -1,13 +1,13 @@
 package cn.com.ty.lift.business.maintenance.dao.entity;
 
-import java.time.LocalDate;
-
 import cn.com.ty.lift.business.common.BaseEntity;
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 
+import java.time.LocalDate;
+
 /**
  * 实体类 - 表:maintenance_plan
  * @author bieao
@@ -72,4 +72,12 @@ public class MaintenancePlan extends BaseEntity {
      * 是否按需维保(0:否 1:是)
      */
     private String demand;
+    /**
+     * 关联维保记录的状态
+     * 0:没有维保记录(可以补录)
+     * 1:已补录工单,(可以继续填写)
+     * 2:待审核(通过app端添加的),通过后台添加的,直接 ->3
+     * 3:审核通过或者后台直接添加
+     */
+//    private Integer recordStatus;
 }

+ 36 - 1
lift-business-service/src/main/java/cn/com/ty/lift/business/maintenance/service/MaintenanceRecordService.java

@@ -22,6 +22,7 @@ import cn.com.ty.lift.common.utils.MapHelper;
 import cn.com.xwy.boot.web.dto.RestResponse;
 import cn.hutool.core.collection.IterUtil;
 import cn.hutool.core.util.ObjectUtil;
+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;
@@ -37,6 +38,7 @@ import java.time.LocalDateTime;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Optional;
+import java.util.stream.Collectors;
 
 /**
  * @author bieao
@@ -200,13 +202,15 @@ public class MaintenanceRecordService extends ServiceImpl<MaintenanceRecordMappe
      */
     @Transactional(rollbackFor = Exception.class)
     public boolean tofill(MaintenanceRecord entity){
-        //总计 partsCost, manCost
+        //总计 partsCost, manCost, 拼接sparepart
         List<MtRecordCost> mtRecordCosts = entity.getMtRecordCosts();
         if(IterUtil.isNotEmpty(mtRecordCosts)){
             BigDecimal partsCost = mtRecordCosts.stream().map(MtRecordCost::getPartsCost).reduce(BigDecimal.ZERO, (m1, m2) -> m1.add(m2));
             BigDecimal manCost = mtRecordCosts.stream().map(MtRecordCost::getManCost).reduce(BigDecimal.ZERO, (m1, m2) -> m1.add(m2));
+            String sparepart = mtRecordCosts.stream().map(MtRecordCost::getSparepart).collect(Collectors.joining(";"));
             entity.setPartsCost(partsCost);
             entity.setManCost(manCost);
+            entity.setSparepart(sparepart);
         }
         boolean mr = saveOrUpdate(entity);
         if(!mr){
@@ -305,4 +309,35 @@ public class MaintenanceRecordService extends ServiceImpl<MaintenanceRecordMappe
             return false;
         }
     }
+
+    @Transactional(rollbackFor = Exception.class)
+    public boolean deleteCost(MaintenanceRecord record, MtRecordCost mtRecordCost) {
+        if (null == mtRecordCost) {
+            return true;
+        }
+        BigDecimal partsCost = mtRecordCost.getPartsCost();
+        BigDecimal manCost = mtRecordCost.getManCost();
+        String sparepart = mtRecordCost.getSparepart();
+        if (partsCost.compareTo(BigDecimal.ZERO) > 0) {
+            record.setPartsCost(record.getPartsCost().subtract(partsCost));
+        }
+        if (manCost.compareTo(BigDecimal.ZERO) > 0) {
+            record.setManCost(record.getManCost().subtract(manCost));
+        }
+        if (StrUtil.isNotEmpty(sparepart)) {
+            record.setSparepart(record.getSparepart().replace(sparepart + ";", ""));
+        }
+        boolean cost = mtRecordCostService.removeById(mtRecordCost.getId());
+        if (!cost) {
+            return false;
+        }
+        boolean re = updateById(record);
+        if (re) {
+            return true;
+        } else {
+            //强制手动事务回滚
+            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+            return false;
+        }
+    }
 }

+ 53 - 0
lift-business-service/src/main/resources/mapper/capital/CapitalRepairMapper.xml

@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
+<mapper namespace="cn.com.ty.lift.business.capital.dao.mapper.CapitalRepairMapper" >
+    <resultMap id="BaseResultMap" type="cn.com.ty.lift.business.capital.dao.entity.CapitalRepair" >
+        <id column="id" property="id" jdbcType="BIGINT" />
+        <result column="mt_company_id" property="mtCompanyId" jdbcType="BIGINT" />
+        <result column="pp_company_id" property="ppCompanyId" jdbcType="BIGINT" />
+        <result column="pp_contact_id" property="ppContactId" jdbcType="BIGINT" />
+        <result column="code" property="code" jdbcType="CHAR" />
+        <result column="name" property="name" jdbcType="VARCHAR" />
+        <result column="province_code" property="provinceCode" jdbcType="CHAR" />
+        <result column="province" property="province" jdbcType="VARCHAR" />
+        <result column="city_code" property="cityCode" jdbcType="CHAR" />
+        <result column="city" property="city" jdbcType="VARCHAR" />
+        <result column="district_code" property="districtCode" jdbcType="CHAR" />
+        <result column="district" property="district" jdbcType="VARCHAR" />
+        <result column="address" property="address" jdbcType="VARCHAR" />
+        <result column="num" property="num" jdbcType="INTEGER" />
+        <result column="actual_num" property="actualNum" jdbcType="INTEGER" />
+        <result column="start_date" property="startDate" jdbcType="DATE" />
+        <result column="end_date" property="endDate" jdbcType="DATE" />
+        <result column="status" property="status" jdbcType="TINYINT" />
+        <result column="push_flag" property="pushFlag" jdbcType="VARCHAR" />
+        <result column="creator_id" property="creatorId" jdbcType="BIGINT" />
+        <result column="create_date" property="createDate" jdbcType="TIMESTAMP" />
+        <result column="update_id" property="updateId" jdbcType="TIMESTAMP" />
+        <result column="update_date" property="updateDate" jdbcType="TIMESTAMP" />
+        <result column="region_id" property="regionId" jdbcType="BIGINT" />
+    </resultMap>
+
+    <sql id="Base_Column_List" >
+        id, mt_company_id, pp_company_id, pp_contact_id, code, name, province_code, province,
+		city_code, city, district_code, district, address, num, actual_num, start_date, end_date,
+		status, push_flag, creator_id, create_date, update_id, update_date, region_id
+    </sql>
+
+    <select id="findByCondition" resultMap="BaseResultMap"
+            parameterType="cn.com.ty.lift.business.capital.dao.entity.model.request.CapitalRepairRequest" >
+        select
+        <include refid="Base_Column_List" />
+        from capital_repair
+        WHERE 1=1
+        <if test="request.status!=null and request.status!=''">
+            AND status = #{request.status,jdbcType=VARCHAR}
+        </if>
+        <if test="request.code!=null and request.code!=''">
+            AND code LIKE #{request.code,jdbcType=VARCHAR}
+        </if>
+        <if test="request.name!=null and request.name!=''">
+            AND name LIKE #{request.name,jdbcType=VARCHAR}
+        </if>
+    </select>
+</mapper>

+ 34 - 0
lift-push/pom.xml

@@ -31,11 +31,45 @@
             <artifactId>hutool-all</artifactId>
             <version>5.0.6</version>
         </dependency>
+        <!--从私有仓库加载依赖-->
         <dependency>
             <groupId>com.tencent</groupId>
             <artifactId>xinge-push</artifactId>
             <version>1.2.0</version>
         </dependency>
+        <!--从本地lib中加载依赖-->
+        <!--<dependency>-->
+            <!--<groupId>com.tencent</groupId>-->
+            <!--<artifactId>xinge</artifactId>-->
+            <!--<version>1.2.0</version>-->
+            <!--<scope>system</scope>-->
+            <!--<systemPath>${project.basedir}/src/main/resources/lib/xinge-1.2.0-SNAPSHOT.jar</systemPath>-->
+        <!--</dependency>-->
     </dependencies>
 
+    <!--如果从本地加载jar依赖,必须指定以下配置-->
+    <!--<build>-->
+        <!--<plugins>-->
+            <!--<plugin>-->
+                <!--<groupId>org.apache.maven.plugins</groupId>-->
+                <!--<artifactId>maven-compiler-plugin</artifactId>-->
+            <!--</plugin>-->
+            <!--<plugin>-->
+                <!--<groupId>org.springframework.boot</groupId>-->
+                <!--<artifactId>spring-boot-maven-plugin</artifactId>-->
+                <!--<configuration>-->
+                    <!--<executable>true</executable>-->
+                    <!--<includeSystemScope>true</includeSystemScope>-->
+                <!--</configuration>-->
+                <!--<executions>-->
+                    <!--<execution>-->
+                        <!--<goals>-->
+                            <!--<goal>repackage</goal>-->
+                        <!--</goals>-->
+                    <!--</execution>-->
+                <!--</executions>-->
+            <!--</plugin>-->
+        <!--</plugins>-->
+    <!--</build>-->
+
 </project>

BIN
lift-push/src/main/resources/lib/xinge-1.2.0-SNAPSHOT-jar-with-dependencies.jar


BIN
lift-push/src/main/resources/lib/xinge-1.2.0-SNAPSHOT.jar


+ 6 - 6
lift-system-service/src/main/java/cn/com/ty/lift/system/framework/aspect/GlobalDefaultExceptionHandler.java

@@ -25,12 +25,12 @@ import java.util.stream.Stream;
 public class GlobalDefaultExceptionHandler {
 
     private static final String classPrefix = "cn.com.ty.lift.system";
-    private static final String nameSuffix = ".java";
-    private static final String line = "========================= GlobalDefaultException =========================";
-    private static final String head = "#####| ";
-    private static final String url = head + "URL          : {}";
-    private static final String status = head + "STATUS       : {}";
-    private static final String exception = head + "EXCEPTION    : ";
+    private static final String nameSuffix  = ".java";
+    private static final String line        = "========================= GlobalDefaultException =========================";
+    private static final String head        = "#####| ";
+    private static final String url         = head + "URL          : {}";
+    private static final String status      = head + "STATUS       : {}";
+    private static final String exception   = head + "EXCEPTION    : ";
 
     @ExceptionHandler(value = ExceptionInInitializerError.class)
     @ResponseStatus(value = HttpStatus.BAD_REQUEST)