123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 |
- <?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.zjugis.business.mapper.ProjectCostMapper">
- <update id="updateTravelCost">
- UPDATE PROJECT_COST SET TRAVEL_COST=(NVL(TRAVEL_COST,0)+#{travelCost})
- WHERE PROJECT_ID=#{projectId} AND COUNT_DATE = to_timestamp(#{firstDayOfMonth,jdbcType=VARCHAR},'YYYY-MM-DD')
- </update>
- <update id="updateCommonCost">
- UPDATE PROJECT_COST SET REIMBURSEMENT_COST=(NVL(REIMBURSEMENT_COST,0)+#{commonCost})
- WHERE PROJECT_ID=#{projectId} AND COUNT_DATE = to_timestamp(#{firstDayOfMonth,jdbcType=VARCHAR},'YYYY-MM-DD')
- </update>
- <update id="updatePaymentCost">
- UPDATE PROJECT_COST SET PAYMENT_COST=(NVL(PAYMENT_COST,0)+#{commonCost})
- WHERE PROJECT_ID=#{projectId} AND COUNT_DATE = to_timestamp(#{firstDayOfMonth,jdbcType=VARCHAR},'YYYY-MM-DD')
- </update>
- <select id="calculate" resultType="com.zjugis.business.bean.response.ProjectCostResponse">
- SELECT
- NVL(SUM(NVL(PROJECT_COST, 0)), 0) AS cost,
- NVL(SUM(NVL(TRAVEL_COST, 0)), 0) AS travelCost,
- NVL(SUM(NVL(REIMBURSEMENT_COST, 0)), 0) AS reimbursementCost,
- NVL(SUM(NVL(SUBCONTRACT_COST, 0)), 0) AS subcontractCost,
- NVL(SUM(NVL(OUTSOURCE_COST, 0)), 0) AS outsourceCost,
- NVL(SUM(NVL(PAYMENT_COST, 0)), 0) AS paymentCost
- FROM PROJECT_AMOUNT
- WHERE PROJECT_ID in
- <foreach item="id" index="index" collection="params.projectIds" open="(" separator="," close=")">
- #{id}
- </foreach>
- </select>
- <select id="pageByMonth" resultType="com.zjugis.business.bean.response.ProjectMonthCostResponse">
- SELECT max(OUTPUT_PROGRESS) as outputProgress,sum(VEHICLE_COST) as vehicleCost,sum(LABOR_COST) as laborCost,sum(TRAVEL_COST) as travelCost,sum(REIMBURSEMENT_COST) as reimbursementCost,sum(PAYMENT_COST) as paymentCost,TO_CHAR(P.COUNT_DATE,'YYYY-MM') as countDate FROM PROJECT_COST P
- <where>
- P.ISVALID = 1
- AND P.PROJECT_ID in
- <foreach item="id" index="index" collection="params.projectIds" open="(" separator="," close=")">
- #{id}
- </foreach>
- </where>
- GROUP BY TO_CHAR(P.COUNT_DATE,'YYYY-MM')
- HAVING
- (sum(LABOR_COST) + sum(TRAVEL_COST) + sum(REIMBURSEMENT_COST) + sum(PAYMENT_COST)) > 0
- ORDER BY
- countDate
- DESC
- </select>
- <select id="selectCurMonthProjectIds" resultType="java.lang.String">
- SELECT PROJECT_ID FROM PROJECT_COST WHERE COUNT_DATE = to_timestamp(#{date,jdbcType=VARCHAR},'YYYY-MM-DD') and ISVALID = 1 and PROJECT_ID IS NOT NUll
- </select>
- <select id="calculateList" resultType="com.zjugis.business.bean.response.ProjectCostResponse">
- SELECT
- PROJECT_ID,
- NVL(VEHICLE_COST, 0) AS vehicleCost,
- NVL(LABOR_COST, 0) AS laborCost,
- NVL(TRAVEL_COST, 0) AS travelCost,
- NVL(REIMBURSEMENT_COST, 0) AS reimbursementCost,
- NVL(PAYMENT_COST, 0) AS paymentCost
- FROM PROJECT_COST
- WHERE PROJECT_ID in
- <foreach item="id" index="index" collection="params.projectIds" open="(" separator="," close=")">
- #{id}
- </foreach>
- AND ISVALID = 1
- </select>
- <select id="selectMonthRecordByProject" resultType="com.zjugis.business.bean.entity.ProjectCost">
- SELECT * FROM PROJECT_COST WHERE COUNT_DATE = to_timestamp(#{date,jdbcType=VARCHAR},'YYYY-MM-DD') and ISVALID = 1 and PROJECT_ID = #{projectId,jdbcType=VARCHAR}
- </select>
- </mapper>
|