Parcourir la source

添加工作统计接口

yzc il y a 1 an
Parent
commit
076a66d396
23 fichiers modifiés avec 197 ajouts et 668 suppressions
  1. 4 0
      hx-admin/pom.xml
  2. 0 36
      hx-data/src/main/java/com/fjhx/data/controller/BaseController.java
  3. 0 52
      hx-data/src/main/java/com/fjhx/data/entity/classify/ProductClassify.java
  4. 0 17
      hx-data/src/main/java/com/fjhx/data/entity/t/dto/TErpProductDto.java
  5. 0 17
      hx-data/src/main/java/com/fjhx/data/entity/t/dto/TErpProductSelectDto.java
  6. 0 262
      hx-data/src/main/java/com/fjhx/data/entity/t/po/TErpProduct.java
  7. 0 17
      hx-data/src/main/java/com/fjhx/data/entity/t/vo/TErpProductVo.java
  8. 0 16
      hx-data/src/main/java/com/fjhx/data/mapper/classify/ProductClassifyMapper.java
  9. 0 25
      hx-data/src/main/java/com/fjhx/data/mapper/t/TErpProductMapper.java
  10. 0 19
      hx-data/src/main/java/com/fjhx/data/service/classify/ProductClassifyService.java
  11. 0 74
      hx-data/src/main/java/com/fjhx/data/service/classify/impl/ProductClassifyServiceImpl.java
  12. 0 16
      hx-data/src/main/java/com/fjhx/data/service/t/TErpProductService.java
  13. 0 92
      hx-data/src/main/java/com/fjhx/data/service/t/impl/TErpProductServiceImpl.java
  14. 0 5
      hx-data/src/main/resources/mapper/classify/ProductClassifyMapper.xml
  15. 0 10
      hx-data/src/main/resources/mapper/t/TErpProductMapper.xml
  16. 15 3
      hx-from/pom.xml
  17. 29 0
      hx-from/src/main/java/com/fjhx/from/controller/StatisticsController.java
  18. 11 0
      hx-from/src/main/java/com/fjhx/from/service/StatisticsService.java
  19. 127 0
      hx-from/src/main/java/com/fjhx/from/service/impl/StatisticsServiceImpl.java
  20. 3 3
      hx-sale/src/main/java/com/fjhx/sale/flow/EhsdPurchaseFlow.java
  21. 2 0
      hx-sale/src/main/java/com/fjhx/sale/mapper/contract/ContractProductMapper.java
  22. 4 2
      hx-sale/src/main/java/com/fjhx/sale/mapper/sample/SampleMapper.java
  23. 2 2
      pom.xml

+ 4 - 0
hx-admin/pom.xml

@@ -93,6 +93,10 @@
             <groupId>com.fjhx</groupId>
             <artifactId>hx-jxst</artifactId>
         </dependency>
+        <dependency>
+            <groupId>com.fjhx</groupId>
+            <artifactId>hx-from</artifactId>
+        </dependency>
 
         <dependency>
             <groupId>org.springframework.boot</groupId>

+ 0 - 36
hx-data/src/main/java/com/fjhx/data/controller/BaseController.java

@@ -1,36 +0,0 @@
-package com.fjhx.data.controller;
-
-import com.baomidou.dynamic.datasource.annotation.DS;
-import com.fjhx.common.constant.SourceConstant;
-import com.fjhx.data.service.t.TErpProductService;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-
-
-/**
- * <p>
- * 产品信息表 前端控制器
- * </p>
- *
- * @author 
- * @since 2023-05-06
- */
-@DS(SourceConstant.DATA)
-@RestController
-@RequestMapping("/base/transfer")
-public class BaseController {
-
-    @Autowired
-    private TErpProductService tErpProductService;
-
-    /**
-     * 产品数据传输
-     */
-    @GetMapping("/transferProduct")
-    public void transferProduct() {
-        tErpProductService.transferProduct();
-    }
-
-}

+ 0 - 52
hx-data/src/main/java/com/fjhx/data/entity/classify/ProductClassify.java

