whycxzp
2022-08-13 1fb57472e5e7748e6cf153795f566a877e4ada5b
更新审批
1个文件已添加
9个文件已修改
160 ■■■■ 已修改文件
src/main/java/com/whyc/mapper/ComponentProductApprovingMapper.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/mapper/ComponentProductHistoryMapper.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/pojo/ComponentApproving.java 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/service/ComponentApprovingService.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/service/ComponentProductApprovingService.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/service/ComponentProductHistoryService.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/service/WorksheetLinkService.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/service/WorksheetMainService.java 101 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/ComponentProductApprovingMapper.xml 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/ComponentProductHistoryMapper.xml 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/mapper/ComponentProductApprovingMapper.java
@@ -1,6 +1,12 @@
package com.whyc.mapper;
import com.whyc.pojo.ComponentProductApproving;
import com.whyc.pojo.ComponentProductHistory;
import java.util.List;
public interface ComponentProductApprovingMapper extends CustomMapper<ComponentProductApproving> {
    List<ComponentProductApproving> getLatestExistListByComponentId(Integer componentId);
}
src/main/java/com/whyc/mapper/ComponentProductHistoryMapper.java
@@ -7,4 +7,6 @@
public interface ComponentProductHistoryMapper extends CustomMapper<ComponentProductHistory>{
    void updateVersionBatch(List<ComponentProductHistory> cphList);
    List<ComponentProductHistory> getLatestExistListByComponentId(Integer componentId);
}
src/main/java/com/whyc/pojo/ComponentApproving.java
@@ -54,8 +54,8 @@
    private Integer mainId;
    @ApiModelProperty("操作类型:-1删除,1新增")
    private Integer operationType;
    @ApiModelProperty("散装件id,新增必然没有值,删除必然存在值")
    private Integer componentId;
    public Integer getId() {
        return id;
@@ -225,11 +225,11 @@
        this.mainId = mainId;
    }
    public Integer getOperationType() {
        return operationType;
    public Integer getComponentId() {
        return componentId;
    }
    public void setOperationType(Integer operationType) {
        this.operationType = operationType;
    public void setComponentId(Integer componentId) {
        this.componentId = componentId;
    }
}
src/main/java/com/whyc/service/ComponentApprovingService.java
@@ -163,4 +163,10 @@
        query.eq("main_id",mainId);
        return mapper.selectList(query);
    }
    public ComponentApproving getListByComponentId(Integer componentId) {
        QueryWrapper<ComponentApproving> query = Wrappers.query();
        query.eq("component_id",componentId).last(" limit 1");
        return mapper.selectOne(query);
    }
}
src/main/java/com/whyc/service/ComponentProductApprovingService.java
@@ -24,4 +24,8 @@
        query.eq("main_id",mainId);
        return mapper.selectList(query);
    }
    public List<ComponentProductApproving> getLatestExistListByComponentId(Integer componentId) {
        return mapper.getLatestExistListByComponentId(componentId);
    }
}
src/main/java/com/whyc/service/ComponentProductHistoryService.java
@@ -33,4 +33,8 @@
    public void insertBatch(List<ComponentProductHistory> newHistoryList) {
        mapper.insertBatchSomeColumn(newHistoryList);
    }
    public List<ComponentProductHistory> getLatestExistListByComponentId(Integer componentId) {
        return mapper.getLatestExistListByComponentId(componentId);
    }
}
src/main/java/com/whyc/service/WorksheetLinkService.java
@@ -257,6 +257,8 @@
                    component.setQuantity(approve.getQuantity());
                    component.setProducer(approve.getProducer());
                    component.setNotes(approve.getNotes());
                    component.setCreateDate(new Date());
                    component.setStatus(1);
                    componentList.add(component);
                });
                cService.insertBatch(componentList);
