Forráskód Böngészése

添加了产品看板

wxf 2 éve
szülő
commit
e97eede1fd

+ 0 - 1
hx-account/src/main/java/com/fjhx/account/entity/account/enums/PaymentStatusEnum.java

@@ -9,7 +9,6 @@ import java.util.Map;
 public enum PaymentStatusEnum {
     UNDER_REVIEW("10", "未打款"),
     REJECT("20", "已打款"),
-
     ;
     private String key;
 

+ 3 - 1
hx-account/src/main/java/com/fjhx/account/service/account/impl/AccountPaymentServiceImpl.java

@@ -10,6 +10,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.fjhx.account.entity.account.dto.AccountPaymentDto;
 import com.fjhx.account.entity.account.dto.AccountRequestFundsSelectDto;
+import com.fjhx.account.entity.account.enums.PaymentStatusEnum;
 import com.fjhx.account.entity.account.po.AccountManagement;
 import com.fjhx.account.entity.account.po.AccountPayment;
 import com.fjhx.account.entity.account.po.AccountRemainder;
@@ -151,7 +152,8 @@ public class AccountPaymentServiceImpl extends ServiceImpl<AccountPaymentMapper,
         if (accountRemainder.getRemainder().compareTo(accountPaymentDto.getAmount()) == -1){
             throw new ServiceException("账户余额不足");
         }
-
+        //TODO 只要发起就是已打款(后期可能要修改)
+        accountRemainder.setStatus(PaymentStatusEnum.REJECT.getKey());
         if (ObjectUtil.isEmpty(accountPaymentDto.getId())){
             this.save(accountPaymentDto);
         }else {

+ 6 - 1
hx-item/src/main/java/com/fjhx/item/entity/product/dto/ProductInfoSelectDto.java

@@ -76,7 +76,7 @@ public class ProductInfoSelectDto extends BaseSelectDto {
     private String name;
 
     /**
-     * 产品名称
+     * 产品英文名称
      */
     private String englishName;
 
@@ -91,4 +91,9 @@ public class ProductInfoSelectDto extends BaseSelectDto {
      */
     private String barCode;
 
+    /**
+     * 海关编号
+     */
+    private String customsCode;
+
 }

+ 1 - 0
hx-item/src/main/java/com/fjhx/item/service/product/impl/ProductInfoServiceImpl.java

@@ -87,6 +87,7 @@ public class ProductInfoServiceImpl extends ServiceImpl<ProductInfoMapper, Produ
         wrapper.like("pi",ProductInfo::getCustomCode,dto.getCustomCode());
         wrapper.like("pi",ProductInfo::getBarCode,dto.getBarCode());
         wrapper.like("json_unquote(standard_json->'$.englishName')",dto.getEnglishName());
+        wrapper.like("json_unquote(standard_json->'$.customsCode')",dto.getCustomsCode());
 //        wrapper.keyword(dto,
 //                new SqlField("pi", ProductInfo::getName),
 //                new SqlField("pi", ProductInfo::getCode),

A különbségek nem kerülnek megjelenítésre, a fájl túl nagy
+ 0 - 0
hx-sale/src/main/java/com/fjhx/sale/a-json/ContractBudgetApi.json


+ 8 - 0
hx-sale/src/main/java/com/fjhx/sale/controller/contract/ContractController.java

@@ -162,4 +162,12 @@ public class ContractController {
     public void contractHandover(@RequestBody ContractDto dto) {
         contractService.contractHandover(dto);
     }
+
+    /**
+     * 合同销售统计(合同列表)
+     */
+    @PostMapping("/covenantStatistics")
+    public  Map<String,Object> covenantStatistics(@RequestBody ContractDto dto){
+        return  contractService.covenantStatistics(dto);
+    }
 }

+ 10 - 0
hx-sale/src/main/java/com/fjhx/sale/controller/serviceContract/ServiceContractController.java

@@ -10,6 +10,8 @@ import com.ruoyi.common.core.domain.BaseSelectDto;
 import com.fjhx.sale.service.serviceContract.ServiceContractService;
 import org.springframework.beans.factory.annotation.Autowired;
 
+import java.util.Map;
+
 
 /**
  * <p>
@@ -51,5 +53,13 @@ public class ServiceContractController {
         serviceContractService.updateById(serviceContractDto);
     }
 
+    /**
+     * 服务合同统计(根据归属公司)
+     */
+    @PostMapping("/serviceContractStatistics")
+    public Map<String, Object> serviceContractStatistics(@RequestBody ServiceContractDto serviceContractDto){
+        return serviceContractService.serviceContractStatistics(serviceContractDto);
+    }
+
 
 }

+ 6 - 1
hx-sale/src/main/java/com/fjhx/sale/entity/contract/po/Contract.java

@@ -316,10 +316,15 @@ public class Contract extends BasePo {
     private List<ContractProject> contractProjectList;
 
     /**
-     * 版本号
+     * 合同数量
      */
     @TableField(exist = false)
     private Integer count;
 
+    /**
+     * 归属公司名称
+     */
+    @TableField(exist = false)
+    private String sellCorporationName;
 
 }

+ 28 - 0
hx-sale/src/main/java/com/fjhx/sale/entity/serviceContract/dto/ServiceContractSelectDto.java

@@ -4,6 +4,8 @@ import com.ruoyi.common.core.domain.BaseSelectDto;
 import lombok.Getter;
 import lombok.Setter;
 
+import java.math.BigDecimal;
+
 /**
  * 服务合同表列表查询入参实体
  *
@@ -23,4 +25,30 @@ public class ServiceContractSelectDto extends BaseSelectDto {
      */
     private String ServiceStatus;
 
+    /**
+     * 归属公司ID
+     */
+    private Long sellCorporationId;
+
+
+    /**
+     * 客户ID
+     */
+    private Long buyCorporationId;
+
+    /**
+     * 编码
+     */
+    private String code;
+
+    /**
+     * 合同开始金额
+     */
+    private BigDecimal beginAmount;
+
+    /**
+     * 合同结束金额
+     */
+    private BigDecimal endAmount;
+
 }

+ 13 - 0
hx-sale/src/main/java/com/fjhx/sale/entity/serviceContract/po/ServiceContract.java

@@ -1,5 +1,6 @@
 package com.fjhx.sale.entity.serviceContract.po;
 
+import com.baomidou.mybatisplus.annotation.TableField;
 import com.ruoyi.common.core.domain.BasePo;
 import com.baomidou.mybatisplus.annotation.TableName;
 
@@ -178,6 +179,18 @@ public class ServiceContract extends BasePo {
      */
     private Long shroffAccountId;
 
+    /**
+     * 合同个数
+     */
+    @TableField(exist = false)
+    private Integer count;
+
+    /**
+     * 归属公司名称
+     */
+    @TableField(exist = false)
+    private String  sellCorporationName;
+
 
 
 }

+ 5 - 0
hx-sale/src/main/java/com/fjhx/sale/service/contract/ContractService.java

@@ -137,4 +137,9 @@ public interface ContractService extends BaseService<Contract> {
      * 合同交接单
      */
     void contractHandover(ContractDto dto);
+
+    /**
+     * 合同销售统计(合同列表)
+     */
+    Map<String, Object> covenantStatistics(ContractDto dto);
 }

+ 38 - 0
hx-sale/src/main/java/com/fjhx/sale/service/contract/impl/ContractServiceImpl.java

@@ -6,6 +6,7 @@ import cn.hutool.core.util.ObjectUtil;
 import com.alibaba.fastjson2.JSON;
 import com.alibaba.fastjson2.JSONObject;
 import com.baomidou.dynamic.datasource.annotation.DSTransactional;
+import com.baomidou.dynamic.datasource.toolkit.DynamicDataSourceContextHolder;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
@@ -16,6 +17,7 @@ import com.fjhx.account.entity.account.po.AccountManagement;
 import com.fjhx.account.service.account.AccountManagementService;
 import com.fjhx.area.service.SetCustomizeAreaId;
 import com.fjhx.area.utils.CustomizeAreaUtil;
+import com.fjhx.common.constant.SourceConstant;
 import com.fjhx.common.entity.corporation.po.Corporation;
 import com.fjhx.common.entity.currency.po.CurrencyRate;
 import com.fjhx.common.entity.documentary.bo.DocumentaryData;
@@ -27,6 +29,7 @@ import com.fjhx.customer.entity.customer.dto.CustomerDto;
 import com.fjhx.customer.entity.customer.po.Customer;
 import com.fjhx.customer.service.customer.CustomerService;
 import com.fjhx.sale.entity.purchase.po.EhsdPurchaseProduct;
+import com.fjhx.sale.entity.serviceContract.po.ServiceContract;
 import com.fjhx.sale.service.purchase.EhsdPurchaseProductService;
 import com.fjhx.file.entity.FileInfoVo;
 import com.fjhx.file.utils.ObsFileUtil;
@@ -540,6 +543,41 @@ public class ContractServiceImpl extends ServiceImpl<ContractMapper, Contract>
         ObsFileUtil.editFile(dto.getPackageFileList(),dto.getId(),2);
     }
 
