whyclxw
2025-03-13 ff98efbc32a3c28ea204e4de8c1bef23c089384e
src/main/java/com/whyc/service/ProductHistoryService.java
@@ -116,9 +116,6 @@
    //历史版本可用性设定<产品中包含钣金件(0120)如果包含需要把当成产品的钣金件锁掉
    @Transactional
    public Response setpHistoryEnable(String parentCode, String customCode, int version, int enabled, String reason, String versionTime) {
        UpdateWrapper wrapper=new UpdateWrapper();
        wrapper.eq("parent_code",parentCode);
        wrapper.eq("custom_code",customCode);
        int flag=0;
        QueryWrapper qWrapper=new QueryWrapper();
        qWrapper.eq("parent_code",parentCode);
@@ -127,20 +124,30 @@
        Product product=productMapper.selectOne(qWrapper);
        if(enabled==1){//解锁
            //先将所有的锁定
            UpdateWrapper wrapper=new UpdateWrapper();
            wrapper.eq("parent_code",parentCode);
            wrapper.eq("custom_code",customCode);
            wrapper.set("enabled",0);
            flag=mapper.update(null,wrapper);
            //再将选中的设为可用
            wrapper.eq("id",product.getId());
            wrapper.set("enabled",1);
            flag=mapper.update(null,wrapper);
            mapper.update(null,wrapper);
            //再将选中的设为可用(查出要使用版本)
            QueryWrapper hisWrapper=new QueryWrapper();
            hisWrapper.eq("parent_code",parentCode);
            hisWrapper.eq("custom_code",customCode);
            hisWrapper.eq("version",version);
            ProductHistory his=mapper.selectOne(hisWrapper);
            UpdateWrapper wrapper1=new UpdateWrapper();
            wrapper1.eq("parent_code",parentCode);
            wrapper1.eq("custom_code",customCode);
            wrapper1.eq("id",his.getId());
            wrapper1.set("enabled",1);
            flag=mapper.update(null,wrapper1);
            if(flag>0){
                //2.将选中的版本的历史信息查询出来
                qWrapper.eq("id",product.getId());
                ProductHistory pHistory=mapper.selectOne(qWrapper);
                /*qWrapper.eq("id",his.getId());
                ProductHistory pHistory=mapper.selectOne(qWrapper);*/
                //3:prodcut中删除旧的产品信息
                UpdateWrapper deleteWrapper=new UpdateWrapper();
                deleteWrapper.eq("parent_code",parentCode);
                deleteWrapper.eq("custom_code",customCode);
                deleteWrapper.eq("id",product.getId());
                productMapper.delete(deleteWrapper);
                //4.productBom中删除旧的信息
                if(product!=null){
@@ -148,14 +155,17 @@
                    bomWrapper.eq("product_id",product.getId());
                    productBomMapper.delete(bomWrapper);
                }
                if(pHistory!=null){
                if(his!=null){
                    // 5.在product中插入设定可用的pHistory
                    productMapper.insertPselectPH(pHistory.getId());
                    productMapper.insertPselectPH(his.getId());
                    //6.在productBom中插入pHsitoryBom查询出的数据
                    productBomMapper.insertBomSelectBomH(pHistory.getId(),pHistory.getSubVersionMax());
                    productBomMapper.insertBomSelectBomH(his.getId(),his.getSubVersionMax());
                }
            }
        }else{
            UpdateWrapper wrapper=new UpdateWrapper();
            wrapper.eq("parent_code",parentCode);
            wrapper.eq("custom_code",customCode);
            wrapper.eq("version",version);
            wrapper.set("enabled",0);
            flag=mapper.update(null,wrapper);
@@ -186,29 +196,6 @@
                    productMapper.update(null,wrapper_0120);
                }
            }
            /*if(flag>0){
                //
                QueryWrapper qWrapper=new QueryWrapper();
                qWrapper.eq("parent_code",parentCode);
                qWrapper.eq("custom_code",customCode);
                //1.查询当前product中的信息
                Product product=productMapper.selectOne(qWrapper);
                //2.prodcut中删除旧的产品信息
                UpdateWrapper deleteWrapper=new UpdateWrapper();
                deleteWrapper.eq("parent_code",parentCode);
                deleteWrapper.eq("custom_code",customCode);
                productMapper.delete(deleteWrapper);
                //3.删除productBom
                if(product!=null){
                    UpdateWrapper bomWrapper=new UpdateWrapper();
                    bomWrapper.eq("product_id",product.getId());
                    productBomMapper.delete(bomWrapper);
                }
            }*/
        }
        //锁定和解锁记录添加