Преглед изворни кода

Merge remote-tracking branch 'origin/test' into test

Qchen пре 2 година
родитељ
комит
716c528ce1
21 измењених фајлова са 270 додато и 18 уклоњено
  1. 4 1
      src/main/java/com/ydtech/constants/enums/dict/FeeAuditAuditstatus.java
  2. 38 6
      src/main/java/com/ydtech/modules/fnc/controller/CarSettleController.java
  3. 4 0
      src/main/java/com/ydtech/modules/fnc/entity/InsFeeAudit.java
  4. 5 0
      src/main/java/com/ydtech/modules/fnc/entity/InsPlyIncome.java
  5. 18 0
      src/main/java/com/ydtech/modules/fnc/entity/vo/ProblemOrderQueryVo.java
  6. 9 1
      src/main/java/com/ydtech/modules/fnc/service/InsFeeAuditService.java
  7. 2 1
      src/main/java/com/ydtech/modules/fnc/service/impl/InsFeeAuditServiceImpl.java
  8. 42 0
      src/main/java/com/ydtech/modules/order/controller/ExternalOrderController.java
  9. 8 0
      src/main/java/com/ydtech/modules/order/dao/InsAreaCompanyMapper.java
  10. 6 0
      src/main/java/com/ydtech/modules/order/entity/InsAreaCompany.java
  11. 6 0
      src/main/java/com/ydtech/modules/order/entity/InsOrders.java
  12. 6 0
      src/main/java/com/ydtech/modules/order/entity/vo/AuditOrderFeeVo.java
  13. 9 0
      src/main/java/com/ydtech/modules/order/entity/vo/BaseQuoteVo.java
  14. 3 0
      src/main/java/com/ydtech/modules/order/entity/vo/OrderQueryVo.java
  15. 9 0
      src/main/java/com/ydtech/modules/order/entity/vo/RejectPageQueryVo.java
  16. 22 0
      src/main/java/com/ydtech/modules/order/service/InsAreaCompanyService.java
  17. 55 2
      src/main/java/com/ydtech/modules/order/service/impl/InsAreaCompanyServiceImpl.java
  18. 1 1
      src/main/resources/application-prod.yml
  19. 3 3
      src/main/resources/mapper/modules/admin/SysUserLinkAreaMapper.xml
  20. 1 3
      src/main/resources/mapper/modules/fnc/InsPlyIncomeMapper.xml
  21. 19 0
      src/main/resources/mapper/modules/order/InsAreaCompanyMapper.xml

+ 4 - 1
src/main/java/com/ydtech/constants/enums/dict/FeeAuditAuditstatus.java