+    /**
+     * 合同销售统计(合同列表)
+     */
+    @Override
+    public Map<String, Object> covenantStatistics(ContractDto dto) {
+        Map<String, Object> map = new HashMap<>();
+
+        QueryWrapper<Contract> query = Wrappers.query();
+        query.select("count(*) count,ifnull(sum(amount),0) amount,sell_corporation_id sellCorporationId");
+        query.groupBy("sell_corporation_id");
+        query.eq("status",30);
+        List<Contract> contractList = baseMapper.selectList(query);
+
+        //计算合计数量
+        Integer countAmount = contractList.stream().map(Contract::getCount).reduce(Integer::sum).orElse(0);
+        //计算合计金额
+        BigDecimal amount = contractList.stream().map(Contract::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
+        map.put("countAmount",countAmount);
+        map.put("amount",amount);
+
+        //赋值归属公司名称
+        DynamicDataSourceContextHolder.push(SourceConstant.COMMON);
+        corporationService.attributeAssign(contractList, Contract::getSellCorporationId, (item, corporation) -> {
+            item.setSellCorporationName(corporation.getName());
+        });
+        DynamicDataSourceContextHolder.poll();
+
+        //过滤掉卖方公司为null的数据(因为如果归属公司为null说明服务合同表的是没有数据)
+        contractList = contractList.stream().filter(serviceContract -> ObjectUtil
+                .isNotEmpty(serviceContract.getSellCorporationId())).collect(Collectors.toList());
+
+        map.put("serviceContractList",contractList);
+        return map;
+    }
+
 
     /**
      * 赋值外销合同信息

+ 6 - 0
hx-sale/src/main/java/com/fjhx/sale/service/serviceContract/ServiceContractService.java

@@ -7,6 +7,8 @@ import com.fjhx.sale.entity.serviceContract.vo.ServiceContractVo;
 import com.fjhx.sale.entity.serviceContract.dto.ServiceContractSelectDto;
 import com.fjhx.sale.entity.serviceContract.dto.ServiceContractDto;
 
+import java.util.Map;
+
 
 /**
  * <p>
@@ -43,4 +45,8 @@ public interface ServiceContractService extends BaseService<ServiceContract> {
      */
     void delete(Long id);
 
+    /**
+     * 服务合同统计(根据归属公司)
+     */
+    Map<String, Object> serviceContractStatistics(ServiceContractDto serviceContractDto);
 }

