|
|
@@ -3,7 +3,9 @@ package com.ydtech.modules.order.service.impl;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
+import com.ydtech.constants.enums.dict.InsOrderStatusEnum;
|
|
|
import com.ydtech.core.page.HttpResult;
|
|
|
+import com.ydtech.exception.SystemException;
|
|
|
import com.ydtech.modules.admin.model.SysUser;
|
|
|
import com.ydtech.modules.admin.service.SysUserService;
|
|
|
import com.ydtech.modules.base.controller.BaseController;
|
|
|
@@ -49,7 +51,7 @@ public class OrderTaskPoolsServiceImpl extends BaseController implements OrderTa
|
|
|
public HttpResult query(OrderTaskPoolsVo orderTaskPoolsVo) {
|
|
|
//后线可以查所有,非后线只能查自己代客的
|
|
|
String userId = getUserId();
|
|
|
- userId="9914D17002";
|
|
|
+ //userId="9914D17002";
|
|
|
//查询当前工号是否为后线人员
|
|
|
boolean isBachUser = false;
|
|
|
List<SysUser> userList = sysUserService.findAllAgentRoleUser(userId,"22");
|
|
|
@@ -140,87 +142,66 @@ public class OrderTaskPoolsServiceImpl extends BaseController implements OrderTa
|
|
|
*/
|
|
|
@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);
|
|
|
+ BasePageResult<InsOrders> insOrdersBasePageResult = insOrdersService.queryPageSubOrders(orderTaskPoolsVo);
|
|
|
+ return HttpResult.ok(insOrdersBasePageResult);
|
|
|
}
|
|
|
/**
|
|
|
* @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());
|
|
|
+ InsAreaCompany insAreaCompany = insAreaCompanyService.getById(taskForwardingVo.getSubOrderId());
|
|
|
+ if(InsOrderStatusEnum.ACCEPT_INSURANCE.getCode().equals(insAreaCompany.getOrderstatus()) ){
|
|
|
+ throw new SystemException("已承保的订单不能操作!!");
|
|
|
+ }
|
|
|
+ //查询最新数据的
|
|
|
+ InsOrderSetUserHis one = insOrderSetUserHisService.getOneBySubOrderId(taskForwardingVo.getSubOrderId());
|
|
|
+ if(one!=null && !one.getNewOperatorId().equals(sysUser.getId())){
|
|
|
+ throw new SystemException("该订单已经转发给"+one.getNewOperatorName());
|
|
|
+ }
|
|
|
//插入轨迹表
|
|
|
- InsOrderSetUserHis his=new InsOrderSetUserHis(insOrders.getOrderno(), insOrders.getQuoteno(), insOrders.getOperatorid(), taskForwardingVo.getAuditId(), new Date(), sysUser.getId(),"1");
|
|
|
+ InsOrderSetUserHis his=new InsOrderSetUserHis(insOrders.getOrderno(), insOrders.getQuoteno(), sysUser.getId(), taskForwardingVo.getAuditId(), new Date(), sysUser.getId(),taskForwardingVo.getSubOrderId(),sysUserNew.getName()+"转发给"+sysUser.getName()+"的任务",sysUser.getName(),sysUserNew.getName());
|
|
|
insOrderSetUserHisService.addOrUpdate(his);
|
|
|
- insOrders.setOperatorid(sysUserNew.getId());
|
|
|
- insOrdersService.updateById(insOrders);
|
|
|
+ insAreaCompany.setOperatorId(taskForwardingVo.getAuditId());
|
|
|
+ insAreaCompany.setOperatorTime(new Date());
|
|
|
+ insAreaCompany.setOperatorName(sysUserNew.getName());
|
|
|
+ insAreaCompanyService.updateById(insAreaCompany);
|
|
|
return HttpResult.ok("保存成功");
|
|
|
}
|
|
|
/**
|
|
|
* @version
|
|
|
* @author: hxl
|
|
|
* @Date: 2024/4/16 18:51
|
|
|
- * @Description: 收回
|
|
|
+ * @Description: 收回 查询最新一条数据,将原先旧的操作人设置为新的操作人,就原先新的操作人设置为旧的
|
|
|
+ * 插入一条信息数据
|
|
|
*/
|
|
|
@Override
|
|
|
@Transactional
|
|
|
- public HttpResult recover(TaskForwardingVo taskForwardingVo) {
|
|
|
+ public HttpResult recover(TaskForwardingVo taskForwardingVo,SysUser sysUser) {
|
|
|
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);
|
|
|
+ InsAreaCompany insAreaCompany = insAreaCompanyService.getById(taskForwardingVo.getSubOrderId());
|
|
|
+ if(InsOrderStatusEnum.ACCEPT_INSURANCE.getCode().equals(insAreaCompany.getOrderstatus()) ){
|
|
|
+ throw new SystemException("已承保的订单不能操作!!");
|
|
|
+ }
|
|
|
+ //查询最新数据的
|
|
|
+ InsOrderSetUserHis one = insOrderSetUserHisService.getOneBySubOrderId(taskForwardingVo.getSubOrderId());
|
|
|
+ if(one!=null && !one.getOldOperatorId().equals(sysUser.getId())){
|
|
|
+ throw new SystemException("该订单的回收人为"+one.getOldOperatorName());
|
|
|
+ }
|
|
|
+ //插入轨迹表
|
|
|
+ InsOrderSetUserHis his=new InsOrderSetUserHis(insOrders.getOrderno(), insOrders.getQuoteno(), one.getNewOperatorId(), one.getOldOperatorId(), new Date(), sysUser.getId(),taskForwardingVo.getSubOrderId(),one.getOldOperatorName()+"回收"+one.getNewOperatorName()+"任务",one.getOldOperatorName(),one.getNewOperatorName());
|
|
|
+ insOrderSetUserHisService.addOrUpdate(his);
|
|
|
+ insAreaCompany.setOperatorId(null);
|
|
|
+ insAreaCompany.setOperatorTime(new Date());
|
|
|
+ insAreaCompany.setOperatorName(null);
|
|
|
+ insAreaCompanyService.updateById(insAreaCompany);
|
|
|
return HttpResult.ok("保存成功");
|
|
|
}
|
|
|
}
|