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

添加了产品看板

wxf 2 éve
szülő
commit
c0751c644c

+ 11 - 11
code/src/test/java/DingDingDataSource.java

@@ -2,16 +2,16 @@ import fly.generator.GeneratorApplication;
 
 
 public class DingDingDataSource {
 public class DingDingDataSource {
 
 
-    public static void main(String[] args) {
-        GeneratorApplication.builder()
-                .url("jdbc:mysql://36.134.91.96:17330/bytesailing_dingding?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&nullCatalogMeansCurrent=true")
-                .username("fjhx2012mysql")
-                .password("3PN-Mzn#vnP&q6d")
-                .port(9989)
-                .module("hx-dingding")
-                .parent("com.fjhx.dingding")
-                .superServiceClass("com.ruoyi.common.core.service.BaseService")
-                .build();
-    }
+//    public static void main(String[] args) {
+//        GeneratorApplication.builder()
+//                .url("jdbc:mysql://36.134.91.96:17330/bytesailing_dingding?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&nullCatalogMeansCurrent=true")
+//                .username("fjhx2012mysql")
+//                .password("3PN-Mzn#vnP&q6d")
+//                .port(9989)
+//                .module("hx-dingding")
+//                .parent("com.fjhx.dingding")
+//                .superServiceClass("com.ruoyi.common.core.service.BaseService")
+//                .build();
+//    }
 
 
 }
 }

+ 10 - 0
hx-account/src/main/java/com/fjhx/account/controller/account/AccountRunningWaterController.java

@@ -12,6 +12,8 @@ import com.ruoyi.common.core.domain.BaseSelectDto;
 import com.fjhx.account.service.account.AccountRunningWaterService;
 import com.fjhx.account.service.account.AccountRunningWaterService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
 
 
+import java.util.List;
+
 
 
 /**
 /**
  * <p>
  * <p>
@@ -69,4 +71,12 @@ public class AccountRunningWaterController {
         accountRunningWaterService.delete(dto.getId());
         accountRunningWaterService.delete(dto.getId());
     }
     }
 
 
+    /**
+     * 到账认领统计
+     */
+    @PostMapping("/claimStatistics")
+    public List<AccountRunningWater> claimStatistics(@RequestBody BaseSelectDto dto) {
+        return accountRunningWaterService.claimStatistics(dto);
+    }
+
 }
 }

+ 10 - 0
hx-account/src/main/java/com/fjhx/account/entity/account/dto/AccountRunningWaterSelectDto.java

@@ -60,4 +60,14 @@ public class AccountRunningWaterSelectDto extends BaseSelectDto {
      */
      */
     private BigDecimal endAmount;
     private BigDecimal endAmount;
 
 
+    /**
+     * 对方账户名称
+     */
+    private String name;
+
+    /**
+     * 备注
+     */
+    private String remarks;
+
 }
 }

+ 7 - 0
hx-account/src/main/java/com/fjhx/account/entity/account/po/AccountRunningWater.java

@@ -1,5 +1,6 @@
 package com.fjhx.account.entity.account.po;
 package com.fjhx.account.entity.account.po;
 
 
+import com.baomidou.mybatisplus.annotation.TableField;
 import com.ruoyi.common.core.domain.BasePo;
 import com.ruoyi.common.core.domain.BasePo;
 import com.baomidou.mybatisplus.annotation.TableName;
 import com.baomidou.mybatisplus.annotation.TableName;
 import java.math.BigDecimal;
 import java.math.BigDecimal;
@@ -87,4 +88,10 @@ public class AccountRunningWater extends BasePo {
      * 是否认领
      * 是否认领
      */
      */
     private Integer isClaim;
     private Integer isClaim;
+
+    /**
+     * 条数
+     */
+    @TableField(exist = false)
+    private Integer count;
 }
 }

+ 7 - 0
hx-account/src/main/java/com/fjhx/account/service/account/AccountRunningWaterService.java

@@ -1,12 +1,15 @@
 package com.fjhx.account.service.account;
 package com.fjhx.account.service.account;
 
 
 import com.fjhx.account.entity.account.po.AccountRunningWater;
 import com.fjhx.account.entity.account.po.AccountRunningWater;
