InsOrdersMapper.xml 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384
  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="sypRemIum" column="sypremium" jdbcType="VARCHAR"/>
  120. <result property="jypRemIum" column="jypremium" jdbcType="VARCHAR"/>
  121. <result property="taxaMount" column="taxamount" jdbcType="VARCHAR"/>
  122. <result property="jqStartDate" column="jq_start_date" jdbcType="VARCHAR"/>
  123. <result property="jqEndDate" column="jq_end_date" jdbcType="VARCHAR"/>
  124. <result property="syStartDate" column="sy_start_date" jdbcType="VARCHAR"/>
  125. <result property="syEndDate" column="sy_end_date" jdbcType="VARCHAR"/>
  126. <result property="jqScore" column="jq_score" jdbcType="VARCHAR"/>
  127. <result property="syScore" column="sy_score" jdbcType="VARCHAR"/>
  128. <result property="jqLossRation" column="jq_loss_ration" jdbcType="VARCHAR"/>
  129. <result property="syLossRation" column="sy_loss_ration" jdbcType="VARCHAR"/>
  130. <result property="insCompany" column="ins_company" jdbcType="VARCHAR"/>
  131. <result property="userId" column="userid" jdbcType="VARCHAR"/>
  132. <result property="userName" column="username" jdbcType="VARCHAR"/>
  133. <result property="applyInfo" column="applyinfo" javaType="com.alibaba.fastjson.JSONObject"
  134. typeHandler="com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler" jdbcType="VARCHAR"/>
  135. <result property="insureInfo" column="insureinfo" javaType="com.alibaba.fastjson.JSONObject"
  136. typeHandler="com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler" jdbcType="VARCHAR"/>
  137. <result property="kindInfo" column="kindinfo" javaType="com.alibaba.fastjson.JSONArray"
  138. typeHandler="com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler" jdbcType="VARCHAR"/>
  139. </resultMap>
  140. <sql id="Base_Column_List">
  141. orderno,quoteno,orderstatus,
  142. carinfo,userid,username,
  143. deptid,deptname,ownerinfo,
  144. applyinfo,insureinfo,agreeid,
  145. productid,product,createtime,
  146. frameno,licenseno,insuredname,
  147. jqstartdate,jqenddate,systartdate,
  148. syenddate
  149. </sql>
  150. <select id="getOrderAndAreaCompany" parameterType="java.lang.String" resultMap="OrderResultMap">
  151. select o.orderno,
  152. o.quoteno,
  153. o.carinfo,
  154. o.userid,
  155. o.username,
  156. o.deptid,
  157. o.deptname,
  158. o.ownerinfo,
  159. o.applyinfo,
  160. o.insureinfo,
  161. o.agreeid,
  162. o.productid,
  163. o.product,
  164. o.frameno,
  165. o.licenseno,
  166. o.insuredname,
  167. o.vehicle_and_vessel_tax,
  168. iac.jq_start_date as jqstartdate,
  169. iac.jq_end_date as jqenddate,
  170. iac.sy_start_date as systartdate,
  171. iac.sy_end_date as syenddate,
  172. iac.id,
  173. iac.company_id,
  174. iac.reptxt,
  175. iac.orderstatus,
  176. iac.inscompany,
  177. iac.jqapplyno,
  178. iac.jqpolicyno,
  179. iac.syapplyno,
  180. iac.sypolicyno,
  181. iac.riskinfo,
  182. iac.kindinfo,
  183. iac.jqpremium,
  184. iac.sypremium,
  185. iac.jypremium,
  186. iac.taxamount,
  187. iac.sumpremium,
  188. iac.jqdiscountrate,
  189. iac.sydiscountrate,
  190. iac.feerate,
  191. iac.disrate,
  192. iac.auditid,
  193. iac.auditname,
  194. iac.audittime,
  195. iac.auditopinion,
  196. iac.jqappoint,
  197. iac.syappoint,
  198. iac.createtime,
  199. iac.payment_link,
  200. iac.accident_info,
  201. iac.tax_arrears,
  202. iac.cross_insurance
  203. from ins_orders as o
  204. join ins_area_company iac on o.orderno = iac.orderno
  205. where iac.id = #{companyId}
  206. </select>
  207. <select id="getByUseridAndLicenseNo" resultType="com.ydtech.modules.order.entity.InsOrders"
  208. parameterType="com.ydtech.modules.order.entity.vo.VerifyOrdersVo">
  209. select orderno,
  210. quoteno,
  211. orderstatus,
  212. carinfo,
  213. userid,
  214. username,
  215. deptid,
  216. deptname,
  217. ownerinfo,
  218. applyinfo,
  219. insureinfo,
  220. agreeid,
  221. productid,
  222. product,
  223. createtime,
  224. frameno,
  225. licenseno,
  226. insuredname,
  227. jqstartdate,
  228. jqenddate,
  229. systartdate,
  230. syenddate,
  231. risk,
  232. king,
  233. vehicle_and_vessel_tax
  234. from ins_orders
  235. where userid = #{userId, jdbcType=VARCHAR}
  236. and licenseno = #{licenseNo, jdbcType=VARCHAR}
  237. and createtime > DATE_SUB(CURDATE(), INTERVAL 6 MONTH)
  238. </select>
  239. <select id="queryPageOrderCount" resultType="Long">
  240. select
  241. count(1)
  242. from (
  243. select
  244. io.orderno
  245. from
  246. ins_orders io
  247. <!--如果存在 公司查询则进行连表 -->
  248. <if test="orderQueryVo.companyId != null and orderQueryVo.companyId != ''">
  249. left JOIN
  250. ins_area_company iac on iac.orderno = io.orderno
  251. </if>
  252. <where>
  253. <if test="orderQueryVo.orderNo != null and orderQueryVo.orderNo != ''">
  254. and io.orderno = #{orderQueryVo.orderNo}
  255. </if>
  256. <if test="orderQueryVo.deptId != null and orderQueryVo.deptId != '' and isTeamLeader">
  257. and io.deptid like "${orderQueryVo.deptId}%"
  258. </if>
  259. <if test="orderQueryVo.orderStatus != null and orderQueryVo.orderStatus != ''">
  260. and io.orderstatus = #{orderQueryVo.orderStatus}
  261. </if>
  262. <if test="orderQueryVo.frameNo != null and orderQueryVo.frameNo != ''">
  263. and io.frameno = #{orderQueryVo.frameNo}
  264. </if>
  265. <if test="orderQueryVo.licenseNo != null and orderQueryVo.licenseNo != ''">
  266. and io.licenseno = #{orderQueryVo.licenseNo}
  267. </if>
  268. <if test="orderQueryVo.insuredName != null and orderQueryVo.insuredName != ''">
  269. and io.insuredname = #{orderQueryVo.insuredName}
  270. </if>
  271. <if test="orderQueryVo.startDate != null and orderQueryVo.endDate != null">
  272. and io.createtime between #{orderQueryVo.startDate} AND #{orderQueryVo.endDate}
  273. </if>
  274. <if test="orderQueryVo.companyId != null and orderQueryVo.companyId != ''">
  275. and iac.company_id = #{orderQueryVo.companyId}
  276. </if>
  277. <if test="orderQueryVo.userId != null and orderQueryVo.userId != '' and isCdy">
  278. and io.operatorid = #{orderQueryVo.userId}
  279. </if>
  280. <if test="orderQueryVo.userId != null and orderQueryVo.userId != '' and !isTeamLeader">
  281. and io.userid = #{orderQueryVo.userId}
  282. </if>
  283. </where>
  284. group by io.orderno
  285. ) as s
  286. </select>
  287. <select id="queryPageOrder" resultMap="BaseResultMap">
  288. select
  289. io.*
  290. from
  291. ins_orders io
  292. <!--如果存在 公司查询则进行连表 -->
  293. <if test="orderQueryVo.companyId != null and orderQueryVo.companyId != ''">
  294. left JOIN
  295. ins_area_company iac on iac.orderno = io.orderno
  296. </if>
  297. <where>
  298. <if test="orderQueryVo.orderNo != null and orderQueryVo.orderNo != ''">
  299. and io.orderno = #{orderQueryVo.orderNo}
  300. </if>
  301. <if test="orderQueryVo.deptId != null and orderQueryVo.deptId != '' and isTeamLeader">
  302. and io.deptid like "${orderQueryVo.deptId}%"
  303. </if>
  304. <if test="orderQueryVo.orderStatus != null and orderQueryVo.orderStatus != ''">
  305. and io.orderstatus = #{orderQueryVo.orderStatus}
  306. </if>
  307. <if test="orderQueryVo.frameNo != null and orderQueryVo.frameNo != ''">
  308. and io.frameno = #{orderQueryVo.frameNo}
  309. </if>
  310. <if test="orderQueryVo.licenseNo != null and orderQueryVo.licenseNo != ''">
  311. and io.licenseno = #{orderQueryVo.licenseNo}
  312. </if>
  313. <if test="orderQueryVo.insuredName != null and orderQueryVo.insuredName != ''">
  314. and io.insuredname = #{orderQueryVo.insuredName}
  315. </if>
  316. <if test="orderQueryVo.startDate != null and orderQueryVo.endDate != null">
  317. and io.createtime between #{orderQueryVo.startDate} AND #{orderQueryVo.endDate}
  318. </if>
  319. <if test="orderQueryVo.companyId != null and orderQueryVo.companyId != ''">
  320. and iac.company_id = #{orderQueryVo.companyId}
  321. </if>
  322. <if test="orderQueryVo.userId != null and orderQueryVo.userId != '' and isCdy">
  323. and io.operatorid = #{orderQueryVo.userId}
  324. </if>
  325. <if test="orderQueryVo.userId != null and orderQueryVo.userId != '' and !isTeamLeader">
  326. and io.userid = #{orderQueryVo.userId}
  327. </if>
  328. </where>
  329. group by orderno
  330. order by io.createtime desc
  331. </select>
  332. <select id="queryOrderList" parameterType="com.ydtech.modules.ins.model.InsOrdersExcelVo" resultMap="OrderExcelResultMap">
  333. select
  334. a.orderno,
  335. a.licenseno,
  336. a.frameno,
  337. a.carinfo,
  338. b.score,
  339. a.ownerinfo,
  340. b.jqpremium,
  341. b.sypremium,
  342. b.jypremium,
  343. b.taxamount,
  344. b.jq_start_date,
  345. b.jq_end_date,
  346. b.sy_start_date,
  347. b.sy_end_date,
  348. b.jq_score,
  349. b.sy_score,
  350. b.jq_loss_ration,
  351. b.sy_loss_ration,
  352. b.score,
  353. b.ins_company,
  354. a.userid,
  355. a.username,
  356. a.applyinfo,
  357. a.insureinfo,
  358. b.kindinfo
  359. FROM ins_orders a LEFT JOIN ins_area_company b on a.orderno = b.orderno
  360. WHERE
  361. 1 = 1
  362. <if test="orderstatus != null and orderstatus != '' ">
  363. and b.orderstatus = #{orderstatus}
  364. </if>
  365. <if test="startDate != null ">
  366. and a.createtime &gt;= #{startDate}
  367. </if>
  368. <if test="endDate != null ">
  369. and a.createtime &lt;= #{endDate}
  370. </if>
  371. </select>
  372. </mapper>