增加查询获取验收列表详情接口
This commit is contained in:
@@ -6,7 +6,9 @@ import com.cool.store.entity.*;
|
||||
import com.cool.store.enums.MessageEnum;
|
||||
import com.cool.store.enums.SMSMsgEnum;
|
||||
import com.cool.store.mq.util.HttpRestTemplateService;
|
||||
import com.cool.store.request.xfsgFirstOrderListRequest;
|
||||
import com.cool.store.response.ResponseResult;
|
||||
import com.cool.store.response.xfsgFirstOderListResponse;
|
||||
import com.cool.store.service.ShopService;
|
||||
import com.cool.store.service.impl.CommonService;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
|
||||
@@ -178,7 +178,6 @@ public class XxlJobHandler {
|
||||
* @description: 每天更新装修阶段进场时间等,至预约状态
|
||||
*/
|
||||
@XxlJob("fitmentAcceptanceHandler")
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void fitmentAcceptanceHandler() {
|
||||
log.info("----定时任务每天更新装修阶段进场时间,施工完成时间等,至预约状态----");
|
||||
boolean hasNext = true;
|
||||
@@ -186,17 +185,18 @@ public class XxlJobHandler {
|
||||
int pageSize = 50;
|
||||
while (hasNext) {
|
||||
PageHelper.startPage(pageNum, pageSize);
|
||||
//获取表中进场时间为空的店铺
|
||||
List<AcceptanceInfoDO> acceptanceList = acceptanceInfoDAO.selectByEntryTimeNull();
|
||||
if (CollectionUtils.isEmpty(acceptanceList)) {
|
||||
//获取表中处于施工中或施工完成阶段并且三方验收未预约的
|
||||
List<ShopStageInfoDO> subStageList = shopStageInfoDAO.getSubStageListBySubStageStatus(ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_111,
|
||||
ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_112, ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_120);
|
||||
if (CollectionUtils.isEmpty(subStageList)) {
|
||||
log.info("------定时任务结束调用鲜丰获取进场时间结束------");
|
||||
return;
|
||||
}
|
||||
int flag = CommonConstants.ZERO;
|
||||
for (AcceptanceInfoDO acceptanceInfoDO : acceptanceList) {
|
||||
for (ShopStageInfoDO shopStageInfoDO : subStageList) {
|
||||
int flag = CommonConstants.ZERO;
|
||||
while (flag < CommonConstants.TWO) {
|
||||
try {
|
||||
Long shopId = acceptanceInfoDO.getShopId();
|
||||
Long shopId = shopStageInfoDO.getShopId();
|
||||
//施工子阶段
|
||||
List<ConstructionScheduleDTO> construction = decorationService.getConstruction(shopId);
|
||||
Map<String, ConstructionScheduleDTO> constructionMap = construction.stream().
|
||||
@@ -206,22 +206,22 @@ public class XxlJobHandler {
|
||||
if (Objects.nonNull(approach)) {
|
||||
Date date = CoolDateUtils.parseDate(approach.getActualBeginDate(), CoolDateUtils.DATE_FORMAT_DAY);
|
||||
if (Objects.nonNull(date)) {
|
||||
Result result = getResult(date,CommonConstants.FOUR);
|
||||
if (result.datePlusDays.equals(result.localDate)) {
|
||||
//三方验收带预约
|
||||
LocalDate plusFDays = DateUtils.getPlusFDays(date, CommonConstants.FOUR);
|
||||
//小于等于当前时间
|
||||
if (plusFDays.isEqual(LocalDate.now()) || plusFDays.isBefore(LocalDate.now())) {
|
||||
//三方验收待预约
|
||||
shopStageInfoDAO.updateShopStageInfo(shopId, ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_120);
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
} catch (Exception e) {
|
||||
log.error("定时任务设置进场时间失败,shopId:{}", acceptanceInfoDO.getShopId());
|
||||
log.error("定时任务设置进场时间失败,shopId:{}", shopStageInfoDO.getShopId());
|
||||
flag++;
|
||||
}
|
||||
}
|
||||
flag = CommonConstants.ZERO;
|
||||
}
|
||||
hasNext = acceptanceList.size() >= pageSize;
|
||||
hasNext = subStageList.size() >= pageSize;
|
||||
pageNum++;
|
||||
}
|
||||
log.info("------定时任务结束调用鲜丰获取进场时间结束------");
|
||||
@@ -257,17 +257,22 @@ public class XxlJobHandler {
|
||||
try {
|
||||
Date approach = acceptanceInfoDO.getActualEntryTime();
|
||||
if (Objects.nonNull(approach)) {
|
||||
Result result = getResult(approach,CommonConstants.FOUR);
|
||||
if (result.datePlusDays.equals(result.localDate)) {
|
||||
LocalDate plusFDays = DateUtils.getPlusFDays(approach, CommonConstants.FOUR);
|
||||
if (plusFDays.equals(LocalDate.now())) {
|
||||
ShopInfoDO shopInfo = shopInfoDAO.getShopInfo(acceptanceInfoDO.getShopId());
|
||||
EnterpriseUserDO userByRoleEnumAndRegionId = userAuthMappingService
|
||||
.getUserByRoleEnumAndRegionId(UserRoleEnum.ENGINEER_DEP_SUPERVISOR, shopInfo.getRegionId());
|
||||
if (StringUtils.isBlank(userByRoleEnumAndRegionId.getUserId())) {
|
||||
log.error("定时任务三方验收待预约钉钉通知,工程监理id为空,shopId:#{}", acceptanceInfoDO.getShopId());
|
||||
break;
|
||||
}
|
||||
LineInfoDO lineInfo = lineInfoDAO.getLineInfo(shopInfo.getLineId());
|
||||
Map<String, String> messageMap = new HashMap<>();
|
||||
messageMap.put("storeName", shopInfo.getShopName());
|
||||
messageMap.put("partnerUsername", lineInfo.getUsername());
|
||||
messageMap.put("partnerMobile", lineInfo.getMobile());
|
||||
commonService.sendMessage(Arrays.asList(userByRoleEnumAndRegionId.getUserId()), MessageEnum.MESSAGE_24, messageMap);
|
||||
|
||||
}
|
||||
}
|
||||
break;
|
||||
@@ -284,24 +289,6 @@ public class XxlJobHandler {
|
||||
|
||||
}
|
||||
|
||||
private static @NotNull Result getResult(Date date,Integer days) {
|
||||
Instant instant = date.toInstant();
|
||||
ZoneId zone = ZoneId.systemDefault();
|
||||
LocalDate localDate = instant.atZone(zone).toLocalDate();
|
||||
LocalDate datePlusFiveDays = localDate.plusDays(days); // 5天
|
||||
Result result = new Result(localDate, datePlusFiveDays);
|
||||
return result;
|
||||
}
|
||||
|
||||
private static class Result {
|
||||
public final LocalDate localDate;
|
||||
public final LocalDate datePlusDays;
|
||||
|
||||
public Result(LocalDate localDate, LocalDate datePlusDays) {
|
||||
this.localDate = localDate;
|
||||
this.datePlusDays = datePlusDays;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @Auther: wangshuo
|
||||
@@ -334,42 +321,40 @@ public class XxlJobHandler {
|
||||
try {
|
||||
Date approach = acceptanceInfoDO.getActualEntryTime();
|
||||
if (Objects.nonNull(approach)) {
|
||||
Result result = getResult(approach,CommonConstants.SIX);//7 day
|
||||
if (result.datePlusDays.equals(result.localDate)) {
|
||||
LocalDate plusFDays = DateUtils.getPlusFDays(approach, CommonConstants.SIX);//7 day
|
||||
if (plusFDays.equals(LocalDate.now())) {
|
||||
//三方验收带预约
|
||||
ShopInfoDO shopInfo = shopInfoDAO.getShopInfo(acceptanceInfoDO.getShopId());
|
||||
//加盟商手机号
|
||||
Long lineId = shopInfo.getLineId();
|
||||
LineInfoDO lineInfo = lineInfoDAO.getLineInfo(lineId);
|
||||
if (Objects.isNull(lineInfo) && StringUtils.isNull(lineInfo.getMobile())) {
|
||||
log.error("定时任务三方验收预约短信通知:加盟商手机号为空,shopId:#{}", acceptanceInfoDO.getShopId());
|
||||
break;
|
||||
}
|
||||
EnterpriseUserDO supervisor = userAuthMappingService
|
||||
.getUserByRoleEnumAndRegionId(UserRoleEnum.ENGINEER_DEP_SUPERVISOR, shopInfo.getRegionId());
|
||||
//获取撤场计划完成时间
|
||||
List<ConstructionScheduleDTO> construction = decorationService.getConstruction(acceptanceInfoDO.getShopId());
|
||||
Map<String, ConstructionScheduleDTO> map = construction.stream()
|
||||
.filter(o -> StringUtils.isNoneBlank(o.getName()))
|
||||
.collect(Collectors.toMap(ConstructionScheduleDTO::getName, dto -> dto));
|
||||
ConstructionScheduleDTO withdrawal = map.get(CommonConstants.WITHDRAWAL);
|
||||
//获取计划撤场时间
|
||||
Date planExitTime = acceptanceInfoDO.getPlanExitTime();
|
||||
//获取施工阶段计划完成时间
|
||||
ConstructionScheduleDTO constructionInfo = decorationService.getConstructionInfo(acceptanceInfoDO.getShopId());
|
||||
Date decorationEndTime = acceptanceInfoDO.getDecorationPlannedCompletionTime();
|
||||
//获取计划验收时间
|
||||
String palnAcceptanceTime = CoolDateUtils.DateFormat(acceptanceInfoDO.getPlanAcceptanceTime(), CoolDateUtils.DATE_FORMAT_SEC);
|
||||
//区域监理name
|
||||
String supervisorName = enterpriseUserDAO.getUserName(supervisor.getUserId());
|
||||
String planAcceptanceTime = CoolDateUtils.DateFormat(acceptanceInfoDO.getPlanAcceptanceTime(), CoolDateUtils.DATE_FORMAT_SEC);
|
||||
//区域监理手机号
|
||||
String mobile = supervisor.getMobile();
|
||||
Map<String, String> messageMap = new HashMap<>();
|
||||
if (Objects.nonNull(withdrawal) && withdrawal.getPlanEndDate() != null) {
|
||||
messageMap.put("demolitionPlanTime", withdrawal.getPlanEndDate());
|
||||
if (Objects.nonNull(planExitTime)) {
|
||||
String date = DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, planExitTime);
|
||||
messageMap.put("demolitionPlanTime", date);
|
||||
} else {
|
||||
|
||||
if (Objects.nonNull(constructionInfo)) {
|
||||
messageMap.put("demolitionPlanTime", constructionInfo.getPlanEndDate());
|
||||
if (Objects.nonNull(decorationEndTime)) {
|
||||
String date = DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, decorationEndTime);
|
||||
messageMap.put("demolitionPlanTime", date);
|
||||
}
|
||||
}
|
||||
messageMap.put("palnAcceptanceTime", palnAcceptanceTime);
|
||||
messageMap.put("supervisionName", supervisorName);
|
||||
messageMap.put("palnAcceptanceTime", planAcceptanceTime);
|
||||
messageMap.put("supervisionName", supervisor.getName());
|
||||
messageMap.put("supervisionMobile", mobile);
|
||||
//加盟商手机号
|
||||
ShopStageInfoDO stageInfoDO = lineIdMap.get(acceptanceInfoDO.getShopId());
|
||||
Long lineId = stageInfoDO.getLineId();
|
||||
LineInfoDO lineInfo = lineInfoDAO.getLineInfo(lineId);
|
||||
commonService.sendSms(lineInfo.getMobile(), SMSMsgEnum.THREE_ACCEPTANCE_WAIT, messageMap);
|
||||
}
|
||||
}
|
||||
@@ -422,14 +407,17 @@ public class XxlJobHandler {
|
||||
Date approach = acceptance.getActualEntryTime();
|
||||
Long shopId = acceptance.getShopId();
|
||||
if (Objects.nonNull(approach)) {
|
||||
Result result = getResult(approach,CommonConstants.SIX);//7天
|
||||
if (result.datePlusDays.equals(result.localDate)) {
|
||||
LocalDate plusFDays = DateUtils.getPlusFDays(approach, CommonConstants.SIX);//7天
|
||||
if (plusFDays.equals(LocalDate.now())) {
|
||||
ShopStageInfoDO stageInfoDO = lineIdMap.get(shopId);
|
||||
ShopInfoDO shopInfoDO = shopIdMap.get(shopId);
|
||||
if (StringUtils.isBlank(shopInfoDO.getSupervisorUserId())){
|
||||
log.error("定时任务三方待验收钉钉通知,督导id为空,shopId:{}", shopId);
|
||||
}
|
||||
Long lineId = stageInfoDO.getLineId();
|
||||
LineInfoDO lineInfo = lineInfoDAO.getLineInfo(lineId);
|
||||
Map<String, String> messageMap = new HashMap<>();
|
||||
messageMap.put("storeName",shopInfoDO.getShopName());
|
||||
messageMap.put("storeName", shopInfoDO.getShopName());
|
||||
messageMap.put("partnerUsername", lineInfo.getUsername());
|
||||
messageMap.put("partnerMobile", lineInfo.getMobile());
|
||||
commonService.sendMessage(Arrays.asList(shopInfoDO.getSupervisorUserId()), MessageEnum.MESSAGE_25, messageMap);
|
||||
|
||||
Reference in New Issue
Block a user