+import com.ruoyi.common.core.domain.BaseSelectDto;
 import com.ruoyi.common.core.service.BaseService;
 import com.ruoyi.common.core.service.BaseService;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.fjhx.account.entity.account.vo.AccountRunningWaterVo;
 import com.fjhx.account.entity.account.vo.AccountRunningWaterVo;
 import com.fjhx.account.entity.account.dto.AccountRunningWaterSelectDto;
 import com.fjhx.account.entity.account.dto.AccountRunningWaterSelectDto;
 import com.fjhx.account.entity.account.dto.AccountRunningWaterDto;
 import com.fjhx.account.entity.account.dto.AccountRunningWaterDto;
 
 
+import java.util.List;
+
 
 
 /**
 /**
  * <p>
  * <p>
@@ -43,4 +46,8 @@ public interface AccountRunningWaterService extends BaseService<AccountRunningWa
      */
      */
     void delete(Long id);
     void delete(Long id);
 
 
+    /**
+     * 到账任领统计
+     */
+    List<AccountRunningWater> claimStatistics(BaseSelectDto dto);
 }
 }

+ 23 - 3
hx-account/src/main/java/com/fjhx/account/service/account/impl/AccountRunningWaterServiceImpl.java

@@ -11,6 +11,7 @@ import com.fjhx.account.service.account.AccountRunningWaterService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.obs.services.internal.ServiceException;
 import com.obs.services.internal.ServiceException;
 import com.ruoyi.common.annotation.TenantIgnore;
 import com.ruoyi.common.annotation.TenantIgnore;
+import com.ruoyi.common.core.domain.BaseSelectDto;
 import com.ruoyi.common.utils.StringUtils;
 import com.ruoyi.common.utils.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
@@ -22,6 +23,8 @@ import com.fjhx.account.entity.account.dto.AccountRunningWaterDto;
 import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.bean.BeanUtil;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.transaction.annotation.Transactional;
 
 
+import java.util.List;
+
 
 
 /**
 /**
  * <p>
  * <p>
@@ -57,9 +60,13 @@ public class AccountRunningWaterServiceImpl extends ServiceImpl<AccountRunningWa
         wrapper.ge(ObjectUtil.isNotEmpty(dto.getBeginTime()),"arw.create_time",dto.getBeginTime());
         wrapper.ge(ObjectUtil.isNotEmpty(dto.getBeginTime()),"arw.create_time",dto.getBeginTime());
         //交易结束金额
         //交易结束金额
         wrapper.ge(ObjectUtil.isNotEmpty(dto.getEndTime()),"arw.create_time",dto.getEndTime());
         wrapper.ge(ObjectUtil.isNotEmpty(dto.getEndTime()),"arw.create_time",dto.getEndTime());
-//        if (StringUtils.isNotEmpty(dto.getKeyword())) {
-//            wrapper.and(wrapper1 -> wrapper1.like("arw.remarks", dto.getKeyword()).or().like("arw.name", dto.getKeyword()));
-//        }
+        //对方账户名称
+        wrapper.ge(ObjectUtil.isNotEmpty(dto.getName()),"arw.name",dto.getName());
+        //摘要
+        wrapper.ge(ObjectUtil.isNotEmpty(dto.getRemarks()),"arw.name",dto.getRemarks());
+        if (StringUtils.isNotEmpty(dto.getKeyword())) {
+            wrapper.and(wrapper1 -> wrapper1.like("arw.remarks", dto.getKeyword()).or().like("arw.name", dto.getKeyword()));
+        }
         if(ObjectUtil.isNotEmpty(dto.getDataType())&&dto.getDataType()==1){//到账认领数据
         if(ObjectUtil.isNotEmpty(dto.getDataType())&&dto.getDataType()==1){//到账认领数据
             wrapper.eq("arw.received",10);
             wrapper.eq("arw.received",10);
             wrapper.orderByDesc("arw.is_claim","arw.create_time");
             wrapper.orderByDesc("arw.is_claim","arw.create_time");
@@ -131,4 +138,17 @@ public class AccountRunningWaterServiceImpl extends ServiceImpl<AccountRunningWa
         this.removeById(id);
         this.removeById(id);
     }
     }
 
 
+    /**
+     * 到账任领统计
+     */
+    @Override
+    public List<AccountRunningWater> claimStatistics(BaseSelectDto dto) {
+        QueryWrapper<AccountRunningWater> query = Wrappers.query();
+        query.groupBy("is_claim");
+        query.select("is_claim,count(*) count");
+       //到账认领统计
+       return baseMapper.selectList(query);
+
+    }
+
 }
 }

