ChinaCoalInterface.java 69 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623
  1. package com.ydtech.modules.nai.controller;
  2. import com.alibaba.fastjson.JSON;
  3. import com.alibaba.fastjson.JSONArray;
  4. import com.alibaba.fastjson.JSONObject;
  5. import com.ydtech.core.page.HttpResult;
  6. import com.ydtech.modules.admin.model.SysDept;
  7. import com.ydtech.modules.admin.model.SysUser;
  8. import com.ydtech.modules.admin.service.SysDeptService;
  9. import com.ydtech.modules.admin.service.SysUserService;
  10. import com.ydtech.modules.esm.model.*;
  11. import com.ydtech.modules.esm.service.*;
  12. import com.ydtech.modules.ins.model.*;
  13. import com.ydtech.modules.ins.service.*;
  14. import com.ydtech.modules.ins.model.vo.KindInfoVo;
  15. import com.ydtech.modules.ins.model.vo.QuoteKindRespVo;
  16. import com.ydtech.modules.ins.model.vo.QuoteRespVo;
  17. import com.ydtech.modules.ins.model.vo.QuoteRiskRespVo;
  18. import com.ydtech.modules.nai.httpvo.*;
  19. import com.ydtech.utils.HttpsPostUtil;
  20. import com.ydtech.utils.idgen.IdGenerate;
  21. import io.swagger.annotations.Api;
  22. import org.slf4j.Logger;
  23. import org.slf4j.LoggerFactory;
  24. import org.springframework.beans.factory.annotation.Autowired;
  25. import org.springframework.core.env.Environment;
  26. import org.springframework.util.StringUtils;
  27. import org.springframework.web.bind.annotation.*;
  28. import javax.servlet.http.HttpServletRequest;
  29. import java.math.BigDecimal;
  30. import java.text.ParseException;
  31. import java.text.SimpleDateFormat;
  32. import java.util.*;
  33. /**
  34. * @ClassName ChinaCoalInterface
  35. * @Description: TODO
  36. * @Author
  37. * @Date 2021/5/25
  38. **/
  39. @RestController
  40. @RequestMapping("zm")
  41. @Api(tags = "中煤API对接")
  42. public class ChinaCoalInterface {
  43. private static final Logger logger = LoggerFactory.getLogger(ChinaCoalInterface.class);
  44. @Autowired
  45. private InsTaskImageService InsTaskImageService;
  46. @Autowired
  47. Environment environment;
  48. @Autowired
  49. RenbaoService renbaoService;
  50. @Autowired
  51. InsOrderService insOrderService;
  52. @Autowired
  53. SysUserService sysUserService;
  54. @Autowired
  55. SysDeptService sysDeptService;
  56. @Autowired
  57. EsmAgreementService esmAgreementService;
  58. @Autowired
  59. EsmAgreementProdService esmAgreementProdService;
  60. @Autowired
  61. EsmRetailService esmRetailService;
  62. @Autowired
  63. EsmUserInternalService esmUserInternalService;
  64. @Autowired
  65. InsOrderTaskService insOrderTaskService;
  66. @Autowired
  67. InsTaskHistoryService insTaskHistoryService;
  68. @Autowired
  69. private InsFileLogService insFileLogService;
  70. @Autowired
  71. InsFeeDetailService insFeeDetailService;
  72. @Autowired
  73. EsmAgreementProdfeeService esmAgreementProdfeeService;
  74. @Autowired
  75. InsDeptFeeService insDeptFeeService;
  76. @Autowired
  77. InsCommissionService insCommissionService;
  78. /**
  79. * 车型查询接口
  80. *
  81. * @param record
  82. * @param request
  83. * @return
  84. */
  85. @PostMapping(value = "/ModelsQuery")
  86. public HttpResult ModelsQuery(@RequestBody ModelsQueryHeadVO record, HttpServletRequest request) {
  87. List<SimpleStadarCarVO> list = null;
  88. //获取请求方法名称
  89. String file = request.getRequestURI();
  90. String method = file.substring(file.lastIndexOf("/") + 1);
  91. //获取请求地址
  92. String zmUrl = environment.getProperty("ZMUrl");
  93. String url = zmUrl + method + ".do";
  94. logger.info("请求地址为:" + url);
  95. record.setModelName(record.getModelName());
  96. HeadVO head = head(method);
  97. head.setToken(environment.getProperty("ZMToken"));
  98. record.setHead(head);
  99. String json = JSON.toJSONString(record);
  100. logger.info("请求参数为:" + json);
  101. String post = HttpsPostUtil.sendPost(url, json);
  102. if (!StringUtils.isEmpty(post)) {
  103. JSONObject jsonObject = null;
  104. jsonObject = JSONObject.parseObject(post);
  105. Map<String, Object> map = jsonObject;
  106. String simpleStadarCar = map.get("simpleStadarCar").toString();
  107. list = JSONObject.parseArray(simpleStadarCar, SimpleStadarCarVO.class);
  108. logger.info("======车型查询接口返回为===============" + list);
  109. }
  110. return HttpResult.ok(list);
  111. }
  112. /**
  113. * 续保查询接口
  114. *
  115. * @param record
  116. * @param request
  117. * @return
  118. */
  119. @PostMapping(value = "/RenewalQuery")
  120. public HttpResult RenewalQuery(@RequestBody RenewalQueryHeadVO record, HttpServletRequest request) {
  121. //获取请求方法名称
  122. String file = request.getRequestURI();
  123. String method = file.substring(file.lastIndexOf("/") + 1);
  124. logger.info("最后一个/后的数据为:" + method);
  125. //获取请求地址
  126. String zmUrl = environment.getProperty("ZMUrl");
  127. logger.info("获取自定义属性路径为:" + environment.getProperty("ZMUrl"));
  128. String url = zmUrl + method + ".do";
  129. record.setProvince("140000");
  130. HeadVO head = head(method);
  131. head.setToken(environment.getProperty("ZMToken"));
  132. record.setHead(head);
  133. String json = JSON.toJSONString(record);
  134. logger.info("请求参数为:" + json);
  135. String post = HttpsPostUtil.sendPost(url, json);
  136. logger.info("==========续保查询接口返回===========" + post);
  137. return HttpResult.ok(post);
  138. }
  139. /**
  140. * 报价
  141. *
  142. * @param record
  143. * @param request
  144. * @return
  145. */
  146. @PostMapping(value = "/QuotedPrice")
  147. public HttpResult QuotedPrice(@RequestBody OfferVO record, HttpServletRequest request) {
  148. //获取请求方法名称
  149. String s1 = JSONObject.toJSONString(record);
  150. logger.info("中煤报价接口QuotedPrice请求参数为" + s1);
  151. SimpleDateFormat sdfm = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
  152. SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
  153. HttpResult httpResult = new HttpResult();
  154. QuotedPriceHeadVO recordHeadVO = new QuotedPriceHeadVO();
  155. PolicyLocationVO policyLocationVO = new PolicyLocationVO();
  156. BusinessDataVO businessDataVO = new BusinessDataVO();
  157. SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
  158. Date date = null;
  159. String file = request.getRequestURI();
  160. String method = file.substring(file.lastIndexOf("/") + 1);
  161. //获取请求地址
  162. String zmUrl = environment.getProperty("ZMUrl");
  163. String url = zmUrl + method + ".do";
  164. logger.info("请求地址为:" + url);
  165. policyLocationVO.setCity("140400");
  166. policyLocationVO.setDistrict("140431");
  167. policyLocationVO.setProvince("140000");
  168. //参数组装
  169. ZMCarInfoVO carInfo = record.getCarInfo();
  170. List<ZMRiskListVO> riskList = record.getRiskList();
  171. PolicyCarVO policyCar = new PolicyCarVO();
  172. SimpleStadarCarVO simpleStadarCarVO = new SimpleStadarCarVO();
  173. InsuredObjectVO insuredObjectVO = new InsuredObjectVO();
  174. ModelsQueryHeadVO records = new ModelsQueryHeadVO();
  175. HeadVO shead = head("ModelsQuery");
  176. records.setModelCode(carInfo.getLocalModelCode());
  177. records.setModelName(carInfo.getBrandName());
  178. records.setHead(shead);
  179. String json = JSON.toJSONString(records);
  180. logger.info("请求参数为:" + json);
  181. logger.info("车型查询接口请求地址" + url);
  182. String post = HttpsPostUtil.sendPost(url, json);
  183. logger.info("车型查询接口返回为" + post);
  184. String sumPremium = null;
  185. String bizPremium = null;
  186. String coverageList = null;
  187. String renewal;
  188. if (!StringUtils.isEmpty(post)) {
  189. JSONObject jsonObject = null;
  190. jsonObject = JSONObject.parseObject(post);
  191. Map<String, Object> map = jsonObject;
  192. String simpleStadarCar = map.get("simpleStadarCar").toString();
  193. List<SimpleStadarCarVO> s = JSONObject.parseArray(simpleStadarCar, SimpleStadarCarVO.class);
  194. for (int i = 0; i < s.size(); i++) {
  195. simpleStadarCarVO.setLocalModelCode(s.get(i).getLocalModelCode());
  196. simpleStadarCarVO.setModelCode(s.get(i).getModelCode());
  197. simpleStadarCarVO.setApprovedLoad(s.get(i).getApprovedLoad());
  198. simpleStadarCarVO.setApprovedPassengersCapacity(s.get(i).getApprovedPassengersCapacity());//参数转换
  199. simpleStadarCarVO.setDisplacement(s.get(i).getDisplacement());//类型转换
  200. simpleStadarCarVO.setOriginalPurchasePrice(s.get(i).getOriginalPurchasePrice());//类型
  201. simpleStadarCarVO.setEnergyTypes(s.get(i).getEnergyTypes());
  202. simpleStadarCarVO.setBrand(s.get(i).getBrand());
  203. simpleStadarCarVO.setBrandCode(s.get(i).getBrandCode()); //
  204. simpleStadarCarVO.setSeries(s.get(i).getSeries());
  205. simpleStadarCarVO.setSeriesCode(s.get(i).getSeriesCode());//
  206. simpleStadarCarVO.setPower(s.get(i).getPower());//车牌号
  207. simpleStadarCarVO.setUnladenMass(s.get(i).getUnladenMass());//类型转换
  208. simpleStadarCarVO.setGrossMass(s.get(i).getGrossMass());//
  209. simpleStadarCarVO.setTractionMass(s.get(i).getTractionMass());//
  210. simpleStadarCarVO.setPurchasePrice(s.get(i).getPurchasePrice());
  211. }
  212. }
  213. //policyCar组装
  214. policyCar.setEngine(carInfo.getEngineNo());
  215. policyCar.setNewCarSign(carInfo.getNoLicenseFlag());
  216. policyCar.setPlateNo(carInfo.getLicenseNo());
  217. policyCar.setVIN(carInfo.getVinNo());
  218. policyCar.setEcdemicVehicleFlag(false);
  219. if (!Integer.toString(carInfo.getTransferFlag()).equals("")) {
  220. int transferFlag = carInfo.getTransferFlag();
  221. if (transferFlag == 1) {
  222. policyCar.setChgOwnerFlag("01");
  223. String transferDate = format.format(carInfo.getTransferDate()) + " 00:00:00";
  224. policyCar.setTransferDate(transferDate);
  225. } else {
  226. policyCar.setChgOwnerFlag(Integer.toString(carInfo.getTransferFlag()));
  227. }
  228. } else {
  229. policyCar.setChgOwnerFlag(Integer.toString(carInfo.getTransferFlag()));
  230. }
  231. String a = format.format(carInfo.getRegisterDate()) + " 00:00:00";
  232. policyCar.setRegisterDate(a);
  233. String c = format.format(carInfo.getIssueDate()) + " 00:00:00";
  234. policyCar.setIssueDate(c);//carInfo.getIssueDate()时间类型
  235. policyCar.setPlateType(carInfo.getLicenseTypeCode());
  236. policyCar.setCarUseType(carInfo.getCarnature());
  237. policyCar.setPlateColorCode("01");
  238. policyCar.setCarCheckStatus("2");
  239. //simpleStadarCar组装
  240. insuredObjectVO.setPolicyCar(policyCar);
  241. List list = new ArrayList();
  242. insuredObjectVO.setSimpleStadarCar(simpleStadarCarVO);
  243. CustomerVO customerVO = new CustomerVO();
  244. ZMOwnerInfoVO zmOwnerInfoVO = record.getOwnerInfo();
  245. ZMInsuredPersonInfoVO insuredPersonInfo = record.getInsuredPersonInfo();
  246. ZMPolicyHolderInfoVO policyHolderInfo = record.getPolicyHolderInfo();
  247. Map<String, String> map = new HashMap<String, String>();
  248. Map<String, String> map1 = new HashMap<String, String>();
  249. Map<String, String> map2 = new HashMap<String, String>();
  250. int quantity = 0;
  251. if (zmOwnerInfoVO != null) {
  252. map.put("name", zmOwnerInfoVO.getName());
  253. map.put("identifyType", zmOwnerInfoVO.getIdentifyType());
  254. map.put("mobile", zmOwnerInfoVO.getMobile());
  255. map.put("identifyNumber", zmOwnerInfoVO.getIdentifyNumber());
  256. map.put("addr", zmOwnerInfoVO.getAddr());
  257. map.put("role", "3");
  258. map.put("invocieType", "026");
  259. list.add(map);
  260. }
  261. if (policyHolderInfo != null) {
  262. map1.put("name", policyHolderInfo.getName());
  263. map1.put("identifyType", policyHolderInfo.getIdentifyType());
  264. map1.put("mobile", policyHolderInfo.getMobile());
  265. map1.put("identifyNumber", policyHolderInfo.getIdentifyNumber());
  266. map1.put("addr", policyHolderInfo.getAddr());
  267. map1.put("role", "1");
  268. map1.put("invocieType", "026");
  269. map1.put("identifyValidDate", "2008/1/1 00:00:00");
  270. map1.put("identifyValidEndDate", "2038/12/31 23:59:59");
  271. list.add(map1);
  272. }
  273. if (insuredPersonInfo != null) {
  274. map2.put("name", insuredPersonInfo.getName());
  275. map2.put("identifyType", insuredPersonInfo.getIdentifyType());
  276. map2.put("mobile", insuredPersonInfo.getMobile());
  277. map2.put("identifyNumber", insuredPersonInfo.getIdentifyNumber());
  278. map2.put("addr", insuredPersonInfo.getAddr());
  279. map2.put("role", "2");
  280. map2.put("invocieType", "026");
  281. list.add(map2);
  282. }
  283. InsOrder insOrder = new InsOrder();
  284. String orderno = IdGenerate.nextId();
  285. insOrder.setOrderno(orderno);
  286. insOrder.setQuoteno(String.valueOf(record.getQuoteno()));
  287. insOrder.setOrderstatus("0"); //0报价 1待核保 2已核保待缴费 3核保退回 4核保不通过
  288. insOrder.setFrameNo(record.getCarInfo().getFrameNo());
  289. insOrder.setLicenseNo(record.getCarInfo().getLicenseNo());
  290. insOrder.setCarinfo(JSONObject.parseObject(JSONObject.toJSONString(record.getCarInfo())));
  291. SysUser user = sysUserService.getById(record.getUserId());
  292. if (user == null) {
  293. httpResult.setMsg("userId不存在");
  294. return httpResult;
  295. }
  296. //
  297. if (org.springframework.util.StringUtils.isEmpty(record.getCarInfo().getFrameNo())) {
  298. httpResult.setMsg("车架号不能为空");
  299. return httpResult;
  300. }
  301. // 关闭订单 不含当前报价号
  302. InsOrder orderObj = insOrderService.queryQuoteno(new Object[]{record.getUserId(), record.getCarInfo().getFrameNo(), record.getQuoteno()});
  303. if (orderObj != null) {
  304. List<InsOrder> listo = insOrderService.selectList(" where quoteno=?", new Object[]{orderObj.getQuoteno()});
  305. String status = "0";
  306. for (InsOrder order : listo) {
  307. if (!"0".equals(order.getOrderstatus())) {
  308. status = order.getOrderstatus();
  309. }
  310. }
  311. //0报价中 1待核保 2已核保 3核保退回 4核保不通过 5已核保待缴费 6已缴费 7已承保 99已关闭
  312. if ("0".equals(status)) {//关闭订单
  313. insOrderService.closeOrder(orderObj.getOrderno(), "99");
  314. } else if (!"99".equals(status)) {
  315. httpResult.setMsg("此车辆已提交核保,重新报价请先关闭订单,任务号:" + orderObj.getQuoteno());
  316. return httpResult;
  317. }
  318. }
  319. insOrder.setUsername(user.getName());
  320. insOrder.setDeptid(user.getDeptId());
  321. SysDept dept = sysDeptService.getById(user.getDeptId());
  322. insOrder.setDeptname(dept == null ? "" : dept.getName());
  323. double retailRate = countRetail(user.getDeptId(), user.getId());
  324. insOrder.setOwnerinfo(JSONObject.parseObject(JSONObject.toJSONString(record.getOwnerInfo())));
  325. insOrder.setApplyinfo(JSONObject.parseObject(JSONObject.toJSONString(record.getPolicyHolderInfo())));
  326. insOrder.setInsureinfo(JSONObject.parseObject(JSONObject.toJSONString(record.getInsuredPersonInfo())));
  327. insOrder.setInsuredname(record.getPolicyHolderInfo().getName());
  328. Map map4 = new HashMap();
  329. List lists = new ArrayList();
  330. List listt = new ArrayList();
  331. List list2 = new ArrayList();
  332. List list6 = new ArrayList();
  333. String startDate0510 = null;
  334. String endDate0510 = null;
  335. String endDate0507 = null;
  336. String startDate0507 = null;
  337. double unitAmounts = 0;
  338. for (int i = 0; i < riskList.size(); i++) {
  339. ContractVO contractVOx = new ContractVO();
  340. if (riskList.get(i).getRiskCode().equals("0510")) {
  341. List<KindInfoVo> kindList = record.getKindList();
  342. for (int j = 0; j < kindList.size(); j++) {
  343. KindInfoVo kindInfoVo = kindList.get(j);
  344. String deductibleRate = kindInfoVo.getDeductibleRate();
  345. BigDecimal setScale = null;
  346. if (deductibleRate != null) {
  347. BigDecimal b1 = new BigDecimal(Double.parseDouble(deductibleRate));
  348. BigDecimal b2 = b1.divide(new BigDecimal(-1d));
  349. setScale = b2.setScale(4, 4);
  350. }
  351. //第三者责任险
  352. if (kindList.get(j).getKindCode().equals("B")) {
  353. Map mapsv = new HashMap();
  354. mapsv.put("amount", (int) kindList.get(j).getAmount());
  355. mapsv.put("unitAmount", 0);
  356. mapsv.put("deductibleRate", setScale);
  357. mapsv.put("deductible", "0.0");
  358. mapsv.put("relatedInd", "1");
  359. mapsv.put("kindCode", "02");
  360. mapsv.put("kindName", kindList.get(j).getKindName());
  361. lists.add(mapsv);
  362. }
  363. //乘客责任险
  364. if (kindList.get(j).getKindCode().equals("D4")) {
  365. Map mapsq = new HashMap();
  366. mapsq.put("amount", (int) kindList.get(j).getUnitAmount() * (simpleStadarCarVO.getApprovedPassengersCapacity() - 1));
  367. unitAmounts = kindList.get(j).getUnitAmount();
  368. mapsq.put("unitAmount", kindList.get(j).getUnitAmount());
  369. mapsq.put("deductibleRate", setScale);
  370. quantity = simpleStadarCarVO.getApprovedPassengersCapacity();
  371. mapsq.put("quantity", simpleStadarCarVO.getApprovedPassengersCapacity() - 1);
  372. mapsq.put("relatedInd", "1");
  373. mapsq.put("kindCode", "044");
  374. mapsq.put("kindName", kindList.get(j).getKindName());
  375. lists.add(mapsq);
  376. }
  377. //机动车损失险
  378. if (kindList.get(j).getKindCode().equals("A")) {
  379. Map mapsa = new HashMap();
  380. mapsa.put("amount", 0);
  381. mapsa.put("unitAmount", 0);
  382. mapsa.put("deductibleRate", setScale);
  383. mapsa.put("deductible", "0.0");
  384. mapsa.put("relatedInd", "1");
  385. mapsa.put("kindCode", "01");
  386. mapsa.put("kindName", kindList.get(j).getKindName());
  387. lists.add(mapsa);
  388. }
  389. //司机责任险
  390. if (kindList.get(j).getKindCode().equals("D3")) {
  391. Map mapsd = new HashMap();
  392. mapsd.put("amount", (int) kindList.get(j).getAmount());
  393. mapsd.put("unitAmount", kindList.get(j).getAmount());
  394. mapsd.put("deductibleRate", setScale);
  395. mapsd.put("quantity", "1");
  396. mapsd.put("deductible", "0.0");
  397. mapsd.put("relatedInd", "1");
  398. mapsd.put("kindCode", "041");
  399. mapsd.put("kindName", kindList.get(j).getKindName());
  400. lists.add(mapsd);
  401. }
  402. if (kindList.get(j).getKindCode().equals("MJ1")) {
  403. Map mapsd = new HashMap();
  404. mapsd.put("amount", (int) kindList.get(j).getAmount());
  405. mapsd.put("unitAmount", kindList.get(j).getAmount());
  406. mapsd.put("deductibleRate", setScale);
  407. mapsd.put("quantity", "1");
  408. mapsd.put("deductible", "0.0");
  409. mapsd.put("relatedInd", "1");
  410. //附加绝对免赔率特约条款(车损)
  411. mapsd.put("kindCode", "501");
  412. mapsd.put("kindName", kindList.get(j).getKindName());
  413. mapsd.put("deductibleRate", setScale);
  414. lists.add(mapsd);
  415. }
  416. if (kindList.get(j).getKindCode().equals("MJ2")) {
  417. Map mapsd = new HashMap();
  418. mapsd.put("amount", (int) kindList.get(j).getAmount());
  419. mapsd.put("unitAmount", kindList.get(j).getAmount());
  420. mapsd.put("deductibleRate", setScale);
  421. mapsd.put("quantity", "1");
  422. mapsd.put("deductible", "0.0");
  423. mapsd.put("relatedInd", "1");
  424. mapsd.put("kindCode", "502");
  425. mapsd.put("kindName", kindList.get(j).getKindName());
  426. mapsd.put("deductibleRate", setScale);
  427. lists.add(mapsd);
  428. }
  429. if (kindList.get(j).getKindCode().equals("MJ3")) {
  430. Map mapsd = new HashMap();
  431. mapsd.put("amount", (int) kindList.get(j).getAmount());
  432. mapsd.put("unitAmount", kindList.get(j).getAmount());
  433. mapsd.put("deductibleRate", setScale);
  434. mapsd.put("quantity", "1");
  435. mapsd.put("deductible", "0.0");
  436. mapsd.put("relatedInd", "1");
  437. mapsd.put("kindCode", "5041");
  438. mapsd.put("kindName", kindList.get(j).getKindName());
  439. mapsd.put("deductibleRate", setScale);
  440. lists.add(mapsd);
  441. }
  442. if (kindList.get(j).getKindCode().equals("MJ4")) {
  443. Map mapsd = new HashMap();
  444. mapsd.put("amount", (int) kindList.get(j).getAmount());
  445. mapsd.put("unitAmount", kindList.get(j).getAmount());
  446. mapsd.put("deductibleRate", setScale);
  447. mapsd.put("quantity", "1");
  448. mapsd.put("deductible", "0.0");
  449. mapsd.put("relatedInd", "1");
  450. mapsd.put("deductibleRate", setScale);
  451. mapsd.put("kindCode", "5044");
  452. mapsd.put("kindName", kindList.get(j).getKindName());
  453. lists.add(mapsd);
  454. }
  455. if (kindList.get(j).getKindCode().equals("L")) {
  456. Map mapsd = new HashMap();
  457. mapsd.put("amount", (int) kindList.get(j).getAmount());
  458. mapsd.put("unitAmount", kindList.get(j).getAmount());
  459. mapsd.put("deductibleRate", setScale);
  460. mapsd.put("quantity", "1");
  461. mapsd.put("deductible", "0.0");
  462. mapsd.put("relatedInd", "1");
  463. mapsd.put("deductibleRate", setScale);
  464. mapsd.put("kindCode", "21");
  465. mapsd.put("kindName", kindList.get(j).getKindName());
  466. lists.add(mapsd);
  467. }
  468. if (kindList.get(j).getKindCode().equals("BD")) {
  469. Map mapsd = new HashMap();
  470. mapsd.put("amount", (int) kindList.get(j).getAmount());
  471. mapsd.put("unitAmount", kindList.get(j).getAmount());
  472. mapsd.put("deductibleRate", setScale);
  473. mapsd.put("quantity", "1");
  474. mapsd.put("deductible", "0.0");
  475. mapsd.put("relatedInd", "1");
  476. mapsd.put("deductibleRate", setScale);
  477. mapsd.put("kindCode", "49");
  478. mapsd.put("kindName", kindList.get(j).getKindName());
  479. lists.add(mapsd);
  480. }
  481. }
  482. ContractMainVO me = new ContractMainVO();
  483. try {
  484. String endDate = riskList.get(i).getEndDate() + ":00";
  485. String sdate = "00:00";
  486. String substring = endDate.substring(endDate.length() - 5);
  487. if (sdate.equals(substring)) {
  488. date = format.parse(riskList.get(i).getEndDate() + ":00");
  489. date.setTime(date.getTime() - 1000 + +1000 * 60 * 60 * 24 * 1);
  490. } else {
  491. date = format.parse(riskList.get(i).getEndDate() + ":00");
  492. map4.put("ReinsuranceFlag", "1");
  493. }
  494. } catch (ParseException e) {
  495. e.printStackTrace();
  496. }
  497. me.setExpiryDate(df.format(date));
  498. me.setRiskCode("0361");
  499. startDate0510 = riskList.get(i).getStartDate() + ":00".toString();
  500. endDate0510 = riskList.get(i).getEndDate() + ":00".toString();
  501. me.setValidDate(riskList.get(i).getStartDate() + ":00".toString());
  502. map4.put("expiryDate", df.format(date));
  503. map4.put("riskCode", "0361");
  504. map4.put("validDate", riskList.get(i).getStartDate() + ":00");
  505. list2.add(map4);
  506. contractVOx.setContractMain(me);
  507. contractVOx.setCoverage(lists);
  508. }
  509. if (riskList.get(i).getRiskCode().equals("0507")) {
  510. ContractMainVO me = new ContractMainVO();
  511. try {
  512. date = format.parse(riskList.get(i).getEndDate() + ":00");
  513. } catch (ParseException e) {
  514. e.printStackTrace();
  515. }
  516. startDate0507 = riskList.get(i).getStartDate() + ":00";
  517. endDate0507 = riskList.get(i).getEndDate() + ":00";
  518. date.setTime(date.getTime() - 1000 + 1000 * 60 * 60 * 24 * 1);
  519. me.setExpiryDate(df.format(date));
  520. me.setRiskCode("0330");
  521. String startDate = riskList.get(i).getStartDate() + ":00";
  522. String endDate = riskList.get(i).getEndDate() + ":00";
  523. me.setValidDate(riskList.get(i).getStartDate() + ":00");
  524. Map mapwe = new HashMap();
  525. mapwe.put("amount", 2000);
  526. mapwe.put("kindCode", "BZ");
  527. mapwe.put("kindName", "机动车交通事故责任强制险");
  528. listt.add(mapwe);
  529. contractVOx.setCoverage(listt);
  530. contractVOx.setContractMain(me);
  531. }
  532. list6.add(contractVOx);
  533. }
  534. customerVO.setMobile(insuredPersonInfo.getMobile());
  535. customerVO.setName(insuredPersonInfo.getName());
  536. customerVO.setInsuredType(026);
  537. customerVO.setRole("3");
  538. insOrder.setInsuredname(record.getPolicyHolderInfo().getName());
  539. HeadVO heads = head(method);
  540. businessDataVO.setCustomer(list);
  541. businessDataVO.setInsuredObject(insuredObjectVO);
  542. businessDataVO.setPolicyLocation(policyLocationVO);
  543. businessDataVO.setContract(list6);
  544. recordHeadVO.setHead(heads);
  545. recordHeadVO.setBusinessData(businessDataVO);
  546. String json1 = JSON.toJSONString(recordHeadVO);
  547. logger.info("报价接口请求参数为:" + json1);
  548. String posts = HttpsPostUtil.sendPost(url, json1);
  549. logger.info("报价接口返回参数为:" + posts);
  550. HeadMessage headMessage = null;
  551. String returnMessage = null;
  552. String returnCode = null;
  553. if (posts != null && !posts.equals("")) {
  554. headMessage = HttpsPostUtil.HeadMessage(posts);
  555. returnMessage = headMessage.getReturnMessage();
  556. returnCode = headMessage.getReturnCode();
  557. }
  558. Double Vehicle = null;
  559. //保存订单信息
  560. if (returnCode != null && returnCode.equals("0")) {
  561. List<ZMRiskListVO> risks = record.getRiskList();
  562. for (ZMRiskListVO risk : risks) {
  563. if ("0507".equals(risk.getRiskCode())) {//交强
  564. insOrder.setJqstartdate(risk.getStartDate());
  565. insOrder.setJqenddate(risk.getEndDate());
  566. }
  567. if ("0510".equals(risk.getRiskCode())) {//商业
  568. insOrder.setSystartdate(risk.getStartDate());
  569. insOrder.setSyenddate(risk.getEndDate());
  570. }
  571. }
  572. // insOrder.setJqstartdate("");
  573. // insOrder.setJqenddate("");
  574. // insOrder.setSystartdate("");
  575. // insOrder.setSyenddate("");
  576. // ZG01001 单交强
  577. // ZG01002 单三者
  578. // ZG01003 单商业
  579. // ZG01004 交强+三者 交强+三者 (交强的费用)
  580. // ZG01005 交强+三者 交强+三者(三者的费用)
  581. // ZG01006 交强+商业 交强+商业(交强的费用)
  582. // ZG01007 交强+商业 交强+商业(商业的费用)
  583. List<KindInfoVo> kinds = record.getKindList();
  584. String productId = "";
  585. String productname = "";
  586. List<EsmAgreement> agreements = esmAgreementService.selectList(" where t.agreestatus='1' and t.insure1 like ? " +
  587. "and exists (select 1 from esm_agreement_prod t2 where t.id=t2.agreeid and t2.authcomcode like ?)", new Object[]{"000019%", "%" + user.getDeptId() + "%"});
  588. if (agreements.size() == 0) {
  589. httpResult.setMsg("不存在有效协议或机构" + user.getDeptId() + "未授权");
  590. return httpResult;
  591. }
  592. String agreeid = agreements.get(0).getId();
  593. insOrder.setAgreeid(agreeid);
  594. //匹配协议,获取费用
  595. StringBuffer whereStr = new StringBuffer();
  596. List params = new ArrayList();// where t.agreeid=? and t.productid in ()
  597. whereStr.append("where t.agreeid=? ");
  598. params.add(agreeid);
  599. if (risks.size() == 1 && "0507".equals(risks.get(0).getRiskCode())) {
  600. productId = "ZG01001";
  601. productname = "单交强";
  602. whereStr.append(" and t.productid=?");
  603. params.add(productId);
  604. } else if (risks.size() == 1 && kinds.size() == 1 && "B".equals(kinds.get(0).getKindCode())) {
  605. productId = "ZG01002";
  606. productname = "单三者";
  607. whereStr.append(" and t.productid=?");
  608. params.add(productId);
  609. } else if (risks.size() == 1) {
  610. productId = "ZG01003";
  611. productname = "单商业";
  612. whereStr.append(" and t.productid=?");
  613. params.add(productId);
  614. } else if (risks.size() == 2 && kinds.size() == 1 && "B".equals(kinds.get(0).getKindCode())) {
  615. productId = "ZG01004";
  616. productname = "交强+三者";
  617. whereStr.append(" and t.productid in (?,?)");
  618. params.add("ZG01004");
  619. params.add("ZG01005");
  620. } else {
  621. productId = "ZG01006";
  622. productname = "交强+商业";
  623. whereStr.append(" and t.productid in (?,?)");
  624. params.add("ZG01006");
  625. params.add("ZG01007");
  626. }
  627. insOrder.setProductid(productId);
  628. insOrder.setProduct(productname);
  629. List<EsmAgreementProd> agreementProds = esmAgreementProdService.selectList(whereStr.toString(), params.toArray());
  630. for (EsmAgreementProd prod : agreementProds) {
  631. if ("ZG01001".equals(prod.getProductid()) || "ZG01004".equals(prod.getProductid()) || "ZG01006".equals(prod.getProductid())) {
  632. insOrder.setFeerate(prod.getProductrate());//交强手续费比例
  633. insOrder.setJqdiscountrate(prod.getFeerate() - retailRate); //交强优惠比例=业务员绩效-分销费用
  634. } else {
  635. insOrder.setDisrate(prod.getProductrate()); //商业手续费比例
  636. insOrder.setSydiscountrate(prod.getFeerate() - retailRate); //商业优惠比例=业务员绩效-分销费用
  637. }
  638. insOrder.setProductid(prod.getId());
  639. }
  640. insOrder.setRiskinfo(JSONObject.parseArray(JSONObject.toJSONString(record.getRiskList())));
  641. insOrder.setKindinfo(JSONObject.parseArray(JSONObject.toJSONString(record.getKindList())));
  642. insOrder.setInscompany("中煤财险");
  643. insOrder.setCreatetime(sdfm.format(new Date()));
  644. List<QuoteKindRespVo> quoteKindRespVos = new ArrayList<>();
  645. QuoteRespVo quoteRespVo = new QuoteRespVo();
  646. QuoteRiskRespVo riskLists = new QuoteRiskRespVo();
  647. QuoteKindRespVo kindList = new QuoteKindRespVo();
  648. JSONObject jsonObject = JSONObject.parseObject(posts);
  649. Map<String, Object> maps = jsonObject;
  650. String payTax = null;
  651. String sumPayTax = null;
  652. String taxinfo = null;
  653. Object s = maps.get("taxinfo");
  654. if (s != null) {
  655. taxinfo = maps.get("taxinfo").toString();
  656. }
  657. if (taxinfo != null) {
  658. jsonObject = JSONObject.parseObject(taxinfo);
  659. Map<String, Object> mapssx = jsonObject;
  660. sumPayTax = mapssx.get("sumPayTax").toString();
  661. if (!StringUtils.isEmpty(mapssx.get("payTax").toString())) {
  662. payTax = mapssx.get("payTax").toString();
  663. }
  664. }
  665. Object t = maps.get("bizPremium");
  666. if (t != null) {
  667. bizPremium = maps.get("bizPremium").toString();
  668. }
  669. if (bizPremium != null) {
  670. jsonObject = JSONObject.parseObject(bizPremium);
  671. Map<String, Object> mapsss = jsonObject;
  672. sumPremium = mapsss.get("sumPremium").toString();
  673. jsonObject = JSONObject.parseObject(bizPremium);
  674. Map<String, Object> mapssss = jsonObject;
  675. coverageList = mapssss.get("coverageList").toString();
  676. // renewal = mapssss.get("isRenewal").toString();
  677. riskLists.setPremium(Double.parseDouble(sumPremium));
  678. }
  679. String forcePrimium = null;
  680. Object z = maps.get("forcePrimium");
  681. String premium = null;
  682. String amount = null;
  683. if (z != null) {
  684. forcePrimium = maps.get("forcePrimium").toString();
  685. jsonObject = JSONObject.parseObject(forcePrimium);
  686. Map<String, Object> mapsx = jsonObject;
  687. premium = mapsx.get("premium").toString();
  688. Vehicle = Double.parseDouble(premium);
  689. amount = mapsx.get("amount").toString();
  690. }
  691. List listz = new ArrayList();
  692. JSONArray jsonArraysss;
  693. quoteKindRespVos.add(kindList);
  694. if (sumPayTax != null) {
  695. quoteRespVo.setTaxAmount(Double.parseDouble(sumPayTax));
  696. }
  697. if (premium != null) {
  698. kindList.setCoveragePremium(Double.parseDouble(premium));
  699. }
  700. quoteRespVo.setKindList(quoteKindRespVos);
  701. List<QuoteRiskRespVo> riskList1 = new ArrayList<>();
  702. QuoteRiskRespVo risk = new QuoteRiskRespVo();
  703. if (forcePrimium != null) {
  704. risk.setRiskCode("0507");
  705. risk.setRiskName("机动车交通事故责任强制保险");
  706. risk.setPremium(Double.parseDouble(premium));
  707. Double premium2 = Double.parseDouble(premium);
  708. risk.setAmount(Double.parseDouble(amount));
  709. risk.setStartDate(startDate0507);
  710. risk.setEndDate(endDate0507);
  711. riskList1.add(risk);
  712. }
  713. double syPremium = 0;
  714. if (bizPremium != null && !bizPremium.equals("")) {
  715. risk = new QuoteRiskRespVo();
  716. risk.setRiskCode("0510");
  717. risk.setRiskName("机动车商业保险");
  718. BigDecimal bd = new BigDecimal(sumPremium);
  719. bd = bd.setScale(2, BigDecimal.ROUND_HALF_UP);
  720. syPremium = bd.doubleValue();
  721. risk.setPremium(syPremium);
  722. risk.setStartDate(startDate0510);
  723. risk.setEndDate(endDate0510);
  724. riskList1.add(risk);
  725. }
  726. List<QuoteKindRespVo> kindList1 = new ArrayList<>();
  727. if (JSONObject.parseArray(coverageList) != null) {
  728. jsonArraysss = JSONObject.parseArray(coverageList);
  729. for (int i = 0; i < jsonArraysss.size(); i++) {
  730. JSONObject object = jsonArraysss.getJSONObject(i);
  731. listz.add(premium);
  732. }
  733. for (int i = 0; i < jsonArraysss.size(); i++) {
  734. JSONObject obj = jsonArraysss.getJSONObject(i);
  735. String kindcode = obj.getString("kindCode");
  736. QuoteKindRespVo kind = null;
  737. if ("01".equals(obj.getString("kindCode"))) {
  738. kind = new QuoteKindRespVo();
  739. kind.setKindCode("A");
  740. kind.setKindName("车辆损失保险");
  741. kind.setAmount(obj.getDouble("amount"));
  742. kind.setCoveragePremium(obj.getDouble("premium"));
  743. kindList1.add(kind);
  744. }
  745. if ("02".equals(obj.getString("kindCode"))) {
  746. kind = new QuoteKindRespVo();
  747. kind.setKindCode("B");
  748. kind.setKindName("第三者责任险");
  749. kind.setAmount(obj.getDouble("amount"));
  750. kind.setCoveragePremium(obj.getDouble("premium"));
  751. kindList1.add(kind);
  752. }
  753. if ("041".equals(obj.getString("kindCode"))) {
  754. kind = new QuoteKindRespVo();
  755. kind.setKindCode("D3");
  756. kind.setKindName("司机责任险");
  757. kind.setAmount(obj.getDouble("amount"));
  758. kind.setCoveragePremium(obj.getDouble("premium"));
  759. kind.setUnitAmount(obj.getDouble("amount"));
  760. kindList1.add(kind);
  761. }
  762. if ("044".equals(obj.getString("kindCode"))) {
  763. kind = new QuoteKindRespVo();
  764. kind.setKindCode("D4");
  765. kind.setKindName("乘客责任险");
  766. kind.setUnitAmount(unitAmounts);
  767. kind.setAmount(obj.getDouble("amount"));
  768. kind.setCoveragePremium(obj.getDouble("premium"));
  769. kind.setQuantity(String.valueOf(quantity - 1));
  770. // kind.setUnitAmount(obj.getDouble("unitAmount"));
  771. kindList1.add(kind);
  772. }
  773. if ("501".equals(obj.getString("kindCode"))) {
  774. kind = new QuoteKindRespVo();
  775. kind.setKindCode("MJ1");
  776. kind.setKindName("绝对免赔率特约险(车损)");
  777. kind.setAmount(obj.getDouble("amount"));
  778. kind.setCoveragePremium(obj.getDouble("premium"));
  779. kindList1.add(kind);
  780. }
  781. if ("502".equals(obj.getString("kindCode"))) {
  782. kind = new QuoteKindRespVo();
  783. kind.setKindCode("MJ2");
  784. kind.setKindName("绝对免赔率特约险(三者)");
  785. kind.setAmount(obj.getDouble("amount"));
  786. kind.setCoveragePremium(obj.getDouble("premium"));
  787. kindList1.add(kind);
  788. }
  789. if ("5041".equals(obj.getString("kindCode"))) {
  790. kind = new QuoteKindRespVo();
  791. kind.setKindCode("MJ3");
  792. kind.setKindName("绝对免赔率特约险(司机)");
  793. kind.setAmount(obj.getDouble("amount"));
  794. kind.setCoveragePremium(obj.getDouble("premium"));
  795. kindList1.add(kind);
  796. }
  797. if ("5044".equals(obj.getString("kindCode"))) {
  798. kind = new QuoteKindRespVo();
  799. kind.setKindCode("MJ4");
  800. kind.setKindName("绝对免赔率特约险(乘客)");
  801. kind.setAmount(obj.getDouble("amount"));
  802. kind.setCoveragePremium(obj.getDouble("premium"));
  803. kindList1.add(kind);
  804. }
  805. if ("21".equals(obj.getString("kindCode"))) {
  806. kind = new QuoteKindRespVo();
  807. kind.setKindCode("L");
  808. kind.setKindName("车身划痕损失险");
  809. kind.setAmount(obj.getDouble("amount"));
  810. kind.setCoveragePremium(obj.getDouble("premium"));
  811. kindList1.add(kind);
  812. }
  813. if ("49".equals(obj.getString("kindCode"))) {
  814. kind = new QuoteKindRespVo();
  815. kind.setKindCode("BD");
  816. kind.setKindName("法定节假日限额翻倍险");
  817. kind.setAmount(obj.getDouble("amount"));
  818. kind.setCoveragePremium(obj.getDouble("premium"));
  819. kindList1.add(kind);
  820. }
  821. }
  822. }
  823. //贴过来的
  824. if (premium != null) {
  825. BigDecimal sumPremium2 = new BigDecimal(premium);
  826. sumPremium2 = sumPremium2.setScale(2, BigDecimal.ROUND_HALF_UP);
  827. BigDecimal jqpremium = new BigDecimal(sumPremium2.doubleValue() + Double.parseDouble(payTax));
  828. jqpremium = jqpremium.setScale(2, BigDecimal.ROUND_HALF_UP);
  829. quoteRespVo.setCiSumPermium(jqpremium.doubleValue()); //交强险和车船税合计
  830. }
  831. if (premium != null && !premium.equals("") && sumPremium != null && !sumPremium.equals("") && sumPayTax != null && !sumPayTax.equals("")) {
  832. BigDecimal jqpremium = new BigDecimal(Double.parseDouble(premium) + Double.parseDouble(sumPremium) + Double.parseDouble(sumPayTax));
  833. jqpremium = jqpremium.setScale(2, BigDecimal.ROUND_HALF_UP);
  834. quoteRespVo.setSumPermium(jqpremium.doubleValue()); //交强+商业+车船总和
  835. } else if (premium != null && !premium.equals("") && sumPremium != null && !sumPremium.equals("")) {
  836. BigDecimal jqpremium = new BigDecimal(Double.parseDouble(premium) + Double.parseDouble(sumPremium));
  837. jqpremium = jqpremium.setScale(2, BigDecimal.ROUND_HALF_UP);
  838. quoteRespVo.setSumPermium(jqpremium.doubleValue());//交强+商业+车船总和
  839. } else if (premium != null && !premium.equals("") && sumPayTax != null && !sumPayTax.equals("")) {
  840. BigDecimal jqpremium = new BigDecimal(Double.parseDouble(premium) + Double.parseDouble(sumPayTax));
  841. jqpremium = jqpremium.setScale(2, BigDecimal.ROUND_HALF_UP);
  842. quoteRespVo.setSumPermium(jqpremium.doubleValue());//交强+商业+车船总和
  843. } else if (sumPremium != null && !sumPremium.equals("")) {
  844. BigDecimal jqpremium = new BigDecimal(Double.parseDouble(sumPremium));
  845. jqpremium = jqpremium.setScale(2, BigDecimal.ROUND_HALF_UP);
  846. quoteRespVo.setSumPermium(jqpremium.doubleValue());
  847. }
  848. quoteRespVo.setTotalAdjustRate(1);
  849. if (payTax != null) {
  850. quoteRespVo.setTaxAmount(Double.parseDouble(payTax));
  851. }
  852. quoteRespVo.setILogPreUdwMess("0");//评分
  853. quoteRespVo.setOrderno(orderno); //订单号
  854. quoteRespVo.setRiskList(riskList1);
  855. quoteRespVo.setKindList(kindList1);
  856. httpResult.setData(quoteRespVo);
  857. httpResult.setMsg("成功");
  858. //报价成功更新险种信息
  859. insOrder.setRiskinfo(JSONObject.parseArray(JSONObject.toJSONString(riskList1)));
  860. insOrder.setKindinfo(JSONObject.parseArray(JSONObject.toJSONString(kindList1)));
  861. if (Vehicle != null) {
  862. BigDecimal Vehiclemium = new BigDecimal(Vehicle);
  863. Vehiclemium = Vehiclemium.setScale(2, BigDecimal.ROUND_HALF_UP);
  864. insOrder.setJqpremium(Vehiclemium.doubleValue());
  865. }
  866. if (premium != null) {
  867. syPremium = syPremium - Double.parseDouble(premium);
  868. BigDecimal bd = new BigDecimal(syPremium);
  869. bd = bd.setScale(2, BigDecimal.ROUND_HALF_UP);
  870. syPremium = bd.doubleValue();
  871. insOrder.setSypremium(syPremium);
  872. }
  873. if (sumPayTax != null) {
  874. insOrder.setTaxamount(Double.parseDouble(sumPayTax));
  875. }
  876. BigDecimal bd = new BigDecimal(quoteRespVo.getSumPermium());
  877. bd = bd.setScale(2, BigDecimal.ROUND_HALF_UP);
  878. insOrder.setSumpremium(bd.doubleValue());
  879. //报价状态 0失败 1成功
  880. httpResult.setCode(200);
  881. httpResult.setMsg(returnMessage);
  882. insOrder.setSypremium(insOrder.getSypremium() + insOrder.getJqpremium());
  883. BigDecimal bds = new BigDecimal(insOrder.getSypremium());
  884. BigDecimal bd1 = bds.setScale(2, BigDecimal.ROUND_HALF_UP);
  885. insOrder.setSypremium(bd1.doubleValue());
  886. insOrder.setQuotestatus("1");
  887. insOrder.setReqtxt(JSONObject.parseObject(json1));
  888. insOrder.setReptxt(JSONObject.parseObject(posts));
  889. insOrder.setUserid(user.getId());
  890. logger.info("用户id====" + insOrder.getUserid());
  891. insOrderService.insert(insOrder);
  892. //插入轨迹表
  893. InsTaskHistory history = new InsTaskHistory();
  894. history.setId(String.valueOf(new Date().getTime()));
  895. history.setCompany(insOrder.getInscompany());
  896. history.setTaskid(insOrder.getOrderno());
  897. history.setOperatorid(insOrder.getUserid());
  898. history.setOperator(insOrder.getUsername());
  899. history.setCreatetime(sdfm.format(new Date()));
  900. history.setOperator(insOrder.getUsername());
  901. history.setStatus("0");
  902. history.setRemark("报价中");
  903. insTaskHistoryService.insert(history);
  904. } else {
  905. httpResult.setCode(200);
  906. httpResult.setMsg(returnMessage);
  907. insOrder.setQuotestatus("0"); //报价状态 0失败 1成功
  908. }
  909. return httpResult;
  910. }
  911. /**
  912. * 提交核保
  913. *
  914. * @param request
  915. * @return
  916. */
  917. // @GetMapping(value = "/Submit")
  918. public HttpResult Submit(@RequestParam String orderno, @RequestParam String jqappoint, @RequestParam String syappoint, HttpServletRequest request) {
  919. SubmitHeadVO record = new SubmitHeadVO();
  920. DeliveryInfoVO deliveryInfo = new DeliveryInfoVO();
  921. //查询订单
  922. InsOrder order = insOrderService.selectZMByPk(orderno);
  923. if (order != null) {
  924. //获取请求方法名称
  925. String file = request.getRequestURI();
  926. String method = file.substring(file.lastIndexOf("/") + 1);
  927. //获取请求地址
  928. String zmUrl = environment.getProperty("ZMUrl");
  929. String url = zmUrl + method + ".do";
  930. record.setOrderNo("140000");
  931. JSONObject reptxt = order.getReptxt();
  932. Map<String, Object> reptxtmap = reptxt;
  933. JSONObject reqtxt = order.getReqtxt();
  934. Map<String, Object> reqtxtmap = reqtxt;
  935. // Object ownerInfo = order.getOwnerinfo();
  936. JSONObject ownerInfoObject = order.getOwnerinfo();
  937. Object orderNo = reptxtmap.get("orderNo");
  938. Object vin = reptxtmap.get("vin");
  939. record.setOrderNo(orderNo.toString());
  940. record.setVIN(vin.toString());
  941. deliveryInfo.setName(ownerInfoObject.get("name").toString());
  942. deliveryInfo.setMobile(ownerInfoObject.get("mobile").toString());
  943. deliveryInfo.setProvince("140000");
  944. deliveryInfo.setCity("140400");
  945. deliveryInfo.setDistrict("140431");
  946. deliveryInfo.setDetail(ownerInfoObject.get("addr").toString());
  947. record.setPageUrl("http://www.baidu.com");
  948. record.setCallbackUrl(environment.getProperty("CallbackUrl"));
  949. record.setPassMsgUrl(environment.getProperty("RGCallbackUrl"));
  950. record.setBusSrePcMAC("12-E1-AD-45-A2-65");
  951. record.setBusSrePcIP("47.92.254.66");
  952. //参数组装
  953. HeadVO head = head(method);
  954. head.setToken(environment.getProperty("ZMToken"));
  955. record.setHead(head);
  956. record.setDeliveryInfo(deliveryInfo);
  957. String json = JSON.toJSONString(record);
  958. logger.info("核保接口请求参数为:" + json);
  959. String post = HttpsPostUtil.sendPost(url, json);
  960. logger.info("核保接口返回参数为:" + post);
  961. HeadMessage headMessage = HttpsPostUtil.HeadMessage(post);
  962. String returnMessage = headMessage.getReturnMessage();
  963. String returnCode = headMessage.getReturnCode();
  964. if (returnCode != null) {
  965. order.setOrderstatus("1");
  966. SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
  967. order.setSubmittime(sdf.format(new Date()));
  968. order.setJqappoint(jqappoint); //交强特别约定
  969. order.setSyappoint(syappoint); //商业特别约定
  970. order.setJqapplyno(JSONObject.parseObject(post).getString("proposalNo")); //主投保单号
  971. //匹配任务接收人
  972. String licenseno = order.getLicenseNo().substring(0, 2);
  973. List<InsOrderTask> list = insOrderTaskService.selectList(" where t.status='1' and t.insname=? and t.licenseno=? and t.orderstatus=?", new Object[]{order.getInscompany(), licenseno, "1"});
  974. if (list.size() > 0) {
  975. order.setAuditid(list.get(0).getAuditid());
  976. order.setAuditname(list.get(0).getAuditname());
  977. }
  978. insOrderService.update(order);
  979. //插入轨迹表
  980. InsTaskHistory history = new InsTaskHistory();
  981. history.setId(String.valueOf(new Date().getTime()));
  982. history.setCompany(order.getInscompany());
  983. history.setTaskid(order.getOrderno());
  984. history.setOperatorid(order.getUserid());
  985. history.setOperator(order.getUsername());
  986. history.setCreatetime(sdf.format(new Date()));
  987. history.setStatus("1");
  988. history.setRemark("提交核保");
  989. insTaskHistoryService.insert(history);
  990. return HttpResult.ok(returnMessage);
  991. } else {
  992. return HttpResult.error(returnMessage);
  993. }
  994. }
  995. return HttpResult.ok("提交成功");
  996. }
  997. /**
  998. * 缴费查询接口
  999. *
  1000. * @param record
  1001. * @param request
  1002. * @return
  1003. */
  1004. @PostMapping(value = "/OrderStatus")
  1005. public HttpResult OrderStatus(@RequestBody OrderStatusHeadVO record, HttpServletRequest request) {
  1006. String file = request.getRequestURI();
  1007. String method = file.substring(file.lastIndexOf("/") + 1);
  1008. String zmUrl = environment.getProperty("ZMUrl");
  1009. String url = zmUrl + method + ".do";
  1010. InsOrder order = insOrderService.selectZMByPk(record.getOrderNo());
  1011. JSONObject reptxt = order.getReptxt();
  1012. Map<String, Object> reptxtmap = reptxt;
  1013. Object orderNo = reptxtmap.get("orderNo");
  1014. record.setOrderNo(orderNo.toString());
  1015. HeadVO head = head(method);
  1016. head.setToken(environment.getProperty("ZMToken"));
  1017. record.setHead(head);
  1018. String json = JSON.toJSONString(record);
  1019. String post = HttpsPostUtil.sendPost(url, json);
  1020. return HttpResult.ok(post);
  1021. }
  1022. /**
  1023. * 核保状态查询
  1024. *
  1025. * @param record
  1026. * @param request
  1027. * @return
  1028. */
  1029. @PostMapping(value = "/SubmitStatusQuery")
  1030. public HttpResult SubmitStatusQuery(@RequestBody SubmitStatusQueryHeadVO record, HttpServletRequest request) {
  1031. String file = request.getRequestURI();
  1032. String method = file.substring(file.lastIndexOf("/") + 1);
  1033. String zmUrl = environment.getProperty("ZMUrl");
  1034. String url = zmUrl + "SubmitStatus" + ".do";
  1035. // InsOrder order = insOrderService.selectZMByPk(record.getOrderNo());
  1036. // JSONObject reptxt = order.getReptxt();
  1037. // Map<String, Object> reptxtmap = reptxt;
  1038. // Object orderNo = reptxtmap.get("orderNo");
  1039. // record.setOrderNo(orderNo.toString());
  1040. PayinfoVO payinfo = insOrderService.selectPayinfo(" where orderno=?", new Object[]{record.getOrderNo()});
  1041. record.setProposalNo(payinfo.getPolicyNo()); //主投保单号
  1042. HeadVO head = head(method);
  1043. head.setToken(environment.getProperty("ZMToken"));
  1044. record.setHead(head);
  1045. String json = JSON.toJSONString(record);
  1046. logger.info("核保状态查询请求参数为:" + json);
  1047. String post = HttpsPostUtil.sendPost(url, json);
  1048. logger.info("核保状态查询返回结果为:" + post);
  1049. JSONObject obj = JSONObject.parseObject(post);
  1050. payinfo.setReptxt(obj);
  1051. insOrderService.updatePayinfo(payinfo);
  1052. return HttpResult.ok(obj.getString("underWriteInd"), obj.getString("payUrl"));
  1053. }
  1054. /**
  1055. * 电子保单下载
  1056. *
  1057. * @param dirId
  1058. * @param request
  1059. * @return
  1060. */
  1061. @GetMapping(value = "/InsurancePolicyPrint")
  1062. public HttpResult InsurancePolicyPrint(@RequestParam("dirId") String dirId, HttpServletRequest request) {
  1063. InsurancePolicyPrintHeadVO record = new InsurancePolicyPrintHeadVO();
  1064. String file = request.getRequestURI();
  1065. String method = file.substring(file.lastIndexOf("/") + 1);
  1066. String zmUrl = environment.getProperty("ZMUrl");
  1067. String url = zmUrl + method + ".do";
  1068. InsOrder order = insOrderService.selectZMByPk(dirId);
  1069. JSONObject reptxt = order.getReptxt();
  1070. JSONObject reqtxt = order.getReqtxt();
  1071. Map<String, Object> reptxtmap = reptxt;
  1072. Object forcePrimium = reptxtmap.get("forcePrimium");
  1073. String kindName = null;
  1074. JSONObject jsonObject = JSONObject.parseObject(forcePrimium.toString());
  1075. if (jsonObject != null) {
  1076. kindName = jsonObject.get("kindName").toString();
  1077. }
  1078. record.setPolicyNo(reptxtmap.get("orderNo").toString());
  1079. HeadVO head = head(method);
  1080. head.setToken(environment.getProperty("ZMToken"));
  1081. record.setHead(head);
  1082. String json = JSON.toJSONString(record);
  1083. String post = HttpsPostUtil.sendPost(url, json);
  1084. return HttpResult.ok(post);
  1085. }
  1086. /**
  1087. * 影像上传
  1088. *
  1089. * @param record
  1090. * @param request
  1091. * @return
  1092. */
  1093. @PostMapping(value = "/UploadImage")
  1094. public HttpResult UploadImage(@RequestBody InsTaskImage record, HttpServletRequest request) {
  1095. Integer result = 0;
  1096. String msg = "保存成功";
  1097. NodeBeanlistVO nodeBean = new NodeBeanlistVO();
  1098. List<NodeBeanlistVO> nodeBeanList = new ArrayList();
  1099. UploadImageHeadVO uploadHead = new UploadImageHeadVO();
  1100. ImageBeanListVO imgVO = new ImageBeanListVO();
  1101. List<ImageBeanListVO> imageBeanList = new ArrayList<>();
  1102. List list = new ArrayList();
  1103. if (record.getTaskid() == null || record.getTaskid().equalsIgnoreCase("")) {
  1104. return HttpResult.ok("任务号taskid不能为空", result);
  1105. }
  1106. if (record.getImgtype() == null || record.getImgtype().equalsIgnoreCase("")) {
  1107. return HttpResult.ok("图片类型imgtype不能为空", result);
  1108. }
  1109. if (record.getImgList() == null || record.getImgList().size() == 0) {
  1110. return HttpResult.ok("图片列表imgList不能为空", result);
  1111. }
  1112. InsTaskImageService.delete(record.getTaskid(), record.getImgtype());
  1113. for (String image : record.getImgList()) {
  1114. List imgList = new ArrayList();
  1115. record.setId(IdGenerate.nextId());
  1116. nodeBean.setId(record.getId());
  1117. record.setCreator(getUserName());
  1118. imgVO.setFileName(record.getCreator());
  1119. record.setCreatetime(new Date());
  1120. record.setImage(image);
  1121. imgVO.setImage(record.getImage());
  1122. if (record.getImgtype() != null && record.getImgtype().equals("C01")) {
  1123. nodeBean.setId("UW_0305");
  1124. } else if (record.getImgtype() != null && record.getImgtype().equals("C03")) {
  1125. nodeBean.setId("UW_0302");
  1126. } else if (record.getImgtype() != null && record.getImgtype().equals("C05")) {
  1127. nodeBean.setId("UW_0301");
  1128. }
  1129. imgList.add(imgVO);
  1130. nodeBean.setImageBeanList(imgList);
  1131. //imageBeanList.add(imgVO);
  1132. nodeBeanList.add(nodeBean);
  1133. // list.add(imageBeanList);
  1134. InsTaskImageService.insert(record);
  1135. }
  1136. String file = request.getRequestURI();
  1137. String method = file.substring(file.lastIndexOf("/") + 1);
  1138. String zmUrl = environment.getProperty("ZMIMGUrl");
  1139. String url = zmUrl + method + ".do";
  1140. PayinfoVO payinfo = insOrderService.selectPayinfo(" where orderno=?", new Object[]{record.getTaskid()});
  1141. if (payinfo == null) {
  1142. return HttpResult.error("请先提交核保!");
  1143. }
  1144. HeadVO heads = head(method);
  1145. heads.setToken(environment.getProperty("ZMToken"));
  1146. uploadHead.setHead(heads);
  1147. uploadHead.setNodeBeanlist(nodeBeanList);
  1148. uploadHead.setContractNo(payinfo.getPolicyNo());
  1149. String jsons = JSON.toJSONString(uploadHead);
  1150. String posts = HttpsPostUtil.sendPost(url, jsons);
  1151. return HttpResult.ok(posts);
  1152. }
  1153. /**
  1154. * 校验发短信接口
  1155. *
  1156. * @param record
  1157. * @param request
  1158. * @return
  1159. */
  1160. @PostMapping(value = "/CheckSMScode")
  1161. public HttpResult CheckSMScode(@RequestBody CheckSMScodeHeadVO record, HttpServletRequest request) {
  1162. String file = request.getRequestURI();
  1163. String method = file.substring(file.lastIndexOf("/") + 1);
  1164. String zmUrl = environment.getProperty("ZMSMSUrl");
  1165. String url = zmUrl + method + ".do";
  1166. //参数组装
  1167. HeadVO head = head(method);
  1168. head.setToken(environment.getProperty("ZMToken"));
  1169. record.setHead(head);
  1170. String json = JSON.toJSONString(record);
  1171. String post = HttpsPostUtil.sendPost(url, json);
  1172. return HttpResult.ok(post);
  1173. }
  1174. /**
  1175. * 验证校验码正确
  1176. *
  1177. * @param record
  1178. * @param request
  1179. * @return
  1180. */
  1181. @PostMapping(value = "/ValidSMScode")
  1182. public HttpResult ValidSMScode(@RequestBody ValidSMScodeHeadVO record, HttpServletRequest request) {
  1183. String file = request.getRequestURI();
  1184. String method = file.substring(file.lastIndexOf("/") + 1);
  1185. String zmUrl = environment.getProperty("ZMSMSUrl");
  1186. String url = zmUrl + method + ".do";
  1187. //参数组装
  1188. HeadVO head = head(method);
  1189. head.setToken(environment.getProperty("ZMToken"));
  1190. record.setHead(head);
  1191. String json = JSON.toJSONString(record);
  1192. String post = HttpsPostUtil.sendPost(url, json);
  1193. return HttpResult.ok(post);
  1194. }
  1195. /**
  1196. * 分销费用统计
  1197. *
  1198. * @param deptid
  1199. * @param userid
  1200. * @return
  1201. */
  1202. public double countRetail(String deptid, String userid) {
  1203. double retailRate = 0;
  1204. //1、根据机构匹配分销规则,获取分销比例
  1205. List<EsmRetail> list = esmRetailService.selectList(" where deptid = ? and status=?", new Object[]{deptid, "1"});
  1206. //2、根据userid查询三级推荐人
  1207. List<SysUser> users = esmUserInternalService.getSuperior(userid);
  1208. if (list != null && list.size() > 0 && users.size() > 0 && !"0".equals(list.get(0).getRetailtype())) {
  1209. EsmRetail retail = list.get(0);
  1210. List<Double> rateList = new ArrayList<Double>();
  1211. rateList.add(retail.getDisrate1());
  1212. rateList.add(retail.getDisrate2());
  1213. rateList.add(retail.getDisrate3());
  1214. if ("1".equals(retail.getRetailtype())) {//一级分销
  1215. retailRate += rateList.get(0);
  1216. } else if ("2".equals(retail.getRetailtype())) {//二级分销
  1217. int num = users.size() > 2 ? 2 : users.size();
  1218. for (int i = 0; i < num; i++) {
  1219. retailRate += rateList.get(i);
  1220. }
  1221. } else {//三级分销
  1222. int num = users.size() > 2 ? 3 : users.size();
  1223. for (int i = 0; i < num; i++) {
  1224. retailRate += rateList.get(i);
  1225. }
  1226. }
  1227. }
  1228. return retailRate;
  1229. }
  1230. public String getUserName() {
  1231. return "";
  1232. // String userName = null;
  1233. // Object principal = SecurityContextHolder.getContext().getAuthentication().getPrincipal();
  1234. //
  1235. // if (principal instanceof UserDetails) {
  1236. // userName = ((UserDetails) principal).getUsername();
  1237. // } else {
  1238. // userName = principal.toString();
  1239. // }
  1240. // return userName;
  1241. }
  1242. /**
  1243. * 承保回调
  1244. *
  1245. * @param record
  1246. * @param request
  1247. * @return
  1248. */
  1249. @PostMapping(value = "/Underwriting")
  1250. public HeadMessage Underwriting(@RequestBody UnderwritingVO record, HttpServletRequest request) {
  1251. logger.info("回调Underwriting接口" + record.toString());
  1252. String studentJson = JSON.toJSONString(record);//将对象转json
  1253. logger.info("回调Underwriting接口" + studentJson);
  1254. JSONObject jsonObject = JSONObject.parseObject(studentJson);
  1255. Map map = jsonObject;
  1256. StringBuffer whereStr = new StringBuffer(" where 1=1");
  1257. ArrayList array = new ArrayList();
  1258. if (map.get("bizProposalNo") != null && !map.get("bizProposalNo").equals("")) {
  1259. String bizPolicyNo = map.get("bizPolicyNo").toString();
  1260. String bizProposalNo = map.get("bizProposalNo").toString();//商业险投保单号
  1261. whereStr.append(" and syapplyno=?");
  1262. array.add(bizProposalNo);
  1263. } else {
  1264. String forceProposalNo = map.get("forceProposalNo").toString();//交强险投保单号
  1265. String forcePolicyNo = map.get("forcePolicyNo").toString();
  1266. whereStr.append(" and jqapplyno=?");
  1267. array.add(forceProposalNo);
  1268. }
  1269. String proposalNo = map.get("proposalNo").toString();
  1270. HeadVO heads = record.getHead();
  1271. String status = map.get("status").toString();
  1272. HeadMessage headmess = new HeadMessage();
  1273. if (status != null && !status.equals("")) {
  1274. InsOrder order = insOrderService.selectSyapplyno(whereStr.toString(), array.toArray());
  1275. logger.info("通过保单号查询" + proposalNo);
  1276. if (order != null && !order.equals("")) {
  1277. if (record.getBizPolicyNo() != null) {
  1278. order.setSypolicyno(record.getBizPolicyNo());
  1279. }
  1280. if (record.getForcePolicyNo() != null) {
  1281. order.setJqpolicyno(record.getForcePolicyNo());
  1282. }
  1283. if (record.getBizProposalNo() != null) {
  1284. order.setSyapplyno(record.getBizProposalNo());
  1285. }
  1286. if (record.getForceProposalNo() != null) {
  1287. order.setJqapplyno(record.getForceProposalNo());
  1288. }
  1289. String orders = JSON.toJSONString(order);//将对象转json
  1290. logger.info("修改参数" + orders);
  1291. order.setOrderstatus("6");
  1292. SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
  1293. order.setPaytime(sdf.format(new Date()));
  1294. // saveFeeDetail(order);
  1295. insOrderService.update(order);
  1296. //插入轨迹表
  1297. InsTaskHistory history = new InsTaskHistory();
  1298. history.setId(String.valueOf(new Date().getTime()));
  1299. history.setCompany(order.getInscompany());
  1300. history.setTaskid(order.getOrderno());
  1301. history.setOperatorid(order.getAuditid());
  1302. history.setOperator(order.getAuditname());
  1303. history.setCreatetime(sdf.format(new Date()));
  1304. history.setStatus("6");
  1305. history.setRemark("已缴费待配送");
  1306. insTaskHistoryService.insert(history);
  1307. }
  1308. } else {
  1309. headmess.setReturnMessage("-1");
  1310. HttpResult.error("失败");
  1311. }
  1312. headmess.setReturnMessage("0");
  1313. return headmess;
  1314. }
  1315. /**
  1316. * 人工核保承保回调
  1317. *
  1318. * @param record
  1319. * @param request
  1320. * @return
  1321. */
  1322. @PostMapping(value = "/ArtificialUnderwriting")
  1323. public HeadMessage ArtificialUnderwriting(@RequestBody ArtificialVO record, HttpServletRequest request) {
  1324. HeadMessage headmess = new HeadMessage();
  1325. String rep = JSON.toJSONString(record);//将对象转json
  1326. logger.info("人工核保回调接入参" + rep);
  1327. JSONObject reptext = JSONObject.parseObject(rep);
  1328. StringBuffer whereStr = new StringBuffer(" where 1=1");
  1329. ArrayList array = new ArrayList();
  1330. //插入轨迹表
  1331. InsTaskHistory history = new InsTaskHistory();
  1332. if (record.getContractNo() != null && !record.getContractNo().equals("")) {
  1333. String contractNo = record.getContractNo();
  1334. whereStr.append(" and policyNo=? ");
  1335. array.add(contractNo);
  1336. }
  1337. PayinfoVO payinfo = insOrderService.selectPayinfo(whereStr.toString(), array.toArray());
  1338. logger.info("人工核保回调接查询到的信息" + JSON.toJSONString(payinfo));
  1339. if (payinfo != null && !payinfo.equals("")) {
  1340. InsOrder order = insOrderService.selectByPk(payinfo.getOrderno());
  1341. JSONObject reptxt = payinfo.getReptxt();
  1342. Map<String, Object> reptxtmap = reptxt;
  1343. reptxtmap.put("payUrl", record.getPayUrl());
  1344. payinfo.setReptxt(JSONObject.parseObject(reptxtmap.toString()));
  1345. } else {
  1346. headmess.setReturnMessage("FAILD");
  1347. return headmess;
  1348. }
  1349. String statusCode = record.getStatusCode();
  1350. if (statusCode != null && !statusCode.equals("")) {
  1351. InsOrder order = insOrderService.selectSyapplyno(" where orderno=? ", new Object[]{payinfo.getOrderno()});
  1352. logger.info("人工核保订单号查询" + order.getOrderno());
  1353. if (record.getStatusCode() != null && record.getStatusCode().equals("1")) {
  1354. insOrderService.updatePayinfo(payinfo);
  1355. if (record.getProposalNoS() != null) {
  1356. order.setSypolicyno(record.getProposalNoS());
  1357. }
  1358. if (record.getProposalNoJ() != null) {
  1359. order.setJqpolicyno(record.getProposalNoJ());
  1360. }
  1361. order.setOrderstatus("5");
  1362. history.setStatus("5");
  1363. history.setRemark("已核保待缴费");
  1364. } else if (record.getStatusCode() != null && record.getStatusCode().equals("2")) {
  1365. order.setOrderstatus("1");
  1366. history.setStatus("1");
  1367. history.setRemark("待核保");
  1368. } else if (record.getStatusCode() != null && record.getStatusCode().equals("4")) {
  1369. order.setOrderstatus("99");
  1370. history.setStatus("99");
  1371. history.setRemark("拒保");
  1372. }
  1373. String orders = JSON.toJSONString(order);//将对象转json
  1374. logger.info("修改参数" + orders);
  1375. SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
  1376. order.setPaytime(sdf.format(new Date()));
  1377. insOrderService.update(order);
  1378. history.setId(String.valueOf(new Date().getTime()));
  1379. history.setCompany(order.getInscompany());
  1380. history.setTaskid(order.getOrderno());
  1381. history.setOperatorid(order.getAuditid());
  1382. history.setOperator(order.getAuditname());
  1383. history.setCreatetime(sdf.format(new Date()));
  1384. insTaskHistoryService.insert(history);
  1385. } else {
  1386. headmess.setReturnMessage("-1");
  1387. HttpResult.error("失败");
  1388. }
  1389. headmess.setReturnMessage("OK");
  1390. return headmess;
  1391. }
  1392. public HeadVO head(String methodName) {
  1393. HeadVO headVO = new HeadVO();
  1394. headVO.setTransCode(methodName);
  1395. headVO.setTransType("Req");
  1396. //测试
  1397. // headVO.setToken("THIRDSCOuloft2020052818346904zmYBSX");
  1398. //生产
  1399. headVO.setToken(environment.getProperty("ZMToken"));
  1400. headVO.setSource("326");
  1401. return headVO;
  1402. }
  1403. }