Kaynağa Gözat

供应商分类管理 项目列表供应商分类展示

yurk 2 yıl önce
ebeveyn
işleme
674127407b
12 değiştirilmiş dosya ile 275 ekleme ve 11 silme
  1. 72 0
      fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/controller/ProviderCategoryController.java
  2. 5 8
      fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/controller/ProviderInfoController.java
  3. 49 0
      fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/entity/ProviderCategory.java
  4. 13 1
      fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/entity/ProviderInfo.java
  5. 1 0
      fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/entity/vo/ProjectVO.java
  6. 16 0
      fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/mapper/ProviderCategoryMapper.java
  7. 16 0
      fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/ProviderCategoryService.java
  8. 62 0
      fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/ProjectServiceImpl.java
  9. 20 0
      fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/ProviderCategoryServiceImpl.java
  10. 1 1
      fhKeeper/formulahousekeeper/management-platform/src/main/resources/mapper/ProjectMapper.xml
  11. 17 0
      fhKeeper/formulahousekeeper/management-platform/src/main/resources/mapper/ProviderCategoryMapper.xml
  12. 3 1
      fhKeeper/formulahousekeeper/management-platform/src/main/resources/mapper/ProviderInfoMapper.xml

+ 72 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/controller/ProviderCategoryController.java

@@ -0,0 +1,72 @@
+package com.management.platform.controller;
+
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.management.platform.entity.ProviderCategory;
+import com.management.platform.mapper.UserMapper;
+import com.management.platform.service.ProviderCategoryService;
+import com.management.platform.util.HttpRespMsg;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.annotation.Resource;
+import javax.servlet.http.HttpServletRequest;
+import java.util.List;
+
+/**
+ * <p>
+ *  前端控制器
+ * </p>
+ *
+ * @author Seyason
+ * @since 2022-07-12
+ */
+@RestController
+@RequestMapping("/provider-category")
+public class ProviderCategoryController {
+    @Resource
+    private ProviderCategoryService providerCategoryService;
+    @Resource
+    private UserMapper userMapper;
+
+    @RequestMapping("/list")
+    public HttpRespMsg list(HttpServletRequest request){
+        HttpRespMsg httpRespMsg=new HttpRespMsg();
+        Integer companyId = userMapper.selectById(request.getHeader("token")).getCompanyId();
+        List<ProviderCategory> providerCategoryList = providerCategoryService.list(new QueryWrapper<ProviderCategory>().eq("company_id", companyId));
+        httpRespMsg.data=providerCategoryList;
+        return httpRespMsg;
+    }
+    @RequestMapping("/addOrMod")
+    public HttpRespMsg addOrMod(ProviderCategory providerCategory,HttpServletRequest request){
+        HttpRespMsg httpRespMsg=new HttpRespMsg();
+        Integer companyId = userMapper.selectById(request.getHeader("token")).getCompanyId();
+        providerCategory.setCompanyId(companyId);
+        if(providerCategory.getId()!=null){
+            int cut = providerCategoryService.count(new QueryWrapper<ProviderCategory>().eq("provider_category_name", providerCategory.getProviderCategoryName()).eq("company_id",companyId).ne("id",providerCategory.getId()));
+            if(cut>0){
+                httpRespMsg.setError("分类名称已存在");
+                return httpRespMsg;
+            }
+            providerCategoryService.updateById(providerCategory);
+        }else {
+            int cut = providerCategoryService.count(new QueryWrapper<ProviderCategory>().eq("provider_category_name", providerCategory.getProviderCategoryName()).eq("company_id", companyId));
+            if(cut>0){
+                httpRespMsg.setError("分类名称已存在");
+                return httpRespMsg;
+            }
+            providerCategoryService.save(providerCategory);
+        }
+        return httpRespMsg;
+    }
+    @RequestMapping("/delete")
+    public HttpRespMsg delete(Integer id){
+        HttpRespMsg httpRespMsg =new HttpRespMsg();
+        if(providerCategoryService.removeById(id)){
+            return httpRespMsg;
+        }
+        httpRespMsg.setError("参数异常");
+        return httpRespMsg;
+    }
+}
+

+ 5 - 8
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/controller/ProviderInfoController.java