+ 5 - 1
hx-admin/src/main/resources/application-dev.yml

@@ -65,6 +65,10 @@ spring:
                     url: jdbc:mysql://36.134.91.96:17330/bytesailing_kd100?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=Asia/Shanghai
                     url: jdbc:mysql://36.134.91.96:17330/bytesailing_kd100?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=Asia/Shanghai
                     username: fjhx2012mysql
                     username: fjhx2012mysql
                     password: 3PN-Mzn#vnP&q6d
                     password: 3PN-Mzn#vnP&q6d
+#                dingding:
+#                    url: jdbc:mysql://36.134.91.96:17330/bytesailing_dingding?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=Asia/Shanghai
+#                    username: fjhx2012mysql
+#                    password: 3PN-Mzn#vnP&q6d
                 ehsd:
                 ehsd:
                     url: jdbc:mysql://36.134.91.96:17330/bytesailing_ehsd?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=Asia/Shanghai
                     url: jdbc:mysql://36.134.91.96:17330/bytesailing_ehsd?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=Asia/Shanghai
                     username: fjhx2012mysql
                     username: fjhx2012mysql
@@ -116,4 +120,4 @@ token:
     # 令牌密钥
     # 令牌密钥
     secret: abcdefghijklmnopqrstuvwxyz
     secret: abcdefghijklmnopqrstuvwxyz
     # 令牌有效期(默认30分钟)
     # 令牌有效期(默认30分钟)
-    expireTime: 2880
+    expireTime: 2880

+ 1 - 1
hx-customer/src/main/resources/mapper/customer/CustomerMapper.xml

@@ -2,7 +2,7 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.fjhx.customer.mapper.customer.CustomerMapper">
 <mapper namespace="com.fjhx.customer.mapper.customer.CustomerMapper">
     <update id="customerAllocation">
     <update id="customerAllocation">
-        update customer set user_id = #{userId} where id = #{id}
+        update customer set user_id = #{userId},update_time = now() where id = #{id}
     </update>
     </update>
     <select id="getList" resultType="com.fjhx.customer.entity.customer.vo.CustomerVo">
     <select id="getList" resultType="com.fjhx.customer.entity.customer.vo.CustomerVo">
         select
         select

+ 9 - 0
hx-supply/src/main/java/com/fjhx/supply/controller/supplier/SupplierInfoController.java

@@ -14,6 +14,8 @@ import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 import org.springframework.web.bind.annotation.RestController;
 
 
+import java.util.Map;
+
 
 
 /**
 /**
  * <p>
  * <p>
@@ -84,4 +86,11 @@ public class SupplierInfoController {
         supplierInfoService.delete(dto.getId());
         supplierInfoService.delete(dto.getId());
     }
     }
 
 
+    /**
+     * 供应商统计(列表)
+     */
+    @PostMapping("/supplierStatistics")
+    public Map<String,Object> supplierStatistics(@RequestBody BaseSelectDto dto) {
+        return supplierInfoService.supplierStatistics(dto);
+    }
 }
 }

+ 25 - 0
hx-supply/src/main/java/com/fjhx/supply/entity/supplier/dto/SupplierInfoSelectDto.java

@@ -24,4 +24,29 @@ public class SupplierInfoSelectDto extends BaseSelectDto {
      */
      */
     private Integer accountPeriodType;
     private Integer accountPeriodType;
 
 
+
+    /**
+     * 供应商编码
+     */
+    private String code;
+
+    /**
+     * 供应商名称
+     */
+    private String name;
+
+    /**
+     * 国家id
+     */
+    private Long countryId;
+
+    /**
+     * 省id
+     */
+    private Long provinceId;
+
+    /**
+     * 市id
+     */
+    private Long cityId;
 }
 }

+ 5 - 0
hx-supply/src/main/java/com/fjhx/supply/entity/supplier/po/SupplierInfo.java

@@ -103,6 +103,11 @@ public class SupplierInfo extends BasePo {
      */
      */
     private String accountPeriodRemark;
     private String accountPeriodRemark;
 
 
+    /**
+     * 个数
+     */
+    private Integer count;
+
 
 
 
 
 }
 }

