Эх сурвалжийг харах

1.添加暂存订单逻辑
2.添加暂存列表接口
3.添加暂存编辑的逻辑

hxl13994548489 2 жил өмнө
parent
commit
19e1534f89

+ 37 - 13
src/main/java/com/ydtech/modules/order/controller/ExternalOrderController.java

@@ -8,19 +8,14 @@ import com.ydtech.modules.base.controller.BaseController;
 import com.ydtech.modules.fnc.entity.InsFeeAudit;
 import com.ydtech.modules.fnc.service.InsFeeAuditService;
 import com.ydtech.modules.ins.model.vo.QuoteRespVo;
-import com.ydtech.modules.order.aop.QuoteVerification;
 import com.ydtech.modules.order.components.InsOrdersComponents;
-import com.ydtech.modules.order.entity.InsAreaCompany;
-import com.ydtech.modules.order.entity.InsOrders;
 import com.ydtech.modules.order.entity.vo.*;
 import com.ydtech.modules.order.service.InsAreaCompanyExternalPolicyService;
 import com.ydtech.modules.order.service.InsAreaCompanyService;
-import com.ydtech.modules.order.service.InsOrdersService;
 import com.ydtech.modules.order.service.InsTaskImagesService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.RequiredArgsConstructor;
-import org.apache.poi.ss.formula.functions.T;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
@@ -52,20 +47,39 @@ public class ExternalOrderController {
     public HttpResult<QuoteRespVo> saveSubOrder(@RequestBody BaseQuoteVo<AccidentalDrivingVo> quoteVo) {
         BaseQuoteInfoVo quoteInfo = this.insOrdersComponents.getQuoteInfo(quoteVo.getOrderNo(), quoteVo.getAgreementId());
         boolean result = this.insAreaCompanyService.saveSubOrder(quoteInfo, quoteVo);
-        return result ? HttpResult.ok("添加订单成功") : HttpResult.error("添加订单失败");
+        String successMsg="";
+        String errorMsg ="";
+        if(quoteVo.getStageFlag()==1){
+            successMsg="添加订单成功";
+            errorMsg="添加订单失败";
+        }else {
+            successMsg="暂存订单成功";
+            errorMsg="暂存订单失败";
+        }
+        return result  ? HttpResult.ok(successMsg) : HttpResult.error(errorMsg);
     }
-
     @PostMapping("/updateExternalOrder")
     @ApiOperation("更新外部订单")
     public HttpResult<Object> updateSubOrder(@RequestBody InsOrdersEditingVo insOrdersEditingVo){
 //        BaseQuoteInfoVo quoteInfo = this.insOrdersComponents.getQuoteInfo(quoteVo.getOrderNo(), quoteVo.getAgreementId());
-        InsFeeAudit feeAuditByInsOrderNo = insFeeAuditService.getFeeAuditByInsOrderNo(insOrdersEditingVo.getInsAreaCompanyList().get(0).getId());
-        if(feeAuditByInsOrderNo.getAuditstatus().equals(FeeAuditAuditstatus.UNREVICEWED.getCode()))
-        {
-            throw new SystemException("请勿重复修改");
+        if(insOrdersEditingVo.getOrderExternalStatus()==1){
+            InsFeeAudit feeAuditByInsOrderNo = insFeeAuditService.getFeeAuditByInsOrderNo(insOrdersEditingVo.getInsAreaCompanyList().get(0).getId());
+            if(feeAuditByInsOrderNo.getAuditstatus().equals(FeeAuditAuditstatus.UNREVICEWED.getCode()))
+            {
+                throw new SystemException("请勿重复修改");
+            }
         }
         boolean result = this.insAreaCompanyService.updateOrderAndSubOrder(insOrdersEditingVo);
-        return result ? HttpResult.ok("订单修改成功,重新提交审核!") : HttpResult.error("订单修改失败");
+        String successMsg="";
+        String errorMsg ="";
+        if(insOrdersEditingVo.getStageFlag()==1){
+            successMsg="订单修改成功,重新提交审核!";
+            errorMsg="订单修改失败";
+        }else {
+            successMsg="暂存订单成功";
+            errorMsg="暂存订单失败";
+        }
+        return result ? HttpResult.ok(successMsg) : HttpResult.error(errorMsg);
     }
 
     /**
@@ -95,6 +109,16 @@ public class ExternalOrderController {
     @ApiOperation("驳回分页列表")
     public HttpResult<Object> getRejectPage(@RequestBody RejectPageQueryVo rejectPageQueryVo){
         Page page = buildPageRequest(rejectPageQueryVo.getPageDto());
-        return HttpResult.ok(insAreaCompanyService.getRejectOrder(page, BaseController.getUser().getId()));
+        return HttpResult.ok(insAreaCompanyService.getRejectOrder(page, BaseController.getUser().getId(),rejectPageQueryVo));
+    }
+
+    /**
+     * 暂存分页列表
+     */
+    @PostMapping("/stagePage")
+    @ApiOperation("暂存分页列表")
+    public HttpResult<Object> getStagePage(@RequestBody RejectPageQueryVo rejectPageQueryVo){
+        Page page = buildPageRequest(rejectPageQueryVo.getPageDto());
+        return HttpResult.ok(insAreaCompanyService.getStageOrder(page, BaseController.getUser().getId(),rejectPageQueryVo));
     }
 }

+ 8 - 2
src/main/java/com/ydtech/modules/order/dao/InsAreaCompanyExternalPolicyMapper.java

@@ -1,8 +1,8 @@
 package com.ydtech.modules.order.dao;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.ydtech.modules.order.entity.InsAreaCompanyExternalFee;
 import com.ydtech.modules.order.entity.InsAreaCompanyExternalPolicy;
+import org.apache.ibatis.annotations.Param;
 
 /**
  * @author Administrator
@@ -12,7 +12,13 @@ import com.ydtech.modules.order.entity.InsAreaCompanyExternalPolicy;
  */
 public interface InsAreaCompanyExternalPolicyMapper extends BaseMapper<InsAreaCompanyExternalPolicy> {
 
-
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: \ 11:34
+     *  @Description: 根据保单号更新数据
+     */
+    void updateBySuOrderNo(@Param("vo") InsAreaCompanyExternalPolicy externalPolicy);
 }
 
 

+ 9 - 1
src/main/java/com/ydtech/modules/order/dao/InsAreaCompanyMapper.java

@@ -17,6 +17,7 @@ import com.ydtech.modules.order.entity.InsAreaCompany;
 import com.ydtech.modules.order.entity.InsOrders;
 import com.ydtech.modules.order.entity.dto.InsAreaCompanyQueryDto;
 import com.ydtech.modules.order.entity.vo.OrderQueryVo;
+import com.ydtech.modules.order.entity.vo.RejectPageQueryVo;
 import org.apache.ibatis.annotations.Param;
 
 import java.util.HashMap;
@@ -136,7 +137,7 @@ public interface InsAreaCompanyMapper extends BaseMapper<InsAreaCompany> {
      * @param userId
      * @return
      */
-    Page<InsAreaCompany> getRejectOrder(Page page,@Param("userId") String userId);
+    Page<InsAreaCompany> getRejectOrder(Page page, @Param("userId") String userId, @Param("vo") RejectPageQueryVo rejectPageQueryVo);
     /**
      *  @version
      *  @author: hxl
@@ -172,6 +173,13 @@ public interface InsAreaCompanyMapper extends BaseMapper<InsAreaCompany> {
      *  @Description:  查询保险公司的报价次数
      */
     Page<CompanyQutationCountDataDto> queryCompanyQutationCountDataPage(@Param("vo") CompanyQutationCountDataQueryDto companyQutationCountDataQueryDto, @Param("page") Page<QuotationCountDataDto> page);
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/7/10 17:42
+     *  @Description:  获取暂存订单的数据
+     */
+    Page<InsAreaCompany> getStageOrder(@Param("page") Page page, @Param("userId") String userId, @Param("vo") RejectPageQueryVo rejectPageQueryVo);
 }
 
 

+ 5 - 1
src/main/java/com/ydtech/modules/order/entity/InsAreaCompany.java

@@ -14,7 +14,6 @@ import com.ydtech.modules.protocol.entity.po.PtlAgreementAttribution;
 import com.ydtech.utils.StringUtils;
 import com.ydtech.utils.idgen.IdGenerate;
 import io.swagger.annotations.ApiModel;
-import io.swagger.annotations.ApiModelProperty;
 import lombok.AllArgsConstructor;
 import lombok.Data;
 import lombok.NoArgsConstructor;
@@ -476,6 +475,11 @@ public class InsAreaCompany implements Serializable {
      */
     @TableField(exist = false)
     private String userId;
+    /***
+     *   外部状态   0 暂存   1 驳回
+     */
+    @TableField(exist = false)
+    private String orderExternalStatus;
 
 
     public InsAreaCompany(QuoteRespVo quoteRespVo, PtlAgreementAttribution ptlAgreementAttribution) {

+ 5 - 1
src/main/java/com/ydtech/modules/order/entity/vo/BaseQuoteVo.java

@@ -1,6 +1,5 @@
 package com.ydtech.modules.order.entity.vo;
 
-import com.ydtech.modules.order.entity.InsAreaCompanyExternalPolicy;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
@@ -139,4 +138,9 @@ public class BaseQuoteVo<T> {
 
     @ApiModelProperty("签单日期")
     private LocalDateTime signDate;
+
+
+    //  add by hxl 2024-07-10
+    @ApiModelProperty("是否暂存")
+    private Integer stageFlag;
 }

+ 18 - 8
src/main/java/com/ydtech/modules/order/entity/vo/InsOrdersEditingVo.java

@@ -3,22 +3,20 @@ package com.ydtech.modules.order.entity.vo;
 
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler;
+import com.fasterxml.jackson.annotation.JsonFormat;
 import com.ydtech.modules.ins.model.vo.AccidentResponseVo;
 import com.ydtech.modules.ins.model.vo.QuoteKindRespVo;
 import com.ydtech.modules.ins.model.vo.QuoteRiskRespVo;
-import com.ydtech.modules.order.entity.InsAreaCompanyExternalPolicy;
 import com.ydtech.modules.order.entity.InsOrders;
 import com.ydtech.modules.order.entity.TaxArrears;
 import com.ydtech.modules.order.entity.dto.InsAreaCompanyQueryDto;
 import io.swagger.annotations.ApiModelProperty;
-import lombok.AllArgsConstructor;
 import lombok.Data;
-import lombok.EqualsAndHashCode;
-import lombok.NoArgsConstructor;
 import org.apache.commons.lang3.ObjectUtils;
 
 import java.io.Serializable;
 import java.math.BigDecimal;
+import java.time.LocalDateTime;
 import java.util.ArrayList;
 import java.util.List;
 
@@ -64,6 +62,22 @@ public class InsOrdersEditingVo extends InsOrders implements Serializable {
     @TableField(value = "jqSignList", typeHandler = FastjsonTypeHandler.class)
     private List<InsAreaCompanyExternalPolicyVo> jqSignList;
 
+    //  add by hxl 2024-07-10       0 暂存   1 保存
+    @ApiModelProperty("是否暂存")
+    private Integer stageFlag;
+    // add by hxl 2024-07-10   订单状态    0 暂存   1 驳回
+    @ApiModelProperty("订单状态")
+    private Integer orderExternalStatus;
+
+    // add by  2024-07-11 驾意险保单号
+    @ApiModelProperty("驾意险保单号")
+    private String jypolicyno;
+
+    // add by  2024-07-11 添加签单日期
+    @ApiModelProperty("签单日期")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private LocalDateTime signDate;
+
     @Data
     public static class InsAreaCompanyEditingDto implements Serializable {
 
@@ -200,10 +214,6 @@ public class InsOrdersEditingVo extends InsOrders implements Serializable {
         private BigDecimal sumExportFee;
 
 
-
-
-
-
         public InsAreaCompanyEditingDto(InsAreaCompanyQueryDto insAreaCompany) {
             this.orderno = insAreaCompany.getOrderno();
             this.orderstatus = insAreaCompany.getOrderstatus();

+ 11 - 0
src/main/java/com/ydtech/modules/order/entity/vo/RejectPageQueryVo.java

@@ -1,9 +1,20 @@
 package com.ydtech.modules.order.entity.vo;
 
 import com.ydtech.core.page.PageRequest;
+import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
 @Data
 public class RejectPageQueryVo extends PageRequest {
 
+    @ApiModelProperty(value = "订单号")
+    private  String  id;
+
+
+    @ApiModelProperty(value = "车牌号")
+    private String  licenseno;
+
+
+    @ApiModelProperty(value = "审核人")
+    private String auditname;
 }

+ 7 - 2
src/main/java/com/ydtech/modules/order/service/InsAreaCompanyExternalPolicyService.java

@@ -1,7 +1,6 @@
 package com.ydtech.modules.order.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
-import com.ydtech.modules.order.entity.InsAreaCompanyExternalFee;
 import com.ydtech.modules.order.entity.InsAreaCompanyExternalPolicy;
 
 /**
@@ -12,5 +11,11 @@ import com.ydtech.modules.order.entity.InsAreaCompanyExternalPolicy;
 public interface InsAreaCompanyExternalPolicyService extends IService<InsAreaCompanyExternalPolicy> {
 
     InsAreaCompanyExternalPolicy getPolicyByCompanyId(String companyId);
-
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/7/11 11:33
+     *  @Description:  根据保单号跟新数据
+     */
+    void updateBySuOrderNo(InsAreaCompanyExternalPolicy externalPolicy);
 }

+ 8 - 2
src/main/java/com/ydtech/modules/order/service/InsAreaCompanyService.java

@@ -6,7 +6,6 @@ import com.ydtech.core.page.HttpResult;
 import com.ydtech.modules.fnc.entity.vo.ProblemOrderQueryVo;
 import com.ydtech.modules.order.entity.InsAreaCompany;
 import com.ydtech.modules.order.entity.InsAreaCompanyAccidentalDriving;
-import com.ydtech.modules.order.entity.InsAreaCompanyPosition;
 import com.ydtech.modules.order.entity.InsOrders;
 import com.ydtech.modules.order.entity.dto.InsAreaCompanyQueryDto;
 import com.ydtech.modules.order.entity.vo.*;
@@ -154,7 +153,7 @@ public interface InsAreaCompanyService extends IService<InsAreaCompany> {
      * @param userId
      * @return
      */
-    Page<InsAreaCompany> getRejectOrder(Page page,String userId);
+    Page<InsAreaCompany> getRejectOrder(Page page,String userId,RejectPageQueryVo rejectPageQueryVo);
 
     /**
      * 更新外部订单
@@ -162,4 +161,11 @@ public interface InsAreaCompanyService extends IService<InsAreaCompany> {
      * @return
      */
     boolean updateOrderAndSubOrder(InsOrdersEditingVo insOrdersEditingVo);
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/7/10 17:40
+     *  @Description:  获取暂存订单数据
+     */
+    Page<InsAreaCompany> getStageOrder(Page page, String userId,RejectPageQueryVo rejectPageQueryVo);
 }

+ 10 - 3
src/main/java/com/ydtech/modules/order/service/impl/InsAreaCompanyExternalPolicyServiceImpl.java

@@ -2,11 +2,8 @@ package com.ydtech.modules.order.service.impl;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.ydtech.modules.order.dao.InsAreaCompanyExternalFeeMapper;
 import com.ydtech.modules.order.dao.InsAreaCompanyExternalPolicyMapper;
-import com.ydtech.modules.order.entity.InsAreaCompanyExternalFee;
 import com.ydtech.modules.order.entity.InsAreaCompanyExternalPolicy;
-import com.ydtech.modules.order.service.InsAreaCompanyExternalFeeService;
 import com.ydtech.modules.order.service.InsAreaCompanyExternalPolicyService;
 import org.springframework.stereotype.Service;
 
@@ -26,6 +23,16 @@ public class InsAreaCompanyExternalPolicyServiceImpl extends ServiceImpl<InsArea
                 .eq(InsAreaCompanyExternalPolicy::getSubOrderNo, companyId));
         return insAreaCompanyExternalPolicy;
     }
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/7/11 11:34
+     *  @Description: 根据保单号更新数据
+     */
+    @Override
+    public void updateBySuOrderNo(InsAreaCompanyExternalPolicy externalPolicy) {
+        baseMapper.updateBySuOrderNo(externalPolicy);
+    }
 }
 
 

+ 127 - 19
src/main/java/com/ydtech/modules/order/service/impl/InsAreaCompanyServiceImpl.java

@@ -480,11 +480,20 @@ public class InsAreaCompanyServiceImpl extends ServiceImpl<InsAreaCompanyMapper,
         if(quoteVo.getSignDate() == null){
             throw new SystemException("请选择签单日期");
         }
+        //添加协议判断逻辑  add by  2024-07-10
+        if(quoteVo.getAgreementId() == null){
+            throw new SystemException("请选择协议");
+        }
+
     }
 
     @Override
     @Transactional
     public boolean saveSubOrder(BaseQuoteInfoVo quoteInfo, BaseQuoteVo<AccidentalDrivingVo> quoteVo) {
+        //添加暂存标志   add by  hxl  2024-07-10  0 暂存 1 保存
+        if(quoteVo.getStageFlag() == null){
+            throw new SystemException("暂存标志为空");
+        }
 
         validQuoteVo(quoteVo);
 
@@ -499,6 +508,14 @@ public class InsAreaCompanyServiceImpl extends ServiceImpl<InsAreaCompanyMapper,
         }
 
         InsOrders insOrders = insOrdersService.getById(quoteInfo.getOrderNo());
+        //添加暂存处理  add by hxl  2024-07-10   0 暂存
+        if(quoteVo.getStageFlag()==0){
+            //设置为报价中
+            insOrders.setOrderstatus(InsOrderStatusEnum.QUOTE_ING.getCode());
+        }else{
+            //设置为已承保状态
+            insOrders.setOrderstatus(InsOrderStatusEnum.ACCEPT_INSURANCE.getCode());
+        }
         PtlAgreement byAgreementIdNew = ptlAgreementService.getByAgreementIdNew(quoteVo.getAgreementId());
         quoteVo = checkQuoteVo(quoteVo);
 
@@ -538,9 +555,14 @@ public class InsAreaCompanyServiceImpl extends ServiceImpl<InsAreaCompanyMapper,
         insAreaCompany.setJqRenewal(quoteVo.getJqRenewal());
         insAreaCompany.setSyRenewal(quoteVo.getSyRenewal());
         insAreaCompany.setScore(quoteVo.getScore());
-
-        //设置为已承保状态
-        insAreaCompany.setOrderstatus(InsOrderStatusEnum.ACCEPT_INSURANCE.getCode());
+        //添加暂存处理  add by hxl  2024-07-10   0 暂存
+        if(quoteVo.getStageFlag()==0){
+            //设置为报价中
+            insAreaCompany.setOrderstatus(InsOrderStatusEnum.QUOTE_ING.getCode());
+        }else{
+            //设置为已承保状态
+            insAreaCompany.setOrderstatus(InsOrderStatusEnum.ACCEPT_INSURANCE.getCode());
+        }
         insAreaCompany.setCompanyId(byAgreementIdNew.getInsuranceCompanyId());
         insAreaCompany.setInscompany(byAgreementIdNew.getInsuranceCompany());
         //保单号
@@ -652,10 +674,11 @@ public class InsAreaCompanyServiceImpl extends ServiceImpl<InsAreaCompanyMapper,
 
         //计算费用
         feeRuleSchemeNewService.calcCostsExternal(costsNews.get(0),insAreaCompany);
-
-        //审核表数据插入
-        insFeeAuditService.saveDefaultInsFeeAuditAndHistory(insAreaCompany.getOrderno(), insAreaCompany.getId(), FeeAuditAuditstatus.UNREVICEWED.getCode(),null);
-
+        // add by  hxl   2024-07-10  保存时查询审核表
+        if(quoteVo.getStageFlag()==1){
+            //审核表数据插入
+            insFeeAuditService.saveDefaultInsFeeAuditAndHistory(insAreaCompany.getOrderno(), insAreaCompany.getId(), FeeAuditAuditstatus.UNREVICEWED.getCode(),null);
+        }
         return true;
     }
 
@@ -690,8 +713,8 @@ public class InsAreaCompanyServiceImpl extends ServiceImpl<InsAreaCompanyMapper,
     }
 
     @Override
