Ver código fonte

提交修改订单轨迹相关

hxl13994548489 1 ano atrás
pai
commit
b10fa8c08a

+ 31 - 2
src/main/java/com/ydtech/modules/fnc/controller/CarSettleController.java

@@ -1,5 +1,6 @@
 package com.ydtech.modules.fnc.controller;
 
+import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
@@ -15,6 +16,7 @@ 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.InsFeeAuditService;
+import com.ydtech.modules.ins.model.vo.CustomerInfoVo;
 import com.ydtech.modules.order.constants.OrderFeeAuditHistroy;
 import com.ydtech.modules.order.entity.BasePageResult;
 import com.ydtech.modules.order.entity.InsAreaCompany;
@@ -32,6 +34,8 @@ import org.apache.commons.lang3.StringUtils;
 import org.springframework.web.bind.annotation.*;
 
 import javax.validation.Valid;
+import java.time.LocalDateTime;
+import java.time.format.DateTimeFormatter;
 import java.util.ArrayList;
 import java.util.List;
 
@@ -161,29 +165,54 @@ public class CarSettleController extends BaseController {
         if (underWrittenSubOrder == null) {
             return HttpResult.error("订单号有误-未承保");
         }
+        InsOrders insOrders = insOrdersService.getById(underWrittenSubOrder.getOrderno());
+        CustomerInfoVo customer = JSON.toJavaObject(insOrders.getInsureinfo(), CustomerInfoVo.class);
         JSONArray list = new JSONArray();
         List<InsOrdersTrack> insOrdersTracks = insOrdersTrackService.list(new LambdaQueryWrapper<InsOrdersTrack>().eq(InsOrdersTrack::getSuborder, orderno)
                 .orderByAsc(InsOrdersTrack::getCreateTime));
         insOrdersTracks.forEach(item->{
             String desc = OrderFeeAuditHistroy.getDesc(item.getOrderStatus());
             JSONObject jsonObject = new JSONObject();
+            jsonObject.put("id",item.getId());
             jsonObject.put("insCompany",item.getInsCompany());
             jsonObject.put("operatorTime",item.getCreateTime());
             jsonObject.put("audituser",item.getOperatorId());
             jsonObject.put("operator",item.getOperator());
             jsonObject.put("desc",desc);
-            jsonObject.put("remark",item.getRemark());
+            jsonObject.put("licenseNo",insOrders.getLicenseno());
+            jsonObject.put("insuredname",customer==null?"":customer.getName());
+           // jsonObject.put("remark",item.getRemark());
             list.add(jsonObject);
         });
-
+        List<InsOrdersTrack> insOrdersTracksCB = insOrdersTrackService.list(new LambdaQueryWrapper<InsOrdersTrack>().eq(InsOrdersTrack::getSuborder, orderno).eq(InsOrdersTrack::getOrderStatus,"3"));
         LambdaQueryWrapper<InsFeeAuditHistory> wrapper = new LambdaQueryWrapper<>();
         wrapper.eq(InsFeeAuditHistory::getInsOrderNo, orderno);
         wrapper.orderByAsc(InsFeeAuditHistory::getOperatorTime);
         List<InsFeeAuditHistory> insFeeAuditHistories = insFeeAuditHistoryService.list(wrapper);
         insFeeAuditHistories.forEach(item->{
             String desc = OrderFeeAuditHistroy.getDesc(OrderFeeAuditHistroy.convertStatus(item.getAuditstatus()));
+            //判断是待审核查询已承保的人的工号
+            if(OrderFeeAuditHistroy.OFH_5.getDesc().equals(desc)  ){
+                if(insOrdersTracksCB!=null && !insOrdersTracksCB.isEmpty()){
+                    item.setAudituser(insOrdersTracksCB.get(0).getOperatorId());
+                }
+            }
+            if("自动审核".equals(item.getAudituser())  ){
+                item.setOperator("自动审核");
+                item.setAudituser("");
+            }
             JSONObject jsonObject = JSONObject.parseObject(JSONObject.toJSONString(item));
+            LocalDateTime operatorTime = item.getOperatorTime();
+            String dateStr = operatorTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
+            jsonObject.put("id",item.getId());
+            jsonObject.put("insCompany",item.getInsCompany());
+            jsonObject.put("operatorTime",dateStr);
+            jsonObject.put("audituser",item.getAudituser());
+            jsonObject.put("operator",item.getOperator());
             jsonObject.put("desc",desc);
+            jsonObject.put("remark",null);
+            jsonObject.put("licenseNo",insOrders.getLicenseno());
+            jsonObject.put("insuredname",customer==null?"":customer.getName());
             list.add(jsonObject);
         });
 

+ 7 - 1
src/main/java/com/ydtech/modules/order/controller/InsOrdersTrackController.java

@@ -1,6 +1,7 @@
 package com.ydtech.modules.order.controller;
 
 
+import com.alibaba.fastjson.JSONArray;
 import com.ydtech.core.page.HttpResult;
 import com.ydtech.modules.order.entity.InsOrdersTrack;
 import com.ydtech.modules.order.service.InsOrdersTrackService;
@@ -36,5 +37,10 @@ public class InsOrdersTrackController {
         return HttpResult.ok(query);
     }
 
-
+    @GetMapping("/queryBySuborderDetails")
+    @ApiOperation(value = "子订单轨迹查询")
+    public HttpResult<JSONArray> queryBySuborderDetails(@RequestParam(required = false) String suborder) {
+        JSONArray list  = this.insOrdersTrackService.queryBySuborderDetails(suborder);
+        return HttpResult.ok(list);
+    }
 }