@@ -1,52 +0,0 @@
-package com.fjhx.data.entity.classify;
-
-import com.baomidou.mybatisplus.annotation.TableName;
-import com.ruoyi.common.core.domain.BasePo;
-import lombok.Getter;
-import lombok.Setter;
-
-import javax.validation.constraints.NotNull;
-
-/**
- * <p>
- * 产品分类
- * </p>
- *
- * @author zlj
- * @since 2023-03-15
- */
-@Getter
-@Setter
-@TableName("product_classify")
-public class ProductClassify extends BasePo {
-
-    /**
-     * 定义 1产品 2物料
-     */
-    @NotNull(message = "定义不能为空")
-    private Integer definition;
-
-    /**
-     * 父级分类id
-     */
-    private Long parentId;
-
-    /**
-     * 父级分类id集合,用,拼接
-     */
-    private String parentIdSet;
-
-    /**
-     * 分类名称
-     */
-    private String name;
-
-    private String yunfanParentId;
-
-    private String yunfanId;
-
-    private String cu;
-
-    private String uu;
-
-}

+ 0 - 17
hx-data/src/main/java/com/fjhx/data/entity/t/dto/TErpProductDto.java

@@ -1,17 +0,0 @@
-package com.fjhx.data.entity.t.dto;
-
-import com.fjhx.data.entity.t.po.TErpProduct;
-import lombok.Getter;
-import lombok.Setter;
-
-/**
- * 产品信息表新增编辑入参实体
- *
- * @author 
- * @since 2023-05-06
- */
-@Getter
-@Setter
-public class TErpProductDto extends TErpProduct {
-
-}

+ 0 - 17
hx-data/src/main/java/com/fjhx/data/entity/t/dto/TErpProductSelectDto.java

@@ -1,17 +0,0 @@
-package com.fjhx.data.entity.t.dto;
-
-import com.ruoyi.common.core.domain.BaseSelectDto;
-import lombok.Getter;
-import lombok.Setter;
-
-/**
- * 产品信息表列表查询入参实体
- *
- * @author 
- * @since 2023-05-06
- */
-@Getter
-@Setter
-public class TErpProductSelectDto extends BaseSelectDto {
-
-}

+ 0 - 262
hx-data/src/main/java/com/fjhx/data/entity/t/po/TErpProduct.java

