mes-basic/src/main/java/com/chinaztt/mes/basic/controller/BasicParamTemplateController.java
@@ -25,7 +25,6 @@ import com.chinaztt.mes.common.wrapper.QueryWrapperUtil; import com.chinaztt.ztt.common.core.util.R; import com.chinaztt.ztt.common.log.annotation.SysLog; import com.chinaztt.ztt.common.security.annotation.Inner; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.AllArgsConstructor; @@ -82,6 +81,7 @@ @ApiOperation(value = "å¯¼å ¥çæ¨¡æ¿çä¸è½½", notes = "å¯¼å ¥çæ¨¡æ¿çä¸è½½") @GetMapping("/uploadTemplate/{fileName}" ) public void uploadTemplate(@PathVariable String fileName, HttpServletResponse response) { System.out.println(fileName); basicParamTemplateService.uploadTemplate(response, fileName); } /** mes-basic/src/main/java/com/chinaztt/mes/basic/controller/ParamController.java
@@ -18,13 +18,18 @@ package com.chinaztt.mes.basic.controller; import com.alibaba.excel.EasyExcel; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.chinaztt.mes.basic.dto.ParamDTO; import com.chinaztt.mes.basic.dto.ParamPlusDto; import com.chinaztt.mes.basic.entity.Param; import com.chinaztt.mes.basic.excel.ParamData; import com.chinaztt.mes.basic.excel.ParamUploadListener; import com.chinaztt.mes.basic.service.ParamService; import com.chinaztt.mes.basic.util.DictUtils; import com.chinaztt.mes.common.util.JsonUtil; import com.chinaztt.mes.common.wrapper.QueryWrapperUtil; import com.chinaztt.ztt.admin.api.entity.SysDictItem; import com.chinaztt.ztt.common.core.util.R; import com.chinaztt.ztt.common.log.annotation.SysLog; import io.swagger.annotations.Api; @@ -35,6 +40,8 @@ import org.springframework.web.multipart.MultipartFile; import java.io.IOException; import java.util.*; import java.util.stream.Collectors; /** @@ -51,6 +58,7 @@ private final ParamService paramService; private DictUtils dictUtils; /** * å页æ¥è¯¢ * @@ -62,7 +70,43 @@ @GetMapping("/page") @PreAuthorize("@pms.hasPermission('technology_param_view','product_workbench')") public R getParamPage(Page page, ParamDTO param) { return R.ok(paramService.page(page, QueryWrapperUtil.gen(param))); List<SysDictItem> dict = dictUtils.getDict("technology_param"); System.out.println(dict); Page page1 = paramService.page(page, QueryWrapperUtil.gen(param)); List records = page1.getRecords(); List<Map>all = new ArrayList<Map>(); records.forEach(l->{ Map pojo = JsonUtil.jsonToPojo(JsonUtil.jsonToString(l), Map.class); Optional.ofNullable(pojo.get("type")).ifPresent(o->{ pojo.put("type",dict.stream().filter(d-> Objects.equals(String.valueOf(d.getValue()),pojo.get("type"))).collect(Collectors.toList()).get(0).getLabel()); }); QueryWrapper<Param>queryWrapper=new QueryWrapper<>(); queryWrapper.lambda().eq(Param::getParentId,pojo.get("id")); List<Param> secondList = paramService.list(queryWrapper); List<Map>secondMapList = new ArrayList<>(); secondList.forEach(s->{ Map second = JsonUtil.jsonToPojo(JsonUtil.jsonToString(s), Map.class); Optional.ofNullable(second.get("type")).ifPresent(o->{ second.put("type",dict.stream().filter(d-> Objects.equals(String.valueOf(d.getValue()),second.get("type"))).collect(Collectors.toList()).get(0).getLabel()); }); System.out.println(second); QueryWrapper<Param>queryWrapperSecond=new QueryWrapper<>(); queryWrapperSecond.lambda().eq(Param::getParentId,second.get("id")); List<Param> third = paramService.getBaseMapper().selectList(queryWrapperSecond); third.forEach(t->{ Optional.ofNullable(t.getType()).ifPresent(o->{ t.setType(dict.stream().filter(d-> Objects.equals(String.valueOf(d.getValue()),t.getType())).collect(Collectors.toList()).get(0).getLabel()); }); }); System.out.println(third); second.put("children",third); secondMapList.add(second); }); pojo.put("children",secondMapList); all.add(pojo); }); page1.setRecords(all); return R.ok(page1); } /** @@ -104,7 +148,7 @@ @SysLog("æ°å¢å·¥åºåæ°è¡¨") @PostMapping @PreAuthorize("@pms.hasPermission('technology_param_add')") public R save(@RequestBody Param param) { public R save(@RequestBody ParamPlusDto param) { return R.ok(paramService.fullSave(param)); } mes-basic/src/main/java/com/chinaztt/mes/basic/dto/ParamDTO.java
@@ -2,7 +2,6 @@ import com.chinaztt.mes.basic.entity.Param; import com.chinaztt.ztt.admin.api.entity.SysDictItem; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.List; @@ -37,6 +36,5 @@ * æ°æ®åå ¸ */ private List<SysDictItem> sysDictItemList; } mes-basic/src/main/java/com/chinaztt/mes/basic/dto/ParamPlusDto.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,23 @@ package com.chinaztt.mes.basic.dto; import lombok.Data; import java.io.Serializable; import java.util.List; /** * @Author å¼ å®¾ * @Date 2023/11/2 */ @Data public class ParamPlusDto implements Serializable { private String parameterItem; private String code; private List<Long> secondId; private List<Long> thirdId; } mes-basic/src/main/java/com/chinaztt/mes/basic/entity/Param.java
@@ -103,4 +103,12 @@ */ @ApiModelProperty(value="æ°æ®åå ¸") private String dict; } @ApiModelProperty(value="ç¶çº§åæ°") @TableField("parent_id") private Long parentId; public Param() { this.parentId=0L; } } mes-basic/src/main/java/com/chinaztt/mes/basic/enums/FileEnums.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,38 @@ package com.chinaztt.mes.basic.enums; /** * @Author å¼ å®¾ * @Date 2023/11/1 */ public enum FileEnums { warehouse("warehouse","ä»åº"), location("location","åºä½") ; FileEnums(String name, String fileName) { this.name = name; this.fileName = fileName; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getFileName() { return fileName; } public void setFileName(String fileName) { this.fileName = fileName; } private String name,fileName; public static String getFileName(String name) { return FileEnums.valueOf(name).getFileName(); } } mes-basic/src/main/java/com/chinaztt/mes/basic/excel/LocationData.java
@@ -1,8 +1,6 @@ package com.chinaztt.mes.basic.excel; import com.alibaba.excel.annotation.ExcelProperty; import com.baomidou.mybatisplus.annotation.Unique; import io.swagger.annotations.ApiModelProperty; import lombok.Data; /** @@ -20,21 +18,28 @@ */ @ExcelProperty("åºä½åç§°") private String locName; @ExcelProperty("åºä½ç±»åï¼çº¿è¾¹ä»ï¼äº§åºåæ ¼åºä½ï¼äº§åºå¾ æ£åºä½ï¼ä¸åæ ¼åºä½ï¼å¾ å¤çåºä½ï¼æºå°åºï¼") private String locType; /** * ä»åºåç§° */ @ExcelProperty("ä»åºåç§°") @ExcelProperty("æå±ä»åº") private String warehouseName; /** * ä»åºåç§° */ @ExcelProperty("å·¥åid") @ExcelProperty("ä»åºç¶æ") private String locState; private Long factoryId; /** * ä»åºåç§° */ @ExcelProperty("å·¥ååç»") private Long locGroup; @ExcelProperty("å·¥å") private String factoryName; @ExcelProperty("IFSåºä½") private String ifsLocation; private Long warehouseId; } mes-basic/src/main/java/com/chinaztt/mes/basic/excel/LocationUploadListener.java
@@ -5,12 +5,10 @@ import com.baomidou.mybatisplus.core.toolkit.StringUtils; import com.chinaztt.mes.basic.entity.Warehouse; import com.chinaztt.mes.basic.service.LocationService; import com.chinaztt.mes.basic.service.WarehouseService; import java.util.ArrayList; import java.util.List; import java.util.Map; import java.util.stream.Collectors; /** * @author ZTT @@ -31,14 +29,14 @@ public void invoke(LocationData data, AnalysisContext analysisContext) { if (StringUtils.isBlank(data.getWarehouseName())) { throw new RuntimeException("缺å°ä»åºåç§°"); throw new RuntimeException("缺å°ä»åºåç§°=====ãåºä½å为ï¼"+data.getLocName()); } if (null == warehouseMap.get(data.getWarehouseName())) { throw new RuntimeException("è¯·å¡«åæ£ç¡®çåºä½"); throw new RuntimeException("ç³»ç»ææ æ¤ä»åº====>ä»åºå为ï¼"+data.getWarehouseName()); } Warehouse warehouse = warehouseMap.get(data.getWarehouseName()); data.setFactoryId(warehouse.getFactoryId()); data.setLocGroup(warehouse.getId()); data.setWarehouseId(warehouse.getId()); list.add(data); if (list.size() >= BATCH_COUNT) { save(); mes-basic/src/main/java/com/chinaztt/mes/basic/excel/WarehouseData.java
@@ -1,8 +1,6 @@ package com.chinaztt.mes.basic.excel; import com.alibaba.excel.annotation.ExcelProperty; import com.baomidou.mybatisplus.annotation.Unique; import io.swagger.annotations.ApiModelProperty; import lombok.Data; /** @@ -26,7 +24,9 @@ @ExcelProperty("ä»åºç±»å") private String type; @ExcelProperty("å·¥ååç§°") @ExcelProperty("å·¥å") private String factoryName; @ExcelProperty("ä»åºç¶æ") private String state; } mes-basic/src/main/java/com/chinaztt/mes/basic/service/ParamService.java
@@ -23,6 +23,7 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.chinaztt.mes.basic.entity.Param; import com.chinaztt.mes.basic.excel.ParamData; import com.chinaztt.mes.basic.dto.ParamPlusDto; import com.chinaztt.ztt.common.core.util.R; import java.util.List; @@ -42,7 +43,7 @@ * @param ids * @return */ R<Boolean> fullSave(Param param); R<Boolean> fullSave(ParamPlusDto param); /** * ä¿®æ¹ mes-basic/src/main/java/com/chinaztt/mes/basic/service/impl/BasicParamTemplateServiceImpl.java
@@ -17,6 +17,7 @@ package com.chinaztt.mes.basic.service.impl; import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.io.IoUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.StringUtils; @@ -28,6 +29,7 @@ import com.chinaztt.mes.basic.entity.ParamJoinTemplate; import com.chinaztt.mes.basic.entity.Template; import com.chinaztt.mes.basic.entity.TemplateTypeRelation; import com.chinaztt.mes.basic.enums.FileEnums; import com.chinaztt.mes.basic.mapper.BasicParamTemplateMapper; import com.chinaztt.mes.basic.mapper.ParamJoinTemplateMapper; import com.chinaztt.mes.basic.mapper.ParamMapper; @@ -41,6 +43,9 @@ import org.springframework.transaction.annotation.Transactional; import javax.servlet.http.HttpServletResponse; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; import java.util.ArrayList; import java.util.List; @@ -147,20 +152,22 @@ @Override public void uploadTemplate(HttpServletResponse response, String fileName) { //è·ååå ¸çæ°ç»å¼ //List<SysDictItem> dict = dictUtils.getDict("template_upload"); //if (CollectionUtil.isNotEmpty(dict)) { // dict.forEach(a -> { // if (a.getLabel().equals(fileName)) { // try (InputStream inputStream = minioTemplate.getObject("template", a.getValue())) { // response.setContentType("application/octet-stream; charset=UTF-8"); // IoUtil.copy(inputStream, response.getOutputStream()); // } catch (Exception e) { // log.error("æä»¶è¯»åå¼å¸¸: {}", e.getLocalizedMessage()); // } // } // }); //} String name = FileEnums.getFileName(fileName); InputStream ins = null; try { ins = new FileInputStream("D:/file/å¯¼å ¥æ¨¡æ¿/" + name + ".xlsx"); response.setContentType("application/octet-stream; charset=UTF-8"); IoUtil.copy(ins, response.getOutputStream()); } catch (IOException e) { e.printStackTrace(); } finally { try { assert ins != null; ins.close(); } catch (IOException e) { e.printStackTrace(); } } } @Override mes-basic/src/main/java/com/chinaztt/mes/basic/service/impl/LocationServiceImpl.java
@@ -19,7 +19,6 @@ import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; @@ -31,12 +30,12 @@ import com.chinaztt.mes.basic.dto.LocationDTO; import com.chinaztt.mes.basic.dto.LocationIfsMoveDTO; import com.chinaztt.mes.basic.entity.Location; import com.chinaztt.mes.basic.entity.Warehouse; import com.chinaztt.mes.basic.excel.LocationData; import com.chinaztt.mes.basic.mapper.LocationMapper; import com.chinaztt.mes.basic.mapper.WarehouseMapper; import com.chinaztt.mes.basic.service.LocationService; import com.chinaztt.mes.basic.service.WarehouseService; import com.chinaztt.mes.basic.util.DictUtils; import com.chinaztt.ztt.admin.api.entity.SysDictItem; import com.chinaztt.ztt.admin.api.feign.RemoteParamService; import com.chinaztt.ztt.common.core.constant.SecurityConstants; import com.chinaztt.ztt.common.core.util.R; @@ -47,8 +46,6 @@ import java.util.ArrayList; import java.util.List; import java.util.Map; import java.util.stream.Collector; import java.util.stream.Collectors; /** * åºä½åºç¡æ°æ® @@ -64,7 +61,7 @@ public static final String CONTRACT = "IFS_DOMAIN"; private RemoteParamService remoteParamService; private IfsFeignClient ifsFeignClient; private DictUtils dictUtils; @Override public IPage<List<Location>> getLoc(Page page, QueryWrapper<LocationDTO> ew) { return baseMapper.getLoc(page, ew); @@ -90,12 +87,24 @@ if (CollectionUtil.isEmpty(list)) { return; } List<SysDictItem> dict = dictUtils.getDict("warehouse_type"); for (LocationData data : list) { Location newLocation = new Location(); dict.forEach(a->{ if (a.getLabel().equals(data.getLocType())){ newLocation.setLocType(a.getValue()); } }); if("å¯ç¨".equals(data.getLocState())){ newLocation.setLocStatus(1); }else{ newLocation.setLocStatus(0); } newLocation.setFactoryId(data.getFactoryId()); newLocation.setLocGroup(data.getLocGroup()); newLocation.setLocGroup(data.getWarehouseId()); newLocation.setLocName(data.getLocName()); newLocation.setLocNo(data.getLocNo()); newLocation.setIfsLocation(data.getIfsLocation()); baseMapper.insert(newLocation); } } 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,6 +35,7 @@ import lombok.AllArgsConstructor; import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.List; import java.util.stream.Collectors; @@ -51,12 +53,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(); } mes-basic/src/main/java/com/chinaztt/mes/basic/service/impl/WarehouseServiceImpl.java
@@ -21,13 +21,10 @@ import cn.hutool.core.io.IoUtil; import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; 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.entity.Factory; import com.chinaztt.mes.basic.entity.Warehouse; import com.chinaztt.mes.basic.excel.WarehouseData; import com.chinaztt.mes.basic.mapper.FactoryMapper; @@ -43,6 +40,7 @@ import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletResponse; @@ -50,6 +48,7 @@ import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Objects; /** * ä»åºåºç¡æ°æ® @@ -130,35 +129,33 @@ } @Override @Transactional(rollbackFor = Exception.class) public void importWarehouseExcel(List<WarehouseData> list) { if (CollectionUtil.isEmpty(list)) { return; } List<SysDictItem> dict = dictUtils.getDict("warehouse_type"); List<Factory> factoryList =factoryMapper.selectList(null); List<SysDictItem> dict = dictUtils.getDict("storehouse_type"); for (WarehouseData data :list){ QueryWrapper<Warehouse> wrapper = new QueryWrapper<>(); wrapper.lambda().eq(Warehouse::getWarehouseName,data.getWarehouseName()); Warehouse warehouse1 = baseMapper.selectOne(wrapper); if(!Objects.isNull(warehouse1)){ continue; } Warehouse warehouse = new Warehouse(); dict.forEach(a -> { if (a.getLabel().equals(data.getType())){ warehouse.setWarehouseType(a.getValue()); } }); factoryList.forEach(b -> { if (b.getFactoryName().equals(data.getFactoryName())){ warehouse.setFactoryId(b.getId()); } }); if (warehouse.getFactoryId()==null){ log.error("å·¥å:" + data.getWarehouseName() + "ä¸åå¨"); continue; if("å¯ç¨".equals(data.getState())){ warehouse.setWarehouseStatus(1); }else{ warehouse.setWarehouseStatus(0); } if(warehouse.getWarehouseType()==null){ log.error("ä»åºç±»å:" + data.getType() + "ä¸åå¨"); continue; }; warehouse.setWarehouseNo(data.getWarehouseNo()); warehouse.setWarehouseName(data.getWarehouseName()); warehouse.setWarehouseStatus(1); //warehouse.setWarehouseStatus(1); baseMapper.insert(warehouse); } } mes-basic/src/main/resources/mapper/ParamMapper.xml
@@ -38,6 +38,7 @@ <result property="index" column="index"/> <result property="paramValue" column="param_value"/> <result property="defaultValue" column="default_value"/> <result property="parentId" column="parent_id"/> <result property="dict" column="dict"/> <collection property="sysDictItemList" ofType="com.chinaztt.ztt.admin.api.entity.SysDictItem" column="dict" select="com.chinaztt.mes.basic.mapper.ParamMapper.getDict"> µ¼ÈëÄ£°å/²Ö¿â.xlsxBinary files differ
µ¼ÈëÄ£°å/¿âλ.xlsxBinary files differ
µ¼ÈëÄ£°å/²¿ÃÅ.xlsxBinary files differ