From 22d7512ecb341426ecaa5ac8d48d7aa2b37c1059 Mon Sep 17 00:00:00 2001
From: java110 <928255095@qq.com>
Date: 星期四, 09 六月 2022 16:27:41 +0800
Subject: [PATCH] 优化代码
---
service-job/src/main/java/com/java110/job/task/repair/ReturnVisitRepairTemplate.java | 267 +++++++++++++++++++++++++++++++++++++++++++++++++----
1 files changed, 247 insertions(+), 20 deletions(-)
diff --git a/service-job/src/main/java/com/java110/job/task/repair/ReturnVisitRepairTemplate.java b/service-job/src/main/java/com/java110/job/task/repair/ReturnVisitRepairTemplate.java
index 4b778b4..a719bcd 100755
--- a/service-job/src/main/java/com/java110/job/task/repair/ReturnVisitRepairTemplate.java
+++ b/service-job/src/main/java/com/java110/job/task/repair/ReturnVisitRepairTemplate.java
@@ -1,17 +1,29 @@
package com.java110.job.task.repair;
+import com.java110.core.factory.GenerateCodeFactory;
import com.java110.dto.community.CommunityDto;
import com.java110.dto.repair.RepairDto;
+import com.java110.dto.repair.RepairSettingDto;
+import com.java110.dto.repair.RepairUserDto;
import com.java110.dto.task.TaskDto;
import com.java110.intf.community.IRepairInnerServiceSMO;
-import com.java110.intf.community.IRepairTypeUserInnerServiceSMO;
+import com.java110.intf.community.IRepairSettingInnerServiceSMO;
+import com.java110.intf.community.IRepairUserInnerServiceSMO;
import com.java110.job.quartz.TaskSystemQuartz;
import com.java110.po.owner.RepairPoolPo;
+import com.java110.po.owner.RepairUserPo;
+import com.java110.utils.cache.MappingCache;
+import com.java110.utils.constant.StatusConstant;
+import com.java110.utils.util.Assert;
+import com.java110.utils.util.DateUtil;
+import com.java110.utils.util.StringUtil;
import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import com.java110.core.log.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
+import java.text.SimpleDateFormat;
+import java.util.Date;
import java.util.List;
/**
@@ -31,15 +43,16 @@
private IRepairInnerServiceSMO repairInnerServiceSMOImpl;
@Autowired
- private IRepairTypeUserInnerServiceSMO repairTypeUserInnerServiceSMOImpl;
+ private IRepairUserInnerServiceSMO repairUserInnerServiceSMO;
+
+ @Autowired
+ private IRepairSettingInnerServiceSMO repairSettingInnerServiceSMO;
@Override
protected void process(TaskDto taskDto) {
logger.debug("寮�濮嬫墽琛屽井淇℃ā鏉夸俊鎭帹閫�" + taskDto.toString());
-
// 鑾峰彇灏忓尯
List<CommunityDto> communityDtos = getAllCommunity();
-
for (CommunityDto communityDto : communityDtos) {
try {
returnVisitRepair(taskDto, communityDto);
@@ -56,21 +69,28 @@
* @param communityDto
*/
private void returnVisitRepair(TaskDto taskDto, CommunityDto communityDto) {
+ RepairDto repair = new RepairDto();
+ repair.setCommunityId(communityDto.getCommunityId());
+ repair.setState(RepairDto.STATE_APPRAISE);
+ repair.setReturnVisitFlag("001,003");
+ repair.setPage(1);
+ repair.setRow(100);
+ //鏌ヨ閮藉洖璁垮緟璇勪环鐘舵�佹暟鎹�
+ List<RepairDto> repairs = repairInnerServiceSMOImpl.queryRepairs(repair);
+ for (RepairDto repairDto : repairs) {
+ doFinishRepairAppraise(repairDto);
+ }
RepairDto repairDto = new RepairDto();
repairDto.setCommunityId(communityDto.getCommunityId());
repairDto.setStatess(new String[]{RepairDto.STATE_RETURN_VISIT, RepairDto.STATE_APPRAISE});
repairDto.setReturnVisitFlag("001,002");
repairDto.setPage(1);
- repairDto.setRow(1000);
+ repairDto.setRow(100);
//鏌ヨ闇�瑕佺▼搴忚疆璁淳鍗� 璁㈠崟
List<RepairDto> repairDtos = repairInnerServiceSMOImpl.queryRepairs(repairDto);
-
for (RepairDto tmpRepairDto : repairDtos) {
-
doReturnVisitRepair(tmpRepairDto);
-
}
-
}
/**
@@ -79,25 +99,232 @@
* @param tmpRepairDto
*/
private void doReturnVisitRepair(RepairDto tmpRepairDto) {
-
- if ("001".equals(tmpRepairDto.getReturnVisitFlag())) {
+ if ("001".equals(tmpRepairDto.getReturnVisitFlag()) && RepairDto.STATE_RETURN_VISIT.equals(tmpRepairDto.getState())) {
RepairPoolPo repairPoolPo = new RepairPoolPo();
repairPoolPo.setRepairId(tmpRepairDto.getRepairId());
repairPoolPo.setState(RepairDto.STATE_COMPLATE);
+ repairPoolPo.setStatusCd(StatusConstant.STATUS_CD_VALID);
repairInnerServiceSMOImpl.updateRepair(repairPoolPo);
+ RepairDto repairDto = new RepairDto();
+ repairDto.setRepairId(tmpRepairDto.getRepairId());
+ //鏌ヨ鎶ヤ慨淇℃伅
+ List<RepairDto> repairDtos = repairInnerServiceSMOImpl.queryRepairs(repairDto);
+ Assert.listOnlyOne(repairDtos, "鎶ヤ慨淇℃伅閿欒");
+ //鏌ヨ鎶ヤ慨宸ュ崟淇℃伅
+ RepairSettingDto repairSettingDto = new RepairSettingDto();
+ repairSettingDto.setSettingId(repairDtos.get(0).getRepairType());
+ List<RepairSettingDto> repairSettingDtos = repairSettingInnerServiceSMO.queryRepairSettings(repairSettingDto);
+ Assert.listOnlyOne(repairDtos, "鎶ヤ慨宸ュ崟淇℃伅閿欒");
+ //鑾峰彇鎶ヤ慨鍖哄煙
+ String publicArea = repairSettingDtos.get(0).getPublicArea();
+ //鑾峰彇鎶ヤ慨娓犻亾
+ String repairChannel = repairDtos.get(0).getRepairChannel();
+ //鑾峰彇缁翠慨绫诲瀷
+ String maintenanceType = repairDtos.get(0).getMaintenanceType();
+ if (publicArea.equals("T") && !repairChannel.equals("Z")) { //濡傛灉鏄叕鍏卞尯鍩燂紝涓斾笉鏄笟涓绘姤淇�
+ RepairUserDto repairUserDto = new RepairUserDto();
+ repairUserDto.setRepairId(tmpRepairDto.getRepairId());
+ repairUserDto.setState(RepairUserDto.STATE_CLOSE);
+ List<RepairUserDto> repairUserDtoList = repairUserInnerServiceSMO.queryRepairUsers(repairUserDto);
+ Assert.listOnlyOne(repairUserDtoList, "淇℃伅閿欒");
+ saveRepairUser(repairUserDtoList, tmpRepairDto);
+ } else if (publicArea.equals("F") && maintenanceType.equals("1002") && !repairChannel.equals("Z")) { //濡傛灉涓嶆槸鍏叡鍖哄煙锛屼笖鏄棤鍋跨殑锛屽苟涓斾笉鏄笟涓绘姤淇�
+ RepairUserDto repairUserDto = new RepairUserDto();
+ repairUserDto.setRepairId(tmpRepairDto.getRepairId());
+ repairUserDto.setState(RepairUserDto.STATE_CLOSE);
+ List<RepairUserDto> repairUserDtoList = repairUserInnerServiceSMO.queryRepairUsers(repairUserDto);
+ Assert.listOnlyOne(repairUserDtoList, "淇℃伅閿欒");
+ saveRepairUser(repairUserDtoList, tmpRepairDto);
+ } else if (publicArea.equals("F") && maintenanceType.equals("1001") && !repairChannel.equals("Z")) { //濡傛灉涓嶆槸鍏叡鍖哄煙锛屼笖鏄湁鍋跨殑锛屽苟涓斾笉鏄笟涓绘姤淇�
+ RepairUserDto repairUserDto = new RepairUserDto();
+ repairUserDto.setRepairId(tmpRepairDto.getRepairId());
+ repairUserDto.setState(RepairUserDto.STATE_FINISH_PAY_FEE);
+ List<RepairUserDto> repairUserDtoList = repairUserInnerServiceSMO.queryRepairUsers(repairUserDto);
+ Assert.listOnlyOne(repairUserDtoList, "淇℃伅閿欒");
+ saveRepairUser(repairUserDtoList, tmpRepairDto);
+ } else { //濡傛灉鏄笟涓绘姤淇�
+ RepairUserDto repairUserDto = new RepairUserDto();
+ repairUserDto.setRepairId(tmpRepairDto.getRepairId());
+ repairUserDto.setState(RepairUserDto.STATE_FINISH);
+ List<RepairUserDto> repairUserDtoList = repairUserInnerServiceSMO.queryRepairUsers(repairUserDto);
+ Assert.listOnlyOne(repairUserDtoList, "淇℃伅閿欒");
+ saveRepairUser(repairUserDtoList, tmpRepairDto);
+ }
return;
}
-
- if ("002".equals(tmpRepairDto.getReturnVisitFlag()) && RepairDto.STATE_APPRAISE.equals(tmpRepairDto.getState())) {
- RepairPoolPo repairPoolPo = new RepairPoolPo();
- repairPoolPo.setRepairId(tmpRepairDto.getRepairId());
- repairPoolPo.setState(RepairDto.STATE_COMPLATE);
- repairInnerServiceSMOImpl.updateRepair(repairPoolPo);
+ if ("002".equals(tmpRepairDto.getReturnVisitFlag())) {
+ RepairDto repairDto = new RepairDto();
+ repairDto.setRepairId(tmpRepairDto.getRepairId());
+ //鏌ヨ鎶ヤ慨淇℃伅
+ List<RepairDto> repairDtos = repairInnerServiceSMOImpl.queryRepairs(repairDto);
+ Assert.listOnlyOne(repairDtos, "鎶ヤ慨淇℃伅閿欒");
+ //鏌ヨ鎶ヤ慨宸ュ崟淇℃伅
+ RepairSettingDto repairSettingDto = new RepairSettingDto();
+ repairSettingDto.setSettingId(repairDtos.get(0).getRepairType());
+ List<RepairSettingDto> repairSettingDtos = repairSettingInnerServiceSMO.queryRepairSettings(repairSettingDto);
+ Assert.listOnlyOne(repairDtos, "鎶ヤ慨宸ュ崟淇℃伅閿欒");
+ //鑾峰彇鎶ヤ慨鍖哄煙
+ String publicArea = repairSettingDtos.get(0).getPublicArea();
+ //鑾峰彇鎶ヤ慨娓犻亾0
+ String repairChannel = repairDtos.get(0).getRepairChannel();
+ //鑾峰彇缁翠慨绫诲瀷
+ String maintenanceType = repairDtos.get(0).getMaintenanceType();
+ if (publicArea.equals("T") && !repairChannel.equals("Z")) { //濡傛灉鏄叕鍏卞尯鍩燂紝涓斾笉鏄笟涓绘姤淇�
+ RepairUserDto repairUserDto = new RepairUserDto();
+ repairUserDto.setRepairId(tmpRepairDto.getRepairId());
+ repairUserDto.setState(RepairUserDto.STATE_CLOSE);
+ List<RepairUserDto> repairUserDtoList = repairUserInnerServiceSMO.queryRepairUsers(repairUserDto);
+ Assert.listOnlyOne(repairUserDtoList, "淇℃伅閿欒");
+ saveRepairUser(repairUserDtoList, tmpRepairDto);
+ //鏀瑰彉repair_pool鐘舵��
+ RepairPoolPo repairPoolPo = new RepairPoolPo();
+ repairPoolPo.setRepairId(tmpRepairDto.getRepairId());
+ repairPoolPo.setState(RepairDto.STATE_COMPLATE);
+ repairPoolPo.setStatusCd(StatusConstant.STATUS_CD_VALID);
+ repairInnerServiceSMOImpl.updateRepair(repairPoolPo);
+ } else if (publicArea.equals("F") && maintenanceType.equals("1002") && !repairChannel.equals("Z")) { //濡傛灉涓嶆槸鍏叡鍖哄煙锛屼笖鏄棤鍋跨殑锛屽苟涓斾笉鏄笟涓绘姤淇�
+ RepairUserDto repairUserDto = new RepairUserDto();
+ repairUserDto.setRepairId(tmpRepairDto.getRepairId());
+ repairUserDto.setState(RepairUserDto.STATE_CLOSE);
+ List<RepairUserDto> repairUserDtoList = repairUserInnerServiceSMO.queryRepairUsers(repairUserDto);
+ Assert.listOnlyOne(repairUserDtoList, "淇℃伅閿欒");
+ saveRepairUser(repairUserDtoList, tmpRepairDto);
+ //鏀瑰彉repair_pool
+ RepairPoolPo repairPoolPo = new RepairPoolPo();
+ repairPoolPo.setRepairId(tmpRepairDto.getRepairId());
+ repairPoolPo.setState(RepairDto.STATE_COMPLATE);
+ repairPoolPo.setStatusCd(StatusConstant.STATUS_CD_VALID);
+ repairInnerServiceSMOImpl.updateRepair(repairPoolPo);
+ } else if (publicArea.equals("F") && maintenanceType.equals("1001") && !repairChannel.equals("Z")) { //濡傛灉涓嶆槸鍏叡鍖哄煙锛屼笖鏄湁鍋跨殑锛屽苟涓斾笉鏄笟涓绘姤淇�
+ RepairUserDto repairUserDto = new RepairUserDto();
+ repairUserDto.setRepairId(tmpRepairDto.getRepairId());
+ repairUserDto.setState(RepairUserDto.STATE_FINISH_PAY_FEE);
+ List<RepairUserDto> repairUserDtoList = repairUserInnerServiceSMO.queryRepairUsers(repairUserDto);
+ Assert.listOnlyOne(repairUserDtoList, "淇℃伅閿欒");
+ saveRepairUser(repairUserDtoList, tmpRepairDto);
+ //鏀瑰彉repair_pool鐘舵��
+ RepairPoolPo repairPoolPo = new RepairPoolPo();
+ repairPoolPo.setRepairId(tmpRepairDto.getRepairId());
+ repairPoolPo.setState(RepairDto.STATE_COMPLATE);
+ repairPoolPo.setStatusCd(StatusConstant.STATUS_CD_VALID);
+ repairInnerServiceSMOImpl.updateRepair(repairPoolPo);
+ } else { //濡傛灉鏄笟涓绘姤淇�
+ if (RepairDto.STATE_APPRAISE.equals(tmpRepairDto.getState())) { //涓氫富鏈瘎浠�
+ RepairUserDto repairUserDto = new RepairUserDto();
+ repairUserDto.setRepairId(tmpRepairDto.getRepairId());
+ repairUserDto.setState(RepairUserDto.STATE_EVALUATE);
+ List<RepairUserDto> repairUserDtoList = repairUserInnerServiceSMO.queryRepairUsers(repairUserDto);
+ Assert.listOnlyOne(repairUserDtoList, "涓氫富娌℃湁寰呰瘎浠风殑璁板綍");
+ saveRepairUserOfOwner(repairUserDtoList, tmpRepairDto);
+ } else if (RepairDto.STATE_RETURN_VISIT.equals(tmpRepairDto.getState())) { //涓氫富宸茶瘎浠�
+ RepairUserDto repairUserDto = new RepairUserDto();
+ repairUserDto.setRepairId(tmpRepairDto.getRepairId());
+ repairUserDto.setState(RepairUserDto.STATE_FINISH);
+ List<RepairUserDto> repairUserDtoList = repairUserInnerServiceSMO.queryRepairUsers(repairUserDto);
+ Assert.listOnlyOne(repairUserDtoList, "涓氫富娌℃湁宸茶瘎浠风殑璁板綍");
+ saveRepairUser(repairUserDtoList, tmpRepairDto);
+ }
+ //鏀瑰彉repair_pool鐘舵��
+ RepairPoolPo repairPoolPo = new RepairPoolPo();
+ repairPoolPo.setRepairId(tmpRepairDto.getRepairId());
+ repairPoolPo.setState(RepairDto.STATE_COMPLATE);
+ repairPoolPo.setStatusCd(StatusConstant.STATUS_CD_VALID);
+ repairInnerServiceSMOImpl.updateRepair(repairPoolPo);
+ }
return;
}
-
-
}
+ /**
+ * 寰呰瘎浠风姸鎬佽秴杩�48灏忔椂璺戞垚寰呭洖璁跨姸鎬�
+ *
+ * @param tmpRepairDto
+ */
+ private void doFinishRepairAppraise(RepairDto tmpRepairDto) {
+ //濡傛灉鏄緟璇勪环鐘舵�侊紝鍒ゆ柇鏄惁宸茶秴杩囦袱澶╂湭璇勪环
+ if (RepairDto.STATE_APPRAISE.equals(tmpRepairDto.getState())) {
+ RepairUserDto repairUserDto = new RepairUserDto();
+ repairUserDto.setRepairId(tmpRepairDto.getRepairId());
+ repairUserDto.setState(RepairUserDto.STATE_EVALUATE);
+ List<RepairUserDto> repairUserDtoList = repairUserInnerServiceSMO.queryRepairUsers(repairUserDto);
+ Assert.listOnlyOne(repairUserDtoList, "淇℃伅閿欒");
+ //鑾峰彇璇勪环寮�濮嬫椂闂�
+ Date startTime = repairUserDtoList.get(0).getStartTime();
+ //鑾峰彇褰撳墠鏃堕棿
+ Date nowTime = new Date();
+ //榛樿48灏忔椂
+ Integer autoEvaluateHour = 48;
+ if (StringUtil.isEmpty(MappingCache.getValue("autoEvaluateHour"))) {
+ autoEvaluateHour = Integer.valueOf(MappingCache.getValue("autoEvaluateHour"));
+ }
+ if ((nowTime.getTime() - startTime.getTime()) > autoEvaluateHour * 1000 * 60 * 60) {
+ //瓒呰繃涓ゅぉ鏈瘎浠凤紝鐘舵�佸彉涓哄緟鍥炶鐘舵��
+ RepairPoolPo repairPoolPo = new RepairPoolPo();
+ repairPoolPo.setRepairId(tmpRepairDto.getRepairId());
+ repairPoolPo.setState(RepairDto.STATE_RETURN_VISIT);
+ repairPoolPo.setStatusCd(StatusConstant.STATUS_CD_VALID);
+ repairInnerServiceSMOImpl.updateRepair(repairPoolPo);
+ //r_repair_user鐘舵�佸彉涓哄凡璇勪环鐘舵��
+ RepairUserPo repairUserPo = new RepairUserPo();
+ repairUserPo.setRuId(repairUserDtoList.get(0).getRuId());
+ repairUserPo.setState(RepairUserDto.STATE_FINISH);
+ repairUserPo.setStaffName("瀹氭椂浠诲姟澶勭悊");
+ repairUserPo.setContext("宸茶瘎浠�");
+ SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+ repairUserPo.setEndTime(format.format(nowTime));
+ repairUserInnerServiceSMO.updateRepairUser(repairUserPo);
+ }
+ }
+ }
+ //瀹氭椂浠诲姟璺戝畬鏂板缁翠慨娲惧崟鐘舵��
+ public void saveRepairUser(List<RepairUserDto> repairUserDtoList, RepairDto tmpRepairDto) {
+ RepairUserPo repairUserPo = new RepairUserPo();
+ repairUserPo.setRuId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_ruId));
+ SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+ repairUserPo.setStartTime(format.format(repairUserDtoList.get(0).getEndTime()));
+ repairUserPo.setEndTime(DateUtil.getNow(DateUtil.DATE_FORMATE_STRING_A));
+ repairUserPo.setState(RepairUserDto.STATE_FINISH_VISIT);
+ repairUserPo.setContext("宸插洖璁�");
+ repairUserPo.setCommunityId(tmpRepairDto.getCommunityId());
+ repairUserPo.setCreateTime(DateUtil.getNow(DateUtil.DATE_FORMATE_STRING_A));
+ repairUserPo.setRepairId(tmpRepairDto.getRepairId());
+ repairUserPo.setStaffId("-1");
+ repairUserPo.setbId("-1");
+ repairUserPo.setStaffName("瀹氭椂浠诲姟澶勭悊");
+ repairUserPo.setPreStaffId(repairUserDtoList.get(0).getStaffId());
+ repairUserPo.setPreStaffName(repairUserDtoList.get(0).getStaffName());
+ repairUserPo.setPreRuId(repairUserDtoList.get(0).getRuId());
+ repairUserPo.setRepairEvent("auditUser");
+ repairUserInnerServiceSMO.saveRepairUser(repairUserPo);
+ }
+
+ //涓氫富绔凡璇勪环涓嶅洖璁挎椂淇敼骞舵柊澧炵淮淇淳鍗曠姸鎬�
+ public void saveRepairUserOfOwner(List<RepairUserDto> repairUserDtoList, RepairDto tmpRepairDto) {
+ RepairUserPo repairUserPo = new RepairUserPo();
+ repairUserPo.setRuId(repairUserDtoList.get(0).getRuId());
+ repairUserPo.setState(RepairUserDto.STATE_FINISH);
+ repairUserPo.setStaffName("瀹氭椂浠诲姟澶勭悊");
+ repairUserPo.setContext("宸茶瘎浠�");
+ repairUserPo.setEndTime(DateUtil.getNow(DateUtil.DATE_FORMATE_STRING_A));
+ //淇敼鎶ヤ慨娲惧崟寰呰瘎浠风姸鎬侊紝鍙樹负璇勪环瀹屾垚
+ repairUserInnerServiceSMO.updateRepairUser(repairUserPo);
+ RepairUserPo repairUser = new RepairUserPo();
+ repairUser.setRuId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_ruId));
+ repairUser.setStartTime(repairUserPo.getEndTime());
+ repairUser.setEndTime(DateUtil.getNow(DateUtil.DATE_FORMATE_STRING_A));
+ repairUser.setState(RepairUserDto.STATE_FINISH_VISIT);
+ repairUser.setContext("宸插洖璁�");
+ repairUser.setCommunityId(tmpRepairDto.getCommunityId());
+ repairUser.setCreateTime(DateUtil.getNow(DateUtil.DATE_FORMATE_STRING_A));
+ repairUser.setRepairId(tmpRepairDto.getRepairId());
+ repairUser.setStaffId("-1");
+ repairUser.setbId("-1");
+ repairUser.setStaffName("瀹氭椂浠诲姟澶勭悊");
+ repairUser.setPreStaffId(repairUserDtoList.get(0).getStaffId());
+ repairUser.setPreStaffName(repairUserDtoList.get(0).getStaffName());
+ repairUser.setPreRuId(repairUserDtoList.get(0).getRuId());
+ repairUser.setRepairEvent("auditUser");
+ repairUserInnerServiceSMO.saveRepairUser(repairUser);
+ }
}
--
Gitblit v1.8.0