+ 8 - 1
src/main/java/com/ydtech/modules/order/service/InsOrdersTrackService.java

@@ -1,5 +1,6 @@
 package com.ydtech.modules.order.service;
 
+import com.alibaba.fastjson.JSONArray;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.ydtech.modules.order.entity.InsAreaCompany;
 import com.ydtech.modules.order.entity.InsOrdersTrack;
@@ -56,5 +57,11 @@ public interface InsOrdersTrackService extends IService<InsOrdersTrack> {
                 .orderByAsc(InsOrdersTrack::getCreateTime)
                 .list();
     }
-
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/10/23 11:42
+     *  @Description: 查询订单轨迹
+     */
+    JSONArray queryBySuborderDetails(String suborder);
 }

+ 58 - 0
src/main/java/com/ydtech/modules/order/service/impl/InsOrdersTrackServiceImpl.java

@@ -2,14 +2,29 @@ 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;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ydtech.constants.enums.dict.InsOrderStatusAllEnum;
+import com.ydtech.core.page.HttpResult;
 import com.ydtech.modules.admin.model.SysUser;
+import com.ydtech.modules.ins.model.vo.CustomerInfoVo;
+import com.ydtech.modules.order.constants.OrderFeeAuditHistroy;
 import com.ydtech.modules.order.dao.InsOrdersTrackMapper;
 import com.ydtech.modules.order.entity.InsAreaCompany;
+import com.ydtech.modules.order.entity.InsOrders;
 import com.ydtech.modules.order.entity.InsOrdersTrack;
+import com.ydtech.modules.order.service.InsAreaCompanyService;
+import com.ydtech.modules.order.service.InsOrdersService;
 import com.ydtech.modules.order.service.InsOrdersTrackService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.Lazy;
 import org.springframework.stereotype.Service;
 
