OrderComponents.java 23 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508
  1. package com.ydtech.components;
  2. import com.ydtech.constants.enums.dict.insurance.VehicleType;
  3. import com.ydtech.exception.SystemException;
  4. import com.ydtech.modules.admin.service.SysDeptService;
  5. import com.ydtech.modules.admin.service.SysUserService;
  6. import com.ydtech.modules.esm.service.EsmAgreementProdService;
  7. import com.ydtech.modules.esm.service.EsmAgreementProdfeeService;
  8. import com.ydtech.modules.esm.service.EsmAgreementService;
  9. import com.ydtech.modules.esm.service.EsmRetailService;
  10. import com.ydtech.modules.ins.model.InsOrder;
  11. import com.ydtech.modules.ins.model.vo.CarInfoVo;
  12. import com.ydtech.modules.ins.model.vo.RiskInfoVo;
  13. import com.ydtech.modules.ins.model.ya.YaQuoteInfoVo;
  14. import com.ydtech.modules.ins.service.InsCommissionService;
  15. import com.ydtech.modules.ins.service.InsDeptFeeService;
  16. import com.ydtech.modules.ins.service.InsFeeDetailService;
  17. import com.ydtech.modules.ins.service.InsOrderService;
  18. import com.ydtech.modules.protocol.utils.AssertionUtils;
  19. import org.springframework.stereotype.Component;
  20. import org.springframework.util.ObjectUtils;
  21. import org.springframework.util.StringUtils;
  22. import javax.annotation.Resource;
  23. @Component
  24. public class OrderComponents {
  25. @Resource
  26. private EsmAgreementService esmAgreementService;
  27. @Resource
  28. private EsmAgreementProdfeeService esmAgreementProdfeeService;
  29. @Resource
  30. private InsFeeDetailService insFeeDetailService;
  31. @Resource
  32. private InsDeptFeeService insDeptFeeService;
  33. @Resource
  34. private InsCommissionService insCommissionService;
  35. @Resource
  36. private EsmRetailService esmRetailService;
  37. @Resource
  38. private SysUserService sysUserService;
  39. @Resource
  40. private InsOrderService insOrderService;
  41. @Resource
  42. private SysDeptService sysDeptService;
  43. @Resource
  44. private EsmAgreementProdService esmAgreementProdService;
  45. // @Resource
  46. // private StringRedisTemplate redisTemplate;
  47. // /**
  48. // * 保存费用明细
  49. // *
  50. // * @param order
  51. // */
  52. // public void saveFeeDetail(InsOrder order) {
  53. // InsFeeDetail feeDetail = new InsFeeDetail();
  54. // feeDetail.setOrderno(order.getOrderno());
  55. // feeDetail.setQuoteno(order.getQuoteno());
  56. // feeDetail.setFeerate(order.getFeerate()); //交强手续费比例
  57. // feeDetail.setDisrate(order.getDisrate()); //商业手续费比例
  58. // BigDecimal jqfee = new BigDecimal(order.getJqpremium() * order.getFeerate() * 0.01);
  59. // jqfee = jqfee.setScale(2, BigDecimal.ROUND_HALF_UP);
  60. // feeDetail.setFeeamount(jqfee.doubleValue()); //交强手续费
  61. // BigDecimal syfee = new BigDecimal(order.getSypremium() * order.getDisrate() * 0.01);
  62. // syfee = syfee.setScale(2, BigDecimal.ROUND_HALF_UP);
  63. // feeDetail.setDisamount(syfee.doubleValue()); //商业手续费
  64. //
  65. // feeDetail.setJqdiscountrate(order.getJqdiscountrate());
  66. // feeDetail.setSydiscountrate(order.getSydiscountrate());
  67. // BigDecimal jqDiscount = new BigDecimal(order.getJqpremium() * order.getJqdiscountrate() * 0.01);
  68. // jqDiscount = jqDiscount.setScale(2, RoundingMode.HALF_UP);
  69. // feeDetail.setJqdiscount(jqDiscount.doubleValue()); //交强优惠金额
  70. // BigDecimal syDiscount = new BigDecimal(order.getSypremium() * order.getSydiscountrate() * 0.01);
  71. // syDiscount = syDiscount.setScale(2, RoundingMode.HALF_UP);
  72. // feeDetail.setSydiscount(syDiscount.doubleValue()); //商业优惠金额
  73. //
  74. // feeDetail.setJqpremium(order.getJqpremium());
  75. // feeDetail.setSypremium(order.getSypremium());
  76. // feeDetail.setTaxamount(order.getTaxamount());
  77. // feeDetail.setSumpremium(order.getSumpremium());
  78. // feeDetail.setInscompany(order.getInscompany());
  79. // feeDetail.setAgreeid(order.getAgreeid());
  80. // feeDetail.setAgreeprodid(order.getProductid());
  81. // EsmAgreement esmAgreement = esmAgreementService.selectByPk(order.getAgreeid());
  82. // if (esmAgreement != null) {
  83. // feeDetail.setAgreementcode(esmAgreement.getAgreementcode());
  84. // feeDetail.setAgreetype(esmAgreement.getAgreementtype());
  85. // feeDetail.setChannel(esmAgreement.getChannel());
  86. // }
  87. // feeDetail.setProducname(order.getProduct());
  88. // feeDetail.setAuditstatus("0"); //0未审核 1已审核
  89. //
  90. // insFeeDetailService.insert(feeDetail);
  91. //
  92. // //机构费用
  93. // InsDeptFee deptFee = new InsDeptFee();
  94. // deptFee.setOrderno(order.getOrderno());
  95. // deptFee.setQuoteno(order.getQuoteno());
  96. // deptFee.setAgreeid(order.getAgreeid());
  97. // deptFee.setAgreeprodid(order.getProductid());
  98. // deptFee.setAuditstatus("0");
  99. // deptFee.setSettlestatus("0");
  100. // List<EsmAgreementProdfee> prodfees = esmAgreementProdfeeService.selectList(" where agreeprodid=?", new Object[]{order
  101. // .getProductid()});
  102. // for (EsmAgreementProdfee prodfee : prodfees) {
  103. // deptFee.setKeeprate(prodfee.getKeeprate() * 0.01);
  104. // BigDecimal amount = new BigDecimal((order.getJqpremium() + order.getSypremium()) * prodfee.getKeeprate() * 0.01);
  105. // amount = amount.setScale(2, BigDecimal.ROUND_HALF_UP);
  106. // deptFee.setKeepamount(amount.doubleValue());
  107. // deptFee.setAddrate(prodfee.getAddrate() * 0.01);
  108. // amount = new BigDecimal((order.getJqpremium() + order.getSypremium()) * prodfee.getAddrate() * 0.01);
  109. // amount = amount.setScale(2, BigDecimal.ROUND_HALF_UP);
  110. // deptFee.setAddamount(amount.doubleValue());
  111. // deptFee.setComlevel(prodfee.getComlevel());
  112. // if ("一级".equals(prodfee.getComlevel())) {
  113. // deptFee.setComcode(order.getDeptid().substring(0, 2)); //99140302M01D01
  114. // } else if ("二级".equals(prodfee.getComlevel())) {
  115. // deptFee.setComcode(order.getDeptid().substring(0, 4));
  116. // } else if ("三级".equals(prodfee.getComlevel())) {
  117. // deptFee.setComcode(order.getDeptid().substring(0, 6));
  118. // } else if ("四级".equals(prodfee.getComlevel())) {
  119. // deptFee.setComcode(order.getDeptid().substring(0, 8));
  120. // } else {
  121. // deptFee.setComcode(order.getDeptid().substring(0, 11));
  122. // }
  123. // insDeptFeeService.insert(deptFee);
  124. // }
  125. //
  126. // saveRetail(order); //分销所占比例
  127. // }
  128. // /**
  129. // * 三级分销费用保存
  130. // *
  131. // * @param order
  132. // * @return
  133. // */
  134. // public double saveRetail(InsOrder order) {
  135. // double retailRate = 0;
  136. //
  137. // //1、根据机构匹配分销规则,获取分销比例
  138. // List<EsmRetail> list = esmRetailService.selectList(" where deptid = ? and status=?", new Object[]{order.getDeptid(), "1"});
  139. // //2、根据userid查询三级推荐人
  140. // List<SysUser> users = esmUserInternalService.getSuperior(order.getUserid());
  141. //
  142. // if (list != null && list.size() > 0 && users.size() > 0 && !"0".equals(list.get(0).getRetailtype())) {
  143. // EsmRetail retail = list.get(0);
  144. // List<Double> rateList = new ArrayList<Double>();
  145. // rateList.add(retail.getDisrate1());
  146. // rateList.add(retail.getDisrate2());
  147. // rateList.add(retail.getDisrate3());
  148. //
  149. // if ("1".equals(retail.getRetailtype())) {//一级分销
  150. // InsCommission commission = new InsCommission();
  151. // commission.setOrderno(order.getOrderno());
  152. // commission.setQuoteno(order.getQuoteno());
  153. // commission.setRefereescode(users.get(0).getId());
  154. // commission.setRefereesname(users.get(0).getName());
  155. // double rate = rateList.get(0) * 0.01;
  156. // commission.setCommissionrate(rate);
  157. // BigDecimal amount = new BigDecimal((order.getJqpremium() + order.getSypremium()) * rate);
  158. // amount = amount.setScale(2, BigDecimal.ROUND_HALF_UP);
  159. // commission.setCommissionamount(amount.doubleValue());
  160. // commission.setLevel("1");
  161. // commission.setAuditstatus("0"); //0未审核 1已审核
  162. // commission.setSettlestatus("0"); //0未结算 1已结算
  163. // commission.setInsuredtime(order.getAudittime()); //承保确认时间
  164. // insCommissionService.insert(commission);
  165. //
  166. // retailRate += rateList.get(0);
  167. // } else if ("2".equals(retail.getRetailtype())) {//二级分销
  168. // int num = users.size() > 2 ? 2 : users.size();
  169. // for (int i = 0; i < num; i++) {
  170. // InsCommission commission = new InsCommission();
  171. // commission.setOrderno(order.getOrderno());
  172. // commission.setQuoteno(order.getQuoteno());
  173. // commission.setRefereescode(users.get(i).getId());
  174. // commission.setRefereesname(users.get(i).getName());
  175. // double rate = rateList.get(i) * 0.01;
  176. // commission.setCommissionrate(rate);
  177. // BigDecimal amount = new BigDecimal((order.getJqpremium() + order.getSypremium()) * rate);
  178. // amount = amount.setScale(2, BigDecimal.ROUND_HALF_UP);
  179. // commission.setCommissionamount(amount.doubleValue());
  180. // commission.setLevel(String.valueOf(i + 1));
  181. // commission.setAuditstatus("0"); //0未审核 1已审核
  182. // commission.setSettlestatus("0"); //0未结算 1已结算
  183. // commission.setInsuredtime(order.getAudittime()); //承保确认时间
  184. // insCommissionService.insert(commission);
  185. //
  186. // retailRate += rateList.get(i);
  187. // }
  188. //
  189. // } else {//三级分销
  190. // int num = users.size() > 2 ? 3 : users.size();
  191. // for (int i = 0; i < num; i++) {
  192. // InsCommission commission = new InsCommission();
  193. // commission.setOrderno(order.getOrderno());
  194. // commission.setQuoteno(order.getQuoteno());
  195. // commission.setRefereescode(users.get(i).getId());
  196. // commission.setRefereesname(users.get(i).getName());
  197. // double rate = rateList.get(i) * 0.01;
  198. // commission.setCommissionrate(rate);
  199. // BigDecimal amount = new BigDecimal((order.getJqpremium() + order.getSypremium()) * rate);
  200. // amount = amount.setScale(2, RoundingMode.HALF_UP);
  201. // commission.setCommissionamount(amount.doubleValue());
  202. // commission.setLevel(String.valueOf(i + 1));
  203. // commission.setAuditstatus("0"); //0未审核 1已审核
  204. // commission.setSettlestatus("0"); //0未结算 1已结算
  205. // commission.setInsuredtime(order.getAudittime()); //承保确认时间
  206. // insCommissionService.insert(commission);
  207. //
  208. // retailRate += rateList.get(i);
  209. // }
  210. // }
  211. // }
  212. // return retailRate;
  213. // }
  214. //
  215. // /**
  216. // * 分销费用统计
  217. // *
  218. // * @param deptid
  219. // * @param userid
  220. // * @return
  221. // */
  222. // public double countRetail(String deptid, String userid) {
  223. // double retailRate = 0;
  224. //
  225. // //1、根据机构匹配分销规则,获取分销比例
  226. // List<EsmRetail> list = esmRetailService.selectList(" where deptid = ? and status=?", new Object[]{deptid, "1"});
  227. // //2、根据userid查询三级推荐人
  228. // List<SysUser> users = esmUserInternalService.getSuperior(userid);
  229. //
  230. // if (list != null && !list.isEmpty() && !users.isEmpty() && !"0".equals(list.get(0).getRetailtype())) {
  231. // EsmRetail retail = list.get(0);
  232. // List<Double> rateList = new ArrayList<>();
  233. // rateList.add(retail.getDisrate1());
  234. // rateList.add(retail.getDisrate2());
  235. // rateList.add(retail.getDisrate3());
  236. //
  237. // if ("1".equals(retail.getRetailtype())) {//一级分销
  238. // retailRate += rateList.get(0);
  239. // } else if ("2".equals(retail.getRetailtype())) {//二级分销
  240. // int num = Math.min(users.size(), 2);
  241. // for (int i = 0; i < num; i++) {
  242. // retailRate += rateList.get(i);
  243. // }
  244. // } else {//三级分销
  245. // int num = users.size() > 2 ? 3 : users.size();
  246. // for (int i = 0; i < num; i++) {
  247. // retailRate += rateList.get(i);
  248. // }
  249. // }
  250. // }
  251. //
  252. // return retailRate;
  253. // }
  254. /**
  255. * 校验参数
  256. *
  257. * @param yaQuoteInfoVo
  258. * @throws Exception
  259. */
  260. public void checkEmpty(YaQuoteInfoVo yaQuoteInfoVo) {
  261. if (yaQuoteInfoVo.getCarInfo() == null) {
  262. throw new SystemException("车辆信息 不能为空!");
  263. }
  264. if (yaQuoteInfoVo.getPolicyHolderInfo() == null || yaQuoteInfoVo.getInsuredPersonInfo() == null) {
  265. throw new SystemException("被保人信息 / 被保人信息 不能为空!");
  266. }
  267. if (StringUtils.isEmpty(yaQuoteInfoVo.getOwnerInfo().getIdentifyType())) {
  268. yaQuoteInfoVo.getOwnerInfo().setIdentifyType("1");
  269. }
  270. if (StringUtils.isEmpty(yaQuoteInfoVo.getInsuredPersonInfo().getIdentifyType())) {
  271. yaQuoteInfoVo.getInsuredPersonInfo().setIdentifyType("1");
  272. }
  273. if (StringUtils.isEmpty(yaQuoteInfoVo.getPolicyHolderInfo().getIdentifyType())) {
  274. yaQuoteInfoVo.getPolicyHolderInfo().setIdentifyType("1");
  275. }
  276. if (StringUtils.isEmpty(yaQuoteInfoVo.getOwnerInfo().getProperty())) {
  277. yaQuoteInfoVo.getOwnerInfo().setProperty("1");
  278. }
  279. if (StringUtils.isEmpty(yaQuoteInfoVo.getInsuredPersonInfo().getProperty())) {
  280. yaQuoteInfoVo.getInsuredPersonInfo().setProperty("1");
  281. }
  282. if (StringUtils.isEmpty(yaQuoteInfoVo.getPolicyHolderInfo().getProperty())) {
  283. yaQuoteInfoVo.getPolicyHolderInfo().setProperty("1");
  284. }
  285. if (StringUtils.isEmpty(yaQuoteInfoVo.getCarInfo().getFrameNo())) {
  286. throw new SystemException("车架号不能为空");
  287. }
  288. if (yaQuoteInfoVo.getRiskList() == null || yaQuoteInfoVo.getRiskList().isEmpty()) {
  289. throw new SystemException("投保信息 不能为空!");
  290. }
  291. CarInfoVo carInfo = yaQuoteInfoVo.getCarInfo();
  292. if (VehicleType.VT_A1.getCode().equals(carInfo.getCimodelclass())) {
  293. String limitLoad = carInfo.getLimitLoad();
  294. AssertionUtils.isFail(StringUtils.isEmpty(limitLoad), "车辆种类为货车时,核定载质量必传");
  295. }
  296. for (RiskInfoVo riskInfoVo : yaQuoteInfoVo.getRiskList()) {
  297. if (riskInfoVo.getStartDate() == null || riskInfoVo.getEndDate() == null) {
  298. throw new SystemException("投保信息 起保日期 或 终保日期 不能为空!");
  299. }
  300. }
  301. }
  302. public void checkEmptyApp(YaQuoteInfoVo yaQuoteInfoVo) {
  303. if (yaQuoteInfoVo.getCarInfo() == null) {
  304. throw new SystemException("车辆信息 不能为空!");
  305. }
  306. if (yaQuoteInfoVo.getPolicyHolderInfo() == null || yaQuoteInfoVo.getInsuredPersonInfo() == null) {
  307. throw new SystemException("被保人信息 / 被保人信息 不能为空!");
  308. }
  309. if (StringUtils.isEmpty(yaQuoteInfoVo.getCarInfo().getFrameNo())) {
  310. throw new SystemException("车架号不能为空");
  311. }
  312. if (yaQuoteInfoVo.getRiskList() == null || yaQuoteInfoVo.getRiskList().isEmpty()) {
  313. throw new SystemException("投保信息 不能为空!");
  314. }
  315. CarInfoVo carInfo = yaQuoteInfoVo.getCarInfo();
  316. if (VehicleType.VT_A1.getCode().equals(carInfo.getCimodelclass())) {
  317. String limitLoad = carInfo.getLimitLoad();
  318. AssertionUtils.isFail(StringUtils.isEmpty(limitLoad), "车辆种类为货车时,核定载质量必传");
  319. }
  320. }
  321. // /**
  322. // * 生成订单信息
  323. // *
  324. // * @param record
  325. // * @param insCompany
  326. // * @return InsOrder
  327. // */
  328. // public InsOrder geneOrder(YaQuoteInfoVo record, String insCompany, String authComCode) {
  329. // checkEmpty(record);
  330. //
  331. // SysUser user = sysUserService.getById(record.getUserId());
  332. // if (user == null) {
  333. // throw new SystemException("userId不存在");
  334. // }
  335. //
  336. // InsOrder insOrder = new InsOrder();
  337. // String orderno = IdGenerate.nextId();
  338. // insOrder.setOrderno(orderno);
  339. // insOrder.setQuoteno(String.valueOf(record.getQuoteno()));
  340. // insOrder.setOrderstatus("0"); // 0 报价 1 待核保 2 已核保待缴费 3 核保退回 4 核保不通过
  341. // insOrder.setFrameNo(record.getCarInfo().getFrameNo());
  342. // insOrder.setLicenseNo(record.getCarInfo().getLicenseNo());
  343. // insOrder.setCarinfo(JSONObject.parseObject(JSONObject.toJSONString(record.getCarInfo())));
  344. //
  345. // // 关闭订单 不含当前报价号
  346. // InsOrder orderObj = insOrderService.queryQuoteno(new Object[]{record.getUserId(), record.getCarInfo().getFrameNo(), record
  347. // .getQuoteno()});
  348. // if (orderObj != null) {
  349. // List<InsOrder> listo = insOrderService.selectList(" where quoteno=?", new Object[]{orderObj.getQuoteno()});
  350. // String status = "0";
  351. // for (InsOrder order : listo) {
  352. // if (!"0".equals(order.getOrderstatus())) {
  353. // status = order.getOrderstatus();
  354. // }
  355. // }
  356. // //0报价中 1待核保 2已核保 3核保退回 4核保不通过 5已核保待缴费 6已缴费 7已承保 99已关闭
  357. // if ("0".equals(status)) {//关闭订单
  358. // insOrderService.closeOrder(orderObj.getOrderno(), "99");
  359. // } else if (!"99".equals(status)) {
  360. // throw new SystemException("此车辆已提交核保,重新报价请先关闭订单,任务号:" + orderObj.getQuoteno());
  361. // }
  362. // }
  363. // insOrder.setUserid(user.getId());
  364. // insOrder.setUsername(user.getName());
  365. // insOrder.setDeptid(user.getDeptId());
  366. // SysDept dept = sysDeptService.getById(user.getDeptId());
  367. /// / SysDept dept = sysDeptService.selectByPk(user.getDeptId());
  368. // insOrder.setDeptname(dept == null ? "" : dept.getName());
  369. //
  370. // double retailRate = countRetail(user.getDeptId(), user.getId());
  371. //
  372. // insOrder.setOwnerinfo(JSONObject.parseObject(JSONObject.toJSONString(record.getOwnerInfo())));
  373. // insOrder.setApplyinfo(JSONObject.parseObject(JSONObject.toJSONString(record.getPolicyHolderInfo())));
  374. // insOrder.setInsureinfo(JSONObject.parseObject(JSONObject.toJSONString(record.getInsuredPersonInfo())));
  375. //
  376. // insOrder.setInsuredname(record.getPolicyHolderInfo().getName());
  377. //
  378. // List<RiskInfoVo> risks = record.getRiskList();
  379. // for (RiskInfoVo risk : risks) {
  380. // if ("0507".equals(risk.getRiskCode())) {//交强
  381. // insOrder.setJqstartdate(risk.getStartDate());
  382. // insOrder.setJqenddate(risk.getEndDate());
  383. // }
  384. // if ("0510".equals(risk.getRiskCode())) {//商业
  385. // insOrder.setSystartdate(risk.getStartDate());
  386. // insOrder.setSyenddate(risk.getEndDate());
  387. // }
  388. // }
  389. //
  390. // List<KindInfoVo> kinds = record.getKindList();
  391. // String productId = "";
  392. // String productname = "";
  393. //
  394. // List<EsmAgreement> agreements = esmAgreementService.selectList(" where t.agreestatus='1' and t.insure1 like ? " + "and exists
  395. // (select 1 from esm_agreement_prod t2 where t.id=t2.agreeid and t2.authcomcode like ?)", new Object[]{authComCode + "%", "%" +
  396. // user.getDeptId() + "%"});
  397. // if (agreements.size() == 0) {
  398. // throw new SystemException("不存在有效协议或机构" + user.getDeptId() + "未授权");
  399. // }
  400. // String agreeid = agreements.get(0).getId();
  401. // insOrder.setAgreeid(agreeid);
  402. // //匹配协议,获取费用
  403. // StringBuffer whereStr = new StringBuffer();
  404. // List params = new ArrayList();// where t.agreeid=? and t.productid in ()
  405. // whereStr.append("where t.agreeid=? ");
  406. // params.add(agreeid);
  407. // if (risks.size() == 1 && "0507".equals(risks.get(0).getRiskCode())) {
  408. // productId = "ZG01001";
  409. // productname = "单交强";
  410. // whereStr.append(" and t.productid=?");
  411. // params.add(productId);
  412. // } else if (risks.size() == 1 && kinds.size() == 1 && "B".equals(kinds.get(0).getKindCode())) {
  413. // productId = "ZG01002";
  414. // productname = "单三者";
  415. // whereStr.append(" and t.productid=?");
  416. // params.add(productId);
  417. // } else if (risks.size() == 1) {
  418. // productId = "ZG01003";
  419. // productname = "单商业";
  420. // whereStr.append(" and t.productid=?");
  421. // params.add(productId);
  422. // } else if (risks.size() == 2 && kinds.size() == 1 && "B".equals(kinds.get(0).getKindCode())) {
  423. // productId = "ZG01004";
  424. // productname = "交强+三者";
  425. // whereStr.append(" and t.productid in (?,?)");
  426. // params.add("ZG01004");
  427. // params.add("ZG01005");
  428. // } else {
  429. // productId = "ZG01006";
  430. // productname = "交强+商业";
  431. // whereStr.append(" and t.productid in (?,?)");
  432. // params.add("ZG01006");
  433. // params.add("ZG01007");
  434. // }
  435. //
  436. // insOrder.setProductid(productId);
  437. // insOrder.setProduct(productname);
  438. // List<EsmAgreementProd> agreementProds = esmAgreementProdService.selectList(whereStr.toString(), params.toArray());
  439. // for (EsmAgreementProd prod : agreementProds) {
  440. // if ("ZG01001".equals(prod.getProductid()) || "ZG01004".equals(prod.getProductid()) || "ZG01006".equals(prod.getProductid())) {
  441. // insOrder.setFeerate(prod.getProductrate());//交强手续费比例
  442. // insOrder.setJqdiscountrate(prod.getFeerate() - retailRate); //交强优惠比例=业务员绩效-分销费用
  443. // } else {
  444. // insOrder.setDisrate(prod.getProductrate()); //商业手续费比例
  445. // insOrder.setSydiscountrate(prod.getFeerate() - retailRate); //商业优惠比例=业务员绩效-分销费用
  446. // }
  447. // insOrder.setProductid(prod.getId());
  448. // }
  449. //
  450. // insOrder.setRiskinfo(JSONObject.parseArray(JSONObject.toJSONString(record.getRiskList())));
  451. // insOrder.setKindinfo(JSONObject.parseArray(JSONObject.toJSONString(record.getKindList())));
  452. // SimpleDateFormat sdfm = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
  453. //
  454. // insOrder.setInscompany(insCompany);
  455. // insOrder.setCreatetime(sdfm.format(new Date()));
  456. //
  457. // return insOrder;
  458. //
  459. // }
  460. public InsOrder orderExists(String orderNo) {
  461. InsOrder insOrder = insOrderService.selectByPk(orderNo);
  462. if (ObjectUtils.isEmpty(insOrder)) {
  463. throw new SystemException("订单不存在");
  464. }
  465. return insOrder;
  466. }
  467. }