his-uncles-father
2021-04-01 5fecf7a5b366396d020913cdf4feaf87486817cc
合同打印
1个文件已修改
2个文件已添加
177 ■■■■■ 已修改文件
service-store/src/main/java/com/java110/store/api/ContractApi.java 43 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-store/src/main/java/com/java110/store/bmo/contractTypeTemplate/IPrintContractTemplateBMO.java 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-store/src/main/java/com/java110/store/bmo/contractTypeTemplate/impl/PrintContractTemplateBMOImpl.java 113 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-store/src/main/java/com/java110/store/api/ContractApi.java
@@ -46,10 +46,7 @@
import com.java110.store.bmo.contractTypeSpec.IGetContractTypeSpecBMO;
import com.java110.store.bmo.contractTypeSpec.ISaveContractTypeSpecBMO;
import com.java110.store.bmo.contractTypeSpec.IUpdateContractTypeSpecBMO;
import com.java110.store.bmo.contractTypeTemplate.IDeleteContractTypeTemplateBMO;
import com.java110.store.bmo.contractTypeTemplate.IGetContractTypeTemplateBMO;
import com.java110.store.bmo.contractTypeTemplate.ISaveContractTypeTemplateBMO;
import com.java110.store.bmo.contractTypeTemplate.IUpdateContractTypeTemplateBMO;
import com.java110.store.bmo.contractTypeTemplate.*;
import com.java110.utils.util.Assert;
import com.java110.utils.util.BeanConvertUtil;
import com.java110.utils.util.DateUtil;
@@ -144,6 +141,8 @@
    @Autowired
    private IGetContractChangePlanDetailAttrBMO getContractChangePlanDetailAttrBMOImpl;
    @Autowired
    private IPrintContractTemplateBMO printContractTemplateBMO;
    /**
     * 微信保存消息模板
     *
@@ -969,4 +968,40 @@
        return getContractChangePlanDetailAttrBMOImpl.get(contractChangePlanDetailAttrDto);
    }
    /**
     * 合同打印
     *
     * @param storeId 商户ID
     * @return
     * @serviceCode /contract/printContractTemplate
     * @path /app/contract/printContractTemplate
     */
    @RequestMapping(value = "/printContractTemplate", method = RequestMethod.GET)
    public ResponseEntity<String> printContractTemplate(@RequestHeader(value = "store-id") String storeId,
                                                        @RequestParam(value = "contractTypeId", required = false) String contractTypeId,
                                                        @RequestParam(value = "contractId", required = false) String contractId,
                                                        @RequestParam(value = "page") int page,
                                                        @RequestParam(value = "row") int row) {
        ContractTypeTemplateDto contractTypeTemplateDto = new ContractTypeTemplateDto();
        contractTypeTemplateDto.setPage(page);
        contractTypeTemplateDto.setRow(row);
        contractTypeTemplateDto.setStoreId(storeId);
        contractTypeTemplateDto.setContractTypeId(contractTypeId);
        ContractDto contractDto = new ContractDto();
        contractDto.setPage(page);
        contractDto.setRow(row);
        contractDto.setStoreId(storeId);
        contractDto.setContractId(contractId);
        ContractTypeSpecDto contractTypeSpecDto = new ContractTypeSpecDto();
        contractTypeSpecDto.setPage(page);
        contractTypeSpecDto.setRow(100);
        contractTypeSpecDto.setStoreId(storeId);
        contractTypeSpecDto.setContractTypeId(contractTypeId);
        return printContractTemplateBMO.get(contractTypeTemplateDto,contractDto,contractTypeSpecDto);
    }
}
service-store/src/main/java/com/java110/store/bmo/contractTypeTemplate/IPrintContractTemplateBMO.java
New file
@@ -0,0 +1,21 @@
package com.java110.store.bmo.contractTypeTemplate;
import com.java110.dto.contract.ContractDto;
import com.java110.dto.contractTypeSpec.ContractTypeSpecDto;
import com.java110.dto.contractTypeTemplate.ContractTypeTemplateDto;
import org.springframework.http.ResponseEntity;
public interface IPrintContractTemplateBMO {
    /**
     * 查询合同属性及模板
     * add by wuxw
     *
     * @param contractTypeTemplateDto
     * @return
     */
    ResponseEntity<String> get(ContractTypeTemplateDto contractTypeTemplateDto, ContractDto contractDto, ContractTypeSpecDto contractTypeSpecDto);
}
service-store/src/main/java/com/java110/store/bmo/contractTypeTemplate/impl/PrintContractTemplateBMOImpl.java
New file
@@ -0,0 +1,113 @@
package com.java110.store.bmo.contractTypeTemplate.impl;
import com.java110.dto.contract.ContractDto;
import com.java110.dto.contractAttr.ContractAttrDto;
import com.java110.dto.contractTypeSpec.ContractTypeSpecDto;
import com.java110.dto.contractTypeTemplate.ContractTypeTemplateDto;
import com.java110.entity.mapping.Mapping;
import com.java110.intf.store.IContractAttrInnerServiceSMO;
import com.java110.intf.store.IContractInnerServiceSMO;
import com.java110.intf.store.IContractTypeSpecInnerServiceSMO;
import com.java110.intf.store.IContractTypeTemplateInnerServiceSMO;
import com.java110.store.bmo.contractTypeTemplate.IPrintContractTemplateBMO;
import com.java110.utils.cache.MappingCache;
import com.java110.vo.ResultVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@Service("printContractTemplateBMOImpl")
public class PrintContractTemplateBMOImpl implements IPrintContractTemplateBMO {
    @Autowired
    private IContractInnerServiceSMO contractInnerServiceSMOImpl;
    @Autowired
    private IContractAttrInnerServiceSMO contractAttrInnerServiceSMOImpl;
    @Autowired
    private IContractTypeTemplateInnerServiceSMO contractTypeTemplateInnerServiceSMOImpl;
    @Autowired
    private IContractTypeSpecInnerServiceSMO contractTypeSpecInnerServiceSMOImpl;
    //域
    public static final String STORE_CONTRACT = "STORE.CONTRACT";
    /**
     * @param contractTypeTemplateDto
     * @return 订单服务能够接受的报文
     */
    public ResponseEntity<String> get(ContractTypeTemplateDto contractTypeTemplateDto, ContractDto contractDto, ContractTypeSpecDto contractTypeSpecDto ) {
        int count = contractInnerServiceSMOImpl.queryContractsCount(contractDto);
        Map<String, Object> result = new HashMap<String, Object>();
        List<ContractDto> contractDtos = null;
        if (count > 0) {
            contractDtos = contractInnerServiceSMOImpl.queryContracts(contractDto);
            refreshAttr(contractDtos);
        } else {
            contractDtos = new ArrayList<>();
        }
        result.put("contract",contractDtos);
        int count2 = contractTypeTemplateInnerServiceSMOImpl.queryContractTypeTemplatesCount(contractTypeTemplateDto);
        List<ContractTypeTemplateDto> contractTypeTemplateDtos = null;
        if (count2 > 0) {
            contractTypeTemplateDtos = contractTypeTemplateInnerServiceSMOImpl.queryContractTypeTemplates(contractTypeTemplateDto);
        } else {
            contractTypeTemplateDtos = new ArrayList<>();
        }
        result.put("contractTypeTemplate",contractTypeTemplateDtos);
        int count3 = contractTypeSpecInnerServiceSMOImpl.queryContractTypeSpecsCount(contractTypeSpecDto);
        List<ContractTypeSpecDto> contractTypeSpecDtos = null;
        if (count3 > 0) {
            contractTypeSpecDtos = contractTypeSpecInnerServiceSMOImpl.queryContractTypeSpecs(contractTypeSpecDto);
        } else {
            contractTypeSpecDtos = new ArrayList<>();
        }
        result.put("contractTypeSpec",contractTypeSpecDtos);
        List<Mapping> baseRepalce = MappingCache.getValueByDomain(STORE_CONTRACT);
        result.put("baseRepalce",baseRepalce);
        ResultVo resultVo = new ResultVo((int) Math.ceil((double) count / (double) contractTypeTemplateDto.getRow()), count, result);
        ResponseEntity<String> responseEntity = new ResponseEntity<String>(resultVo.toString(), HttpStatus.OK);
        return 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);
        }
    }
}