InsRenbaoController.java 22 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499
  1. package com.ydtech.modules.ins.controller;
  2. import com.alibaba.fastjson.JSONArray;
  3. import com.alibaba.fastjson.JSONObject;
  4. import com.ydtech.core.page.HttpResult;
  5. import com.ydtech.modules.admin.model.SysDept;
  6. import com.ydtech.modules.admin.model.SysUser;
  7. import com.ydtech.modules.admin.service.SysDeptService;
  8. import com.ydtech.modules.admin.service.SysUserService;
  9. import com.ydtech.modules.esm.model.EsmAgreement;
  10. import com.ydtech.modules.esm.model.EsmAgreementProd;
  11. import com.ydtech.modules.esm.model.EsmRetail;
  12. import com.ydtech.modules.esm.service.EsmAgreementProdService;
  13. import com.ydtech.modules.esm.service.EsmAgreementService;
  14. import com.ydtech.modules.esm.service.EsmRetailService;
  15. import com.ydtech.modules.ins.model.*;
  16. import com.ydtech.modules.ins.model.vo.*;
  17. import com.ydtech.modules.ins.service.InsOrderService;
  18. import com.ydtech.modules.ins.service.RenbaoService;
  19. import com.ydtech.utils.idgen.IdGenerate;
  20. import org.springframework.beans.factory.annotation.Autowired;
  21. import org.springframework.web.bind.annotation.*;
  22. import java.math.BigDecimal;
  23. import java.text.SimpleDateFormat;
  24. import java.util.ArrayList;
  25. import java.util.Date;
  26. import java.util.List;
  27. /**
  28. * @author qinfenglong
  29. * @version 1.0.0
  30. * @description InsRenbaoController
  31. * @since 2021/3/4 16:43
  32. */
  33. @RestController
  34. @RequestMapping("/api/renbao")
  35. public class InsRenbaoController {
  36. @Autowired
  37. RenbaoService renbaoService;
  38. @Autowired
  39. InsOrderService insOrderService;
  40. @Autowired
  41. SysUserService sysUserService;
  42. @Autowired
  43. SysDeptService sysDeptService;
  44. @Autowired
  45. EsmAgreementService esmAgreementService;
  46. @Autowired
  47. EsmAgreementProdService esmAgreementProdService;
  48. @Autowired
  49. EsmRetailService esmRetailService;
  50. // @GetMapping("/login")
  51. public void login() {
  52. renbaoService.login();
  53. // renbaoService.calActualVal();
  54. // renbaoService.quote();
  55. }
  56. @PostMapping("/actualValue")
  57. public HttpResult actualValue(@RequestBody RbValueVo rbValueVo) {
  58. HttpResult httpResult = new HttpResult();
  59. renbaoService.login(); // 先登录
  60. //实际价值
  61. String result = renbaoService.calActualVal(rbValueVo);
  62. httpResult.setData(result);
  63. return httpResult;
  64. }
  65. @PostMapping("/quote")
  66. public HttpResult quote(@RequestBody QuoteInfoVo quoteInfo) {
  67. HttpResult httpResult = new HttpResult();
  68. RbQuoteInfo rbQuoteInfo = parseOjb(quoteInfo);
  69. //保存订单信息
  70. InsOrder insOrder = new InsOrder();
  71. String orderno = IdGenerate.nextId();
  72. // String quoteno = String.valueOf(new Date().getTime());
  73. insOrder.setOrderno(orderno);
  74. insOrder.setQuoteno(quoteInfo.getQuoteno());
  75. insOrder.setOrderstatus("0"); //0报价 1待核保 2已核保待缴费 3核保退回 4核保不通过
  76. insOrder.setFrameNo(quoteInfo.getCarInfo().getFrameNo());
  77. insOrder.setLicenseNo(quoteInfo.getCarInfo().getLicenseNo());
  78. insOrder.setCarinfo(JSONObject.parseObject(JSONObject.toJSONString(quoteInfo.getCarInfo())));
  79. SysUser user = sysUserService.getById(quoteInfo.getUserId());
  80. if (user == null) {
  81. httpResult.setMsg("userId不存在");
  82. return httpResult;
  83. }
  84. //
  85. if (org.springframework.util.StringUtils.isEmpty(quoteInfo.getCarInfo().getFrameNo())) {
  86. httpResult.setMsg("车架号不能为空");
  87. return httpResult;
  88. }
  89. // 关闭订单 不含当前报价号
  90. InsOrder orderObj = insOrderService.queryQuoteno(new Object[]{quoteInfo.getUserId(), quoteInfo.getCarInfo().getFrameNo(), quoteInfo.getQuoteno()});
  91. if (orderObj != null) {
  92. List<InsOrder> list = insOrderService.selectList(" where quoteno=?", new Object[]{orderObj.getQuoteno()});
  93. String status = "0";
  94. for (InsOrder order : list) {
  95. if (!"0".equals(order.getOrderstatus())) {
  96. status = order.getOrderstatus();
  97. }
  98. }
  99. //0报价中 1待核保 2已核保 3核保退回 4核保不通过 5已核保待缴费 6已缴费 7已承保 99已关闭
  100. if ("0".equals(status)) {//关闭订单
  101. insOrderService.closeOrder(orderObj.getQuoteno(), "99");
  102. } else if (!"99".equals(status)) {
  103. httpResult.setMsg("此车辆已提交核保,重新报价请先关闭订单,任务号:" + orderObj.getQuoteno());
  104. return httpResult;
  105. }
  106. }
  107. insOrder.setUserid(quoteInfo.getUserId());
  108. insOrder.setUsername(user.getName());
  109. insOrder.setDeptid(user.getDeptId());
  110. SysDept dept = sysDeptService.getById(user.getDeptId());
  111. insOrder.setDeptname(dept == null ? "" : dept.getName());
  112. double retailRate = countRetail(user.getDeptId(), user.getId());
  113. // insOrder.setFeerate(0);
  114. // insOrder.setDisrate(0);
  115. insOrder.setOwnerinfo(JSONObject.parseObject(JSONObject.toJSONString(quoteInfo.getOwnerInfo())));
  116. insOrder.setApplyinfo(JSONObject.parseObject(JSONObject.toJSONString(quoteInfo.getPolicyHolderInfo())));
  117. insOrder.setInsureinfo(JSONObject.parseObject(JSONObject.toJSONString(quoteInfo.getInsuredPersonInfo())));
  118. insOrder.setInsuredname(quoteInfo.getPolicyHolderInfo().getName());
  119. List<RiskInfoVo> risks = quoteInfo.getRiskList();
  120. for (RiskInfoVo risk : risks) {
  121. if ("0507".equals(risk.getRiskCode())) {//交强
  122. insOrder.setJqstartdate(risk.getStartDate());
  123. insOrder.setJqenddate(risk.getEndDate());
  124. }
  125. if ("0510".equals(risk.getRiskCode())) {//商业
  126. insOrder.setSystartdate(risk.getStartDate());
  127. insOrder.setSyenddate(risk.getEndDate());
  128. }
  129. }
  130. // insOrder.setJqstartdate("");
  131. // insOrder.setJqenddate("");
  132. // insOrder.setSystartdate("");
  133. // insOrder.setSyenddate("");
  134. // ZG01001 单交强
  135. // ZG01002 单三者
  136. // ZG01003 单商业
  137. // ZG01004 交强+三者 交强+三者 (交强的费用)
  138. // ZG01005 交强+三者 交强+三者(三者的费用)
  139. // ZG01006 交强+商业 交强+商业(交强的费用)
  140. // ZG01007 交强+商业 交强+商业(商业的费用)
  141. List<KindInfoVo> kinds = quoteInfo.getKindList();
  142. String productId = "";
  143. String productname = "";
  144. List<EsmAgreement> agreements = esmAgreementService.selectList(" where t.agreestatus='1' and t.insure1 like ? " +
  145. "and exists (select 1 from esm_agreement_prod t2 where t.id=t2.agreeid and t2.authcomcode like ?)", new Object[]{"000001%", "%" + user.getDeptId() + "%"});
  146. if (agreements.size() == 0) {
  147. httpResult.setMsg("不存在有效协议或机构" + user.getDeptId() + "未授权");
  148. return httpResult;
  149. }
  150. String agreeid = agreements.get(0).getId();
  151. insOrder.setAgreeid(agreeid);
  152. //匹配协议,获取费用
  153. StringBuffer whereStr = new StringBuffer();
  154. List params = new ArrayList();// where t.agreeid=? and t.productid in ()
  155. whereStr.append("where t.agreeid=? ");
  156. params.add(agreeid);
  157. if (risks.size() == 1 && "0507".equals(risks.get(0).getRiskCode())) {
  158. productId = "ZG01001";
  159. productname = "单交强";
  160. whereStr.append(" and t.productid=?");
  161. params.add(productId);
  162. } else if (risks.size() == 1 && kinds.size() == 1 && "B".equals(kinds.get(0).getKindCode())) {
  163. productId = "ZG01002";
  164. productname = "单三者";
  165. whereStr.append(" and t.productid=?");
  166. params.add(productId);
  167. } else if (risks.size() == 1) {
  168. productId = "ZG01003";
  169. productname = "单商业";
  170. whereStr.append(" and t.productid=?");
  171. params.add(productId);
  172. } else if (risks.size() == 2 && kinds.size() == 1 && "B".equals(kinds.get(0).getKindCode())) {
  173. productId = "ZG01004";
  174. productname = "交强+三者";
  175. whereStr.append(" and t.productid in (?,?)");
  176. params.add("ZG01004");
  177. params.add("ZG01005");
  178. } else {
  179. productId = "ZG01006";
  180. productname = "交强+商业";
  181. whereStr.append(" and t.productid in (?,?)");
  182. params.add("ZG01006");
  183. params.add("ZG01007");
  184. }
  185. insOrder.setProductid(productId);
  186. insOrder.setProduct(productname);
  187. List<EsmAgreementProd> agreementProds = esmAgreementProdService.selectList(whereStr.toString(), params.toArray());
  188. for (EsmAgreementProd prod : agreementProds) {
  189. if ("ZG01001".equals(prod.getProductid()) || "ZG01004".equals(prod.getProductid()) || "ZG01006".equals(prod.getProductid())) {
  190. insOrder.setFeerate(prod.getProductrate());//交强手续费比例
  191. insOrder.setJqdiscountrate(prod.getFeerate() - retailRate); //交强优惠比例=业务员绩效-分销费用
  192. } else {
  193. insOrder.setDisrate(prod.getProductrate()); //商业手续费比例
  194. insOrder.setSydiscountrate(prod.getFeerate() - retailRate); //商业优惠比例=业务员绩效-分销费用
  195. }
  196. insOrder.setProductid(prod.getId());
  197. }
  198. insOrder.setRiskinfo(JSONObject.parseArray(JSONObject.toJSONString(quoteInfo.getRiskList())));
  199. insOrder.setKindinfo(JSONObject.parseArray(JSONObject.toJSONString(quoteInfo.getKindList())));
  200. // insOrder.setJqpremium(0);
  201. // insOrder.setSypremium(0);
  202. // insOrder.setTaxamount(0);
  203. // insOrder.setSumpremium(0);
  204. insOrder.setInscompany("人保财险");
  205. // insOrder.setQuotestatus("0"); //报价状态 0失败 1成功
  206. SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
  207. insOrder.setCreatetime(sdf.format(new Date()));
  208. insOrder.setReqtxt(JSONObject.parseObject(JSONObject.toJSONString(quoteInfo)));
  209. // insOrder.setReptxt("");
  210. //报价
  211. JSONObject result = renbaoService.quote(rbQuoteInfo);
  212. if (result == null) {
  213. login(); // 先登录
  214. result = renbaoService.quote(rbQuoteInfo);
  215. }
  216. if (result == null) {
  217. httpResult.setMsg("报价异常");
  218. insOrder.setQuotestatus("0"); //报价状态 0失败 1成功
  219. insOrder.setReptxt(JSONObject.parseObject(JSONObject.toJSONString(httpResult)));
  220. insOrderService.insert(insOrder);
  221. return httpResult;
  222. }
  223. JSONArray riskArray = result.getJSONArray("itemKindTempList");
  224. if (riskArray != null && riskArray.size() > 0) {
  225. QuoteRespVo quoteRespVo = new QuoteRespVo();
  226. double tax = result.getDouble("thisPayTax");
  227. double ciPremium = result.getDouble("ciPremium");
  228. double sumPremium = result.getDouble("sumPremium");
  229. BigDecimal sumPremium2 = new BigDecimal(sumPremium);
  230. sumPremium2 = sumPremium2.setScale(2, BigDecimal.ROUND_HALF_UP);
  231. quoteRespVo.setCiSumPermium(ciPremium + tax); //交强险和车船税合计
  232. quoteRespVo.setSumPermium(sumPremium2.doubleValue() + tax);
  233. quoteRespVo.setTotalAdjustRate(1);
  234. quoteRespVo.setTaxAmount(tax);
  235. quoteRespVo.setILogPreUdwMess(result.getString("piccScore"));
  236. List<QuoteRiskRespVo> riskList = new ArrayList<>();
  237. String startDate = "";
  238. String startDateCI = "";
  239. String endDate = "";
  240. String endDateCI = "";
  241. for (RiskInfoVo riskInfoVo : quoteInfo.getRiskList()) {
  242. if ("0507".equals(riskInfoVo.getRiskCode())) {
  243. startDateCI = riskInfoVo.getStartDate().substring(0, 10);
  244. endDateCI = riskInfoVo.getEndDate().substring(0, 10);
  245. } else {
  246. startDate = riskInfoVo.getStartDate().substring(0, 10);
  247. endDate = riskInfoVo.getEndDate().substring(0, 10);
  248. }
  249. }
  250. List<QuoteKindRespVo> kindList = new ArrayList<>();
  251. for (int i = 0; i < riskArray.size(); i++) {
  252. JSONObject data = riskArray.getJSONObject(i);
  253. if ("051074".equals(data.getString("kindCode"))) { //交强
  254. QuoteRiskRespVo risk = new QuoteRiskRespVo();
  255. risk.setRiskCode("0507");
  256. risk.setRiskName("机动车交通事故责任强制保险");
  257. risk.setPremium(data.getDouble("premium"));
  258. risk.setStartDate(startDateCI + " 00:00");
  259. risk.setEndDate(endDateCI + " 24:00");
  260. riskList.add(risk);
  261. }
  262. QuoteKindRespVo kind = null;
  263. if ("051050".equals(data.getString("kindCode"))) {
  264. kind = new QuoteKindRespVo();
  265. kind.setKindCode("A");
  266. kind.setKindName("车辆损失保险");
  267. kind.setAmount(data.getDouble("amount"));
  268. kind.setCoveragePremium(data.getDouble("premium"));
  269. kindList.add(kind);
  270. }
  271. if ("051051".equals(data.getString("kindCode"))) {
  272. kind = new QuoteKindRespVo();
  273. kind.setKindCode("B");
  274. kind.setKindName("第三者责任险");
  275. kind.setAmount(data.getDouble("amount"));
  276. kind.setCoveragePremium(data.getDouble("premium"));
  277. kindList.add(kind);
  278. }
  279. if ("051052".equals(data.getString("kindCode"))) {
  280. kind = new QuoteKindRespVo();
  281. kind.setKindCode("D3");
  282. kind.setKindName("司机责任险");
  283. kind.setAmount(data.getDouble("amount"));
  284. kind.setCoveragePremium(data.getDouble("premium"));
  285. kind.setUnitAmount(data.getDouble("amount"));
  286. kindList.add(kind);
  287. }
  288. if ("051053".equals(data.getString("kindCode"))) {
  289. kind = new QuoteKindRespVo();
  290. kind.setKindCode("D4");
  291. kind.setKindName("乘客责任险");
  292. kind.setAmount(data.getDouble("amount"));
  293. kind.setCoveragePremium(data.getDouble("premium"));
  294. kind.setUnitAmount(data.getDouble("unitAmount"));
  295. kindList.add(kind);
  296. }
  297. }
  298. if (kindList.size() > 0) {
  299. QuoteRiskRespVo risk = new QuoteRiskRespVo();
  300. risk.setRiskCode("0510");
  301. risk.setRiskName("机动车商业保险");
  302. BigDecimal syPremium = new BigDecimal(sumPremium - ciPremium);
  303. syPremium = syPremium.setScale(2, BigDecimal.ROUND_HALF_UP);
  304. risk.setPremium(syPremium.doubleValue());
  305. risk.setStartDate(startDate + " 00:00");
  306. risk.setEndDate(endDate + " 24:00");
  307. riskList.add(risk);
  308. }
  309. quoteRespVo.setOrderno(orderno); //订单号
  310. quoteRespVo.setRiskList(riskList);
  311. quoteRespVo.setKindList(kindList);
  312. httpResult.setData(quoteRespVo);
  313. httpResult.setMsg("成功");
  314. //报价成功更新险种信息
  315. insOrder.setRiskinfo(JSONObject.parseArray(JSONObject.toJSONString(riskList)));
  316. insOrder.setKindinfo(JSONObject.parseArray(JSONObject.toJSONString(kindList)));
  317. BigDecimal jqPremium = new BigDecimal(result.getDouble("ciPremium"));
  318. jqPremium = jqPremium.setScale(2, BigDecimal.ROUND_HALF_UP);
  319. insOrder.setJqpremium(jqPremium.doubleValue());
  320. double syPremium = result.getDouble("sumPremium") - result.getDouble("ciPremium");
  321. BigDecimal bd = new BigDecimal(syPremium);
  322. bd = bd.setScale(2, BigDecimal.ROUND_HALF_UP);
  323. syPremium = bd.doubleValue();
  324. insOrder.setSypremium(syPremium);
  325. insOrder.setTaxamount(result.getDouble("thisPayTax"));
  326. insOrder.setSumpremium(sumPremium2.doubleValue());
  327. insOrder.setQuotestatus("1"); //报价状态 0失败 1成功
  328. } else if (result.getString("errorTitle") != null) {
  329. httpResult.setCode(201);
  330. httpResult.setMsg(result.getString("errorTitle") + "&" + result.getString("errorMsg"));
  331. insOrder.setQuotestatus("0"); //报价状态 0失败 1成功
  332. } else {
  333. httpResult.setCode(202);
  334. httpResult.setMsg("报价异常");
  335. insOrder.setQuotestatus("0"); //报价状态 0失败 1成功
  336. }
  337. insOrder.setReptxt(JSONObject.parseObject(JSONObject.toJSONString(httpResult)));
  338. insOrderService.insert(insOrder);
  339. return httpResult;
  340. }
  341. /**
  342. * 分销费用统计
  343. *
  344. * @param deptid
  345. * @param userid
  346. * @return
  347. */
  348. public double countRetail(String deptid, String userid) {
  349. double retailRate = 0;
  350. return retailRate;
  351. // //1、根据机构匹配分销规则,获取分销比例
  352. // List<EsmRetail> list = esmRetailService.selectList(" where deptid = ? and status=?", new Object[]{deptid, "1"});
  353. // //2、根据userid查询三级推荐人
  354. // List<SysUser> users = esmUserInternalService.getSuperior(userid);
  355. //
  356. // if (list != null && list.size() > 0 && users.size() > 0 && !"0".equals(list.get(0).getRetailtype())) {
  357. // EsmRetail retail = list.get(0);
  358. // List<Double> rateList = new ArrayList<Double>();
  359. // rateList.add(retail.getDisrate1());
  360. // rateList.add(retail.getDisrate2());
  361. // rateList.add(retail.getDisrate3());
  362. //
  363. // if ("1".equals(retail.getRetailtype())) {//一级分销
  364. // retailRate += rateList.get(0);
  365. // } else if ("2".equals(retail.getRetailtype())) {//二级分销
  366. // int num = users.size() > 2 ? 2 : users.size();
  367. // for (int i = 0; i < num; i++) {
  368. // retailRate += rateList.get(i);
  369. // }
  370. //
  371. // } else {//三级分销
  372. // int num = users.size() > 2 ? 3 : users.size();
  373. // for (int i = 0; i < num; i++) {
  374. // retailRate += rateList.get(i);
  375. // }
  376. //
  377. // }
  378. //
  379. // }
  380. //
  381. // return retailRate;
  382. }
  383. //请求参数转换
  384. public RbQuoteInfo parseOjb(QuoteInfoVo quoteInfo) {
  385. RbQuoteInfo rbQuoteInfo = new RbQuoteInfo();
  386. rbQuoteInfo.setLicenseNo(quoteInfo.getCarInfo().getLicenseNo());
  387. rbQuoteInfo.setEngineNo(quoteInfo.getCarInfo().getEngineNo());
  388. rbQuoteInfo.setVinNo(quoteInfo.getCarInfo().getVinNo());
  389. rbQuoteInfo.setCarOwner(quoteInfo.getOwnerInfo().getName());
  390. String idno = quoteInfo.getOwnerInfo().getIdentifyNumber();
  391. String birthdary = idno.substring(6, 14);
  392. String sex = idno.substring(16, 17);
  393. if ("02468".indexOf(sex) > -1) {
  394. sex = "2";
  395. } else {
  396. sex = "1";
  397. }
  398. rbQuoteInfo.setSex(sex); //1男 2女 男单女双
  399. rbQuoteInfo.setBirthday(birthdary.substring(0, 4) + "-" + birthdary.substring(4, 6) + "-" + birthdary.substring(6, 8));
  400. rbQuoteInfo.setEnrollDate(quoteInfo.getCarInfo().getRegisterDate());
  401. rbQuoteInfo.setUseYears("1");
  402. List<RbKind> kindList = new ArrayList<>();
  403. for (RiskInfoVo riskInfoVo : quoteInfo.getRiskList()) {
  404. if ("0507".equals(riskInfoVo.getRiskCode())) {
  405. rbQuoteInfo.setStartDateCI(riskInfoVo.getStartDate().substring(0, 10));
  406. RbKind kind = new RbKind();
  407. kind.setKindCode("051074");
  408. kind.setKindName("交强");
  409. kind.setAmount(String.valueOf(riskInfoVo.getAmount()));
  410. kindList.add(kind);
  411. } else {
  412. rbQuoteInfo.setStartDate(riskInfoVo.getStartDate().substring(0, 10));
  413. }
  414. }
  415. for (KindInfoVo kindInfoVo : quoteInfo.getKindList()) {
  416. RbKind rbKind = new RbKind();
  417. String kindcode = kindInfoVo.getKindCode();
  418. if ("A".equals(kindcode)) {
  419. rbKind.setKindCode("051050");
  420. rbKind.setKindName("机动车损失保险");
  421. rbKind.setAmount(String.valueOf(kindInfoVo.getAmount()));
  422. kindList.add(rbKind);
  423. }
  424. if ("B".equals(kindcode)) {
  425. rbKind.setKindCode("051051");
  426. rbKind.setKindName("第三者责任险");
  427. int num = (int) kindInfoVo.getAmount() / 10000;
  428. rbKind.setAmount(String.valueOf(num));
  429. kindList.add(rbKind);
  430. }
  431. if ("D3".equals(kindcode)) {
  432. rbKind.setKindCode("051052");
  433. rbKind.setKindName("车上人员责任险(司机)");
  434. rbKind.setAmount(String.valueOf(kindInfoVo.getAmount()));
  435. kindList.add(rbKind);
  436. }
  437. if ("D4".equals(kindcode)) {
  438. rbKind.setKindCode("051053");
  439. rbKind.setKindName("车上人员责任险(乘客)");
  440. rbKind.setAmount(String.valueOf(kindInfoVo.getAmount()));
  441. kindList.add(rbKind);
  442. }
  443. }
  444. rbQuoteInfo.setKindList(kindList);
  445. rbQuoteInfo.setBrandName(quoteInfo.getCarInfo().getBrandName());
  446. rbQuoteInfo.setVehicleMaker(quoteInfo.getCarInfo().getFactoryid());
  447. rbQuoteInfo.setModelCode(quoteInfo.getCarInfo().getModelCode());
  448. rbQuoteInfo.setSeatCount(quoteInfo.getCarInfo().getSeatCount());
  449. RbValueVo rbValueVo = new RbValueVo();
  450. rbValueVo.setApprovedPassengersCapacity(quoteInfo.getCarInfo().getSeatCount());
  451. rbValueVo.setPurchasePrice(quoteInfo.getCarInfo().getPurchasePrice());
  452. rbValueVo.setRegisterDate(quoteInfo.getCarInfo().getRegisterDate());
  453. rbValueVo.setValidDate(rbQuoteInfo.getStartDate());
  454. HttpResult result = actualValue(rbValueVo);
  455. rbQuoteInfo.setActualValue(String.valueOf(result.getData()));
  456. rbQuoteInfo.setPurchasePrice(quoteInfo.getCarInfo().getPurchasePrice());
  457. String enginedesc = quoteInfo.getCarInfo().getEnginedesc().replace("T", "");
  458. enginedesc = enginedesc.replace("L", "");
  459. rbQuoteInfo.setExhaustScale(enginedesc);
  460. rbQuoteInfo.setCompleteKerbMass(quoteInfo.getCarInfo().getCompleteKerbMass());
  461. return rbQuoteInfo;
  462. }
  463. }