@@ -1,262 +0,0 @@
-package com.fjhx.data.entity.t.po;
-
-import lombok.Getter;
-import lombok.Setter;
-
-import java.math.BigDecimal;
-import java.util.Date;
-
-/**
- * <p>
- * 产品信息表
- * </p>
- *
- * @author 
- * @since 2023-05-06
- */
-@Getter
-@Setter
-public class TErpProduct {
-
-    private String id;
-    /**
-     * 产品分类id
-     */
-    private String categoryId;
-
-    /**
-     * (外贸)合同ID(新增客户产品时有值)
-     */
-    private String contractId;
-
-    /**
-     * 产品编码
-     */
-    private String code;
-
-    /**
-     * 产品代码
-     */
-    private String dmCode;
-
-    /**
-     * 产品名称(中文)
-     */
-    private String nameChinese;
-
-    /**
-     * (外贸)产品名称(英文)
-     */
-    private String nameEnglish;
-
-    /**
-     * (外贸)产品销售指导价
-     */
-    private BigDecimal price;
-
-    /**
-     * (外贸)产品成本价
-     */
-    private BigDecimal costPrice;
-
-    /**
-     * 【作废】样品销售指导价
-     */
-    private BigDecimal samplePrice;
-
-    /**
-     * (外贸)材质(英文)
-     */
-    private String material;
-
-    /**
-     * 材质(中文)
-     */
-    private String materialChinese;
-
-    /**
-     * (外贸)产品型号(英文)
-     */
-    private String productModel;
-
-    /**
-     * 产品型号(中文)
-     */
-    private String productModelChinese;
-
-    /**
-     * 产品尺寸:长(单位cm)
-     */
-    private Object productLong;
-
-    /**
-     * 产品尺寸:宽(单位cm)
-     */
-    private Object productWide;
-
-    /**
-     * 产品尺寸:高(单位cm)
-     */
-    private Object productHigh;
-
-    /**
-     * 装箱尺寸:长(单位cm)
-     */
-    private Object packagLong;
-
-    /**
-     * 装箱尺寸:宽(单位cm)
-     */
-    private Object packagWide;
-
-    /**
-     * 装箱尺寸:高(单位cm)
-     */
-    private Object packagHigh;
-
-    /**
-     * (外贸)内包装方式,多个逗号隔开(字典表key)
-     */
-    private String innerPackMethod;
-
-    /**
-     * (外贸)外包装方式(字典表key)
-     */
-    private String outerPackMethod;
-
-    /**
-     * 净重(单位g)
-     */
-    private Object netWeight;
-
-    /**
-     * 毛重(单位g)
-     */
-    private Object grossWeight;
-
-    /**
-     * (外贸)海关编码
-     */
-    private String customsCode;
-
-    /**
-     * 采购/销售单位
-     */
-    private String unit;
-
-    /**
-     * (云仓)出入库单位
-     */
-    private String issueReceiptUnit;
-
-    /**
-     * (云仓)换算比例:1采购单位/1出入库单位
-     */
-    private Object conversionScale;
-
-    /**
-     * (云仓)安全库存
-     */
-    private BigDecimal safetyStock;
-
-    /**
-     * (云仓)采购周期(单位:天)
-     */
-    private Integer procurementCycle;
-
-    /**
-     * (云仓)质检合格率
-     */
-    private BigDecimal qualityQualifiedRate;
-
-    /**
-     * (云仓)出入库规则:0、不启用;1、一物一码;2、一物一码&先入先出
-     */
-    private Boolean firstInFirstOut;
-
-    /**
-     * 【作废】样品订货交付时间(单位:天)
-     */
-    private Integer sampleDeliverTime;
-
-    /**
-     * (外贸)MOQ(最低订购量)
-     */
-    private Integer moq;
-
-    /**
-     * 【作废】入箱数量
-     */
-    private String theBoxQuantity;
-
-    /**
-     * 产品描述
-     */
-    private String remark;
-
-    /**
-     * 客户id,0:公司产品
-     */
-    private String customerId;
-
-    /**
-     * 状态:0、启用;1、禁用
-     */
-    private Integer status;
-
-    /**
-     * 评估状态,0:草稿、1:待评估、2:待确认、3:具备、4:不具备
-     */
-    private Integer assessStatus;
-
-    /**
-     * 数据来源,0:产品知识库新增、1:产品评估新增、2:定制产品库移入
-     */
-    private Integer source;
-
-    /**
-     * 生产评估审核通过时间
-     */
-    private Date approvedDate;
-
-    /**
-     * 流程id
-     */
-    private String processInstanceId;
-
-    /**
-     * 下个节点名称
-     */
-    private String processInstanceName;
-
-    /**
-     * 下个节点处理人id
-     */
-    private String processInstanceUserId;
-
-    /**
-     * 下个节点处理人名称
-     */
-    private String processInstanceUserName;
-
-    private String yfTenantId;
-
-
-    private String createUser;
-
-    /**
-     * 创建时间
-     */
-    private Date createTime;
-
-    /**
-     * 更新人
-     */
-    private String updateUser;
-
-    /**
-     * 更新时间
-     */
-    private Date updateTime;
-
-}

+ 0 - 17
hx-data/src/main/java/com/fjhx/data/entity/t/vo/TErpProductVo.java

@@ -1,17 +0,0 @@
-package com.fjhx.data.entity.t.vo;
-
-import com.fjhx.data.entity.t.po.TErpProduct;
-import lombok.Getter;
-import lombok.Setter;
-
-/**
- * 产品信息表列表查询返回值实体
- *
- * @author 
- * @since 2023-05-06
- */
-@Getter
-@Setter
-public class TErpProductVo extends TErpProduct {
-
-}

+ 0 - 16
hx-data/src/main/java/com/fjhx/data/mapper/classify/ProductClassifyMapper.java

@@ -1,16 +0,0 @@
-package com.fjhx.data.mapper.classify;
-
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.fjhx.data.entity.classify.ProductClassify;
-
-/**
- * <p>
- * 产品分类 Mapper 接口
- * </p>
- *
- * @author zlj
- * @since 2023-03-15
- */
-public interface ProductClassifyMapper extends BaseMapper<ProductClassify> {
-
-}