@@ -4,19 +4,16 @@ package com.management.platform.controller;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.management.platform.entity.ProviderInfo;
 import com.management.platform.entity.Project;
+import com.management.platform.entity.ProviderInfo;
 import com.management.platform.entity.User;
-import com.management.platform.mapper.ProviderInfoMapper;
 import com.management.platform.mapper.ProjectMapper;
 import com.management.platform.mapper.ProviderInfoMapper;
 import com.management.platform.mapper.UserMapper;
 import com.management.platform.service.ProviderInfoService;
-import com.management.platform.service.ProviderInfoService;
 import com.management.platform.util.HttpRespMsg;
 import org.springframework.util.StringUtils;
 import org.springframework.web.bind.annotation.RequestMapping;
-
 import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RestController;
 import org.springframework.web.multipart.MultipartFile;
@@ -64,11 +61,11 @@ public class ProviderInfoController {
         });
         if (info.getId() == null) {
             if(nameList.contains(info.getProviderName())){
-                msg.setError("客户名称已存在");
+                msg.setError("供货商名称已存在");
                 return msg;
             }
             if(codeList.contains(info.getProviderCode())){
-                msg.setError("客户编号已存在");
+                msg.setError("供货商编号已存在");
                 return msg;
             }
             info.setCompanyId(user.getCompanyId());
@@ -78,11 +75,11 @@ public class ProviderInfoController {
             nameList.remove(customerInfo.getProviderName());
             codeList.remove(customerInfo.getProviderCode());
             if(nameList.contains(info.getProviderName())){
-                msg.setError("客户名称已存在");
+                msg.setError("供货商名称已存在");
                 return msg;
             }
             if(codeList.contains(info.getProviderCode())){
-                msg.setError("客户编号已存在");
+                msg.setError("供货商编号已存在");
                 return msg;
             }
             info.setCompanyId(user.getCompanyId());

+ 49 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/entity/ProviderCategory.java

@@ -0,0 +1,49 @@
+package com.management.platform.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+import java.io.Serializable;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author Seyason
+ * @since 2022-07-12
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+public class ProviderCategory extends Model<ProviderCategory> {
+
+    private static final long serialVersionUID=1L;
+
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    /**
+     * 供应商分类名称
+     */
+    @TableField("provider_category_name")
+    private String providerCategoryName;
+
+    /**
+     * 公司id
+     */
+    @TableField("company_id")
+    private Integer companyId;
+
+
+    @Override
+    protected Serializable pkVal() {
+        return this.id;
+    }
+
+}

+ 13 - 1
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/entity/ProviderInfo.java

@@ -16,7 +16,7 @@ import java.io.Serializable;
  * </p>
  *
  * @author Seyason
- * @since 2022-07-07
+ * @since 2022-07-12
  */
 @Data
 @EqualsAndHashCode(callSuper = false)
@@ -28,6 +28,18 @@ public class ProviderInfo extends Model<ProviderInfo> {
     @TableId(value = "id", type = IdType.AUTO)
     private Integer id;
 
+    /**
+     * 分类id
+     */
+    @TableField("provider_category_id")
+    private Integer providerCategoryId;
+
+    /**
+     * 分类名称
+     */
+    @TableField("provider_category_name")
+    private String providerCategoryName;
+
     /**
      * 供应商编码
      */

+ 1 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/entity/vo/ProjectVO.java

@@ -16,4 +16,5 @@ public class ProjectVO extends Project {
     String inchargerName;
     String inchargerPhone;
     String statusName;
+    List<Map<String,Object>> providerInfoList;
 }

+ 16 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/mapper/ProviderCategoryMapper.java

@@ -0,0 +1,16 @@
+package com.management.platform.mapper;
+
+import com.management.platform.entity.ProviderCategory;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author Seyason
+ * @since 2022-07-12
+ */
+public interface ProviderCategoryMapper extends BaseMapper<ProviderCategory> {
+
+}

+ 16 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/ProviderCategoryService.java

@@ -0,0 +1,16 @@
+package com.management.platform.service;
+
+import com.management.platform.entity.ProviderCategory;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author Seyason
+ * @since 2022-07-12
+ */
+public interface ProviderCategoryService extends IService<ProviderCategory> {
+
+}

+ 62 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/ProjectServiceImpl.java

@@ -128,6 +128,10 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
     BusinessTripMapper businessTripMapper;
     @Resource
     BustripProjectMapper bustripProjectMapper;
+    @Resource
+    ProviderCategoryMapper providerCategoryMapper;
+    @Resource
+    ProviderInfoMapper providerInfoMapper;
 
     @Resource
     private HttpServletResponse response;
@@ -226,6 +230,8 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
                     queryWrapper);
             List<Project> projectList = projectIPage.getRecords();
             List<User> userList = userMapper.selectList(new QueryWrapper<User>().eq("company_id", companyId));
+            List<ProviderInfo> providerInfoList = providerInfoMapper.selectList(new QueryWrapper<ProviderInfo>().eq("company_id", companyId));
+            List<ProviderCategory> providerCategoryList = providerCategoryMapper.selectList(new QueryWrapper<ProviderCategory>().eq("company_id", companyId));
             List<ProjectVO> list = new ArrayList<>();
             for (Project project : projectList) {
                 ProjectVO projectVO = new ProjectVO();
@@ -237,14 +243,39 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
                     projectVO.setInchargerName(incharger.getName());
                     projectVO.setInchargerPhone(incharger.getPhone());
                 }
+                List<Map<String,Object>> mapList=new ArrayList<>();
+                if(!StringUtils.isEmpty(project.getProviderIds())){
+                    String[] providerIdString = project.getProviderIds().split(",");
+                    List<String> providerIdList = Arrays.asList(providerIdString);
+                    for (String s : providerIdList) {
+                        Map<String,Object> map=new HashMap<>();
+                        Optional<ProviderInfo> providerInfo = providerInfoList.stream().filter(pi -> pi.getId().equals(Integer.parseInt(s))).findFirst();
+                        if(providerInfo.isPresent()){
+                            Optional<ProviderCategory> providerCategory = providerCategoryList.stream().filter(pc -> pc.getId().equals(providerInfo.get().getProviderCategoryId())).findFirst();
+                            if(providerCategory.isPresent()){
+                                map.put("providerCateGoryName",providerCategory.get().getProviderCategoryName());
+                                map.put("providerInfoName",providerInfo.get().getProviderName());
+                            }else {
+                                map.put("providerCateGoryName","未定义");
+                                map.put("providerInfoName",providerInfo.get().getProviderName());
+                            }
+                        }
+                        mapList.add(map);
+                    }
+                    projectVO.setProviderInfoList(mapList);
+                }
                 list.add(projectVO);
             }
+            List<String> stringList = providerCategoryList.stream().distinct().map(ProviderCategory::getProviderCategoryName).collect(Collectors.toList());
+            stringList.add("未定义");
             Long total = projectIPage.getTotal();
             Map<String, Object> map = new HashMap<>();
             map.put("records", list);
             map.put("total", total);
+            map.put("nameList",stringList);
             httpRespMsg.data = map;
         } catch (NullPointerException e) {
+            e.printStackTrace();
             httpRespMsg.setError("验证失败");
             return httpRespMsg;
         }
