Jelajahi Sumber

专业库管理

sunhh 2 tahun lalu
induk
melakukan
eba69f1104

+ 64 - 0
purchase-admin/src/main/java/com/ozs/web/controller/base/BaseProfessionalController.java

@@ -0,0 +1,64 @@
+package com.ozs.web.controller.base;
+
+import com.ozs.base.domain.BaseProfessional;
+import com.ozs.base.service.BaseProfessionalService;
+import com.ozs.common.core.controller.BaseController;
+import com.ozs.common.core.domain.AjaxResult;
+import com.ozs.common.utils.StringUtils;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.List;
+
+/**
+ * 专业库管理
+ *
+ * @author sunhh
+ */
+@Api(tags = "专业库管理")
+@RestController
+@RequestMapping("/base/professional")
+public class BaseProfessionalController extends BaseController {
+
+    @Autowired
+    private BaseProfessionalService baseProfessionalService;
+
+    @ApiOperation(value = "新增专业库", notes = "必传 专业库名称、一级分类、编码、父级编码;没有父级编码传0")
+    @PostMapping("/insertProfessional")
+    public AjaxResult insertProfessional(BaseProfessional baseProfessional) {
+        if (StringUtils.isNull(baseProfessional) || StringUtils.isNull(baseProfessional.getProfessionalName())
+                || StringUtils.isNull(baseProfessional.getProfessionalCode()) || StringUtils.isNull(baseProfessional.getProfessionalGrade())) {
+            return error("专业库名称、编码、一级分类不能为空");
+        }
+        return toAjax(baseProfessionalService.save(baseProfessional));
+    }
+
+    @ApiOperation(value = "删除专业库", notes = "必传 id")
+    @PostMapping("/deleteProfessional")
+    public AjaxResult deleteProfessional(BaseProfessional baseProfessional) {
+        if (StringUtils.isNull(baseProfessional) || StringUtils.isNull(baseProfessional.getId())) {
+            return error("专业库id不能为空");
+        }
+        return toAjax(baseProfessionalService.removeById(baseProfessional.getId()));
+    }
+
+    @ApiOperation(value = "修改专业库", notes = "必传 id 及修改数据")
+    @PostMapping("/updateProfessional")
+    public AjaxResult updateProfessional(BaseProfessional baseProfessional) {
+        if (StringUtils.isNull(baseProfessional) || StringUtils.isNull(baseProfessional.getId())) {
+            return error("专业库id和修改数据不能为空");
+        }
+        return toAjax(baseProfessionalService.updateById(baseProfessional));
+    }
+
+    @ApiOperation(value = "查询专业库树结构", notes = "非必传 查询条件:品目名称")
+    @PostMapping("/selectBaseProfessional")
+    public AjaxResult selectBaseProfessional(BaseProfessional baseProfessional) {
+        List<BaseProfessional> baseSupplierList = baseProfessionalService.selectBaseProfessional(baseProfessional);
+        return success(baseSupplierList);
+    }
+}

+ 0 - 4
purchase-admin/src/main/java/com/ozs/web/controller/base/BaseSupplierController.java

@@ -6,11 +6,7 @@ import com.ozs.common.core.page.TableDataInfo;
 import com.ozs.common.utils.StringUtils;
 import com.ozs.base.domain.BaseSupplier;
 import com.ozs.base.service.BaseSupplierService;
-import com.ozs.common.utils.poi.ExcelUtil;
-import com.ozs.system.domain.SysConfig;
 import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiImplicitParam;
-import io.swagger.annotations.ApiImplicitParams;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.PostMapping;

+ 2 - 2
purchase-admin/src/main/resources/application-dev.yml

@@ -9,8 +9,8 @@ purchase:
   # 实例演示开关
   demoEnabled: true
   # 文件路径 示例( Windows配置D:/purchase/uploadPath,Linux配置 /home/purchase/uploadPath)