+ 8 - 1
hx-supply/src/main/java/com/fjhx/supply/service/supplier/SupplierInfoService.java

@@ -5,15 +5,18 @@ import com.fjhx.supply.entity.supplier.dto.SupplierInfoDto;
 import com.fjhx.supply.entity.supplier.dto.SupplierInfoSelectDto;
 import com.fjhx.supply.entity.supplier.dto.SupplierInfoSelectDto;
 import com.fjhx.supply.entity.supplier.po.SupplierInfo;
 import com.fjhx.supply.entity.supplier.po.SupplierInfo;
 import com.fjhx.supply.entity.supplier.vo.SupplierInfoVo;
 import com.fjhx.supply.entity.supplier.vo.SupplierInfoVo;
+import com.ruoyi.common.core.domain.BaseSelectDto;
 import com.ruoyi.common.core.service.BaseService;
 import com.ruoyi.common.core.service.BaseService;
 
 
+import java.util.Map;
+
 
 
 /**
 /**
  * <p>
  * <p>
  * 供应商 服务类
  * 供应商 服务类
  * </p>
  * </p>
  *
  *
- * @author 
+ * @author
  * @since 2023-03-17
  * @since 2023-03-17
  */
  */
 public interface SupplierInfoService extends BaseService<SupplierInfo> {
 public interface SupplierInfoService extends BaseService<SupplierInfo> {
@@ -52,4 +55,8 @@ public interface SupplierInfoService extends BaseService<SupplierInfo> {
      */
      */
     void delete(Long id);
     void delete(Long id);
 
 
+    /**
+     * 供应商统计
+     */
+    Map<String, Object> supplierStatistics(BaseSelectDto dto);
 }
 }

+ 80 - 0
hx-supply/src/main/java/com/fjhx/supply/service/supplier/impl/SupplierInfoServiceImpl.java

@@ -1,10 +1,15 @@
 package com.fjhx.supply.service.supplier.impl;
 package com.fjhx.supply.service.supplier.impl;
 
 
 import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.collection.ListUtil;
+import cn.hutool.core.stream.CollectorUtil;
 import cn.hutool.core.util.ObjectUtil;
 import cn.hutool.core.util.ObjectUtil;
 import com.alibaba.fastjson.JSONObject;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.dynamic.datasource.annotation.DS;
 import com.baomidou.dynamic.datasource.annotation.DS;
 import com.baomidou.dynamic.datasource.annotation.DSTransactional;
 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.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.fjhx.area.utils.CustomizeAreaUtil;
 import com.fjhx.area.utils.CustomizeAreaUtil;
@@ -17,11 +22,22 @@ import com.fjhx.supply.entity.supplier.vo.SupplierInfoVo;
 import com.fjhx.supply.mapper.supplier.SupplierInfoMapper;
 import com.fjhx.supply.mapper.supplier.SupplierInfoMapper;
 import com.fjhx.supply.service.supplier.SupplierInfoService;
 import com.fjhx.supply.service.supplier.SupplierInfoService;
 import com.fjhx.supply.utils.CodeEnum;
 import com.fjhx.supply.utils.CodeEnum;
+import com.fjhx.tenant.entity.dict.dto.DictTenantDataSelectDto;
+import com.fjhx.tenant.entity.dict.vo.DictTenantDataVo;
+import com.fjhx.tenant.service.dict.DictTenantDataService;
+import com.obs.services.internal.ServiceException;
+import com.ruoyi.common.core.domain.BaseSelectDto;
 import com.ruoyi.common.utils.wrapper.IWrapper;
 import com.ruoyi.common.utils.wrapper.IWrapper;
 import com.ruoyi.common.utils.wrapper.SqlField;
 import com.ruoyi.common.utils.wrapper.SqlField;
+import org.apache.commons.collections4.ListUtils;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
 
 
+import java.util.ArrayList;
+import java.util.HashMap;
 import java.util.List;
 import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
 
 
 
 
 /**
 /**
@@ -36,11 +52,19 @@ import java.util.List;
 @Service
 @Service
 public class SupplierInfoServiceImpl extends ServiceImpl<SupplierInfoMapper, SupplierInfo> implements SupplierInfoService {
 public class SupplierInfoServiceImpl extends ServiceImpl<SupplierInfoMapper, SupplierInfo> implements SupplierInfoService {
 
 
+    @Autowired
+    private DictTenantDataService dictTenantDataService;
+
     @Override
     @Override
     public Page<SupplierInfoVo> getPage(SupplierInfoSelectDto dto) {
     public Page<SupplierInfoVo> getPage(SupplierInfoSelectDto dto) {
         IWrapper<SupplierInfo> wrapper = getWrapper();
         IWrapper<SupplierInfo> wrapper = getWrapper();
         wrapper.orderByDesc("si", SupplierInfo::getId);
         wrapper.orderByDesc("si", SupplierInfo::getId);
         wrapper.eq("si", SupplierInfo::getType, dto.getType());
         wrapper.eq("si", SupplierInfo::getType, dto.getType());
+        wrapper.like("si",SupplierInfo::getCode,dto.getCode());
+        wrapper.like("si",SupplierInfo::getName,dto.getName());
+        wrapper.eq("si",SupplierInfo::getCountryId,dto.getCountryId());
+        wrapper.eq("si",SupplierInfo::getProvinceId,dto.getProvinceId());
+        wrapper.eq("si",SupplierInfo::getCityId,dto.getCityId());
         wrapper.keyword(dto,
         wrapper.keyword(dto,
                 new SqlField("si", SupplierInfo::getName),
                 new SqlField("si", SupplierInfo::getName),
                 new SqlField("si", SupplierInfo::getCode)
                 new SqlField("si", SupplierInfo::getCode)
@@ -137,4 +161,60 @@ public class SupplierInfoServiceImpl extends ServiceImpl<SupplierInfoMapper, Sup
         ObsFileUtil.removeFile(id);
         ObsFileUtil.removeFile(id);
     }
     }
 
 
+    /**
+     * 供应商统计
+     */
+    @Override
+    public Map<String, Object> supplierStatistics(BaseSelectDto dto) {
+        //存放供应商统计数据
+        Map<String,Object> map = new HashMap<>();
+        //存放供应商类型数据列表
+        List<Map<String,Object>> list = new ArrayList<>();
+
+        QueryWrapper<SupplierInfo> query = Wrappers.query();
+        //为-1则说明没有查到供应商的数据(如果为null的话后面list转map报错)
+        query.select("ifnull(type,-1) type,count(*) count");
+        query.groupBy("type");
+        //查询供应商统计
+        List<SupplierInfo> supplierInfoList = baseMapper.selectList(query);
+        Map<String, List<SupplierInfo>> supplierInfoMap = supplierInfoList.stream().collect(Collectors.groupingBy(SupplierInfo::getType));
+
+        //赋值合计数据
+        Integer amount = supplierInfoList.stream().map(SupplierInfo::getCount).reduce(Integer::sum).orElse(0);
+        map.put("amount",amount);
+
+        //切换数据源
+        DynamicDataSourceContextHolder.push(SourceConstant.BASE);
+        //获取供应商类型字典数据
+        List<DictTenantDataVo> dictTenantDataVoList = getDict("supplier_type");
+        DynamicDataSourceContextHolder.poll();
+
+        if (ObjectUtil.isEmpty(dictTenantDataVoList)){
+            throw new ServiceException("数据有误:没有配置供应商类型字典,请先配置");
+        }
+
+        //赋值
+        for (DictTenantDataVo dictTenantDataVo : dictTenantDataVoList) {
+            //设置初始值
+            Map<String,Object> supplierMap = new HashMap<>();
+            supplierMap.put("type",dictTenantDataVo.getDictValue());
+            supplierMap.put("count",0);
+
+            //赋值数量
+            List<SupplierInfo> supplierInfos = supplierInfoMap.get(dictTenantDataVo.getDictKey());
+            if (ObjectUtil.isNotEmpty(supplierInfos)){
+                supplierMap.put("count",supplierInfos.get(0).getCount());
+            }
+            list.add(supplierMap);
+        }
+        map.put("supplierInfoList",list);
+        return map;
+    }
+
+    //根据字典编码获取字典的数据
+    private List<DictTenantDataVo> getDict(String code){
+        DictTenantDataSelectDto dto = new DictTenantDataSelectDto();
+        dto.setDictCode(code);
+        return dictTenantDataService.getList(dto);
+    }
 }
 }