+ 0 - 25
hx-data/src/main/java/com/fjhx/data/mapper/t/TErpProductMapper.java

@@ -1,25 +0,0 @@
-package com.fjhx.data.mapper.t;
-
-import com.fjhx.data.entity.t.po.TErpProduct;
-import com.ruoyi.common.annotation.TenantIgnore;
-
-import java.util.List;
-
-
-/**
- * <p>
- * 产品信息表 Mapper 接口
- * </p>
- *
- * @author 
- * @since 2023-05-06
- */
-public interface TErpProductMapper {
-
-    /**
-     * 产品信息表分页
-     */
-    @TenantIgnore
-    List<TErpProduct> getList();
-
-}

+ 0 - 19
hx-data/src/main/java/com/fjhx/data/service/classify/ProductClassifyService.java

@@ -1,19 +0,0 @@
-package com.fjhx.data.service.classify;
-
-import com.fjhx.data.entity.classify.ProductClassify;
-import com.ruoyi.common.core.service.BaseService;
-
-
-/**
- * <p>
- * 产品分类 服务类
- * </p>
- *
- * @author zlj
- * @since 2023-03-15
- */
-public interface ProductClassifyService extends BaseService<ProductClassify> {
-
-    void transferClass();
-
-}

+ 0 - 74
hx-data/src/main/java/com/fjhx/data/service/classify/impl/ProductClassifyServiceImpl.java

@@ -1,74 +0,0 @@
-package com.fjhx.data.service.classify.impl;
-
-import com.baomidou.dynamic.datasource.annotation.DS;
-import com.baomidou.mybatisplus.core.toolkit.Wrappers;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.fjhx.common.constant.SourceConstant;
-import com.fjhx.data.entity.classify.ProductClassify;
-import com.fjhx.data.mapper.classify.ProductClassifyMapper;
-import com.fjhx.data.service.classify.ProductClassifyService;
-import com.ruoyi.common.core.domain.entity.SysUser;
-import com.ruoyi.common.utils.StringUtils;
-import com.ruoyi.system.service.ISysUserService;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-
-import java.util.Arrays;
-import java.util.List;
-import java.util.Map;
-import java.util.stream.Collectors;
-
-
-/**
- * <p>
- * 产品分类 服务实现类
- * </p>
- *
- * @author zlj
- * @since 2023-03-15
- */
-@DS(SourceConstant.DATA)
-@Service
-public class ProductClassifyServiceImpl extends ServiceImpl<ProductClassifyMapper, ProductClassify> implements ProductClassifyService {
-
-    @Autowired
-    private ISysUserService iSysUserService;
-
-    /**
-     * 分类数据传输
-     */
-    @Override
-    public void transferClass() {
-        List<ProductClassify> list = this.list();
-        Map<String,Long> map = list.stream().distinct().collect(Collectors.toMap(ProductClassify::getYunfanId,ProductClassify::getId));
-//        List<SysUser> userList = iSysUserService.list(Wrappers.<SysUser>query().lambda().isNotNull(SysUser::getYfUserId));
-//        Map<String,Long> userMap = userList.stream().distinct().collect(Collectors.toMap(SysUser::getYfUserId,SysUser::getUserId));
-        for(ProductClassify p : list){
-            if(StringUtils.equals(p.getYunfanParentId(),"0")){
-                p.setParentId(0L);
-            }else{
-                p.setParentId(map.get(p.getYunfanParentId()));
-            }
-            if(StringUtils.isNotEmpty(p.getParentIdSet())){
-                List<String> strList = Arrays.asList(p.getParentIdSet().split(","));
-                for(String s : strList){
-                    StringBuilder stringBuilder = new StringBuilder();
-                    if(s.equals("0")){
-                        stringBuilder.append("0");
-                    }else{
-                        stringBuilder.append(map.get(s));
-                    }
-                    p.setParentIdSet(stringBuilder.toString());
-                }
-            }
-//            if(StringUtils.isNotEmpty(p.getCu())){
-//                p.setCreateUser(userMap.get(p.getCu()));
-//            }
-//            if(StringUtils.isNotEmpty(p.getUu())){
-//                p.setUpdateUser(userMap.get(p.getUu()));
-//            }
-        }
-        this.updateBatchById(list);
-    }
-
-}