-  profile: C:/purchase/uploadPath
-#  profile: /Users/sunhuanhuan/Documents/project/106/文档/purchase/uploadPath
+  #  profile: C:/purchase/uploadPath
+  profile: /Users/sunhuanhuan/Documents/project/106/文档/purchase/uploadPath
   # 获取ip地址开关
   addressEnabled: false
   # 验证码类型 math 数组计算 char 字符验证

+ 2 - 1
purchase-admin/src/main/resources/logback.xml

@@ -1,7 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <configuration>
     <!-- 日志存放路径 -->
-    <property name="log.path" value="/home/purchase/logs" />
+<!--    <property name="log.path" value="/home/purchase/logs" />-->
+    <property name="log.path" value="/Users/sunhuanhuan/Documents/project/106/文档/purchase/logs" />
     <!-- 日志输出格式 -->
 	<property name="log.pattern" value="%d{HH:mm:ss.SSS} [%thread] %-5level %logger{20} - [%method,%line] - %msg%n" />
 

+ 58 - 0
purchase-system/src/main/java/com/ozs/base/domain/BaseProfessional.java

@@ -0,0 +1,58 @@
+package com.ozs.base.domain;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.List;
+
+@Data
+@TableName("base_professional")
+public class BaseProfessional implements Serializable {
+
+    private List<BaseProfessional> baseProfessionalList;
+
+    /**
+     * 主键ID
+     */
+    @ApiModelProperty(value = "id")
+    @TableField("id")
+    private Integer id;
+
+    /**
+     * 品目名称
+     */
+    @ApiModelProperty(value = "品目名称")
+    @TableField("professional_name")
+    private String professionalName;
+
+    /**
+     * 编码
+     */
+    @ApiModelProperty(value = "编码")
+    @TableField("professional_code")
+    private String professionalCode;
+
+    /**
+     * 说明
+     */
+    @ApiModelProperty(value = "说明")
+    @TableField("purchase_state")
+    private String purchaseState;
+
+    /**
+     * 一级分类
+     */
+    @ApiModelProperty(value = "一级分类")
+    @TableField("professional_grade")
+    private String professionalGrade;
+
+    /**
+     * 父级编码
+     */
+    @ApiModelProperty(value = "父级编码")
+    @TableField("parent_code")
+    private String parentCode;
+}

+ 16 - 0
purchase-system/src/main/java/com/ozs/base/domain/vo/BaseProfessionalVo1.java

@@ -0,0 +1,16 @@
+package com.ozs.base.domain.vo;
+
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class BaseProfessionalVo1 {
+    private Integer id;
+    private String professionalName;
+    private String professionalCode;
+    private String purchaseState;
+    private String professionalGrade;
+    private String parentCode;
+    private List<BaseProfessionalVo1> baseProfessionalVoList;
+}

+ 20 - 0
purchase-system/src/main/java/com/ozs/base/mapper/BaseProfessionalMapper.java

@@ -0,0 +1,20 @@
+package com.ozs.base.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ozs.base.domain.BaseProfessional;
+import com.ozs.common.core.domain.entity.SysProcurementStandard;
+import org.apache.ibatis.annotations.Mapper;
+
+import javax.annotation.Resource;
+import java.util.List;
+
+@Resource
+@Mapper
+public interface BaseProfessionalMapper extends BaseMapper<BaseProfessional> {
+
+    List<BaseProfessional> selectListByGradeCode(BaseProfessional baseProfessional);
+
+    List<BaseProfessional> selectoneGradeList(String professionalCode);
+
+    List<BaseProfessional> selectBaseProfessional(BaseProfessional baseProfessional);
+}

+ 10 - 0
purchase-system/src/main/java/com/ozs/base/service/BaseProfessionalService.java

@@ -0,0 +1,10 @@
+package com.ozs.base.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.ozs.base.domain.BaseProfessional;
+
+import java.util.List;
+
+public interface BaseProfessionalService extends IService<BaseProfessional> {
+    List<BaseProfessional> selectBaseProfessional(BaseProfessional baseProfessional);
+}

+ 69 - 0
purchase-system/src/main/java/com/ozs/base/service/impl/BaseProfessionalServiceImpl.java

