123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464 |
- <?xml version="1.0" encoding="UTF-8"?>
- <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
- <mapper namespace="com.dayou.mapper.AssetsCalculateEqptDataMapper">
- <!-- 通用查询映射结果 -->
- <resultMap id="BaseResultMap" type="com.dayou.entity.AssetsCalculateEqptData">
- <result column="id" property="id" />
- <result column="create_time" property="createTime" />
- <result column="update_time" property="updateTime" />
- <result column="delete_status" property="deleteStatus" />
- <result column="assets_calculate_id" property="assetsCalculateId" />
- <result column="sort_id" property="sortId" />
- <result column="equipment_name" property="equipmentName" />
- <result column="manufacturer" property="manufacturer" />
- <result column="model" property="model" />
- <result column="purchase_date" property="purchaseDate" />
- <result column="activation_date" property="activationDate" />
- <result column="storage_location" property="storageLocation" />
- <result column="quantity" property="quantity" />
- <result column="unit_of_measurement" property="unitOfMeasurement" />
- <result column="book_original_value" property="bookOriginalValue" />
- <result column="book_net_value" property="bookNetValue" />
- <result column="equipment_type" property="equipmentType" />
- </resultMap>
- <!-- 通用查询结果列 -->
- <sql id="Base_Column_List">
- id,
- create_time,
- update_time,
- delete_status,
- 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
- </sql>
- <!--获取是否有进口设备-->
- <select id="hasImportedEquipment" resultType="java.lang.Integer">
- SELECT COUNT(id)
- FROM assets_calculate_eqpt_data
- WHERE assets_calculate_id = #{calculateId}
- AND equipment_type = '进口设备'
- AND delete_status = 0
- </select>
- <!--根据测算表id获取所有机器设备导入的数据-->
- <select id="getAllByAssetsCalculateId" resultType="com.dayou.entity.AssetsCalculateEqptData">
- SELECT id, assets_calculate_id, sort_id, equipment_name, manufacturer, model, purchase_date, activation_date,
- storage_location, quantity, unit_of_measurement, book_original_value, book_net_value, equipment_type, remark,
- create_time, update_time, delete_status, taxed_unit_price, (tax_rate / 100) AS taxRate, economic_service_life,
- (direct_observation_depreciation_rate / 100) AS directObservationDepreciationRate, valuation_method, inquiry_basis, inquiry_location, price,
- (freight_and_miscellaneous_fee_rate / 100) AS freightAndMiscellaneousFeeRate, (base_rate / 100) AS baseRate, (installation_rate / 100) AS installationRate,
- usage_situation
- FROM assets_calculate_eqpt_data
- WHERE delete_status = 0
- AND assets_calculate_id = #{calculateId}
- <if test="equipmentType != null and equipmentType != ''">
- AND equipment_type = #{equipmentType}
- </if>
- ORDER BY sort_id
- </select>
- <!--分页查询导入的机器设备测算数据-->
- <select id="getDataPage" resultType="com.dayou.entity.AssetsCalculateEqptData">
- SELECT id, assets_calculate_id, sort_id, equipment_name, manufacturer, model, purchase_date, activation_date,
- storage_location, quantity, unit_of_measurement, book_original_value, book_net_value, equipment_type, remark,
- create_time, update_time, delete_status, taxed_unit_price, tax_rate, economic_service_life,
- direct_observation_depreciation_rate, valuation_method, inquiry_basis, inquiry_location, price,
- freight_and_miscellaneous_fee_rate, base_rate, installation_rate, usage_situation
- FROM assets_calculate_eqpt_data
- WHERE delete_status = 0
- AND assets_calculate_id = #{dto.calculateId}
- <if test="dto != null and dto.sortId != null">
- AND sort_id = #{dto.sortId}
- </if>
- <if test="dto != null and dto.equipmentType != null">
- AND equipment_type = #{dto.equipmentType}
- </if>
- <if test="dto != null and dto.equipmentName != null">
- AND equipment_name LIKE CONCAT('%', #{dto.equipmentName}, '%')
- </if>
- <if test="dto != null and dto.eqptNameFilters.size() > 0">
- AND equipment_name IN
- <foreach item="item" collection="dto.eqptNameFilters" open="(" separator="," close=")">
- #{item}
- </foreach>
- </if>
- <if test="dto != null and dto.modelFilters.size() > 0">
- AND model IN
- <foreach item="item" collection="dto.modelFilters" open="(" separator="," close=")">
- #{item}
- </foreach>
- </if>
- <if test="dto != null and dto.purchaseDateFilters.size() > 0">
- AND purchase_date IN
- <foreach item="item" collection="dto.purchaseDateFilters" open="(" separator="," close=")">
- #{item}
- </foreach>
- </if>
- <if test="dto != null and dto.activationDateFilters.size() > 0">
- AND activation_date IN
- <foreach item="item" collection="dto.activationDateFilters" open="(" separator="," close=")">
- #{item}
- </foreach>
- </if>
- ORDER BY sort_id
- </select>
- <!--根据测算表id删除-->
- <delete id="deleteDataByCalculateId">
- UPDATE assets_calculate_eqpt_data
- SET delete_status = 1
- WHERE delete_status = 0
- AND assets_calculate_id = #{calculateId}
- </delete>
- <!--分页查询进口设备信息-->
- <select id="getImpDataPage" resultType="com.dayou.vo.AssetsCalculateEqptImpDataVO">
- SELECT data.sort_id,
- data.equipment_name,
- data.model,
- data.purchase_date,
- data.activation_date,
- data.quantity,
- data.unit_of_measurement,
- data.book_original_value,
- data.manufacturer,
- impData.id,
- data.id AS eqptDataId,
- impData.ppi,
- impData.pricing_basis,
- impData.central_parity_rate,
- impData.tariff_rate,
- impData.tariff_rate_picture,
- impData.import_vat_rate,
- impData.bank_charges_rate,
- impData.foreign_transaction_rate,
- impData.product_code,
- impData.currency,
- impData.address,
- impData.transaction_method,
- impData.contract_amount,
- impData.contract_signing_date,
- impData.destination_port,
- impData.original_price
- FROM assets_calculate_eqpt_data AS data
- LEFT JOIN assets_calculate_eqpt_imp_data AS impData ON impData.eqpt_data_id = data.id AND impData.delete_status = 0
- WHERE data.delete_status = 0
- AND data.equipment_type = #{dto.equipmentType}
- AND assets_calculate_id = #{dto.calculateId}
- <if test="dto != null and dto.sortId != null">
- AND sort_id = #{dto.sortId}
- </if>
- <if test="dto != null and dto.equipmentName">
- AND equipment_name LIKE CONCAT('%', #{dto.equipmentName}, '%')
- </if>
- <if test="dto != null and dto.eqptNameFilters.size() > 0">
- AND equipment_name IN
- <foreach item="item" collection="dto.eqptNameFilters" open="(" separator="," close=")">
- #{item}
- </foreach>
- </if>
- <if test="dto != null and dto.modelFilters.size() > 0">
- AND model IN
- <foreach item="item" collection="dto.modelFilters" open="(" separator="," close=")">
- #{item}
- </foreach>
- </if>
- <if test="dto != null and dto.purchaseDateFilters.size() > 0">
- AND purchase_date IN
- <foreach item="item" collection="dto.purchaseDateFilters" open="(" separator="," close=")">
- #{item}
- </foreach>
- </if>
- <if test="dto != null and dto.activationDateFilters.size() > 0">
- AND activation_date IN
- <foreach item="item" collection="dto.activationDateFilters" open="(" separator="," close=")">
- #{item}
- </foreach>
- </if>
- ORDER BY data.sort_id
- </select>
- <!--查询进口设备信息集合-->
- <select id="getImpDataList" resultType="com.dayou.vo.AssetsCalculateEqptImpDataVO">
- SELECT data.sort_id,
- data.equipment_name,
- data.model,
- data.purchase_date,
- data.activation_date,
- data.quantity,
- data.unit_of_measurement,
- data.book_original_value,
- data.manufacturer,
- impData.id,
- data.id AS eqptDataId,
- impData.ppi,
- impData.pricing_basis,
- impData.central_parity_rate,
- (impData.tariff_rate / 100) AS tariffRate,
- impData.tariff_rate_picture,
- (impData.import_vat_rate / 100) AS importVatRate,
- (impData.bank_charges_rate / 100) AS bankChargesRate,
- (impData.foreign_transaction_rate / 100) AS foreignTransactionRate,
- impData.product_code,
- impData.currency,
- impData.address,
- impData.transaction_method,
- impData.contract_amount,
- impData.contract_signing_date,
- impData.destination_port,
- impData.original_price
- FROM assets_calculate_eqpt_data AS data
- LEFT JOIN assets_calculate_eqpt_imp_data AS impData ON impData.eqpt_data_id = data.id AND impData.delete_status = 0
- WHERE data.delete_status = 0
- AND data.equipment_type = '进口设备'
- AND assets_calculate_id = #{calculateId}
- ORDER BY data.sort_id
- </select>
- <!--根据id更新机器设备测算数据单价-->
- <update id="updateDataPrice">
- UPDATE assets_calculate_eqpt_data
- SET price = #{price}
- WHERE delete_status = 0
- AND id = #{id}
- </update>
- <!--更新机器设备进口设备数据-->
- <update id="updateImpData">
- UPDATE assets_calculate_eqpt_imp_data
- SET ppi = #{data.ppi},
- pricing_basis = #{data.pricingBasis},
- central_parity_rate = #{data.centralParityRate},
- tariff_rate = #{data.tariffRate},
- tariff_rate_picture = #{data.tariffRatePicture},
- import_VAT_rate = #{data.importVATRate},
- bank_charges_rate = #{data.bankChargesRate},
- foreign_transaction_rate = #{data.foreignTransactionRate},
- product_code = #{data.productCode},
- currency = #{data.currency},
- address = #{data.address},
- transaction_method = #{data.transactionMethod},
- contract_amount = #{data.contractAmount},
- contract_signing_date = #{data.contractSigningDate},
- destination_port = #{data.destinationPort},
- original_price = #{data.originalPrice}
- WHERE delete_status = 0
- AND id = #{data.id}
- AND eqpt_data_id = #{data.eqptDataId}
- </update>
- <!--新增机器设备进口设备数据-->
- <insert id="addImpData">
- 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, tariff_rate_picture)
- 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}, #{data.tariffRatePicture})
- </insert>
- <!--分页查询非标设备信息-->
- <select id="getNonSDataPage" resultType="com.dayou.vo.AssetsCalculateEqptNonsDataVO">
- SELECT data.sort_id,
- data.equipment_name,
- data.model,
- data.purchase_date,
- data.activation_date,
- data.quantity,
- data.unit_of_measurement,
- data.book_original_value,
- data.book_net_value,
- data.manufacturer,
- nonsData.id,
- data.id AS eqptDataId,
- nonsData.eqpt_code,
- nonsData.affiliated_system,
- nonsData.main_material_Cost,
- nonsData.main_material_cost_rate,
- nonsData.main_purchased_parts_cost,
- nonsData.cost_profit_ratio,
- nonsData.sales_tax_rate,
- nonsData.design_fee_rate,
- nonsData.VAT_rate,
- nonsData.nons_eqpt_value,
- nonsData.material_1,
- nonsData.material_2,
- nonsData.material_1_quantity,
- nonsData.material_2_quantity,
- nonsData.material_1_use_ratio,
- nonsData.material_2_use_ratio,
- nonsData.material_1_price,
- nonsData.material_2_price
- FROM assets_calculate_eqpt_data AS data
- LEFT JOIN assets_calculate_eqpt_nons_data AS nonsData ON nonsData.delete_status = 0 AND nonsData.eqpt_data_id = data.id
- WHERE data.delete_status = 0
- AND data.equipment_type = #{dto.equipmentType}
- AND assets_calculate_id = #{dto.calculateId}
- <if test="dto != null and dto.sortId != null">
- AND sort_id = #{dto.sortId}
- </if>
- <if test="dto != null and dto.equipmentName">
- AND equipment_name LIKE CONCAT('%', #{dto.equipmentName}, '%')
- </if>
- <if test="dto != null and dto.eqptNameFilters.size() > 0">
- AND equipment_name IN
- <foreach item="item" collection="dto.eqptNameFilters" open="(" separator="," close=")">
- #{item}
- </foreach>
- </if>
- <if test="dto != null and dto.modelFilters.size() > 0">
- AND model IN
- <foreach item="item" collection="dto.modelFilters" open="(" separator="," close=")">
- #{item}
- </foreach>
- </if>
- <if test="dto != null and dto.purchaseDateFilters.size() > 0">
- AND purchase_date IN
- <foreach item="item" collection="dto.purchaseDateFilters" open="(" separator="," close=")">
- #{item}
- </foreach>
- </if>
- <if test="dto != null and dto.activationDateFilters.size() > 0">
- AND activation_date IN
- <foreach item="item" collection="dto.activationDateFilters" open="(" separator="," close=")">
- #{item}
- </foreach>
- </if>
- ORDER BY data.sort_id
- </select>
- <!--查询非标设备信息集合-->
- <select id="getNonSDataList" resultType="com.dayou.vo.AssetsCalculateEqptNonsDataVO">
- SELECT data.sort_id,
- data.equipment_name,
- data.model,
- data.purchase_date,
- data.activation_date,
- data.quantity,
- data.unit_of_measurement,
- data.book_original_value,
- data.book_net_value,
- data.manufacturer,
- nonsData.id,
- data.id AS eqptDataId,
- nonsData.eqpt_code,
- nonsData.affiliated_system,
- nonsData.main_material_Cost,
- (nonsData.main_material_cost_rate / 100) AS mainMaterialCostRate,
- nonsData.main_purchased_parts_cost,
- (nonsData.cost_profit_ratio / 100) AS costProfitRatio,
- (nonsData.sales_tax_rate / 100) AS salesTaxRate,
- (nonsData.design_fee_rate / 100) AS designFeeRate,
- (nonsData.VAT_rate / 100) AS VATRate,
- nonsData.nons_eqpt_value,
- nonsData.material_1,
- nonsData.material_2,
- nonsData.material_1_quantity,
- nonsData.material_2_quantity,
- (nonsData.material_1_use_ratio / 100) AS material1UseRatio,
- (nonsData.material_2_use_ratio / 100) AS material2UseRatio,
- nonsData.material_1_price,
- nonsData.material_2_price
- FROM assets_calculate_eqpt_data AS data
- LEFT JOIN assets_calculate_eqpt_nons_data AS nonsData ON nonsData.delete_status = 0 AND nonsData.eqpt_data_id = data.id
- WHERE data.delete_status = 0
- AND data.equipment_type = '非标设备'
- AND assets_calculate_id = #{calculateId}
- ORDER BY data.sort_id
- </select>
- <!--更新机器设备非标设备数据-->
- <update id="updateNonSData">
- UPDATE assets_calculate_eqpt_nons_data
- SET eqpt_data_id = #{data.eqptDataId},
- eqpt_code = #{data.eqptCode},
- affiliated_system = #{data.affiliatedSystem},
- main_material_Cost = #{data.mainMaterialCost},
- main_material_cost_rate = #{data.mainMaterialCostRate},
- main_purchased_parts_cost = #{data.mainPurchasedPartsCost},
- cost_profit_ratio = #{data.costProfitRatio},
- sales_tax_rate = #{data.salesTaxRate},
- design_fee_rate = #{data.designFeeRate},
- VAT_rate = #{data.VATRate},
- nons_eqpt_value = #{data.nonsEqptValue},
- material_1 = #{data.material1},
- material_2 = #{data.material2},
- material_1_quantity = #{data.material1Quantity},
- material_2_quantity = #{data.material2Quantity},
- material_1_use_ratio = #{data.material1UseRatio},
- material_2_use_ratio = #{data.material2UseRatio},
- material_1_price = #{data.material1Price},
- material_2_price = #{data.material2Price}
- WHERE delete_status = 0
- AND id = #{data.id}
- AND eqpt_data_id = #{data.eqptDataId}
- </update>
- <!--新增机器设备非标设备数据-->
- <insert id="addNonSData">
- 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,
- cost_profit_ratio, sales_tax_rate, design_fee_rate, VAT_rate, nons_eqpt_value, material_1, material_2, material_1_quantity, material_2_quantity,
- material_1_use_ratio, material_2_use_ratio, material_1_price, material_2_price)
- VALUE (NULL, #{data.eqptDataId}, #{data.eqptCode}, #{data.affiliatedSystem}, #{data.mainMaterialCost}, #{data.mainMaterialCostRate}, #{data.mainPurchasedPartsCost},
- #{data.costProfitRatio}, #{data.salesTaxRate}, #{data.designFeeRate}, #{data.VATRate}, #{data.nonsEqptValue},
- #{data.material1},#{data.material2},#{data.material1Quantity},#{data.material2Quantity},#{data.material1UseRatio},#{data.material2UseRatio},#{data.material1Price},#{data.material2Price})
- </insert>
- <!--获取机器设备作价table设备名称的筛选条件-->
- <select id="getEqptTableNameFilters" resultType="com.dayou.vo.TableFilterVO">
- SELECT DISTINCT equipment_name AS filter,
- (SELECT COUNT(equipment_name) FROM assets_calculate_eqpt_data AS subquery WHERE subquery.equipment_name = mainquery.equipment_name AND subquery.delete_status = 0) AS count
- FROM assets_calculate_eqpt_data AS mainquery
- WHERE delete_status = 0
- AND assets_calculate_id = #{calculateId}
- <if test="eqptType != null and eqptType != ''">
- AND equipment_type = #{eqptType}
- </if>
- <if test="equipmentName != null and equipmentName != ''">
- AND equipment_name LIKE CONCAT('%', #{equipmentName}, '%')
- </if>
- </select>
- <!--获取机器设备作价table型号的筛选条件-->
- <select id="getEqptTableModelFilters" resultType="com.dayou.vo.TableFilterVO">
- SELECT DISTINCT model AS filter,
- (SELECT COUNT(model) FROM assets_calculate_eqpt_data AS subquery WHERE subquery.model = mainquery.model AND subquery.delete_status = 0) AS count
- FROM assets_calculate_eqpt_data AS mainquery
- WHERE delete_status = 0
- AND assets_calculate_id = #{calculateId}
- <if test="eqptType != null and eqptType != ''">
- AND equipment_type = #{eqptType}
- </if>
- <if test="model != null and model != ''">
- AND model LIKE CONCAT('%', #{model}, '%')
- </if>
- </select>
- <!--获取机器设备作价table购买日期的筛选条件-->
- <select id="getEqptTablePurchaseDateFilters" resultType="com.dayou.vo.TableFilterVO">
- SELECT DISTINCT purchase_date AS filter,
- (SELECT COUNT(purchase_date) FROM assets_calculate_eqpt_data AS subquery WHERE subquery.purchase_date = mainquery.purchase_date AND subquery.delete_status = 0) AS count
- FROM assets_calculate_eqpt_data AS mainquery
- WHERE delete_status = 0
- AND assets_calculate_id = #{calculateId}
- <if test="eqptType != null and eqptType != ''">
- AND equipment_type = #{eqptType}
- </if>
- <if test="purchaseDate != null and purchaseDate != ''">
- AND purchase_date = #{purchaseDate}
- </if>
- </select>
- <!--获取机器设备作价table启用日期的筛选条件-->
- <select id="getEqptTableActivationDateFilters" resultType="com.dayou.vo.TableFilterVO">
- SELECT DISTINCT activation_date AS filter,
- (SELECT COUNT(activation_date) FROM assets_calculate_eqpt_data AS subquery WHERE subquery.activation_date = mainquery.activation_date AND subquery.delete_status = 0) AS count
- FROM assets_calculate_eqpt_data AS mainquery
- WHERE delete_status = 0
- AND assets_calculate_id = #{calculateId}
- <if test="eqptType != null and eqptType != ''">
- AND equipment_type = #{eqptType}
- </if>
- <if test="activationDate != null and activationDate != ''">
- AND activation_date = #{activationDate}
- </if>
- </select>
- </mapper>
|