-    public Page<InsAreaCompany> getRejectOrder(Page page,String userId) {
-        Page<InsAreaCompany> rejectOrder = baseMapper.getRejectOrder(page, userId);
+    public Page<InsAreaCompany> getRejectOrder(Page page,String userId,RejectPageQueryVo rejectPageQueryVo) {
+        Page<InsAreaCompany> rejectOrder = baseMapper.getRejectOrder(page, userId,rejectPageQueryVo);
         return rejectOrder;
     }
 
@@ -703,10 +726,21 @@ public class InsAreaCompanyServiceImpl extends ServiceImpl<InsAreaCompanyMapper,
     @Override
     @Transactional
     public boolean updateOrderAndSubOrder(InsOrdersEditingVo insOrdersEditingVo) {
+        if(StringUtils.isBlank(insOrdersEditingVo.getAgreementId())){
+            throw new SystemException("请选择协议!!");
+        }
         InsOrders insOrders = new InsOrders();
         BeanUtils.copyProperties(insOrdersEditingVo,insOrders);
         //更新创建时间
         insOrders.setCreatetime(LocalDateTime.now());
+        //添加暂存处理  add by hxl  2024-07-10   0 暂存
+        if(insOrdersEditingVo.getStageFlag()==0){
+            //设置为报价中
+            insOrders.setOrderstatus(InsOrderStatusEnum.QUOTE_ING.getCode());
+        }else{
+            //设置为已承保状态
+            insOrders.setOrderstatus(InsOrderStatusEnum.ACCEPT_INSURANCE.getCode());
+        }
         insOrdersService.updateById(insOrders);
         String subOrderNo = insOrdersEditingVo.getInsAreaCompanyList().get(0).getId();
         //处理保单
@@ -724,15 +758,13 @@ public class InsAreaCompanyServiceImpl extends ServiceImpl<InsAreaCompanyMapper,
         if(insOrdersEditingVo.getJqSignList() != null && !insOrdersEditingVo.getJqSignList().isEmpty()){
             externalPolicy.setJqSign(insOrdersEditingVo.getJqSignList().get(0).getUrl());
         }
-        insAreaCompanyExternalPolicyService.updateById(externalPolicy);
-
-        //处理子订单
-        InsAreaCompany insAreaCompany = insOrdersEditingVo.getInsAreaCompanyList().get(0);
-        this.updateById(insAreaCompany);
-
+        insAreaCompanyExternalPolicyService.updateBySuOrderNo(externalPolicy);
         //通过协议id 查询费用
         PtlAgreement ptlAgreement = ptlAgreementService.getById(insOrdersEditingVo.getAgreementId());
-
+        //处理子订单重新赋值   add  by hxl  2024-07-01  处理编辑数据不更新的bug
+        InsAreaCompany insAreaCompany = insOrdersEditingVo.getInsAreaCompanyList().get(0);
+        insAreaCompany =getNewEntity(insAreaCompany,insOrdersEditingVo,ptlAgreement);
+        this.updateById(insAreaCompany);
         //查找协议的费用
         AgreementProductQueryVo agreementProductQueryVo = new AgreementProductQueryVo();
         List<String> productId = new ArrayList<>();
@@ -802,11 +834,87 @@ public class InsAreaCompanyServiceImpl extends ServiceImpl<InsAreaCompanyMapper,
 
         //计算费用
         feeRuleSchemeNewService.calcCostsExternal(costsNews.get(0),insAreaCompany);
-
-        //重新进入审核状态
-        insFeeAuditService.saveDefaultInsFeeAuditAndHistory(insAreaCompany.getOrderno(), insAreaCompany.getId(), FeeAuditAuditstatus.UNREVICEWED.getCode(),null);
+        // add by  hxl   2024-07-10  保存时查询审核表
+        if(insOrdersEditingVo.getStageFlag()==1){
+            //重新进入审核状态
+            insFeeAuditService.saveDefaultInsFeeAuditAndHistory(insAreaCompany.getOrderno(), insAreaCompany.getId(), FeeAuditAuditstatus.UNREVICEWED.getCode(),null);
+        }
         return true;
     }
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/7/11 17:28
+     *  @Description:  重新赋值更新
+     */
+    private InsAreaCompany getNewEntity(InsAreaCompany insAreaCompany, InsOrdersEditingVo insOrdersEditingVo,PtlAgreement ptlAgreement) {
+        insAreaCompany.setAgreementId(insOrdersEditingVo.getAgreementId());
+        //设置时间
+        insAreaCompany.setJqStartDate(insOrdersEditingVo.getJqstartdate());
+        insAreaCompany.setJqEndDate(insOrdersEditingVo.getJqenddate());
+        insAreaCompany.setSyStartDate(insOrdersEditingVo.getSystartdate());
+        insAreaCompany.setSyEndDate(insOrdersEditingVo.getSyenddate());
+
+        insAreaCompany.setJqRenewal(insOrdersEditingVo.getJqRenewal());
+        insAreaCompany.setSyRenewal(insOrdersEditingVo.getSyRenewal());
+        insAreaCompany.setScore(insOrdersEditingVo.getScore());
+        //添加暂存处理  add by hxl  2024-07-10   0 暂存
+        if(insOrdersEditingVo.getStageFlag()==0){
+            //设置为报价中
+            insAreaCompany.setOrderstatus(InsOrderStatusEnum.QUOTE_ING.getCode());
+        }else{
+            //设置为已承保状态
+            insAreaCompany.setOrderstatus(InsOrderStatusEnum.ACCEPT_INSURANCE.getCode());
+        }
+        insAreaCompany.setCompanyId(ptlAgreement.getInsuranceCompanyId());
+        insAreaCompany.setInscompany(ptlAgreement.getInsuranceCompany());
+        //保单号
+        insAreaCompany.setJqpolicyno(insOrdersEditingVo.getJqpolicyno());
+        insAreaCompany.setSypolicyno(insOrdersEditingVo.getSypolicyno());
+        JSONArray noPolicyno = new JSONArray();
+        JSONObject noPolicy = new JSONObject();
+        noPolicy.put("application", insOrdersEditingVo.getJypolicyno());
+        noPolicyno.add(noPolicy);
+        insAreaCompany.setCrossInsurance(noPolicyno);
+        insAreaCompany.setRiskinfo(insOrdersEditingVo.getRisk());
+        insAreaCompany.setKindinfo(insOrdersEditingVo.getKing());
+        //设置保费
+        insAreaCompany.setJqpremium(StringUtils.isNotBlank(insOrdersEditingVo.getJqpremium())?new BigDecimal(insOrdersEditingVo.getJqpremium()):BigDecimal.ZERO);
+        insAreaCompany.setSypremium(StringUtils.isNotBlank(insOrdersEditingVo.getSypremium())?new BigDecimal(insOrdersEditingVo.getSypremium()):BigDecimal.ZERO);
+        insAreaCompany.setJypremium(StringUtils.isNotBlank(insOrdersEditingVo.getJypremium())?new BigDecimal(insOrdersEditingVo.getJypremium()):BigDecimal.ZERO);
+        insAreaCompany.setTaxamount(StringUtils.isNotBlank(insOrdersEditingVo.getTaxamount())?new BigDecimal(insOrdersEditingVo.getTaxamount()):BigDecimal.ZERO);
+        insAreaCompany.setSumpremium(insAreaCompany.getJqpremium()
+                .add(insAreaCompany.getSypremium())
+                .add(insAreaCompany.getJypremium())
+                .add(insAreaCompany.getTaxamount()));
+        insAreaCompany.setOperatorId(BaseController.getUser().getId());
+        insAreaCompany.setOperatorName(BaseController.getUser().getName());
+        insAreaCompany.setOperatorTime(new Date());
+        insAreaCompany.setSigningTime(insOrdersEditingVo.getSignDate());
+        insAreaCompany.setCreatetime(LocalDateTime.now());
+        //通过主订单的信息判断 更新险种信息
+        List<RiskInfoVo> risks = insOrdersEditingVo.getRisk() == null ? new JSONArray().toJavaList(RiskInfoVo.class) :
+                insOrdersEditingVo.getRisk().toJavaList(RiskInfoVo.class);
+        List<KindInfoVo> kinds = insOrdersEditingVo.getKing() == null ? new JSONArray().toJavaList(KindInfoVo.class) :
+                insOrdersEditingVo.getKing().toJavaList(KindInfoVo.class);
+        //获取订单的险种信息
+        InsOrders insOrders = new InsOrders();
+        insOrders.productInformation(risks, kinds);
+        insAreaCompany.setProductid(insOrders.getProductid());
+        insAreaCompany.setProduct(insOrders.getProduct());
+        return insAreaCompany;
+    }
+
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/7/10 17:41
+     *  @Description: 获取暂存订单的数据
+     */
+    @Override
+    public Page<InsAreaCompany> getStageOrder(Page page, String userId,RejectPageQueryVo rejectPageQueryVo) {
+        return baseMapper.getStageOrder(page, userId,rejectPageQueryVo);
+    }
 
 
 }

