|
@@ -133,8 +133,15 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
|
|
|
|
|
|
|
|
@Autowired
|
|
@Autowired
|
|
|
private InsAreaCompanyKindService insAreaCompanyKindService;
|
|
private InsAreaCompanyKindService insAreaCompanyKindService;
|
|
|
-
|
|
|
|
|
|
|
|
|
|
|
|
+ @Autowired
|
|
|
|
|
+ private InsAreaCompanyCarInfoService insAreaCompanyCarInfoService;
|
|
|
|
|
+
|
|
|
|
|
+ @Autowired
|
|
|
|
|
+ private InsAreaCompanyCarUserInfoService insAreaCompanyCarUserInfoService;
|
|
|
|
|
+
|
|
|
|
|
+ @Autowired
|
|
|
|
|
+ private InsAreaCompanyTaxArrearsService insAreaCompanyTaxArrearsService;
|
|
|
|
|
|
|
|
@Value("${upload.file.path}")
|
|
@Value("${upload.file.path}")
|
|
|
private String uploadFilePath;
|
|
private String uploadFilePath;
|
|
@@ -240,85 +247,85 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
|
|
|
* @param quoteInfoVo 报价信息
|
|
* @param quoteInfoVo 报价信息
|
|
|
* @return
|
|
* @return
|
|
|
*/
|
|
*/
|
|
|
- @Override
|
|
|
|
|
- public InsOrders generateOrder(String userId, BaseQuoteInfoVo quoteInfoVo) {
|
|
|
|
|
- String realUserId = userId;//实际跟单业务人默认登录人
|
|
|
|
|
- boolean daikeFlag = false;//是否代客录单业务
|
|
|
|
|
- //添加出单员报价的逻辑,
|
|
|
|
|
- boolean isCdy = false;//是否出单员标志
|
|
|
|
|
- if (StringUtils.isNotEmpty(userId)) {
|
|
|
|
|
- SysUserRole userRole = sysUserRoleService.selectByUserId(userId);
|
|
|
|
|
- if (19 == userRole.getRoleId()) {
|
|
|
|
|
- isCdy = true;
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
- if (isCdy) {
|
|
|
|
|
- //如果是出单员 获取最终实际业务员
|
|
|
|
|
- SysUser user = sysUserService.getById(realUserId);
|
|
|
|
|
- realUserId = user.getOperatorCode();
|
|
|
|
|
- } else {
|
|
|
|
|
- //如果传递的业务归属人且与登录人不一致,则是代客录单业务
|
|
|
|
|
- if (StringUtils.isNotEmpty(quoteInfoVo.getUserId()) && !userId.equals(quoteInfoVo.getUserId())) {
|
|
|
|
|
- //实际跟单业务人变更为手工选择的人
|
|
|
|
|
- realUserId = quoteInfoVo.getUserId();
|
|
|
|
|
- daikeFlag = true;
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- // 1. 验证订单参数
|
|
|
|
|
- orderComponents.checkEmpty(quoteInfoVo);
|
|
|
|
|
- SysUser user = sysUserService.getById(realUserId);
|
|
|
|
|
- SysDept dept = sysDeptService.getById(user.getDeptId());
|
|
|
|
|
- // 2 构造订单
|
|
|
|
|
- InsOrders insOrders = new InsOrders(user, dept, quoteInfoVo);
|
|
|
|
|
- if (daikeFlag) {//当时代客录单业务时,才需要赋值该字段
|
|
|
|
|
- insOrders.setOperatorid(userId);//赋值代客录单操作人为登录人
|
|
|
|
|
- }
|
|
|
|
|
- if (isCdy) {//赋值出单员 操作人为登录人
|
|
|
|
|
- insOrders.setOperatorid(userId);
|
|
|
|
|
- }
|
|
|
|
|
- InsOrders insOrders1 = baseMapper.selectById(quoteInfoVo.getOrderNo());
|
|
|
|
|
-
|
|
|
|
|
- //需要赋值代录单人ID
|
|
|
|
|
-
|
|
|
|
|
- if (ObjectUtils.isEmpty(insOrders1)) {
|
|
|
|
|
- insOrders1 = insOrders;
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- if (!quoteInfoVo.getCarInfo().getLicenseNo().equals(insOrders1.getLicenseno())) {
|
|
|
|
|
- throw new SystemException("1001", "车牌与此订单不符,请重新录单");
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- // 3 订单操作
|
|
|
|
|
- if (!realUserId.equals(insOrders1.getUserid()) || StringUtils.isEmpty(quoteInfoVo.getOrderNo())) {
|
|
|
|
|
- // 存入订单
|
|
|
|
|
- String orderno = IdGenerate.nextId();
|
|
|
|
|
- insOrders.setOrderno(orderno);
|
|
|
|
|
- // 将报价号返回
|
|
|
|
|
- long l = new SnowFlakeUtil().nextId();
|
|
|
|
|
- insOrders.setQuoteno(String.valueOf(l));
|
|
|
|
|
- boolean save = this.saveAndTrajectories(insOrders);
|
|
|
|
|
- if (!save) {
|
|
|
|
|
- throw new SystemException("订单生成失败");
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- } else {
|
|
|
|
|
- // 修改订单
|
|
|
|
|
- insOrders.setOrderno(quoteInfoVo.getOrderNo());
|
|
|
|
|
- this.updateById(insOrders);
|
|
|
|
|
- }
|
|
|
|
|
- // 4 将报价信息存入redis 中
|
|
|
|
|
- String s = JSON.toJSONString(quoteInfoVo);
|
|
|
|
|
- redisTemplate.opsForValue().set(QUOTE_INFO_KEY + insOrders.getOrderno(), s, QUOTE_INFO_KEY_TIME, TimeUnit.DAYS);
|
|
|
|
|
-
|
|
|
|
|
- // 5 生成承包规则参数
|
|
|
|
|
- UnderwritingRulesBo underwritingRulesBo = new UnderwritingRulesBo(quoteInfoVo);
|
|
|
|
|
- String rules = JSON.toJSONString(underwritingRulesBo);
|
|
|
|
|
- redisTemplate.opsForValue().set(QUOTE_RULES_KEY + insOrders.getOrderno(), rules, QUOTE_RULES_KEY_TIME,
|
|
|
|
|
- TimeUnit.HOURS);
|
|
|
|
|
-
|
|
|
|
|
- return insOrders;
|
|
|
|
|
- }
|
|
|
|
|
|
|
+// @Override
|
|
|
|
|
+// public InsOrders generateOrder(String userId, BaseQuoteInfoVo quoteInfoVo) {
|
|
|
|
|
+// String realUserId = userId;//实际跟单业务人默认登录人
|
|
|
|
|
+// boolean daikeFlag = false;//是否代客录单业务
|
|
|
|
|
+// //添加出单员报价的逻辑,
|
|
|
|
|
+// boolean isCdy = false;//是否出单员标志
|
|
|
|
|
+// if (StringUtils.isNotEmpty(userId)) {
|
|
|
|
|
+// SysUserRole userRole = sysUserRoleService.selectByUserId(userId);
|
|
|
|
|
+// if (19 == userRole.getRoleId()) {
|
|
|
|
|
+// isCdy = true;
|
|
|
|
|
+// }
|
|
|
|
|
+// }
|
|
|
|
|
+// if (isCdy) {
|
|
|
|
|
+// //如果是出单员 获取最终实际业务员
|
|
|
|
|
+// SysUser user = sysUserService.getById(realUserId);
|
|
|
|
|
+// realUserId = user.getOperatorCode();
|
|
|
|
|
+// } else {
|
|
|
|
|
+// //如果传递的业务归属人且与登录人不一致,则是代客录单业务
|
|
|
|
|
+// if (StringUtils.isNotEmpty(quoteInfoVo.getUserId()) && !userId.equals(quoteInfoVo.getUserId())) {
|
|
|
|
|
+// //实际跟单业务人变更为手工选择的人
|
|
|
|
|
+// realUserId = quoteInfoVo.getUserId();
|
|
|
|
|
+// daikeFlag = true;
|
|
|
|
|
+// }
|
|
|
|
|
+// }
|
|
|
|
|
+//
|
|
|
|
|
+// // 1. 验证订单参数
|
|
|
|
|
+// orderComponents.checkEmpty(quoteInfoVo);
|
|
|
|
|
+// SysUser user = sysUserService.getById(realUserId);
|
|
|
|
|
+// SysDept dept = sysDeptService.getById(user.getDeptId());
|
|
|
|
|
+// // 2 构造订单
|
|
|
|
|
+// InsOrders insOrders = new InsOrders(user, dept, quoteInfoVo);
|
|
|
|
|
+// if (daikeFlag) {//当时代客录单业务时,才需要赋值该字段
|
|
|
|
|
+// insOrders.setOperatorid(userId);//赋值代客录单操作人为登录人
|
|
|
|
|
+// }
|
|
|
|
|
+// if (isCdy) {//赋值出单员 操作人为登录人
|
|
|
|
|
+// insOrders.setOperatorid(userId);
|
|
|
|
|
+// }
|
|
|
|
|
+// InsOrders insOrders1 = baseMapper.selectById(quoteInfoVo.getOrderNo());
|
|
|
|
|
+//
|
|
|
|
|
+// //需要赋值代录单人ID
|
|
|
|
|
+//
|
|
|
|
|
+// if (ObjectUtils.isEmpty(insOrders1)) {
|
|
|
|
|
+// insOrders1 = insOrders;
|
|
|
|
|
+// }
|
|
|
|
|
+//
|
|
|
|
|
+// if (!quoteInfoVo.getCarInfo().getLicenseNo().equals(insOrders1.getLicenseno())) {
|
|
|
|
|
+// throw new SystemException("1001", "车牌与此订单不符,请重新录单");
|
|
|
|
|
+// }
|
|
|
|
|
+//
|
|
|
|
|
+// // 3 订单操作
|
|
|
|
|
+// if (!realUserId.equals(insOrders1.getUserid()) || StringUtils.isEmpty(quoteInfoVo.getOrderNo())) {
|
|
|
|
|
+// // 存入订单
|
|
|
|
|
+// String orderno = IdGenerate.nextId();
|
|
|
|
|
+// insOrders.setOrderno(orderno);
|
|
|
|
|
+// // 将报价号返回
|
|
|
|
|
+// long l = new SnowFlakeUtil().nextId();
|
|
|
|
|
+// insOrders.setQuoteno(String.valueOf(l));
|
|
|
|
|
+// boolean save = this.saveAndTrajectories(insOrders);
|
|
|
|
|
+// if (!save) {
|
|
|
|
|
+// throw new SystemException("订单生成失败");
|
|
|
|
|
+// }
|
|
|
|
|
+//
|
|
|
|
|
+// } else {
|
|
|
|
|
+// // 修改订单
|
|
|
|
|
+// insOrders.setOrderno(quoteInfoVo.getOrderNo());
|
|
|
|
|
+// this.updateById(insOrders);
|
|
|
|
|
+// }
|
|
|
|
|
+// // 4 将报价信息存入redis 中
|
|
|
|
|
+// String s = JSON.toJSONString(quoteInfoVo);
|
|
|
|
|
+// redisTemplate.opsForValue().set(QUOTE_INFO_KEY + insOrders.getOrderno(), s, QUOTE_INFO_KEY_TIME, TimeUnit.DAYS);
|
|
|
|
|
+//
|
|
|
|
|
+// // 5 生成承包规则参数
|
|
|
|
|
+// UnderwritingRulesBo underwritingRulesBo = new UnderwritingRulesBo(quoteInfoVo);
|
|
|
|
|
+// String rules = JSON.toJSONString(underwritingRulesBo);
|
|
|
|
|
+// redisTemplate.opsForValue().set(QUOTE_RULES_KEY + insOrders.getOrderno(), rules, QUOTE_RULES_KEY_TIME,
|
|
|
|
|
+// TimeUnit.HOURS);
|
|
|
|
|
+//
|
|
|
|
|
+// return insOrders;
|
|
|
|
|
+// }
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
|
* 新的查询分页接口
|
|
* 新的查询分页接口
|