+ 0 - 16
hx-data/src/main/java/com/fjhx/data/service/t/TErpProductService.java

@@ -1,16 +0,0 @@
-package com.fjhx.data.service.t;
-
-
-/**
- * <p>
- * 产品信息表 服务类
- * </p>
- *
- * @author 
- * @since 2023-05-06
- */
-public interface TErpProductService{
-
-
-    void  transferProduct();
-}

+ 0 - 92
hx-data/src/main/java/com/fjhx/data/service/t/impl/TErpProductServiceImpl.java

@@ -1,92 +0,0 @@
-package com.fjhx.data.service.t.impl;
-
-import com.alibaba.fastjson.JSON;
-import com.fjhx.data.entity.t.po.TErpProduct;
-import com.fjhx.data.mapper.t.TErpProductMapper;
-import com.fjhx.data.service.t.TErpProductService;
-import com.fjhx.item.entity.product.po.ProductInfo;
-import com.fjhx.item.service.product.ProductClassifyService;
-import com.fjhx.item.service.product.ProductInfoService;
-import com.ruoyi.common.utils.StringUtils;
-import com.ruoyi.system.service.ISysUserService;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-
-/**
- * <p>
- * 产品信息表 服务实现类
- * </p>
- *
- * @author 
- * @since 2023-05-06
- */
-@Service
-public class TErpProductServiceImpl implements TErpProductService {
-
-    @Autowired
-    private ProductClassifyService productClassifyService;
-
-    @Autowired
-    private ProductInfoService productInfoService;
-
-    @Autowired
-    private ISysUserService iSysUserService;
-
-    @Autowired
-    private TErpProductMapper tErpProductMapper;
-
-
-    @Override
-    public void transferProduct() {
-        List<TErpProduct> list = tErpProductMapper.getList();
-//        List<ProductClassify> classifyList = productClassifyService.list();
-//        Map<String,Long> map = classifyList.stream().distinct().collect(Collectors.toMap(ProductClassify::getYunfanId,ProductClassify::getId));
-//        List<SysUser> userList = iSysUserService.list(Wrappers.<SysUser>query().lambda().isNotNull(SysUser::getYfUserId));
-//        Map<String,Long> userMap = userList.stream().distinct().collect(Collectors.toMap(SysUser::getYfUserId,SysUser::getUserId));
-        List<ProductInfo> productInfoList = new ArrayList<>();
-        for(TErpProduct p:list){
-            ProductInfo productInfo = new ProductInfo();
-            productInfo.setDefinition(1);
-//            productInfo.setProductClassifyId(map.getOrDefault(p.getCategoryId(),null));
-            productInfo.setCode(p.getCode());
-            productInfo.setCustomCode(p.getCustomsCode());
-            productInfo.setName(p.getNameChinese());
-            productInfo.setSpec(p.getProductModelChinese());
-            productInfo.setUnit(p.getUnit());
-            productInfo.setRemark(p.getRemark());
-//            productInfo.setYfId(p.getId());
-//            productInfo.setYfTenantId(p.getYfTenantId());
-            productInfo.setType("finish");
-            productInfo.setCreateTime(p.getCreateTime());
-            productInfo.setUpdateTime(p.getUpdateTime());
-//            if(ObjectUtils.isNotEmpty(p.getCreateUser())){
-//                productInfo.setCu(userMap.getOrDefault(p.getCreateUser(),null));
-//            }
-//            if(StringUtils.isNotEmpty(p.getUpdateUser())){
-//                productInfo.setUu(userMap.getOrDefault(p.getUpdateUser(),null));
-//            }
-            Map<String,Object> standard_json = new HashMap<>();
-            standard_json.put("englishName",p.getNameEnglish());
-            standard_json.put("code",p.getCode());
-            standard_json.put("netWeight",p.getNetWeight());
-            standard_json.put("customsCode",p.getCustomsCode());
-            productInfo.setStandardJson(JSON.toJSONString(standard_json));
-//            Map<String,Object> ehsd_json = new HashMap<>();
-//            ehsd_json.put("status",p.getStatus());
-//            ehsd_json.put("assessStatus",p.getAssessStatus());
-//            ehsd_json.put("customerId",p.getCustomerId());
-//            productInfo.setEhsdJson(JSON.toJSONString(ehsd_json));
-            if(StringUtils.equals(p.getYfTenantId(),"TIANHONG")||StringUtils.equals(p.getYfTenantId(),"GOLDSUN")){
-                productInfoList.add(productInfo);
-            }
-        }
-        productInfoService.saveBatch(productInfoList);
-    }
-
-}

