Your Name
2023-01-27 43c24417c5becb917c4fb0dc541a7ce0eb6f287e
增加根据roomID 查询合同
8个文件已修改
1个文件已添加
199 ■■■■■ 已修改文件
java110-bean/src/main/java/com/java110/dto/owner/OwnerDto.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
java110-bean/src/main/java/com/java110/vo/api/ApiOwnerDataVo.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
java110-db/src/main/resources/mapper/store/ContractServiceDaoImplMapper.xml 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
java110-interface/src/main/java/com/java110/intf/store/IContractInnerServiceSMO.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-store/src/main/java/com/java110/store/cmd/contract/QueryContractByRoomIdCmd.java 123 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-store/src/main/java/com/java110/store/dao/IContractServiceDao.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-store/src/main/java/com/java110/store/dao/impl/ContractServiceDaoImpl.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-store/src/main/java/com/java110/store/smo/impl/ContractInnerServiceSMOImpl.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-user/src/main/java/com/java110/user/bmo/owner/impl/QueryOwnerStatisticsBMOImpl.java 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
java110-bean/src/main/java/com/java110/dto/owner/OwnerDto.java
@@ -96,6 +96,7 @@
    private String repairCount;
    private String oweFee;
    private String contractCount;
    public String getSex() {
        return sex;
@@ -491,4 +492,12 @@
    public void setOweFee(String oweFee) {
        this.oweFee = oweFee;
    }
    public String getContractCount() {
        return contractCount;
    }
    public void setContractCount(String contractCount) {
        this.contractCount = contractCount;
    }
}
java110-bean/src/main/java/com/java110/vo/api/ApiOwnerDataVo.java
@@ -59,6 +59,7 @@
    private double oweFee;
    private String contractCount;
    public String getOwnerId() {
        return ownerId;
    }
@@ -242,4 +243,12 @@
    public void setOweFee(double oweFee) {
        this.oweFee = oweFee;
    }
    public String getContractCount() {
        return contractCount;
    }
    public void setContractCount(String contractCount) {
        this.contractCount = contractCount;
    }
}
java110-db/src/main/resources/mapper/store/ContractServiceDaoImplMapper.xml
@@ -299,4 +299,16 @@
    </select>
    <select id="queryContractsByOwnerIds" parameterType="Map" resultType="Map">
        select t.obj_id ownerId,count(t.contract_id) contractCount
        from contract t
        where t.status_cd = '0'
        and t.obj_id in
        <foreach collection="ownerIds" item="item" index="index" open="(" close=")" separator=",">
            #{item}
        </foreach>
        group by t.obj_id
    </select>
</mapper>
java110-interface/src/main/java/com/java110/intf/store/IContractInnerServiceSMO.java
@@ -9,6 +9,7 @@
import org.springframework.web.bind.annotation.RequestMethod;
import java.util.List;
import java.util.Map;
/**
 * @ClassName IContractInnerServiceSMO
@@ -49,4 +50,12 @@
     */
    @RequestMapping(value = "/queryContractsCount", method = RequestMethod.POST)
    int queryContractsCount(@RequestBody ContractDto contractDto);
    /**
     * 查询业主合同
     * @param info
     * @return
     */
    @RequestMapping(value = "/queryContractsByOwnerIds", method = RequestMethod.POST)
    List<Map> queryContractsByOwnerIds(@RequestBody Map info);
}
service-store/src/main/java/com/java110/store/cmd/contract/QueryContractByRoomIdCmd.java
New file
@@ -0,0 +1,123 @@
package com.java110.store.cmd.contract;
import com.alibaba.fastjson.JSONObject;
import com.java110.core.annotation.Java110Cmd;
import com.java110.core.context.ICmdDataFlowContext;
import com.java110.core.event.cmd.Cmd;
import com.java110.core.event.cmd.CmdEvent;
import com.java110.dto.contract.ContractDto;
import com.java110.dto.contractAttr.ContractAttrDto;
import com.java110.dto.contractRoom.ContractRoomDto;
import com.java110.intf.common.IContractApplyUserInnerServiceSMO;
import com.java110.intf.common.IContractChangeUserInnerServiceSMO;
import com.java110.intf.store.IContractAttrInnerServiceSMO;
import com.java110.intf.store.IContractInnerServiceSMO;
import com.java110.intf.store.IContractRoomInnerServiceSMO;
import com.java110.utils.exception.CmdException;
import com.java110.utils.util.Assert;
import com.java110.utils.util.BeanConvertUtil;
import com.java110.utils.util.DateUtil;
import com.java110.vo.ResultVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import java.util.ArrayList;
import java.util.List;
/**
 * 根据房屋ID查询合同
 */