+ 61 - 0
hx-sale/src/main/java/com/fjhx/sale/service/serviceContract/impl/ServiceContractServiceImpl.java

@@ -2,10 +2,14 @@ package com.fjhx.sale.service.serviceContract.impl;
 
 import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.util.ObjectUtil;
+import com.baomidou.dynamic.datasource.toolkit.DynamicDataSourceContextHolder;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.fjhx.common.constant.SourceConstant;
+import com.fjhx.common.service.corporation.CorporationService;
 import com.fjhx.sale.entity.serviceContract.dto.ServiceContractDto;
 import com.fjhx.sale.entity.serviceContract.dto.ServiceContractSelectDto;
 import com.fjhx.sale.entity.serviceContract.po.ServiceContract;
@@ -21,7 +25,11 @@ import com.ruoyi.system.utils.UserUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.math.BigDecimal;
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
 
 
 /**
@@ -41,6 +49,8 @@ public class ServiceContractServiceImpl extends ServiceImpl<ServiceContractMappe
     @Autowired
     private ServiceContractPayService serviceContractPayService;
 
+    @Autowired
+    private CorporationService corporationService;
     /**
      * 服务合同表分页
      */
@@ -48,8 +58,24 @@ public class ServiceContractServiceImpl extends ServiceImpl<ServiceContractMappe
     public Page<ServiceContractVo> getPage(ServiceContractSelectDto dto) {
         QueryWrapper<Object> query = Wrappers.query();
         query.orderByDesc("sc.create_time");
+        //审批状态
         query.eq(ObjectUtil.isNotEmpty(dto.getStatus()),"sc.status",dto.getStatus());
+        //服务状态
         query.eq(ObjectUtil.isNotEmpty(dto.getServiceStatus()),"cc.status",dto.getServiceStatus());
+        //归属公司查询
+        query.eq(ObjectUtil.isNotEmpty(dto.getSellCorporationId()),"sc.sell_corporation_id",dto.getSellCorporationId());
+        //客户查询
+        query.eq(ObjectUtil.isNotEmpty(dto.getBuyCorporationId()),"sc.buy_corporation_id",dto.getBuyCorporationId());
+        //合同编码查询
+        query.eq(ObjectUtil.isNotEmpty(dto.getCode()),"sc.code",dto.getCode());
+        //合同金额
+        query.ge(ObjectUtil.isNotEmpty(dto.getBeginAmount()),"sc.amount",dto.getEndAmount());
+        query.le(ObjectUtil.isNotEmpty(dto.getEndAmount()),"sc.amount",dto.getEndAmount());
+        //下单时间
+        query.ge(ObjectUtil.isNotEmpty(dto.getBeginTime()),"sc.create_time",dto.getBeginAmount());
+        query.ge(ObjectUtil.isNotEmpty(dto.getEndTime()),"sc.create_time",dto.getEndTime());
+
+        //查询服务合同列表
         Page<ServiceContractVo> page = this.baseMapper.getPage(dto.getPage(), query);
         List<ServiceContractVo> records = page.getRecords();
         //赋值用户名称
@@ -94,4 +120,39 @@ public class ServiceContractServiceImpl extends ServiceImpl<ServiceContractMappe
         this.removeById(id);
     }
 