+ 0 - 5
hx-data/src/main/resources/mapper/classify/ProductClassifyMapper.xml

@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.fjhx.data.mapper.classify.ProductClassifyMapper">
-
-</mapper>

+ 0 - 10
hx-data/src/main/resources/mapper/t/TErpProductMapper.xml

@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.fjhx.data.mapper.t.TErpProductMapper">
-    <select id="getList" resultType="com.fjhx.data.entity.t.po.TErpProduct">
-        select
-            *
-        from t_erp_product
-    </select>
-
-</mapper>

+ 15 - 3
hx-data/pom.xml → hx-from/pom.xml

@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0"
-         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xmlns="http://maven.apache.org/POM/4.0.0"
          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     <modelVersion>4.0.0</modelVersion>
 
@@ -10,7 +10,7 @@
         <version>1.0</version>
     </parent>
 
-    <artifactId>hx-data</artifactId>
+    <artifactId>hx-from</artifactId>
 
     <dependencies>
 
@@ -48,6 +48,18 @@
             <groupId>com.fjhx</groupId>
             <artifactId>hx-customer</artifactId>
         </dependency>
+        <dependency>
+            <groupId>com.fjhx</groupId>
+            <artifactId>hx-mail</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>com.fjhx</groupId>
+            <artifactId>hx-purchase</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>com.fjhx</groupId>
+            <artifactId>hx-sale</artifactId>
+        </dependency>
 
     </dependencies>
 

+ 29 - 0
hx-from/src/main/java/com/fjhx/from/controller/StatisticsController.java

@@ -0,0 +1,29 @@
+package com.fjhx.from.controller;
+
+import com.fjhx.from.service.StatisticsService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.Map;
+
+
+@RestController
+@RequestMapping("/statistics")
+public class StatisticsController {
+
+    @Autowired
+    private StatisticsService statisticsService;
+
+    /**
+     * 工作事项统计
+     *
+     * @return
+     */
+    @GetMapping("/workStatistics")
+    public Map<String, Long> workStatistics() {
+        return statisticsService.workStatistics();
+    }
+
+}

+ 11 - 0
hx-from/src/main/java/com/fjhx/from/service/StatisticsService.java

@@ -0,0 +1,11 @@
+package com.fjhx.from.service;
+
+import java.util.Map;
+
+public interface StatisticsService {
+
+    /**
+     * 工作统计
+     */
+    Map<String, Long> workStatistics();
+}

+ 127 - 0
hx-from/src/main/java/com/fjhx/from/service/impl/StatisticsServiceImpl.java

