From 05683f2b2bdbdbe21cf17ad523c21ab338bd1c54 Mon Sep 17 00:00:00 2001
From: wuxw <928255095@qq.com>
Date: 星期二, 19 七月 2022 21:49:55 +0800
Subject: [PATCH] 优化添加设备 功能

---
 service-community/src/main/java/com/java110/community/bmo/repairReturnVisit/impl/SaveRepairReturnVisitBMOImpl.java |   63 +++++++++++++++++++++++++++++++
 1 files changed, 63 insertions(+), 0 deletions(-)

diff --git a/service-community/src/main/java/com/java110/community/bmo/repairReturnVisit/impl/SaveRepairReturnVisitBMOImpl.java b/service-community/src/main/java/com/java110/community/bmo/repairReturnVisit/impl/SaveRepairReturnVisitBMOImpl.java
index e9e7be6..b72254f 100644
--- a/service-community/src/main/java/com/java110/community/bmo/repairReturnVisit/impl/SaveRepairReturnVisitBMOImpl.java
+++ b/service-community/src/main/java/com/java110/community/bmo/repairReturnVisit/impl/SaveRepairReturnVisitBMOImpl.java
@@ -4,14 +4,25 @@
 import com.java110.core.annotation.Java110Transactional;
 import com.java110.core.factory.GenerateCodeFactory;
 import com.java110.dto.repair.RepairDto;
+import com.java110.dto.repair.RepairUserDto;
 import com.java110.intf.community.IRepairInnerServiceSMO;
 import com.java110.intf.community.IRepairReturnVisitInnerServiceSMO;
+import com.java110.intf.community.IRepairUserInnerServiceSMO;
 import com.java110.po.owner.RepairPoolPo;
+import com.java110.po.owner.RepairUserPo;
 import com.java110.po.repairReturnVisit.RepairReturnVisitPo;
+import com.java110.utils.util.Assert;
+import com.java110.utils.util.DateUtil;
+import com.java110.utils.util.StringUtil;
 import com.java110.vo.ResultVo;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.ResponseEntity;
 import org.springframework.stereotype.Service;
+
+import java.text.SimpleDateFormat;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
 
 @Service("saveRepairReturnVisitBMOImpl")
 public class SaveRepairReturnVisitBMOImpl implements ISaveRepairReturnVisitBMO {
@@ -21,6 +32,9 @@
 
     @Autowired
     private IRepairInnerServiceSMO repairInnerServiceSMOImpl;
+
+    @Autowired
+    private IRepairUserInnerServiceSMO repairUserInnerServiceSMOImpl;
 
     /**
      * 娣诲姞灏忓尯淇℃伅
@@ -38,9 +52,58 @@
             return ResultVo.createResponseEntity(ResultVo.CODE_ERROR, "淇濆瓨澶辫触");
         }
 
+        RepairDto repairDto = new RepairDto();
+        repairDto.setRepairId(repairReturnVisitPo.getRepairId());
+        List<RepairDto> repairDtos = repairInnerServiceSMOImpl.queryRepairs(repairDto);
+        Assert.listOnlyOne(repairDtos, "鎶ヤ慨淇℃伅涓虹┖");
+        //鑾峰彇鎶ヤ慨娓犻亾
+        String repairChannel = repairDtos.get(0).getRepairChannel();
+        //鑾峰彇缁翠慨绫诲瀷
+        String maintenanceType = repairDtos.get(0).getMaintenanceType();
+        RepairUserDto repairUserDto = new RepairUserDto();
+        repairUserDto.setRepairId(repairReturnVisitPo.getRepairId());
+        repairUserDto.setCommunityId(repairReturnVisitPo.getCommunityId());
+//        if (repairChannel.equals("Z")) { //濡傛灉鏄笟涓荤鎶ヤ慨锛屽氨鏌ヨ鏄惁鏈夊凡璇勪环鐘舵�佺殑
+//            repairUserDto.setState(RepairUserDto.STATE_FINISH);
+//        } else if (!StringUtil.isEmpty(maintenanceType) && maintenanceType.equals("1001")) { //濡傛灉涓嶆槸涓氫富绔姤淇紝涓旀槸鏈夊伩鐨勶紝灏辨煡璇㈠凡鏀粯鐘舵�佺殑
+//            repairUserDto.setState(RepairUserDto.STATE_FINISH_PAY_FEE);
+//        } else { //鍏朵粬鐨勬煡璇㈢粨鍗曠姸鎬佺殑
+//            repairUserDto.setState(RepairUserDto.STATE_CLOSE);
+//        }
+
+        repairUserDto.setStates(new String[]{RepairUserDto.STATE_FINISH, RepairUserDto.STATE_FINISH_PAY_FEE, RepairUserDto.STATE_CLOSE});
+        //鏌ヨ鎶ヤ慨娲惧崟鐘舵��
+        List<RepairUserDto> repairUserDtos = repairUserInnerServiceSMOImpl.queryRepairUsers(repairUserDto);
+
+        if (repairUserDtos == null || repairUserDtos.size() < 1) {
+            throw new IllegalArgumentException("鏈煡璇㈠埌 鎺ュ崟 寰呮敮浠� 鎴栬�� 璇勪环瀹屾垚鐨勫伐鍗曪紝涓嶈兘鍥炶");
+        }
+        repairUserDto = repairUserDtos.get(repairUserDtos.size() - 1);
+        RepairUserPo repairUserPo = new RepairUserPo();
+        repairUserPo.setRuId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_ruId));
+        repairUserPo.setEndTime(DateUtil.getNow(DateUtil.DATE_FORMATE_STRING_A));
+        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+        Date endTime = repairUserDto.getEndTime();
+        repairUserPo.setStartTime(format.format(endTime));
+        repairUserPo.setState(RepairUserDto.STATE_FINISH_VISIT);
+        repairUserPo.setContext(repairReturnVisitPo.getContext());
+        repairUserPo.setCommunityId(repairReturnVisitPo.getCommunityId());
+        repairUserPo.setCreateTime(DateUtil.getNow(DateUtil.DATE_FORMATE_STRING_A));
+        repairUserPo.setRepairId(repairReturnVisitPo.getRepairId());
+        repairUserPo.setStaffId(repairReturnVisitPo.getVisitPersonId());
+        repairUserPo.setStaffName(repairReturnVisitPo.getVisitPersonName());
+        repairUserPo.setPreStaffId(repairUserDto.getStaffId());
+        repairUserPo.setPreStaffName(repairUserDto.getStaffName());
+        repairUserPo.setPreRuId(repairUserDto.getRuId());
+        repairUserPo.setRepairEvent("auditUser");
+        repairUserPo.setbId("-1");
+        repairUserInnerServiceSMOImpl.saveRepairUser(repairUserPo);
+
         RepairPoolPo repairPoolPo = new RepairPoolPo();
         repairPoolPo.setRepairId(repairReturnVisitPo.getRepairId());
         repairPoolPo.setState(RepairDto.STATE_COMPLATE);
+        repairPoolPo.setCommunityId(repairReturnVisitPo.getCommunityId());
+        repairPoolPo.setStatusCd("0");
         flag = repairInnerServiceSMOImpl.updateRepair(repairPoolPo);
 
         if (flag < 0) {

--
Gitblit v1.8.0