Explorar o código

添加任务表转发接口和退回接口逻辑,连表查询处理中

hxl13994548489 %!s(int64=2) %!d(string=hai) anos
pai
achega
13f6f68443

+ 4 - 1
src/main/java/com/ydtech/modules/ins/model/InsTaskHistory.java

@@ -1,7 +1,6 @@
 package com.ydtech.modules.ins.model;
 
 import java.io.Serializable;
-import java.util.Date;
 
 
 public class InsTaskHistory implements Serializable {
@@ -16,6 +15,10 @@ public class InsTaskHistory implements Serializable {
     private String operator;
     private String remark;
     private String company;
+    /***
+     * 原操作人id
+     */
+    private String  oldOperatorid;
 
     public String getId() {
         return id;

+ 21 - 0
src/main/java/com/ydtech/modules/order/controller/OrderTaskPoolsController.java

@@ -19,6 +19,8 @@ import org.springframework.web.bind.annotation.RestController;
 
 import java.util.List;
 
+import static com.ydtech.modules.base.controller.BaseController.getUser;
+
 
 @Api(tags = "任务池")
 @RestController
@@ -64,4 +66,23 @@ public class OrderTaskPoolsController {
     public HttpResult queryOrderOperatorId(@RequestSingleParam(value = "orderNo") String orderNo) {
         return orderTaskPoolsService.checkCurrentUserEdit(orderNo);
     }
+
+
+    @PostMapping(value = "/querySubOrders")
+    @ApiOperation(value = "子订单任务查询")
+    public HttpResult querySubOrders(@RequestBody OrderTaskPoolsVo orderTaskPoolsVo) {
+        return orderTaskPoolsService.querySubOrders(orderTaskPoolsVo);
+    }
+
+    @PostMapping(value = "/forwardingSubOrders")
+    @ApiOperation(value = "子订单任务转发")
+    public HttpResult forwardingSubOrders(@RequestBody TaskForwardingVo taskForwardingVo) {
+        return orderTaskPoolsService.forwardingSubOrders(taskForwardingVo,getUser());
+    }
+
+    @PostMapping(value = "/recover")
+    @ApiOperation(value = "子订单任务收回")
+    public HttpResult recover(@RequestBody TaskForwardingVo taskForwardingVo) {
+        return orderTaskPoolsService.recover(taskForwardingVo);
+    }
 }

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

@@ -70,4 +70,7 @@ public class OrderTaskPoolsVo {
 
     @ApiModelProperty(value = "每页数量")
     private int pageSize = 10;
+
+    @ApiModelProperty(value = "类型 1.任务池总 2.任务池分 ")
+    private String type;
 }

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

@@ -1,6 +1,7 @@
 package com.ydtech.modules.order.service;
 
 import com.ydtech.core.page.HttpResult;
+import com.ydtech.modules.admin.model.SysUser;
 import com.ydtech.modules.order.entity.vo.OrderTaskPoolsVo;
 import com.ydtech.modules.order.entity.vo.TaskForwardingVo;
 
@@ -24,4 +25,25 @@ public interface OrderTaskPoolsService {
      * @return
      */
     public HttpResult checkCurrentUserEdit(String orderNo);
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/4/16 15:36
+     *  @Description: 子订单查询
+     */
+    HttpResult querySubOrders(OrderTaskPoolsVo orderTaskPoolsVo);
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/4/16 15:42
+     *  @Description: 子订单的收回
+     */
+    HttpResult recover(TaskForwardingVo taskForwardingVo);
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/4/16 15:43
+     *  @Description: 子订单的转发
+     */
+    HttpResult forwardingSubOrders(TaskForwardingVo taskForwardingVo,SysUser sysUser);
 }

+ 96 - 0
src/main/java/com/ydtech/modules/order/service/impl/OrderTaskPoolsServiceImpl.java

@@ -7,6 +7,8 @@ import com.ydtech.core.page.HttpResult;
 import com.ydtech.modules.admin.model.SysUser;
 import com.ydtech.modules.admin.service.SysUserService;
 import com.ydtech.modules.base.controller.BaseController;
+import com.ydtech.modules.esm.model.po.InsOrderSetUserHis;
+import com.ydtech.modules.esm.service.InsOrderSetUserHisService;
 import com.ydtech.modules.ins.model.InsTaskHistory;
 import com.ydtech.modules.ins.service.InsTaskHistoryService;
 import com.ydtech.modules.order.entity.BasePageResult;
@@ -40,11 +42,14 @@ public class OrderTaskPoolsServiceImpl extends BaseController implements OrderTa
     private InsTaskHistoryService insTaskHistoryService;
     @Autowired
     private InsAreaCompanyService insAreaCompanyService;
+    @Autowired
+    private InsOrderSetUserHisService  insOrderSetUserHisService;
 
     @Override
     public HttpResult query(OrderTaskPoolsVo orderTaskPoolsVo) {
         //后线可以查所有,非后线只能查自己代客的
         String userId = getUserId();
+        userId="9914D17002";
         //查询当前工号是否为后线人员
         boolean isBachUser = false;
         List<SysUser> userList = sysUserService.findAllAgentRoleUser(userId,"22");
@@ -127,4 +132,95 @@ public class OrderTaskPoolsServiceImpl extends BaseController implements OrderTa
             }
         }
     }
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/4/16 15:36
+     *  @Description: 查询子订单信息   改为连表查询
+     */
+    @Override
+    public HttpResult querySubOrders(OrderTaskPoolsVo orderTaskPoolsVo) {
+        //后线可以查所有,非后线只能查自己代客的
+        String userId = getUserId();
+        //查询当前工号是否为后线人员
+        boolean isBachUser = false;
+        List<SysUser> userList = sysUserService.findAllAgentRoleUser(userId,"22");
+        if(userList!=null && userList.size()>0){
+            isBachUser = true;
+        }
+        BaseMapper<InsOrders> baseMapper = insOrdersService.getBaseMapper();
+        LambdaQueryWrapper<InsOrders> wrapper = new LambdaQueryWrapper<>();
+        wrapper.eq(!StringUtils.isEmpty(orderTaskPoolsVo.getOrderNo()), InsOrders::getOrderno, orderTaskPoolsVo.getOrderNo())
+                .eq(!StringUtils.isEmpty(orderTaskPoolsVo.getQuoteNo()), InsOrders::getQuoteno, orderTaskPoolsVo.getQuoteNo())
+                .eq(!StringUtils.isEmpty(orderTaskPoolsVo.getOrderStatus()), InsOrders::getOrderstatus, orderTaskPoolsVo.getOrderStatus())
+                .like(!StringUtils.isEmpty(orderTaskPoolsVo.getLicenseNo()), InsOrders::getLicenseno, orderTaskPoolsVo.getLicenseNo())
+                .like(!StringUtils.isEmpty(orderTaskPoolsVo.getFrameNo()), InsOrders::getFrameno, orderTaskPoolsVo.getFrameNo())
+                .like(!StringUtils.isEmpty(orderTaskPoolsVo.getEngineNo()), InsOrders::getCarinfo, orderTaskPoolsVo.getEngineNo())
+                .eq(!StringUtils.isEmpty(orderTaskPoolsVo.getRiskCode()), InsOrders::getProduct, orderTaskPoolsVo.getRiskCode())
+                .eq(!StringUtils.isEmpty(orderTaskPoolsVo.getUserid()), InsOrders::getUserid, orderTaskPoolsVo.getUserid())
+                .eq(!StringUtils.isEmpty(orderTaskPoolsVo.getUsername()), InsOrders::getUsername, orderTaskPoolsVo.getUsername())
+                .eq(!StringUtils.isEmpty(orderTaskPoolsVo.getInsureName()), InsOrders::getInsuredname, orderTaskPoolsVo.getInsureName())
+                .eq(!StringUtils.isEmpty(orderTaskPoolsVo.getAuditId()), InsOrders::getAgreeid, orderTaskPoolsVo.getAuditId())
+                //.eq(!StringUtils.isEmpty(userId), InsOrders::getOperatorid, userId)
+                .likeRight(!StringUtils.isEmpty(orderTaskPoolsVo.getDeptId()), InsOrders::getDeptid, orderTaskPoolsVo.getDeptId())
+                .between(!StringUtils.isEmpty(orderTaskPoolsVo.getStartDate()) && !StringUtils.isEmpty(orderTaskPoolsVo.getEndDate()), InsOrders::getCreatetime, orderTaskPoolsVo.getStartDate(), orderTaskPoolsVo.getEndDate())
+                .between(!StringUtils.isEmpty(orderTaskPoolsVo.getPolicyStartDate()) && !StringUtils.isEmpty(orderTaskPoolsVo.getPolicyEndDate()), InsOrders::getJqstartdate, orderTaskPoolsVo.getPolicyStartDate(), orderTaskPoolsVo.getPolicyEndDate())
+                .between(!StringUtils.isEmpty(orderTaskPoolsVo.getPolicyStartDate()) && !StringUtils.isEmpty(orderTaskPoolsVo.getPolicyEndDate()), InsOrders::getSystartdate, orderTaskPoolsVo.getPolicyStartDate(), orderTaskPoolsVo.getPolicyEndDate());
+        if(!isBachUser){//若非后线角色,只能查自己代客录单的单子
+            wrapper.eq(!StringUtils.isEmpty(userId), InsOrders::getOperatorid, userId);
+        }
+        //保司条件不为空时,拼接保司条件
+        if (org.apache.commons.lang3.StringUtils.isNotEmpty(orderTaskPoolsVo.getInsCompany())) {
+            List<InsAreaCompany> list = insAreaCompanyService.query()
+                    .select("DISTINCT orderno")
+                    .eq("company_id", orderTaskPoolsVo.getInsCompany())
+                    .list();
+            List<String> collect =
+                    list.stream().map(InsAreaCompany::getOrderno).distinct().collect(Collectors.toList());
+            wrapper.in(InsOrders::getOrderno, collect);
+        }
+        Page<InsOrders> page = baseMapper.selectPage(new Page<>(orderTaskPoolsVo.getPageNum(), orderTaskPoolsVo.getPageSize()), wrapper);
+        BasePageResult<InsOrders> insOrders = new BasePageResult<>(orderTaskPoolsVo.getPageNum(), page.getSize(), page.getTotal(), page.getPages(), page.getRecords());
+        return HttpResult.ok(insOrders);
+    }
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/4/16 18:51
+     *  @Description: 转发
+     */
+    @Override
+    @Transactional
+    public HttpResult forwardingSubOrders(TaskForwardingVo taskForwardingVo,SysUser sysUser) {
+        SysUser sysUserNew = sysUserService.getById(taskForwardingVo.getAuditId());
+        InsOrders insOrders = insOrdersService.existOrder(taskForwardingVo.getOrderNo());
+        //插入轨迹表
+        InsOrderSetUserHis  his=new InsOrderSetUserHis(insOrders.getOrderno(), insOrders.getQuoteno(), insOrders.getOperatorid(), taskForwardingVo.getAuditId(), new Date(), sysUser.getId(),"1");
+        insOrderSetUserHisService.addOrUpdate(his);
+        insOrders.setOperatorid(sysUserNew.getId());
+        insOrdersService.updateById(insOrders);
+        return HttpResult.ok("保存成功");
+    }
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/4/16 18:51
+     *  @Description: 收回
+     */
+    @Override
+    @Transactional
+    public HttpResult recover(TaskForwardingVo taskForwardingVo) {
+        InsOrders insOrders = insOrdersService.existOrder(taskForwardingVo.getOrderNo());
+
+        LambdaQueryWrapper<InsOrderSetUserHis> wrapper = new LambdaQueryWrapper<>();
+        wrapper.eq(InsOrderSetUserHis::getOrderno,insOrders.getOrderno());
+        wrapper.eq(InsOrderSetUserHis::getStatus,"1");
+        InsOrderSetUserHis one = insOrderSetUserHisService.getOne(wrapper);
+        //设置为已回退
+        one.setStatus("2");
+        insOrderSetUserHisService.addOrUpdate(one);
+        insOrders.setOperatorid(one.getOldOperatorId());
+        insOrdersService.updateById(insOrders);
+        return HttpResult.ok("保存成功");
+    }
 }