ソースを参照

commit elevator info edit

lihao16 10 ヶ月 前
コミット
bff8a6222a

+ 2 - 1
inspur-admin/src/main/java/com/inspur/web/controller/work/ElevatorInfoController.java

@@ -88,9 +88,10 @@ public class ElevatorInfoController extends BaseController
     /**
      * 修改电梯信息
      */
-    @PreAuthorize("@ss.hasPermi('elevator:info:edit')")
+    // @PreAuthorize("@ss.hasPermi('elevator:info:edit')")
     @Log(title = "电梯信息", businessType = BusinessType.UPDATE)
     @PutMapping
+    @Anonymous
     public AjaxResult edit(@RequestBody ElevatorInfo elevatorInfo)
     {
         return toAjax(elevatorInfoService.updateElevatorInfo(elevatorInfo));

+ 6 - 0
inspur-work/src/main/java/com/inspur/mapper/ElevatorPersonInfoMapper.java

@@ -67,4 +67,10 @@ public interface ElevatorPersonInfoMapper
      * @return
      */
     public List<ElevatorPersonInfo> selectElevatorPersonInfoByElevatorId(@Param("elevatorId") String elevatorId);
+
+    /**
+     * 根据电梯deviceId删除关联人员
+     * @param deviceId
+     */
+    public void deleteElevatorPersonInfoByDeviceId(@Param("deviceId") String deviceId);
 }

+ 31 - 0
inspur-work/src/main/java/com/inspur/service/impl/ElevatorInfoServiceImpl.java

@@ -2,6 +2,7 @@ package com.inspur.service.impl;
 
 import java.util.List;
 import java.util.UUID;
+import java.util.stream.Collectors;
 
 import com.inspur.common.utils.DateUtils;
 import com.inspur.domain.ElevatorInfo;
@@ -96,6 +97,36 @@ public class ElevatorInfoServiceImpl implements IElevatorInfoService
     @Override
     public int updateElevatorInfo(ElevatorInfo elevatorInfo)
     {
+        // 前端传递的personInfos
+        List<ElevatorPersonInfo> personInfos = elevatorInfo.getPersonInfos();
+        if (CollectionUtils.isEmpty(personInfos)) {
+            elevatorPersonInfoMapper.deleteElevatorPersonInfoByDeviceId(elevatorInfo.getDeviceId());
+        }else {
+            // 如果person Id为空 为新增
+            List<ElevatorPersonInfo> addPersons = personInfos.stream()
+                    .filter(personInfo -> personInfo.getId() == null).collect(Collectors.toList());
+            // 如果person Id不为空 为更新
+            List<ElevatorPersonInfo> updatePersons = personInfos.stream()
+                    .filter(personInfo -> personInfo.getId() != null).collect(Collectors.toList());
+            // 新增人员信息
+            if (!CollectionUtils.isEmpty(addPersons)) {
+                for (ElevatorPersonInfo personInfo : addPersons) {
+                    personInfo.setElevatorId(elevatorInfo.getDeviceId());
+                    personInfo.setUnitName(elevatorInfo.getUnitName());
+                    personInfo.setSafeCode(elevatorInfo.getSafeCode());
+                    personInfo.setPersonType(2L);
+                    personInfo.setCreateTime(DateUtils.getNowDate());
+                    elevatorPersonInfoMapper.insertElevatorPersonInfo(personInfo);
+                }
+            }
+            // 更新人员信息
+            if (!CollectionUtils.isEmpty(updatePersons)) {
+                for (ElevatorPersonInfo personInfo : updatePersons) {
+                    elevatorPersonInfoMapper.updateElevatorPersonInfo(personInfo);
+                }
+            }
+        }
+
         return elevatorInfoMapper.updateElevatorInfo(elevatorInfo);
     }
 

+ 4 - 0
inspur-work/src/main/resources/mapper/work/ElevatorPersonInfoMapper.xml

@@ -92,6 +92,10 @@
         delete from ELEVATOR_EMERGENCY.elevator_person_info where id = #{id}
     </delete>
 
+    <delete id="deleteElevatorPersonInfoByDeviceId" parameterType="String">
+        delete from ELEVATOR_EMERGENCY.elevator_person_info where elevator_id = #{deviceId}
+    </delete>
+
     <delete id="deleteElevatorPersonInfoByIds" parameterType="String">
         delete from ELEVATOR_EMERGENCY.elevator_person_info where id in
         <foreach item="id" collection="array" open="(" separator="," close=")">