天天看点

人人开源 mybatis-plus多表分页

.Controll

/**
     * 查询工资发放管理列表
     */
    @RequestMapping("/queryIssueSituation")
    public R queryIssueSituation(@RequestParam Map<String, Object> params) {
        Query query = new Query(params);
        List<BuWageEntity> list = buWageService.queryIssueSituation(query);
        int total = buWageService.queryIssueSituationTotal(query);
        PageUtils page = new PageUtils(list, total, query.getLimit(), query.getCurrPage());
        return R.ok().put("page", page);
    }
           

Service

List<Map> queryIssueSituation(Map<String, String> map);


    int queryIssueSituationTotal(Map<String, String> map);
           

Impl

@Override
    public List<Map> queryIssueSituation(Map<String, String> map) {
        return baseMapper.queryIssueSituation(map);
    }

    @Override
    public int queryIssueSituationTotal(Map<String, String> map) {        
        return baseMapper.queryIssueSituationTotal(map);
    }
           

Dao

List<Map> queryIssueSituation(Map<String,String> map);

    int queryIssueSituationTotal(Map<String,String> map);
           

Mapper.xml

<resultMap id="buWageMapList"   type="com.xfktech.erp.modules.bu.entity.BuWageEntity">
<!--    <resultMap id="buWageMapList"   type="HashMap">-->
        <result property="id" column="id"/>
        <result property="payoffId" column="payoff_id"/>
        <result property="payoffYearMonth" column="payoff_year_month"/>
        <result property="subtotalWage" column="subtotal_wage"/>
        <result property="subtotalSend" column="subtotal_send"/>
        <result property="subtotalActual" column="subtotal_actual"/>
        <result property="subtotalPerson" column="subtotal_person"/>
        <result property="subtotalPersonPension" column="subtotal_person_pension"/>
        <result property="subtotalPersonMedical" column="subtotal_person_medical"/>
        <result property="subtotalPersonJob" column="subtotal_person_job"/>
        <result property="subtotalPersonFund" column="subtotal_person_fund"/>

        <result property="createUser" column="create_user"/>
        <result property="createTime" column="create_time"/>
        <result property="updateUser" column="update_user"/>
        <result property="updateTime" column="update_time"/>
        <!--机构名 agencyName-->
        <result property="agencyName" column="agency_name"/>
        <result property="contractNumber" column="contract_number"/>


        <!--queryAgencyContractByYMAgencyId-->

        <result property="payoffType" column="payoff_type"/>
        <result property="contractNumber" column="contract_number"/>
        <result property="contractStartDate" column="contract_start_date"/>
        <result property="contractEndDate" column="contract_end_date"/>
        <result property="contractPeriod" column="contract_period"/>


        <result property="subtotalPersonIncomeTax" column="subtotal_person_income_tax"/>


        <result property="agencyId" column="agency_id"/>
        <result property="agencyContractId" column="agency_contract_id"/>
        <result property="contractNumber" column="contract_number"/>
        <result property="payoffStatus" column="payoff_status"/>
        <result property="agencyName" column="agency_name"/>

        <!--六项附加扣除-->
        <result property="subtotalSixDeduction" column="subtotal_six_deduction"/>
        <!--结算合并id-->
        <result property="mergeId" column="merge_id"/>
        <!--工资提交状态: 0未提交 1已提交-->
        <result property="wageStatus" column="wage_status"/>
        <result property="pdfUrl" column="pdf_url"/>
        <result property="pdfFlag" column="pdf_flag" javaType="boolean" />

        <result property="wageFlag" column="wage_flag"/>

        <result property="payoffInId" column="payoff_in_id"/>
        <result property="payoffInType" column="payoff_in_type"/>

        <!--客服-->
        <result property="payoffCreateUser" column="payoff_create_user"/>

        <result property="city" column="city"/>



    </resultMap>



<!--工资发放管理-->
    <select id="queryIssueSituation" resultMap="buWageMapList" parameterType="string">
        SELECT ha.`name` AS agency_name, hac.contract_number, bw.payoff_year_month, bp.payoff_status, bw.update_time, bp.invoice_flag, bw.id, bp.id AS payoff_id, bp.payoff_type AS payoff_type, hac.id AS agency_contract_id
        FROM bu_wage bw
        LEFT JOIN bu_payoff bp ON bw.payoff_id = bp.id
        LEFT JOIN hr_agency ha ON bw.agency_id = ha.id
        LEFT JOIN hr_agency_contract hac ON bw.agency_contract_id = hac.id
        <where>
            1=1
            AND bp.payoff_status = 16
            <if test="date !=null and date != ''">
                AND bw.payoff_year_month LIKE concat(concat('%', #{date}), '%')
            </if>
            <if test="key !=null and key != ''">
                AND (
                ha.`name` LIKE concat(concat('%', #{key}), '%') OR
                hac.contract_number LIKE concat(concat('%', #{key}), '%')
                )
            </if>
        </where>
                ORDER BY bw.update_time DESC
                limit #{offset},#{limit}
    </select>

    <!--工资发放管理-->
    <select id="queryIssueSituationTotal" resultType="int">
        SELECT COUNT(*) FROM bu_wage bw
        LEFT JOIN bu_payoff bp ON bw.payoff_id = bp.id
        LEFT JOIN hr_agency ha ON bw.agency_id = ha.id
        LEFT JOIN hr_agency_contract hac ON bw.agency_contract_id = hac.id
        <where>
            1=1
            AND bp.payoff_status = 6
            <if test="date !=null and date != ''">
                AND bw.payoff_year_month LIKE concat(concat('%', #{date}), '%')
            </if>
            <if test="key !=null and key != ''">
                AND (
                ha.`name` LIKE concat(concat('%', #{key}), '%') OR
                hac.contract_number LIKE concat(concat('%', #{key}), '%')
                )
            </if>
        </where>
    </select>