+ 11 - 5
src/main/java/com/ydtech/modules/order/service/impl/InsOrdersServiceImpl.java

@@ -1,7 +1,5 @@
 package com.ydtech.modules.order.service.impl;
 
-import cn.dev33.satoken.session.SaSession;
-import cn.dev33.satoken.stp.StpUtil;
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
@@ -744,9 +742,9 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
         if (insAreaCompanyList.size() > 0 && insOrders.getIsExternal() == 1) {
             insAreaCompanyExternalFee = insAreaCompanyExternalFeeService.getById(insAreaCompanyList.get(0).getId());
             insOrdersEditingVo.setSigningTime(insAreaCompanyList.get(0).getSigningTime());
-            insOrdersEditingVo.setJqpremium(insAreaCompanyList.get(0).getJqpremium().toString());
-            insOrdersEditingVo.setSypremium(insAreaCompanyList.get(0).getSypremium().toString());
-            insOrdersEditingVo.setJypremium(insAreaCompanyList.get(0).getJypremium().toString());
+            insOrdersEditingVo.setJqpremium(insAreaCompanyList.get(0).getJqpremium().compareTo(BigDecimal.ZERO)==0?"":insAreaCompanyList.get(0).getJqpremium() .toString());
+            insOrdersEditingVo.setSypremium(insAreaCompanyList.get(0).getSypremium().compareTo(BigDecimal.ZERO)==0?"":insAreaCompanyList.get(0).getSypremium().toString());
+            insOrdersEditingVo.setJypremium(insAreaCompanyList.get(0).getJypremium().compareTo(BigDecimal.ZERO)==0?"":insAreaCompanyList.get(0).getJypremium().toString());
             insOrdersEditingVo.setTaxamount(insAreaCompanyList.get(0).getTaxamount().toString());
             insOrdersEditingVo.setJqpolicyno(insAreaCompanyList.get(0).getJqpolicyno());
             insOrdersEditingVo.setSypolicyno(insAreaCompanyList.get(0).getSypolicyno());
@@ -754,6 +752,14 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
             insOrdersEditingVo.setScore(insAreaCompanyList.get(0).getScore());
             insOrdersEditingVo.setJqRenewal(insAreaCompanyList.get(0).getJqRenewal());
             insOrdersEditingVo.setSyRenewal(insAreaCompanyList.get(0).getSyRenewal());
+            //设置签单时间和非车保单号
+            insOrdersEditingVo.setSignDate(insAreaCompanyList.get(0).getSigningTime());
+            JSONArray crossInsurance = insAreaCompanyList.get(0).getCrossInsurance();
+            String application ="";
+            if(crossInsurance!=null && crossInsurance.size() > 0) {
+                application = crossInsurance.getJSONObject(0).getString("application");
+            }
+            insOrdersEditingVo.setJypolicyno(application);
 
             InsAreaCompanyExternalPolicy policyByCompanyId = insAreaCompanyExternalPolicyService.getPolicyByCompanyId(insAreaCompanyList.get(0).getId());
 //            insOrdersEditingVo.setExternalPolicy(policyByCompanyId);

+ 15 - 0
src/main/resources/mapper/modules/order/InsAreaCompanyExternalPolicyMapper.xml

@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper
+        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ydtech.modules.order.dao.InsAreaCompanyExternalPolicyMapper">
+
+
+    <update id="updateBySuOrderNo">
+         update   ins_area_company_external_policy  set jq_policy=#{vo.jqPolicy},
+                                                        sy_policy=#{vo.syPolicy},
+                                                        no_policy=#{vo.noPolicy},
+                                                        jq_sign=#{vo.jqSign}
+            where  sub_order_no=#{vo.subOrderNo}
+    </update>
+</mapper>

+ 44 - 1
src/main/resources/mapper/modules/order/InsAreaCompanyMapper.xml

@@ -665,17 +665,29 @@
             io.licenseno,
             ifa.audittime,
             ifa.audituser as auditname,
-            ifa.rejectinfo
+            ifa.rejectinfo,
+            "1" as orderExternalStatus
         FROM
             ins_fee_audit ifa
         LEFT JOIN
             ins_area_company iac on iac.id = ifa.ins_order_no
         LEFT JOIN
             ins_orders io on iac.orderno = io.orderno
+        left join
+            sys_user su  on su.id= ifa.audituser
         WHERE
             iac.operator_id = #{userId}
         AND
             ifa.auditstatus = 2
+        <if test="vo.id  != null  and  vo.id!=''">
+            and  iac.id = #{vo.id}
+        </if>
+        <if test="vo.licenseno  != null  and  vo.licenseno!='' ">
+            and io.licenseno like  CONCAT('%', #{vo.licenseno}, '%')
+        </if>
+        <if test="vo.auditname  != null  and  vo.auditname!='' ">
+            and  su.name like  CONCAT('%', #{vo.auditname}, '%')
+        </if>
     </select>
 
     <select id="queryBusinessDataPage"
@@ -849,4 +861,35 @@
             agree.partner_companies_id,
             ins.NAME
     </select>
+
+    <select id="getStageOrder" resultType="com.ydtech.modules.order.entity.InsAreaCompany">
+            select
+                iac.id,
+                iac.orderno,
+                iac.agreement_id,
+                iac.jqpremium,
+                iac.sypremium,
+                iac.jypremium,
+                iac.taxamount,
+                iac.sumpremium,
+                io.licenseno,
+                iac.createtime,
+                "0" as orderExternalStatus
+            FROM
+                ins_area_company iac
+                    LEFT JOIN
+                ins_orders io on iac.orderno = io.orderno
+            left join  ptl_agreement  agree  on iac.agreement_id =agree.id
+            WHERE
+                iac.operator_id = #{userId}
+              AND
+                iac.orderstatus = 0
+                and agree.is_external =1
+            <if test="vo.id  != null  and  vo.id!='' ">
+                and  iac.id = #{vo.id}
+            </if>
+            <if test="vo.licenseno  != null  and  vo.licenseno!='' ">
+                and  io.licenseno like  CONCAT('%', #{vo.licenseno}, '%')
+            </if>
+    </select>
 </mapper>