From e57e32fc43da31917912eebb4e47d4e50df1a9e9 Mon Sep 17 00:00:00 2001
From: shiyj1101 <1098226878@qq.com>
Date: 星期四, 05 八月 2021 22:56:15 +0800
Subject: [PATCH] 完善格式化功能

---
 service-community/src/main/java/com/java110/community/bmo/repairReturnVisit/impl/SaveRepairReturnVisitBMOImpl.java |   56 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 56 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..e094411 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,24 @@
 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.Date;
+import java.util.List;
 
 @Service("saveRepairReturnVisitBMOImpl")
 public class SaveRepairReturnVisitBMOImpl implements ISaveRepairReturnVisitBMO {
@@ -21,6 +31,9 @@
 
     @Autowired
     private IRepairInnerServiceSMO repairInnerServiceSMOImpl;
+
+    @Autowired
+    private IRepairUserInnerServiceSMO repairUserInnerServiceSMOImpl;
 
     /**
      * 娣诲姞灏忓尯淇℃伅
@@ -38,9 +51,52 @@
             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);
+        }
+        //鏌ヨ鎶ヤ慨娲惧崟鐘舵��
+        List<RepairUserDto> repairUserDtos = repairUserInnerServiceSMOImpl.queryRepairUsers(repairUserDto);
+        Assert.listOnlyOne(repairUserDtos, "淇℃伅閿欒");
+        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 = repairUserDtos.get(0).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(repairUserDtos.get(0).getStaffId());
+        repairUserPo.setPreStaffName(repairUserDtos.get(0).getStaffName());
+        repairUserPo.setPreRuId(repairUserDtos.get(0).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