@Java110Cmd(serviceCode = "contract.queryContractByRoomId")
public class QueryContractByRoomIdCmd extends Cmd {
    @Autowired
    private IContractInnerServiceSMO contractInnerServiceSMOImpl;
    @Autowired
    private IContractAttrInnerServiceSMO contractAttrInnerServiceSMOImpl;
    @Autowired
    private IContractApplyUserInnerServiceSMO contractApplyUserInnerServiceSMOImpl;
    @Autowired
    private IContractChangeUserInnerServiceSMO contractChangeUserInnerServiceSMO;
    @Autowired
    private IContractRoomInnerServiceSMO contractRoomInnerServiceSMOImpl;
    @Override
    public void validate(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) throws CmdException {
        super.validatePageInfo(reqJson);
        Assert.hasKeyAndValue(reqJson, "roomId", "未包含房屋信息");
    }
    @Override
    public void doCmd(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) throws CmdException {
        ContractRoomDto contractRoomDto = new ContractRoomDto();
        contractRoomDto.setRoomId(reqJson.getString("roomId"));
        List<ContractRoomDto> roomDtos = contractRoomInnerServiceSMOImpl.queryContractRooms(contractRoomDto);
        if(roomDtos == null || roomDtos.size()<1){
            return ;
        }
        List<String> contractIds = new ArrayList<>();
        for(ContractRoomDto tmpContractRoomDto : roomDtos){
            contractIds.add(tmpContractRoomDto.getContractId());
        }
        ContractDto contractDto = BeanConvertUtil.covertBean(reqJson, ContractDto.class);
        contractDto.setContractIds(contractIds.toArray(new String[contractIds.size()]));
        int count = contractInnerServiceSMOImpl.queryContractsCount(contractDto);
        List<ContractDto> contractDtos = null;
        if (count > 0) {
            contractDtos = contractInnerServiceSMOImpl.queryContracts(contractDto);
            refreshAttr(contractDtos);
        } else {
            contractDtos = new ArrayList<>();
        }
        ResultVo resultVo = new ResultVo((int) Math.ceil((double) count / (double) contractDto.getRow()), count, contractDtos);
        ResponseEntity<String> responseEntity = new ResponseEntity<String>(resultVo.toString(), HttpStatus.OK);
        cmdDataFlowContext.setResponseEntity(responseEntity);
    }
    /**
     * 属性属性
     *
     * @param contractDtos
     */
    private void refreshAttr(List<ContractDto> contractDtos) {
        List<String> contractIds = new ArrayList<>();
        for (ContractDto contractDto : contractDtos) {
            contractIds.add(contractDto.getContractId());
        }
        if (contractIds.size() < 1) {
            return;
        }
        ContractAttrDto contractAttrDto = new ContractAttrDto();
        contractAttrDto.setContractIds(contractIds.toArray(new String[contractIds.size()]));
        List<ContractAttrDto> contractAttrDtos = contractAttrInnerServiceSMOImpl.queryContractAttrs(contractAttrDto);
        List<ContractAttrDto> attrs = null;
        for (ContractDto contractDto : contractDtos) {
            attrs = new ArrayList<>();
            for (ContractAttrDto tmpContractAttrDto : contractAttrDtos) {
                if (contractDto.getContractId().equals(tmpContractAttrDto.getContractId())) {
                    attrs.add(tmpContractAttrDto);
                }
            }
            contractDto.setAttrs(attrs);
        }
    }
}
service-store/src/main/java/com/java110/store/dao/IContractServiceDao.java
@@ -58,4 +58,5 @@
     */
    int queryContractsCount(Map info);
    List<Map> queryContractsByOwnerIds(Map info);
}
service-store/src/main/java/com/java110/store/dao/impl/ContractServiceDaoImpl.java
@@ -94,5 +94,13 @@
        return Integer.parseInt(businessContractInfos.get(0).get("count").toString());
    }
    @Override
    public List<Map> queryContractsByOwnerIds(Map info) {
        logger.debug("查询合同管理数据 入参 info : {}",info);
        List<Map> result = sqlSessionTemplate.selectList("contractServiceDaoImpl.queryContractsByOwnerIds", info);
        return result;
    }
}
service-store/src/main/java/com/java110/store/smo/impl/ContractInnerServiceSMOImpl.java
@@ -13,6 +13,7 @@
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
import java.util.Map;
/**
 * @ClassName FloorInnerServiceSMOImpl
@@ -73,6 +74,11 @@
        return contractServiceDaoImpl.queryContractsCount(BeanConvertUtil.beanCovertMap(contractDto));
    }
    @Override
    public List<Map> queryContractsByOwnerIds(@RequestBody Map info) {
        return contractServiceDaoImpl.queryContractsByOwnerIds(info);
    }
    public IContractServiceDao getContractServiceDaoImpl() {
        return contractServiceDaoImpl;
    }
service-user/src/main/java/com/java110/user/bmo/owner/impl/QueryOwnerStatisticsBMOImpl.java
@@ -4,6 +4,7 @@
import com.java110.intf.community.IComplaintV1InnerServiceSMO;
import com.java110.intf.community.IRepairPoolV1InnerServiceSMO;
import com.java110.intf.report.IReportOweFeeInnerServiceSMO;
import com.java110.intf.store.IContractInnerServiceSMO;
import com.java110.intf.user.IOwnerCarV1InnerServiceSMO;
import com.java110.intf.user.IOwnerRoomRelV1InnerServiceSMO;
import com.java110.intf.user.IOwnerV1InnerServiceSMO;
@@ -38,6 +39,9 @@
    @Autowired
    private IReportOweFeeInnerServiceSMO reportOweFeeInnerServiceSMOImpl;
    @Autowired
    private IContractInnerServiceSMO contractInnerServiceSMOImpl;
    @Override
    public List<OwnerDto> query(List<OwnerDto> ownerDtos) {
@@ -76,9 +80,27 @@
        // 查询业主欠费
        queryOwnerOweFee(ownerIds,ownerDtos);
        // 查询业主合同
        queryOwnerContractCount(ownerIds,ownerDtos);
        return ownerDtos;
    }
    private void queryOwnerContractCount(List<String> ownerIds, List<OwnerDto> ownerDtos) {
        Map info = new HashMap();
        info.put("communityId",ownerDtos.get(0).getCommunityId());
        info.put("ownerIds",ownerIds.toArray(new String[ownerIds.size()]));
        List<Map> contractsCount = contractInnerServiceSMOImpl.queryContractsByOwnerIds(info);
        for(OwnerDto ownerDto : ownerDtos) {
            for (Map count : contractsCount) {
                if(ownerDto.getOwnerId().equals(count.get("ownerId"))){
                    ownerDto.setContractCount(count.get("contractCount").toString());
                }
            }
        }
    }
    /**
     * 查询业主欠费
     * @param ownerIds