@@ -2429,10 +2460,19 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
         headList.add("创建日期");
         //自定义维度
         TimeType timeType = timeTypeMapper.selectById(user.getCompanyId());
+        /*//供应商分类
+        List<ProviderCategory> providerCategoryList = providerCategoryMapper.selectList(new QueryWrapper<ProviderCategory>().eq("company_id", user.getCompanyId()));
+        List<String> providerCategoryNameList = providerCategoryList.stream().distinct().map(ProviderCategory::getProviderCategoryName).collect(Collectors.toList());
+        providerCategoryNameList.add("未定义");
+        //供应商
+        List<ProviderInfo> providerInfoList = providerInfoMapper.selectList(new QueryWrapper<ProviderInfo>().eq("company_id", user.getCompanyId()));*/
         if (timeType.getCustomDegreeActive() == 1) {
             headList.add(timeType.getCustomDegreeName());
         }
         if (company.getPackageProvider() == 1) {
+            /*for (String s : providerCategoryNameList) {
+                headList.add(s);
+            }*/
             headList.add("供应商");
         }
         if (company.getPackageProject() == 1) {
@@ -2466,6 +2506,28 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
                 rowData.add((String)map.get("associate_degree_names"));
             }
             if (company.getPackageProvider() == 1) {
+                /*String providerIds = (String) map.get("provider_ids");
+                for (String providerCategoryName : providerCategoryNameList) {
+                    if (!StringUtils.isEmpty(providerIds)) {
+                        String[] providerIdsString = providerIds.split(",");
+                        List<String> providerIdList = Arrays.asList(providerIdsString);
+                        for (String s : providerIdList) {
+                            Optional<ProviderInfo> first = providerInfoList.stream().filter(pi -> pi.getId().equals(Integer.parseInt(s))).findFirst();
+                            if (first.isPresent()) {
+                                if (StringUtils.isEmpty(first.get().getProviderCategoryName())&&providerCategoryName.equals("未定义")) {
+                                    rowData.add(first.get().getProviderName());
+                                }
+                                if (first.get().getProviderCategoryName().equals(providerCategoryName)) {
+                                    rowData.add(first.get().getProviderName());
+                                }
+                            }else {
+                                rowData.add("");
+                            }
+                        }
+                    }else {
+                        rowData.add("");
+                    }
+                }*/
                 rowData.add((String)map.get("provider_names"));
             }
             if (company.getPackageProject() == 1) {

+ 20 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/ProviderCategoryServiceImpl.java

@@ -0,0 +1,20 @@
+package com.management.platform.service.impl;
+
+import com.management.platform.entity.ProviderCategory;
+import com.management.platform.mapper.ProviderCategoryMapper;
+import com.management.platform.service.ProviderCategoryService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author Seyason
+ * @since 2022-07-12
+ */
+@Service
+public class ProviderCategoryServiceImpl extends ServiceImpl<ProviderCategoryMapper, ProviderCategory> implements ProviderCategoryService {
+
+}

+ 1 - 1
fhKeeper/formulahousekeeper/management-platform/src/main/resources/mapper/ProjectMapper.xml

@@ -656,7 +656,7 @@
     <select id="getExportData" resultType="java.util.HashMap" >
         SELECT project.id, project_name, project_code,category_name,is_public,plan_start_date, d.name AS incharger_name,GROUP_CONCAT(u.name) AS participators,
         plan_end_date, progress, LEVEL, STATUS, finish_date, creator_id, creator_name, create_date, contract_amount,
-        customer_name, associate_degree_names, provider_names
+        customer_name, associate_degree_names, provider_names,provider_ids
         FROM project LEFT JOIN sub_project ON sub_project.id = project.`id`
         LEFT JOIN participation c ON c.project_id = project.`id`
         LEFT JOIN user u ON u.id = c.user_id

+ 17 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/resources/mapper/ProviderCategoryMapper.xml

@@ -0,0 +1,17 @@
+<?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.management.platform.mapper.ProviderCategoryMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.management.platform.entity.ProviderCategory">
+        <id column="id" property="id" />
+        <result column="provider_category_name" property="providerCategoryName" />
+        <result column="company_id" property="companyId" />
+    </resultMap>
+
+    <!-- 通用查询结果列 -->
+    <sql id="Base_Column_List">
+        id, provider_category_name, company_id
+    </sql>
+
+</mapper>

+ 3 - 1
fhKeeper/formulahousekeeper/management-platform/src/main/resources/mapper/ProviderInfoMapper.xml

@@ -5,6 +5,8 @@
     <!-- 通用查询映射结果 -->
     <resultMap id="BaseResultMap" type="com.management.platform.entity.ProviderInfo">
         <id column="id" property="id" />
+        <result column="provider_category_id" property="providerCategoryId" />
+        <result column="provider_category_name" property="providerCategoryName" />
         <result column="provider_code" property="providerCode" />
         <result column="provider_name" property="providerName" />
         <result column="contact_name" property="contactName" />
@@ -17,7 +19,7 @@
 
     <!-- 通用查询结果列 -->
     <sql id="Base_Column_List">
-        id, provider_code, provider_name, contact_name, contact_phone, email, address, company_id, remark
+        id, provider_category_id, provider_category_name, provider_code, provider_name, contact_name, contact_phone, email, address, company_id, remark
     </sql>
 
 </mapper>