Explorar el Código

订单批改的提交

dongxin hace 11 meses
padre
commit
7488c4208c

+ 3 - 0
commons/src/main/java/com/jzg/commons/entity/dto/OrderAdjustParam.java

@@ -36,4 +36,7 @@ public class OrderAdjustParam extends PageRequest {
     @Schema(description = "批改结束时间")
     @Schema(description = "批改结束时间")
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     private LocalDateTime endDate;
     private LocalDateTime endDate;
+
+    @Schema(description = "录入状态 1 车险录入 2 待客录单 3 外部订单")
+    private Integer entryStatus;
 }
 }

+ 8 - 0
tenant/insurance/quotation-summary/src/main/java/com/jzg/quotation/summary/service/impl/InsOrderAdjustInfoServiceImpl.java

@@ -10,6 +10,7 @@ import com.jzg.commons.entity.vo.AdjustAllRefundVo;
 import com.jzg.commons.entity.vo.OrderAdjustInfoVo;
 import com.jzg.commons.entity.vo.OrderAdjustInfoVo;
 import com.jzg.commons.entity.vo.OrderAdjustVo;
 import com.jzg.commons.entity.vo.OrderAdjustVo;
 import com.jzg.commons.util.AssertionUtils;
 import com.jzg.commons.util.AssertionUtils;
+import com.jzg.quotation.commons.client.OrgClient;
 import com.jzg.quotation.summary.mapper.InsOrderAdjustInfoMapper;
 import com.jzg.quotation.summary.mapper.InsOrderAdjustInfoMapper;
 import com.jzg.quotation.summary.service.*;
 import com.jzg.quotation.summary.service.*;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -49,6 +50,10 @@ public class InsOrderAdjustInfoServiceImpl extends ServiceImpl<InsOrderAdjustInf
     @Autowired
     @Autowired
     private InsOrdersAccidentalDrivingService ordersAccidentalDrivingService;
     private InsOrdersAccidentalDrivingService ordersAccidentalDrivingService;
 
 
