zss
2023-11-07 3c34085a21511610477f555cebf3f6fa42272402
mes-basic/src/main/java/com/chinaztt/mes/basic/service/impl/ParamServiceImpl.java
@@ -22,6 +22,7 @@
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.chinaztt.mes.basic.dto.ParamPlusDto;
import com.chinaztt.mes.basic.entity.Param;
import com.chinaztt.mes.basic.entity.ParamJoinTemplate;
import com.chinaztt.mes.basic.excel.ParamData;
@@ -34,7 +35,10 @@
import lombok.AllArgsConstructor;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.List;
import java.util.stream.Collectors;
@@ -51,12 +55,36 @@
   private DictUtils dictUtils;
   @Override
   public R<Boolean> fullSave(Param param) {
   @Transactional(rollbackFor = Exception.class)
   public R<Boolean> fullSave(ParamPlusDto param) {
      int noCount = baseMapper.selectCount(Wrappers.<Param>lambdaQuery().eq(Param::getCode, param.getCode()));
      if (noCount > 0) {
         return R.failed("编号重复");
      }
      baseMapper.insert(param);
      List<SysDictItem> second_param = dictUtils.getDict("second_param");
      List<SysDictItem> third_param = dictUtils.getDict("third_param");
      Param father=new Param();
      father.setCode(param.getCode());
      father.setParameterItem(param.getParameterItem());
      baseMapper.insert(father);
      //二级参数
      param.getSecondId().forEach(s->{
         Param second=new Param();
         SysDictItem sysDictItem = second_param.stream().filter(p -> p.getId().equals(Integer.valueOf(String.valueOf(s)))).collect(Collectors.toList()).get(0);
         second.setParameterItem(sysDictItem.getLabel());
         second.setCode(""+s);
         second.setParentId(father.getId());
         baseMapper.insert(second);
         //三级
         param.getThirdId().forEach(t->{
            Param third=new Param();
            SysDictItem sysThirdDictItem = third_param.stream().filter(p -> p.getId().equals(Integer.valueOf(String.valueOf(t)))).collect(Collectors.toList()).get(0);
            third.setParameterItem(sysThirdDictItem.getLabel());
            third.setCode(""+t);
            third.setParentId(second.getId());
            baseMapper.insert(third);
         });
      });
      return R.ok();
   }
@@ -129,4 +157,16 @@
      }
   }
   private String codeMake() {
      // 固定字符串  GX + 年月日 + 01
      DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMMdd");
      String yrar = formatter.format(LocalDateTime.now());
      String code = "GX" + yrar;
      List<String> parameterItem = baseMapper.getNos(code);
      if (CollectionUtil.isEmpty(parameterItem)) {
         code = code + "01";
      }
      return code;
   }
}