shiyunteng
1 天以前 8de09297dcc5393cc8542f29318b17f5696d4f8d
platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/controller/ContractInvoiceController.java
@@ -4,6 +4,8 @@
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.by4cloud.platformx.business.dto.ContractInvoiceQueryDTO;
import com.by4cloud.platformx.business.dto.ContractQueryDTO;
import com.by4cloud.platformx.business.dto.GenInvoiceInfoDTO;
import com.by4cloud.platformx.business.entity.Contract;
import com.by4cloud.platformx.business.service.ContractInvoiceService;
@@ -40,17 +42,23 @@
   /**
    * 分页查询
    * @param page 分页对象
    * @param contract 合同管理
    * @param queryDTO 合同管理
    * @return
    */
   @Operation(summary = "分页查询" , description = "分页查询" )
   @GetMapping("/page" )
   public R getContractPage(@ParameterObject Page page, @ParameterObject Contract contract) {
   public R getContractPage(@ParameterObject Page page, @ParameterObject ContractQueryDTO queryDTO) {
      LambdaQueryWrapper<Contract> wrapper = Wrappers.lambdaQuery();
      wrapper.like(StringUtils.isNotBlank(contract.getContractName()),Contract::getContractName,contract.getContractName());
      wrapper.like(StringUtils.isNotBlank(contract.getPartyA()),Contract::getPartyA,contract.getPartyA());
      wrapper.eq(Contract::getBillingStatus,contract.getBillingStatus());
      if (StrUtil.equals(contract.getBillingStatus(),"1")){
      wrapper.like(StringUtils.isNotBlank(queryDTO.getContractName()),Contract::getContractName,queryDTO.getContractName());
      wrapper.like(StringUtils.isNotBlank(queryDTO.getPartyA()),Contract::getPartyA,queryDTO.getPartyA());
      wrapper.eq(Contract::getBillingStatus,queryDTO.getBillingStatus());
      if (StrUtil.equals(queryDTO.getInvoiceType(),"1")){
         wrapper.eqSql(Contract::getBillingAmout,"(select sum(delivered_quantity*unit_price) from contract_subject_matter csm where csm.contract_id = contract.id)");
      }else if (StrUtil.equals(queryDTO.getInvoiceType(),"0")){
         wrapper.ltSql(Contract::getBillingAmout,"(select sum(delivered_quantity*unit_price) from contract_subject_matter csm where csm.contract_id = contract.id)");
      }
      if (StrUtil.equals(queryDTO.getBillingStatus(),"1")){
         wrapper.orderByDesc(BaseModel::getCreateTime);
      }else {
         wrapper.orderByAsc(BaseModel::getCreateTime);
@@ -123,4 +131,9 @@
   public R queryRedInvoice() {
      return contractInvoiceService.queryRedInvoice();
   }
   @GetMapping("/pageInvoice")
   public R pageInvoice(@ParameterObject Page page, @ParameterObject ContractInvoiceQueryDTO queryDTO) {
      return R.ok(contractInvoiceService.pageInvoice(page, queryDTO));
   }
}