@@ -0,0 +1,69 @@
+package com.ozs.base.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ozs.base.domain.BaseProfessional;
+import com.ozs.base.mapper.BaseProfessionalMapper;
+import com.ozs.base.service.BaseProfessionalService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.ArrayList;
+import java.util.List;
+
+@Service
+public class BaseProfessionalServiceImpl extends ServiceImpl<BaseProfessionalMapper, BaseProfessional> implements BaseProfessionalService {
+
+    @Autowired
+    private BaseProfessionalMapper baseProfessionalMapper;
+
+    @Override
+    public List<BaseProfessional> selectBaseProfessional(BaseProfessional baseProfessional) {
+        List<BaseProfessional> allList = baseProfessionalMapper.selectBaseProfessional(baseProfessional);
+        List<BaseProfessional> treeList = buildTree(allList);
+//        for (BaseProfessional baseProfessional1 : oneGrade) {
+//            if (baseProfessional1.getParentCode().length() == 1) {
+//                baseProfessionalVoList.add(findChildren(sysMenu, sysMenuList));
+//            }
+//        }
+        //baseProfessionalMapper.selectListByGradeCode(baseProfessional);
+
+
+        return allList;
+    }
+
+    /**
+     * 构建树形结构
+     * @return
+     */
+    public static List<BaseProfessional> buildTree(List<BaseProfessional> allList) {
+        //创建集合封装最终数据
+        List<BaseProfessional> trees = new ArrayList<>();
+        //遍历所有菜单集合
+        for (BaseProfessional baseProfessional : allList) {
+            //找到递归入口,parentId=0
+            if (baseProfessional.getParentCode().length() == 1) {
+                trees.add(findChildren(baseProfessional, allList));
+            }
+        }
+        return trees;
+    }
+
+    /**
+     * 从根节点进行递归查询,查询子节点
+     * 判断 编码 =  父级编码是否相同,如果相同是子节点,进行数据封装
+     */
+    private static BaseProfessional findChildren(BaseProfessional baseProfessional, List<BaseProfessional> allList) {
+        //数据初始化
+        baseProfessional.setBaseProfessionalList(new ArrayList<BaseProfessional>());
+        //遍历递归查找
+        for (BaseProfessional it : allList) {
+            if (baseProfessional.getProfessionalCode().equals(it.getParentCode())) {
+                if (baseProfessional.getBaseProfessionalList() == null) {
+                    baseProfessional.setBaseProfessionalList(new ArrayList<>());
+                }
+                baseProfessional.getBaseProfessionalList().add(findChildren(it, allList));
+            }
+        }
+        return baseProfessional;
+    }
+}

+ 35 - 0
purchase-system/src/main/resources/mapper/base/BaseProfessionalMapper.xml

@@ -0,0 +1,35 @@
+<?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.ozs.system.mapper.BaseProfessional">
+
+    <resultMap type="com.ozs.base.domain.BaseProfessional" id="BaseProfessionalResult">
+        <id property="id" column="id"/>
+        <result property="professionalName" column="professional_name"/>
+        <result property="professionalCode" column="professional_code"/>
+        <result property="purchaseState" column="purchase_state"/>
+        <result property="professionalGrade" column="professional_grade"/>
+        <result property="parentCode" column="parent_code"/>
+    </resultMap>
+
+    <select id="selectBaseProfessional" parameterType="com.ozs.base.domain.BaseProfessional" resultMap="BaseProfessionalResult">
+        select * from base_professional
+        <where>
+            <if test="professionalName != null and professionalName != ''">
+                professional_name like '% +' #{professionalName} '+ %',
+            </if>
+            <if test="professionalCode != null and professionalCode != ''">
+                professional_code = #{professionalCode},
+            </if>
+            <if test="professionalGrade != null and professionalGrade != ''">
+                professional_grade = #{professionalGrade}
+            </if>
+        </where>
+    </select>
+
+    <select id="selectoneGradeList" parameterType="com.ozs.base.domain.BaseProfessional" resultMap="BaseProfessionalResult">
+        select * from base_professional where professional_code = #{professionalCode}
+    </select>
+
+</mapper>