@@ -0,0 +1,127 @@
+package com.fjhx.from.service.impl;
+
+import cn.hutool.core.util.ObjectUtil;
+import com.baomidou.dynamic.datasource.toolkit.DynamicDataSourceContextHolder;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.account.entity.account.po.AccountPayment;
+import com.fjhx.account.entity.account.po.AccountRunningWater;
+import com.fjhx.account.service.account.AccountPaymentService;
+import com.fjhx.account.service.account.AccountRunningWaterService;
+import com.fjhx.common.constant.SourceConstant;
+import com.fjhx.flow.entity.flow.po.FlowExample;
+import com.fjhx.flow.service.flow.FlowExampleService;
+import com.fjhx.from.service.StatisticsService;
+import com.fjhx.mail.entity.enterprise.po.EnterpriseMailbox;
+import com.fjhx.mail.entity.enterprise.po.EnterpriseMessage;
+import com.fjhx.mail.entity.personal.po.PersonalMailbox;
+import com.fjhx.mail.entity.personal.po.PersonalMessage;
+import com.fjhx.mail.service.enterprise.EnterpriseMailboxService;
+import com.fjhx.mail.service.enterprise.EnterpriseMessageService;
+import com.fjhx.mail.service.personal.PersonalMailboxService;
+import com.fjhx.mail.service.personal.PersonalMessageService;
+import com.fjhx.purchase.entity.subscribe.po.SubscribeDetail;
+import com.fjhx.purchase.service.subscribe.SubscribeDetailService;
+import com.fjhx.sale.entity.contract.po.ContractProduct;
+import com.fjhx.sale.entity.sample.po.Sample;
+import com.fjhx.sale.mapper.contract.ContractProductMapper;
+import com.fjhx.sale.mapper.sample.SampleMapper;
+import com.ruoyi.common.utils.SecurityUtils;
+import com.ruoyi.common.utils.wrapper.IWrapper;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.Arrays;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+@Service
+public class StatisticsServiceImpl implements StatisticsService {
+    @Autowired
+    private PersonalMailboxService personalMailboxService;
+    @Autowired
+    private PersonalMessageService personalMessageService;
+    @Autowired
+    private EnterpriseMailboxService enterpriseMailboxService;
+    @Autowired
+    private EnterpriseMessageService enterpriseMessageService;
+    @Autowired
+    private FlowExampleService flowExampleService;
+    @Autowired
+    private AccountRunningWaterService accountRunningWaterService;
+    @Autowired
+    private SubscribeDetailService subscribeDetailService;
+    @Autowired
+    private SampleMapper sampleMapper;
+    @Autowired
+    private ContractProductMapper contractProductMapper;
+    @Autowired
+    private AccountPaymentService accountPaymentService;
+
+    /**
+     * 工作统计
+     */
+    @Override
+    public Map<String, Long> workStatistics() {
+        Long userId = SecurityUtils.getUserId();
+
+        //统计未读邮件数
+        Long unreadMailCount = 0L;
+        List<Long> mailboxIds = personalMailboxService.listObject(PersonalMailbox::getId, q -> q.eq(PersonalMailbox::getUserId, userId));
+        if (ObjectUtil.isNotEmpty(mailboxIds)) {
+            unreadMailCount += personalMessageService.count(q -> q
+                    .in(PersonalMessage::getMailboxId, mailboxIds)
+            );
+        }
+        List<Long> eMailboxIds = enterpriseMailboxService.listObject(EnterpriseMailbox::getId, q -> q.eq(EnterpriseMailbox::getUserId, userId));
+        if (ObjectUtil.isNotEmpty(eMailboxIds)) {
+            unreadMailCount += enterpriseMessageService.count(q -> q
+                    .in(EnterpriseMessage::getMailboxId, eMailboxIds)
+            );
+        }
+        //统计待审批数据
+        DynamicDataSourceContextHolder.push(SourceConstant.BASE);
+        long waitFlowCount = flowExampleService.count(q -> q.eq(FlowExample::getStatus, 2).eq(FlowExample::getHandleUserId, userId));
+        DynamicDataSourceContextHolder.poll();
+        //到账认领计数
+        long claimCount = accountRunningWaterService.count(q -> q.eq(AccountRunningWater::getReceived, 10).ne(AccountRunningWater::getIsClaim, 1));
+        //待采购数量
+        long waitPurchaseCount = subscribeDetailService.count(q -> q.in(SubscribeDetail::getStatus, Arrays.asList(15, 30)));
+        //样品交接单
+        Page<Object> page = new Page<>();
+        page.setCurrent(1);
+        page.setSize(1);
+        IWrapper<Sample> wrapper = IWrapper.getWrapper();
+        wrapper.eq("t2.`status`", 30);
+        wrapper.ge("t1.expend_quantity", 0);
+        DynamicDataSourceContextHolder.push(SourceConstant.SALE);
+        long sampleHandoverCount = sampleMapper.sampleHandoverList(page, wrapper).getTotal();
+        DynamicDataSourceContextHolder.poll();
+        //合同样品单
+        IWrapper<ContractProduct> wrapper1 = IWrapper.getWrapper();
+        wrapper.eq("t2.`status`", 30);
+        wrapper.ge("t1.expend_quantity", 0);
+        DynamicDataSourceContextHolder.push(SourceConstant.SALE);
+        long contractHandoverCount = contractProductMapper.contractHandoverPage(page, wrapper1).getTotal();
+        DynamicDataSourceContextHolder.poll();
+        //待打款
+        long waitAccountPayCount = accountPaymentService.count(q -> q.ne(AccountPayment::getStatus, 10));
+
+        //总数
+        long sumCount = unreadMailCount + waitFlowCount + claimCount + waitPurchaseCount + sampleHandoverCount + contractHandoverCount + waitAccountPayCount;
+
+        //输出结果
+        Map<String, Long> map = new HashMap<>();
+        map.put("unreadMailCount", unreadMailCount);
+        map.put("waitFlowCount", waitFlowCount);
+        map.put("claimCount", claimCount);
+        map.put("waitPurchaseCount", waitPurchaseCount);
+        map.put("sampleHandoverCount", sampleHandoverCount);
+        map.put("contractHandoverCount", contractHandoverCount);
+        map.put("waitAccountPayCount", waitAccountPayCount);
+        map.put("sumCount", sumCount);
+
+
+        return map;
+    }
+}