src/main/java/com/whyc/service/WorksheetMainService.java
@@ -11,6 +11,7 @@
import com.whyc.mapper.WorksheetLinkMapper;
import com.whyc.mapper.WorksheetMainMapper;
import com.whyc.pojo.*;
import io.swagger.annotations.ApiModelProperty;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Service;
@@ -48,6 +49,12 @@
    @Autowired
    private ComponentService cService;
    @Autowired
    private ProductBomService pbService;
    @Autowired
    private ComponentProductHistoryService cphService;
    @Transactional
    public boolean submit(WorksheetMain main, DocUser user) {
@@ -213,48 +220,78 @@
    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 = new LinkedList<>();
        //判断是新增还是删除
        boolean isAdded = cApprovingList.get(0).getSubName()!=null;
        if(isAdded) { //新增
            //查询是否有 已生效或者已提交审批的 相同的散装件
            List<Component> existComponentList = new LinkedList<>();
            List<ComponentApproving> existCAList = new LinkedList<>();
        List<Component> componentList = cService.getList();
        List<ComponentApproving> cAList = cApprovingService.getListByStatus(1);
        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));
            List<Component> componentList = cService.getList();
            List<ComponentApproving> cAList = cApprovingService.getListByStatus(1);
            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));
                    }
                }
            }
            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, "重复提交:现有散装件中,存在当前提交上传的散装件");
                }
            }
        }
        }else{ //删除 TODO
            //判断是否在散装件审批删除中,是否存在产品关联及关联审批
            ComponentApproving deleteApproving = new ComponentApproving();
            List<ComponentProductHistory> existComponentProducts = new LinkedList<>();
            List<ComponentProductApproving> existComponentProductApprovingList = new LinkedList<>();
            deleteApproving = cApprovingService.getListByComponentId(cApprovingList.get(0).getComponentId());
        int existCASize = existCAList.size();
        int existComponentSize = existComponentList.size();
        if(existCASize!=0){
            if(existComponentSize!=0){
                response.setII(21,existCAList,existComponentList,"重复提交:现有散装件及正在进行审批的散装件中,存在当前提交上传的散装件");
            //查看产品关联
            List<ComponentProductHistory> cphLatestExistList =  cphService.getLatestExistListByComponentId(cApprovingList.get(0).getComponentId());
            //查看产品关联审批
            List<ComponentProductApproving> cpaLatestExistList = cpApprovingService.getLatestExistListByComponentId(cApprovingList.get(0).getComponentId());
            if(deleteApproving!=null){
                return response.set(31,deleteApproving,"拒绝本次删除申请,当前散装件正在进行删除审批");
            }
            if(cphLatestExistList!=null && cphLatestExistList.size()!=0){
                if(cpaLatestExistList!=null && cpaLatestExistList.size()!=0){
                    return response.setII(32,cpaLatestExistList,cphLatestExistList,"拒绝本次删除申请,当前散装已经关联产品及在产品关联审批");
                }else{
                    return response.setII(33,null,cphLatestExistList,"拒绝本次删除申请,当前散装件在产品关联审批");
                }
            }else{
                response.set(22,existCAList,"重复提交:正在进行审批的散装件中,存在当前提交上传的散装件");
                if(cpaLatestExistList!=null && cpaLatestExistList.size()!=0){
                    return response.set(34,cpaLatestExistList,"拒绝本次删除申请,当前散装件已经关联产品");
                }
            }
            return response;
        }else{
            if(existComponentSize!=0){
                return response.setII(23,null,existComponentList,"重复提交:现有散装件中,存在当前提交上传的散装件");
            }
        }
        }
        main.setType(EnumWorksheetType.Component.getType());
        //提交主表
        main.setCreateUserId(user.getId());
src/main/resources/mapper/ComponentProductApprovingMapper.xml
New file
@@ -0,0 +1,12 @@
<?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.whyc.mapper.ComponentProductApprovingMapper" >
    <select id="getLatestExistListByComponentId" resultType="com.whyc.pojo.ComponentProductApproving">
        SELECT a.* FROM db_doc.tb_component_product_approving a,db_doc.tb_worksheet_main m
        where a.main_id = m.id
        and m.status not in(0,5)
        and component_id = #{componentId}
    </select>
</mapper>
src/main/resources/mapper/ComponentProductHistoryMapper.xml
@@ -8,4 +8,15 @@
            update db_doc.tb_component_product_history set e_version = e_version+1 where id = #{his.id}
        </foreach>
    </update>
    <select id="getLatestExistListByComponentId" resultType="com.whyc.pojo.ComponentProductHistory">
        SELECT
        h.*
        FROM
        db_doc.tb_component_product_history h,
        db_doc.tb_product_bom b
        WHERE
        h.parent_model = b.parent_model
        AND b.version = h.e_version
        AND h.component_id = #{componentId}
    </select>
</mapper>