+    @Autowired
+    private OrgClient orgClient;
+
+
     @Override
     @Override
     public AdjustAllRefundVo adjustAllRefundGet(String id, String orderNo) {
     public AdjustAllRefundVo adjustAllRefundGet(String id, String orderNo) {
 
 
@@ -497,6 +502,9 @@ public class InsOrderAdjustInfoServiceImpl extends ServiceImpl<InsOrderAdjustInf
     public void verifyOrder(VerifyAdjustParam param) {
     public void verifyOrder(VerifyAdjustParam param) {
         InsOrderAdjust insOrderAdjust = orderAdjustService.getById(param.getId());
         InsOrderAdjust insOrderAdjust = orderAdjustService.getById(param.getId());
         AssertionUtils.isFail(insOrderAdjust.getStatus() > 1, "订单已审核,请刷新页面");
         AssertionUtils.isFail(insOrderAdjust.getStatus() > 1, "订单已审核,请刷新页面");
+        if(param.getStatus().equals(2)){ // 审核通过
+            orgClient.restockInsPlyIncome(insOrderAdjust);
+        }
         insOrderAdjust.setStatus(param.getStatus());
         insOrderAdjust.setStatus(param.getStatus());
         insOrderAdjust.setRefuse(param.getRefuse());
         insOrderAdjust.setRefuse(param.getRefuse());
         orderAdjustService.updateById(insOrderAdjust);
         orderAdjustService.updateById(insOrderAdjust);

+ 2 - 1
tenant/insurance/quotation-summary/src/main/java/com/jzg/quotation/summary/service/impl/InsOrderAdjustServiceImpl.java

@@ -27,6 +27,7 @@ import org.springframework.stereotype.Service;
 
 
 import java.math.BigDecimal;
 import java.math.BigDecimal;
 import java.util.List;
 import java.util.List;
+import java.util.Objects;
 
 
 /**
 /**
 * @author dongxin
 * @author dongxin
@@ -148,7 +149,7 @@ public class InsOrderAdjustServiceImpl extends ServiceImpl<InsOrderAdjustMapper,
             return adjustNew.getId();
             return adjustNew.getId();
         }else{
         }else{
             InsOrdersCosts costs = ordersCostsService.getById(param.getOrderNo());
             InsOrdersCosts costs = ordersCostsService.getById(param.getOrderNo());
-            premium = costs.getSumPremium().subtract(costs.getTaxPremium());
+            premium = costs.getSumPremium().subtract(Objects.isNull(costs.getTaxPremium()) ? new BigDecimal(0) : costs.getTaxPremium());
             InsOrderAdjust adjust = new InsOrderAdjust();
             InsOrderAdjust adjust = new InsOrderAdjust();
             adjust.setOrderNo(param.getOrderNo());
             adjust.setOrderNo(param.getOrderNo());
             adjust.setType(param.getType());
             adjust.setType(param.getType());

+ 4 - 0
tenant/insurance/quotation-summary/src/main/resources/mapper/InsOrderAdjustMapper.xml

@@ -32,6 +32,7 @@
         select <include refid="Base_Column_List"/>
         select <include refid="Base_Column_List"/>
         FROM ins_order_adjust ioa
         FROM ins_order_adjust ioa
         LEFT JOIN sys_user su on ioa.create_by = su.username
         LEFT JOIN sys_user su on ioa.create_by = su.username
+        LEFT JOIN ins_orders io on ioa.order_no = io.id
         <where>
         <where>
             ioa.is_delete = 0
             ioa.is_delete = 0
             <if test="param.orderNo != null and param.orderNo != ''">
             <if test="param.orderNo != null and param.orderNo != ''">
@@ -55,6 +56,9 @@
             <if test="param.startDate != null and param.endDate != null">
             <if test="param.startDate != null and param.endDate != null">
                 and DATE_FORMAT(ioa.create_time, '%Y-%m-%d') between #{param.startDate} AND #{param.endDate}
                 and DATE_FORMAT(ioa.create_time, '%Y-%m-%d') between #{param.startDate} AND #{param.endDate}
             </if>
             </if>
+            <if test="param.entryStatus != null ">
+                and io.entry_status = #{param.entryStatus}
+            </if>
         </where>
         </where>
         ORDER BY ioa.create_time DESC
         ORDER BY ioa.create_time DESC
     </select>
     </select>

+ 26 - 2
tenant/insurance/quotation-summary/src/main/resources/mapper/InsOrdersMapper.xml

@@ -375,7 +375,10 @@
             s.tax_premium,
             s.tax_premium,
             o.real_quote_user_id,
             o.real_quote_user_id,
             suji.name as real_quote_user_name,
             suji.name as real_quote_user_name,
-            sd.name as salesmanCompany
+            sd.name as salesmanCompany,
+            ioa.status as adjustStatus,
+            ioa.id as adjustId,
+            ioa1.after_premium as adjustPremium
         FROM
         FROM
             ins_orders o
             ins_orders o
                 LEFT JOIN ins_orders_car_info c ON c.order_no = o.id
                 LEFT JOIN ins_orders_car_info c ON c.order_no = o.id
@@ -384,7 +387,24 @@
                 LEFT JOIN sys_user_jzg_info suji ON suji.user_id = su.id
                 LEFT JOIN sys_user_jzg_info suji ON suji.user_id = su.id
                 LEFT JOIN esm_ins_company eic on o.company_id = eic.id
                 LEFT JOIN esm_ins_company eic on o.company_id = eic.id
                 left join sys_dept sd on sd.id = suji.dept_id
                 left join sys_dept sd on sd.id = suji.dept_id
-
+                left join
+                    (
+                        SELECT *
+                        FROM (
+                        SELECT t.*,
+                        ROW_NUMBER() OVER(PARTITION BY t.order_no ORDER BY t.create_time DESC) AS rn
+                        FROM ins_order_adjust t where t.is_delete = 0
+                    ) x WHERE x.rn = 1
+                    ) ioa ON o.id = ioa.order_no
+                left join
+                    (
+                        SELECT *
+                        FROM (
+                        SELECT t.*,
+                        ROW_NUMBER() OVER(PARTITION BY t.order_no ORDER BY t.create_time DESC) AS rn
+                        FROM ins_order_adjust t where t.status = 2 and t.is_delete = 0
+                    ) x WHERE x.rn = 1
+                    ) ioa1 ON o.id = ioa1.order_no
         <where>
         <where>
             o.is_delete = 0
             o.is_delete = 0
             <if test="insOrdersParam.orderNo != null and insOrdersParam.orderNo != ''">
             <if test="insOrdersParam.orderNo != null and insOrdersParam.orderNo != ''">
@@ -405,6 +425,10 @@
             <if test="insOrdersParam.auditStatus != null and insOrdersParam.auditStatus != ''">
             <if test="insOrdersParam.auditStatus != null and insOrdersParam.auditStatus != ''">
                 AND o.audit_status = #{insOrdersParam.auditStatus}
                 AND o.audit_status = #{insOrdersParam.auditStatus}
             </if>
             </if>
+
+            <if test="insOrdersParam.adjustStatus!= null and insOrdersParam.adjustStatus!= ''">
+                AND ioa.status = #{insOrdersParam.adjustStatus}
+            </if>
 <!--            <if test="insOrdersParam.recordingTime != null and insOrdersParam.recordingTime.size() > 0">-->
 <!--            <if test="insOrdersParam.recordingTime != null and insOrdersParam.recordingTime.size() > 0">-->
 <!--                AND o.create_time BETWEEN #{insOrdersParam.recordingTime[0]} AND #{insOrdersParam.recordingTime[1]}-->
 <!--                AND o.create_time BETWEEN #{insOrdersParam.recordingTime[0]} AND #{insOrdersParam.recordingTime[1]}-->
 <!--            </if>-->
 <!--            </if>-->