Browse Source

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

别傲 5 years ago
parent
commit
ae1208967f

+ 2 - 2
lift-business-service/src/main/java/cn/com/ty/lift/business/annualinspection/dto/InspectionResponse.java

@@ -29,9 +29,9 @@ public class InspectionResponse extends AnnualInspection{
     private String registrationCode;
 
     /**
-     * 电梯编号
+     * 单位设备编号
      */
-    private String liftCode;
+    private String useCompanyCode;
 
     /**
      * 电梯位置

+ 14 - 33
lift-business-service/src/main/java/cn/com/ty/lift/business/emergency/controller/EmergencyRepairController.java

@@ -20,7 +20,7 @@ import cn.com.ty.lift.business.evaluation.dao.entity.Evaluation;
 import cn.com.ty.lift.business.evaluation.service.EvaluationService;
 import cn.com.xwy.boot.web.dto.RestResponse;
 import cn.hutool.core.collection.IterUtil;
-import cn.hutool.core.util.ObjectUtil;
+import cn.hutool.core.map.MapUtil;
 import cn.hutool.core.util.StrUtil;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import lombok.AllArgsConstructor;
@@ -36,6 +36,7 @@ import java.time.LocalDateTime;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
+import java.util.Map;
 import java.util.stream.Collectors;
 
 /**
@@ -398,9 +399,7 @@ public class EmergencyRepairController {
     @PostMapping("fault/list")
     public RestResponse faultList(@RequestBody RepairRequest request){
         Integer liftCategory = request.getLiftCategory();
-        if(null == liftCategory || liftCategory <= 0){
-            return RestResponse.success(liftFaultService.list());
-        }
+        Judge.id(liftCategory);
         List<LiftFault> lists = liftFaultService.listByLiftCategory(liftCategory);
         return RestResponse.success(lists);
     }
@@ -413,38 +412,20 @@ public class EmergencyRepairController {
     @PostMapping("fault/tree")
     public RestResponse faultTree(@RequestBody RepairRequest request) {
         Integer liftCategory = request.getLiftCategory();
-        if(null == liftCategory || liftCategory <= 0){
-            List<LiftFault> liftFaults = liftFaultService.list();
-            return assemble(liftFaults);
-        }else{
-            List<LiftFault> liftFaults = liftFaultService.listByLiftCategory(liftCategory);
-            return assemble(liftFaults);
-        }
-    }
-
-    /**
-     * 根据故障列表组装tree
-     * @param liftFaults 电梯故障list
-     * @return RestResponse
-     */
-    private RestResponse assemble(List<LiftFault> liftFaults){
+        Judge.id(liftCategory);
+        List<LiftFault> liftFaults = liftFaultService.listByLiftCategory(liftCategory);
         Judge.notNull(liftFaults,Values.Er.missingFault);
-        List<String> categories = liftFaults.stream().map(LiftFault::getFaultCategory).distinct().collect(Collectors.toList());
-        Judge.notNull(categories,Values.Er.missingFault);
+        //根据故障列表组装tree
+        //先按照faultCategory,groupby
+        Map<String, List<LiftFault>> categories = liftFaults.stream().collect(Collectors.groupingBy(LiftFault::getFaultCategory));
         List<LiftFaultCategory> liftFaultCategories = new ArrayList<>();
-        categories.forEach(category -> {
-            List<String> types = liftFaults.stream().filter(liftFault -> (
-                    StrUtil.equals(category,liftFault.getFaultCategory())
-            )).map(LiftFault::getFaultType).distinct().collect(Collectors.toList());
-
+        categories.forEach((category,faults) ->{
+            //在按照faultType ,groupby
+            Map<String, List<LiftFault>> types = faults.stream().collect(Collectors.groupingBy(LiftFault::getFaultType));
             List<LiftFaultType> liftFaultTypes = new ArrayList<>();
-            if (ObjectUtil.isNotEmpty(types)) {
-                types.forEach(type -> {
-                    List<LiftFault> faults = liftFaults.stream().filter(liftFault -> (
-                            StrUtil.equals(category, liftFault.getFaultCategory()) &&
-                                    StrUtil.equals(type, liftFault.getFaultType())
-                    )).distinct().collect(Collectors.toList());
-                    liftFaultTypes.add(new LiftFaultType(type,faults));
+            if(MapUtil.isNotEmpty(types)){
+                types.forEach((type,faultList) -> {
+                    liftFaultTypes.add(new LiftFaultType(type,faultList));
                 });
             }
             liftFaultCategories.add(new LiftFaultCategory(category,liftFaultTypes));

+ 0 - 4
lift-business-service/src/main/java/cn/com/ty/lift/business/emergency/dto/RepairResponse.java

@@ -56,10 +56,6 @@ public class RepairResponse extends EmergencyRepair{
      * 电梯类别
      */
     private Integer liftCategory;
-    /**
-     * 电梯编号
-     */
-    private String liftCode;
     /**
      * 维修工
      */

+ 3 - 1
lift-business-service/src/main/java/cn/com/ty/lift/business/emergency/service/EmergencyRepairService.java

@@ -234,7 +234,9 @@ public class EmergencyRepairService extends ServiceImpl<EmergencyRepairMapper, E
             //恢复暂停中的急修为急修中
             emergencyRepair.setStatus(Values.Er.STATUS_REPAIRING);
             boolean er = updateById(emergencyRepair);
-            if (!er) return false;
+            if (!er) {
+                return false;
+            }
             PlatformCompanyLiftRelevance relevance = platformCompanyLiftRelevanceService.findByMtCompanyAndLift(mtCompanyId, liftId);
             if (null == relevance) {
                 return false;

+ 0 - 2
lift-business-service/src/main/java/cn/com/ty/lift/business/evaluation/dao/entity/Evaluation.java

@@ -32,7 +32,6 @@ public class Evaluation implements Serializable {
     /**
      * 电梯ID
      */
-    @NotNull(message = "电梯不能为空")
     @Range(min = 1,message = "电梯有误")
     private Long liftId;
 
@@ -90,7 +89,6 @@ public class Evaluation implements Serializable {
     /**
      * 评价人ID
      */
-    @NotNull(message = "评价人不能为空")
     @Range(min = 1,message = "评价人有误")
     private Long userId;
 }

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

@@ -110,17 +110,6 @@ public class MaintenanceRecordController {
         return RestResponse.success(entity);
     }
 
-    /**
-     * 补录工单,
-     * @param request
-     * @return
-     */
-    @PostMapping("workOrder")
-    public RestResponse workOrder(@RequestBody MtRecordRequest request){
-        boolean result = maintenanceRecordService.workOrder(request);
-        return RestResponse.success(result);
-    }
-
     /**
      * 维保项-树形
      * @return
@@ -133,12 +122,12 @@ public class MaintenanceRecordController {
         Judge.ids(type,liftType,mtCompanyId);
         List<MaintenanceOption> optionList = maintenanceOptionService.listByTypeAndLiftType(type,liftType,mtCompanyId);
         Judge.notNull(optionList);
-        List<Integer> sorts = optionList.stream().map(MaintenanceOption::getSort).distinct().collect(Collectors.toList());
+        //按照sort groupby
+        Map<Integer, List<MaintenanceOption>> mtOptionMap = optionList.stream().collect(Collectors.groupingBy(MaintenanceOption::getSort));
+        Judge.notNull(mtOptionMap);
         List<MtOptionTree> mtOptionTrees = new ArrayList<>();
-        sorts.forEach(sort ->{
-            List<MaintenanceOption> opts = optionList.stream().filter(option -> (sort.equals(option.getSort()))).collect(Collectors.toList());
-            MtOptionTree tree = new MtOptionTree(sort,opts);
-            mtOptionTrees.add(tree);
+        mtOptionMap.forEach((sort,options) ->{
+            mtOptionTrees.add(new MtOptionTree(sort,options));
         });
         return RestResponse.success(mtOptionTrees);
     }
@@ -158,13 +147,43 @@ public class MaintenanceRecordController {
         return RestResponse.success(optionList);
     }
     /**
-     * 填写保养单
+     * 点击填写保养单,带收费项,新增record
+     * @param entity
+     * @return
+     */
+    @PostMapping("tofill")
+    public RestResponse tofill(@RequestBody MaintenanceRecord entity){
+        //补录
+        entity.setIsRepair(1);
+        boolean result = maintenanceRecordService.tofill(entity);
+        return RestResponse.success(result);
+    }
+
+    /**
+     * 填写保养单-确认,带维保项和现场图片 ,修改record
      * @param entity
      * @return
      */
     @PostMapping("fill")
     public RestResponse fill(@RequestBody MaintenanceRecord entity){
+        //维保项不能为空
+        String maintenanceOption = entity.getMaintenanceOption();
+        Judge.notNull(maintenanceOption,"维保项不能为空");
+        List<String> imgs = entity.getImgs();
+        Judge.notNull(imgs,"维保图片不能为空");
+
+        boolean result = maintenanceRecordService.fill(entity);
+        return RestResponse.success(result);
+    }
+    /**
+     * 补录工单,带收费项,修改record
+     * @param entity
+     * @return
+     */
+    @PostMapping("workOrder")
+    public RestResponse workOrder(@RequestBody MaintenanceRecord entity){
 
-        return RestResponse.success();
+        boolean result = maintenanceRecordService.tofill(entity);
+        return RestResponse.success(result);
     }
 }

+ 15 - 7
lift-business-service/src/main/java/cn/com/ty/lift/business/maintenance/dao/entity/MaintenanceRecord.java

@@ -2,15 +2,16 @@ package cn.com.ty.lift.business.maintenance.dao.entity;
 
 import cn.com.ty.lift.business.common.BaseEntity;
 import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import org.hibernate.validator.constraints.Range;
 
-import javax.validation.constraints.NotEmpty;
 import javax.validation.constraints.NotNull;
 import java.math.BigDecimal;
 import java.time.LocalDateTime;
+import java.util.List;
 
 /**
  * 实体类 - 表:maintenance_record
@@ -70,12 +71,14 @@ public class MaintenanceRecord extends BaseEntity {
 	/**
 	 * 电梯类型 1直梯,2扶梯
 	 */
-	private Byte liftType;
+	@Range(min = 1,max = 2,message = "电梯类型有误")
+	private Integer liftType;
 
 	/**
 	 * 保养类型 1.半月,2.季度,3.半年,4.全年
 	 */
-	private Byte type;
+    @Range(min = 1,max = 4,message = "保养类型有误")
+	private Integer type;
 
 	/**
 	 * 计划保养时间
@@ -106,7 +109,6 @@ public class MaintenanceRecord extends BaseEntity {
 	 * 维保项id:0/1/2, 0:无需保养,1:已保养,2:需要更换
 	 * 保养项目  用键值对的方式存储,如(1:0,2:1,3:1...)
 	 */
-	@NotEmpty(message = "保养项目不能为空")
 	private String maintenanceOption;
 
 	/**
@@ -122,12 +124,12 @@ public class MaintenanceRecord extends BaseEntity {
 	/**
 	 * 状态 1:已签到,未完成保养,2:完成保养,未选择评价方式,3:待评价,4:完成。
 	 */
-	private Byte status;
+	private Integer status;
 
 	/**
 	 * 是否正常 0:正常 1:提前 2:延期
 	 */
-	private Byte isRegular;
+	private Integer isRegular;
 
 	/**
 	 * 维保人员1
@@ -137,7 +139,7 @@ public class MaintenanceRecord extends BaseEntity {
 	/**
 	 * 是否补录 0:正常 1:补录
 	 */
-	private Byte isRepair;
+	private Integer isRepair;
 
 	/**
 	 * 补录原因
@@ -173,4 +175,10 @@ public class MaintenanceRecord extends BaseEntity {
 	 * 安全确认
 	 */
 	private String safetyConfirm;
+
+	@TableField(exist = false)
+	private List<MtRecordCost> mtRecordCosts;
+
+    @TableField(exist = false)
+	private List<String> imgs;
 }

+ 0 - 4
lift-business-service/src/main/java/cn/com/ty/lift/business/maintenance/dao/entity/model/request/MtRecordRequest.java

@@ -1,12 +1,10 @@
 package cn.com.ty.lift.business.maintenance.dao.entity.model.request;
 
-import cn.com.ty.lift.business.maintenance.dao.entity.MtRecordCost;
 import cn.com.xwy.boot.controller.BaseRequestModel;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 
 import java.time.LocalDate;
-import java.util.List;
 
 /**
  * @author wcz
@@ -51,8 +49,6 @@ public class MtRecordRequest extends BaseRequestModel {
      */
     private Long mtCompanyId;
 
-    private List<MtRecordCost> mtRecordCosts;
-
     /**
      * 电梯类型(1:直梯;2:扶梯)
      */

+ 0 - 3
lift-business-service/src/main/java/cn/com/ty/lift/business/maintenance/dao/entity/model/response/MtRecordResponse.java

@@ -2,7 +2,6 @@ package cn.com.ty.lift.business.maintenance.dao.entity.model.response;
 
 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.MtRecordImg;
 import cn.hutool.core.date.BetweenFormater;
 import cn.hutool.core.date.DateUtil;
@@ -59,8 +58,6 @@ public class MtRecordResponse extends MaintenanceRecord {
 
     private Integer starLevel;
 
-    private List<MtRecordCost> mtRecordCosts;
-
     private Collection<MaintenanceOption> mtOptions;
 
     private List<MtRecordImg> mtRecordImgs;

+ 60 - 8
lift-business-service/src/main/java/cn/com/ty/lift/business/maintenance/service/MaintenanceRecordService.java

@@ -5,6 +5,7 @@ import cn.com.ty.lift.business.library.dao.entity.Lift;
 import cn.com.ty.lift.business.library.service.LiftService;
 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.MtRecordImg;
 import cn.com.ty.lift.business.maintenance.dao.entity.model.request.MaintenanceAddRecordRequest;
 import cn.com.ty.lift.business.maintenance.dao.entity.model.request.MaintenanceRecordRequest;
 import cn.com.ty.lift.business.maintenance.dao.entity.model.request.MtRecordRequest;
@@ -20,7 +21,9 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import lombok.AllArgsConstructor;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
+import org.springframework.transaction.interceptor.TransactionAspectSupport;
 
+import java.util.ArrayList;
 import java.util.List;
 import java.util.Optional;
 
@@ -36,6 +39,7 @@ public class MaintenanceRecordService extends ServiceImpl<MaintenanceRecordMappe
 
     private LiftService liftService;
     private MtRecordCostService mtRecordCostService;
+    private MtRecordImgService mtRecordImgService;
 
     /**
      * @param request 公司id和电梯id
@@ -140,17 +144,65 @@ public class MaintenanceRecordService extends ServiceImpl<MaintenanceRecordMappe
     }
 
     /**
-     * 补录工单
-     * @param request
+     * 点击填写保养单,带收费项,新增record
+     * @param entity
+     * @return
+     */
+    @Transactional
+    public boolean tofill(MaintenanceRecord entity){
+        boolean mr = saveOrUpdate(entity);
+        if(!mr){
+            return false;
+        }
+        List<MtRecordCost> mtRecordCosts = entity.getMtRecordCosts();
+        //如果没有收费项
+        if(IterUtil.isEmpty(mtRecordCosts)){
+            return true;
+        }
+        mtRecordCosts.forEach(cost ->{
+            cost.setMtRecordId(entity.getId());
+        });
+        boolean rc = mtRecordCostService.saveBatch(mtRecordCosts, mtRecordCosts.size());
+        if(rc){
+            return true;
+        }else{
+            //强制手动事务回滚
+            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+            return false;
+        }
+    }
+
+    /**
+     * 填写保养单-确认,带维保项和现场图片 ,修改record
+     * @param entity
      * @return
      */
     @Transactional
-    public boolean workOrder(MtRecordRequest request){
-        List<MtRecordCost> mtRecordCosts = request.getMtRecordCosts();
-        if(IterUtil.isNotEmpty(mtRecordCosts)){
-            boolean costs = mtRecordCostService.saveBatch(mtRecordCosts, mtRecordCosts.size());
-            return costs;
+    public boolean fill(MaintenanceRecord entity){
+        boolean mr = saveOrUpdate(entity);
+        if(!mr){
+            return false;
+        }
+        List<String> imgs = entity.getImgs();
+        if(IterUtil.isEmpty(imgs)){
+            return true;
+        }
+        List<MtRecordImg> mtRecordImgs = new ArrayList<>();
+        for (int i = 0; i < imgs.size(); i++) {
+            MtRecordImg mri = new MtRecordImg();
+            mri.setMtRecordId(entity.getId());
+            mri.setImgUrl(imgs.get(i));
+            mri.setSort(i);
+            mtRecordImgs.add(mri);
+        }
+        boolean mi = mtRecordImgService.saveBatch(mtRecordImgs,mtRecordImgs.size());
+        if(mi){
+            return true;
+        }else{
+            //强制手动事务回滚
+            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+            return false;
         }
-        return true;
     }
+
 }

+ 4 - 4
lift-business-service/src/main/resources/mapper/annualinspection/AnnualInspectionMapper.xml

@@ -28,7 +28,7 @@
 		<result column="area_name" property="areaName" jdbcType="VARCHAR" />
 		<result column="project_name" property="projectName" jdbcType="VARCHAR" />
 		<result column="registration_code" property="registrationCode" jdbcType="VARCHAR" />
-		<result column="lift_code" property="liftCode" jdbcType="VARCHAR" />
+        <result column="use_company_code" property="useCompanyCode" jdbcType="VARCHAR" />
 		<result column="device_position" property="devicePosition" jdbcType="VARCHAR" />
         <result column="worker_name" property="workerName" jdbcType="VARCHAR" />
         <result column="director_name" property="directorName" jdbcType="VARCHAR" />
@@ -44,7 +44,7 @@
                 re.area_name,
                 pr.project_name,
                 li.registration_code,
-                li.lift_code,
+                li.use_company_code,
                 li.device_position,
                 ui.`name` AS director_name,
                 plr.worker_id
@@ -74,7 +74,7 @@
                 re.area_name,
                 pr.project_name,
                 li.registration_code,
-                li.lift_code,
+                li.use_company_code,
                 li.device_position,
                 ui.`name` AS director_name,
                 plr.worker_id
@@ -146,7 +146,7 @@
                 plr.project_id,
                 pr.project_name,
                 li.registration_code,
-                li.lift_code,
+                li.use_company_code,
                 li.device_position,
                 ui.`name` AS director_name,
                 plr.worker_id

+ 4 - 6
lift-business-service/src/main/resources/mapper/emergency/EmergencyRepairMapper.xml

@@ -55,7 +55,6 @@
 		<result column="registration_code" property="registrationCode" jdbcType="VARCHAR" />
 		<result column="use_company_code" property="useCompanyCode" jdbcType="VARCHAR" />
 		<result column="lift_category" property="liftCategory" jdbcType="INTEGER" />
-        <result column="lift_code" property="liftCode" jdbcType="VARCHAR" />
 		<result column="device_position" property="devicePosition" jdbcType="VARCHAR" />
 		<result column="create_name" property="createName" jdbcType="VARCHAR" />
 		<result column="worker_name" property="workerName" jdbcType="VARCHAR" />
@@ -74,7 +73,7 @@
 				ui.`name` AS create_name,
 				li.registration_code,
                 li.lift_type AS lift_category,
-                li.lift_code,
+				li.use_company_code,
 				li.device_position,
 				pr.project_name,
 				pclr.lift_company_status
@@ -120,7 +119,6 @@
 			li.device_position AS device_position,
             li.lift_type AS lift_category,
 			li.use_company_code,
-            li.lift_code,
             pr.project_name,
             re.area_name,
 			ui.name AS worker_name,
@@ -169,7 +167,7 @@
             li.registration_code AS registration_code,
 			li.device_position AS device_position,
             li.lift_type AS lift_category,
-            li.lift_code,
+            li.use_company_code,
             pr.project_name,
             pr.project_code,
             re.area_name,
@@ -189,7 +187,7 @@
             er.*,
             pr.project_name,
             li.lift_type AS lift_category,
-            li.lift_code,
+            li.use_company_code,
             re.area_name
         FROM
 	        project_user pu
@@ -215,7 +213,7 @@
 		SELECT
             er.*,
             li.registration_code AS registration_code,
-            li.lift_code,
+            li.use_company_code,
             ui.name AS worker_name
 		FROM
 			emergency_repair er