InsOrdersMapper.xml 51 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005
  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. <result property="subOrderId" column="subOrderId" jdbcType="VARCHAR"/>
  44. </resultMap>
  45. <resultMap id="OrderResultMap" type="com.ydtech.modules.order.entity.vo.OrderVo">
  46. <id property="orderno" column="orderno" jdbcType="VARCHAR"/>
  47. <result property="quoteno" column="quoteno" jdbcType="VARCHAR"/>
  48. <result property="orderstatus" column="orderstatus" jdbcType="VARCHAR"/>
  49. <result property="carinfo" column="carinfo" javaType="com.alibaba.fastjson.JSONObject"
  50. typeHandler="com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler" jdbcType="VARCHAR"/>
  51. <result property="userid" column="userid" jdbcType="VARCHAR"/>
  52. <result property="username" column="username" jdbcType="VARCHAR"/>
  53. <result property="deptid" column="deptid" jdbcType="VARCHAR"/>
  54. <result property="deptname" column="deptname" jdbcType="VARCHAR"/>
  55. <result property="ownerinfo" column="ownerinfo" javaType="com.alibaba.fastjson.JSONObject"
  56. typeHandler="com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler" jdbcType="VARCHAR"/>
  57. <result property="applyinfo" column="applyinfo" javaType="com.alibaba.fastjson.JSONObject"
  58. typeHandler="com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler" jdbcType="VARCHAR"/>
  59. <result property="insureinfo" column="insureinfo" javaType="com.alibaba.fastjson.JSONObject"
  60. typeHandler="com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler"
  61. jdbcType="VARCHAR"/>
  62. <result property="agreeid" column="agreeid" jdbcType="VARCHAR"/>
  63. <result property="productid" column="productid" jdbcType="VARCHAR"/>
  64. <result property="product" column="product" jdbcType="VARCHAR"/>
  65. <result property="frameno" column="frameno" jdbcType="VARCHAR"/>
  66. <result property="licenseno" column="licenseno" jdbcType="VARCHAR"/>
  67. <result property="insuredname" column="insuredname" jdbcType="VARCHAR"/>
  68. <result property="jqstartdate" column="jqstartdate" jdbcType="VARCHAR"/>
  69. <result property="jqenddate" column="jqenddate" jdbcType="VARCHAR"/>
  70. <result property="systartdate" column="systartdate" jdbcType="VARCHAR"/>
  71. <result property="syenddate" column="syenddate" jdbcType="VARCHAR"/>
  72. <result property="id" column="id" jdbcType="BIGINT"/>
  73. <result property="companyId" column="company_id" jdbcType="BIGINT"/>
  74. <result property="reptxt" column="reptxt" javaType="com.alibaba.fastjson.JSONObject"
  75. typeHandler="com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler" jdbcType="VARCHAR"/>
  76. <result property="vehicleAndVesselTax" column="vehicle_and_vessel_tax"
  77. javaType="com.alibaba.fastjson.JSONObject"
  78. typeHandler="com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler" jdbcType="VARCHAR"/>
  79. <result property="inscompany" column="inscompany" jdbcType="VARCHAR"/>
  80. <result property="jqapplyno" column="jqapplyno" jdbcType="VARCHAR"/>
  81. <result property="jqpolicyno" column="jqpolicyno" jdbcType="VARCHAR"/>
  82. <result property="syapplyno" column="syapplyno" jdbcType="VARCHAR"/>
  83. <result property="sypolicyno" column="sypolicyno" jdbcType="VARCHAR"/>
  84. <result property="riskinfo" column="riskinfo" javaType="com.alibaba.fastjson.JSONArray"
  85. typeHandler="com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler" jdbcType="VARCHAR"/>
  86. <result property="kindinfo" column="kindinfo" javaType="com.alibaba.fastjson.JSONArray"
  87. typeHandler="com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler" jdbcType="VARCHAR"/>
  88. <result property="jqpremium" column="jqpremium" jdbcType="DECIMAL"/>
  89. <result property="sypremium" column="sypremium" jdbcType="DECIMAL"/>
  90. <result property="jypremium" column="jypremium" jdbcType="DECIMAL"/>
  91. <result property="taxamount" column="taxamount" jdbcType="DECIMAL"/>
  92. <result property="sumpremium" column="sumpremium" jdbcType="DECIMAL"/>
  93. <result property="jqdiscountrate" column="jqdiscountrate" jdbcType="DOUBLE"/>
  94. <result property="sydiscountrate" column="sydiscountrate" jdbcType="DOUBLE"/>
  95. <result property="feerate" column="feerate" jdbcType="DOUBLE"/>
  96. <result property="disrate" column="disrate" jdbcType="DOUBLE"/>
  97. <result property="auditid" column="auditid" jdbcType="VARCHAR"/>
  98. <result property="auditname" column="auditname" jdbcType="VARCHAR"/>
  99. <result property="audittime" column="audittime" jdbcType="TIMESTAMP"/>
  100. <result property="auditopinion" column="auditopinion" jdbcType="VARCHAR"/>
  101. <result property="jqappoint" column="jqappoint" jdbcType="VARCHAR"/>
  102. <result property="syappoint" column="syappoint" jdbcType="VARCHAR"/>
  103. <result property="createtime" column="createtime" jdbcType="TIMESTAMP"/>
  104. <result property="paymentLink" column="payment_link" jdbcType="VARCHAR"/>
  105. <result property="accidentInfo" column="accident_info" javaType="com.alibaba.fastjson.JSONArray"
  106. typeHandler="com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler" jdbcType="VARCHAR"/>
  107. <result property="taxArrears" column="tax_arrears" javaType="com.alibaba.fastjson.JSONArray"
  108. typeHandler="com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler" jdbcType="VARCHAR"/>
  109. <result property="crossInsurance" column="cross_insurance" javaType="com.alibaba.fastjson.JSONArray"
  110. typeHandler="com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler" jdbcType="VARCHAR"/>
  111. </resultMap>
  112. <resultMap id="OrderExcelResultMap" type="com.ydtech.modules.ins.model.InsOrdersExcel">
  113. <id property="orderNo" column="orderno" jdbcType="VARCHAR"/>
  114. <result property="licenseNo" column="licenseno" jdbcType="VARCHAR"/>
  115. <result property="fraMeno" column="frameno" jdbcType="VARCHAR"/>
  116. <result property="carInfo" column="carinfo" javaType="com.alibaba.fastjson.JSONObject" typeHandler="com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler" jdbcType="VARCHAR"/>
  117. <result property="score" column="score" jdbcType="VARCHAR"/>
  118. <result property="ownerInfo" column="ownerinfo" javaType="com.alibaba.fastjson.JSONObject" typeHandler="com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler" jdbcType="VARCHAR"/>
  119. <result property="jqpRemIum" column="jqpremium" jdbcType="VARCHAR"/>
  120. <result property="apiType" column="api_type" jdbcType="VARCHAR"/>
  121. <result property="jqPolicyno" column="jqpolicyno" jdbcType="VARCHAR"/>
  122. <result property="sypRemIum" column="sypremium" jdbcType="VARCHAR"/>
  123. <result property="syPolicyno" column="sypolicyno" jdbcType="VARCHAR"/>
  124. <result property="jypRemIum" column="jypremium" jdbcType="VARCHAR"/>
  125. <result property="taxaMount" column="taxamount" jdbcType="VARCHAR"/>
  126. <result property="jqStartDate" column="jq_start_date" jdbcType="VARCHAR"/>
  127. <result property="jqEndDate" column="jq_end_date" jdbcType="VARCHAR"/>
  128. <result property="syStartDate" column="sy_start_date" jdbcType="VARCHAR"/>
  129. <result property="syEndDate" column="sy_end_date" jdbcType="VARCHAR"/>
  130. <result property="jqScore" column="jq_score" jdbcType="VARCHAR"/>
  131. <result property="syScore" column="sy_score" jdbcType="VARCHAR"/>
  132. <result property="lossRation" column="loss_ration" jdbcType="VARCHAR"/>
  133. <result property="jqLossRation" column="jq_loss_ration" jdbcType="VARCHAR"/>
  134. <result property="syLossRation" column="sy_loss_ration" jdbcType="VARCHAR"/>
  135. <result property="insCompany" column="inscompany" jdbcType="VARCHAR"/>
  136. <result property="agreementId" column="agreement_id" jdbcType="VARCHAR"/>
  137. <result property="userId" column="userid" jdbcType="VARCHAR"/>
  138. <result property="userName" column="username" jdbcType="VARCHAR"/>
  139. <result property="applyInfo" column="applyinfo" javaType="com.alibaba.fastjson.JSONObject"
  140. typeHandler="com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler" jdbcType="VARCHAR"/>
  141. <result property="insureInfo" column="insureinfo" javaType="com.alibaba.fastjson.JSONObject"
  142. typeHandler="com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler" jdbcType="VARCHAR"/>
  143. <result property="kindInfo" column="kindinfo" javaType="com.alibaba.fastjson.JSONArray"
  144. typeHandler="com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler" jdbcType="VARCHAR"/>
  145. <result property="payDate" column="pay_date" jdbcType="VARCHAR"/>
  146. <result property="signingTime" column="signing_time" jdbcType="VARCHAR"/>
  147. <result property="crossInsurance" column="cross_insurance" javaType="com.alibaba.fastjson.JSONArray"
  148. typeHandler="com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler" jdbcType="VARCHAR"/>
  149. </resultMap>
  150. <sql id="Base_Column_List">
  151. orderno,quoteno,orderstatus,
  152. carinfo,userid,username,
  153. deptid,deptname,ownerinfo,
  154. applyinfo,insureinfo,agreeid,
  155. productid,product,createtime,
  156. frameno,licenseno,insuredname,
  157. jqstartdate,jqenddate,systartdate,
  158. syenddate
  159. </sql>
  160. <select id="getOrderAndAreaCompany" parameterType="java.lang.String" resultMap="OrderResultMap">
  161. select o.orderno,
  162. o.quoteno,
  163. o.carinfo,
  164. o.userid,
  165. o.username,
  166. o.deptid,
  167. o.deptname,
  168. o.ownerinfo,
  169. o.applyinfo,
  170. o.insureinfo,
  171. o.agreeid,
  172. o.productid,
  173. o.product,
  174. o.frameno,
  175. o.licenseno,
  176. o.insuredname,
  177. o.vehicle_and_vessel_tax,
  178. iac.jq_start_date as jqstartdate,
  179. iac.jq_end_date as jqenddate,
  180. iac.sy_start_date as systartdate,
  181. iac.sy_end_date as syenddate,
  182. iac.id,
  183. iac.company_id,
  184. iac.reptxt,
  185. iac.orderstatus,
  186. iac.inscompany,
  187. iac.jqapplyno,
  188. iac.jqpolicyno,
  189. iac.syapplyno,
  190. iac.sypolicyno,
  191. iac.riskinfo,
  192. iac.kindinfo,
  193. iac.jqpremium,
  194. iac.sypremium,
  195. iac.jypremium,
  196. iac.taxamount,
  197. iac.sumpremium,
  198. iac.jqdiscountrate,
  199. iac.sydiscountrate,
  200. iac.feerate,
  201. iac.disrate,
  202. iac.auditid,
  203. iac.auditname,
  204. iac.audittime,
  205. iac.auditopinion,
  206. iac.jqappoint,
  207. iac.syappoint,
  208. iac.createtime,
  209. iac.payment_link,
  210. iac.accident_info,
  211. iac.tax_arrears,
  212. iac.cross_insurance
  213. from ins_orders as o
  214. join ins_area_company iac on o.orderno = iac.orderno
  215. where iac.id = #{companyId}
  216. </select>
  217. <select id="getByUseridAndLicenseNo" resultType="com.ydtech.modules.order.entity.InsOrders"
  218. parameterType="com.ydtech.modules.order.entity.vo.VerifyOrdersVo">
  219. select orderno,
  220. quoteno,
  221. orderstatus,
  222. carinfo,
  223. userid,
  224. username,
  225. deptid,
  226. deptname,
  227. ownerinfo,
  228. applyinfo,
  229. insureinfo,
  230. agreeid,
  231. productid,
  232. product,
  233. createtime,
  234. frameno,
  235. licenseno,
  236. insuredname,
  237. jqstartdate,
  238. jqenddate,
  239. systartdate,
  240. syenddate,
  241. risk,
  242. king,
  243. vehicle_and_vessel_tax
  244. from ins_orders
  245. where userid = #{userId, jdbcType=VARCHAR}
  246. and licenseno = #{licenseNo, jdbcType=VARCHAR}
  247. and createtime > DATE_SUB(CURDATE(), INTERVAL 6 MONTH)
  248. </select>
  249. <select id="queryPageOrderCount" resultType="Long">
  250. select
  251. count(1)
  252. from (
  253. select
  254. io.orderno
  255. from
  256. ins_orders io
  257. <!--如果存在 公司查询则进行连表 -->
  258. <if test="orderQueryVo.companyId != null and orderQueryVo.companyId != ''">
  259. left JOIN
  260. ins_area_company iac on iac.orderno = io.orderno
  261. </if>
  262. <where>
  263. <if test="orderQueryVo.orderNo != null and orderQueryVo.orderNo != ''">
  264. and io.orderno = #{orderQueryVo.orderNo}
  265. </if>
  266. <if test="orderQueryVo.deptId != null and orderQueryVo.deptId != '' and isTeamLeader">
  267. and io.deptid like "${orderQueryVo.deptId}%"
  268. </if>
  269. <if test="orderQueryVo.orderStatus != null and orderQueryVo.orderStatus != ''">
  270. and io.orderstatus = #{orderQueryVo.orderStatus}
  271. </if>
  272. <if test="orderQueryVo.frameNo != null and orderQueryVo.frameNo != ''">
  273. and io.frameno = #{orderQueryVo.frameNo}
  274. </if>
  275. <if test="orderQueryVo.licenseNo != null and orderQueryVo.licenseNo != ''">
  276. and io.licenseno = #{orderQueryVo.licenseNo}
  277. </if>
  278. <if test="orderQueryVo.insuredName != null and orderQueryVo.insuredName != ''">
  279. and io.insuredname = #{orderQueryVo.insuredName}
  280. </if>
  281. <if test="orderQueryVo.startDate != null and orderQueryVo.endDate != null">
  282. and io.createtime between #{orderQueryVo.startDate} AND #{orderQueryVo.endDate}
  283. </if>
  284. <if test="orderQueryVo.companyId != null and orderQueryVo.companyId != ''">
  285. and iac.company_id = #{orderQueryVo.companyId}
  286. </if>
  287. <if test="orderQueryVo.userId != null and orderQueryVo.userId != '' and isCdy">
  288. and io.operatorid = #{orderQueryVo.userId}
  289. </if>
  290. <if test="orderQueryVo.userId != null and orderQueryVo.userId != '' and !isTeamLeader">
  291. and io.userid = #{orderQueryVo.userId}
  292. </if>
  293. </where>
  294. group by io.orderno
  295. ) as s
  296. </select>
  297. <select id="queryPageOrder" resultMap="BaseResultMap">
  298. select
  299. io.*
  300. from
  301. ins_orders io
  302. <!--如果存在 公司查询则进行连表 -->
  303. <if test="orderQueryVo.companyId != null and orderQueryVo.companyId != ''">
  304. left JOIN
  305. ins_area_company iac on iac.orderno = io.orderno
  306. </if>
  307. <where>
  308. <if test="orderQueryVo.orderNo != null and orderQueryVo.orderNo != ''">
  309. and io.orderno = #{orderQueryVo.orderNo}
  310. </if>
  311. <if test="orderQueryVo.deptId != null and orderQueryVo.deptId != '' and isTeamLeader">
  312. and io.deptid like "${orderQueryVo.deptId}%"
  313. </if>
  314. <if test="orderQueryVo.orderStatus != null and orderQueryVo.orderStatus != ''">
  315. and io.orderstatus = #{orderQueryVo.orderStatus}
  316. </if>
  317. <if test="orderQueryVo.frameNo != null and orderQueryVo.frameNo != ''">
  318. and io.frameno = #{orderQueryVo.frameNo}
  319. </if>
  320. <if test="orderQueryVo.licenseNo != null and orderQueryVo.licenseNo != ''">
  321. and io.licenseno = #{orderQueryVo.licenseNo}
  322. </if>
  323. <if test="orderQueryVo.insuredName != null and orderQueryVo.insuredName != ''">
  324. and io.insuredname = #{orderQueryVo.insuredName}
  325. </if>
  326. <if test="orderQueryVo.startDate != null and orderQueryVo.endDate != null">
  327. and io.createtime between #{orderQueryVo.startDate} AND #{orderQueryVo.endDate}
  328. </if>
  329. <if test="orderQueryVo.companyId != null and orderQueryVo.companyId != ''">
  330. and iac.company_id = #{orderQueryVo.companyId}
  331. </if>
  332. <if test="orderQueryVo.userId != null and orderQueryVo.userId != '' and isCdy">
  333. and io.operatorid = #{orderQueryVo.userId}
  334. </if>
  335. <if test="orderQueryVo.userId != null and orderQueryVo.userId != '' and !isTeamLeader">
  336. and io.userid = #{orderQueryVo.userId}
  337. </if>
  338. </where>
  339. group by orderno
  340. order by io.createtime desc
  341. </select>
  342. <select id="queryOrderList" parameterType="com.ydtech.modules.ins.model.InsOrdersExcelVo" resultMap="OrderExcelResultMap">
  343. select
  344. a.orderno,
  345. a.licenseno,
  346. a.frameno,
  347. a.carinfo,
  348. b.api_type,
  349. b.score,
  350. a.ownerinfo,
  351. b.jqpremium,
  352. b.jqpolicyno,
  353. b.sypremium,
  354. b.sypolicyno,
  355. b.jypremium,
  356. b.taxamount,
  357. b.jq_start_date,
  358. b.jq_end_date,
  359. b.sy_start_date,
  360. b.sy_end_date,
  361. b.score,
  362. b.jq_score,
  363. b.sy_score,
  364. b.loss_ration,
  365. b.jq_loss_ration,
  366. b.sy_loss_ration,
  367. b.score,
  368. b.inscompany,
  369. b.agreement_id,
  370. a.userid,
  371. a.username,
  372. a.applyinfo,
  373. a.insureinfo,
  374. b.kindinfo,
  375. b.pay_date,
  376. b.signing_time,
  377. b.cross_insurance
  378. FROM ins_orders a LEFT JOIN ins_area_company b on a.orderno = b.orderno
  379. WHERE
  380. 1 = 1
  381. <if test="orderstatus != null and orderstatus != '' ">
  382. and b.orderstatus = #{orderstatus}
  383. </if>
  384. <if test="startDate != null ">
  385. and a.createtime &gt;= #{startDate}
  386. </if>
  387. <if test="endDate != null ">
  388. and a.createtime &lt;= #{endDate}
  389. </if>
  390. </select>
  391. <resultMap id="PolicyInsuranceReportMap" type="com.ydtech.modules.order.entity.vo.PolicyInsuranceReportResVo">
  392. <result property="insCompany" column="insCompany" jdbcType="VARCHAR"/>
  393. <result property="agreementName" column="agreementName" jdbcType="VARCHAR"/>
  394. <result property="policyNo" column="policyNo" jdbcType="VARCHAR"/>
  395. <result property="quoteDate" column="quoteDate" jdbcType="VARCHAR"/>
  396. <result property="policyStartDate" column="policyStartDate" jdbcType="VARCHAR"/>
  397. <result property="riskName" column="riskName" jdbcType="VARCHAR"/>
  398. <result property="sumPremium" column="sumPremium" jdbcType="DECIMAL"/>
  399. <result property="taxPremium" column="taxPremium" jdbcType="DECIMAL"/>
  400. <result property="taxLaterPremium" column="taxLaterPremium" jdbcType="DECIMAL"/>
  401. <result property="insuranceSubAmount" column="insuranceSubAmount" jdbcType="VARCHAR"/>
  402. <result property="licenseNo" column="licenseNo" jdbcType="VARCHAR"/>
  403. <result property="vehicleUse" column="vehicleUse" jdbcType="VARCHAR"/>
  404. <result property="powerType" column="powerType" jdbcType="VARCHAR"/>
  405. <result property="ciModelClass" column="ciModelClass" jdbcType="VARCHAR"/>
  406. <result property="limitLoad" column="limitLoad" jdbcType="VARCHAR"/>
  407. <result property="appliName" column="appliName" jdbcType="VARCHAR"/>
  408. <result property="insureName" column="insureName" jdbcType="VARCHAR"/>
  409. <result property="deptName" column="deptName" jdbcType="VARCHAR"/>
  410. <result property="userName" column="username" jdbcType="VARCHAR"/>
  411. </resultMap>
  412. <select id="getPolicyInsuranceReport" resultMap="PolicyInsuranceReportMap">
  413. /*交强数据*/
  414. SELECT a.`inscompany` AS insCompany,
  415. (SELECT agreement_name FROM ptl_agreement t WHERE t.`id`= a.`agreement_id`) AS agreementName,
  416. a.`jqpolicyno` AS policyNo,
  417. <if test="policyReqVo.queryFlag=='queryPayDate'.toString()">
  418. a.pay_date AS quoteDate,
  419. </if>
  420. <if test="policyReqVo.queryFlag=='queryPayTime'.toString()">
  421. a.inside_pay_time AS quoteDate,
  422. </if>
  423. a.`jq_start_date` AS policyStartDate,
  424. '交强险' AS riskName,
  425. a.`jqpremium` AS sumPremium,
  426. a.`taxamount` AS taxPremium,
  427. getCarShipLateFee(a.`id`) AS taxLaterPremium,
  428. '交强险 : 200000.00,' AS insuranceSubAmount,
  429. b.`licenseno` AS licenseNo,
  430. getCodeName(REPLACE(JSON_EXTRACT(b.carinfo, '$.vehicleUse'),'"',''),'3') AS vehicleUse,
  431. getCodeName(REPLACE(JSON_EXTRACT(b.carinfo, '$.powertype'),'"',''),'2') AS powerType,
  432. getCodeName(REPLACE(JSON_EXTRACT(b.carinfo, '$.cimodelclass'),'"',''),'4') AS ciModelClass,
  433. REPLACE(JSON_EXTRACT(b.carinfo, '$.limitLoad'),'"','') AS limitLoad,
  434. REPLACE(JSON_EXTRACT(applyinfo, '$.name'),'"','') AS appliName,
  435. REPLACE(JSON_EXTRACT(insureinfo, '$.name'),'"','') AS insureName,
  436. b.`deptname` AS deptName,
  437. b.`username` AS userName
  438. FROM ins_area_company a,ins_orders b WHERE a.`jqpolicyno` IS NOT NULL AND a.`jqpolicyno`!='' AND a.`agreement_id` IS NOT NULL
  439. AND a.`orderno`=b.`orderno`
  440. <if test="policyReqVo.deptId != null and policyReqVo.deptId != ''">
  441. and b.deptid = #{policyReqVo.deptId}
  442. </if>
  443. <if test="policyReqVo.userId != null and policyReqVo.userId != ''">
  444. and b.userid = #{policyReqVo.userId}
  445. </if>
  446. <if test="policyReqVo.userName != null and policyReqVo.userName != ''">
  447. and b.username = #{policyReqVo.userName}
  448. </if>
  449. <if test="policyReqVo.appliName != null and policyReqVo.appliName != ''">
  450. and REPLACE(JSON_EXTRACT(applyinfo, '$.name'),'"','') = #{policyReqVo.appliName}
  451. </if>
  452. <if test="policyReqVo.insureName != null and policyReqVo.insureName != ''">
  453. and REPLACE(JSON_EXTRACT(insureinfo, '$.name'),'"','') = #{policyReqVo.insureName}
  454. </if>
  455. <if test="policyReqVo.productId != null and policyReqVo.productId != ''">
  456. and b.productid = #{policyReqVo.productId}
  457. </if>
  458. <if test="policyReqVo.insCompany != null and policyReqVo.insCompany != ''">
  459. and a.company_id = #{policyReqVo.insCompany}
  460. </if>
  461. <if test="policyReqVo.operatorId != null and policyReqVo.operatorId != ''">
  462. and a.operatorid = #{policyReqVo.operatorId}
  463. </if>
  464. <if test="policyReqVo.quoteStartDate != null and policyReqVo.quoteEndDate != null">
  465. <if test="policyReqVo.queryFlag=='queryPayDate'.toString()">
  466. and a.pay_date between #{policyReqVo.quoteStartDate} AND #{policyReqVo.quoteEndDate}
  467. </if>
  468. <if test="policyReqVo.queryFlag=='queryPayTime'.toString()">
  469. and a.inside_pay_time between #{policyReqVo.quoteStartDate} AND #{policyReqVo.quoteEndDate}
  470. </if>
  471. </if>
  472. <if test="policyReqVo.policyStartDate != null and policyReqVo.policyEndDate != null">
  473. and a.jq_start_date between #{policyReqVo.policyStartDate} AND #{policyReqVo.policyEndDate}
  474. </if>
  475. UNION ALL
  476. /*##商业数据*/
  477. SELECT a.`inscompany` AS insCompany,
  478. (SELECT agreement_name FROM ptl_agreement t WHERE t.`id`= a.`agreement_id`) AS agreementName,
  479. a.`sypolicyno` AS policyNo,
  480. <if test="policyReqVo.queryFlag=='queryPayDate'.toString()">
  481. a.pay_date AS quoteDate,
  482. </if>
  483. <if test="policyReqVo.queryFlag=='queryPayTime'.toString()">
  484. a.inside_pay_time AS quoteDate,
  485. </if>
  486. a.`sy_start_date` AS policyStartDate,
  487. '商业险' AS riskName,
  488. a.`sypremium` AS sumPremium,
  489. '' AS taxPremium,
  490. '' AS taxLaterPremium,
  491. getSyAmount(a.`orderno`) AS insuranceSubAmount,
  492. b.`licenseno` AS licenseNo,
  493. getCodeName(REPLACE(JSON_EXTRACT(b.carinfo, '$.vehicleUse'),'"',''),'3') AS vehicleUse,
  494. getCodeName(REPLACE(JSON_EXTRACT(b.carinfo, '$.powertype'),'"',''),'2') AS powerType,
  495. getCodeName(REPLACE(JSON_EXTRACT(b.carinfo, '$.cimodelclass'),'"',''),'4') AS ciModelClass,
  496. REPLACE(JSON_EXTRACT(b.carinfo, '$.limitLoad'),'"','') AS limitLoad,
  497. REPLACE(JSON_EXTRACT(applyinfo, '$.name'),'"','') AS appliName,
  498. REPLACE(JSON_EXTRACT(insureinfo, '$.name'),'"','') AS insureName,
  499. b.`deptname` AS deptName,
  500. b.`username` AS userName
  501. FROM ins_area_company a,ins_orders b WHERE a.`sypolicyno` IS NOT NULL AND a.`syapplyno`!='' AND a.`agreement_id` IS NOT NULL
  502. AND a.`orderno`=b.`orderno`
  503. <if test="policyReqVo.deptId != null and policyReqVo.deptId != ''">
  504. and b.deptid = #{policyReqVo.deptId}
  505. </if>
  506. <if test="policyReqVo.userId != null and policyReqVo.userId != ''">
  507. and b.userid = #{policyReqVo.userId}
  508. </if>
  509. <if test="policyReqVo.userName != null and policyReqVo.userName != ''">
  510. and b.username = #{policyReqVo.userName}
  511. </if>
  512. <if test="policyReqVo.appliName != null and policyReqVo.appliName != ''">
  513. and REPLACE(JSON_EXTRACT(applyinfo, '$.name'),'"','') = #{policyReqVo.appliName}
  514. </if>
  515. <if test="policyReqVo.insureName != null and policyReqVo.insureName != ''">
  516. and REPLACE(JSON_EXTRACT(insureinfo, '$.name'),'"','') = #{policyReqVo.insureName}
  517. </if>
  518. <if test="policyReqVo.productId != null and policyReqVo.productId != ''">
  519. and b.productid = #{policyReqVo.productId}
  520. </if>
  521. <if test="policyReqVo.insCompany != null and policyReqVo.insCompany != ''">
  522. and a.company_id = #{policyReqVo.insCompany}
  523. </if>
  524. <if test="policyReqVo.operatorId != null and policyReqVo.operatorId != ''">
  525. and a.operatorid = #{policyReqVo.operatorId}
  526. </if>
  527. <if test="policyReqVo.quoteStartDate != null and policyReqVo.quoteEndDate != null">
  528. <if test="policyReqVo.queryFlag=='queryPayDate'.toString()">
  529. and a.pay_date between #{policyReqVo.quoteStartDate} AND #{policyReqVo.quoteEndDate}
  530. </if>
  531. <if test="policyReqVo.queryFlag=='queryPayTime'.toString()">
  532. and a.inside_pay_time between #{policyReqVo.quoteStartDate} AND #{policyReqVo.quoteEndDate}
  533. </if>
  534. </if>
  535. <if test="policyReqVo.policyStartDate != null and policyReqVo.policyEndDate != null">
  536. and a.sy_start_date between #{policyReqVo.policyStartDate} AND #{policyReqVo.policyEndDate}
  537. </if>
  538. </select>
  539. <select id="getPolicyInsuranceReportCount" resultType="Long">
  540. select
  541. count(1)
  542. from (
  543. /*交强数据*/
  544. SELECT a.`inscompany` AS insCompany,
  545. (SELECT agreement_name FROM ptl_agreement t WHERE t.`id`= a.`agreement_id`) AS agreementName,
  546. a.`jqpolicyno` AS policyNo,
  547. <if test="policyReqVo.queryFlag=='queryPayDate'.toString()">
  548. a.pay_date AS quoteDate,
  549. </if>
  550. <if test="policyReqVo.queryFlag=='queryPayTime'.toString()">
  551. a.inside_pay_time AS quoteDate,
  552. </if>
  553. a.`jq_start_date` AS policyStartDate,
  554. '交强险' AS riskName,
  555. a.`jqpremium` AS sumPremium,
  556. a.`taxamount` AS taxPremium,
  557. getCarShipLateFee(a.`id`) AS taxLaterPremium,
  558. '交强险 : 200000.00,' AS insuranceSubAmount,
  559. b.`licenseno` AS licenseNo,
  560. getCodeName(REPLACE(JSON_EXTRACT(b.carinfo, '$.vehicleUse'),'"',''),'3') AS vehicleUse,
  561. getCodeName(REPLACE(JSON_EXTRACT(b.carinfo, '$.powertype'),'"',''),'2') AS powerType,
  562. getCodeName(REPLACE(JSON_EXTRACT(b.carinfo, '$.cimodelclass'),'"',''),'4') AS ciModelClass,
  563. REPLACE(JSON_EXTRACT(b.carinfo, '$.limitLoad'),'"','') AS limitLoad,
  564. REPLACE(JSON_EXTRACT(applyinfo, '$.name'),'"','') AS appliName,
  565. REPLACE(JSON_EXTRACT(insureinfo, '$.name'),'"','') AS insureName,
  566. b.`deptname` AS deptName,
  567. b.`username` AS userName
  568. FROM ins_area_company a,ins_orders b WHERE a.`jqpolicyno` IS NOT NULL AND a.`jqpolicyno`!='' AND a.`agreement_id` IS NOT NULL
  569. AND a.`orderno`=b.`orderno`
  570. <if test="policyReqVo.deptId != null and policyReqVo.deptId != ''">
  571. and b.deptid = #{policyReqVo.deptId}
  572. </if>
  573. <if test="policyReqVo.userId != null and policyReqVo.userId != ''">
  574. and b.userid = #{policyReqVo.userId}
  575. </if>
  576. <if test="policyReqVo.userName != null and policyReqVo.userName != ''">
  577. and b.username = #{policyReqVo.userName}
  578. </if>
  579. <if test="policyReqVo.appliName != null and policyReqVo.appliName != ''">
  580. and REPLACE(JSON_EXTRACT(applyinfo, '$.name'),'"','') = #{policyReqVo.appliName}
  581. </if>
  582. <if test="policyReqVo.insureName != null and policyReqVo.insureName != ''">
  583. and REPLACE(JSON_EXTRACT(insureinfo, '$.name'),'"','') = #{policyReqVo.insureName}
  584. </if>
  585. <if test="policyReqVo.productId != null and policyReqVo.productId != ''">
  586. and b.productid = #{policyReqVo.productId}
  587. </if>
  588. <if test="policyReqVo.insCompany != null and policyReqVo.insCompany != ''">
  589. and a.company_id = #{policyReqVo.insCompany}
  590. </if>
  591. <if test="policyReqVo.operatorId != null and policyReqVo.operatorId != ''">
  592. and a.operatorid = #{policyReqVo.operatorId}
  593. </if>
  594. <if test="policyReqVo.quoteStartDate != null and policyReqVo.quoteEndDate != null">
  595. <if test="policyReqVo.queryFlag=='queryPayDate'.toString()">
  596. and a.pay_date between #{policyReqVo.quoteStartDate} AND #{policyReqVo.quoteEndDate}
  597. </if>
  598. <if test="policyReqVo.queryFlag=='queryPayTime'.toString()">
  599. and a.inside_pay_time between #{policyReqVo.quoteStartDate} AND #{policyReqVo.quoteEndDate}
  600. </if>
  601. </if>
  602. <if test="policyReqVo.policyStartDate != null and policyReqVo.policyEndDate != null">
  603. and a.jq_start_date between #{policyReqVo.policyStartDate} AND #{policyReqVo.policyEndDate}
  604. </if>
  605. UNION ALL
  606. /*##商业数据*/
  607. SELECT a.`inscompany` AS insCompany,
  608. (SELECT agreement_name FROM ptl_agreement t WHERE t.`id`= a.`agreement_id`) AS agreementName,
  609. a.`sypolicyno` AS policyNo,
  610. <if test="policyReqVo.queryFlag=='queryPayDate'.toString()">
  611. a.pay_date AS quoteDate,
  612. </if>
  613. <if test="policyReqVo.queryFlag=='queryPayTime'.toString()">
  614. a.inside_pay_time AS quoteDate,
  615. </if>
  616. a.`sy_start_date` AS policyStartDate,
  617. '商业险' AS riskName,
  618. a.`sypremium` AS sumPremium,
  619. '' AS taxPremium,
  620. '' AS taxLaterPremium,
  621. getSyAmount(a.`orderno`) AS insuranceSubAmount,
  622. b.`licenseno` AS licenseNo,
  623. getCodeName(REPLACE(JSON_EXTRACT(b.carinfo, '$.vehicleUse'),'"',''),'3') AS vehicleUse,
  624. getCodeName(REPLACE(JSON_EXTRACT(b.carinfo, '$.powertype'),'"',''),'2') AS powerType,
  625. getCodeName(REPLACE(JSON_EXTRACT(b.carinfo, '$.cimodelclass'),'"',''),'4') AS ciModelClass,
  626. REPLACE(JSON_EXTRACT(b.carinfo, '$.limitLoad'),'"','') AS limitLoad,
  627. REPLACE(JSON_EXTRACT(applyinfo, '$.name'),'"','') AS appliName,
  628. REPLACE(JSON_EXTRACT(insureinfo, '$.name'),'"','') AS insureName,
  629. b.`deptname` AS deptName,
  630. b.`username` AS userName
  631. FROM ins_area_company a,ins_orders b WHERE a.`sypolicyno` IS NOT NULL AND a.`syapplyno`!='' AND a.`agreement_id` IS NOT NULL
  632. AND a.`orderno`=b.`orderno`
  633. <if test="policyReqVo.deptId != null and policyReqVo.deptId != ''">
  634. and b.deptid = #{policyReqVo.deptId}
  635. </if>
  636. <if test="policyReqVo.userId != null and policyReqVo.userId != ''">
  637. and b.userid = #{policyReqVo.userId}
  638. </if>
  639. <if test="policyReqVo.userName != null and policyReqVo.userName != ''">
  640. and b.username = #{policyReqVo.userName}
  641. </if>
  642. <if test="policyReqVo.appliName != null and policyReqVo.appliName != ''">
  643. and REPLACE(JSON_EXTRACT(applyinfo, '$.name'),'"','') = #{policyReqVo.appliName}
  644. </if>
  645. <if test="policyReqVo.insureName != null and policyReqVo.insureName != ''">
  646. and REPLACE(JSON_EXTRACT(insureinfo, '$.name'),'"','') = #{policyReqVo.insureName}
  647. </if>
  648. <if test="policyReqVo.productId != null and policyReqVo.productId != ''">
  649. and b.productid = #{policyReqVo.productId}
  650. </if>
  651. <if test="policyReqVo.insCompany != null and policyReqVo.insCompany != ''">
  652. and a.company_id = #{policyReqVo.insCompany}
  653. </if>
  654. <if test="policyReqVo.operatorId != null and policyReqVo.operatorId != ''">
  655. and a.operatorid = #{policyReqVo.operatorId}
  656. </if>
  657. <if test="policyReqVo.quoteStartDate != null and policyReqVo.quoteEndDate != null">
  658. <if test="policyReqVo.queryFlag=='queryPayDate'.toString()">
  659. and a.pay_date between #{policyReqVo.quoteStartDate} AND #{policyReqVo.quoteEndDate}
  660. </if>
  661. <if test="policyReqVo.queryFlag=='queryPayTime'.toString()">
  662. and a.inside_pay_time between #{policyReqVo.quoteStartDate} AND #{policyReqVo.quoteEndDate}
  663. </if>
  664. </if>
  665. <if test="policyReqVo.policyStartDate != null and policyReqVo.policyEndDate != null">
  666. and a.sy_start_date between #{policyReqVo.policyStartDate} AND #{policyReqVo.policyEndDate}
  667. </if>
  668. ) as s
  669. </select>
  670. <update id="updateStatus">
  671. update ins_orders set orderstatus = #{status} where orderno = #{orderno}
  672. </update>
  673. <select id="queryPageHospitalityOrder" resultMap="BaseResultMap">
  674. select
  675. io.*
  676. from
  677. ins_orders io
  678. <!--如果存在 公司查询则进行连表 -->
  679. <if test="orderQueryVo.companyId != null and orderQueryVo.companyId != ''">
  680. left JOIN
  681. ins_area_company iac on iac.orderno = io.orderno
  682. </if>
  683. <where>
  684. <if test="orderQueryVo.orderNo != null and orderQueryVo.orderNo != ''">
  685. and io.orderno = #{orderQueryVo.orderNo}
  686. </if>
  687. <if test="orderQueryVo.deptId != null and orderQueryVo.deptId != '' ">
  688. and io.deptid like "${orderQueryVo.deptId}%"
  689. </if>
  690. <if test="orderQueryVo.orderStatus != null and orderQueryVo.orderStatus != ''">
  691. and io.orderstatus = #{orderQueryVo.orderStatus}
  692. </if>
  693. <if test="orderQueryVo.frameNo != null and orderQueryVo.frameNo != ''">
  694. and io.frameno = #{orderQueryVo.frameNo}
  695. </if>
  696. <if test="orderQueryVo.licenseNo != null and orderQueryVo.licenseNo != ''">
  697. and io.licenseno = #{orderQueryVo.licenseNo}
  698. </if>
  699. <if test="orderQueryVo.insuredName != null and orderQueryVo.insuredName != ''">
  700. and io.insuredname = #{orderQueryVo.insuredName}
  701. </if>
  702. <if test="orderQueryVo.startDate != null and orderQueryVo.endDate != null">
  703. and io.createtime between #{orderQueryVo.startDate} AND #{orderQueryVo.endDate}
  704. </if>
  705. <if test="orderQueryVo.companyId != null and orderQueryVo.companyId != ''">
  706. and iac.company_id = #{orderQueryVo.companyId}
  707. </if>
  708. <if test="orderQueryVo.userId != null and orderQueryVo.userId != ''">
  709. and io.userid = #{orderQueryVo.userId}
  710. </if>
  711. </where>
  712. group by orderno
  713. order by io.createtime desc
  714. </select>
  715. <select id="queryPageHospitalityOrderCount" resultType="Long">
  716. select
  717. count(1)
  718. from (
  719. select
  720. io.orderno
  721. from
  722. ins_orders io
  723. <!--如果存在 公司查询则进行连表 -->
  724. <if test="orderQueryVo.companyId != null and orderQueryVo.companyId != ''">
  725. left JOIN
  726. ins_area_company iac on iac.orderno = io.orderno
  727. </if>
  728. <where>
  729. <if test="orderQueryVo.orderNo != null and orderQueryVo.orderNo != ''">
  730. and io.orderno = #{orderQueryVo.orderNo}
  731. </if>
  732. <if test="orderQueryVo.deptId != null and orderQueryVo.deptId != ''">
  733. and io.deptid like "${orderQueryVo.deptId}%"
  734. </if>
  735. <if test="orderQueryVo.orderStatus != null and orderQueryVo.orderStatus != ''">
  736. and io.orderstatus = #{orderQueryVo.orderStatus}
  737. </if>
  738. <if test="orderQueryVo.frameNo != null and orderQueryVo.frameNo != ''">
  739. and io.frameno = #{orderQueryVo.frameNo}
  740. </if>
  741. <if test="orderQueryVo.licenseNo != null and orderQueryVo.licenseNo != ''">
  742. and io.licenseno = #{orderQueryVo.licenseNo}
  743. </if>
  744. <if test="orderQueryVo.insuredName != null and orderQueryVo.insuredName != ''">
  745. and io.insuredname = #{orderQueryVo.insuredName}
  746. </if>
  747. <if test="orderQueryVo.startDate != null and orderQueryVo.endDate != null">
  748. and io.createtime between #{orderQueryVo.startDate} AND #{orderQueryVo.endDate}
  749. </if>
  750. <if test="orderQueryVo.companyId != null and orderQueryVo.companyId != ''">
  751. and iac.company_id = #{orderQueryVo.companyId}
  752. </if>
  753. <if test="orderQueryVo.userId != null and orderQueryVo.userId != ''">
  754. and io.userid = #{orderQueryVo.userId}
  755. </if>
  756. </where>
  757. group by io.orderno
  758. ) as s
  759. </select>
  760. <select id="queryPageOrderByLinkType" resultMap="BaseResultMap">
  761. select
  762. io.*,
  763. iac.id as subOrderId
  764. from
  765. ins_area_company iac
  766. left JOIN
  767. ins_orders io on iac.orderno = io.orderno
  768. <where>
  769. ( (iac.operator_id is null or iac.operator_id ='') or iac.new_operator_id =#{orderQueryVo.userId} or iac.operator_id =#{orderQueryVo.userId})
  770. <if test="orderQueryVo.orderNo != null and orderQueryVo.orderNo != ''">
  771. and io.orderno = #{orderQueryVo.orderNo}
  772. </if>
  773. <if test="orderQueryVo.deptId != null and orderQueryVo.deptId != ''">
  774. and io.deptid like "${orderQueryVo.deptId}%"
  775. </if>
  776. <if test="orderQueryVo.orderStatus != null and orderQueryVo.orderStatus != ''">
  777. and io.orderstatus = #{orderQueryVo.orderStatus}
  778. </if>
  779. <if test="orderQueryVo.frameNo != null and orderQueryVo.frameNo != ''">
  780. and io.frameno = #{orderQueryVo.frameNo}
  781. </if>
  782. <if test="orderQueryVo.licenseNo != null and orderQueryVo.licenseNo != ''">
  783. and io.licenseno = #{orderQueryVo.licenseNo}
  784. </if>
  785. <if test="orderQueryVo.insuredName != null and orderQueryVo.insuredName != ''">
  786. and io.insuredname = #{orderQueryVo.insuredName}
  787. </if>
  788. <if test="orderQueryVo.startDate != null and orderQueryVo.endDate != null">
  789. and io.createtime between #{orderQueryVo.startDate} AND #{orderQueryVo.endDate}
  790. </if>
  791. <if test="orderQueryVo.companyId != null and orderQueryVo.companyId != ''">
  792. and iac.company_id = #{orderQueryVo.companyId}
  793. </if>
  794. <if test="agentUserIds != null and agentUserIds.size>0" >
  795. and io.userid in
  796. <foreach collection="agentUserIds" item="item" open="(" separator="," close=")">
  797. #{item}
  798. </foreach>
  799. </if>
  800. <if test="agreeIds != null and agreeIds.size>0" >
  801. and iac.agreement_id in
  802. <foreach collection="agreeIds" item="item" open="(" separator="," close=")">
  803. #{item}
  804. </foreach>
  805. </if>
  806. </where>
  807. order by io.createtime desc
  808. </select>
  809. <select id="queryPageOrderByLinkTypeCount" resultType="Long">
  810. select
  811. count(1)
  812. from (
  813. select
  814. (0)
  815. from
  816. ins_area_company iac
  817. left JOIN
  818. ins_orders io on iac.orderno = io.orderno
  819. <where>
  820. ( (iac.operator_id is null or iac.operator_id ='') or iac.new_operator_id =#{orderQueryVo.userId} or iac.operator_id =#{orderQueryVo.userId})
  821. <if test="orderQueryVo.orderNo != null and orderQueryVo.orderNo != ''">
  822. and io.orderno = #{orderQueryVo.orderNo}
  823. </if>
  824. <if test="orderQueryVo.deptId != null and orderQueryVo.deptId != ''">
  825. and io.deptid like "${orderQueryVo.deptId}%"
  826. </if>
  827. <if test="orderQueryVo.orderStatus != null and orderQueryVo.orderStatus != ''">
  828. and io.orderstatus = #{orderQueryVo.orderStatus}
  829. </if>
  830. <if test="orderQueryVo.frameNo != null and orderQueryVo.frameNo != ''">
  831. and io.frameno = #{orderQueryVo.frameNo}
  832. </if>
  833. <if test="orderQueryVo.licenseNo != null and orderQueryVo.licenseNo != ''">
  834. and io.licenseno = #{orderQueryVo.licenseNo}
  835. </if>
  836. <if test="orderQueryVo.insuredName != null and orderQueryVo.insuredName != ''">
  837. and io.insuredname = #{orderQueryVo.insuredName}
  838. </if>
  839. <if test="orderQueryVo.startDate != null and orderQueryVo.endDate != null">
  840. and io.createtime between #{orderQueryVo.startDate} AND #{orderQueryVo.endDate}
  841. </if>
  842. <if test="orderQueryVo.companyId != null and orderQueryVo.companyId != ''">
  843. and iac.company_id = #{orderQueryVo.companyId}
  844. </if>
  845. <if test="agentUserIds != null and agentUserIds.size>0" >
  846. and io.userid in
  847. <foreach collection="agentUserIds" item="item" open="(" separator="," close=")">
  848. #{item}
  849. </foreach>
  850. </if>
  851. <if test="agreeIds != null and agreeIds.size>0" >
  852. and iac.agreement_id in
  853. <foreach collection="agreeIds" item="item" open="(" separator="," close=")">
  854. #{item}
  855. </foreach>
  856. </if>
  857. </where>
  858. ) as s
  859. </select>
  860. <select id="queryPageSubOrders" resultMap="BaseResultMap">
  861. select
  862. io.*,
  863. iac.id as subOrderId
  864. from
  865. ins_area_company iac
  866. left JOIN
  867. ins_orders io on iac.orderno = io.orderno
  868. <where>
  869. <if test="orderQueryVo.userId != null and orderQueryVo.userId != ''">
  870. and io.userid = #{orderQueryVo.userid}
  871. </if>
  872. <if test="orderQueryVo.orderNo != null and orderQueryVo.orderNo != ''">
  873. and io.orderno = #{orderQueryVo.orderNo}
  874. </if>
  875. <if test="orderQueryVo.quoteNo != null and orderQueryVo.quoteNo != ''">
  876. and io.quoteno = #{orderQueryVo.quoteNo}
  877. </if>
  878. <if test="orderQueryVo.deptId != null and orderQueryVo.deptId != ''">
  879. and io.deptid like "${orderQueryVo.deptId}%"
  880. </if>
  881. <if test="orderQueryVo.orderStatus != null and orderQueryVo.orderStatus != ''">
  882. and iac.orderstatus = #{orderQueryVo.orderStatus}
  883. </if>
  884. <if test="orderQueryVo.frameNo != null and orderQueryVo.frameNo != ''">
  885. and io.frameno = #{orderQueryVo.frameNo}
  886. </if>
  887. <if test="orderQueryVo.licenseNo != null and orderQueryVo.licenseNo != ''">
  888. and io.licenseno = #{orderQueryVo.licenseNo}
  889. </if>
  890. <if test="orderQueryVo.engineNo != null and orderQueryVo.engineNo != ''">
  891. and JSON_EXTRACT( io.carinfo, '$.engineNo' ) = #{orderQueryVo.engineNo}
  892. </if>
  893. <if test="orderQueryVo.insuredName != null and orderQueryVo.insuredName != ''">
  894. and io.insuredname = #{orderQueryVo.insuredName}
  895. </if>
  896. <if test="orderQueryVo.startDate != null and orderQueryVo.endDate != null">
  897. and io.createtime between #{orderQueryVo.startDate} AND #{orderQueryVo.endDate}
  898. </if>
  899. <if test="orderQueryVo.companyId != null and orderQueryVo.companyId != ''">
  900. and iac.company_id = #{orderQueryVo.companyId}
  901. </if>
  902. <if test="orderQueryVo.riskCode != null and orderQueryVo.riskCode != ''">
  903. and iac.product = #{orderQueryVo.riskCode}
  904. </if>
  905. <if test="orderQueryVo.auditId != null and orderQueryVo.auditId != ''">
  906. and IFNULL( io.agreeid, '' ) = #{orderQueryVo.auditId}
  907. </if>
  908. <if test="orderQueryVo.policyStartDate != null and orderQueryVo.policyEndDate != ''">
  909. and ((
  910. io.jqstartdate BETWEEN #{orderQueryVo.policyStartDate}
  911. AND #{orderQueryVo.policyEndDate}
  912. )
  913. OR ( io.systartdate BETWEEN #{orderQueryVo.policyStartDate} AND #{orderQueryVo.policyEndDate} )
  914. )
  915. </if>
  916. </where>
  917. group by iac.id
  918. order by io.createtime desc
  919. </select>
  920. <select id="queryPageSubOrdersCount" resultType="Long">
  921. select
  922. count(1)
  923. from (
  924. select
  925. io.*
  926. from
  927. ins_area_company iac
  928. left JOIN
  929. ins_orders io on iac.orderno = io.orderno
  930. <where>
  931. <if test="orderQueryVo.userId != null and orderQueryVo.userId != ''">
  932. and io.userid = #{orderQueryVo.userid}
  933. </if>
  934. <if test="orderQueryVo.orderNo != null and orderQueryVo.orderNo != ''">
  935. and io.orderno = #{orderQueryVo.orderNo}
  936. </if>
  937. <if test="orderQueryVo.quoteNo != null and orderQueryVo.quoteNo != ''">
  938. and io.quoteno = #{orderQueryVo.quoteNo}
  939. </if>
  940. <if test="orderQueryVo.deptId != null and orderQueryVo.deptId != ''">
  941. and io.deptid like "${orderQueryVo.deptId}%"
  942. </if>
  943. <if test="orderQueryVo.orderStatus != null and orderQueryVo.orderStatus != ''">
  944. and iac.orderstatus = #{orderQueryVo.orderStatus}
  945. </if>
  946. <if test="orderQueryVo.frameNo != null and orderQueryVo.frameNo != ''">
  947. and io.frameno = #{orderQueryVo.frameNo}
  948. </if>
  949. <if test="orderQueryVo.licenseNo != null and orderQueryVo.licenseNo != ''">
  950. and io.licenseno = #{orderQueryVo.licenseNo}
  951. </if>
  952. <if test="orderQueryVo.engineNo != null and orderQueryVo.engineNo != ''">
  953. and JSON_EXTRACT( io.carinfo, '$.engineNo' ) = #{orderQueryVo.engineNo}
  954. </if>
  955. <if test="orderQueryVo.insuredName != null and orderQueryVo.insuredName != ''">
  956. and io.insuredname = #{orderQueryVo.insuredName}
  957. </if>
  958. <if test="orderQueryVo.startDate != null and orderQueryVo.endDate != null">
  959. and io.createtime between #{orderQueryVo.startDate} AND #{orderQueryVo.endDate}
  960. </if>
  961. <if test="orderQueryVo.companyId != null and orderQueryVo.companyId != ''">
  962. and iac.company_id = #{orderQueryVo.companyId}
  963. </if>
  964. <if test="orderQueryVo.riskCode != null and orderQueryVo.riskCode != ''">
  965. and iac.product = #{orderQueryVo.riskCode}
  966. </if>
  967. <if test="orderQueryVo.auditId != null and orderQueryVo.auditId != ''">
  968. and IFNULL( io.agreeid, '' ) = #{orderQueryVo.auditId}
  969. </if>
  970. <if test="orderQueryVo.policyStartDate != null and orderQueryVo.policyEndDate != ''">
  971. and ((
  972. io.jqstartdate BETWEEN #{orderQueryVo.policyStartDate}
  973. AND #{orderQueryVo.policyEndDate}
  974. )
  975. OR ( io.systartdate BETWEEN #{orderQueryVo.policyStartDate} AND #{orderQueryVo.policyEndDate} )
  976. )
  977. </if>
  978. </where>
  979. group by iac.id
  980. ) as s
  981. </select>
  982. </mapper>