|
|
@@ -1,14 +1,13 @@
|
|
|
package com.ydtech.modules.order.service.impl;
|
|
|
|
|
|
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
import com.ydtech.constants.enums.dict.InsOrderStatusEnum;
|
|
|
import com.ydtech.modules.base.controller.BaseController;
|
|
|
-import com.ydtech.modules.ins.model.InsTaskHistory;
|
|
|
-import com.ydtech.modules.ins.service.InsTaskHistoryService;
|
|
|
-import com.ydtech.modules.order.components.InsImagesUploadCacheComponents;
|
|
|
import com.ydtech.modules.order.dao.InsSubOrderUpdateDetailMapper;
|
|
|
import com.ydtech.modules.order.entity.InsAreaCompany;
|
|
|
import com.ydtech.modules.order.entity.InsOrdersTrack;
|
|
|
import com.ydtech.modules.order.entity.po.InsSubOrderUpdateDetail;
|
|
|
+import com.ydtech.modules.order.service.InsAreaCompanyService;
|
|
|
import com.ydtech.modules.order.service.InsOrdersTrackService;
|
|
|
import com.ydtech.modules.order.service.InsSubOrderUpdateDetailService;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
@@ -17,6 +16,7 @@ import org.springframework.stereotype.Service;
|
|
|
|
|
|
import java.text.SimpleDateFormat;
|
|
|
import java.util.Date;
|
|
|
+import java.util.List;
|
|
|
|
|
|
/**
|
|
|
* @author Administrator
|
|
|
@@ -27,6 +27,9 @@ import java.util.Date;
|
|
|
public class InsSubOrderUpdateDetailServiceImpl extends ServiceImpl<InsSubOrderUpdateDetailMapper, InsSubOrderUpdateDetail>
|
|
|
implements InsSubOrderUpdateDetailService {
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private InsAreaCompanyService insAreaCompanyService;
|
|
|
+
|
|
|
@Autowired
|
|
|
private InsOrdersTrackService insOrdersTrackService;
|
|
|
|
|
|
@@ -76,15 +79,37 @@ public class InsSubOrderUpdateDetailServiceImpl extends ServiceImpl<InsSubOrderU
|
|
|
}else if("2".equals(updateMethod)){
|
|
|
updateMethodRemark="自动更新为";
|
|
|
}
|
|
|
+ Date date = new Date();
|
|
|
updateRemark =new BaseController().getUser().getName()+"将子订单"+subOrder.getId()+"的"+oldRemark+updateMethodRemark+newRemark;
|
|
|
- InsSubOrderUpdateDetail detail =new InsSubOrderUpdateDetail(subOrder.getId(), subOrder.getOrderno(), updateMethod, new Date(), new BaseController().getUser().getId(), new BaseController().getUser().getName(), updateRemark,updateType, oldStatus, newStatus);
|
|
|
- this.save(detail);
|
|
|
+ InsSubOrderUpdateDetail detail =new InsSubOrderUpdateDetail(subOrder.getId(), subOrder.getOrderno(), updateMethod, date, new BaseController().getUser().getId(), new BaseController().getUser().getName(), updateRemark,updateType, oldStatus, newStatus);
|
|
|
+ //保证承保数据只有一条
|
|
|
+ if(InsOrderStatusEnum.WAIT_PAY.getCode().equals(oldStatus) && InsOrderStatusEnum.ACCEPT_INSURANCE.getCode().equals(newStatus)){
|
|
|
+ LambdaQueryWrapper<InsSubOrderUpdateDetail> lqw = new LambdaQueryWrapper<>();
|
|
|
+ lqw.eq(InsSubOrderUpdateDetail::getSubOrderNo, subOrder.getId());
|
|
|
+ lqw.eq(InsSubOrderUpdateDetail::getUpdateAfterStatus, InsOrderStatusEnum.ACCEPT_INSURANCE.getCode());
|
|
|
+ List<InsSubOrderUpdateDetail> list = this.list(lqw);
|
|
|
+ if(list==null || list.size()==0) {
|
|
|
+ this.save(detail);
|
|
|
+ }
|
|
|
+ }else{
|
|
|
+ this.save(detail);
|
|
|
+ }
|
|
|
+ InsAreaCompany old = insAreaCompanyService.getById(subOrder.getId());
|
|
|
+ //如果是状态为核保待缴费插入轨迹表
|
|
|
+ if(InsOrderStatusEnum.WAIT_AUDIT.getCode().equals(oldStatus) && InsOrderStatusEnum.WAIT_PAY.getCode().equals(newStatus)){
|
|
|
+ //更新核保时间
|
|
|
+ old.setUnderwritingTime(date);
|
|
|
+ insAreaCompanyService.updateById(old);
|
|
|
+ }
|
|
|
//如果是状态为核保待缴费插入轨迹表
|
|
|
if(InsOrderStatusEnum.WAIT_PAY.getCode().equals(oldStatus) && InsOrderStatusEnum.ACCEPT_INSURANCE.getCode().equals(newStatus)){
|
|
|
- SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
|
|
//插入轨迹表
|
|
|
InsOrdersTrack insOrdersTrack = new InsOrdersTrack(subOrder.getId(), subOrder.getCompanyId(), subOrder.getInscompany(), subOrder.getOrderno(), newStatus, new BaseController().getUser().getId(), new BaseController().getUser().getName(),updateRemark);
|
|
|
insOrdersTrackService.save(insOrdersTrack);
|
|
|
+ //更新状态 更新时间
|
|
|
+ old.setUpdateStatusTime(date);
|
|
|
+ old.setUpdateStatus(updateMethod);
|
|
|
+ insAreaCompanyService.updateById(old);
|
|
|
}
|
|
|
|
|
|
}
|