InsOrdersMapper.xml 77 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698
  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.jzg.quotation.summary.mapper.InsOrdersMapper">
  6. <resultMap id="InsOrdersMap" type="com.jzg.commons.entity.orders.po.InsOrders">
  7. <id property="id" column="id" jdbcType="VARCHAR"/>
  8. <result property="quoteNo" column="quote_no" jdbcType="VARCHAR"/>
  9. <result property="agreementId" column="agreement_id" jdbcType="VARCHAR"/>
  10. <result property="apiType" column="api_type" jdbcType="VARCHAR"/>
  11. <result property="orderStatus" column="order_status" jdbcType="VARCHAR"/>
  12. <result property="companyId" column="company_id" jdbcType="VARCHAR"/>
  13. <result property="companyName" column="company_name" jdbcType="VARCHAR"/>
  14. <result property="productId" column="product_id" jdbcType="VARCHAR"/>
  15. <result property="productName" column="product_name" jdbcType="VARCHAR"/>
  16. <result property="entryStatus" column="entry_status" jdbcType="VARCHAR"/>
  17. <result property="orderSource" column="order_source" jdbcType="VARCHAR"/>
  18. <result property="auditId" column="audit_id" jdbcType="VARCHAR"/>
  19. <result property="auditName" column="audit_name" jdbcType="VARCHAR"/>
  20. <result property="auditTime" column="audit_time" jdbcType="VARCHAR"/>
  21. <result property="auditOpinion" column="audit_opinion" jdbcType="VARCHAR"/>
  22. <result property="payTime" column="pay_time" jdbcType="VARCHAR"/>
  23. <result property="payLink" column="pay_link" jdbcType="VARCHAR"/>
  24. <result property="insOrderNo" column="ins_order_no" jdbcType="VARCHAR"/>
  25. <result property="signingTime" column="signing_time" jdbcType="VARCHAR"/>
  26. <result property="isTemporarily" column="is_temporarily" jdbcType="VARCHAR"/>
  27. <result property="realQuoteUserId" column="real_quote_user_id" jdbcType="VARCHAR"/>
  28. <result property="dockingPersonPhone" column="docking_person_phone" jdbcType="VARCHAR"/>
  29. <result property="dockingPerson" column="docking_person" jdbcType="VARCHAR"/>
  30. </resultMap>
  31. <!-- 订单 车辆信息-->
  32. <resultMap id="carInfoMap" type="com.jzg.commons.entity.quote.vo.CarInfoVo">
  33. <id property="orderNo" column="order_no" jdbcType="VARCHAR"/>
  34. <result property="licenseNo" column="license_no" jdbcType="VARCHAR"/>
  35. <result property="vinNo" column="vin_no" jdbcType="VARCHAR"/>
  36. <result property="brandName" column="brand_name" jdbcType="VARCHAR"/>
  37. <result property="engineNo" column="engine_no" jdbcType="VARCHAR"/>
  38. <result property="carYear" column="car_year" jdbcType="VARCHAR"/>
  39. <result property="seatCount" column="seat_count" jdbcType="VARCHAR"/>
  40. <result property="completeKerbMass" column="complete_kerb_mass" jdbcType="VARCHAR"/>
  41. <result property="limitLoad" column="limit_load" jdbcType="VARCHAR"/>
  42. <result property="powerScale" column="power_scale" jdbcType="VARCHAR"/>
  43. <result property="purchasePrice" column="purchase_price" jdbcType="VARCHAR"/>
  44. <result property="carNatureCode" column="car_nature_code" jdbcType="VARCHAR"/>
  45. <result property="vehicleUseCode" column="vehicle_use_code" jdbcType="VARCHAR"/>
  46. <result property="carTypeCode" column="car_type_code" jdbcType="VARCHAR"/>
  47. <result property="carKindCode" column="car_kind_code" jdbcType="VARCHAR"/>
  48. <result property="energyTypeCode" column="energy_type_code" jdbcType="VARCHAR"/>
  49. <result property="propertyCode" column="property_code" jdbcType="VARCHAR"/>
  50. <result property="licenseColorCode" column="license_color_code" jdbcType="VARCHAR"/>
  51. <result property="carKindDetailIdCode" column="car_kind_detail_id_code" jdbcType="VARCHAR"/>
  52. <result property="licenseKindCode" column="license_kind_code" jdbcType="VARCHAR"/>
  53. <result property="registerDate" column="register_date" jdbcType="VARCHAR"/>
  54. <result property="issueDate" column="issue_date" jdbcType="VARCHAR"/>
  55. <result property="transferDate" column="transfer_date" jdbcType="VARCHAR"/>
  56. <result property="transfer" column="transfer" jdbcType="VARCHAR"/>
  57. <result property="transferBi" column="transfer_bi" jdbcType="VARCHAR"/>
  58. </resultMap>
  59. <!-- 订单 车辆人员信息 -->
  60. <resultMap id="carUserInfoMap" type="com.jzg.commons.entity.orders.po.InsOrdersCarUserInfo">
  61. <id property="orderNo" column="order_no" jdbcType="VARCHAR"/>
  62. <result property="policyPersonType" column="policy_person_type" jdbcType="VARCHAR"/>
  63. <result property="personType" column="person_type" jdbcType="VARCHAR"/>
  64. <result property="cerType" column="cer_type" jdbcType="VARCHAR"/>
  65. <result property="name" column="name" jdbcType="VARCHAR"/>
  66. <result property="identifyNumber" column="identify_number" jdbcType="VARCHAR"/>
  67. <result property="age" column="age" jdbcType="VARCHAR"/>
  68. <result property="gender" column="gender" jdbcType="VARCHAR"/>
  69. <result property="provinceCode" column="province_code" jdbcType="VARCHAR"/>
  70. <result property="cityCode" column="city_code" jdbcType="VARCHAR"/>
  71. <result property="countyCode" column="county_code" jdbcType="VARCHAR"/>
  72. <result property="addr" column="addr" jdbcType="VARCHAR"/>
  73. <result property="identifyValidDate" column="identify_valid_date" jdbcType="VARCHAR"/>
  74. <result property="identifyValidEndDate" column="identify_valid_end_date" jdbcType="VARCHAR"/>
  75. <result property="mobile" column="mobile" jdbcType="VARCHAR"/>
  76. <result property="landline" column="landline" jdbcType="VARCHAR"/>
  77. <result property="email" column="email" jdbcType="VARCHAR"/>
  78. <result property="contact" column="contact" jdbcType="VARCHAR"/>
  79. <result property="contactIdentifyNumber" column="contact_identify_number" jdbcType="VARCHAR"/>
  80. <result property="contactIdentifyValidDate" column="contact_identify_valid_date" jdbcType="VARCHAR"/>
  81. <result property="contactIdentifyValidEndDate" column="contact_identify_valid_end_date" jdbcType="VARCHAR"/>
  82. <result property="email" column="email" jdbcType="VARCHAR"/>
  83. <result property="carOwner" column="car_owner" jdbcType="VARCHAR"/>
  84. </resultMap>
  85. <!-- 费用 -->
  86. <resultMap id="ordersCostsMap" type="com.jzg.commons.entity.orders.po.InsOrdersCosts">
  87. <id property="orderNo" column="order_no" jdbcType="VARCHAR"/>
  88. <result property="jqPremium" column="jq_premium" jdbcType="VARCHAR"/>
  89. <result property="syPremium" column="sy_premium" jdbcType="VARCHAR"/>
  90. <result property="jyPremium" column="jy_premium" jdbcType="VARCHAR"/>
  91. <result property="sumPremium" column="sum_premium" jdbcType="VARCHAR"/>
  92. <result property="taxPremium" column="tax_premium" jdbcType="VARCHAR"/>
  93. <result property="jqRatio" column="jq_ratio" jdbcType="VARCHAR"/>
  94. <result property="syRatio" column="sy_ratio" jdbcType="VARCHAR"/>
  95. </resultMap>
  96. <!-- 投保号 -->
  97. <resultMap id="InsOrdersPolicyMap" type="com.jzg.commons.entity.orders.po.InsOrdersPolicy">
  98. <id property="orderNo" column="order_no" jdbcType="VARCHAR"/>
  99. <result property="jqApplyNo" column="jq_apply_no" jdbcType="VARCHAR"/>
  100. <result property="syApplyNo" column="sy_apply_no" jdbcType="VARCHAR"/>
  101. <result property="jyApplyNo" column="jy_apply_no" jdbcType="VARCHAR"/>
  102. <result property="jqPolicyNo" column="jq_policy_no" jdbcType="VARCHAR"/>
  103. <result property="syPolicyNo" column="sy_policy_no" jdbcType="VARCHAR"/>
  104. <result property="jyPolicyNo" column="jy_policy_no" jdbcType="VARCHAR"/>
  105. </resultMap>
  106. <!--订单 险种表-->
  107. <resultMap id="OrdersKindMap" type="com.jzg.commons.entity.orders.po.InsOrdersKind">
  108. <id property="orderNo" column="order_no" jdbcType="VARCHAR"/>
  109. <result property="amount" column="amount" jdbcType="VARCHAR"/>
  110. <result property="kindCode" column="kind_code"/>
  111. <result property="kindName" column="kind_name"/>
  112. <result property="serviceTimes" column="service_times"/>
  113. <result property="unitAmount" column="unit_amount"/>
  114. <result property="deductibleRate" column="deductible_rate"/>
  115. </resultMap>
  116. <!-- 订单 其他属性 -->
  117. <resultMap id="InsOrdersOtherMap" type="com.jzg.commons.entity.vo.InsOrdersOtherInfoVo">
  118. <id property="orderNo" column="order_no" jdbcType="VARCHAR"/>
  119. <result property="jqScore" column="jq_score" jdbcType="VARCHAR"/>
  120. <result property="score" column="score" jdbcType="VARCHAR"/>
  121. <result property="scoreJson" column="score_json" jdbcType="VARCHAR" typeHandler="com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler"/>
  122. <result property="syScore" column="sy_score" jdbcType="VARCHAR"/>
  123. <result property="lossRation" column="loss_ration" jdbcType="VARCHAR"/>
  124. <result property="jqLossRation" column="jq_loss_ration" jdbcType="VARCHAR"/>
  125. <result property="syLossRation" column="sy_loss_ration" jdbcType="VARCHAR"/>
  126. <result property="jqRenewal" column="jq_renewal" jdbcType="VARCHAR"/>
  127. <result property="syRenewal" column="sy_renewal" jdbcType="VARCHAR"/>
  128. <result property="jqClaims" column="jq_claims" jdbcType="VARCHAR"/>
  129. <result property="syClaims" column="sy_claims" jdbcType="VARCHAR"/>
  130. <result property="isDjq" column="is_djq" jdbcType="VARCHAR"/>
  131. <result property="jqAdjustRate" column="jq_adjust_rate" jdbcType="VARCHAR"/>
  132. <result property="syAdjustRate" column="sy_adjust_rate" jdbcType="VARCHAR"/>
  133. <result property="signingTime" column="signing_time" jdbcType="VARCHAR"/>
  134. <result property="companyName" column="company_name" jdbcType="VARCHAR"/>
  135. <result property="jqPremium" column="jq_premium" jdbcType="VARCHAR"/>
  136. <result property="syPremium" column="sy_premium" jdbcType="VARCHAR"/>
  137. <result property="jyPremium" column="jy_premium" jdbcType="VARCHAR"/>
  138. <result property="sumPremium" column="sum_premium" jdbcType="VARCHAR"/>
  139. <result property="taxPremium" column="tax_premium" jdbcType="VARCHAR"/>
  140. <result property="syPolicyNo" column="sy_policy_no" jdbcType="VARCHAR"/>
  141. <result property="jqPolicyNo" column="jq_policy_no" jdbcType="VARCHAR"/>
  142. </resultMap>
  143. <!--订单 险种-->
  144. <resultMap id="InsOrdersRiskMap" type="com.jzg.commons.entity.orders.po.InsOrdersRisk">
  145. <id property="id" column="id" jdbcType="VARCHAR"/>
  146. <result property="orderNo" column="order_no" jdbcType="VARCHAR"/>
  147. <result property="riskName" column="risk_name" jdbcType="VARCHAR"/>
  148. <result property="amount" column="amount" jdbcType="VARCHAR"/>
  149. <result property="commissionRate" column="commission_rate" jdbcType="VARCHAR"/>
  150. <result property="premium" column="premium" jdbcType="VARCHAR"/>
  151. <result property="commissionAmount" column="commission_amount" jdbcType="VARCHAR"/>
  152. <result property="riskCode" column="risk_code" jdbcType="VARCHAR"/>
  153. <result property="noTaxPremium" column="no_tax_premium" jdbcType="VARCHAR"/>
  154. <result property="startDate" column="start_date" jdbcType="VARCHAR"/>
  155. <result property="endDate" column="end_date" jdbcType="VARCHAR"/>
  156. </resultMap>
  157. <!--订单 批改-->
  158. <resultMap id="InsOrderAdjustMap" type="com.jzg.commons.entity.orders.po.InsOrderAdjust">
  159. <id property="id" column="id" jdbcType="VARCHAR"/>
  160. <result property="orderNo" column="order_no" jdbcType="VARCHAR"/>
  161. <result property="licenseNo" column="license_no" jdbcType="VARCHAR"/>
  162. <result property="companyId" column="company_id" jdbcType="VARCHAR"/>
  163. <result property="companyName" column="company_name" jdbcType="VARCHAR"/>
  164. <result property="productId" column="product_id" jdbcType="VARCHAR"/>
  165. <result property="productName" column="product_name" jdbcType="VARCHAR"/>
  166. <result property="status" column="status" jdbcType="VARCHAR"/>
  167. <result property="type" column="type" jdbcType="VARCHAR"/>
  168. <result property="premium" column="premium" jdbcType="VARCHAR"/>
  169. <result property="afterPremium" column="after_premium" jdbcType="VARCHAR"/>
  170. </resultMap>
  171. <!--订单 车船税-->
  172. <resultMap id="InsOrdersTaxMap" type="com.jzg.commons.entity.orders.po.InsOrdersTax">
  173. <id property="orderNo" column="order_no" jdbcType="VARCHAR"/>
  174. <result property="extendChar2" column="extend_char2" jdbcType="VARCHAR"/>
  175. <result property="taxRelief" column="tax_relief" jdbcType="VARCHAR"/>
  176. <result property="relifReason" column="relif_reason" jdbcType="VARCHAR"/>
  177. <result property="taxComCode" column="tax_com_code" jdbcType="VARCHAR"/>
  178. <result property="taxComName" column="tax_com_name" jdbcType="VARCHAR"/>
  179. <result property="taxDocumentDate" column="tax_document_date" jdbcType="VARCHAR"/>
  180. <result property="taxPaidAreaCode" column="tax_paid_area_code" jdbcType="VARCHAR"/>
  181. <result property="paidFreeCertificate" column="paid_free_certificate" jdbcType="VARCHAR"/>
  182. <result property="taxpayerName" column="taxpayer_name" jdbcType="VARCHAR"/>
  183. <result property="taxpayerIdentifier" column="taxpayer_identifier" jdbcType="VARCHAR"/>
  184. <result property="identifyNumber" column="identify_number" jdbcType="VARCHAR"/>
  185. <result property="taxRelifFlag" column="tax_relif_flag" jdbcType="VARCHAR"/>
  186. </resultMap>
  187. <resultMap id="InsOrdersVoMap" type="com.jzg.commons.entity.quote.vo.orders.InsOrdersVo">
  188. <result property="id" column="id" jdbcType="VARCHAR"/>
  189. <result property="quoteNo" column="quote_no" jdbcType="VARCHAR"/>
  190. <result property="agreementId" column="agreement_id" jdbcType="VARCHAR"/>
  191. <result property="companyId" column="company_id" jdbcType="VARCHAR"/>
  192. <result property="companyName" column="company_name" jdbcType="VARCHAR"/>
  193. <result property="productId" column="product_id" jdbcType="VARCHAR"/>
  194. <result property="productName" column="product_name" jdbcType="VARCHAR"/>
  195. <result property="auditStatus" column="audit_status" jdbcType="VARCHAR"/>
  196. <result property="auditComments" column="audit_comments" jdbcType="VARCHAR"/>
  197. <result property="createBy" column="create_by" jdbcType="VARCHAR"/>
  198. <result property="auditId" column="audit_id" jdbcType="VARCHAR"/>
  199. <result property="auditName" column="audit_name" jdbcType="VARCHAR"/>
  200. <result property="errorMessage" column="error_message" jdbcType="VARCHAR"/>
  201. <result property="orderType" column="order_type" jdbcType="VARCHAR"/>
  202. <association property="insOrders" column="{id=id}" select="selectOrdersById"/>
  203. <association property="carInfoVo" column="{orderNo=id}" select="selectOrdersCarInfoByOrderNo"/>
  204. <association property="insOrdersOtherInfo" column="{orderNo=id}" select="selectOrdersOtherByOrderNo"/>
  205. <association property="ordersExternal" column="{orderNo=id}" select="selectOrdersExternalFeeByOrderNo"/>
  206. <association property="insOrdersExternalPolicy" column="{orderNo=id}" select="selectExternalPolicyMap"/>
  207. <association property="vehicleAndVesselTaxVo" column="{orderNo=id}" select="selectOrdersTaxMap"/>
  208. <association property="imagesAdds" column="{orderNo=quote_no}" select="selectImageByOrderNo"/>
  209. <collection property="insOrdersRiskList" column="{orderNo=id}" select="selectOrdersRisk"/>
  210. <collection property="insOrderAdjust" column="{orderNo=id}" select="selectOrderAdjust"/>
  211. <collection property="carUserInfoList" column="{orderNo=id}" select="selectCarUserInfo"/>
  212. <collection property="kindInfoVo" column="{orderNo=id}" select="selectKindMap"/>
  213. <collection property="insOrdersCosts" column="{orderNo=id}" select="selectOrdersCostsByOrderNo"/>
  214. <collection property="insOrdersPolicy" column="{orderNo=id}" select="selectOrdersPolicyByOrderNo"/>
  215. <collection property="accidentalDrivings" column="{orderNo=id}"
  216. select="selectOrdersAccidentalDrivingByOrderNo"/>
  217. <collection property="feeOrdersVo" column="{orderNo=id}"
  218. select="selectInsFeeOrderByOrderNo"/>
  219. </resultMap>
  220. <select id="selectInsFeeOrderByOrderNo" resultType="com.jzg.commons.entity.vo.InsFeeOrdersVo">
  221. SELECT * FROM ins_fee_orders
  222. <where>
  223. and is_delete = 0
  224. and order_no = #{orderNo}
  225. </where>
  226. </select>
  227. <resultMap id="InsOrdersAccidentalDrivingMap" type="com.jzg.commons.entity.orders.po.InsOrdersAccidentalDriving">
  228. <id property="id" column="id" jdbcType="VARCHAR"/>
  229. <result property="orderNo" column="order_no" jdbcType="VARCHAR"/>
  230. <result property="riskCode" column="risk_code" jdbcType="VARCHAR"/>
  231. <result property="riskName" column="risk_name" jdbcType="VARCHAR"/>
  232. </resultMap>
  233. <resultMap id="InsOrdersExternalPolicyMap" type="com.jzg.commons.entity.orders.po.InsOrdersExternalPolicy">
  234. <id property="orderNo" column="order_no" jdbcType="VARCHAR"/>
  235. <result property="jqPolicy" column="jq_policy" jdbcType="VARCHAR"/>
  236. <result property="syPolicy" column="sy_policy" jdbcType="VARCHAR"/>
  237. <result property="noPolicy" column="no_policy" jdbcType="VARCHAR"/>
  238. <result property="jqSign" column="jq_sign" jdbcType="VARCHAR"/>
  239. <collection property="uploadFiles" column="concatenated_string" notNullColumn="concatenated_string"
  240. select="selectUploadFilesIds"/>
  241. </resultMap>
  242. <!--影像资料-->
  243. <resultMap id="ImageMap" type="com.jzg.commons.entity.vo.InsTaskImagesVo">
  244. <result property="quoteNo" column="quote_no" jdbcType="VARCHAR"/>
  245. <collection property="images" ofType="com.jzg.commons.entity.vo.ImagesVo">
  246. <result property="id" column="id" jdbcType="VARCHAR"/>
  247. <result property="imageType" column="image_type" jdbcType="VARCHAR"/>
  248. <result property="imageId" column="image_id" jdbcType="VARCHAR"/>
  249. <result property="fileName" column="file_name" jdbcType="VARCHAR"/>
  250. <result property="fileType" column="file_type" jdbcType="VARCHAR"/>
  251. <result property="bucketName" column="bucket_name" jdbcType="VARCHAR"/>
  252. <result property="downloadUrl" column="download_url" jdbcType="VARCHAR"/>
  253. </collection>
  254. </resultMap>
  255. <!--费用-->
  256. <resultMap id="insOrdersExternalFeeMap" type="com.jzg.commons.entity.orders.po.InsOrdersExternalFee">
  257. <id property="orderNo" column="order_no" jdbcType="VARCHAR"/>
  258. <result property="costFlag" column="cost_flag" jdbcType="VARCHAR"/>
  259. <result property="costId" column="cost_id" jdbcType="VARCHAR"/>
  260. <result property="jqSuperviseCostsProportion" column="jq_supervise_costs_proportion" jdbcType="VARCHAR"/>
  261. <result property="jqOtherCostsProportion" column="jq_other_costs_proportion" jdbcType="VARCHAR"/>
  262. <result property="sySuperviseCostsProportion" column="sy_supervise_costs_proportion" jdbcType="VARCHAR"/>
  263. <result property="syOtherCostsProportion" column="sy_other_costs_proportion" jdbcType="VARCHAR"/>
  264. <result property="noSuperviseCostsProportion" column="no_supervise_costs_proportion" jdbcType="VARCHAR"/>
  265. <result property="noOtherCostsProportion" column="no_other_costs_proportion" jdbcType="VARCHAR"/>
  266. </resultMap>
  267. <!-- 费用-->
  268. <resultMap id="insOrdersCostsMap" type="com.jzg.commons.entity.orders.po.InsOrdersCosts">
  269. <id property="orderNo" column="order_no" jdbcType="VARCHAR"/>
  270. <result property="jqPremium" column="jq_premium" jdbcType="VARCHAR"/>
  271. <result property="syPremium" column="sy_premium" jdbcType="VARCHAR"/>
  272. <result property="jyPremium" column="jy_premium" jdbcType="VARCHAR"/>
  273. <result property="sumPremium" column="sum_premium" jdbcType="VARCHAR"/>
  274. <result property="taxPremium" column="tax_premium" jdbcType="VARCHAR"/>
  275. <result property="jqRatio" column="jq_ratio" jdbcType="VARCHAR"/>
  276. <result property="syRatio" column="sy_ratio" jdbcType="VARCHAR"/>
  277. </resultMap>
  278. <resultMap id="sys_upload_files_map" type="com.jzg.commons.entity.po.SysUploadFiles">
  279. <result property="id" column="id" jdbcType="VARCHAR"/>
  280. <result property="fileName" column="file_name" jdbcType="VARCHAR"/>
  281. <result property="fileType" column="file_type" jdbcType="VARCHAR"/>
  282. <result property="fileSize" column="file_size" jdbcType="VARCHAR"/>
  283. <result property="bucketName" column="bucket_name" jdbcType="VARCHAR"/>
  284. </resultMap>
  285. <resultMap id="OrdersTaxMap" type="com.jzg.commons.entity.quote.vo.VehicleAndVesselTaxVo">
  286. <result property="orderNo" column="order_no" jdbcType="VARCHAR"/>
  287. <result property="extendChar2" column="extend_char2" jdbcType="VARCHAR"/>
  288. <result property="taxRelief" column="tax_relief" jdbcType="VARCHAR"/>
  289. <result property="relifReason" column="relif_reason" jdbcType="VARCHAR"/>
  290. <result property="taxComCode" column="tax_com_code" jdbcType="VARCHAR"/>
  291. <result property="taxComName" column="tax_com_name" jdbcType="VARCHAR"/>
  292. <result property="taxDocumentDate" column="tax_document_date" jdbcType="VARCHAR"/>
  293. <result property="taxPaidAreaCode" column="tax_paid_area_code" jdbcType="VARCHAR"/>
  294. <result property="paidFreeCertificate" column="paid_free_certificate" jdbcType="VARCHAR"/>
  295. <result property="taxpayerName" column="taxpayer_name" jdbcType="VARCHAR"/>
  296. <result property="taxpayerIdentifier" column="taxpayer_identifier" jdbcType="VARCHAR"/>
  297. <result property="identifyNumber" column="identify_number" jdbcType="VARCHAR"/>
  298. <result property="taxRelifFlag" column="tax_relif_flag" jdbcType="VARCHAR"/>
  299. </resultMap>
  300. <resultMap id="KindMap" type="com.jzg.commons.entity.quote.vo.KindInfoVo">
  301. <result property="kindCode" column="kind_code" jdbcType="VARCHAR"/>
  302. <result property="kindName" column="kind_name" jdbcType="VARCHAR"/>
  303. <result property="platformKindCode" column="platform_kind_code" jdbcType="VARCHAR"/>
  304. <result property="platformKindName" column="platform_kind_name" jdbcType="VARCHAR"/>
  305. <result property="amount" column="amount" jdbcType="VARCHAR"/>
  306. <result property="unitAmount" column="unit_amount" jdbcType="VARCHAR"/>
  307. <result property="quantity" column="quantity" jdbcType="VARCHAR"/>
  308. <result property="premium" column="premium" jdbcType="VARCHAR"/>
  309. <result property="deductibleRate" column="deductible_rate" jdbcType="VARCHAR"/>
  310. <result property="serviceTimes" column="service_times" jdbcType="VARCHAR"/>
  311. </resultMap>
  312. <select id="selectOrdersAccidentalDrivingByOrderNo" resultMap="InsOrdersAccidentalDrivingMap">
  313. select id, order_no, risk_code, risk_name
  314. from ins_orders_accidental_driving
  315. <where>
  316. and is_delete = 0
  317. and order_no = #{orderNo}
  318. </where>
  319. </select>
  320. <select id="selectKindMap" resultMap="KindMap">
  321. select id,
  322. order_no,
  323. amount,
  324. kind_code,
  325. service_times,
  326. kind_name,
  327. unit_amount,
  328. deductible_rate,
  329. premium
  330. from ins_orders_kind
  331. <where>
  332. and is_delete = 0
  333. and order_no = #{orderNo}
  334. </where>
  335. </select>
  336. <select id="selectUploadFilesIds" resultMap="sys_upload_files_map">
  337. select id, file_name, bucket_name
  338. from sys_upload_files
  339. <where>
  340. and is_delete = 0
  341. and id in (${concatenated_string})
  342. </where>
  343. </select>
  344. <select id="selectOrdersTaxMap" resultMap="OrdersTaxMap">
  345. select order_no,
  346. extend_char2,
  347. tax_relief,
  348. relif_reason,
  349. tax_com_code,
  350. tax_com_name,
  351. tax_document_date,
  352. tax_paid_area_code,
  353. paid_free_certificate,
  354. taxpayer_name,
  355. taxpayer_identifier,
  356. identify_number,
  357. tax_relif_flag
  358. from ins_orders_tax
  359. <where>
  360. and is_delete = 0
  361. and order_no = #{orderNo}
  362. </where>
  363. </select>
  364. <select id="selectOrdersPolicyByOrderNo" resultMap="InsOrdersPolicyMap">
  365. select order_no, jq_apply_no, jq_policy_no, sy_apply_no, sy_policy_no, jy_apply_no, jy_policy_no
  366. from ins_orders_policy
  367. <where>
  368. and is_delete = 0
  369. and order_no = #{orderNo}
  370. </where>
  371. </select>
  372. <select id="selectExternalPolicyMap" resultMap="InsOrdersExternalPolicyMap">
  373. SELECT order_no,
  374. jq_policy,
  375. sy_policy,
  376. no_policy,
  377. jq_sign,
  378. NULLIF(
  379. CONCAT_WS(', ',
  380. NULLIF(jq_policy, ''),
  381. NULLIF(sy_policy, ''),
  382. NULLIF(no_policy, ''),
  383. NULLIF(jq_sign, '')
  384. ),
  385. ''
  386. ) AS concatenated_string
  387. from ins_orders_external_policy
  388. <where>
  389. and is_delete = 0
  390. and order_no = #{orderNo}
  391. </where>
  392. </select>
  393. <select id="selectImageByOrderNo" resultMap="ImageMap">
  394. SELECT t.id, t.quote_no, t.image_type, t.image_id, f.file_name, f.file_type, f.bucket_name
  395. FROM ins_task_images t
  396. LEFT JOIN sys_upload_files f ON f.id = t.image_id and f.is_delete = 0
  397. <where>
  398. and t.is_delete = 0
  399. and t.quote_no = #{orderNo}
  400. </where>
  401. </select>
  402. <select id="selectOrdersExternalFeeByOrderNo" resultMap="insOrdersExternalFeeMap">
  403. select order_no,
  404. cost_flag,
  405. cost_id,
  406. jq_supervise_costs_proportion,
  407. jq_other_costs_proportion,
  408. sy_supervise_costs_proportion,
  409. sy_other_costs_proportion,
  410. no_supervise_costs_proportion,
  411. no_other_costs_proportion
  412. from ins_orders_external_fee
  413. <where>
  414. and order_no = #{orderNo}
  415. </where>
  416. </select>
  417. <select id="selectOrdersCostsByOrderNo" resultMap="insOrdersCostsMap">
  418. select order_no,
  419. jq_premium,
  420. sy_premium,
  421. jy_premium,
  422. sum_premium,
  423. total_amount,
  424. tax_premium,
  425. jq_ratio,
  426. sy_ratio
  427. from ins_orders_costs
  428. <where>
  429. and is_delete = 0
  430. and order_no = #{orderNo}
  431. </where>
  432. </select>
  433. <select id="selectOrdersRisk" resultMap="InsOrdersRiskMap">
  434. select id,
  435. order_no,
  436. risk_name,
  437. amount,
  438. commission_rate,
  439. premium,
  440. risk_code,
  441. no_tax_premium,
  442. commission_amount,
  443. start_date,
  444. end_date
  445. from ins_orders_risk
  446. <where>
  447. and is_delete = 0
  448. and order_no = #{orderNo}
  449. </where>
  450. </select>
  451. <select id="selectOrderAdjust" resultMap="InsOrderAdjustMap">
  452. select id,
  453. order_no,
  454. license_no,
  455. company_id,
  456. product_id,
  457. product_name,
  458. company_name,
  459. status,
  460. type,
  461. after_premium,
  462. premium
  463. from ins_order_adjust
  464. <where>
  465. and is_delete = 0
  466. and order_no = #{orderNo}
  467. AND status in (1, 2, 3)
  468. </where>
  469. order by create_time desc
  470. limit 1
  471. </select>
  472. <select id="selectOrdersTax" resultMap="InsOrdersTaxMap">
  473. select order_no,
  474. extend_char2,
  475. tax_relief,
  476. relif_reason,
  477. tax_com_code,
  478. tax_com_name,
  479. tax_document_date,
  480. tax_paid_area_code,
  481. paid_free_certificate,
  482. taxpayer_name,
  483. taxpayer_identifier,
  484. identify_number,
  485. tax_relif_flag
  486. from ins_orders_tax
  487. <where>
  488. and is_delete = 0
  489. and order_no = #{orderNo}
  490. </where>
  491. </select>
  492. <select id="selectOrdersKind" resultMap="OrdersKindMap">
  493. select order_no, amount, kind_code, service_times, kind_name, unit_amount, deductible_rate
  494. from ins_orders_kind
  495. <where>
  496. and is_delete = 0
  497. and order_no = #{orderNo}
  498. </where>
  499. </select>
  500. <select id="pageList" resultType="com.jzg.commons.entity.vo.OrdersListVo">
  501. SELECT
  502. o.id,
  503. o.quote_no,
  504. o.audit_id,
  505. o.audit_name,
  506. o.company_name,
  507. o.create_by,
  508. o.create_time,
  509. o.order_status,
  510. c.license_no,
  511. s.jq_premium,
  512. s.sy_premium,
  513. s.jy_premium,
  514. s.sum_premium,
  515. s.tax_premium,
  516. o.real_quote_user_id,
  517. suji.name as real_quote_user_name,
  518. sd.name as salesmanCompany,
  519. ioa.status as adjustStatus,
  520. ioa.id as adjustId,
  521. ioa1.after_premium as adjustPremium
  522. FROM
  523. ins_orders o
  524. LEFT JOIN ins_orders_car_info c ON c.order_no = o.id and c.is_delete = 0
  525. LEFT JOIN ins_orders_costs s ON o.id = s.order_no and s.is_delete = 0
  526. LEFT JOIN sys_user su ON su.mobile = o.real_quote_user_id and su.is_delete = 0
  527. LEFT JOIN sys_user_jzg_info suji ON suji.user_id = su.id AND suji.system_code = #{insOrdersParam.systemCode} and suji.is_delete = 0
  528. LEFT JOIN esm_ins_company eic on o.company_id = eic.id and eic.is_delete = 0
  529. left join sys_dept sd on sd.id = suji.dept_id and sd.is_delete = 0
  530. left join
  531. (
  532. SELECT *
  533. FROM (
  534. SELECT t.*,
  535. ROW_NUMBER() OVER(PARTITION BY t.order_no ORDER BY t.create_time DESC) AS rn
  536. FROM ins_order_adjust t where t.is_delete = 0
  537. ) x WHERE x.rn = 1
  538. ) ioa ON o.id = ioa.order_no
  539. left join
  540. (
  541. SELECT *
  542. FROM (
  543. SELECT t.*,
  544. ROW_NUMBER() OVER(PARTITION BY t.order_no ORDER BY t.create_time DESC) AS rn
  545. FROM ins_order_adjust t where t.status = 2 and t.is_delete = 0
  546. ) x WHERE x.rn = 1
  547. ) ioa1 ON o.id = ioa1.order_no
  548. <where>
  549. and o.is_delete = 0 and o.parent_id != 0
  550. <if test="insOrdersParam.systemCode != null and insOrdersParam.systemCode != ''">
  551. AND o.system_code = #{insOrdersParam.systemCode}
  552. </if>
  553. <if test="insOrdersParam.orderNo != null and insOrdersParam.orderNo != ''">
  554. AND o.quote_no = #{insOrdersParam.orderNo}
  555. </if>
  556. <if test="insOrdersParam.orderId != null and insOrdersParam.orderId != ''">
  557. AND o.id = #{insOrdersParam.orderId}
  558. </if>
  559. <if test="insOrdersParam.parentId == 0 ">
  560. AND o.parent_id = 0
  561. </if>
  562. <if test="insOrdersParam.parentId == 1 ">
  563. AND o.parent_id != 0
  564. </if>
  565. <if test="insOrdersParam.isTemporarily != null">
  566. AND o.is_temporarily = #{insOrdersParam.isTemporarily}
  567. </if>
  568. <if test="insOrdersParam.companyName != null and insOrdersParam.companyName != ''">
  569. AND o.company_name = #{insOrdersParam.companyName}
  570. </if>
  571. <if test="insOrdersParam.companyId != null and insOrdersParam.companyId != ''">
  572. AND o.company_id = #{insOrdersParam.companyId}
  573. </if>
  574. <if test="insOrdersParam.salesman != null and insOrdersParam.salesman != ''">
  575. AND suji.name = #{insOrdersParam.salesman}
  576. </if>
  577. <if test="insOrdersParam.salesmanCompany != null and insOrdersParam.salesmanCompany != ''">
  578. AND sd.name = #{insOrdersParam.salesmanCompany}
  579. </if>
  580. <if test="insOrdersParam.auditStatus != null and insOrdersParam.auditStatus != ''">
  581. AND o.audit_status = #{insOrdersParam.auditStatus}
  582. </if>
  583. <if test="insOrdersParam.adjustStatus!= null and insOrdersParam.adjustStatus!= ''">
  584. AND ioa.status = #{insOrdersParam.adjustStatus}
  585. </if>
  586. <if test="insOrdersParam.licenseNo != null and insOrdersParam.licenseNo != ''">
  587. AND c.license_no = #{insOrdersParam.licenseNo}
  588. </if>
  589. <if test="insOrdersParam.startDate != null and insOrdersParam.endDate != null">
  590. AND o.create_time BETWEEN #{insOrdersParam.startDate} and #{insOrdersParam.endDate}
  591. </if>
  592. </where>
  593. order by o.create_time desc
  594. </select>
  595. <select id="selectOrdersById" resultMap="InsOrdersMap">
  596. select id,
  597. quote_no,
  598. agreement_id,
  599. api_type,
  600. order_status,
  601. company_id,
  602. company_name,
  603. real_quote_user_id,
  604. product_id,
  605. product_name,
  606. entry_status,
  607. order_source,
  608. audit_id,
  609. audit_name,
  610. audit_time,
  611. audit_opinion,
  612. pay_time,
  613. pay_link,
  614. ins_order_no,
  615. signing_time,
  616. is_temporarily,
  617. docking_person,
  618. docking_person_phone
  619. from ins_orders
  620. <where>
  621. and is_delete = 0
  622. and id = #{id}
  623. </where>
  624. </select>
  625. <select id="selectCarUserInfo" resultMap="carUserInfoMap">
  626. select order_no,
  627. policy_person_type,
  628. person_type,
  629. car_owner,
  630. cer_type,
  631. `name`,
  632. identify_number,
  633. age,
  634. gender,
  635. province_code,
  636. city_code,
  637. county_code,
  638. addr,
  639. identify_valid_date,
  640. identify_valid_end_date,
  641. mobile,
  642. landline,
  643. contact,
  644. contact_identify_number,
  645. contact_identify_valid_date,
  646. contact_identify_valid_end_date,
  647. email
  648. from ins_orders_car_user_info
  649. <where>
  650. and is_delete = 0
  651. and order_no = #{orderNo}
  652. </where>
  653. </select>
  654. <select id="selectOrdersCarInfoByOrderNo" resultMap="carInfoMap">
  655. select order_no,
  656. license_no,
  657. is_registered,
  658. vin_no,
  659. brand_name,
  660. engine_no,
  661. car_year,
  662. seat_count,
  663. complete_kerb_mass,
  664. limit_load,
  665. power_scale,
  666. purchase_price,
  667. car_nature_code,
  668. vehicle_use_code,
  669. car_type_code,
  670. car_kind_code,
  671. energy_type_code,
  672. property_code,
  673. license_color_code,
  674. car_kind_detail_id_code,
  675. license_kind_code,
  676. register_date,
  677. issue_date,
  678. transfer_date,
  679. transfer,
  680. transfer_bi,
  681. displacement
  682. from ins_orders_car_info
  683. <where>
  684. and is_delete = 0
  685. and order_no = #{orderNo}
  686. </where>
  687. </select>
  688. <select id="selectOrdersOtherByOrderNo" resultMap="InsOrdersOtherMap">
  689. SELECT ot.order_no,
  690. ot.score,
  691. ot.score_json,
  692. ot.jq_score,
  693. ot.sy_score,
  694. ot.loss_ration,
  695. ot.jq_loss_ration,
  696. ot.sy_loss_ration,
  697. ot.jq_renewal,
  698. ot.sy_renewal,
  699. ot.jq_claims,
  700. ot.sy_claims,
  701. ot.is_djq,
  702. ot.jq_adjust_rate,
  703. ot.sy_adjust_rate,
  704. ot.tp_color_score,
  705. o.signing_time,
  706. o.company_name,
  707. co.jq_premium,
  708. co.sy_premium,
  709. co.jy_premium,
  710. co.sum_premium,
  711. co.tax_premium,
  712. p.jq_policy_no,
  713. p.sy_policy_no
  714. FROM ins_orders_other ot
  715. LEFT JOIN ins_orders o ON o.quote_no = ot.order_no and o.is_delete = 0
  716. LEFT JOIN ins_orders_costs co ON co.order_no = ot.order_no and co.is_delete = 0
  717. LEFT JOIN ins_orders_policy p ON p.order_no = ot.order_no and p.is_delete = 0
  718. <where>
  719. and ot.is_delete = 0
  720. and ot.order_no = #{orderNo}
  721. </where>
  722. </select>
  723. <select id="getById" resultMap="InsOrdersVoMap">
  724. select id,
  725. quote_no,
  726. agreement_id,
  727. company_id,
  728. company_name,
  729. product_id,
  730. product_name,
  731. real_quote_user_id,
  732. audit_status,
  733. audit_comments,
  734. create_by,
  735. audit_id,
  736. audit_name,
  737. error_message,
  738. create_time,
  739. create_by,
  740. update_time,
  741. update_by,
  742. CASE entry_status
  743. WHEN 1 THEN '车险出单'
  744. WHEN 2 THEN '代客录单'
  745. WHEN 3 THEN '补录订单'
  746. ELSE ''
  747. END AS order_type
  748. from ins_orders
  749. <where>
  750. and is_delete = 0
  751. and id = #{id}
  752. </where>
  753. </select>
  754. <select id="queryNewQuoteListByQuoteNo" resultMap="InsOrdersVoMap">
  755. SELECT i.*
  756. FROM ins_orders i
  757. JOIN (SELECT company_id, MAX(create_time) AS max_time
  758. FROM ins_orders
  759. WHERE quote_no = #{quoteNo}
  760. AND order_status in (1, 2, 3, 4)
  761. AND is_delete = 0
  762. GROUP BY company_id) t
  763. ON i.company_id = t.company_id AND i.create_time = t.max_time
  764. WHERE i.quote_no = #{quoteNo}
  765. AND i.is_delete = 0;
  766. </select>
  767. <select id="queryList" resultMap="InsOrdersVoMap">
  768. select id,
  769. quote_no,
  770. company_name,
  771. audit_status,
  772. audit_comments,
  773. create_by,
  774. audit_id,
  775. audit_name
  776. from ins_orders
  777. <where>
  778. and is_delete = 0
  779. </where>
  780. order by create_time desc
  781. </select>
  782. <!--查询车险报价订单 modify by lipf 2026年4月28日09:22:46 和田智确认后,将主订单过滤掉-->
  783. <select id="queryOrderList" resultType="com.jzg.commons.entity.orders.vo.OrderListVo">
  784. SELECT
  785. io.id as order_no,
  786. io.quote_no as no,
  787. io.company_id,
  788. io.company_name,
  789. io.product_id as productCode,
  790. io.product_name as productName,
  791. io.order_status,
  792. io.create_time,
  793. io.create_by,
  794. io.error_message,
  795. ioci.license_no,
  796. ioci.vin_no,
  797. owner_u.name as owner_name,
  798. owner_u.mobile as owner_mobile,
  799. policy_u.name as policy_name,
  800. policy_u.mobile as policy_mobile,
  801. insur_u.name as insur_name,
  802. insur_u.mobile as insur_mobile,
  803. iorci.start_date as ci_start_date,
  804. iorbi.start_date as bi_start_date,
  805. iorco.sum_premium as sumPremium,
  806. iorco.jq_premium as ciPremium,
  807. iorco.sy_premium as biPremium,
  808. iorco.jy_premium as niPremium,
  809. iorco.tax_premium as vvTax,
  810. su.username as recorder,
  811. suji.name as salesmanInfo,
  812. suji.id as jzgInfoId,
  813. suji.type_attr as salesmanType,
  814. pa.agreement_name as agreementName,
  815. sd.name as deptName,
  816. io.pay_link as paymentLink,
  817. ioa.status as adjustStatus,
  818. ioa.id as adjustId,
  819. ioa1.after_premium as adjustPremium
  820. FROM
  821. ins_orders io
  822. LEFT JOIN ins_orders_car_info ioci ON ioci.order_no = io.id and ioci.is_delete = 0
  823. LEFT JOIN
  824. ins_orders_car_user_info owner_u on owner_u.order_no = io.id and owner_u.policy_person_type = 1 and owner_u.is_delete = 0
  825. left JOIN
  826. ins_orders_car_user_info policy_u on policy_u.order_no = io.id and policy_u.policy_person_type = 2 and policy_u.is_delete = 0
  827. left JOIN
  828. ins_orders_car_user_info insur_u on insur_u.order_no = io.id and insur_u.policy_person_type = 3 and insur_u.is_delete = 0
  829. left join
  830. ins_orders_risk iorci on iorci.order_no = io.id and iorci.risk_code = '0507' and iorci.is_delete = 0
  831. left join
  832. ins_orders_risk iorbi on iorbi.order_no = io.id and iorbi.risk_code = '0510' and iorbi.is_delete = 0
  833. LEFT JOIN
  834. ins_orders_costs iorco on iorco.order_no = io.id and iorco.is_delete = 0
  835. left join
  836. sys_user su on su.mobile = io.real_quote_user_id and su.is_delete = 0
  837. left join
  838. sys_user_jzg_info suji on suji.user_id = su.id and suji.system_code = #{insOrdersParam.systemCode} and suji.is_delete = 0
  839. left join
  840. sys_dept sd on sd.id = suji.dept_id and sd.is_delete = 0
  841. left join
  842. ptl_agreement pa on pa.id = io.agreement_id and pa.is_delete = 0
  843. left join
  844. (
  845. SELECT *
  846. FROM (
  847. SELECT t.*,
  848. ROW_NUMBER() OVER(PARTITION BY t.order_no ORDER BY t.create_time DESC) AS rn
  849. FROM ins_order_adjust t where t.is_delete = 0
  850. ) x WHERE x.rn = 1
  851. ) ioa ON io.id = ioa.order_no
  852. left join
  853. (
  854. SELECT *
  855. FROM (
  856. SELECT t.*,
  857. ROW_NUMBER() OVER(PARTITION BY t.order_no ORDER BY t.create_time DESC) AS rn
  858. FROM ins_order_adjust t where t.status = 2 and t.is_delete = 0
  859. ) x WHERE x.rn = 1
  860. ) ioa1 ON io.id = ioa1.order_no
  861. <where>
  862. and io.is_delete = 0 and io.parent_id != '0'
  863. <if test="insOrdersParam.jzgInfoId != null and insOrdersParam.jzgInfoId != ''">
  864. and io.real_quote_user_id in (select username from sys_user bbb where bbb.id in ( select ss.user_id from sys_user_jzg_info ss where 1 =1 and (ss.leader_id = #{insOrdersParam.jzgInfoId} or ss.id =#{insOrdersParam.jzgInfoId}) and ss.is_delete = 0 ) and bbb.is_delete = 0 )
  865. </if>
  866. <if test="insOrdersParam.orderNo != null and insOrdersParam.orderNo != ''">
  867. AND io.id = #{insOrdersParam.orderNo}
  868. </if>
  869. <if test="insOrdersParam.licenseNo != null and insOrdersParam.licenseNo != ''">
  870. AND ioci.license_no = #{insOrdersParam.licenseNo}
  871. </if>
  872. <if test="insOrdersParam.orderStatus!= null and insOrdersParam.orderStatus!= ''">
  873. AND io.order_status = #{insOrdersParam.orderStatus}
  874. </if>
  875. <if test="insOrdersParam.adjustStatus!= null and insOrdersParam.adjustStatus!= ''">
  876. AND ioa.status = #{insOrdersParam.adjustStatus}
  877. </if>
  878. <if test="insOrdersParam.salesman!= null">
  879. AND io.real_quote_user_id = #{insOrdersParam.salesman}
  880. </if>
  881. <if test="insOrdersParam.companyId != null and insOrdersParam.companyId != ''">
  882. AND io.company_id = #{insOrdersParam.companyId}
  883. </if>
  884. <if test="insOrdersParam.startDate != null and insOrdersParam.startDate != ''and insOrdersParam.endDate != null and insOrdersParam.endDate != ''">
  885. AND io.create_time BETWEEN #{insOrdersParam.startDate} and #{insOrdersParam.endDate}
  886. </if>
  887. <if test="insOrdersParam.companyName != null and insOrdersParam.companyName != ''">
  888. AND io.company_name = #{insOrdersParam.companyName}
  889. </if>
  890. <if test="insOrdersParam.productCode != null and insOrdersParam.productCode != ''">
  891. AND io.product_id = #{insOrdersParam.productCode}
  892. </if>
  893. <if test="insOrdersParam.productName != null and insOrdersParam.productName != ''">
  894. AND io.product_name = #{insOrdersParam.productName}
  895. </if>
  896. <if test="insOrdersParam.vinNo != null and insOrdersParam.vinNo != ''">
  897. AND ioci.vin_no = #{insOrdersParam.vinNo}
  898. </if>
  899. <if test="insOrdersParam.ownerName != null and insOrdersParam.ownerName != ''">
  900. AND owner_u.name = #{insOrdersParam.ownerName}
  901. </if>
  902. <if test="insOrdersParam.ownerMobile != null and insOrdersParam.ownerMobile != ''">
  903. AND owner_u.mobile = #{insOrdersParam.ownerMobile}
  904. </if>
  905. <if test="insOrdersParam.policyName != null and insOrdersParam.policyName != ''">
  906. AND policy_u.name = #{insOrdersParam.policyName}
  907. </if>
  908. <if test="insOrdersParam.policyMobile != null and insOrdersParam.policyMobile != ''">
  909. AND policy_u.mobile = #{insOrdersParam.policyMobile}
  910. </if>
  911. <if test="insOrdersParam.insurName != null and insOrdersParam.insurName != ''">
  912. AND insur_u.name = #{insOrdersParam.insurName}
  913. </if>
  914. <if test="insOrdersParam.insurMobile != null and insOrdersParam.insurMobile != ''">
  915. AND insur_u.mobile = #{insOrdersParam.insurMobile}
  916. </if>
  917. <if test="insOrdersParam.ciStartDate != null">
  918. AND iorci.start_date = #{insOrdersParam.ciStartDate}
  919. </if>
  920. <if test="insOrdersParam.biStartDate != null">
  921. AND iorbi.start_date = #{insOrdersParam.biStartDate}
  922. </if>
  923. <if test="insOrdersParam.sumPremium != null">
  924. AND iorco.sum_premium = #{insOrdersParam.sumPremium}
  925. </if>
  926. <if test="insOrdersParam.ciPremium != null">
  927. AND iorco.jq_premium = #{insOrdersParam.ciPremium}
  928. </if>
  929. <if test="insOrdersParam.biPremium != null">
  930. AND iorco.sy_premium = #{insOrdersParam.biPremium}
  931. </if>
  932. <if test="insOrdersParam.niPremium != null">
  933. AND iorco.jy_premium = #{insOrdersParam.niPremium}
  934. </if>
  935. <if test="insOrdersParam.vvTax != null">
  936. AND iorco.tax_premium = #{insOrdersParam.vvTax}
  937. </if>
  938. <if test="insOrdersParam.salesmanInfo != null and insOrdersParam.salesmanInfo != ''">
  939. AND su.username = #{insOrdersParam.salesmanInfo}
  940. </if>
  941. <if test="insOrdersParam.salesmanType != null and insOrdersParam.salesmanType != ''">
  942. AND suji.type_attr = #{insOrdersParam.salesmanType}
  943. </if>
  944. <if test="insOrdersParam.agreementName != null and insOrdersParam.agreementName != ''">
  945. AND pa.agreement_name = #{insOrdersParam.agreementName}
  946. </if>
  947. <if test="insOrdersParam.deptId != null and insOrdersParam.deptId != ''">
  948. AND sd.id = #{insOrdersParam.deptId}
  949. </if>
  950. <if test="insOrdersParam.deptName != null and insOrdersParam.deptName != ''">
  951. AND sd.name = #{insOrdersParam.deptName}
  952. </if>
  953. <if test="insOrdersParam.paymentLink != null and insOrdersParam.paymentLink != ''">
  954. AND io.pay_link = #{insOrdersParam.paymentLink}
  955. </if>
  956. <if test="insOrdersParam.adjustId != null">
  957. AND ioa.id = #{insOrdersParam.adjustId}
  958. </if>
  959. <if test="insOrdersParam.adjustPremium != null">
  960. AND ioa1.after_premium = #{insOrdersParam.adjustPremium}
  961. </if>
  962. <if test="insOrdersParam.startSigningTime != null and insOrdersParam.startSigningTime != ''and insOrdersParam.endSigningTime != null and insOrdersParam.endSigningTime != ''">
  963. AND io.signing_time BETWEEN #{insOrdersParam.startSigningTime} and #{insOrdersParam.endSigningTime}
  964. </if>
  965. <if test="insOrdersParam.startPayTime != null and insOrdersParam.startPayTime != ''and insOrdersParam.endPayTime != null and insOrdersParam.endPayTime != ''">
  966. AND io.pay_time BETWEEN #{insOrdersParam.startPayTime} and #{insOrdersParam.endPayTime}
  967. </if>
  968. </where>
  969. order by io.create_time desc
  970. </select>
  971. <select id="queryOrderListAll" resultType="com.jzg.commons.entity.orders.vo.OrderListVo">
  972. SELECT
  973. io.id as order_no,
  974. io.company_id,
  975. io.company_name,
  976. io.product_id as productCode,
  977. io.product_name as productName,
  978. io.order_status,
  979. io.create_time,
  980. ioci.license_no,
  981. ioci.vin_no,
  982. owner_u.name as owner_name,
  983. owner_u.mobile as owner_mobile,
  984. policy_u.name as policy_name,
  985. policy_u.mobile as policy_mobile,
  986. insur_u.name as insur_name,
  987. insur_u.mobile as insur_mobile,
  988. iorci.start_date as ci_start_date,
  989. iorbi.start_date as bi_start_date,
  990. iorco.sum_premium as sumPremium,
  991. iorco.jq_premium as ciPremium,
  992. iorco.sy_premium as biPremium,
  993. iorco.jy_premium as niPremium,
  994. iorco.tax_premium as vvTax,
  995. su.username as recorder,
  996. suji.name as salesmanInfo,
  997. suji.type_attr as salesmanType,
  998. pa.agreement_name as agreementName,
  999. sd.name as deptName,
  1000. io.pay_link as paymentLink,
  1001. ioa.status as adjustStatus,
  1002. ioa.id as adjustId,
  1003. ioa1.after_premium as adjustPremium
  1004. FROM
  1005. ins_orders io
  1006. LEFT JOIN ins_orders_car_info ioci ON ioci.order_no = io.id and ioci.is_delete = 0
  1007. LEFT JOIN
  1008. ins_orders_car_user_info owner_u on owner_u.order_no = io.id and owner_u.policy_person_type = 1 and owner_u.is_delete = 0
  1009. left JOIN
  1010. ins_orders_car_user_info policy_u on policy_u.order_no = io.id and policy_u.policy_person_type = 2 and policy_u.is_delete = 0
  1011. left JOIN
  1012. ins_orders_car_user_info insur_u on insur_u.order_no = io.id and insur_u.policy_person_type = 3 and insur_u.is_delete = 0
  1013. left join
  1014. ins_orders_risk iorci on iorci.order_no = io.id and iorci.risk_code = '0507' and iorci.is_delete = 0
  1015. left join
  1016. ins_orders_risk iorbi on iorbi.order_no = io.id and iorbi.risk_code = '0510' and iorbi.is_delete = 0
  1017. LEFT JOIN
  1018. ins_orders_costs iorco on iorco.order_no = io.id and iorco.is_delete = 0
  1019. left join
  1020. sys_user su on su.mobile = io.real_quote_user_id and su.is_delete = 0
  1021. left join
  1022. sys_user_jzg_info suji on suji.user_id = su.id and suji.system_code = #{insOrdersParam.systemCode} and suji.is_delete = 0
  1023. left join
  1024. sys_dept sd on sd.id = suji.dept_id and sd.is_delete = 0
  1025. left join
  1026. ptl_agreement pa on pa.id = io.agreement_id and pa.is_delete = 0
  1027. left join
  1028. (
  1029. SELECT *
  1030. FROM (
  1031. SELECT t.*,
  1032. ROW_NUMBER() OVER(PARTITION BY t.order_no ORDER BY t.create_time DESC) AS rn
  1033. FROM ins_order_adjust t where t.is_delete = 0
  1034. ) x WHERE x.rn = 1
  1035. ) ioa ON io.id = ioa.order_no
  1036. left join
  1037. (
  1038. SELECT *
  1039. FROM (
  1040. SELECT t.*,
  1041. ROW_NUMBER() OVER(PARTITION BY t.order_no ORDER BY t.create_time DESC) AS rn
  1042. FROM ins_order_adjust t where t.status = 2 and t.is_delete = 0
  1043. ) x WHERE x.rn = 1
  1044. ) ioa1 ON io.id = ioa1.order_no
  1045. <where>
  1046. and io.is_delete = 0
  1047. <if test="insOrdersParam.orderNo != null and insOrdersParam.orderNo != ''">
  1048. AND io.id = #{insOrdersParam.orderNo}
  1049. </if>
  1050. <if test="insOrdersParam.parentId != null">
  1051. AND io.parent_id = #{insOrdersParam.parentId}
  1052. </if>
  1053. <if test="insOrdersParam.licenseNo != null and insOrdersParam.licenseNo != ''">
  1054. AND ioci.license_no = #{insOrdersParam.licenseNo}
  1055. </if>
  1056. <if test="insOrdersParam.orderStatus!= null and insOrdersParam.orderStatus!= ''">
  1057. AND io.order_status = #{insOrdersParam.orderStatus}
  1058. </if>
  1059. <if test="insOrdersParam.adjustStatus!= null and insOrdersParam.adjustStatus!= ''">
  1060. AND ioa.status = #{insOrdersParam.adjustStatus}
  1061. </if>
  1062. <if test="insOrdersParam.salesman!= null">
  1063. AND io.real_quote_user_id = #{insOrdersParam.salesman}
  1064. </if>
  1065. <if test="insOrdersParam.companyId != null and insOrdersParam.companyId != ''">
  1066. AND io.company_id = #{insOrdersParam.companyId}
  1067. </if>
  1068. <if test="insOrdersParam.startDate != null and insOrdersParam.startDate != ''and insOrdersParam.endDate != null and insOrdersParam.endDate != ''">
  1069. AND io.create_time BETWEEN #{insOrdersParam.startDate} and #{insOrdersParam.endDate}
  1070. </if>
  1071. <if test="insOrdersParam.companyName != null and insOrdersParam.companyName != ''">
  1072. AND io.company_name = #{insOrdersParam.companyName}
  1073. </if>
  1074. <if test="insOrdersParam.productCode != null and insOrdersParam.productCode != ''">
  1075. AND io.product_id = #{insOrdersParam.productCode}
  1076. </if>
  1077. <if test="insOrdersParam.productName != null and insOrdersParam.productName != ''">
  1078. AND io.product_name = #{insOrdersParam.productName}
  1079. </if>
  1080. <if test="insOrdersParam.vinNo != null and insOrdersParam.vinNo != ''">
  1081. AND ioci.vin_no = #{insOrdersParam.vinNo}
  1082. </if>
  1083. <if test="insOrdersParam.ownerName != null and insOrdersParam.ownerName != ''">
  1084. AND owner_u.name = #{insOrdersParam.ownerName}
  1085. </if>
  1086. <if test="insOrdersParam.ownerMobile != null and insOrdersParam.ownerMobile != ''">
  1087. AND owner_u.mobile = #{insOrdersParam.ownerMobile}
  1088. </if>
  1089. <if test="insOrdersParam.policyName != null and insOrdersParam.policyName != ''">
  1090. AND policy_u.name = #{insOrdersParam.policyName}
  1091. </if>
  1092. <if test="insOrdersParam.policyMobile != null and insOrdersParam.policyMobile != ''">
  1093. AND policy_u.mobile = #{insOrdersParam.policyMobile}
  1094. </if>
  1095. <if test="insOrdersParam.insurName != null and insOrdersParam.insurName != ''">
  1096. AND insur_u.name = #{insOrdersParam.insurName}
  1097. </if>
  1098. <if test="insOrdersParam.insurMobile != null and insOrdersParam.insurMobile != ''">
  1099. AND insur_u.mobile = #{insOrdersParam.insurMobile}
  1100. </if>
  1101. <if test="insOrdersParam.ciStartDate != null">
  1102. AND iorci.start_date = #{insOrdersParam.ciStartDate}
  1103. </if>
  1104. <if test="insOrdersParam.biStartDate != null">
  1105. AND iorbi.start_date = #{insOrdersParam.biStartDate}
  1106. </if>
  1107. <if test="insOrdersParam.sumPremium != null">
  1108. AND iorco.sum_premium = #{insOrdersParam.sumPremium}
  1109. </if>
  1110. <if test="insOrdersParam.ciPremium != null">
  1111. AND iorco.jq_premium = #{insOrdersParam.ciPremium}
  1112. </if>
  1113. <if test="insOrdersParam.biPremium != null">
  1114. AND iorco.sy_premium = #{insOrdersParam.biPremium}
  1115. </if>
  1116. <if test="insOrdersParam.niPremium != null">
  1117. AND iorco.jy_premium = #{insOrdersParam.niPremium}
  1118. </if>
  1119. <if test="insOrdersParam.vvTax != null">
  1120. AND iorco.tax_premium = #{insOrdersParam.vvTax}
  1121. </if>
  1122. <if test="insOrdersParam.recorder != null and insOrdersParam.recorder != ''">
  1123. AND su.username = #{insOrdersParam.recorder}
  1124. </if>
  1125. <if test="insOrdersParam.salesmanInfo != null and insOrdersParam.salesmanInfo != ''">
  1126. AND suji.name = #{insOrdersParam.salesmanInfo}
  1127. </if>
  1128. <if test="insOrdersParam.salesmanType != null and insOrdersParam.salesmanType != ''">
  1129. AND suji.type_attr = #{insOrdersParam.salesmanType}
  1130. </if>
  1131. <if test="insOrdersParam.agreementName != null and insOrdersParam.agreementName != ''">
  1132. AND pa.agreement_name = #{insOrdersParam.agreementName}
  1133. </if>
  1134. <if test="insOrdersParam.deptId != null and insOrdersParam.deptId != ''">
  1135. AND sd.id = #{insOrdersParam.deptId}
  1136. </if>
  1137. <if test="insOrdersParam.deptName != null and insOrdersParam.deptName != ''">
  1138. AND sd.name = #{insOrdersParam.deptName}
  1139. </if>
  1140. <if test="insOrdersParam.paymentLink != null and insOrdersParam.paymentLink != ''">
  1141. AND io.pay_link = #{insOrdersParam.paymentLink}
  1142. </if>
  1143. <if test="insOrdersParam.adjustId != null">
  1144. AND ioa.id = #{insOrdersParam.adjustId}
  1145. </if>
  1146. <if test="insOrdersParam.adjustPremium != null">
  1147. AND ioa1.after_premium = #{insOrdersParam.adjustPremium}
  1148. </if>
  1149. <if test="insOrdersParam.startSigningTime != null and insOrdersParam.startSigningTime != ''and insOrdersParam.endSigningTime != null and insOrdersParam.endSigningTime != ''">
  1150. AND io.signing_time BETWEEN #{insOrdersParam.startSigningTime} and #{insOrdersParam.endSigningTime}
  1151. </if>
  1152. <if test="insOrdersParam.startPayTime != null and insOrdersParam.startPayTime != ''and insOrdersParam.endPayTime != null and insOrdersParam.endPayTime != ''">
  1153. AND io.pay_time BETWEEN #{insOrdersParam.startPayTime} and #{insOrdersParam.endPayTime}
  1154. </if>
  1155. </where>
  1156. order by io.create_time desc
  1157. </select>
  1158. <select id="getHistoryQuote" resultType="com.jzg.commons.entity.orders.vo.HistoryQuoteResultVo">
  1159. SELECT t.id as order_no,
  1160. t.license_no
  1161. FROM (SELECT io.id,
  1162. ioci.license_no,
  1163. ROW_NUMBER() OVER ( PARTITION BY ioci.license_no ORDER BY io.create_time DESC ) AS rn
  1164. FROM ins_orders io
  1165. LEFT JOIN ins_orders_car_info ioci ON io.id = ioci.order_no and ioci.is_delete = 0
  1166. WHERE io.is_delete = 0
  1167. AND io.real_quote_user_id = #{userName}) t
  1168. WHERE t.rn = 1
  1169. LIMIT 10
  1170. </select>
  1171. <select id="getHistoryQuoteList" resultType="com.jzg.commons.entity.orders.vo.HistoryQuoteResultVo">
  1172. SELECT
  1173. io.id as order_no,
  1174. io.company_id,
  1175. io.company_name,
  1176. ioci.license_no,
  1177. io.order_status,
  1178. io.error_message,
  1179. io.product_name,
  1180. io.create_time as quote_time,
  1181. ioc.jq_premium,
  1182. ioc.sy_premium,
  1183. ioc.jy_premium,
  1184. sum(ioc.jq_premium + ioc.sy_premium + ioc.jy_premium) as sum_premium,
  1185. COUNT(*) AS quote_number
  1186. FROM
  1187. ins_orders io
  1188. LEFT JOIN ins_orders_car_info ioci ON io.id = ioci.order_no and ioci.is_delete = 0
  1189. LEFT JOIN ins_orders_costs ioc on io.id = ioc.order_no and ioc.is_delete = 0
  1190. <where>
  1191. and io.is_delete = 0
  1192. and io.real_quote_user_id = #{userName}
  1193. <if test="params.licenseNo != null and params.licenseNo != ''">
  1194. AND ioci.license_no = #{params.licenseNo}
  1195. </if>
  1196. and io.parent_id != 0
  1197. </where>
  1198. GROUP BY
  1199. ioci.license_no,
  1200. io.id;
  1201. </select>
  1202. <select id="getHistoryQuoteByLicenseNo" resultType="com.jzg.commons.entity.orders.vo.HistoryQuoteResultVo">
  1203. SELECT io.id as order_no,
  1204. io.company_id,
  1205. io.company_name,
  1206. io.product_name,
  1207. io.create_time as quote_time,
  1208. ioci.license_no,
  1209. ioc.sum_premium
  1210. FROM ins_orders io
  1211. LEFT JOIN ins_orders_car_info ioci ON io.id = ioci.order_no and ioci.is_delete = 0
  1212. LEFT JOIN ins_orders_costs ioc on io.id = ioc.order_no and ioc.is_delete = 0
  1213. <where>
  1214. and io.is_delete = 0
  1215. and ioci.license_no = #{licenseNo}
  1216. and io.parent_id != 0
  1217. </where>
  1218. </select>
  1219. <select id="getHistoryList" resultType="com.jzg.commons.entity.orders.vo.HistoryQuoteResultVo">
  1220. SELECT
  1221. ioci.license_no,
  1222. COUNT(*) AS quote_number
  1223. FROM
  1224. ins_orders io
  1225. LEFT JOIN ins_orders_car_info ioci ON io.id = ioci.order_no and ioci.is_delete = 0
  1226. <where>
  1227. and io.is_delete = 0
  1228. and io.real_quote_user_id = #{userName}
  1229. <if test="params.licenseNo != null and params.licenseNo != ''">
  1230. AND ioci.license_no = #{params.licenseNo}
  1231. </if>
  1232. </where>
  1233. GROUP BY
  1234. ioci.license_no;
  1235. </select>
  1236. <select id="getBaseOrders" resultType="com.jzg.commons.entity.orders.po.InsOrders">
  1237. SELECT o.*
  1238. FROM ins_orders o
  1239. LEFT JOIN ins_orders_car_info c ON o.id = c.order_no and c.is_delete = 0
  1240. <where>
  1241. and o.is_delete = 0
  1242. and o.parent_id = 0
  1243. AND o.company_id = #{companyId}
  1244. AND c.license_no = #{licenseNo}
  1245. AND c.vin_no = #{vinNo}
  1246. </where>
  1247. </select>
  1248. <select id="getPremiumStatistics" resultType="com.jzg.quotation.summary.entity.bo.StatDateCountBo">
  1249. select DATE(ioo.create_time) AS stat_date,
  1250. SUM(COALESCE(ioc.sy_premium, 0) + COALESCE(ioc.jq_premium, 0) + COALESCE(ioc.jy_premium, 0)) AS value
  1251. from ins_orders ioo
  1252. left join ins_orders_costs ioc on ioo.id = ioc.order_no and ioc.is_delete = 0
  1253. WHERE ioo.is_delete = 0
  1254. AND ioo.create_time &gt;= CONCAT(#{yesterday}, ' 00:00:00')
  1255. AND ioo.create_time &lt; CONCAT(#{today}, ' 23:59:59')
  1256. AND ioo.order_status = '5'
  1257. AND ioo.real_quote_user_id in (select distinct suji.user_id
  1258. from sys_user_jzg_info suji
  1259. left join sys_role_data_scope_link srdsl on suji.dept_id = srdsl.dept_id
  1260. left join sys_user_role sur on sur.role_id = srdsl.role_id
  1261. where sur.user_id = #{userId}
  1262. and suji.system_code = #{systemCode}
  1263. and suji.is_delete = 0
  1264. UNION ALL select #{userId} as user_id )
  1265. GROUP BY DATE(ioo.create_time);
  1266. </select>
  1267. <select id="getOrderQuantity" resultType="com.jzg.quotation.summary.entity.bo.StatDateCountBo">
  1268. select DATE(create_time) AS stat_date,
  1269. COUNT(DISTINCT real_quote_user_id) AS value
  1270. from ins_orders
  1271. WHERE is_delete = 0
  1272. AND create_time &gt;= CONCAT(#{yesterday}, ' 00:00:00')
  1273. AND create_time &lt; CONCAT(#{today}, ' 23:59:59')
  1274. AND real_quote_user_id in (select distinct suji.user_id
  1275. from sys_user_jzg_info suji
  1276. left join sys_role_data_scope_link srdsl on suji.dept_id = srdsl.dept_id
  1277. left join sys_user_role sur on sur.role_id = srdsl.role_id
  1278. where sur.user_id = #{userId}
  1279. and suji.system_code = #{systemCode}
  1280. and suji.is_delete = 0
  1281. UNION ALL select #{userId} as user_id )
  1282. GROUP BY DATE(create_time);
  1283. </select>
  1284. <select id="getInsuranceIssuersCount" resultType="com.jzg.quotation.summary.entity.bo.StatDateCountBo">
  1285. select DATE(create_time) AS stat_date,
  1286. COUNT(*) AS value
  1287. from ins_orders
  1288. WHERE is_delete = 0
  1289. AND create_time &gt;= CONCAT(#{yesterday}, ' 00:00:00')
  1290. AND create_time &lt; CONCAT(#{today}, ' 23:59:59')
  1291. AND real_quote_user_id in (select distinct suji.user_id
  1292. from sys_user_jzg_info suji
  1293. left join sys_role_data_scope_link srdsl on suji.dept_id = srdsl.dept_id
  1294. left join sys_user_role sur on sur.role_id = srdsl.role_id
  1295. where sur.user_id = #{userId}
  1296. and suji.system_code = #{systemCode}
  1297. and suji.is_delete = 0
  1298. UNION ALL select #{userId} as user_id )
  1299. GROUP BY DATE(create_time)
  1300. </select>
  1301. <select id="getQuoteCount" resultType="com.jzg.quotation.summary.entity.bo.StatDateCountBo">
  1302. select DATE(create_time) AS stat_date,
  1303. COUNT(*) AS value
  1304. from ins_orders
  1305. WHERE is_delete = 0
  1306. AND create_time &gt;= CONCAT(#{yesterday}, ' 00:00:00')
  1307. AND create_time &lt; CONCAT(#{today}, ' 23:59:59')
  1308. AND real_quote_user_id in (select distinct suji.user_id
  1309. from sys_user_jzg_info suji
  1310. left join sys_role_data_scope_link srdsl on suji.dept_id = srdsl.dept_id
  1311. left join sys_user_role sur on sur.role_id = srdsl.role_id
  1312. where sur.user_id = #{userId}
  1313. and suji.system_code = #{systemCode}
  1314. and suji.is_delete = 0
  1315. UNION ALL select #{userId} as user_id )
  1316. GROUP BY DATE(create_time)
  1317. </select>
  1318. <select id="getPremiumRatio" resultType="com.jzg.quotation.summary.entity.vo.BusinessTypeDistributionVo">
  1319. select
  1320. -- 交强险
  1321. ROUND(
  1322. SUM(COALESCE(ioc.jq_premium, 0)) * 100 /
  1323. NULLIF(SUM(COALESCE(ioc.jq_premium, 0) + COALESCE(ioc.sy_premium, 0) + COALESCE(ioc.jy_premium, 0)),
  1324. 0), 2
  1325. ) AS ci_proportion,
  1326. -- 商业险
  1327. ROUND(
  1328. SUM(COALESCE(ioc.sy_premium, 0)) * 100 /
  1329. NULLIF(SUM(COALESCE(ioc.jq_premium, 0) + COALESCE(ioc.sy_premium, 0) + COALESCE(ioc.jy_premium, 0)),
  1330. 0), 2
  1331. ) AS bi_proportion,
  1332. -- 驾意险
  1333. ROUND(
  1334. SUM(COALESCE(ioc.jy_premium, 0)) * 100 /
  1335. NULLIF(SUM(COALESCE(ioc.jq_premium, 0) + COALESCE(ioc.sy_premium, 0) + COALESCE(ioc.jy_premium, 0)),
  1336. 0), 2
  1337. ) AS ni_proportion
  1338. from ins_orders ioo
  1339. left join ins_orders_costs ioc on ioo.id = ioc.order_no and ioc.is_delete = 0
  1340. WHERE ioo.is_delete = 0
  1341. AND ioo.order_status = '5'
  1342. AND ioo.real_quote_user_id in ( select distinct suji.user_id from sys_user_jzg_info suji
  1343. left join sys_role_data_scope_link srdsl on suji.dept_id = srdsl.dept_id
  1344. left join sys_user_role sur on sur.role_id = srdsl.role_id
  1345. where sur.user_id = #{userId} and suji.system_code = #{systemCode} and suji.is_delete = 0
  1346. UNION ALL select #{userId} as user_id )
  1347. </select>
  1348. <select id="getBusinessFunnel" resultType="com.jzg.quotation.summary.entity.vo.BusinessFunnelVo">
  1349. SELECT
  1350. -- 报价次数(所有订单状态)
  1351. COUNT(DISTINCT id) AS quote_count,
  1352. -- 核保次数(核保相关状态)
  1353. COUNT(DISTINCT CASE
  1354. WHEN order_status IN (2, 3, 4) -- 核保中、人工处理、待缴费
  1355. THEN id
  1356. END) AS underwrite_count,
  1357. -- 出单数量(已承保)
  1358. COUNT(DISTINCT CASE
  1359. WHEN order_status = 5 -- 已承保
  1360. THEN id
  1361. END) AS order_count,
  1362. -- 报价核保比
  1363. IFNULL(ROUND(
  1364. COUNT(DISTINCT CASE WHEN order_status IN (2, 3, 4) THEN id END) * 100.0 /
  1365. NULLIF(COUNT(DISTINCT id), 0), 2
  1366. ), 0) AS quote_to_underwrite_ratio,
  1367. -- 核保出单比
  1368. IFNULL(ROUND(
  1369. COUNT(DISTINCT CASE WHEN order_status = 5 THEN id END) * 100.0 /
  1370. NULLIF(COUNT(DISTINCT CASE WHEN order_status IN (2, 3, 4) THEN id END), 0), 2
  1371. ), 0) AS underwrite_to_order_ratio,
  1372. -- 报价出单比
  1373. IFNULL(ROUND(
  1374. COUNT(DISTINCT CASE WHEN order_status = 5 THEN id END) * 100.0 /
  1375. NULLIF(COUNT(DISTINCT id), 0), 2
  1376. ), 0) AS quote_to_order_ratio
  1377. FROM ins_orders
  1378. WHERE is_delete = 0
  1379. AND real_quote_user_id in (select distinct suji.user_id
  1380. from sys_user_jzg_info suji
  1381. left join sys_role_data_scope_link srdsl on suji.dept_id = srdsl.dept_id
  1382. left join sys_user_role sur on sur.role_id = srdsl.role_id
  1383. where sur.user_id = #{userId}
  1384. and suji.system_code = #{systemCode}
  1385. and suji.is_delete = 0
  1386. UNION ALL select #{userId} as user_id )
  1387. </select>
  1388. <select id="getOrderTrend" resultType="com.jzg.quotation.summary.entity.vo.OrderTrendVo">
  1389. SELECT
  1390. -- 订单数量
  1391. MONTH(o.create_time) AS month,
  1392. COALESCE(COUNT(DISTINCT o.id), 0) AS order_count,
  1393. SUM(COALESCE(ioc.jq_premium, 0) + COALESCE(ioc.sy_premium, 0) + COALESCE(ioc.jy_premium, 0)) as premium
  1394. FROM ins_orders o
  1395. left join ins_orders_costs ioc
  1396. on o.id = ioc.order_no and ioc.is_delete = 0
  1397. where o.is_delete = 0
  1398. AND o.order_status = 5
  1399. AND o.create_time &gt;= CONCAT(YEAR(NOW()), '-01-01 00:00:00')
  1400. AND o.create_time &lt; CONCAT(YEAR(NOW()), '-12-31 23:59:59')
  1401. AND o.real_quote_user_id in (select distinct suji.user_id
  1402. from sys_user_jzg_info suji
  1403. left join sys_role_data_scope_link srdsl on suji.dept_id = srdsl.dept_id
  1404. left join sys_user_role sur on sur.role_id = srdsl.role_id
  1405. where sur.user_id = #{userId}
  1406. and suji.system_code = #{systemCode}
  1407. and suji.is_delete = 0
  1408. UNION ALL select #{userId} as user_id )
  1409. group by month
  1410. </select>
  1411. <select id="getCityBusinessDistribution"
  1412. resultType="com.jzg.quotation.summary.entity.vo.BusinessDistributionVo">
  1413. SELECT
  1414. -- 地区信息
  1415. a.area_code AS area_code,
  1416. a.area_cname AS area_cname,
  1417. -- 业务员统计
  1418. COUNT(DISTINCT u.user_id) AS total_salesman_count,
  1419. -- 个代业务员 (type_attr = 6)
  1420. COUNT(DISTINCT CASE
  1421. WHEN u.type_attr = 6
  1422. THEN u.user_id
  1423. END) AS personal_agent_count,
  1424. -- 渠道业务员 (type_attr = 8)
  1425. COUNT(DISTINCT CASE
  1426. WHEN u.type_attr = 8
  1427. THEN u.user_id
  1428. END) AS channel_salesman_count
  1429. FROM sys_user_jzg_info u
  1430. LEFT JOIN sys_dept d on u.dept_id = d.id and d.is_delete = 0
  1431. LEFT JOIN sys_area a ON d.province = a.area_code
  1432. where u.is_delete = 0
  1433. AND d.province IS NOT NULL
  1434. AND d.province != ''
  1435. AND u.user_id in (select distinct suji.user_id
  1436. from sys_user_jzg_info suji
  1437. left join sys_role_data_scope_link srdsl on suji.dept_id = srdsl.dept_id
  1438. left join sys_user_role sur on sur.role_id = srdsl.role_id
  1439. where sur.user_id = #{userId}
  1440. and suji.system_code = #{systemCode}
  1441. and suji.is_delete = 0
  1442. UNION ALL select #{userId} as user_id )
  1443. GROUP BY a.area_code, a.area_cname
  1444. ORDER BY total_salesman_count DESC
  1445. </select>
  1446. <select id="getProvinceBusinessDistribution"
  1447. resultType="com.jzg.quotation.summary.entity.vo.BusinessDistributionVo">
  1448. SELECT
  1449. -- 地区信息
  1450. a.area_code AS area_code,
  1451. a.area_cname AS area_cname,
  1452. -- 业务员统计
  1453. COUNT(DISTINCT u.user_id) AS total_salesman_count,
  1454. -- 个代业务员 (type_attr = 6)
  1455. COUNT(DISTINCT CASE
  1456. WHEN u.type_attr = 6
  1457. THEN u.user_id
  1458. END) AS personal_agent_count,
  1459. -- 渠道业务员 (type_attr = 8)
  1460. COUNT(DISTINCT CASE
  1461. WHEN u.type_attr = 8
  1462. THEN u.user_id
  1463. END) AS channel_salesman_count
  1464. FROM sys_user_jzg_info u
  1465. LEFT JOIN sys_dept d on u.dept_id = d.id and d.is_delete = 0
  1466. LEFT JOIN sys_area a ON d.city = a.area_code
  1467. <where>
  1468. and u.is_delete = 0
  1469. <if test="province != null and province != ''">
  1470. and d.province = #{province}
  1471. </if>
  1472. AND u.user_id in (select distinct suji.user_id
  1473. from sys_user_jzg_info suji
  1474. left join sys_role_data_scope_link srdsl on suji.dept_id = srdsl.dept_id
  1475. left join sys_user_role sur on sur.role_id = srdsl.role_id
  1476. where sur.user_id = #{userId}
  1477. and suji.system_code = #{systemCode}
  1478. and suji.is_delete = 0
  1479. UNION ALL select #{userId} as user_id )
  1480. </where>
  1481. GROUP BY a.area_code, a.area_cname
  1482. ORDER BY total_salesman_count DESC
  1483. </select>
  1484. <select id="selectMainOrderNumber" resultType="com.jzg.commons.entity.orders.po.InsOrders">
  1485. SELECT o.id,o.quote_no
  1486. FROM ins_orders o
  1487. LEFT JOIN ins_orders_car_info c ON o.id = c.order_no and c.is_delete = 0
  1488. <where>
  1489. and o.is_delete = 0
  1490. and o.parent_id = 0
  1491. and o.entry_status = 3
  1492. and c.license_no = #{licenseNo}
  1493. and o.real_quote_user_id = #{realQuoteUserId}
  1494. </where>
  1495. ORDER BY o.create_time DESC
  1496. LIMIT 1
  1497. </select>
  1498. <select id="selectListOrderQuotationCompany" resultType="com.jzg.quotation.summary.entity.vo.OrderQuotationCompany">
  1499. SELECT id,parent_id,quote_no,company_id,company_name,order_status,fee.total_premium
  1500. FROM ins_orders
  1501. LEFT JOIN ins_fee_orders fee ON fee.order_no = ins_orders.id
  1502. <where>
  1503. and ins_orders.is_delete = 0
  1504. and parent_id != 0
  1505. and quote_no IN
  1506. <foreach collection="noIds" item="item" open="(" separator="," close=")">
  1507. #{item}
  1508. </foreach>
  1509. </where>
  1510. </select>
  1511. <select id="countQuoteNum" resultType="Integer">
  1512. SELECT COUNT(DISTINCT io.id)
  1513. FROM ins_orders io
  1514. INNER JOIN sys_user su ON su.mobile = io.real_quote_user_id and su.is_delete = 0
  1515. INNER JOIN sys_user_jzg_info suji ON suji.user_id = su.id and suji.is_delete = 0
  1516. WHERE io.parent_id != 0
  1517. AND io.is_delete = 0
  1518. AND io.order_status > 0
  1519. AND suji.system_code = #{systemCode}
  1520. AND io.real_quote_user_id = #{realQuoteUserId}
  1521. AND io.create_time &gt;= CONCAT(#{activityStartTime},' 00:00:00')
  1522. AND io.create_time &lt;= CONCAT(#{activityEndTime},' 23:59:59')
  1523. </select>
  1524. <select id="countOrderNum" resultType="Integer">
  1525. SELECT COUNT(DISTINCT io.id)
  1526. FROM ins_orders io
  1527. INNER JOIN sys_user su ON su.mobile = io.real_quote_user_id and su.is_delete = 0
  1528. INNER JOIN sys_user_jzg_info suji ON suji.user_id = su.id and suji.is_delete = 0
  1529. WHERE io.parent_id != 0
  1530. AND io.is_delete = 0
  1531. AND io.order_status = 5
  1532. AND suji.system_code = #{systemCode}
  1533. AND io.real_quote_user_id = #{realQuoteUserId}
  1534. AND io.create_time &gt;= CONCAT(#{activityStartTime},' 00:00:00')
  1535. AND io.create_time &lt;= CONCAT(#{activityEndTime},' 23:59:59')
  1536. </select>
  1537. <select id="selectByRule" resultType="com.jzg.commons.entity.po.SysUserActivityCompleteInRule">
  1538. SELECT *
  1539. FROM sys_user_activity_complete_in_rule
  1540. <where>
  1541. and is_delete = 0
  1542. and tenant_id = #{tenantId}
  1543. and user_id = #{userId}
  1544. and activity_id = #{activityId}
  1545. and activity_type = #{activityType}
  1546. and rule_complete_num = #{qutNum}
  1547. </where>
  1548. LIMIT 1
  1549. </select>
  1550. <select id="selectByRuleAndUserPhone" resultType="com.jzg.commons.entity.po.SysUserActivityCompleteInRule">
  1551. SELECT *
  1552. FROM sys_user_activity_complete_in_rule
  1553. <where>
  1554. and is_delete = 0
  1555. and activity_id = #{activityId}
  1556. and activity_type = #{activityType}
  1557. and rule_complete_num = #{qutNum}
  1558. and user_phone = #{userPhone}
  1559. </where>
  1560. LIMIT 1
  1561. </select>
  1562. <insert id="insertActivityCompleteInRule" parameterType="com.jzg.commons.entity.po.SysUserActivityCompleteInRule">
  1563. INSERT INTO sys_user_activity_complete_in_rule (
  1564. id,
  1565. tenant_id,
  1566. user_id,
  1567. activity_type,
  1568. activity_id,
  1569. local_activity_table_id,
  1570. rule_complete_num,
  1571. lottery_num,
  1572. lottery_max_num,
  1573. status,
  1574. receive_time,
  1575. create_time,
  1576. update_time,
  1577. create_by,
  1578. update_by,
  1579. is_delete
  1580. ) VALUES (
  1581. #{id},
  1582. #{tenantId},
  1583. #{userId},
  1584. #{activityType},
  1585. #{activityId},
  1586. #{localActivityTableId},
  1587. #{ruleCompleteNum},
  1588. #{lotteryNum},
  1589. #{lotteryMaxNum},
  1590. #{status},
  1591. #{receiveTime},
  1592. NOW(),
  1593. NOW(),
  1594. #{createBy},
  1595. #{updateBy},
  1596. 0
  1597. )
  1598. </insert>
  1599. <select id="queryCustomerPhone" resultType="String">
  1600. SELECT ioci.mobile
  1601. FROM ins_orders io
  1602. INNER JOIN ins_orders_car_user_info ioci ON io.id = ioci.order_no and ioci.is_delete = 0
  1603. <where>
  1604. and io.is_delete = 0
  1605. and io.ins_order_no = #{insOrderNo}
  1606. and ioci.policy_person_type = 2
  1607. </where>
  1608. LIMIT 1
  1609. </select>
  1610. <select id="queryTotalFee" resultType="Double">
  1611. SELECT ifo.total_premium
  1612. FROM ins_orders io
  1613. INNER JOIN ins_fee_orders ifo ON io.id = ifo.order_no
  1614. <where>
  1615. and io.is_delete = 0
  1616. and io.id = #{insOrderNo}
  1617. </where>
  1618. LIMIT 1
  1619. </select>
  1620. </mapper>