+import java.util.List;
+
 /**
  * @author Administrator
  * @description 针对表【ins_orders_track(订单轨迹表)】的数据库操作Service实现
@@ -19,6 +34,13 @@ import org.springframework.stereotype.Service;
 public class InsOrdersTrackServiceImpl extends ServiceImpl<InsOrdersTrackMapper, InsOrdersTrack>
         implements InsOrdersTrackService {
 
+    @Lazy
+    @Autowired
+    private InsAreaCompanyService insAreaCompanyService;
+    @Lazy
+    @Autowired
+    private InsOrdersService insOrdersService;
+
     @Override
     public void addingTrajectories(InsAreaCompany insAreaCompany) {
         SaSession saSession = StpUtil.getSessionByLoginId(StpUtil.getLoginId());
@@ -40,6 +62,42 @@ public class InsOrdersTrackServiceImpl extends ServiceImpl<InsOrdersTrackMapper,
         InsOrdersTrack insOrdersTrack = new InsOrdersTrack(insAreaCompany, "admin", "自动操作");
         this.baseMapper.insert(insOrdersTrack);
     }
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/10/23 11:43
+     *  @Description:  查询订单轨迹
+     */
+    @Override
+    public JSONArray queryBySuborderDetails(String suborder) {
+         List<InsOrdersTrack> list = this.lambdaQuery()
+                .eq(InsOrdersTrack::getSuborder, suborder)
+                .orderByAsc(InsOrdersTrack::getCreateTime)
+                .list();
+        InsAreaCompany insAreaCompany = insAreaCompanyService.getById(suborder);
+
+        InsOrders insOrders = insOrdersService.getById(insAreaCompany.getOrderno());
+        CustomerInfoVo customer = JSON.toJavaObject(insOrders.getInsureinfo(), CustomerInfoVo.class);
+        JSONArray arrayList = new JSONArray();
+        if(list!=null && !list.isEmpty()){
+            list.forEach(item->{
+                InsOrderStatusAllEnum insOrderStatusAllEnum = InsOrderStatusAllEnum.matchKey(item.getOrderStatus());
+                String desc = insOrderStatusAllEnum.getDesc();
+                JSONObject jsonObject = new JSONObject();
+                jsonObject.put("insCompany",item.getInsCompany());
+                jsonObject.put("operatorTime",item.getCreateTime());
+                jsonObject.put("audituser",item.getOperatorId());
+                jsonObject.put("operator",item.getOperator());
+                jsonObject.put("desc",desc);
+                jsonObject.put("licenseNo",insOrders.getLicenseno());
+                jsonObject.put("insuredname",customer==null?"":customer.getName());
+                arrayList.add(jsonObject);
+            });
+        }
+        return arrayList;
+    }
+
+
 }
 
 

+ 2 - 0
src/main/java/com/ydtech/modules/order/service/impl/InsSubOrderUpdateDetailServiceImpl.java

@@ -105,6 +105,7 @@ public class InsSubOrderUpdateDetailServiceImpl extends ServiceImpl<InsSubOrderU
                 //插入轨迹表
                 insOrdersTrack.setOrderType("2");
                 insOrdersTrack.setOrderStatus("人工核保");
+                insOrdersTrack.setRemark(null);
                 insOrdersTrackService.save(insOrdersTrack);
                 LocalDateTime localDateTime = date.toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime();
                 insOrdersTrack.setCreateTime(localDateTime);
@@ -116,6 +117,7 @@ public class InsSubOrderUpdateDetailServiceImpl extends ServiceImpl<InsSubOrderU
             if(InsOrderStatusEnum.QUOTE_ING.getCode().equals(oldStatus) &&  InsOrderStatusEnum.WAIT_PAY.getCode().equals(newStatus)){
                 insOrdersTrack.setOrderType("1");
                 insOrdersTrack.setOrderStatus("自动核保");
+                insOrdersTrack.setRemark(null);
                 LocalDateTime localDateTime = date.toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime();
                 insOrdersTrack.setCreateTime(localDateTime);
                 insOrdersTrackService.save(insOrdersTrack);

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

@@ -3175,9 +3175,9 @@
         SELECT
         iac.id as orderno,
         io.quoteno,
-        io.orderstatus,
-        io.company_id,
-        io.ins_company,
+        iac.orderstatus,
+        iac.company_id,
+        iac.inscompany,
         io.carinfo,
         io.userid,
         io.username,
@@ -3237,7 +3237,7 @@
             AND json_extract(io.insureinfo, '$.name') = #{params.insuredName}
         </if>
         <if test="params.companyId != null and params.companyId != ''">
-            AND io.company_id = #{params.companyId}
+            AND iac.company_id = #{params.companyId}
         </if>
         <if test="params.engineNo != null and params.engineNo != ''">
             and JSON_EXTRACT( io.carinfo, '$.engineNo' ) = #{params.engineNo}