+    /**
+     * 服务合同统计(根据归属公司统计)
+     */
+    @Override
+    public Map<String, Object> serviceContractStatistics(ServiceContractDto serviceContractDto) {
+        Map<String, Object> map = new HashMap<>();
+
+        QueryWrapper<ServiceContract> query = Wrappers.query();
+        query.select("count(*) count,ifnull(sum(amount),0) amount,sell_corporation_id sellCorporationId");
+        query.groupBy("sell_corporation_id");
+        query.eq("status",30);
+        List<ServiceContract> serviceContractList = baseMapper.selectList(query);
+
+        //计算合计数量
+        Integer countAmount = serviceContractList.stream().map(ServiceContract::getCount).reduce(Integer::sum).orElse(0);
+        //计算合计金额
+        BigDecimal amount = serviceContractList.stream().map(ServiceContract::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
+        map.put("countAmount",countAmount);
+        map.put("amount",amount);
+
+        //赋值归属公司名称
+        DynamicDataSourceContextHolder.push(SourceConstant.COMMON);
+        corporationService.attributeAssign(serviceContractList, ServiceContract::getSellCorporationId, (item, corporation) -> {
+            item.setSellCorporationName(corporation.getName());
+        });
+        DynamicDataSourceContextHolder.poll();
+
+        //过滤掉卖方公司为null的数据(因为如果归属公司为null说明服务合同表的是没有数据)
+        serviceContractList = serviceContractList.stream().filter(serviceContract -> ObjectUtil
+                .isNotEmpty(serviceContract.getSellCorporationId())).collect(Collectors.toList());
+
+        map.put("serviceContractList",serviceContractList);
+        return map;
+    }
+
 }

Nem az összes módosított fájl került megjelenítésre, mert túl sok fájl változott