whycxzp
2022-08-11 5c3f8c8a3e36ab34fe614a8790b0fc7b3e15e1b5
更新散装件审批
1个文件已添加
5个文件已修改
177 ■■■■■ 已修改文件
src/main/java/com/whyc/controller/WorksheetMainController.java 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/mapper/ComponentApprovingMapper.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/pojo/WorksheetMain.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/service/ComponentApprovingService.java 21 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/service/ComponentService.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/service/WorksheetMainService.java 105 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/controller/WorksheetMainController.java
@@ -12,6 +12,7 @@
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.List;
import java.util.Map;
@@ -47,6 +48,35 @@
        }
    }
    @PostMapping("componentSubmit")
    @ApiOperation(value="散装件审批提交")
    public Response componentSubmit(@RequestBody WorksheetMain main){
        Response<Object> response = new Response<>();
        DocUser user = ActionUtil.getUser();
        Response res = service.componentSubmit(main,user);
        if(res.getCode()==1) {
            response.set(1,true, "提交完成");
        }else if(res.getCode()==3){
            response.set(1,false,"角色无法提交审批");
        }else{
            //重复提交
            Object existCAList = res.getData();
            Object existComponentList = res.getData2();
            response.setCode(1);
            response.setData(false);
            response.setData2(existCAList);
            response.setData3(existComponentList);
            if(res.getCode()==21){
                response.setMsg("重复提交:现有散装件及正在进行审批的散装件中,存在当前提交上传的散装件");
            }else if(res.getCode()==22){
                response.setMsg("重复提交:正在进行审批的散装件中,存在当前提交上传的散装件");
            }else{
                response.setMsg("重复提交:现有散装件中,存在当前提交上传的散装件");
            }
        }
        return response;
    }
    @GetMapping("statusStatistic")
    @ApiOperation("获取工作流-各角色用户对应的工作台数据分类统计")
    public Response<Map<String,Integer>> getStatusStatistic(){
src/main/java/com/whyc/mapper/ComponentApprovingMapper.java
New file
@@ -0,0 +1,6 @@
package com.whyc.mapper;
import com.whyc.pojo.ComponentApproving;
public interface ComponentApprovingMapper extends CustomMapper<ComponentApproving>{
}
src/main/java/com/whyc/pojo/WorksheetMain.java
@@ -67,6 +67,9 @@
    @TableField(exist = false)
    private DocUser approvingUser;
    @TableField(exist = false)
    private List<ComponentApproving> cApprovingList;
    public Integer getId() {
        return id;
    }
@@ -202,4 +205,12 @@
    public void setType(Integer type) {
        this.type = type;
    }
    public List<ComponentApproving> getCApprovingList() {
        return cApprovingList;
    }
    public void setCApprovingList(List<ComponentApproving> cApprovingList) {
        this.cApprovingList = cApprovingList;
    }
}
src/main/java/com/whyc/service/ComponentApprovingService.java
@@ -1,21 +1,21 @@
package com.whyc.service;
import com.whyc.dto.FileUrlDTO;
import com.whyc.dto.Response;
import com.whyc.mapper.ComponentApprovingMapper;
import com.whyc.pojo.ComponentApproving;
import com.whyc.pojo.ComponentProductApproving;
import com.whyc.pojo.DocUser;
import com.whyc.pojo.ProductBomApproving;
import com.whyc.util.ActionUtil;
import com.whyc.util.CommonUtil;
import com.whyc.util.FileUtil;
import com.whyc.util.Zip4jUtil;
import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
import org.apache.poi.ss.usermodel.*;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.web.multipart.MultipartFile;
import java.io.*;
import javax.annotation.Resource;
import java.io.File;
import java.io.IOException;
import java.text.DecimalFormat;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
@@ -25,6 +25,9 @@
@Service
public class ComponentApprovingService {
    @Resource
    private ComponentApprovingMapper mapper;
    /**
     *
@@ -122,4 +125,12 @@
        String nextTitle = originalFilename.substring(0,originalFilename.lastIndexOf("."));
        return response.setIII(1,true,list,nextTitle,"解析完成");
    }
    public void insert(List<ComponentApproving> cApprovingList) {
        mapper.insertBatchSomeColumn(cApprovingList);
    }
    public List<ComponentApproving> getList() {
        return mapper.selectList(null);
    }
}
src/main/java/com/whyc/service/ComponentService.java
@@ -39,4 +39,8 @@
        int bl=mapper.update(null,wrapper);
        return new Response().setII(1,bl>0?true:false,bl,"将散装件标识为不可用");
    }
    public List<Component> getList() {
        return mapper.selectList(null);
    }
}
src/main/java/com/whyc/service/WorksheetMainService.java
@@ -43,6 +43,12 @@
    @Autowired
    private ComponentProductApprovingService cpApprovingService;
    @Autowired
    private ComponentApprovingService cApprovingService;
    @Autowired
    private ComponentService cService;
    @Transactional
    public boolean submit(WorksheetMain main, DocUser user) {
        main.setType(1);
@@ -204,6 +210,105 @@
        return true;
    }
    public Response componentSubmit(WorksheetMain main, DocUser user) {
        Response<Object> response = new Response<>();
        List<ComponentApproving> cApprovingList = main.getCApprovingList();
        //查询是否有 已生效或者已提交审批的 相同的散装件
        List<Component> existComponentList = new LinkedList<>();
        List<ComponentApproving> existCAList = cApprovingService.getList();
        List<Component> componentList = cService.getList();
        List<ComponentApproving> cAList = cApprovingService.getList();
        for (int i = 0; i < cApprovingList.size(); i++) {
            ComponentApproving componentApproving = cApprovingList.get(i);
            for (int j = 0; j < componentList.size(); j++) {
                if(componentApproving.getSubCode().equals(componentList.get(j).getSubCode())
                    && componentApproving.getSubName().equals(componentList.get(j).getSubName())
                    && componentApproving.getSubModel().equals(componentList.get(j).getSubModel())
                ){
                    existComponentList.add(componentList.get(j));
                }
            }
            for (int j = 0; j < cAList.size(); j++) {
                if(componentApproving.getSubCode().equals(cAList.get(j).getSubCode())
                        && componentApproving.getSubName().equals(cAList.get(j).getSubName())
                        && componentApproving.getSubModel().equals(cAList.get(j).getSubModel())
                ){
                    existCAList.add(cAList.get(j));
                }
            }
        }
        int existCASize = existCAList.size();
        int existComponentSize = existComponentList.size();
        if(existCASize!=0){
            if(existComponentSize!=0){
                response.setII(21,existCAList,existComponentList,"重复提交:现有散装件及正在进行审批的散装件中,存在当前提交上传的散装件");
            }else{
                response.set(22,existCAList,"重复提交:正在进行审批的散装件中,存在当前提交上传的散装件");
            }
            return response;
        }else{
            if(existComponentSize!=0){
                return response.setII(23,null,existComponentList,"重复提交:现有散装件中,存在当前提交上传的散装件");
            }
        }
        main.setType(EnumWorksheetType.Component.getType());
        //提交主表
        main.setCreateUserId(user.getId());
        //提交人角色来判断工作流层级
        if(user.getRoleId().equals("1001")){
            if(main.getId()==null) {
                main.setLevel(2);
                main.setStatus(1);
                mainMapper.insert(main);
            }
            //提交子表
            WorksheetLink link =new WorksheetLink();
            link.setMainId(main.getId());
            link.setParentId(0);
            link.setDealUserId(main.getNextUser());
            link.setDealType(1);
            link.setDealDesc(main.getDealDesc());
            link.setLinkStatus(0);
            link.setEnableArchive(0);
            linkMapper.insert(link);
        }
        else if(user.getRoleId().equals("1002")){
            if(main.getId()==null) {
                main.setLevel(1);
                main.setStatus(2);
                mainMapper.insert(main);
            }
            //提交子表
            WorksheetLink link =new WorksheetLink();
            link.setMainId(main.getId());
            link.setParentId(0);
            link.setDealUserId(main.getNextUser());
            link.setDealType(2);
            link.setDealDesc(main.getDealDesc());
            link.setLinkStatus(0);
            link.setEnableArchive(1);
            linkMapper.insert(link);
        }
        else if(user.getRoleId().equals("1003")){
            main.setLevel(0);
            main.setStatus(5);
            mainMapper.insert(main);
        }else{
            return response.set(3);
        }
        //散装件-审批提交
        cApprovingList.forEach(cApproving->{
            cApproving.setMainId(main.getId());
        });
        cApprovingService.insert(cApprovingList);
        return response.set(1);
    }
    public WorksheetMain getInfoById(Integer id) {
        return mainMapper.selectById(id);
    }