Browse Source

刀模修改

master
shenzhouyu 2 months ago
parent
commit
e7b250fb8b
  1. 7
      src/main/java/com/xujie/sys/modules/pms/controller/DmBasicController.java
  2. 3
      src/main/java/com/xujie/sys/modules/pms/service/DmService.java
  3. 6
      src/main/java/com/xujie/sys/modules/pms/service/Impl/DmFaiServiceImpl.java
  4. 174
      src/main/java/com/xujie/sys/modules/pms/service/Impl/DmServiceImpl.java

7
src/main/java/com/xujie/sys/modules/pms/controller/DmBasicController.java

@ -396,4 +396,11 @@ public class DmBasicController {
qcService.qcFamilyAttributeDelete(data);
return R.ok();
}
@PostMapping("/upload")
public R upload(@RequestParam("file") MultipartFile[] list, @ModelAttribute GetParamInData inData){
List<SysOssEntity> ossEntity = dmService.upload(list, inData);
return R.ok().put("ossEntity", ossEntity);
}
}

3
src/main/java/com/xujie/sys/modules/pms/service/DmService.java

@ -1,6 +1,7 @@
package com.xujie.sys.modules.pms.service;
import com.xujie.sys.common.utils.PageUtils;
import com.xujie.sys.modules.oss.entity.SysOssEntity;
import com.xujie.sys.modules.pms.data.*;
import com.xujie.sys.modules.pms.entity.vo.CheckSubDetailValueVo;
import org.springframework.web.multipart.MultipartFile;
@ -179,4 +180,6 @@ public interface DmService {
void dmDeleteItemObject(EamObjectInData data);
void dmUpdateItemObject(EamObjectInData data);
List<SysOssEntity> upload(MultipartFile[] list, GetParamInData inData);
}

6
src/main/java/com/xujie/sys/modules/pms/service/Impl/DmFaiServiceImpl.java