@@ -14,7 +14,10 @@ public enum FeeAuditAuditstatus {
 
 
     PASSED("1","已审核",2,1),
     PASSED("1","已审核",2,1),
 
 
-    REJECT("2","驳回",3,1);
+    REJECT("2","驳回",3,1),
+
+    //轨迹中显示 承保信息
+    UNDERWRITING("3","已承保",4,1);
 
 
     // 编号
     // 编号
     private final String code;
     private final String code;

+ 38 - 6
src/main/java/com/ydtech/modules/fnc/controller/CarSettleController.java

@@ -9,6 +9,7 @@ import com.ydtech.modules.base.controller.BaseController;
 import com.ydtech.modules.fee.service.FeeRuleSchemeService;
 import com.ydtech.modules.fee.service.FeeRuleSchemeService;
 import com.ydtech.modules.fnc.entity.InsFeeAudit;
 import com.ydtech.modules.fnc.entity.InsFeeAudit;
 import com.ydtech.modules.fnc.entity.InsFeeAuditHistory;
 import com.ydtech.modules.fnc.entity.InsFeeAuditHistory;
+import com.ydtech.modules.fnc.entity.vo.ProblemOrderQueryVo;
 import com.ydtech.modules.fnc.service.InsFeeAuditHistoryService;
 import com.ydtech.modules.fnc.service.InsFeeAuditHistoryService;
 import com.ydtech.modules.fnc.service.InsFeeAuditService;
 import com.ydtech.modules.fnc.service.InsFeeAuditService;
 import com.ydtech.modules.order.entity.BasePageResult;
 import com.ydtech.modules.order.entity.BasePageResult;
@@ -25,6 +26,7 @@ import org.apache.commons.lang3.StringUtils;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.bind.annotation.*;
 
 
 import javax.validation.Valid;
 import javax.validation.Valid;
+import java.util.ArrayList;
 import java.util.List;
 import java.util.List;
 
 
 @Api(tags = "财务-车险结算")
 @Api(tags = "财务-车险结算")
@@ -108,12 +110,18 @@ public class CarSettleController extends BaseController {
 
 
         if (areaList != null && !areaList.isEmpty()) {
         if (areaList != null && !areaList.isEmpty()) {
             try {
             try {
-                if ("1".equals(auditOrderFeeVo.getUpdateFlag())) {
-                    String userId = getUserId();
-                    feeRuleSchemeService.compareAndUpdateFeeOrderInfo(areaList.get(0).getId(), auditOrderFeeVo.getJqCostsProportionStr(),
-                            auditOrderFeeVo.getSyCostsProportionStr(), userId);
+//                if ("1".equals(auditOrderFeeVo.getUpdateFlag())) {
+//                    String userId = getUserId();
+//                    feeRuleSchemeService.compareAndUpdateFeeOrderInfo(areaList.get(0).getId(), auditOrderFeeVo.getJqCostsProportionStr(),
+//                            auditOrderFeeVo.getSyCostsProportionStr(), userId);
+//                }
+                //审核通过
+                if(auditOrderFeeVo.getAuditStatus().equals("1")) {
+                    insFeeAuditService.feeAudit(orderNo, areaList.get(0).getId(), false, FeeAuditAuditstatus.PASSED.getCode());
+                }else if(auditOrderFeeVo.getAuditStatus().equals("0") || auditOrderFeeVo.getAuditStatus().equals("2")) {
+                    insFeeAuditService.saveDefaultInsFeeAuditAndHistory(orderNo, areaList.get(0).getId(),
+                            auditOrderFeeVo.getAuditStatus(), auditOrderFeeVo.getRejectinfo());
                 }
                 }
-                insFeeAuditService.feeAudit(orderNo, areaList.get(0).getId(), false,FeeAuditAuditstatus.PASSED.getCode());
             } catch (Exception e) {
             } catch (Exception e) {
                 e.printStackTrace();
                 e.printStackTrace();
                 return HttpResult.error("系统异常");
                 return HttpResult.error("系统异常");
@@ -129,10 +137,34 @@ public class CarSettleController extends BaseController {
     @GetMapping("/getFeeAuditHistory/{orderno}")
     @GetMapping("/getFeeAuditHistory/{orderno}")
     @ApiOperation(value = "获取费用审核轨迹")
     @ApiOperation(value = "获取费用审核轨迹")
     public HttpResult<List<InsFeeAuditHistory>> getFeeAuditHistory(@PathVariable("orderno") String orderno) {
     public HttpResult<List<InsFeeAuditHistory>> getFeeAuditHistory(@PathVariable("orderno") String orderno) {
+        InsAreaCompany underWrittenSubOrder = insAreaCompanyService.getById(orderno);
+        if (underWrittenSubOrder == null) {
+            return HttpResult.error("订单号有误-未承保");
+        }
+        List<InsFeeAuditHistory> list = new ArrayList<>();
+        InsFeeAuditHistory insFeeAuditHistory = new InsFeeAuditHistory();
+        insFeeAuditHistory.setOrderno(underWrittenSubOrder.getOrderno());
+        insFeeAuditHistory.setInsOrderNo(underWrittenSubOrder.getId());
+        insFeeAuditHistory.setInsCompany(underWrittenSubOrder.getInscompany());
+        insFeeAuditHistory.setOperator(underWrittenSubOrder.getUserName());
+        insFeeAuditHistory.setOperatorTime(underWrittenSubOrder.getSigningTime());
+        insFeeAuditHistory.setAuditstatus(FeeAuditAuditstatus.UNDERWRITING.getCode());
+        list.add(insFeeAuditHistory);
         LambdaQueryWrapper<InsFeeAuditHistory> wrapper = new LambdaQueryWrapper<>();
         LambdaQueryWrapper<InsFeeAuditHistory> wrapper = new LambdaQueryWrapper<>();
         wrapper.eq(InsFeeAuditHistory::getInsOrderNo, orderno);
         wrapper.eq(InsFeeAuditHistory::getInsOrderNo, orderno);
         wrapper.orderByAsc(InsFeeAuditHistory::getOperatorTime);
         wrapper.orderByAsc(InsFeeAuditHistory::getOperatorTime);
-        List<InsFeeAuditHistory> list = insFeeAuditHistoryService.list(wrapper);
+        list.addAll(insFeeAuditHistoryService.list(wrapper));
         return HttpResult.ok("success", list);
         return HttpResult.ok("success", list);
     }
     }
+
+    /**
+     * 标注疑问订单
+     * @return
+     */
+    @PostMapping("markProblemOrder")
+    @ApiOperation("标注疑问订单")
+    public HttpResult<Object> markProblemOrder(@RequestBody ProblemOrderQueryVo problemOrderQueryVo){
+        return insAreaCompanyService.markProblemOrder(problemOrderQueryVo) ? HttpResult.ok("标注成功")
+                : HttpResult.error("标注失败");
+    }
 }
 }

+ 4 - 0
src/main/java/com/ydtech/modules/fnc/entity/InsFeeAudit.java

@@ -44,4 +44,8 @@ public class InsFeeAudit implements Serializable {
     @ApiModelProperty("审核人")
     @ApiModelProperty("审核人")
     @TableField("audituser")
     @TableField("audituser")
     private String audituser;
     private String audituser;
+
+    @ApiModelProperty("驳回详情")
+    @TableField("rejectinfo")
+    private String rejectinfo;
 }
 }

+ 5 - 0
src/main/java/com/ydtech/modules/fnc/entity/InsPlyIncome.java

@@ -463,6 +463,11 @@ public class InsPlyIncome implements Serializable {
     private String operationStatus;
     private String operationStatus;
 
 
 
 
+    @ApiModelProperty("是否外部订单")
+    @TableField(exist = false)
+    private String isExternal;
+
+
     public InsPlyIncome(String orderno, String policyno, String syPolicyno, String noPolicyno, String settleno, String deptId, String deptName, String riskcode, LocalDateTime payDate, LocalDateTime signDate, String companyId, String companyName, String agreementId, String licenseno, BigDecimal taxamount, BigDecimal noTaxPremium, BigDecimal commissionFeerate, BigDecimal otherFeerate, BigDecimal commissionFeevalue, BigDecimal otherFeevalue, BigDecimal allFeeValue, BigDecimal finalFeeValue, BigDecimal doingFeeValue, LocalDateTime createTime, String voucherNumber, String contractId, String contractFileId, String handlingFeesStatus, String documentaryFeesStatus, String isNotCar, String isNotDocumentary) {
     public InsPlyIncome(String orderno, String policyno, String syPolicyno, String noPolicyno, String settleno, String deptId, String deptName, String riskcode, LocalDateTime payDate, LocalDateTime signDate, String companyId, String companyName, String agreementId, String licenseno, BigDecimal taxamount, BigDecimal noTaxPremium, BigDecimal commissionFeerate, BigDecimal otherFeerate, BigDecimal commissionFeevalue, BigDecimal otherFeevalue, BigDecimal allFeeValue, BigDecimal finalFeeValue, BigDecimal doingFeeValue, LocalDateTime createTime, String voucherNumber, String contractId, String contractFileId, String handlingFeesStatus, String documentaryFeesStatus, String isNotCar, String isNotDocumentary) {
         this.orderno = orderno;
         this.orderno = orderno;
         this.policyno = policyno;
         this.policyno = policyno;

+ 18 - 0
src/main/java/com/ydtech/modules/fnc/entity/vo/ProblemOrderQueryVo.java

@@ -0,0 +1,18 @@
+package com.ydtech.modules.fnc.entity.vo;
+
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+@ApiModel(value = "标注疑问订单")
+public class ProblemOrderQueryVo {
+
+    @ApiModelProperty("子订单号")
+    private String subOrder;
+
+    @ApiModelProperty("标注属性")
+    private String problemOrder;
+}

+ 9 - 1
src/main/java/com/ydtech/modules/fnc/service/InsFeeAuditService.java

@@ -27,7 +27,15 @@ public interface InsFeeAuditService extends IService<InsFeeAudit> {
      InsFeeAudit saveInsFeeAuditAndHistory(String orderNo, String insOrderNo, boolean isAutoAudit, String auditstatus);
      InsFeeAudit saveInsFeeAuditAndHistory(String orderNo, String insOrderNo, boolean isAutoAudit, String auditstatus);
 
 
 
 
-     InsFeeAudit saveDefaultInsFeeAuditAndHistory(String orderNo, String insOrderNo, String auditstatus);
+     /**
+      * 保存审核状态及历史表
+      * @param orderNo
+      * @param insOrderNo
+      * @param auditstatus
+      * @param rejectInfo
+      * @return
+      */
+     InsFeeAudit saveDefaultInsFeeAuditAndHistory(String orderNo, String insOrderNo, String auditstatus, String rejectInfo);
 
 
 
 
 
 

+ 2 - 1
src/main/java/com/ydtech/modules/fnc/service/impl/InsFeeAuditServiceImpl.java

@@ -808,7 +808,7 @@ public class InsFeeAuditServiceImpl extends ServiceImpl<InsFeeAuditMapper, InsFe
     }
     }
 
 
     @Override
     @Override
-    public InsFeeAudit saveDefaultInsFeeAuditAndHistory(String orderNo, String insOrderNo, String auditstatus) {
+    public InsFeeAudit saveDefaultInsFeeAuditAndHistory(String orderNo, String insOrderNo, String auditstatus, String rejectInfo) {
         //查询费用审核表
         //查询费用审核表
         InsFeeAudit insFeeAudit = getOne(new LambdaQueryWrapper<InsFeeAudit>().eq(InsFeeAudit::getOrderno, orderNo));
         InsFeeAudit insFeeAudit = getOne(new LambdaQueryWrapper<InsFeeAudit>().eq(InsFeeAudit::getOrderno, orderNo));
 
 
@@ -824,6 +824,7 @@ public class InsFeeAuditServiceImpl extends ServiceImpl<InsFeeAuditMapper, InsFe
         } else {
         } else {
             //状态码为已审核且数据不为空,则更新审核状态
             //状态码为已审核且数据不为空,则更新审核状态
             insFeeAudit.setAuditstatus(auditstatus);
             insFeeAudit.setAuditstatus(auditstatus);
+            insFeeAudit.setRejectinfo(rejectInfo);
             this.update(insFeeAudit, new LambdaUpdateWrapper<InsFeeAudit>().eq(InsFeeAudit::getOrderno, orderNo));
             this.update(insFeeAudit, new LambdaUpdateWrapper<InsFeeAudit>().eq(InsFeeAudit::getOrderno, orderNo));
         }
         }
         //复制审核对象的属性
         //复制审核对象的属性

+ 42 - 0
src/main/java/com/ydtech/modules/order/controller/ExternalOrderController.java

@@ -1,21 +1,28 @@
 package com.ydtech.modules.order.controller;
 package com.ydtech.modules.order.controller;
 
 
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.ydtech.core.page.HttpResult;
 import com.ydtech.core.page.HttpResult;
+import com.ydtech.modules.base.controller.BaseController;
 import com.ydtech.modules.ins.model.vo.QuoteRespVo;
 import com.ydtech.modules.ins.model.vo.QuoteRespVo;
 import com.ydtech.modules.order.aop.QuoteVerification;
 import com.ydtech.modules.order.aop.QuoteVerification;
 import com.ydtech.modules.order.components.InsOrdersComponents;
 import com.ydtech.modules.order.components.InsOrdersComponents;
 import com.ydtech.modules.order.entity.vo.AccidentalDrivingVo;
 import com.ydtech.modules.order.entity.vo.AccidentalDrivingVo;
 import com.ydtech.modules.order.entity.vo.BaseQuoteInfoVo;
 import com.ydtech.modules.order.entity.vo.BaseQuoteInfoVo;
 import com.ydtech.modules.order.entity.vo.BaseQuoteVo;
 import com.ydtech.modules.order.entity.vo.BaseQuoteVo;
+import com.ydtech.modules.order.entity.vo.RejectPageQueryVo;
 import com.ydtech.modules.order.service.InsAreaCompanyExternalPolicyService;
 import com.ydtech.modules.order.service.InsAreaCompanyExternalPolicyService;
 import com.ydtech.modules.order.service.InsAreaCompanyService;
 import com.ydtech.modules.order.service.InsAreaCompanyService;
 import com.ydtech.modules.order.service.InsOrdersService;
 import com.ydtech.modules.order.service.InsOrdersService;
+import com.ydtech.modules.order.service.InsTaskImagesService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiOperation;
 import lombok.RequiredArgsConstructor;
 import lombok.RequiredArgsConstructor;
+import org.apache.poi.ss.formula.functions.T;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.bind.annotation.*;
 
 
+import static com.ydtech.modules.base.model.vo.PageVo.buildPageRequest;
+
 @Api(tags = "外部订单 api")
 @Api(tags = "外部订单 api")
 @RestController
 @RestController
 @RequestMapping("/api/externalOrder")
 @RequestMapping("/api/externalOrder")
@@ -31,6 +38,9 @@ public class ExternalOrderController {
     @Autowired
     @Autowired
     private InsAreaCompanyExternalPolicyService insAreaCompanyExternalPolicyService;
     private InsAreaCompanyExternalPolicyService insAreaCompanyExternalPolicyService;
 
 
+    @Autowired
+    private InsTaskImagesService insTaskImagesService;
+
     @PostMapping("/saveSubOrder")
     @PostMapping("/saveSubOrder")
     @ApiOperation("保存子订单")
     @ApiOperation("保存子订单")
     public HttpResult<QuoteRespVo> saveSubOrder(@RequestBody BaseQuoteVo<AccidentalDrivingVo> quoteVo) {
     public HttpResult<QuoteRespVo> saveSubOrder(@RequestBody BaseQuoteVo<AccidentalDrivingVo> quoteVo) {
@@ -39,9 +49,41 @@ public class ExternalOrderController {
         return result ? HttpResult.ok("添加订单成功") : HttpResult.error("添加订单失败");
         return result ? HttpResult.ok("添加订单成功") : HttpResult.error("添加订单失败");
     }
     }
 
 
+    @PostMapping("/updateSubOrder")
+    @ApiOperation("更新订单")
+    public HttpResult<Object> updateSubOrder(@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("添加订单失败");
+    }
+
+    /**
+     * 获取证件信息
+     * @param quoteNo   报价号
+     * @return
+     */
+    @PostMapping("/getCertificateInfo")
+    @ApiOperation("获取证件信息")
+    public HttpResult getCertificateInfo(String quoteNo){
+        return insTaskImagesService.findByQuoteNo(quoteNo);
+    }
+
+
+
+
     @GetMapping("/getPolicyPrint")
     @GetMapping("/getPolicyPrint")
     @ApiOperation("获取保单信息")
     @ApiOperation("获取保单信息")
     public HttpResult getPolicyPrint(@RequestParam String subOrderNo) {
     public HttpResult getPolicyPrint(@RequestParam String subOrderNo) {
         return HttpResult.ok(this.insAreaCompanyExternalPolicyService.getPolicyByCompanyId(subOrderNo));
         return HttpResult.ok(this.insAreaCompanyExternalPolicyService.getPolicyByCompanyId(subOrderNo));
     }
     }
+
+    /**
+     * 驳回分页列表
+     */
+    @PostMapping("/rejectPage")
+    @ApiOperation("驳回分页列表")
+    public HttpResult<Object> getRejectPage(@RequestBody RejectPageQueryVo rejectPageQueryVo){
+        Page page = buildPageRequest(rejectPageQueryVo.getPageDto());
+        return HttpResult.ok(insAreaCompanyService.getRejectOrder(page, BaseController.getUser().getId()));
+    }
 }
 }

+ 8 - 0
src/main/java/com/ydtech/modules/order/dao/InsAreaCompanyMapper.java

@@ -121,6 +121,14 @@ public interface InsAreaCompanyMapper extends BaseMapper<InsAreaCompany> {
      *  @Description: 查询总的签单数
      *  @Description: 查询总的签单数
      */
      */
     AllpremiumDto getAllpremium(@Param("year") String year,@Param("userId") String userId);
     AllpremiumDto getAllpremium(@Param("year") String year,@Param("userId") String userId);
+
+    /**
+     * 获取审核驳回订单
+     * @param page
+     * @param userId
+     * @return
+     */
+    Page<InsAreaCompany> getRejectOrder(Page page,@Param("userId") String userId);
 }
 }
 
 
 
 

+ 6 - 0
src/main/java/com/ydtech/modules/order/entity/InsAreaCompany.java

@@ -447,6 +447,12 @@ public class InsAreaCompany implements Serializable {
     @TableField("sy_claims")
     @TableField("sy_claims")
     private String syClaims;
     private String syClaims;
 
 
+    /**
+     * 疑问订单标注
+     */
+    @TableField("problem_order")
+    private String problemOrder;
+
     /**
     /**
      * 非车信息
      * 非车信息
      */
      */

+ 6 - 0
src/main/java/com/ydtech/modules/order/entity/InsOrders.java

@@ -86,6 +86,9 @@ public class InsOrders implements Serializable {
     @TableField(value = "operatorid")
     @TableField(value = "operatorid")
     private String operatorid;
     private String operatorid;
 
 
+    @TableField(exist = false)
+    private String operatorName;
+
     /**
     /**
      * 用户名称
      * 用户名称
      */
      */
@@ -266,6 +269,9 @@ public class InsOrders implements Serializable {
     @TableField(exist = false)
     @TableField(exist = false)
     private String taxamount;
     private String taxamount;
 
 
+    @TableField(exist = false)
+    private String problemOrder;
+
     public InsOrders(SysUser user, SysDept dept, BaseQuoteInfoVo quoteInfoVo) {
     public InsOrders(SysUser user, SysDept dept, BaseQuoteInfoVo quoteInfoVo) {
         // 2. 组装订单
         // 2. 组装订单
         this.setQuoteno(String.valueOf(quoteInfoVo.getQuoteno()));
         this.setQuoteno(String.valueOf(quoteInfoVo.getQuoteno()));

+ 6 - 0
src/main/java/com/ydtech/modules/order/entity/vo/AuditOrderFeeVo.java

@@ -24,4 +24,10 @@ public class AuditOrderFeeVo {
     @ApiModelProperty(value = "是否修改过 修改:1 未修改:0")
     @ApiModelProperty(value = "是否修改过 修改:1 未修改:0")
     private String updateFlag;
     private String updateFlag;
 
 
+    @ApiModelProperty(value = "审核状态")
+    private String auditStatus;
+
+    @ApiModelProperty(value = "驳回消息")
+    private String rejectinfo;
+
 }
 }

+ 9 - 0
src/main/java/com/ydtech/modules/order/entity/vo/BaseQuoteVo.java

@@ -73,6 +73,15 @@ public class BaseQuoteVo<T> {
     @ApiModelProperty("交强电子标志")
     @ApiModelProperty("交强电子标志")
     private String jqSign;
     private String jqSign;
 
 
+    @ApiModelProperty("评分")
+    private String score;
+
+    @ApiModelProperty("交强续保")
+    private String jqRenewal;
+
+    @ApiModelProperty("商业续保")
+    private String syRenewal;
+
 
 
     @ApiModelProperty("商业保单号")
     @ApiModelProperty("商业保单号")
     private String sypolicyno;
     private String sypolicyno;

+ 3 - 0
src/main/java/com/ydtech/modules/order/entity/vo/OrderQueryVo.java

@@ -139,6 +139,9 @@ public class OrderQueryVo {
     @ApiModelProperty(value = "支付结束时间")
     @ApiModelProperty(value = "支付结束时间")
     private String payEndDateStr;
     private String payEndDateStr;
 
 
+    @ApiModelProperty(value = "是否外部订单")
+    private String isExternal;
+
 
 
     public LocalDate getEndDatePlusOneDay() {
     public LocalDate getEndDatePlusOneDay() {
         if(ObjectUtils.isEmpty(endDate)){
         if(ObjectUtils.isEmpty(endDate)){

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

@@ -0,0 +1,9 @@
+package com.ydtech.modules.order.entity.vo;
+
+import com.ydtech.core.page.PageRequest;
+import lombok.Data;
+
+@Data
+public class RejectPageQueryVo extends PageRequest {
+
+}

+ 22 - 0
src/main/java/com/ydtech/modules/order/service/InsAreaCompanyService.java

@@ -3,6 +3,7 @@ package com.ydtech.modules.order.service;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.ydtech.core.page.HttpResult;
 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.InsAreaCompany;
 import com.ydtech.modules.order.entity.InsAreaCompanyAccidentalDriving;
 import com.ydtech.modules.order.entity.InsAreaCompanyAccidentalDriving;
 import com.ydtech.modules.order.entity.InsAreaCompanyPosition;
 import com.ydtech.modules.order.entity.InsAreaCompanyPosition;
@@ -133,4 +134,25 @@ public interface InsAreaCompanyService extends IService<InsAreaCompany> {
      * @return
      * @return
      */
      */
     boolean saveSubOrder(BaseQuoteInfoVo quoteInfo, BaseQuoteVo<AccidentalDrivingVo> quoteVo);
     boolean saveSubOrder(BaseQuoteInfoVo quoteInfo, BaseQuoteVo<AccidentalDrivingVo> quoteVo);
+
+    /**
+     * 根据订单id 获取已承保的子订单信息
+     * @param orderno
+     * @return
+     */
+    InsAreaCompany getUnderWrittenSubOrder(String orderno);
+
+    /**
+     * 标注疑问订单
+     * @param problemOrderQueryVo
+     * @return
+     */
+    boolean markProblemOrder(ProblemOrderQueryVo problemOrderQueryVo);
+
+    /**
+     * 获取审核驳回订单
+     * @param userId
+     * @return
+     */
+    Page<InsAreaCompany> getRejectOrder(Page page,String userId);
 }
 }

+ 55 - 2
src/main/java/com/ydtech/modules/order/service/impl/InsAreaCompanyServiceImpl.java

@@ -11,6 +11,7 @@ import com.ydtech.core.page.HttpResult;
 import com.ydtech.exception.SystemException;
 import com.ydtech.exception.SystemException;
 import com.ydtech.modules.base.controller.BaseController;
 import com.ydtech.modules.base.controller.BaseController;
 import com.ydtech.modules.fee.service.FeeRuleSchemeNewService;
 import com.ydtech.modules.fee.service.FeeRuleSchemeNewService;
+import com.ydtech.modules.fnc.entity.vo.ProblemOrderQueryVo;
 import com.ydtech.modules.fnc.service.InsFeeAuditService;
 import com.ydtech.modules.fnc.service.InsFeeAuditService;
 import com.ydtech.modules.ins.model.vo.KindInfoVo;
 import com.ydtech.modules.ins.model.vo.KindInfoVo;
 import com.ydtech.modules.ins.model.vo.RiskInfoVo;
 import com.ydtech.modules.ins.model.vo.RiskInfoVo;
@@ -115,7 +116,7 @@ public class InsAreaCompanyServiceImpl extends ServiceImpl<InsAreaCompanyMapper,
         }else if(ptlAgreement.getAuditType() == 1 && insAreaCompany.getOrderstatus().equals(InsOrderStatusEnum.ACCEPT_INSURANCE.getCode()))
         }else if(ptlAgreement.getAuditType() == 1 && insAreaCompany.getOrderstatus().equals(InsOrderStatusEnum.ACCEPT_INSURANCE.getCode()))
         {
         {
             //添加默认审核 添加审核表及轨迹信息
             //添加默认审核 添加审核表及轨迹信息
-            insFeeAuditService.saveDefaultInsFeeAuditAndHistory(insAreaCompany.getOrderno(), insAreaCompany.getId(), FeeAuditAuditstatus.UNREVICEWED.getCode());
+            insFeeAuditService.saveDefaultInsFeeAuditAndHistory(insAreaCompany.getOrderno(), insAreaCompany.getId(), FeeAuditAuditstatus.UNREVICEWED.getCode(),null);
         }
         }
 
 
         //添加订单消息
         //添加订单消息
@@ -486,6 +487,16 @@ public class InsAreaCompanyServiceImpl extends ServiceImpl<InsAreaCompanyMapper,
 
 
         validQuoteVo(quoteVo);
         validQuoteVo(quoteVo);
 
 
+        //校验  保单号
+        LambdaQueryWrapper<InsAreaCompany> queryWrapper = new LambdaQueryWrapper<>();
+        queryWrapper.eq(InsAreaCompany::getJqpolicyno,quoteVo.getJqpolicyno())
+                .or()
+                .eq(InsAreaCompany::getSypolicyno,quoteVo.getSypolicyno());
+        List<InsAreaCompany> list = this.list(queryWrapper);
+        if(list.size() > 0){
+            throw new SystemException("已存在订单");
+        }
+
         InsOrders insOrders = insOrdersService.getById(quoteInfo.getOrderNo());
         InsOrders insOrders = insOrdersService.getById(quoteInfo.getOrderNo());
         PtlAgreement byAgreementIdNew = ptlAgreementService.getByAgreementIdNew(quoteVo.getAgreementId());
         PtlAgreement byAgreementIdNew = ptlAgreementService.getByAgreementIdNew(quoteVo.getAgreementId());
         quoteVo = checkQuoteVo(quoteVo);
         quoteVo = checkQuoteVo(quoteVo);
@@ -523,6 +534,10 @@ public class InsAreaCompanyServiceImpl extends ServiceImpl<InsAreaCompanyMapper,
         insAreaCompany.setSyStartDate(insOrders.getSystartdate());
         insAreaCompany.setSyStartDate(insOrders.getSystartdate());
         insAreaCompany.setSyEndDate(insOrders.getSyenddate());
         insAreaCompany.setSyEndDate(insOrders.getSyenddate());
 
 
+        insAreaCompany.setJqRenewal(quoteVo.getJqRenewal());
+        insAreaCompany.setSyRenewal(quoteVo.getSyRenewal());
+        insAreaCompany.setScore(quoteVo.getScore());
+
         //设置为已承保状态
         //设置为已承保状态
         insAreaCompany.setOrderstatus(InsOrderStatusEnum.ACCEPT_INSURANCE.getCode());
         insAreaCompany.setOrderstatus(InsOrderStatusEnum.ACCEPT_INSURANCE.getCode());
         insAreaCompany.setCompanyId(byAgreementIdNew.getInsuranceCompanyId());
         insAreaCompany.setCompanyId(byAgreementIdNew.getInsuranceCompanyId());
@@ -626,10 +641,48 @@ public class InsAreaCompanyServiceImpl extends ServiceImpl<InsAreaCompanyMapper,
         feeRuleSchemeNewService.calcCostsExternal(costsNews.get(0),insAreaCompany);
         feeRuleSchemeNewService.calcCostsExternal(costsNews.get(0),insAreaCompany);
 
 
         //审核表数据插入
         //审核表数据插入
-        insFeeAuditService.saveDefaultInsFeeAuditAndHistory(insAreaCompany.getOrderno(), insAreaCompany.getId(), FeeAuditAuditstatus.UNREVICEWED.getCode());
+        insFeeAuditService.saveDefaultInsFeeAuditAndHistory(insAreaCompany.getOrderno(), insAreaCompany.getId(), FeeAuditAuditstatus.UNREVICEWED.getCode(),null);
 
 
         return true;
         return true;
     }
     }
+
+    /**
+     * 根据订单id 获取已承保的子订单信息
+     * @param orderno
+     * @return
+     */
+    @Override
+    public InsAreaCompany getUnderWrittenSubOrder(String orderno) {
+        LambdaQueryWrapper<InsAreaCompany> queryWrapper = new LambdaQueryWrapper<>();
+        queryWrapper.eq(InsAreaCompany::getOrderno,orderno);
+        queryWrapper.eq(InsAreaCompany::getOrderstatus,InsOrderStatusEnum.ACCEPT_INSURANCE.getCode());
+        return this.getOne(queryWrapper);
+    }
+
+    /**
+     * 标注疑问订单
+     * @param problemOrderQueryVo
+     * @return
+     */
+    @Override
+    public boolean markProblemOrder(ProblemOrderQueryVo problemOrderQueryVo) {
+        LambdaQueryWrapper<InsAreaCompany> queryWrapper = new LambdaQueryWrapper<>();
+        queryWrapper.eq(InsAreaCompany::getId,problemOrderQueryVo.getSubOrder());
+        InsAreaCompany insAreaCompany = this.getOne(queryWrapper);
+        if(insAreaCompany == null){
+            throw new SystemException("订单不存在");
+        }
+        insAreaCompany.setProblemOrder(problemOrderQueryVo.getProblemOrder());
+        return this.updateById(insAreaCompany);
+    }
+
+    @Override
+    public Page<InsAreaCompany> getRejectOrder(Page page,String userId) {
+        Page<InsAreaCompany> rejectOrder = baseMapper.getRejectOrder(page, userId);
+        return rejectOrder;
+    }
+
+
 }
 }
 
 
 
 

+ 1 - 1
src/main/resources/application-prod.yml

@@ -246,7 +246,7 @@ agreement:
 huatai:
 huatai:
   api:
   api:
     sourceCode: '016'
     sourceCode: '016'
-    baseUrl: https://gears.pc.ehuatai.com:9003/interFaces/common/AutoInsuranceQuotation.do
+    baseUrl: https://cross.pc.ehuatai.com/interFaces/common/AutoInsuranceQuotation.do
     selfPublicKey: MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCYUuKVmeF5N66v6MQmOR8pt4o33yrio/ZrDf2ehk/kHJ2BYdI+xE9dLrZW5dm0y8yPpIHN39JaLuYOlWz5DVsWJTSPj9eaq0hOiY9BGAHJ3yMHdX3wygpcD11BVc5v4wbX/kyAhmatK69sb4zzAtEve1NS/YwZVuGch0CrkGw3YQIDAQAB
     selfPublicKey: MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCYUuKVmeF5N66v6MQmOR8pt4o33yrio/ZrDf2ehk/kHJ2BYdI+xE9dLrZW5dm0y8yPpIHN39JaLuYOlWz5DVsWJTSPj9eaq0hOiY9BGAHJ3yMHdX3wygpcD11BVc5v4wbX/kyAhmatK69sb4zzAtEve1NS/YwZVuGch0CrkGw3YQIDAQAB
     selfPrivateKey: MIICdQIBADANBgkqhkiG9w0BAQEFAASCAl8wggJbAgEAAoGBAJhS4pWZ4Xk3rq/oxCY5Hym3ijffKuKj9msN/Z6GT+QcnYFh0j7ET10utlbl2bTLzI+kgc3f0lou5g6VbPkNWxYlNI+P15qrSE6Jj0EYAcnfIwd1ffDKClwPXUFVzm/jBtf+TICGZq0rr2xvjPMC0S97U1L9jBlW4ZyHQKuQbDdhAgMBAAECgYAktOyXYoK8RFfbWjtSfrdsxScQub3K6foq6C8y8Wj1LpQiJqGUsJfze5tDK5agA/CiuODy7LnzM5QK9aVSCw7k0r8EeGpHcYRdLYZM0vXVFK2gIQctFemK4c6sg5p0Bn1LNRbJG7rgMMEA/OxcF6vyQahhFtPVtAQwc+dT0PV51QJBANd66rfTuxSRvIC/RE4W6iqzed2YZtx+0kd7KiN78Y4X6spposFCH4ALf4jUeRRXZAm+Qu71cq21m2GsQZ8bZdMCQQC096ilZXEjmEuvopQR3JvPbgAF+MtItusyDDsMR1CWwXq9XGMmxi6GhFY7r7C8b40j1IchVAEY5BcwxJwfjql7AkAp5QYZs5reBu/FgGqBXEcvAjIheW4WVLoBl9q7h2+RlujZbexs8rQ5KwMi0VyxLcSPeGR/HU2spHCPbvRbQPJtAkBANK4tIHSnwFz6D6ChRbgyPEDd3YuiXOPNefFpRdQd6L93d9Pl6eKP71v5CTiXYqyczcaz2G4bOrHPp7IMsD0JAkBO/q3ZMT+Nj2jdMn2AR1h+ngn38JnK46PznU0WoRPx72YoWbLxvaGWpu8scZAhpYeq/n+52NHFfu8ayDRNWjP2
     selfPrivateKey: MIICdQIBADANBgkqhkiG9w0BAQEFAASCAl8wggJbAgEAAoGBAJhS4pWZ4Xk3rq/oxCY5Hym3ijffKuKj9msN/Z6GT+QcnYFh0j7ET10utlbl2bTLzI+kgc3f0lou5g6VbPkNWxYlNI+P15qrSE6Jj0EYAcnfIwd1ffDKClwPXUFVzm/jBtf+TICGZq0rr2xvjPMC0S97U1L9jBlW4ZyHQKuQbDdhAgMBAAECgYAktOyXYoK8RFfbWjtSfrdsxScQub3K6foq6C8y8Wj1LpQiJqGUsJfze5tDK5agA/CiuODy7LnzM5QK9aVSCw7k0r8EeGpHcYRdLYZM0vXVFK2gIQctFemK4c6sg5p0Bn1LNRbJG7rgMMEA/OxcF6vyQahhFtPVtAQwc+dT0PV51QJBANd66rfTuxSRvIC/RE4W6iqzed2YZtx+0kd7KiN78Y4X6spposFCH4ALf4jUeRRXZAm+Qu71cq21m2GsQZ8bZdMCQQC096ilZXEjmEuvopQR3JvPbgAF+MtItusyDDsMR1CWwXq9XGMmxi6GhFY7r7C8b40j1IchVAEY5BcwxJwfjql7AkAp5QYZs5reBu/FgGqBXEcvAjIheW4WVLoBl9q7h2+RlujZbexs8rQ5KwMi0VyxLcSPeGR/HU2spHCPbvRbQPJtAkBANK4tIHSnwFz6D6ChRbgyPEDd3YuiXOPNefFpRdQd6L93d9Pl6eKP71v5CTiXYqyczcaz2G4bOrHPp7IMsD0JAkBO/q3ZMT+Nj2jdMn2AR1h+ngn38JnK46PznU0WoRPx72YoWbLxvaGWpu8scZAhpYeq/n+52NHFfu8ayDRNWjP2
     huaTaiPublicKey: MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCYyF2SBNzLOP5N5fFW2T2eQ5+iaI5wVpsedu+UY290TVuG152tkdtSuTXsx+8BKnd79/PF966/2aSP4EUm7vD9kvQUnX2EDUiMooorGvDTRxoHNXFGqOtxdMiUOuqx19HwNb4gOXZ1WdjWJwSmqC6ZP6OgxKIotCHJwe826Q/w8wIDAQAB
     huaTaiPublicKey: MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCYyF2SBNzLOP5N5fFW2T2eQ5+iaI5wVpsedu+UY290TVuG152tkdtSuTXsx+8BKnd79/PF966/2aSP4EUm7vD9kvQUnX2EDUiMooorGvDTRxoHNXFGqOtxdMiUOuqx19HwNb4gOXZ1WdjWJwSmqC6ZP6OgxKIotCHJwe826Q/w8wIDAQAB

+ 3 - 3
src/main/resources/mapper/modules/admin/SysUserLinkAreaMapper.xml

@@ -82,10 +82,10 @@
            sd.management_source = 2
            sd.management_source = 2
             <if test="areaCodes != null and areaCodes.size>0" >
             <if test="areaCodes != null and areaCodes.size>0" >
                 AND (
                 AND (
-                <foreach collection="areaCodes" item="item" open=" instr( " separator="||" close=") ">
-                   su.dept_id, TRIM( TRAILING '0' FROM #{item} )
+                <foreach collection="areaCodes" item="item" open=" (" separator="or" close=") ">
+                    instr( su.dept_id, TRIM( TRAILING '0' FROM #{item} ))>0
                 </foreach>
                 </foreach>
-                ) > 0
+                )
             </if>
             </if>
     </select>
     </select>
 
 

+ 1 - 3
src/main/resources/mapper/modules/fnc/InsPlyIncomeMapper.xml

@@ -161,6 +161,7 @@
         pa.agreement_name  as "agreementName",
         pa.agreement_name  as "agreementName",
         pa.agreement_type  as "agreementType",
         pa.agreement_type  as "agreementType",
         pa.docking_person  as "dockingPerson",
         pa.docking_person  as "dockingPerson",
+        pa.is_external  as "isExternal",
         upf.url as "imageUrl",
         upf.url as "imageUrl",
         su.name  as "userName",
         su.name  as "userName",
         b.name as "deptName",
         b.name as "deptName",
@@ -198,9 +199,6 @@
             <if test="noReceivableProportion !=null  and  noReceivableProportion  !=''">
             <if test="noReceivableProportion !=null  and  noReceivableProportion  !=''">
                 and a.no_receivable_proportion =#{noReceivableProportion}
                 and a.no_receivable_proportion =#{noReceivableProportion}
             </if>
             </if>
-
-
-
             <if test="id !=null  and  id  !=''">
             <if test="id !=null  and  id  !=''">
                 and a.id =#{id}
                 and a.id =#{id}
             </if>
             </if>

+ 19 - 0
src/main/resources/mapper/modules/order/InsAreaCompanyMapper.xml

@@ -161,7 +161,9 @@
         iac.sy_end_date as syenddate,
         iac.sy_end_date as syenddate,
         io.vehicle_and_vessel_tax,
         io.vehicle_and_vessel_tax,
         io.operatorid,
         io.operatorid,
+        iac.operator_name,
         sd.management_source,
         sd.management_source,
+        iac.problem_order,
         CASE ifa.audituser
         CASE ifa.audituser
         WHEN '自动审核' THEN ifa.audituser
         WHEN '自动审核' THEN ifa.audituser
         ELSE su2.name END
         ELSE su2.name END
@@ -259,6 +261,10 @@
         <if test="params.payStartDateStr != null and params.payStartDateStr != '' and params.payEndDateStr != null and params.payEndDateStr != ''">
         <if test="params.payStartDateStr != null and params.payStartDateStr != '' and params.payEndDateStr != null and params.payEndDateStr != ''">
             and DATE_FORMAT(iac.pay_date, '%Y-%m-%d') between #{params.payStartDateStr} AND #{params.payEndDateStr}
             and DATE_FORMAT(iac.pay_date, '%Y-%m-%d') between #{params.payStartDateStr} AND #{params.payEndDateStr}
         </if>
         </if>
+
+        <if test="params.isExternal != null and params.isExternal != ''">
+            and iac.is_external = #{params.isExternal}
+        </if>
         order by iac.createtime desc
         order by iac.createtime desc
     </select>
     </select>
 
 
@@ -642,4 +648,17 @@
                 and io.userid=#{userId}
                 and io.userid=#{userId}
                 AND YEAR (iac.createtime) = #{year}
                 AND YEAR (iac.createtime) = #{year}
     </select>
     </select>
+
+    <select id="getRejectOrder" resultType="com.ydtech.modules.order.entity.InsAreaCompany">
+        select
+            *
+        FROM
+            ins_fee_audit ifa
+        LEFT JOIN
+            ins_area_company iac on iac.id = ifa.ins_order_no
+        WHERE
+            iac.operator_id = #{userId}
+        AND
+            ifa.auditstatus = 2
+    </select>
 </mapper>
 </mapper>