+ 3 - 3
hx-sale/src/main/java/com/fjhx/sale/flow/EhsdPurchaseFlow.java

@@ -296,9 +296,9 @@ public class EhsdPurchaseFlow extends FlowDelegate {
                     p.getDataResource() == PurchaseDataResourceEnum.DATA_RESOURCE_1.getKey()) {//如果采购的是外销合同
                 ContractProduct contractProduct = contractProductService.getById(p.getDataResourceId());
                 BigDecimal expendQuantity = contractProduct.getExpendQuantity().subtract(p.getQuantity());
-                if (expendQuantity.compareTo(BigDecimal.ZERO) < 0) {//小于0不让继续执行
-                    throw new ServiceException("采购数量不得大于合同剩余采购数量,请驳回审批修改");
-                }
+//                if (expendQuantity.compareTo(BigDecimal.ZERO) < 0) {//小于0不让继续执行
+//                    throw new ServiceException("采购数量不得大于合同剩余采购数量,请驳回审批修改");
+//                }
                 contractProduct.setExpendQuantity(expendQuantity);
                 upContractProduct.add(contractProduct);
             }

+ 2 - 0
hx-sale/src/main/java/com/fjhx/sale/mapper/contract/ContractProductMapper.java

@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.fjhx.sale.entity.contract.po.ContractProduct;
 import com.fjhx.sale.entity.contract.vo.ContractProductVo;
 import com.ruoyi.common.utils.wrapper.IWrapper;
+import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
@@ -18,6 +19,7 @@ import java.util.List;
  * @author
  * @since 2023-04-17
  */
+@Mapper
 public interface ContractProductMapper extends BaseMapper<ContractProduct> {
 
     /**

+ 4 - 2
hx-sale/src/main/java/com/fjhx/sale/mapper/sample/SampleMapper.java

@@ -1,12 +1,13 @@
 package com.fjhx.sale.mapper.sample;
 
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.fjhx.account.entity.account.vo.AccountRunningWaterVo;
 import com.fjhx.sale.entity.contract.vo.ContractProductVo;
 import com.fjhx.sale.entity.sample.po.Sample;
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.fjhx.sale.entity.sample.vo.SampleVo;
 import com.ruoyi.common.utils.wrapper.IWrapper;
+import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
@@ -20,6 +21,7 @@ import java.util.List;
  * @author
  * @since 2023-05-05
  */
+@Mapper
 public interface SampleMapper extends BaseMapper<Sample> {
 
     /**

+ 2 - 2
pom.xml

@@ -29,7 +29,7 @@
         <module>hx-sale</module>
         <module>hx-victoriatourist</module>
         <module>hx-dingding</module>
-        <module>hx-data</module>
+        <module>hx-from</module>
         <module>hx-jxst</module>
     </modules>
 
@@ -153,7 +153,7 @@
 
             <dependency>
                 <groupId>com.fjhx</groupId>
-                <artifactId>hx-data</artifactId>
+                <artifactId>hx-from</artifactId>
                 <version>${hx.version}</version>
             </dependency>