AssetsCalculateEqptDataMapper.xml 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  3. <mapper namespace="com.dayou.mapper.AssetsCalculateEqptDataMapper">
  4. <!-- 通用查询映射结果 -->
  5. <resultMap id="BaseResultMap" type="com.dayou.entity.AssetsCalculateEqptData">
  6. <result column="id" property="id" />
  7. <result column="create_time" property="createTime" />
  8. <result column="update_time" property="updateTime" />
  9. <result column="delete_status" property="deleteStatus" />
  10. <result column="assets_calculate_id" property="assetsCalculateId" />
  11. <result column="sort_id" property="sortId" />
  12. <result column="equipment_name" property="equipmentName" />
  13. <result column="manufacturer" property="manufacturer" />
  14. <result column="model" property="model" />
  15. <result column="purchase_date" property="purchaseDate" />
  16. <result column="activation_date" property="activationDate" />
  17. <result column="storage_location" property="storageLocation" />
  18. <result column="quantity" property="quantity" />
  19. <result column="unit_of_measurement" property="unitOfMeasurement" />
  20. <result column="book_original_value" property="bookOriginalValue" />
  21. <result column="book_net_value" property="bookNetValue" />
  22. <result column="equipment_type" property="equipmentType" />
  23. <result column="equipment_type_detail" property="equipmentTypeDetail" />
  24. </resultMap>
  25. <!-- 通用查询结果列 -->
  26. <sql id="Base_Column_List">
  27. id,
  28. create_time,
  29. update_time,
  30. delete_status,
  31. assets_calculate_id, sort_id, equipment_name, manufacturer, model, purchase_date, activation_date, storage_location, quantity, unit_of_measurement, original_value, net_value, equipment_type, equipment_type_detail
  32. </sql>
  33. <!--获取是否有进口设备-->
  34. <select id="hasImportedEquipment" resultType="java.lang.Integer">
  35. SELECT COUNT(id)
  36. FROM assets_calculate_eqpt_data
  37. WHERE assets_calculate_id = #{calculateId}
  38. AND equipment_type = '进口设备'
  39. AND delete_status = 0
  40. </select>
  41. <!--根据测算表id获取所有机器设备导入的数据-->
  42. <select id="getAllByAssetsCalculateId" resultType="com.dayou.entity.AssetsCalculateEqptData">
  43. SELECT id, assets_calculate_id, sort_id, equipment_name, manufacturer, model, purchase_date, activation_date,
  44. storage_location, quantity, unit_of_measurement, book_original_value, book_net_value, equipment_type, remark,
  45. create_time, update_time, delete_status, taxed_unit_price, (tax_rate / 100) AS taxRate, economic_service_life,
  46. (direct_observation_depreciation_rate / 100) AS directObservationDepreciationRate, valuation_method, inquiry_basis, inquiry_location, price,
  47. (freight_and_miscellaneous_fee_rate / 100) AS freightAndMiscellaneousFeeRate, (base_rate / 100) AS baseRate, (installation_rate / 100) AS installationRate
  48. FROM assets_calculate_eqpt_data
  49. WHERE delete_status = 0
  50. AND assets_calculate_id = #{calculateId}
  51. <if test="equipmentType != null and equipmentType != ''">
  52. AND equipment_type = #{equipmentType}
  53. </if>
  54. ORDER BY sort_id
  55. </select>
  56. <!--分页查询导入的机器设备测算数据-->
  57. <select id="getDataPage" resultType="com.dayou.entity.AssetsCalculateEqptData">
  58. SELECT id, assets_calculate_id, sort_id, equipment_name, manufacturer, model, purchase_date, activation_date,
  59. storage_location, quantity, unit_of_measurement, book_original_value, book_net_value, equipment_type, remark,
  60. create_time, update_time, delete_status, taxed_unit_price, tax_rate, economic_service_life,
  61. direct_observation_depreciation_rate, valuation_method, inquiry_basis, inquiry_location, price,
  62. freight_and_miscellaneous_fee_rate, base_rate, installation_rate
  63. FROM assets_calculate_eqpt_data
  64. WHERE delete_status = 0
  65. AND assets_calculate_id = #{dto.calculateId}
  66. <if test="dto != null and dto.sortId != null">
  67. AND sort_id = #{dto.sortId}
  68. </if>
  69. <if test="dto != null and dto.equipmentType">
  70. AND equipment_type = #{dto.equipmentType}
  71. </if>
  72. <if test="dto != null and dto.equipmentName">
  73. AND equipment_name LIKE CONCAT('%', #{dto.equipmentName}, '%')
  74. </if>
  75. ORDER BY sort_id
  76. </select>
  77. <!--根据测算表id删除-->
  78. <delete id="deleteDataByCalculateId">
  79. UPDATE assets_calculate_eqpt_data
  80. SET delete_status = 1
  81. WHERE delete_status = 0
  82. AND assets_calculate_id = #{calculateId}
  83. </delete>
  84. <!--分页查询进口设备信息-->
  85. <select id="getImpDataPage" resultType="com.dayou.vo.AssetsCalculateEqptImpDataVO">
  86. SELECT data.sort_id,
  87. data.equipment_name,
  88. data.model,
  89. data.purchase_date,
  90. data.activation_date,
  91. data.quantity,
  92. data.unit_of_measurement,
  93. data.book_original_value,
  94. data.manufacturer,
  95. impData.id,
  96. data.id AS eqptDataId,
  97. impData.ppi,
  98. impData.pricing_basis,
  99. impData.central_parity_rate,
  100. impData.tariff_rate,
  101. impData.import_vat_rate,
  102. impData.bank_charges_rate,
  103. impData.foreign_transaction_rate,
  104. impData.product_code,
  105. impData.currency,
  106. impData.address,
  107. impData.transaction_method,
  108. impData.contract_amount,
  109. impData.contract_signing_date,
  110. impData.destination_port,
  111. impData.original_price
  112. FROM assets_calculate_eqpt_data AS data
  113. LEFT JOIN assets_calculate_eqpt_imp_data AS impData ON impData.eqpt_data_id = data.id AND impData.delete_status = 0
  114. WHERE data.delete_status = 0
  115. AND data.equipment_type = #{dto.equipmentType}
  116. AND assets_calculate_id = #{dto.calculateId}
  117. <if test="dto != null and dto.sortId != null">
  118. AND sort_id = #{dto.sortId}
  119. </if>
  120. <if test="dto != null and dto.equipmentName">
  121. AND equipment_name LIKE CONCAT('%', #{dto.equipmentName}, '%')
  122. </if>
  123. ORDER BY data.sort_id
  124. </select>
  125. <!--查询进口设备信息集合-->
  126. <select id="getImpDataList" resultType="com.dayou.vo.AssetsCalculateEqptImpDataVO">
  127. SELECT data.sort_id,
  128. data.equipment_name,
  129. data.model,
  130. data.purchase_date,
  131. data.activation_date,
  132. data.quantity,
  133. data.unit_of_measurement,
  134. data.book_original_value,
  135. data.manufacturer,
  136. impData.id,
  137. data.id AS eqptDataId,
  138. impData.ppi,
  139. impData.pricing_basis,
  140. impData.central_parity_rate,
  141. impData.tariff_rate,
  142. impData.import_vat_rate,
  143. impData.bank_charges_rate,
  144. impData.foreign_transaction_rate,
  145. impData.product_code,
  146. impData.currency,
  147. impData.address,
  148. impData.transaction_method,
  149. impData.contract_amount,
  150. impData.contract_signing_date,
  151. impData.destination_port,
  152. impData.original_price
  153. FROM assets_calculate_eqpt_data AS data
  154. LEFT JOIN assets_calculate_eqpt_imp_data AS impData ON impData.eqpt_data_id = data.id AND impData.delete_status = 0
  155. WHERE data.delete_status = 0
  156. AND data.equipment_type = '进口设备'
  157. AND assets_calculate_id = #{calculateId}
  158. ORDER BY data.sort_id
  159. </select>
  160. <!--根据id更新机器设备测算数据单价-->
  161. <update id="updateDataPrice">
  162. UPDATE assets_calculate_eqpt_data
  163. SET price = #{price}
  164. WHERE delete_status = 0
  165. AND id = #{id}
  166. </update>
  167. <!--更新机器设备进口设备数据-->
  168. <update id="updateImpData">
  169. UPDATE assets_calculate_eqpt_imp_data
  170. SET ppi = #{data.ppi},
  171. pricing_basis = #{data.pricingBasis},
  172. central_parity_rate = #{data.centralParityRate},
  173. tariff_rate = #{data.tariffRate},
  174. import_VAT_rate = #{data.importVATRate},
  175. bank_charges_rate = #{data.bankChargesRate},
  176. foreign_transaction_rate = #{data.foreignTransactionRate},
  177. product_code = #{data.productCode},
  178. currency = #{data.currency},
  179. address = #{data.address},
  180. transaction_method = #{data.transactionMethod},
  181. contract_amount = #{data.contractAmount},
  182. contract_signing_date = #{data.contractSigningDate},
  183. destination_port = #{data.destinationPort},
  184. original_price = #{data.originalPrice}
  185. WHERE delete_status = 0
  186. AND id = #{data.id}
  187. AND eqpt_data_id = #{data.eqptDataId}
  188. </update>
  189. <!--新增机器设备进口设备数据-->
  190. <insert id="addImpData">
  191. INSERT INTO assets_calculate_eqpt_imp_data(id, eqpt_data_id, ppi, pricing_basis, central_parity_rate, tariff_rate, import_VAT_rate, bank_charges_rate, foreign_transaction_rate, product_code, currency, address, transaction_method, contract_amount, contract_signing_date, destination_port, original_price)
  192. VALUE (NULL,#{data.eqptDataId},#{data.ppi},#{data.pricingBasis},#{data.centralParityRate},#{data.tariffRate},#{data.importVATRate},#{data.bankChargesRate},#{data.foreignTransactionRate},#{data.productCode},#{data.currency},#{data.address},#{data.transactionMethod},#{data.contractAmount},#{data.contractSigningDate},#{data.destinationPort},#{data.originalPrice})
  193. </insert>
  194. <!--分页查询非标设备信息-->
  195. <select id="getNonSDataPage" resultType="com.dayou.vo.AssetsCalculateEqptNonsDataVO">
  196. SELECT data.sort_id,
  197. data.equipment_name,
  198. data.model,
  199. data.purchase_date,
  200. data.activation_date,
  201. data.quantity,
  202. data.unit_of_measurement,
  203. data.book_original_value,
  204. data.book_net_value,
  205. data.manufacturer,
  206. nonsData.id,
  207. data.id AS eqptDataId,
  208. nonsData.eqpt_code,
  209. nonsData.affiliated_system,
  210. nonsData.main_material_Cost,
  211. nonsData.main_material_cost_rate,
  212. nonsData.main_purchased_parts_cost,
  213. nonsData.cost_profit_ratio,
  214. nonsData.sales_tax_rate,
  215. nonsData.design_fee_rate,
  216. nonsData.VAT_rate,
  217. nonsData.nons_eqpt_value
  218. FROM assets_calculate_eqpt_data AS data
  219. LEFT JOIN assets_calculate_eqpt_nons_data AS nonsData ON nonsData.delete_status = 0 AND nonsData.eqpt_data_id = data.id
  220. WHERE data.delete_status = 0
  221. AND data.equipment_type = #{dto.equipmentType}
  222. AND assets_calculate_id = #{dto.calculateId}
  223. <if test="dto != null and dto.sortId != null">
  224. AND sort_id = #{dto.sortId}
  225. </if>
  226. <if test="dto != null and dto.equipmentName">
  227. AND equipment_name LIKE CONCAT('%', #{dto.equipmentName}, '%')
  228. </if>
  229. ORDER BY data.sort_id
  230. </select>
  231. <!--查询非标设备信息集合-->
  232. <select id="getNonSDataList" resultType="com.dayou.vo.AssetsCalculateEqptNonsDataVO">
  233. SELECT data.sort_id,
  234. data.equipment_name,
  235. data.model,
  236. data.purchase_date,
  237. data.activation_date,
  238. data.quantity,
  239. data.unit_of_measurement,
  240. data.book_original_value,
  241. data.book_net_value,
  242. data.manufacturer,
  243. nonsData.id,
  244. data.id AS eqptDataId,
  245. nonsData.eqpt_code,
  246. nonsData.affiliated_system,
  247. nonsData.main_material_Cost,
  248. (nonsData.main_material_cost_rate / 100) AS mainMaterialCostRate,
  249. nonsData.main_purchased_parts_cost,
  250. (nonsData.cost_profit_ratio / 100) AS costProfitRatio,
  251. (nonsData.sales_tax_rate / 100) AS salesTaxRate,
  252. (nonsData.design_fee_rate / 100) AS designFeeRate,
  253. (nonsData.VAT_rate / 100) AS VATRate,
  254. nonsData.nons_eqpt_value
  255. FROM assets_calculate_eqpt_data AS data
  256. LEFT JOIN assets_calculate_eqpt_nons_data AS nonsData ON nonsData.delete_status = 0 AND nonsData.eqpt_data_id = data.id
  257. WHERE data.delete_status = 0
  258. AND data.equipment_type = '非标设备'
  259. AND assets_calculate_id = #{calculateId}
  260. ORDER BY data.sort_id
  261. </select>
  262. <!--更新机器设备非标设备数据-->
  263. <update id="updateNonSData">
  264. UPDATE assets_calculate_eqpt_nons_data
  265. SET eqpt_data_id = #{data.eqptDataId},
  266. eqpt_code = #{data.eqptCode},
  267. affiliated_system = #{data.affiliatedSystem},
  268. main_material_Cost = #{data.mainMaterialCost},
  269. main_material_cost_rate = #{data.mainMaterialCostRate},
  270. main_purchased_parts_cost = #{data.mainPurchasedPartsCost},
  271. cost_profit_ratio = #{data.costProfitRatio},
  272. sales_tax_rate = #{data.salesTaxRate},
  273. design_fee_rate = #{data.designFeeRate},
  274. VAT_rate = #{data.VATRate},
  275. nons_eqpt_value = #{data.nonsEqptValue}
  276. WHERE delete_status = 0
  277. AND id = #{data.id}
  278. AND eqpt_data_id = #{data.eqptDataId}
  279. </update>
  280. <!--新增机器设备非标设备数据-->
  281. <insert id="addNonSData">
  282. INSERT INTO assets_calculate_eqpt_nons_data (id, eqpt_data_id, eqpt_code, affiliated_system, main_material_Cost, main_material_cost_rate, main_purchased_parts_cost,
  283. cost_profit_ratio, sales_tax_rate, design_fee_rate, VAT_rate, nons_eqpt_value)
  284. VALUE (NULL, #{data.eqptDataId}, #{data.eqptCode}, #{data.affiliatedSystem}, #{data.mainMaterialCost}, #{data.mainMaterialCostRate}, #{data.mainPurchasedPartsCost},
  285. #{data.costProfitRatio}, #{data.salesTaxRate}, #{data.designFeeRate}, #{data.VATRate}, #{data.nonsEqptValue})
  286. </insert>
  287. </mapper>