CheckInsPlyComeUtils.java 29 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621
  1. package com.ydtech.modules.inv.utils;
  2. import com.alibaba.excel.annotation.ExcelProperty;
  3. import com.ydtech.modules.admin.dao.KztDataPermissionMapper;
  4. import com.ydtech.modules.admin.dao.SysUserDeptRelationshipMapper;
  5. import com.ydtech.modules.admin.utils.SpringContextUtil;
  6. import com.ydtech.modules.esm.model.EsmInsCompany;
  7. import com.ydtech.modules.esm.service.EsmInsCompanyService;
  8. import com.ydtech.modules.fnc.entity.InsPlyIncome;
  9. import com.ydtech.modules.inv.model.excel.*;
  10. import com.ydtech.modules.protocol.entity.po.PtlAgreement;
  11. import com.ydtech.modules.protocol.service.PtlAgreementService;
  12. import io.swagger.annotations.ApiModelProperty;
  13. import org.apache.commons.lang3.StringUtils;
  14. import org.springframework.context.ApplicationContext;
  15. import java.math.BigDecimal;
  16. import java.text.DateFormat;
  17. import java.text.ParseException;
  18. import java.text.SimpleDateFormat;
  19. import java.util.HashMap;
  20. import java.util.Map;
  21. /**
  22. * @version
  23. * @author: hxl
  24. * @Date: 2024/9/21 14:38
  25. * @Description: 验证数据
  26. */
  27. public class CheckInsPlyComeUtils {
  28. /**
  29. * @version
  30. * @author: hxl
  31. * @Date: 2024/9/21 14:41
  32. * @Description: 验证签单日期
  33. */
  34. public static String checkSignDate(String data,String msg){
  35. String errorMsg =null;
  36. if(StringUtils.isBlank(data) || !isValidDate(data,"yyyy-MM-dd HH:mm:ss") ){
  37. errorMsg = msg+"不能为空或格式错误,格式为yyyy-MM-dd HH:mm:ss";
  38. }
  39. return errorMsg;
  40. }
  41. /**
  42. * @version
  43. * @author: hxl
  44. * @Date: 2024/9/21 14:51
  45. * @Description: 验证时间格式
  46. */
  47. public static boolean isValidDate(String date, String format) {
  48. try {
  49. DateFormat dateFormat = new SimpleDateFormat(format);
  50. dateFormat.setLenient(false);
  51. dateFormat.parse(date);
  52. return true;
  53. } catch (ParseException e) {
  54. return false;
  55. }
  56. }
  57. /**
  58. * @version
  59. * @author: hxl
  60. * @Date: 2024/9/21 14:41
  61. * @Description: 验证非空
  62. */
  63. public static String checkIsNull(String data,String msg){
  64. String errorMsg =null;
  65. if(StringUtils.isBlank(data) ){
  66. errorMsg=msg+"不能为空";
  67. }
  68. return errorMsg;
  69. }
  70. /**
  71. * @version
  72. * @author: hxl
  73. * @Date: 2024/9/21 14:41
  74. * @Description: 验证非空以及数据
  75. */
  76. public static String isNumeric(String data,String msg) {
  77. String errorMsg =null;
  78. if(StringUtils.isBlank(data) || msg.matches("-?\\d+(\\.\\d+)?") ){
  79. errorMsg=msg+"不能为空或者格式错误,必须为数字";
  80. }
  81. return errorMsg;
  82. }
  83. /**
  84. * @version
  85. * @author: hxl
  86. * @Date: 2024/9/21 14:41
  87. * @Description: 验证保险公司
  88. */
  89. public static Map<String,String> checkCompanyName(String data,String msg) {
  90. ApplicationContext applicationContext = SpringContextUtil.getApplicationContext();
  91. EsmInsCompanyService esmInsCompanyService = applicationContext.getBean(EsmInsCompanyService.class);
  92. EsmInsCompany insCompany = esmInsCompanyService.findInsCompanyByNameOrNamesimple(data);
  93. String errorMsg =null;
  94. String id ="";
  95. if(StringUtils.isBlank(data) || insCompany==null ){
  96. errorMsg=msg+"不能为空或者格式错误,未查询到"+msg+"名称,请填写全称";
  97. }else{
  98. id =insCompany==null?"":insCompany.getId();
  99. }
  100. Map<String,String> map =new HashMap<String,String>();
  101. map.put("msg",errorMsg);
  102. map.put("id",id);
  103. return map;
  104. }
  105. /**
  106. * @version
  107. * @author: hxl
  108. * @Date: 2024/9/21 14:41
  109. * @Description: 验证协议名称
  110. */
  111. public static Map<String,Object> checkAgreeName(String data, String msg,String type) {
  112. ApplicationContext applicationContext = SpringContextUtil.getApplicationContext();
  113. PtlAgreementService ptlAgreementService = applicationContext.getBean(PtlAgreementService.class);
  114. //由于协议名称确定不了唯一,通过协议编号确认唯一 add by hxl 2024-10-12 14:36
  115. PtlAgreement ptlAgreement = ptlAgreementService.getById(data);
  116. //PtlAgreement ptlAgreement = ptlAgreementService.getByAgreementTitle(data);
  117. String errorMsg =null;
  118. if(StringUtils.isBlank(data) || ptlAgreement==null ){
  119. errorMsg=msg+"不能为空或者格式错误,未查询到"+msg+"名称,请填写协议编号";
  120. }else {
  121. // 2 私有 1 平台
  122. if(!type.equals(ptlAgreement.getAgreementType())){
  123. errorMsg=msg+"协议类型错误";
  124. }
  125. }
  126. Map<String,Object> map =new HashMap<String,Object>();
  127. map.put("msg",errorMsg);
  128. map.put("id",ptlAgreement);
  129. return map;
  130. }
  131. public static String checkRiskcode(String data, String msg) {
  132. Map<String,String> map =new HashMap<String,String>();
  133. map.put("单交","0330");
  134. map.put("单商","034001");
  135. map.put("单三","034002");
  136. map.put("交三","0330034002");
  137. map.put("交商","0330034001");
  138. String errorMsg =null;
  139. if(StringUtils.isBlank(data) || map.get(data)==null ){
  140. errorMsg=msg+"不能为空或者格式错误,未查询到"+msg+"名称,请填写正确的险种名称";
  141. }
  142. return errorMsg;
  143. }
  144. public static Map<String,String> checkAddType(String data, String msg) {
  145. Map<String,String> map =new HashMap<String,String>();
  146. map.put("退保","1");
  147. map.put("批改","2");
  148. map.put("虚增","3");
  149. map.put("其他","4");
  150. String errorMsg =null;
  151. String id ="";
  152. if(StringUtils.isBlank(data) || map.get(data)==null ){
  153. errorMsg=msg+"不能为空或者格式错误,未查询到"+msg+"名称,请填写正确的类型";
  154. }else{
  155. id = map.get(data)==null?"": map.get(data);
  156. }
  157. map.put("msg",errorMsg);
  158. map.put("id",id);
  159. return map;
  160. }
  161. /**
  162. * @version
  163. * @author: hxl
  164. * @Date: 2024/9/21 15:40
  165. * @Description:
  166. */
  167. public static Map<String,Object> checkDataDto1(AddTypeCXSXFExcel dto) {
  168. Map<String,Object> map =new HashMap<String,Object>();
  169. String errorMsg ="";
  170. if(checkSignDate(dto.getSignDate(), "签单时间")!=null){
  171. errorMsg+=checkSignDate(dto.getSignDate(), "签单时间")+"; ";
  172. }
  173. if(checkIsNull(dto.getLicenseno(), "车牌号")!=null){
  174. errorMsg+=checkIsNull(dto.getSignDate(), "车牌号")+"; ";
  175. }
  176. String companyId =null;
  177. Map<String, String> companyMap = checkCompanyName(dto.getCompanyName(), "保险公司");
  178. if(companyMap!=null && companyMap.get("msg")!=null){
  179. errorMsg+=companyMap.get("msg").toString()+"; ";
  180. }else if(companyMap.get("msg")==null){
  181. companyId = companyMap.get("id").toString();
  182. }
  183. String partnerCompaniesId =null;
  184. Map<String, String> companySubMap = checkCompanyName(dto.getPartnerCompaniesName(), "保司机构");
  185. if(companySubMap!=null && companySubMap.get("msg")!=null){
  186. errorMsg+=companySubMap+"; ";
  187. }else if( companySubMap.get("msg")==null){
  188. partnerCompaniesId = companySubMap.get("id");
  189. }
  190. if(checkRiskcode(dto.getRiskcode(), "险种")!=null){
  191. errorMsg+=checkRiskcode(dto.getSignDate(), "险种")+"; ";
  192. }
  193. String agreeId=null;
  194. String agreeDeptId =null;
  195. PtlAgreement ptl= null;
  196. Map<String, Object> agreeMap = checkAgreeName(dto.getAgreementName(), "协议选择", "2");
  197. if(agreeMap!=null && agreeMap.get("msg")!=null){
  198. errorMsg+=agreeMap.get("msg").toString()+"; ";
  199. }else if(agreeMap.get("msg")==null){
  200. ptl =((PtlAgreement)agreeMap.get("id"));
  201. agreeId = ((PtlAgreement)agreeMap.get("id")).getId().toString();
  202. agreeDeptId = ((PtlAgreement)agreeMap.get("id")).getDeptId().toString();
  203. }
  204. if(checkIsNull(dto.getInsuredName(), "被保险人")!=null){
  205. errorMsg+=checkIsNull(dto.getInsuredName(), "被保险人")+"; ";
  206. }
  207. if(checkIsNull(dto.getPolicyno(), "交强保单号")!=null){
  208. errorMsg+=checkIsNull(dto.getPolicyno(), "交强保单号")+"; ";
  209. }
  210. if(checkIsNull(dto.getSyPolicyno(), "商业保单号")!=null){
  211. errorMsg+=checkIsNull(dto.getSyPolicyno(), "商业保单号")+"; ";
  212. }
  213. if(isNumeric(dto.getJqPremium(), "交强险保费")!=null){
  214. errorMsg+=isNumeric(dto.getJqPremium(), "交强险保费")+"; ";
  215. }
  216. if(isNumeric(dto.getSyPremium(), "商业险保费")!=null){
  217. errorMsg+=isNumeric(dto.getSyPremium(), "商业险保费")+"; ";
  218. }
  219. if(isNumeric(dto.getTaxamount(), "车船税")!=null){
  220. errorMsg+=isNumeric(dto.getTaxamount(), "车船税")+"; ";
  221. }
  222. if(isNumeric(dto.getJqSuperviseCostsProportion(), "交强手续费比例")!=null){
  223. errorMsg+=isNumeric(dto.getJqSuperviseCostsProportion(), "交强手续费比例")+"; ";
  224. }
  225. if(isNumeric(dto.getSySuperviseCostsProportion(), "商业手续费比例")!=null){
  226. errorMsg+=isNumeric(dto.getSySuperviseCostsProportion(), "商业手续费比例")+"; ";
  227. }
  228. if(isNumeric(dto.getCommissionFeevalue(), "手续费金额")!=null){
  229. errorMsg+=isNumeric(dto.getCommissionFeevalue(), "手续费金额")+"; ";
  230. }
  231. String addTypeId =null;
  232. Map<String, String> addTypeMap = checkAddType(dto.getAddType(), "类型");
  233. if(addTypeMap!=null && addTypeMap.get("msg")!=null){
  234. errorMsg+=addTypeMap.get("msg").toString()+"; ";
  235. }else if(addTypeMap.get("msg")==null){
  236. addTypeId = addTypeMap.get("id").toString();
  237. }
  238. //添加验证协议id 和保险公司id和保司机构id匹配 add by hxl 2024-10-12
  239. if(companyId!=null && partnerCompaniesId !=null && ptl!=null ){
  240. if(!ptl.getInsuranceCompanyId().equals(companyId) || !ptl.getPartnerCompaniesId().equals(partnerCompaniesId)){
  241. errorMsg+="协议选择和保险公司和保司机构名称不一致,请确认;";
  242. }
  243. }
  244. map.put("msg",errorMsg);
  245. if(StringUtils.isBlank(errorMsg)){
  246. InsPlyIncome insPlyIncome =new InsPlyIncome(dto.getSignDate(),dto.getLicenseno(),companyId,dto.getCompanyName(),partnerCompaniesId,dto.getPartnerCompaniesName(),
  247. dto.getRiskcode(),agreeId,agreeDeptId,dto.getInsuredName(),dto.getPolicyno(),dto.getSyPolicyno(),dto.getJqPremium(),dto.getSyPremium(),
  248. dto.getTaxamount(),dto.getJqSuperviseCostsProportion(),dto.getSySuperviseCostsProportion(),dto.getCommissionFeevalue(),addTypeId);
  249. map.put("dto",insPlyIncome);
  250. }
  251. return map;
  252. }
  253. /**
  254. * @version
  255. * @author: hxl
  256. * @Date: 2024/9/21 16:49
  257. * @Description: 车险跟单
  258. */
  259. public static Map<String, Object> checkDataDto2(AddTypeCXGDExcel dto) {
  260. Map<String,Object> map =new HashMap<String,Object>();
  261. String errorMsg ="";
  262. if(checkSignDate(dto.getSignDate(), "签单时间")!=null){
  263. errorMsg+=checkSignDate(dto.getSignDate(), "签单时间")+"; ";
  264. }
  265. if(checkIsNull(dto.getLicenseno(), "车牌号")!=null){
  266. errorMsg+=checkIsNull(dto.getSignDate(), "车牌号")+"; ";
  267. }
  268. String companyId =null;
  269. Map<String, String> companyMap = checkCompanyName(dto.getCompanyName(), "保险公司");
  270. if(companyMap!=null && companyMap.get("msg")!=null){
  271. errorMsg+=companyMap.get("msg").toString()+"; ";
  272. }else if(companyMap.get("msg")==null){
  273. companyId = companyMap.get("id").toString();
  274. }
  275. String partnerCompaniesId =null;
  276. Map<String, String> companySubMap = checkCompanyName(dto.getPartnerCompaniesName(), "保司机构");
  277. if(companySubMap!=null && companySubMap.get("msg")!=null){
  278. errorMsg+=companySubMap+"; ";
  279. }else if( companySubMap.get("msg")==null){
  280. partnerCompaniesId = companySubMap.get("id");
  281. }
  282. if(checkRiskcode(dto.getRiskcode(), "险种")!=null){
  283. errorMsg+=checkRiskcode(dto.getSignDate(), "险种")+"; ";
  284. }
  285. String agreeId=null;
  286. String agreeDeptId =null;
  287. PtlAgreement ptl= null;
  288. Map<String, Object> agreeMap = checkAgreeName(dto.getAgreementName(), "协议选择", "2");
  289. if(agreeMap!=null && agreeMap.get("msg")!=null){
  290. errorMsg+=agreeMap.get("msg").toString()+"; ";
  291. }else if(agreeMap.get("msg")==null){
  292. ptl =((PtlAgreement)agreeMap.get("id"));
  293. agreeId = ((PtlAgreement)agreeMap.get("id")).getId().toString();
  294. agreeDeptId = ((PtlAgreement)agreeMap.get("id")).getDeptId().toString();
  295. }
  296. if(checkIsNull(dto.getInsuredName(), "被保险人")!=null){
  297. errorMsg+=checkIsNull(dto.getInsuredName(), "被保险人")+"; ";
  298. }
  299. if(checkIsNull(dto.getPolicyno(), "交强保单号")!=null){
  300. errorMsg+=checkIsNull(dto.getPolicyno(), "交强保单号")+"; ";
  301. }
  302. if(checkIsNull(dto.getSyPolicyno(), "商业保单号")!=null){
  303. errorMsg+=checkIsNull(dto.getSyPolicyno(), "商业保单号")+"; ";
  304. }
  305. if(isNumeric(dto.getJqPremium(), "交强险保费")!=null){
  306. errorMsg+=isNumeric(dto.getJqPremium(), "交强险保费")+"; ";
  307. }
  308. if(isNumeric(dto.getSyPremium(), "商业险保费")!=null){
  309. errorMsg+=isNumeric(dto.getSyPremium(), "商业险保费")+"; ";
  310. }
  311. if(isNumeric(dto.getTaxamount(), "车船税")!=null){
  312. errorMsg+=isNumeric(dto.getTaxamount(), "车船税")+"; ";
  313. }
  314. if(isNumeric(dto.getJqOtherCostsProportion(), "交强跟单比例")!=null){
  315. errorMsg+=isNumeric(dto.getJqOtherCostsProportion(), "交强跟单比例")+"; ";
  316. }
  317. if(isNumeric(dto.getSyOtherCostsProportion(), "商业跟单比例")!=null){
  318. errorMsg+=isNumeric(dto.getSyOtherCostsProportion(), "商业跟单比例")+"; ";
  319. }
  320. if(isNumeric(dto.getOtherFeevalue(), "跟单费金额")!=null){
  321. errorMsg+=isNumeric(dto.getOtherFeevalue(), "跟单费金额")+"; ";
  322. }
  323. String addTypeId =null;
  324. Map<String, String> addTypeMap = checkAddType(dto.getAddType(), "类型");
  325. if(addTypeMap!=null && addTypeMap.get("msg")!=null){
  326. errorMsg+=addTypeMap.get("msg").toString()+"; ";
  327. }else if(addTypeMap.get("msg")==null){
  328. addTypeId = addTypeMap.get("id").toString();
  329. }
  330. //添加验证协议id 和保险公司id和保司机构id匹配 add by hxl 2024-10-12
  331. if(companyId!=null && partnerCompaniesId !=null && ptl!=null ){
  332. if(!ptl.getInsuranceCompanyId().equals(companyId) || !ptl.getPartnerCompaniesId().equals(partnerCompaniesId)){
  333. errorMsg+="协议选择和保险公司和保司机构名称不一致,请确认;";
  334. }
  335. }
  336. map.put("msg",errorMsg);
  337. if(StringUtils.isBlank(errorMsg)){
  338. InsPlyIncome insPlyIncome =new InsPlyIncome(dto.getSignDate(),dto.getLicenseno(),companyId,dto.getCompanyName(),partnerCompaniesId,dto.getPartnerCompaniesName(),
  339. dto.getRiskcode(),agreeId,agreeDeptId,dto.getInsuredName(),dto.getPolicyno(),dto.getSyPolicyno(),dto.getJqPremium(),dto.getSyPremium(),
  340. dto.getTaxamount(),dto.getJqOtherCostsProportion(),dto.getSyOtherCostsProportion(),dto.getOtherFeevalue(),addTypeId,null);
  341. map.put("dto",insPlyIncome);
  342. }
  343. return map;
  344. }
  345. /**
  346. * @version
  347. * @author: hxl
  348. * @Date: 2024/9/21 16:50
  349. * @Description: 非车手续费
  350. */
  351. public static Map<String, Object> checkDataDto3(AddTypeFCSXFExcel dto) {
  352. Map<String,Object> map =new HashMap<String,Object>();
  353. String errorMsg ="";
  354. if(checkSignDate(dto.getSignDate(), "签单时间")!=null){
  355. errorMsg+=checkSignDate(dto.getSignDate(), "签单时间")+"; ";
  356. }
  357. if(checkIsNull(dto.getLicenseno(), "车牌号")!=null){
  358. errorMsg+=checkIsNull(dto.getSignDate(), "车牌号")+"; ";
  359. }
  360. String companyId =null;
  361. Map<String, String> companyMap = checkCompanyName(dto.getCompanyName(), "保险公司");
  362. if(companyMap!=null && companyMap.get("msg")!=null){
  363. errorMsg+=companyMap.get("msg").toString()+"; ";
  364. }else if(companyMap.get("msg")==null){
  365. companyId = companyMap.get("id").toString();
  366. }
  367. String partnerCompaniesId =null;
  368. Map<String, String> companySubMap = checkCompanyName(dto.getPartnerCompaniesName(), "保司机构");
  369. if(companySubMap!=null && companySubMap.get("msg")!=null){
  370. errorMsg+=companySubMap+"; ";
  371. }else if( companySubMap.get("msg")==null){
  372. partnerCompaniesId = companySubMap.get("id");
  373. }
  374. if(checkRiskcode(dto.getRiskcode(), "险种")!=null){
  375. errorMsg+=checkRiskcode(dto.getSignDate(), "险种")+"; ";
  376. }
  377. String agreeId=null;
  378. String agreeDeptId =null;
  379. PtlAgreement ptl= null;
  380. Map<String, Object> agreeMap = checkAgreeName(dto.getAgreementName(), "协议选择", "2");
  381. if(agreeMap!=null && agreeMap.get("msg")!=null){
  382. errorMsg+=agreeMap.get("msg").toString()+"; ";
  383. }else if(agreeMap.get("msg")==null){
  384. ptl =((PtlAgreement)agreeMap.get("id"));
  385. agreeId = ((PtlAgreement)agreeMap.get("id")).getId().toString();
  386. agreeDeptId = ((PtlAgreement)agreeMap.get("id")).getDeptId().toString();
  387. }
  388. if(checkIsNull(dto.getInsuredName(), "被保险人")!=null){
  389. errorMsg+=checkIsNull(dto.getInsuredName(), "被保险人")+"; ";
  390. }
  391. if(checkIsNull(dto.getNoPolicyno(), "非车保单号")!=null){
  392. errorMsg+=checkIsNull(dto.getNoPolicyno(), "非车保单号")+"; ";
  393. }
  394. if(isNumeric(dto.getNoPremium(), "非车保费")!=null){
  395. errorMsg+=isNumeric(dto.getNoPremium(), "非车保费")+"; ";
  396. }
  397. if(isNumeric(dto.getNoSuperviseCostsProportion(), "非车手续费比例")!=null){
  398. errorMsg+=isNumeric(dto.getNoSuperviseCostsProportion(), "非车手续费比例")+"; ";
  399. }
  400. if(isNumeric(dto.getNoSuperviseCostsPremiums(), "手续费金额")!=null){
  401. errorMsg+=isNumeric(dto.getNoSuperviseCostsPremiums(), "手续费金额")+"; ";
  402. }
  403. String addTypeId =null;
  404. Map<String, String> addTypeMap = checkAddType(dto.getAddType(), "类型");
  405. if(addTypeMap!=null && addTypeMap.get("msg")!=null){
  406. errorMsg+=addTypeMap.get("msg").toString()+"; ";
  407. }else if(addTypeMap.get("msg")==null){
  408. addTypeId = addTypeMap.get("id").toString();
  409. }
  410. //添加验证协议id 和保险公司id和保司机构id匹配 add by hxl 2024-10-12
  411. if(companyId!=null && partnerCompaniesId !=null && ptl!=null ){
  412. if(!ptl.getInsuranceCompanyId().equals(companyId) || !ptl.getPartnerCompaniesId().equals(partnerCompaniesId)){
  413. errorMsg+="协议选择和保险公司和保司机构名称不一致,请确认;";
  414. }
  415. }
  416. map.put("msg",errorMsg);
  417. if(StringUtils.isBlank(errorMsg)){
  418. InsPlyIncome insPlyIncome =new InsPlyIncome(dto.getSignDate(),dto.getLicenseno(),companyId,dto.getCompanyName(),partnerCompaniesId,dto.getPartnerCompaniesName(),
  419. dto.getRiskcode(),agreeId,agreeDeptId,dto.getInsuredName(),dto.getNoPolicyno(),dto.getNoPremium(),dto.getNoSuperviseCostsProportion(),null,
  420. dto.getNoSuperviseCostsPremiums(),addTypeId);
  421. map.put("dto",insPlyIncome);
  422. }
  423. return map;
  424. }
  425. /**
  426. * @version
  427. * @author: hxl
  428. * @Date: 2024/9/21 16:50
  429. * @Description: 非车跟单
  430. */
  431. public static Map<String, Object> checkDataDto4(AddTypeFCGDExcel dto) {
  432. Map<String,Object> map =new HashMap<String,Object>();
  433. String errorMsg ="";
  434. if(checkSignDate(dto.getSignDate(), "签单时间")!=null){
  435. errorMsg+=checkSignDate(dto.getSignDate(), "签单时间")+"; ";
  436. }
  437. if(checkIsNull(dto.getLicenseno(), "车牌号")!=null){
  438. errorMsg+=checkIsNull(dto.getSignDate(), "车牌号")+"; ";
  439. }
  440. String companyId =null;
  441. Map<String, String> companyMap = checkCompanyName(dto.getCompanyName(), "保险公司");
  442. if(companyMap!=null && companyMap.get("msg")!=null){
  443. errorMsg+=companyMap.get("msg").toString()+"; ";
  444. }else if(companyMap.get("msg")==null){
  445. companyId = companyMap.get("id").toString();
  446. }
  447. String partnerCompaniesId =null;
  448. Map<String, String> companySubMap = checkCompanyName(dto.getPartnerCompaniesName(), "保司机构");
  449. if(companySubMap!=null && companySubMap.get("msg")!=null){
  450. errorMsg+=companySubMap+"; ";
  451. }else if( companySubMap.get("msg")==null){
  452. partnerCompaniesId = companySubMap.get("id");
  453. }
  454. if(checkRiskcode(dto.getRiskcode(), "险种")!=null){
  455. errorMsg+=checkRiskcode(dto.getSignDate(), "险种")+"; ";
  456. }
  457. String agreeId=null;
  458. String agreeDeptId =null;
  459. PtlAgreement ptl= null;
  460. Map<String, Object> agreeMap = checkAgreeName(dto.getAgreementName(), "协议选择", "2");
  461. if(agreeMap!=null && agreeMap.get("msg")!=null){
  462. errorMsg+=agreeMap.get("msg").toString()+"; ";
  463. }else if(agreeMap.get("msg")==null){
  464. ptl =((PtlAgreement)agreeMap.get("id"));
  465. agreeId = ((PtlAgreement)agreeMap.get("id")).getId().toString();
  466. agreeDeptId = ((PtlAgreement)agreeMap.get("id")).getDeptId().toString();
  467. }
  468. if(checkIsNull(dto.getInsuredName(), "被保险人")!=null){
  469. errorMsg+=checkIsNull(dto.getInsuredName(), "被保险人")+"; ";
  470. }
  471. if(checkIsNull(dto.getNoPolicyno(), "非车保单号")!=null){
  472. errorMsg+=checkIsNull(dto.getNoPolicyno(), "非车保单号")+"; ";
  473. }
  474. if(checkIsNull(dto.getNoPremium(), "非车保费")!=null){
  475. errorMsg+=checkIsNull(dto.getNoPremium(), "非车保费")+"; ";
  476. }
  477. if(isNumeric(dto.getNoOtherCostsProportion(), "非车跟单费比例")!=null){
  478. errorMsg+=isNumeric(dto.getNoOtherCostsProportion(), "非车跟单费比例")+"; ";
  479. }
  480. if(isNumeric(dto.getNoOtherCostsPremium(), "跟单费金额")!=null){
  481. errorMsg+=isNumeric(dto.getNoOtherCostsPremium(), "跟单费金额")+"; ";
  482. }
  483. String addTypeId =null;
  484. Map<String, String> addTypeMap = checkAddType(dto.getAddType(), "类型");
  485. if(addTypeMap!=null && addTypeMap.get("msg")!=null){
  486. errorMsg+=addTypeMap.get("msg").toString()+"; ";
  487. }else if(addTypeMap.get("msg")==null){
  488. addTypeId = addTypeMap.get("id").toString();
  489. }
  490. //添加验证协议id 和保险公司id和保司机构id匹配 add by hxl 2024-10-12
  491. if(companyId!=null && partnerCompaniesId !=null && ptl!=null ){
  492. if(!ptl.getInsuranceCompanyId().equals(companyId) || !ptl.getPartnerCompaniesId().equals(partnerCompaniesId)){
  493. errorMsg+="协议选择和保险公司和保司机构名称不一致,请确认;";
  494. }
  495. }
  496. map.put("msg",errorMsg);
  497. if(StringUtils.isBlank(errorMsg)){
  498. InsPlyIncome insPlyIncome =new InsPlyIncome(dto.getSignDate(),dto.getLicenseno(),companyId,dto.getCompanyName(),partnerCompaniesId,dto.getPartnerCompaniesName(),
  499. dto.getRiskcode(),agreeId,agreeDeptId,dto.getInsuredName(),dto.getNoPolicyno(),dto.getNoPremium(),dto.getNoOtherCostsProportion(),dto.getNoOtherCostsPremium(),addTypeId);
  500. map.put("dto",insPlyIncome);
  501. }
  502. return map;
  503. }
  504. /**
  505. * @version
  506. * @author: hxl
  507. * @Date: 2024/9/21 16:50
  508. * @Description: 平台结算
  509. */
  510. public static Map<String, Object> checkDataDto5(AddTypePTJSExcel dto) {
  511. Map<String,Object> map =new HashMap<String,Object>();
  512. String errorMsg ="";
  513. if(checkSignDate(dto.getSignDate(), "签单时间")!=null){
  514. errorMsg+=checkSignDate(dto.getSignDate(), "签单时间")+"; ";
  515. }
  516. if(checkIsNull(dto.getLicenseno(), "车牌号")!=null){
  517. errorMsg+=checkIsNull(dto.getSignDate(), "车牌号")+"; ";
  518. }
  519. String companyId =null;
  520. Map<String, String> companyMap = checkCompanyName(dto.getCompanyName(), "保险公司");
  521. if(companyMap!=null && companyMap.get("msg")!=null){
  522. errorMsg+=companyMap.get("msg").toString()+"; ";
  523. }else if(companyMap.get("msg")==null){
  524. companyId = companyMap.get("id").toString();
  525. }
  526. String partnerCompaniesId =null;
  527. Map<String, String> companySubMap = checkCompanyName(dto.getPartnerCompaniesName(), "保司机构");
  528. if(companySubMap!=null && companySubMap.get("msg")!=null){
  529. errorMsg+=companySubMap+"; ";
  530. }else if( companySubMap.get("msg")==null){
  531. partnerCompaniesId = companySubMap.get("id");
  532. }
  533. if(checkRiskcode(dto.getRiskcode(), "险种")!=null){
  534. errorMsg+=checkRiskcode(dto.getSignDate(), "险种")+"; ";
  535. }
  536. String agreeId=null;
  537. String agreeDeptId =null;
  538. PtlAgreement ptl= null;
  539. Map<String, Object> agreeMap = checkAgreeName(dto.getAgreementName(), "协议选择", "1");
  540. if(agreeMap!=null && agreeMap.get("msg")!=null){
  541. errorMsg+=agreeMap.get("msg").toString()+"; ";
  542. }else if(agreeMap.get("msg")==null){
  543. ptl =((PtlAgreement)agreeMap.get("id"));
  544. agreeId = ((PtlAgreement)agreeMap.get("id")).getId().toString();
  545. agreeDeptId = ((PtlAgreement)agreeMap.get("id")).getDeptId().toString();
  546. }
  547. if(checkIsNull(dto.getInsuredName(), "被保险人")!=null){
  548. errorMsg+=checkIsNull(dto.getInsuredName(), "被保险人")+"; ";
  549. }
  550. if(checkIsNull(dto.getPolicyno(), "交强保单号")!=null){
  551. errorMsg+=checkIsNull(dto.getPolicyno(), "交强保单号")+"; ";
  552. }
  553. if(checkIsNull(dto.getSyPolicyno(), "商业保单号")!=null){
  554. errorMsg+=checkIsNull(dto.getSyPolicyno(), "商业保单号")+"; ";
  555. }
  556. if(checkIsNull(dto.getNoPolicyno(), "非车保单号")!=null){
  557. errorMsg+=checkIsNull(dto.getNoPolicyno(), "非车保单号")+"; ";
  558. }
  559. if(isNumeric(dto.getJqPremium(), "交强险保费")!=null){
  560. errorMsg+=isNumeric(dto.getJqPremium(), "交强险保费")+"; ";
  561. }
  562. if(isNumeric(dto.getSyPremium(), "商业险保费")!=null){
  563. errorMsg+=isNumeric(dto.getSyPremium(), "商业险保费")+"; ";
  564. }
  565. if(isNumeric(dto.getTaxamount(), "车船税")!=null){
  566. errorMsg+=isNumeric(dto.getTaxamount(), "车船税")+"; ";
  567. }
  568. if(isNumeric(dto.getNoPremium(), "非车保费")!=null){
  569. errorMsg+=isNumeric(dto.getNoPremium(), "非车保费")+"; ";
  570. }
  571. if(isNumeric(dto.getJqReceivableProportion(), "交强应收比例")!=null){
  572. errorMsg+=isNumeric(dto.getJqReceivableProportion(), "交强应收比例")+"; ";
  573. }
  574. if(isNumeric(dto.getSyReceivableProportion(), "商业应收比例")!=null){
  575. errorMsg+=isNumeric(dto.getSyReceivableProportion(), "商业应收比例")+"; ";
  576. }
  577. if(isNumeric(dto.getNoReceivableProportion(), "非车应收比例")!=null){
  578. errorMsg+=isNumeric(dto.getNoReceivableProportion(), "非车应收比例")+"; ";
  579. }
  580. if(isNumeric(dto.getReceivableAmount(), "应收金额")!=null){
  581. errorMsg+=isNumeric(dto.getReceivableAmount(), "应收金额")+"; ";
  582. }
  583. String addTypeId =null;
  584. Map<String, String> addTypeMap = checkAddType(dto.getAddType(), "类型");
  585. if(addTypeMap!=null && addTypeMap.get("msg")!=null){
  586. errorMsg+=addTypeMap.get("msg").toString()+"; ";
  587. }else if(addTypeMap.get("msg")==null){
  588. addTypeId = addTypeMap.get("id").toString();
  589. }
  590. //添加验证协议id 和保险公司id和保司机构id匹配 add by hxl 2024-10-12
  591. if(companyId!=null && partnerCompaniesId !=null && ptl!=null ){
  592. if(!ptl.getInsuranceCompanyId().equals(companyId) || !ptl.getPartnerCompaniesId().equals(partnerCompaniesId)){
  593. errorMsg+="协议选择和保险公司和保司机构名称不一致,请确认;";
  594. }
  595. }
  596. map.put("msg",errorMsg);
  597. if(StringUtils.isBlank(errorMsg)){
  598. InsPlyIncome insPlyIncome =new InsPlyIncome(dto.getSignDate(),dto.getLicenseno(),companyId,dto.getCompanyName(),partnerCompaniesId,dto.getPartnerCompaniesName(),
  599. dto.getRiskcode(),agreeId,agreeDeptId,dto.getInsuredName(),dto.getPolicyno(),dto.getSyPolicyno(),dto.getJqPremium(),dto.getSyPremium(),
  600. dto.getTaxamount(),dto.getNoPolicyno(),dto.getNoPremium(),dto.getJqReceivableProportion(),dto.getSyReceivableProportion(),dto.getNoReceivableProportion(),dto.getReceivableAmount(),addTypeId);
  601. map.put("dto",insPlyIncome);
  602. }
  603. return map;
  604. }
  605. }