@ -64,6 +64,7 @@ public class DmFaiServiceImpl implements DmFaiService {
dmFaiMapper.updateDMFAIMasterRecord(data);
for (QcFAIRecordData item : data.getItemList()) {
dmFaiMapper.updateDMFAIDetailedRecord(item);
}
qcMapper.delOperator(data);
List<QcOperatorData> operators = new ArrayList<>();
@ -98,9 +99,9 @@ public class DmFaiServiceImpl implements DmFaiService {
if (!operators.isEmpty()) {
qcMapper.saveOperator(operators);
}
if ("2".equals(data.getType()) && "合格".equals(data.getInspectionResult()) && StringUtils.isNotBlank(data.getSku())) {
/*if ("2".equals(data.getType()) && "合格".equals(data.getInspectionResult()) && StringUtils.isNotBlank(data.getSku())) {
dmFaiMapper.updateToolDetailIsInspectionBySku(data);
}
}*/
}
@Override
@ -110,6 +111,7 @@ public class DmFaiServiceImpl implements DmFaiService {
dmFaiMapper.updateDMFAIMasterSubmitFlag(row);
dmFaiMapper.updateDMFAIDetailSubmitFlag(row);
dmFaiMapper.updateDMFAISubDetailSubmitFlag(row);
dmFaiMapper.updateToolDetailIsInspectionBySku(data);
}
}

174
src/main/java/com/xujie/sys/modules/pms/service/Impl/DmServiceImpl.java

@ -2,7 +2,12 @@ package com.xujie.sys.modules.pms.service.Impl;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.xujie.sys.common.exception.XJException;
import com.xujie.sys.common.utils.DateUtils;
import com.xujie.sys.common.utils.PageUtils;
import com.xujie.sys.common.utils.RandomUtil;
import com.xujie.sys.modules.oss.entity.SysOssEntity;
import com.xujie.sys.modules.oss.service.SysOssService;
import com.xujie.sys.modules.pms.data.*;
import com.xujie.sys.modules.pms.entity.vo.CheckSubDetailValueVo;
import com.xujie.sys.modules.pms.mapper.DmTemplateMapper;
@ -17,16 +22,18 @@ import com.xujie.sys.modules.sys.entity.SysSceneDynamicControlModelEntity;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.multipart.MultipartFile;
import java.io.File;
import java.io.FileOutputStream;
import java.io.OutputStream;
import java.math.BigDecimal;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.Comparator;
import java.util.List;
import java.util.*;
import java.util.stream.Collectors;
import org.apache.commons.lang3.StringUtils;
@ -48,6 +55,10 @@ public class DmServiceImpl implements DmService {
private RedisTemplate<String, Object> redisTemplate;
@Autowired
private SeqRuleService seqRuleService;
@Value("${sys-file.file-path}")
private String filePath;
@Autowired
private SysOssService sysOssService;
private static final Logger logger = LoggerFactory.getLogger(HttpClientUtil.class);
@Override
@ -710,40 +721,43 @@ public class DmServiceImpl implements DmService {
@Override
public List<DmAttributeTemplateItemData> dmAttributeTemplateItemDetailsSearch(DmAttributeTemplateItemData data) {
// 需求并集返回覆盖表 + 属性项目表 itemNo 以覆盖表为准
List<DmAttributeTemplateItemData> propertyList = dmMapper.dmAttributeTemplateItemPropertyList(data);
List<DmAttributeTemplateItemData> overrideList = dmMapper.dmAttributeTemplateItemDetailsSearch(data);
java.util.LinkedHashMap<String, DmAttributeTemplateItemData> merged = new java.util.LinkedHashMap<>();
// 先放属性项目表基表
if (propertyList != null) {
for (DmAttributeTemplateItemData p : propertyList) {
merged.put(p.getItemNo(), p);
}
}
// 再放覆盖表 key 自动覆盖
if (overrideList != null) {
for (DmAttributeTemplateItemData o : overrideList) {
merged.put(o.getItemNo(), o);
}
}
List<DmAttributeTemplateItemData> result = new ArrayList<>(merged.values());
// orderId 覆盖表优先按 orderId orderId 的按 itemNo
result.sort((a, b) -> {
Integer oa = a.getOrderId() == null ? Integer.MAX_VALUE : a.getOrderId();
Integer ob = b.getOrderId() == null ? Integer.MAX_VALUE : b.getOrderId();
int cmp = oa.compareTo(ob);
if (cmp != 0) {
return cmp;
}
String ia = a.getItemNo() == null ? "" : a.getItemNo();
String ib = b.getItemNo() == null ? "" : b.getItemNo();
return ia.compareTo(ib);
});
return result;
// 当前需求仅查询 dm_attribute_template_item不再做覆盖表 + 属性项目表合并展示
return dmMapper.dmAttributeTemplateItemDetailsSearch(data);
// 原合并展示逻辑暂注释保留
// List<DmAttributeTemplateItemData> propertyList = dmMapper.dmAttributeTemplateItemPropertyList(data);
// List<DmAttributeTemplateItemData> overrideList = dmMapper.dmAttributeTemplateItemDetailsSearch(data);
//
// java.util.LinkedHashMap<String, DmAttributeTemplateItemData> merged = new java.util.LinkedHashMap<>();
//
// // 先放属性项目表基表
// if (propertyList != null) {
// for (DmAttributeTemplateItemData p : propertyList) {
// merged.put(p.getItemNo(), p);
// }
// }
//
// // 再放覆盖表 key 自动覆盖
// if (overrideList != null) {
// for (DmAttributeTemplateItemData o : overrideList) {
// merged.put(o.getItemNo(), o);
// }
// }
//
// List<DmAttributeTemplateItemData> result = new ArrayList<>(merged.values());
// // orderId 覆盖表优先按 orderId orderId 的按 itemNo
// result.sort((a, b) -> {
// Integer oa = a.getOrderId() == null ? Integer.MAX_VALUE : a.getOrderId();
// Integer ob = b.getOrderId() == null ? Integer.MAX_VALUE : b.getOrderId();
// int cmp = oa.compareTo(ob);
// if (cmp != 0) {
// return cmp;
// }
// String ia = a.getItemNo() == null ? "" : a.getItemNo();
// String ib = b.getItemNo() == null ? "" : b.getItemNo();
// return ia.compareTo(ib);
// });
// return result;
}
@Override
@ -1634,4 +1648,90 @@ public class DmServiceImpl implements DmService {
dmMapper.updateDmItemObject(row);
}
}
/**
* 文件上传
*/
@Override
public List<SysOssEntity> upload(MultipartFile[] list, GetParamInData inData) {
if (Objects.isNull(list) || list.length == 0) {
throw new XJException("上传文件不能为空");
}
List<SysOssEntity> ossEntityList = new ArrayList<>();
for (MultipartFile file : list) {
// 保存文件信息
SysOssEntity ossEntity = new SysOssEntity();
// 处理文件后缀
int chartIndex = file.getOriginalFilename().lastIndexOf(".");
String suffix = "";
String fileName = "";
// 判断是否存在
if (chartIndex > 0) {
suffix = file.getOriginalFilename().substring(chartIndex);
fileName = file.getOriginalFilename().substring(0, chartIndex);
}
String newFileName = RandomUtil.getOrderNoByAtomic1("file") + suffix;
String basePath = filePath;
String baseDatePath = DateUtils.format(new Date());
File baseFilePath = new File(basePath + "\\" + baseDatePath + "\\" + inData.getFolder());
if (!baseFilePath.exists()) {
baseFilePath.mkdirs();
}
//最终的目录
String finalFileName = baseFilePath.getPath() + "\\" + newFileName;
try {
baseFilePath = multipartFileToFile(file, finalFileName);
}catch (Exception e){
throw new XJException(e.getMessage());
}
ossEntity.setUrl(baseFilePath.getPath());
ossEntity.setCreatedBy(inData.getCreateBy());
ossEntity.setFileType(suffix.substring(1));
ossEntity.setFileName(fileName+suffix);
ossEntity.setNewFileName(newFileName);
ossEntity.setCreateDate(new Date());
ossEntity.setOrderRef1(inData.getOrderRef1());
ossEntity.setOrderRef2(inData.getOrderRef2());
ossEntity.setOrderRef3(inData.getOrderRef3());
ossEntity.setOrderRef4(inData.getOrderRef4());
ossEntity.setOrderReftype("刀模图纸");
sysOssService.save(ossEntity);
ossEntityList.add(ossEntity);
}
return ossEntityList;
}
public static File multipartFileToFile(MultipartFile file ,String fileName) throws Exception {
File toFile = null;
if (file.equals("") || file.getSize() <= 0) {
file = null;
} else {
InputStream ins = null;
ins = file.getInputStream();
if(fileName != null && !"".equals(fileName)){
toFile = new File(fileName);
}else{
toFile = new File(file.getOriginalFilename());
}
inputStreamToFile(ins, toFile);
ins.close();
}
return toFile;
}
//获取流文件
private static void inputStreamToFile(InputStream ins, File file) {
try {
OutputStream os = new FileOutputStream(file);
int bytesRead = 0;
byte[] buffer = new byte[8192];
while ((bytesRead = ins.read(buffer, 0, 8192)) != -1) {
os.write(buffer, 0, bytesRead);
}
os.close();
ins.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
Loading…
Cancel
Save