InsOrdersMapper.xml 37 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE mapper
  3. PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  4. "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  5. <mapper namespace="com.ydtech.modules.order.dao.InsOrdersMapper">
  6. <resultMap id="BaseResultMap" type="com.ydtech.modules.order.entity.InsOrders">
  7. <id property="orderno" column="orderno" jdbcType="VARCHAR"/>
  8. <result property="quoteno" column="quoteno" jdbcType="VARCHAR"/>
  9. <result property="orderstatus" column="orderstatus" jdbcType="VARCHAR"/>
  10. <result property="companyId" column="company_id" jdbcType="VARCHAR"/>
  11. <result property="insCompany" column="ins_company" jdbcType="VARCHAR"/>
  12. <result property="carinfo" column="carinfo" javaType="com.alibaba.fastjson.JSONObject"
  13. typeHandler="com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler" jdbcType="VARCHAR"/>
  14. <result property="userid" column="userid" jdbcType="VARCHAR"/>
  15. <result property="username" column="username" jdbcType="VARCHAR"/>
  16. <result property="deptid" column="deptid" jdbcType="VARCHAR"/>
  17. <result property="deptname" column="deptname" jdbcType="VARCHAR"/>
  18. <result property="ownerinfo" column="ownerinfo" javaType="com.alibaba.fastjson.JSONObject"
  19. typeHandler="com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler" jdbcType="VARCHAR"/>
  20. <result property="applyinfo" column="applyinfo" javaType="com.alibaba.fastjson.JSONObject"
  21. typeHandler="com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler" jdbcType="VARCHAR"/>
  22. <result property="insureinfo" column="insureinfo" javaType="com.alibaba.fastjson.JSONObject"
  23. typeHandler="com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler"
  24. jdbcType="VARCHAR"/>
  25. <result property="agreeid" column="agreeid" jdbcType="VARCHAR"/>
  26. <result property="productid" column="productid" jdbcType="VARCHAR"/>
  27. <result property="product" column="product" jdbcType="VARCHAR"/>
  28. <result property="createtime" column="createtime" jdbcType="TIMESTAMP"/>
  29. <result property="frameno" column="frameno" jdbcType="VARCHAR"/>
  30. <result property="licenseno" column="licenseno" jdbcType="VARCHAR"/>
  31. <result property="insuredname" column="insuredname" jdbcType="VARCHAR"/>
  32. <result property="jqstartdate" column="jqstartdate" jdbcType="VARCHAR"/>
  33. <result property="jqenddate" column="jqenddate" jdbcType="VARCHAR"/>
  34. <result property="systartdate" column="systartdate" jdbcType="VARCHAR"/>
  35. <result property="syenddate" column="syenddate" jdbcType="VARCHAR"/>
  36. <result property="risk" column="risk" javaType="com.alibaba.fastjson.JSONArray"
  37. typeHandler="com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler" jdbcType="VARCHAR"/>
  38. <result property="king" column="king" javaType="com.alibaba.fastjson.JSONArray"
  39. typeHandler="com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler" jdbcType="VARCHAR"/>
  40. <result property="vehicleAndVesselTax" column="vehicle_and_vessel_tax"
  41. javaType="com.alibaba.fastjson.JSONObject"
  42. typeHandler="com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler" jdbcType="VARCHAR"/>
  43. </resultMap>
  44. <resultMap id="OrderResultMap" type="com.ydtech.modules.order.entity.vo.OrderVo">
  45. <id property="orderno" column="orderno" jdbcType="VARCHAR"/>
  46. <result property="quoteno" column="quoteno" jdbcType="VARCHAR"/>
  47. <result property="orderstatus" column="orderstatus" jdbcType="VARCHAR"/>
  48. <result property="carinfo" column="carinfo" javaType="com.alibaba.fastjson.JSONObject"
  49. typeHandler="com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler" jdbcType="VARCHAR"/>
  50. <result property="userid" column="userid" jdbcType="VARCHAR"/>
  51. <result property="username" column="username" jdbcType="VARCHAR"/>
  52. <result property="deptid" column="deptid" jdbcType="VARCHAR"/>
  53. <result property="deptname" column="deptname" jdbcType="VARCHAR"/>
  54. <result property="ownerinfo" column="ownerinfo" javaType="com.alibaba.fastjson.JSONObject"
  55. typeHandler="com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler" jdbcType="VARCHAR"/>
  56. <result property="applyinfo" column="applyinfo" javaType="com.alibaba.fastjson.JSONObject"
  57. typeHandler="com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler" jdbcType="VARCHAR"/>
  58. <result property="insureinfo" column="insureinfo" javaType="com.alibaba.fastjson.JSONObject"
  59. typeHandler="com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler"
  60. jdbcType="VARCHAR"/>
  61. <result property="agreeid" column="agreeid" jdbcType="VARCHAR"/>
  62. <result property="productid" column="productid" jdbcType="VARCHAR"/>
  63. <result property="product" column="product" jdbcType="VARCHAR"/>
  64. <result property="frameno" column="frameno" jdbcType="VARCHAR"/>
  65. <result property="licenseno" column="licenseno" jdbcType="VARCHAR"/>
  66. <result property="insuredname" column="insuredname" jdbcType="VARCHAR"/>
  67. <result property="jqstartdate" column="jqstartdate" jdbcType="VARCHAR"/>
  68. <result property="jqenddate" column="jqenddate" jdbcType="VARCHAR"/>
  69. <result property="systartdate" column="systartdate" jdbcType="VARCHAR"/>
  70. <result property="syenddate" column="syenddate" jdbcType="VARCHAR"/>
  71. <result property="id" column="id" jdbcType="BIGINT"/>
  72. <result property="companyId" column="company_id" jdbcType="BIGINT"/>
  73. <result property="reptxt" column="reptxt" javaType="com.alibaba.fastjson.JSONObject"
  74. typeHandler="com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler" jdbcType="VARCHAR"/>
  75. <result property="vehicleAndVesselTax" column="vehicle_and_vessel_tax"
  76. javaType="com.alibaba.fastjson.JSONObject"
  77. typeHandler="com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler" jdbcType="VARCHAR"/>
  78. <result property="inscompany" column="inscompany" jdbcType="VARCHAR"/>
  79. <result property="jqapplyno" column="jqapplyno" jdbcType="VARCHAR"/>
  80. <result property="jqpolicyno" column="jqpolicyno" jdbcType="VARCHAR"/>
  81. <result property="syapplyno" column="syapplyno" jdbcType="VARCHAR"/>
  82. <result property="sypolicyno" column="sypolicyno" jdbcType="VARCHAR"/>
  83. <result property="riskinfo" column="riskinfo" javaType="com.alibaba.fastjson.JSONArray"
  84. typeHandler="com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler" jdbcType="VARCHAR"/>
  85. <result property="kindinfo" column="kindinfo" javaType="com.alibaba.fastjson.JSONArray"
  86. typeHandler="com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler" jdbcType="VARCHAR"/>
  87. <result property="jqpremium" column="jqpremium" jdbcType="DECIMAL"/>
  88. <result property="sypremium" column="sypremium" jdbcType="DECIMAL"/>
  89. <result property="jypremium" column="jypremium" jdbcType="DECIMAL"/>
  90. <result property="taxamount" column="taxamount" jdbcType="DECIMAL"/>
  91. <result property="sumpremium" column="sumpremium" jdbcType="DECIMAL"/>
  92. <result property="jqdiscountrate" column="jqdiscountrate" jdbcType="DOUBLE"/>
  93. <result property="sydiscountrate" column="sydiscountrate" jdbcType="DOUBLE"/>
  94. <result property="feerate" column="feerate" jdbcType="DOUBLE"/>
  95. <result property="disrate" column="disrate" jdbcType="DOUBLE"/>
  96. <result property="auditid" column="auditid" jdbcType="VARCHAR"/>
  97. <result property="auditname" column="auditname" jdbcType="VARCHAR"/>
  98. <result property="audittime" column="audittime" jdbcType="TIMESTAMP"/>
  99. <result property="auditopinion" column="auditopinion" jdbcType="VARCHAR"/>
  100. <result property="jqappoint" column="jqappoint" jdbcType="VARCHAR"/>
  101. <result property="syappoint" column="syappoint" jdbcType="VARCHAR"/>
  102. <result property="createtime" column="createtime" jdbcType="TIMESTAMP"/>
  103. <result property="paymentLink" column="payment_link" jdbcType="VARCHAR"/>
  104. <result property="accidentInfo" column="accident_info" javaType="com.alibaba.fastjson.JSONArray"
  105. typeHandler="com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler" jdbcType="VARCHAR"/>
  106. <result property="taxArrears" column="tax_arrears" javaType="com.alibaba.fastjson.JSONArray"
  107. typeHandler="com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler" jdbcType="VARCHAR"/>
  108. <result property="crossInsurance" column="cross_insurance" javaType="com.alibaba.fastjson.JSONArray"
  109. typeHandler="com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler" jdbcType="VARCHAR"/>
  110. </resultMap>
  111. <resultMap id="OrderExcelResultMap" type="com.ydtech.modules.ins.model.InsOrdersExcel">
  112. <id property="orderNo" column="orderno" jdbcType="VARCHAR"/>
  113. <result property="licenseNo" column="licenseno" jdbcType="VARCHAR"/>
  114. <result property="fraMeno" column="frameno" jdbcType="VARCHAR"/>
  115. <result property="carInfo" column="carinfo" javaType="com.alibaba.fastjson.JSONObject" typeHandler="com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler" jdbcType="VARCHAR"/>
  116. <result property="score" column="score" jdbcType="VARCHAR"/>
  117. <result property="ownerInfo" column="ownerinfo" javaType="com.alibaba.fastjson.JSONObject" typeHandler="com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler" jdbcType="VARCHAR"/>
  118. <result property="jqpRemIum" column="jqpremium" jdbcType="VARCHAR"/>
  119. <result property="apiType" column="api_type" jdbcType="VARCHAR"/>
  120. <result property="jqPolicyno" column="jqpolicyno" jdbcType="VARCHAR"/>
  121. <result property="sypRemIum" column="sypremium" jdbcType="VARCHAR"/>
  122. <result property="syPolicyno" column="sypolicyno" jdbcType="VARCHAR"/>
  123. <result property="jypRemIum" column="jypremium" jdbcType="VARCHAR"/>
  124. <result property="taxaMount" column="taxamount" jdbcType="VARCHAR"/>
  125. <result property="jqStartDate" column="jq_start_date" jdbcType="VARCHAR"/>
  126. <result property="jqEndDate" column="jq_end_date" jdbcType="VARCHAR"/>
  127. <result property="syStartDate" column="sy_start_date" jdbcType="VARCHAR"/>
  128. <result property="syEndDate" column="sy_end_date" jdbcType="VARCHAR"/>
  129. <result property="jqScore" column="jq_score" jdbcType="VARCHAR"/>
  130. <result property="syScore" column="sy_score" jdbcType="VARCHAR"/>
  131. <result property="lossRation" column="loss_ration" jdbcType="VARCHAR"/>
  132. <result property="jqLossRation" column="jq_loss_ration" jdbcType="VARCHAR"/>
  133. <result property="syLossRation" column="sy_loss_ration" jdbcType="VARCHAR"/>
  134. <result property="insCompany" column="inscompany" jdbcType="VARCHAR"/>
  135. <result property="agreementId" column="agreement_id" jdbcType="VARCHAR"/>
  136. <result property="userId" column="userid" jdbcType="VARCHAR"/>
  137. <result property="userName" column="username" jdbcType="VARCHAR"/>
  138. <result property="applyInfo" column="applyinfo" javaType="com.alibaba.fastjson.JSONObject"
  139. typeHandler="com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler" jdbcType="VARCHAR"/>
  140. <result property="insureInfo" column="insureinfo" javaType="com.alibaba.fastjson.JSONObject"
  141. typeHandler="com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler" jdbcType="VARCHAR"/>
  142. <result property="kindInfo" column="kindinfo" javaType="com.alibaba.fastjson.JSONArray"
  143. typeHandler="com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler" jdbcType="VARCHAR"/>
  144. <result property="payDate" column="pay_date" jdbcType="VARCHAR"/>
  145. <result property="signingTime" column="signing_time" jdbcType="VARCHAR"/>
  146. <result property="crossInsurance" column="cross_insurance" javaType="com.alibaba.fastjson.JSONArray"
  147. typeHandler="com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler" jdbcType="VARCHAR"/>
  148. </resultMap>
  149. <sql id="Base_Column_List">
  150. orderno,quoteno,orderstatus,
  151. carinfo,userid,username,
  152. deptid,deptname,ownerinfo,
  153. applyinfo,insureinfo,agreeid,
  154. productid,product,createtime,
  155. frameno,licenseno,insuredname,
  156. jqstartdate,jqenddate,systartdate,
  157. syenddate
  158. </sql>
  159. <select id="getOrderAndAreaCompany" parameterType="java.lang.String" resultMap="OrderResultMap">
  160. select o.orderno,
  161. o.quoteno,
  162. o.carinfo,
  163. o.userid,
  164. o.username,
  165. o.deptid,
  166. o.deptname,
  167. o.ownerinfo,
  168. o.applyinfo,
  169. o.insureinfo,
  170. o.agreeid,
  171. o.productid,
  172. o.product,
  173. o.frameno,
  174. o.licenseno,
  175. o.insuredname,
  176. o.vehicle_and_vessel_tax,
  177. iac.jq_start_date as jqstartdate,
  178. iac.jq_end_date as jqenddate,
  179. iac.sy_start_date as systartdate,
  180. iac.sy_end_date as syenddate,
  181. iac.id,
  182. iac.company_id,
  183. iac.reptxt,
  184. iac.orderstatus,
  185. iac.inscompany,
  186. iac.jqapplyno,
  187. iac.jqpolicyno,
  188. iac.syapplyno,
  189. iac.sypolicyno,
  190. iac.riskinfo,
  191. iac.kindinfo,
  192. iac.jqpremium,
  193. iac.sypremium,
  194. iac.jypremium,
  195. iac.taxamount,
  196. iac.sumpremium,
  197. iac.jqdiscountrate,
  198. iac.sydiscountrate,
  199. iac.feerate,
  200. iac.disrate,
  201. iac.auditid,
  202. iac.auditname,
  203. iac.audittime,
  204. iac.auditopinion,
  205. iac.jqappoint,
  206. iac.syappoint,
  207. iac.createtime,
  208. iac.payment_link,
  209. iac.accident_info,
  210. iac.tax_arrears,
  211. iac.cross_insurance
  212. from ins_orders as o
  213. join ins_area_company iac on o.orderno = iac.orderno
  214. where iac.id = #{companyId}
  215. </select>
  216. <select id="getByUseridAndLicenseNo" resultType="com.ydtech.modules.order.entity.InsOrders"
  217. parameterType="com.ydtech.modules.order.entity.vo.VerifyOrdersVo">
  218. select orderno,
  219. quoteno,
  220. orderstatus,
  221. carinfo,
  222. userid,
  223. username,
  224. deptid,
  225. deptname,
  226. ownerinfo,
  227. applyinfo,
  228. insureinfo,
  229. agreeid,
  230. productid,
  231. product,
  232. createtime,
  233. frameno,
  234. licenseno,
  235. insuredname,
  236. jqstartdate,
  237. jqenddate,
  238. systartdate,
  239. syenddate,
  240. risk,
  241. king,
  242. vehicle_and_vessel_tax
  243. from ins_orders
  244. where userid = #{userId, jdbcType=VARCHAR}
  245. and licenseno = #{licenseNo, jdbcType=VARCHAR}
  246. and createtime > DATE_SUB(CURDATE(), INTERVAL 6 MONTH)
  247. </select>
  248. <select id="queryPageOrderCount" resultType="Long">
  249. select
  250. count(1)
  251. from (
  252. select
  253. io.orderno
  254. from
  255. ins_orders io
  256. <!--如果存在 公司查询则进行连表 -->
  257. <if test="orderQueryVo.companyId != null and orderQueryVo.companyId != ''">
  258. left JOIN
  259. ins_area_company iac on iac.orderno = io.orderno
  260. </if>
  261. <where>
  262. <if test="orderQueryVo.orderNo != null and orderQueryVo.orderNo != ''">
  263. and io.orderno = #{orderQueryVo.orderNo}
  264. </if>
  265. <if test="orderQueryVo.deptId != null and orderQueryVo.deptId != '' and isTeamLeader">
  266. and io.deptid like "${orderQueryVo.deptId}%"
  267. </if>
  268. <if test="orderQueryVo.orderStatus != null and orderQueryVo.orderStatus != ''">
  269. and io.orderstatus = #{orderQueryVo.orderStatus}
  270. </if>
  271. <if test="orderQueryVo.frameNo != null and orderQueryVo.frameNo != ''">
  272. and io.frameno = #{orderQueryVo.frameNo}
  273. </if>
  274. <if test="orderQueryVo.licenseNo != null and orderQueryVo.licenseNo != ''">
  275. and io.licenseno = #{orderQueryVo.licenseNo}
  276. </if>
  277. <if test="orderQueryVo.insuredName != null and orderQueryVo.insuredName != ''">
  278. and io.insuredname = #{orderQueryVo.insuredName}
  279. </if>
  280. <if test="orderQueryVo.startDate != null and orderQueryVo.endDate != null">
  281. and io.createtime between #{orderQueryVo.startDate} AND #{orderQueryVo.endDate}
  282. </if>
  283. <if test="orderQueryVo.companyId != null and orderQueryVo.companyId != ''">
  284. and iac.company_id = #{orderQueryVo.companyId}
  285. </if>
  286. <if test="orderQueryVo.userId != null and orderQueryVo.userId != '' and isCdy">
  287. and io.operatorid = #{orderQueryVo.userId}
  288. </if>
  289. <if test="orderQueryVo.userId != null and orderQueryVo.userId != '' and !isTeamLeader">
  290. and io.userid = #{orderQueryVo.userId}
  291. </if>
  292. </where>
  293. group by io.orderno
  294. ) as s
  295. </select>
  296. <select id="queryPageOrder" resultMap="BaseResultMap">
  297. select
  298. io.*
  299. from
  300. ins_orders io
  301. <!--如果存在 公司查询则进行连表 -->
  302. <if test="orderQueryVo.companyId != null and orderQueryVo.companyId != ''">
  303. left JOIN
  304. ins_area_company iac on iac.orderno = io.orderno
  305. </if>
  306. <where>
  307. <if test="orderQueryVo.orderNo != null and orderQueryVo.orderNo != ''">
  308. and io.orderno = #{orderQueryVo.orderNo}
  309. </if>
  310. <if test="orderQueryVo.deptId != null and orderQueryVo.deptId != '' and isTeamLeader">
  311. and io.deptid like "${orderQueryVo.deptId}%"
  312. </if>
  313. <if test="orderQueryVo.orderStatus != null and orderQueryVo.orderStatus != ''">
  314. and io.orderstatus = #{orderQueryVo.orderStatus}
  315. </if>
  316. <if test="orderQueryVo.frameNo != null and orderQueryVo.frameNo != ''">
  317. and io.frameno = #{orderQueryVo.frameNo}
  318. </if>
  319. <if test="orderQueryVo.licenseNo != null and orderQueryVo.licenseNo != ''">
  320. and io.licenseno = #{orderQueryVo.licenseNo}
  321. </if>
  322. <if test="orderQueryVo.insuredName != null and orderQueryVo.insuredName != ''">
  323. and io.insuredname = #{orderQueryVo.insuredName}
  324. </if>
  325. <if test="orderQueryVo.startDate != null and orderQueryVo.endDate != null">
  326. and io.createtime between #{orderQueryVo.startDate} AND #{orderQueryVo.endDate}
  327. </if>
  328. <if test="orderQueryVo.companyId != null and orderQueryVo.companyId != ''">
  329. and iac.company_id = #{orderQueryVo.companyId}
  330. </if>
  331. <if test="orderQueryVo.userId != null and orderQueryVo.userId != '' and isCdy">
  332. and io.operatorid = #{orderQueryVo.userId}
  333. </if>
  334. <if test="orderQueryVo.userId != null and orderQueryVo.userId != '' and !isTeamLeader">
  335. and io.userid = #{orderQueryVo.userId}
  336. </if>
  337. </where>
  338. group by orderno
  339. order by io.createtime desc
  340. </select>
  341. <select id="queryOrderList" parameterType="com.ydtech.modules.ins.model.InsOrdersExcelVo" resultMap="OrderExcelResultMap">
  342. select
  343. a.orderno,
  344. a.licenseno,
  345. a.frameno,
  346. a.carinfo,
  347. b.api_type,
  348. b.score,
  349. a.ownerinfo,
  350. b.jqpremium,
  351. b.jqpolicyno,
  352. b.sypremium,
  353. b.sypolicyno,
  354. b.jypremium,
  355. b.taxamount,
  356. b.jq_start_date,
  357. b.jq_end_date,
  358. b.sy_start_date,
  359. b.sy_end_date,
  360. b.score,
  361. b.jq_score,
  362. b.sy_score,
  363. b.loss_ration,
  364. b.jq_loss_ration,
  365. b.sy_loss_ration,
  366. b.score,
  367. b.inscompany,
  368. b.agreement_id,
  369. a.userid,
  370. a.username,
  371. a.applyinfo,
  372. a.insureinfo,
  373. b.kindinfo,
  374. b.pay_date,
  375. b.signing_time,
  376. b.cross_insurance
  377. FROM ins_orders a LEFT JOIN ins_area_company b on a.orderno = b.orderno
  378. WHERE
  379. 1 = 1
  380. <if test="orderstatus != null and orderstatus != '' ">
  381. and b.orderstatus = #{orderstatus}
  382. </if>
  383. <if test="startDate != null ">
  384. and a.createtime &gt;= #{startDate}
  385. </if>
  386. <if test="endDate != null ">
  387. and a.createtime &lt;= #{endDate}
  388. </if>
  389. </select>
  390. <resultMap id="PolicyInsuranceReportMap" type="com.ydtech.modules.order.entity.vo.PolicyInsuranceReportResVo">
  391. <result property="insCompany" column="insCompany" jdbcType="VARCHAR"/>
  392. <result property="agreementName" column="agreementName" jdbcType="VARCHAR"/>
  393. <result property="policyNo" column="policyNo" jdbcType="VARCHAR"/>
  394. <result property="quoteDate" column="quoteDate" jdbcType="VARCHAR"/>
  395. <result property="policyStartDate" column="policyStartDate" jdbcType="VARCHAR"/>
  396. <result property="riskName" column="riskName" jdbcType="VARCHAR"/>
  397. <result property="sumPremium" column="sumPremium" jdbcType="DECIMAL"/>
  398. <result property="taxPremium" column="taxPremium" jdbcType="DECIMAL"/>
  399. <result property="taxLaterPremium" column="taxLaterPremium" jdbcType="DECIMAL"/>
  400. <result property="insuranceSubAmount" column="insuranceSubAmount" jdbcType="VARCHAR"/>
  401. <result property="licenseNo" column="licenseNo" jdbcType="VARCHAR"/>
  402. <result property="vehicleUse" column="vehicleUse" jdbcType="VARCHAR"/>
  403. <result property="powerType" column="powerType" jdbcType="VARCHAR"/>
  404. <result property="ciModelClass" column="ciModelClass" jdbcType="VARCHAR"/>
  405. <result property="limitLoad" column="limitLoad" jdbcType="VARCHAR"/>
  406. <result property="appliName" column="appliName" jdbcType="VARCHAR"/>
  407. <result property="insureName" column="insureName" jdbcType="VARCHAR"/>
  408. <result property="deptName" column="deptName" jdbcType="VARCHAR"/>
  409. <result property="userName" column="username" jdbcType="VARCHAR"/>
  410. </resultMap>
  411. <select id="getPolicyInsuranceReport" resultMap="PolicyInsuranceReportMap">
  412. /*交强数据*/
  413. SELECT a.`inscompany` AS insCompany,
  414. (SELECT agreement_name FROM ptl_agreement t WHERE t.`id`= a.`agreement_id`) AS agreementName,
  415. a.`jqpolicyno` AS policyNo,
  416. <if test="policyReqVo.queryFlag=='queryPayDate'.toString()">
  417. a.pay_date AS quoteDate,
  418. </if>
  419. <if test="policyReqVo.queryFlag=='queryPayTime'.toString()">
  420. a.inside_pay_time AS quoteDate,
  421. </if>
  422. a.`jq_start_date` AS policyStartDate,
  423. '交强险' AS riskName,
  424. a.`jqpremium` AS sumPremium,
  425. a.`taxamount` AS taxPremium,
  426. getCarShipLateFee(a.`id`) AS taxLaterPremium,
  427. '交强险 : 200000.00,' AS insuranceSubAmount,
  428. b.`licenseno` AS licenseNo,
  429. getCodeName(REPLACE(JSON_EXTRACT(b.carinfo, '$.vehicleUse'),'"',''),'3') AS vehicleUse,
  430. getCodeName(REPLACE(JSON_EXTRACT(b.carinfo, '$.powertype'),'"',''),'2') AS powerType,
  431. getCodeName(REPLACE(JSON_EXTRACT(b.carinfo, '$.cimodelclass'),'"',''),'4') AS ciModelClass,
  432. REPLACE(JSON_EXTRACT(b.carinfo, '$.limitLoad'),'"','') AS limitLoad,
  433. REPLACE(JSON_EXTRACT(applyinfo, '$.name'),'"','') AS appliName,
  434. REPLACE(JSON_EXTRACT(insureinfo, '$.name'),'"','') AS insureName,
  435. b.`deptname` AS deptName,
  436. b.`username` AS userName
  437. FROM ins_area_company a,ins_orders b WHERE a.`jqpolicyno` IS NOT NULL AND a.`jqpolicyno`!='' AND a.`agreement_id` IS NOT NULL
  438. AND a.`orderno`=b.`orderno`
  439. <if test="policyReqVo.deptId != null and policyReqVo.deptId != ''">
  440. and b.deptid = #{policyReqVo.deptId}
  441. </if>
  442. <if test="policyReqVo.userId != null and policyReqVo.userId != ''">
  443. and b.userid = #{policyReqVo.userId}
  444. </if>
  445. <if test="policyReqVo.userName != null and policyReqVo.userName != ''">
  446. and b.username = #{policyReqVo.userName}
  447. </if>
  448. <if test="policyReqVo.appliName != null and policyReqVo.appliName != ''">
  449. and REPLACE(JSON_EXTRACT(applyinfo, '$.name'),'"','') = #{policyReqVo.appliName}
  450. </if>
  451. <if test="policyReqVo.insureName != null and policyReqVo.insureName != ''">
  452. and REPLACE(JSON_EXTRACT(insureinfo, '$.name'),'"','') = #{policyReqVo.insureName}
  453. </if>
  454. <if test="policyReqVo.productId != null and policyReqVo.productId != ''">
  455. and b.productid = #{policyReqVo.productId}
  456. </if>
  457. <if test="policyReqVo.insCompany != null and policyReqVo.insCompany != ''">
  458. and a.company_id = #{policyReqVo.insCompany}
  459. </if>
  460. <if test="policyReqVo.operatorId != null and policyReqVo.operatorId != ''">
  461. and a.operatorid = #{policyReqVo.operatorId}
  462. </if>
  463. <if test="policyReqVo.quoteStartDate != null and policyReqVo.quoteEndDate != null">
  464. <if test="policyReqVo.queryFlag=='queryPayDate'.toString()">
  465. and a.pay_date between #{policyReqVo.quoteStartDate} AND #{policyReqVo.quoteEndDate}
  466. </if>
  467. <if test="policyReqVo.queryFlag=='queryPayTime'.toString()">
  468. and a.inside_pay_time between #{policyReqVo.quoteStartDate} AND #{policyReqVo.quoteEndDate}
  469. </if>
  470. </if>
  471. <if test="policyReqVo.policyStartDate != null and policyReqVo.policyEndDate != null">
  472. and a.jq_start_date between #{policyReqVo.policyStartDate} AND #{policyReqVo.policyEndDate}
  473. </if>
  474. UNION ALL
  475. /*##商业数据*/
  476. SELECT a.`inscompany` AS insCompany,
  477. (SELECT agreement_name FROM ptl_agreement t WHERE t.`id`= a.`agreement_id`) AS agreementName,
  478. a.`sypolicyno` AS policyNo,
  479. <if test="policyReqVo.queryFlag=='queryPayDate'.toString()">
  480. a.pay_date AS quoteDate,
  481. </if>
  482. <if test="policyReqVo.queryFlag=='queryPayTime'.toString()">
  483. a.inside_pay_time AS quoteDate,
  484. </if>
  485. a.`sy_start_date` AS policyStartDate,
  486. '商业险' AS riskName,
  487. a.`sypremium` AS sumPremium,
  488. '' AS taxPremium,
  489. '' AS taxLaterPremium,
  490. getSyAmount(a.`orderno`) AS insuranceSubAmount,
  491. b.`licenseno` AS licenseNo,
  492. getCodeName(REPLACE(JSON_EXTRACT(b.carinfo, '$.vehicleUse'),'"',''),'3') AS vehicleUse,
  493. getCodeName(REPLACE(JSON_EXTRACT(b.carinfo, '$.powertype'),'"',''),'2') AS powerType,
  494. getCodeName(REPLACE(JSON_EXTRACT(b.carinfo, '$.cimodelclass'),'"',''),'4') AS ciModelClass,
  495. REPLACE(JSON_EXTRACT(b.carinfo, '$.limitLoad'),'"','') AS limitLoad,
  496. REPLACE(JSON_EXTRACT(applyinfo, '$.name'),'"','') AS appliName,
  497. REPLACE(JSON_EXTRACT(insureinfo, '$.name'),'"','') AS insureName,
  498. b.`deptname` AS deptName,
  499. b.`username` AS userName
  500. FROM ins_area_company a,ins_orders b WHERE a.`sypolicyno` IS NOT NULL AND a.`syapplyno`!='' AND a.`agreement_id` IS NOT NULL
  501. AND a.`orderno`=b.`orderno`
  502. <if test="policyReqVo.deptId != null and policyReqVo.deptId != ''">
  503. and b.deptid = #{policyReqVo.deptId}
  504. </if>
  505. <if test="policyReqVo.userId != null and policyReqVo.userId != ''">
  506. and b.userid = #{policyReqVo.userId}
  507. </if>
  508. <if test="policyReqVo.userName != null and policyReqVo.userName != ''">
  509. and b.username = #{policyReqVo.userName}
  510. </if>
  511. <if test="policyReqVo.appliName != null and policyReqVo.appliName != ''">
  512. and REPLACE(JSON_EXTRACT(applyinfo, '$.name'),'"','') = #{policyReqVo.appliName}
  513. </if>
  514. <if test="policyReqVo.insureName != null and policyReqVo.insureName != ''">
  515. and REPLACE(JSON_EXTRACT(insureinfo, '$.name'),'"','') = #{policyReqVo.insureName}
  516. </if>
  517. <if test="policyReqVo.productId != null and policyReqVo.productId != ''">
  518. and b.productid = #{policyReqVo.productId}
  519. </if>
  520. <if test="policyReqVo.insCompany != null and policyReqVo.insCompany != ''">
  521. and a.company_id = #{policyReqVo.insCompany}
  522. </if>
  523. <if test="policyReqVo.operatorId != null and policyReqVo.operatorId != ''">
  524. and a.operatorid = #{policyReqVo.operatorId}
  525. </if>
  526. <if test="policyReqVo.quoteStartDate != null and policyReqVo.quoteEndDate != null">
  527. <if test="policyReqVo.queryFlag=='queryPayDate'.toString()">
  528. and a.pay_date between #{policyReqVo.quoteStartDate} AND #{policyReqVo.quoteEndDate}
  529. </if>
  530. <if test="policyReqVo.queryFlag=='queryPayTime'.toString()">
  531. and a.inside_pay_time between #{policyReqVo.quoteStartDate} AND #{policyReqVo.quoteEndDate}
  532. </if>
  533. </if>
  534. <if test="policyReqVo.policyStartDate != null and policyReqVo.policyEndDate != null">
  535. and a.sy_start_date between #{policyReqVo.policyStartDate} AND #{policyReqVo.policyEndDate}
  536. </if>
  537. </select>
  538. <select id="getPolicyInsuranceReportCount" resultType="Long">
  539. select
  540. count(1)
  541. from (
  542. /*交强数据*/
  543. SELECT a.`inscompany` AS insCompany,
  544. (SELECT agreement_name FROM ptl_agreement t WHERE t.`id`= a.`agreement_id`) AS agreementName,
  545. a.`jqpolicyno` AS policyNo,
  546. <if test="policyReqVo.queryFlag=='queryPayDate'.toString()">
  547. a.pay_date AS quoteDate,
  548. </if>
  549. <if test="policyReqVo.queryFlag=='queryPayTime'.toString()">
  550. a.inside_pay_time AS quoteDate,
  551. </if>
  552. a.`jq_start_date` AS policyStartDate,
  553. '交强险' AS riskName,
  554. a.`jqpremium` AS sumPremium,
  555. a.`taxamount` AS taxPremium,
  556. getCarShipLateFee(a.`id`) AS taxLaterPremium,
  557. '交强险 : 200000.00,' AS insuranceSubAmount,
  558. b.`licenseno` AS licenseNo,
  559. getCodeName(REPLACE(JSON_EXTRACT(b.carinfo, '$.vehicleUse'),'"',''),'3') AS vehicleUse,
  560. getCodeName(REPLACE(JSON_EXTRACT(b.carinfo, '$.powertype'),'"',''),'2') AS powerType,
  561. getCodeName(REPLACE(JSON_EXTRACT(b.carinfo, '$.cimodelclass'),'"',''),'4') AS ciModelClass,
  562. REPLACE(JSON_EXTRACT(b.carinfo, '$.limitLoad'),'"','') AS limitLoad,
  563. REPLACE(JSON_EXTRACT(applyinfo, '$.name'),'"','') AS appliName,
  564. REPLACE(JSON_EXTRACT(insureinfo, '$.name'),'"','') AS insureName,
  565. b.`deptname` AS deptName,
  566. b.`username` AS userName
  567. FROM ins_area_company a,ins_orders b WHERE a.`jqpolicyno` IS NOT NULL AND a.`jqpolicyno`!='' AND a.`agreement_id` IS NOT NULL
  568. AND a.`orderno`=b.`orderno`
  569. <if test="policyReqVo.deptId != null and policyReqVo.deptId != ''">
  570. and b.deptid = #{policyReqVo.deptId}
  571. </if>
  572. <if test="policyReqVo.userId != null and policyReqVo.userId != ''">
  573. and b.userid = #{policyReqVo.userId}
  574. </if>
  575. <if test="policyReqVo.userName != null and policyReqVo.userName != ''">
  576. and b.username = #{policyReqVo.userName}
  577. </if>
  578. <if test="policyReqVo.appliName != null and policyReqVo.appliName != ''">
  579. and REPLACE(JSON_EXTRACT(applyinfo, '$.name'),'"','') = #{policyReqVo.appliName}
  580. </if>
  581. <if test="policyReqVo.insureName != null and policyReqVo.insureName != ''">
  582. and REPLACE(JSON_EXTRACT(insureinfo, '$.name'),'"','') = #{policyReqVo.insureName}
  583. </if>
  584. <if test="policyReqVo.productId != null and policyReqVo.productId != ''">
  585. and b.productid = #{policyReqVo.productId}
  586. </if>
  587. <if test="policyReqVo.insCompany != null and policyReqVo.insCompany != ''">
  588. and a.company_id = #{policyReqVo.insCompany}
  589. </if>
  590. <if test="policyReqVo.operatorId != null and policyReqVo.operatorId != ''">
  591. and a.operatorid = #{policyReqVo.operatorId}
  592. </if>
  593. <if test="policyReqVo.quoteStartDate != null and policyReqVo.quoteEndDate != null">
  594. <if test="policyReqVo.queryFlag=='queryPayDate'.toString()">
  595. and a.pay_date between #{policyReqVo.quoteStartDate} AND #{policyReqVo.quoteEndDate}
  596. </if>
  597. <if test="policyReqVo.queryFlag=='queryPayTime'.toString()">
  598. and a.inside_pay_time between #{policyReqVo.quoteStartDate} AND #{policyReqVo.quoteEndDate}
  599. </if>
  600. </if>
  601. <if test="policyReqVo.policyStartDate != null and policyReqVo.policyEndDate != null">
  602. and a.jq_start_date between #{policyReqVo.policyStartDate} AND #{policyReqVo.policyEndDate}
  603. </if>
  604. UNION ALL
  605. /*##商业数据*/
  606. SELECT a.`inscompany` AS insCompany,
  607. (SELECT agreement_name FROM ptl_agreement t WHERE t.`id`= a.`agreement_id`) AS agreementName,
  608. a.`sypolicyno` AS policyNo,
  609. <if test="policyReqVo.queryFlag=='queryPayDate'.toString()">
  610. a.pay_date AS quoteDate,
  611. </if>
  612. <if test="policyReqVo.queryFlag=='queryPayTime'.toString()">
  613. a.inside_pay_time AS quoteDate,
  614. </if>
  615. a.`sy_start_date` AS policyStartDate,
  616. '商业险' AS riskName,
  617. a.`sypremium` AS sumPremium,
  618. '' AS taxPremium,
  619. '' AS taxLaterPremium,
  620. getSyAmount(a.`orderno`) AS insuranceSubAmount,
  621. b.`licenseno` AS licenseNo,
  622. getCodeName(REPLACE(JSON_EXTRACT(b.carinfo, '$.vehicleUse'),'"',''),'3') AS vehicleUse,
  623. getCodeName(REPLACE(JSON_EXTRACT(b.carinfo, '$.powertype'),'"',''),'2') AS powerType,
  624. getCodeName(REPLACE(JSON_EXTRACT(b.carinfo, '$.cimodelclass'),'"',''),'4') AS ciModelClass,
  625. REPLACE(JSON_EXTRACT(b.carinfo, '$.limitLoad'),'"','') AS limitLoad,
  626. REPLACE(JSON_EXTRACT(applyinfo, '$.name'),'"','') AS appliName,
  627. REPLACE(JSON_EXTRACT(insureinfo, '$.name'),'"','') AS insureName,
  628. b.`deptname` AS deptName,
  629. b.`username` AS userName
  630. FROM ins_area_company a,ins_orders b WHERE a.`sypolicyno` IS NOT NULL AND a.`syapplyno`!='' AND a.`agreement_id` IS NOT NULL
  631. AND a.`orderno`=b.`orderno`
  632. <if test="policyReqVo.deptId != null and policyReqVo.deptId != ''">
  633. and b.deptid = #{policyReqVo.deptId}
  634. </if>
  635. <if test="policyReqVo.userId != null and policyReqVo.userId != ''">
  636. and b.userid = #{policyReqVo.userId}
  637. </if>
  638. <if test="policyReqVo.userName != null and policyReqVo.userName != ''">
  639. and b.username = #{policyReqVo.userName}
  640. </if>
  641. <if test="policyReqVo.appliName != null and policyReqVo.appliName != ''">
  642. and REPLACE(JSON_EXTRACT(applyinfo, '$.name'),'"','') = #{policyReqVo.appliName}
  643. </if>
  644. <if test="policyReqVo.insureName != null and policyReqVo.insureName != ''">
  645. and REPLACE(JSON_EXTRACT(insureinfo, '$.name'),'"','') = #{policyReqVo.insureName}
  646. </if>
  647. <if test="policyReqVo.productId != null and policyReqVo.productId != ''">
  648. and b.productid = #{policyReqVo.productId}
  649. </if>
  650. <if test="policyReqVo.insCompany != null and policyReqVo.insCompany != ''">
  651. and a.company_id = #{policyReqVo.insCompany}
  652. </if>
  653. <if test="policyReqVo.operatorId != null and policyReqVo.operatorId != ''">
  654. and a.operatorid = #{policyReqVo.operatorId}
  655. </if>
  656. <if test="policyReqVo.quoteStartDate != null and policyReqVo.quoteEndDate != null">
  657. <if test="policyReqVo.queryFlag=='queryPayDate'.toString()">
  658. and a.pay_date between #{policyReqVo.quoteStartDate} AND #{policyReqVo.quoteEndDate}
  659. </if>
  660. <if test="policyReqVo.queryFlag=='queryPayTime'.toString()">
  661. and a.inside_pay_time between #{policyReqVo.quoteStartDate} AND #{policyReqVo.quoteEndDate}
  662. </if>
  663. </if>
  664. <if test="policyReqVo.policyStartDate != null and policyReqVo.policyEndDate != null">
  665. and a.sy_start_date between #{policyReqVo.policyStartDate} AND #{policyReqVo.policyEndDate}
  666. </if>
  667. ) as s
  668. </select>
  669. <update id="updateStatus">
  670. update ins_orders set orderstatus = #{status} where orderno = #{orderno}
  671. </update>
  672. </mapper>