Compare commits
32 Commits
ae243ec0a2
...
master
Author | SHA1 | Date | |
---|---|---|---|
27111d6f87 | |||
22587804c5 | |||
5bd5146105 | |||
68f56278a5 | |||
9e2a28914e | |||
289dbe69d6 | |||
2105a7640d | |||
642052ebd3 | |||
36c9e0d386 | |||
c49ed5cea5 | |||
6f0dc85929 | |||
bb0299c323 | |||
b8f3bab4c1 | |||
6c806ce639 | |||
18b3ef6318 | |||
b284577437 | |||
5f2e367acc | |||
f053a7011c | |||
72a1c46c21 | |||
1e6c1143da | |||
3dd86a12bf | |||
6e62f0de5a | |||
c452fbc650 | |||
58b235d078 | |||
31d41e971c | |||
a8486953bc | |||
9c77ac0ccf | |||
a995d08f6f | |||
7690f14c0d | |||
f11ae30b77 | |||
b757013382 | |||
1ddf362e05 |
50
src/main/java/com/xkrs/controller/CraftItemController.java
Normal file
50
src/main/java/com/xkrs/controller/CraftItemController.java
Normal file
@ -0,0 +1,50 @@
|
||||
package com.xkrs.controller;
|
||||
|
||||
import com.xkrs.model.qo.CraftItemQoDelete;
|
||||
import com.xkrs.model.qo.CraftItemQoInsert;
|
||||
import com.xkrs.model.qo.CraftItemQoUpdate;
|
||||
import com.xkrs.service.CraftItemService;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
|
||||
@RestController
|
||||
public class CraftItemController {
|
||||
|
||||
@Resource
|
||||
private CraftItemService craftItemService;
|
||||
|
||||
/**
|
||||
* 添加工艺项目
|
||||
*/
|
||||
@PostMapping("/insertCraftItem")
|
||||
public String insertCraftItem(@RequestBody CraftItemQoInsert insertQo) {
|
||||
return craftItemService.insertCraftItem(insertQo);
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除工艺项目
|
||||
*/
|
||||
@PostMapping("/deleteCraftItem")
|
||||
public String deleteCraftItem(@RequestBody CraftItemQoDelete deleteQo) {
|
||||
return craftItemService.deleteCraftItem(deleteQo);
|
||||
}
|
||||
|
||||
/**
|
||||
* 更新工艺项目名称
|
||||
*/
|
||||
@PostMapping("/updateCraftItem")
|
||||
public String updateCraftItem(@RequestBody CraftItemQoUpdate updateQo) {
|
||||
return craftItemService.updateCraftItem(updateQo);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询工艺项目
|
||||
*/
|
||||
@GetMapping("/queryCraftItem")
|
||||
public String queryCraftItem(@RequestParam(required = false, value = "no") String no, @RequestParam(required = false, value = "name") String name) {
|
||||
return craftItemService.queryCraftItem(no, name);
|
||||
}
|
||||
|
||||
|
||||
}
|
@ -1,95 +0,0 @@
|
||||
package com.xkrs.controller;
|
||||
|
||||
import com.xkrs.dao.DataDictDao;
|
||||
import com.xkrs.encapsulation.PromptMessageEnum;
|
||||
import com.xkrs.model.entity.DataDict;
|
||||
import com.xkrs.model.qo.DataDictQo;
|
||||
import com.xkrs.model.qo.DataDictUpdateQo;
|
||||
import com.xkrs.service.DataDictService;
|
||||
import com.xkrs.util.DataDictQuery;
|
||||
import org.springframework.context.i18n.LocaleContextHolder;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import javax.transaction.Transactional;
|
||||
import java.util.List;
|
||||
import java.util.Locale;
|
||||
import java.util.Optional;
|
||||
|
||||
import static com.xkrs.encapsulation.OutputEncapsulation.outputEncapsulationObject;
|
||||
|
||||
/**
|
||||
* @Author: XinYi Song
|
||||
* @Date: 2022/1/19 10:54
|
||||
*/
|
||||
@RestController
|
||||
public class DataDictController {
|
||||
|
||||
@Resource
|
||||
private DataDictService dataDictService;
|
||||
|
||||
@Resource
|
||||
private DataDictDao dataDictDao;
|
||||
|
||||
@Resource
|
||||
private DataDictQuery dataDictQuery;
|
||||
|
||||
/**
|
||||
* 添加字典变量数据
|
||||
*
|
||||
* @param dataDictQo
|
||||
* @return
|
||||
*/
|
||||
@PostMapping("/insertDataDict")
|
||||
public String insertDataDict(@RequestBody DataDictQo dataDictQo) {
|
||||
return dataDictService.insertDataDict(dataDictQo);
|
||||
}
|
||||
|
||||
/**
|
||||
* 动态多条件查询字典信息
|
||||
*
|
||||
* @param inspectionItemName
|
||||
* @param inspectionItemCode
|
||||
* @return
|
||||
*/
|
||||
@GetMapping("/selectDataDict")
|
||||
public String selectDataDict(@RequestParam("inspectionItemName") String inspectionItemName,
|
||||
@RequestParam("inspectionItemCode") String inspectionItemCode) {
|
||||
Locale locale = LocaleContextHolder.getLocale();
|
||||
List<DataDict> dataDict = dataDictQuery.selectDataDict(inspectionItemName, inspectionItemCode);
|
||||
if (dataDict == null || dataDict.size() == 0) {
|
||||
return outputEncapsulationObject(PromptMessageEnum.DATA_NONE, "暂时还没有该型号类型的字典信息!", locale);
|
||||
}
|
||||
return outputEncapsulationObject(PromptMessageEnum.SUCCESS, dataDict, locale);
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据id查询字典信息,用于数据回显,方便进行修改操作
|
||||
*
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
@GetMapping("/selectDataDictById")
|
||||
public String selectDataDictById(@RequestParam("id") Integer id) {
|
||||
Locale locale = LocaleContextHolder.getLocale();
|
||||
Optional<DataDict> byId = dataDictDao.findById(id);
|
||||
if (byId.isEmpty()) {
|
||||
return outputEncapsulationObject(PromptMessageEnum.DATA_NONE, "暂时还没有该型号类型的字典信息!", locale);
|
||||
}
|
||||
return outputEncapsulationObject(PromptMessageEnum.SUCCESS, byId.get(), locale);
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据id修改字典信息
|
||||
*
|
||||
* @param dataDictUpdateQo
|
||||
* @return
|
||||
*/
|
||||
@PostMapping("/updateDict")
|
||||
@Transactional(rollbackOn = Exception.class)
|
||||
public String updateDict(@RequestBody DataDictUpdateQo dataDictUpdateQo) {
|
||||
Locale locale = LocaleContextHolder.getLocale();
|
||||
dataDictDao.updateDict(dataDictUpdateQo.getId(), dataDictUpdateQo.getInspectionItemName());
|
||||
return outputEncapsulationObject(PromptMessageEnum.SUCCESS, "修改成功!", locale);
|
||||
}
|
||||
}
|
@ -1,118 +0,0 @@
|
||||
package com.xkrs.controller;
|
||||
|
||||
import com.xkrs.dao.DataSourceDao;
|
||||
import com.xkrs.dao.PictureDao;
|
||||
import com.xkrs.encapsulation.PromptMessageEnum;
|
||||
import com.xkrs.model.entity.DataSource;
|
||||
import com.xkrs.model.qo.DataSourceQo;
|
||||
import com.xkrs.service.DataSourceService;
|
||||
import com.xkrs.util.DataSourceQuery;
|
||||
import org.apache.http.util.TextUtils;
|
||||
import org.springframework.context.i18n.LocaleContextHolder;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Locale;
|
||||
import java.util.Map;
|
||||
|
||||
import static com.xkrs.encapsulation.OutputEncapsulation.outputEncapsulationObject;
|
||||
|
||||
/**
|
||||
* @Author: XinYi Song
|
||||
* @Date: 2022/1/19 17:05
|
||||
*/
|
||||
@RestController
|
||||
public class DataSourceController {
|
||||
|
||||
@Resource
|
||||
private DataSourceService dataSourceService;
|
||||
|
||||
@Resource
|
||||
private DataSourceQuery dataSourceQuery;
|
||||
|
||||
@Resource
|
||||
private DataSourceDao dataSourceDao;
|
||||
|
||||
@Resource
|
||||
private PictureDao pictureDao;
|
||||
|
||||
/**
|
||||
* 添加测量数据
|
||||
*
|
||||
* @param dataSourceQo
|
||||
* @return
|
||||
*/
|
||||
@PostMapping("/insertDataSource")
|
||||
public String insertDataSource(@RequestBody DataSourceQo dataSourceQo) {
|
||||
return dataSourceService.insertDataSource(dataSourceQo);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询某一产品的测量信息
|
||||
*
|
||||
* @param lotNo 批次号
|
||||
* @param machineNo 机器号
|
||||
* @param materialNo 物料号
|
||||
* @param modelNo 模具号
|
||||
* @param machineTypeNo 机种号
|
||||
* @param craftItemName 工艺项目名称
|
||||
* @return
|
||||
*/
|
||||
@GetMapping("/selectDataSource")
|
||||
public String selectDataSource(@RequestParam(required = false, value = "lotNo") String lotNo, @RequestParam(required = false, value = "machineNo") String machineNo, @RequestParam(required = false, value = "materialNo") String materialNo, @RequestParam(required = false, value = "modelNo") String modelNo, @RequestParam(required = false, value = "machineTypeNo") String machineTypeNo, @RequestParam(required = false, value = "craftItemName") String craftItemName) {
|
||||
Locale locale = LocaleContextHolder.getLocale();
|
||||
List<Map<String, String>> groupList = dataSourceDao.selectAllDataSourceGroup();
|
||||
if (groupList == null || groupList.isEmpty()) {
|
||||
return outputEncapsulationObject(PromptMessageEnum.DATA_NONE, "暂时没有该产品的测量信息!", locale);
|
||||
}
|
||||
List<List<DataSource>> dataSourceListList = new ArrayList<>();
|
||||
for (Map<String, String> group : groupList) {
|
||||
String groupNameLotNo = group.get("lotNo");
|
||||
String groupNameMachineNo = group.get("machineNo");
|
||||
String groupNameMaterialNo = group.get("materialNo");
|
||||
String groupNameModelNo = group.get("modelNo");
|
||||
String groupNameMachineTypeNo = group.get("machineTypeNo");
|
||||
String groupNameCraftItemName = group.get("craftItemName");
|
||||
if (!TextUtils.isEmpty(lotNo) && !lotNo.equals(groupNameLotNo)) {
|
||||
continue;
|
||||
}
|
||||
if (!TextUtils.isEmpty(machineNo) && !machineNo.equals(groupNameMachineNo)) {
|
||||
continue;
|
||||
}
|
||||
if (!TextUtils.isEmpty(materialNo) && !materialNo.equals(groupNameMaterialNo)) {
|
||||
continue;
|
||||
}
|
||||
if (!TextUtils.isEmpty(modelNo) && !modelNo.equals(groupNameModelNo)) {
|
||||
continue;
|
||||
}
|
||||
if (!TextUtils.isEmpty(machineTypeNo) && !machineTypeNo.equals(groupNameMachineTypeNo)) {
|
||||
continue;
|
||||
}
|
||||
if (!TextUtils.isEmpty(craftItemName) && !craftItemName.equals(groupNameCraftItemName)) {
|
||||
continue;
|
||||
}
|
||||
List<DataSource> dataSourceList = dataSourceDao.selectDataSource(groupNameLotNo, groupNameMachineNo, groupNameMaterialNo, groupNameModelNo, groupNameMachineTypeNo, groupNameCraftItemName);
|
||||
if (dataSourceList != null && dataSourceList.size() > 0) {
|
||||
dataSourceListList.add(dataSourceList);
|
||||
}
|
||||
}
|
||||
return outputEncapsulationObject(PromptMessageEnum.SUCCESS, dataSourceListList, locale);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询全部的测量信息
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
@GetMapping("/selectAllSource")
|
||||
public String selectAllSource() {
|
||||
Locale locale = LocaleContextHolder.getLocale();
|
||||
List<DataSource> dataSources = dataSourceDao.findAll();
|
||||
if (dataSources.size() == 0) {
|
||||
return outputEncapsulationObject(PromptMessageEnum.DATA_NONE, "暂时没有该产品的测量信息!", locale);
|
||||
}
|
||||
return outputEncapsulationObject(PromptMessageEnum.SUCCESS, dataSources, locale);
|
||||
}
|
||||
}
|
@ -1,24 +1,6 @@
|
||||
package com.xkrs.controller;
|
||||
|
||||
import com.xkrs.dao.FileDao;
|
||||
import com.xkrs.encapsulation.PromptMessageEnum;
|
||||
import com.xkrs.model.qo.FileQo;
|
||||
import com.xkrs.service.FileService;
|
||||
import com.xkrs.util.ExcelUploadUtil;
|
||||
import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
|
||||
import org.springframework.context.i18n.LocaleContextHolder;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import javax.transaction.Transactional;
|
||||
import java.io.IOException;
|
||||
import java.util.Locale;
|
||||
|
||||
import static com.xkrs.encapsulation.OutputEncapsulation.outputEncapsulationObject;
|
||||
|
||||
/**
|
||||
* @Author: XinYi Song
|
||||
@ -27,56 +9,56 @@ import static com.xkrs.encapsulation.OutputEncapsulation.outputEncapsulationObje
|
||||
@RestController
|
||||
public class FileController {
|
||||
|
||||
@Resource
|
||||
private FileService fileService;
|
||||
|
||||
@Resource
|
||||
private FileDao fileDao;
|
||||
|
||||
/**
|
||||
* 上传模板信息
|
||||
*
|
||||
* @param fileQo
|
||||
* @param fileExcel
|
||||
* @return
|
||||
* @throws IOException
|
||||
*/
|
||||
@PostMapping("/insertFileExcel")
|
||||
public String insertFileExcel(FileQo fileQo, @RequestParam("fileExcel") MultipartFile fileExcel) throws IOException {
|
||||
return fileService.insertFileExcel(fileQo, fileExcel);
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改上传的模板信息
|
||||
*
|
||||
* @param fileQo
|
||||
* @param fileExcel
|
||||
* @return
|
||||
* @throws IOException
|
||||
*/
|
||||
@PostMapping("/updateFileUploadPath")
|
||||
@Transactional(rollbackOn = Exception.class)
|
||||
public String updateFileUploadPath(FileQo fileQo, @RequestParam("fileExcel") MultipartFile fileExcel) throws IOException {
|
||||
String lotNo = fileQo.getLotNo();
|
||||
String machineNo = fileQo.getMachineNo();
|
||||
String materialNo = fileQo.getMaterialNo();
|
||||
String modelNo = fileQo.getModelNo();
|
||||
String machineTypeNo = fileQo.getMachineTypeNo();
|
||||
String craftItemName = fileQo.getCraftItemName();
|
||||
Locale locale = LocaleContextHolder.getLocale();
|
||||
String file = ExcelUploadUtil.memoryFile(fileExcel, 1);
|
||||
fileDao.updateFileUploadPath(lotNo, machineNo, materialNo, modelNo, machineTypeNo, craftItemName, file);
|
||||
return outputEncapsulationObject(PromptMessageEnum.SUCCESS, "修改成功!", locale);
|
||||
}
|
||||
|
||||
/**
|
||||
* 导出excel
|
||||
*
|
||||
* @param fileQo
|
||||
* @return
|
||||
*/
|
||||
@PostMapping("/exportExcel")
|
||||
public String exportExcel(@RequestBody FileQo fileQo) throws IOException, InvalidFormatException {
|
||||
return fileService.exportExcel(fileQo);
|
||||
}
|
||||
// @Resource
|
||||
// private FileService fileService;
|
||||
//
|
||||
// @Resource
|
||||
// private FileDao fileDao;
|
||||
//
|
||||
// /**
|
||||
// * 上传模板信息
|
||||
// *
|
||||
// * @param fileQo
|
||||
// * @param fileExcel
|
||||
// * @return
|
||||
// * @throws IOException
|
||||
// */
|
||||
// @PostMapping("/insertFileExcel")
|
||||
// public String insertFileExcel(FileQo fileQo, @RequestParam("fileExcel") MultipartFile fileExcel) throws IOException {
|
||||
// return fileService.insertFileExcel(fileQo, fileExcel);
|
||||
// }
|
||||
//
|
||||
// /**
|
||||
// * 修改上传的模板信息
|
||||
// *
|
||||
// * @param fileQo
|
||||
// * @param fileExcel
|
||||
// * @return
|
||||
// * @throws IOException
|
||||
// */
|
||||
// @PostMapping("/updateFileUploadPath")
|
||||
// @Transactional(rollbackOn = Exception.class)
|
||||
// public String updateFileUploadPath(FileQo fileQo, @RequestParam("fileExcel") MultipartFile fileExcel) throws IOException {
|
||||
// String lotNo = fileQo.getLotNo();
|
||||
// String machineNo = fileQo.getMachineNo();
|
||||
// String materialNo = fileQo.getMaterialNo();
|
||||
// String modelNo = fileQo.getModelNo();
|
||||
// String machineTypeNo = fileQo.getMachineTypeNo();
|
||||
// String craftItemName = fileQo.getCraftItemName();
|
||||
// Locale locale = LocaleContextHolder.getLocale();
|
||||
// String file = ExcelUploadUtil.memoryFile(fileExcel, 1);
|
||||
// fileDao.updateFileUploadPath(lotNo, machineNo, materialNo, modelNo, machineTypeNo, craftItemName, file);
|
||||
// return outputEncapsulationObject(PromptMessageEnum.SUCCESS, "修改成功!", locale);
|
||||
// }
|
||||
//
|
||||
// /**
|
||||
// * 导出excel
|
||||
// *
|
||||
// * @param fileQo
|
||||
// * @return
|
||||
// */
|
||||
// @PostMapping("/exportExcel")
|
||||
// public String exportExcel(@RequestBody FileQo fileQo) throws IOException, InvalidFormatException {
|
||||
// return fileService.exportExcel(fileQo);
|
||||
// }
|
||||
}
|
||||
|
@ -1,61 +0,0 @@
|
||||
package com.xkrs.controller;
|
||||
|
||||
import com.xkrs.encapsulation.PromptMessageEnum;
|
||||
import com.xkrs.model.entity.PictureEntity;
|
||||
import com.xkrs.model.qo.DeletePictureQo;
|
||||
import com.xkrs.model.qo.PictureQo;
|
||||
import com.xkrs.service.PictureService;
|
||||
import com.xkrs.util.PictureQuery;
|
||||
import org.springframework.context.i18n.LocaleContextHolder;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.io.IOException;
|
||||
import java.util.List;
|
||||
import java.util.Locale;
|
||||
|
||||
import static com.xkrs.encapsulation.OutputEncapsulation.outputEncapsulationObject;
|
||||
|
||||
/**
|
||||
* @Author: XinYi Song
|
||||
* @Date: 2022/1/20 16:01
|
||||
*/
|
||||
@RestController
|
||||
public class PictureController {
|
||||
|
||||
@Resource
|
||||
private PictureService pictureService;
|
||||
|
||||
@Resource
|
||||
private PictureQuery pictureQuery;
|
||||
|
||||
/**
|
||||
* 上传图片
|
||||
*/
|
||||
@PostMapping("/insertPicture")
|
||||
public String insertPicture(PictureQo pictureQo, @RequestParam("filePicture") MultipartFile filePicture) throws IOException {
|
||||
return pictureService.insertPicture(pictureQo, filePicture);
|
||||
}
|
||||
|
||||
// /**
|
||||
// * 删除图片
|
||||
// */
|
||||
// @PostMapping("/deletePicture")
|
||||
// public String deletePicture(@RequestBody DeletePictureQo deletePictureQo) {
|
||||
// return pictureService.deletePicture(deletePictureQo.getPicturePath());
|
||||
// }
|
||||
|
||||
// /**
|
||||
// * 查询图片
|
||||
// */
|
||||
// @GetMapping("/selectPicture")
|
||||
// public String selectPicture(@RequestParam(required = false, value = "lotNo") String lotNo, @RequestParam(required = false, value = "machineNo") String machineNo, @RequestParam(required = false, value = "materialNo") String materialNo, @RequestParam(required = false, value = "modelNo") String modelNo, @RequestParam(required = false, value = "machineTypeNo") String machineTypeNo, @RequestParam(required = false, value = "craftItemName") String craftItemName) {
|
||||
// Locale locale = LocaleContextHolder.getLocale();
|
||||
// List<PictureEntity> pictureEntities = pictureQuery.selectPicture(lotNo, machineNo, materialNo, modelNo, machineTypeNo, craftItemName);
|
||||
// if (pictureEntities.isEmpty()) {
|
||||
// return outputEncapsulationObject(PromptMessageEnum.DATA_NONE, "暂时没有该图片!", locale);
|
||||
// }
|
||||
// return outputEncapsulationObject(PromptMessageEnum.SUCCESS, pictureEntities, locale);
|
||||
// }
|
||||
}
|
@ -1,9 +1,9 @@
|
||||
package com.xkrs.newpro.controller;
|
||||
package com.xkrs.controller;
|
||||
|
||||
import com.xkrs.newpro.model.qo.QcItemQoDelete;
|
||||
import com.xkrs.newpro.model.qo.QcItemQoInsert;
|
||||
import com.xkrs.newpro.model.qo.QcItemQoUpdate;
|
||||
import com.xkrs.newpro.service.QcItemService;
|
||||
import com.xkrs.model.qo.QcItemQoDelete;
|
||||
import com.xkrs.model.qo.QcItemQoInsert;
|
||||
import com.xkrs.model.qo.QcItemQoUpdate;
|
||||
import com.xkrs.service.QcItemService;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.annotation.Resource;
|
66
src/main/java/com/xkrs/controller/QcSourceController.java
Normal file
66
src/main/java/com/xkrs/controller/QcSourceController.java
Normal file
@ -0,0 +1,66 @@
|
||||
package com.xkrs.controller;
|
||||
|
||||
import com.xkrs.model.qo.ExportSourceExcelQo;
|
||||
import com.xkrs.model.qo.QcSourceQoDelete;
|
||||
import com.xkrs.model.qo.QcSourceQoInsert;
|
||||
import com.xkrs.service.QcSourceService;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
|
||||
@RestController
|
||||
public class QcSourceController {
|
||||
|
||||
@Resource
|
||||
private QcSourceService qcSourceService;
|
||||
|
||||
/**
|
||||
* 添加检验数据(用于在Json中接收字符串数据)
|
||||
*/
|
||||
@PostMapping("/insertQcSource")
|
||||
public String insertQcSource(@RequestBody QcSourceQoInsert insertQo, @RequestParam(required = false, value = "picture") MultipartFile picture) {
|
||||
return qcSourceService.insertQcSource(insertQo, picture);
|
||||
}
|
||||
|
||||
/**
|
||||
* 添加检验数据(用于在form-data中接收图片文件)
|
||||
*/
|
||||
@PostMapping("/insertQcSourceOnlyPicture")
|
||||
public String insertQcSourceOnlyPicture(QcSourceQoInsert insertQo, @RequestParam(value = "picture") MultipartFile picture) {
|
||||
return qcSourceService.insertQcSource(insertQo, picture);
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除检验数据
|
||||
*/
|
||||
@PostMapping("/deleteQcSource")
|
||||
public String deleteQcSource(@RequestBody QcSourceQoDelete deleteQo) {
|
||||
return qcSourceService.deleteQcSource(deleteQo);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询检验数据
|
||||
*/
|
||||
@GetMapping("/queryQcSource")
|
||||
public String queryQcSource(@RequestParam(required = false, value = "batchNo") String batchNo, @RequestParam(required = false, value = "machineNo") String machineNo, @RequestParam(required = false, value = "materialNo") String materialNo, @RequestParam(required = false, value = "mouldNo") String mouldNo, @RequestParam(required = false, value = "varietyNo") String varietyNo, @RequestParam(required = false, value = "craftItemNo") String craftItemNo) {
|
||||
return qcSourceService.queryQcSource(batchNo, machineNo, materialNo, mouldNo, varietyNo, craftItemNo);
|
||||
}
|
||||
|
||||
/**
|
||||
* 导出Excel表格
|
||||
*/
|
||||
@PostMapping("/exportExcel")
|
||||
public String exportExcel(@RequestBody ExportSourceExcelQo exportSourceExcelQo) throws Exception {
|
||||
return qcSourceService.exportExcel(exportSourceExcelQo);
|
||||
}
|
||||
|
||||
/**
|
||||
* 格式化创建时间历史数据
|
||||
*/
|
||||
@GetMapping("/formatCreateTime")
|
||||
public String formatCreateTime() {
|
||||
return qcSourceService.formatCreateTime();
|
||||
}
|
||||
|
||||
}
|
75
src/main/java/com/xkrs/controller/QcSpecController.java
Normal file
75
src/main/java/com/xkrs/controller/QcSpecController.java
Normal file
@ -0,0 +1,75 @@
|
||||
package com.xkrs.controller;
|
||||
|
||||
import com.xkrs.model.qo.ExportSpecExcelQo;
|
||||
import com.xkrs.model.qo.QcSpecQoDelete;
|
||||
import com.xkrs.model.qo.QcSpecQoInsert;
|
||||
import com.xkrs.model.qo.QcSpecQoUpdate;
|
||||
import com.xkrs.service.QcSpecService;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
|
||||
@RestController
|
||||
public class QcSpecController {
|
||||
|
||||
@Resource
|
||||
private QcSpecService qcSpecService;
|
||||
|
||||
/**
|
||||
* 添加检验规格
|
||||
*/
|
||||
@PostMapping("/insertQcSpec")
|
||||
public String insertQcSpec(@RequestBody QcSpecQoInsert insertQo) {
|
||||
return qcSpecService.insertQcSpec(insertQo);
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除检验规格
|
||||
*/
|
||||
@PostMapping("/deleteQcSpec")
|
||||
public String deleteQcSpec(@RequestBody QcSpecQoDelete deleteQo) {
|
||||
return qcSpecService.deleteQcSpec(deleteQo);
|
||||
}
|
||||
|
||||
/**
|
||||
* 更新检验规格
|
||||
*/
|
||||
@PostMapping("/updateQcSpec")
|
||||
public String updateQcSpec(@RequestBody QcSpecQoUpdate updateQo) {
|
||||
return qcSpecService.updateQcSpec(updateQo);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询检验规格
|
||||
*/
|
||||
@GetMapping("/queryQcSpec")
|
||||
public String queryQcSpec(@RequestParam(required = false, value = "varietyNo") String varietyNo, @RequestParam(required = false, value = "craftItemNo") String craftItemNo, @RequestParam(required = false, value = "qcItemNo") String qcItemNo) {
|
||||
return qcSpecService.queryQcSpec(varietyNo, craftItemNo, qcItemNo);
|
||||
}
|
||||
|
||||
/**
|
||||
* 导入检验规格
|
||||
*/
|
||||
@PostMapping("/importSpecExcel")
|
||||
public String importSpecExcel(@RequestParam(value = "specExcel") MultipartFile specExcel) {
|
||||
return qcSpecService.importSpecExcel(specExcel);
|
||||
}
|
||||
|
||||
/**
|
||||
* 导出检验规格
|
||||
*/
|
||||
@PostMapping("/exportSpecExcel")
|
||||
public String exportSpecExcel(@RequestBody ExportSpecExcelQo exportSpecExcelQo) throws Exception {
|
||||
return qcSpecService.exportSpecExcel(exportSpecExcelQo);
|
||||
}
|
||||
|
||||
/**
|
||||
* 导出空白检验规格
|
||||
*/
|
||||
@PostMapping("/exportEmptySpecExcel")
|
||||
public String exportEmptySpecExcel(@RequestBody ExportSpecExcelQo exportSpecExcelQo) throws Exception {
|
||||
return qcSpecService.exportEmptySpecExcel(exportSpecExcelQo);
|
||||
}
|
||||
|
||||
}
|
@ -1,55 +0,0 @@
|
||||
package com.xkrs.controller;
|
||||
|
||||
import com.xkrs.encapsulation.PromptMessageEnum;
|
||||
import com.xkrs.model.entity.SpecEntity;
|
||||
import com.xkrs.model.qo.SpecQo;
|
||||
import com.xkrs.service.SpecService;
|
||||
import com.xkrs.util.SpecQuery;
|
||||
import org.springframework.context.i18n.LocaleContextHolder;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.List;
|
||||
import java.util.Locale;
|
||||
|
||||
import static com.xkrs.encapsulation.OutputEncapsulation.outputEncapsulationObject;
|
||||
|
||||
/**
|
||||
* @Author: XinYi Song
|
||||
* @Date: 2022/1/20 16:01
|
||||
*/
|
||||
@RestController
|
||||
public class SpecController {
|
||||
|
||||
@Resource
|
||||
private SpecService specService;
|
||||
|
||||
@Resource
|
||||
private SpecQuery specQuery;
|
||||
|
||||
/**
|
||||
* 添加规格数据
|
||||
*
|
||||
* @param specQo
|
||||
*/
|
||||
@PostMapping("/insertSpec")
|
||||
public String insertSpec(@RequestBody SpecQo specQo) {
|
||||
return specService.insertSpec(specQo);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询规格信息
|
||||
*/
|
||||
@GetMapping("/selectSpec")
|
||||
public String selectSpec(@RequestParam(required = false, value = "machineTypeNo") String machineTypeNo,
|
||||
@RequestParam(required = false, value = "inspectionItemCode") String inspectionItemCode,
|
||||
@RequestParam(required = false, value = "craftItemName") String craftItemName) {
|
||||
Locale locale = LocaleContextHolder.getLocale();
|
||||
List<SpecEntity> specEntities = specQuery.selectSpec(machineTypeNo, inspectionItemCode, craftItemName);
|
||||
if (specEntities.isEmpty()) {
|
||||
return outputEncapsulationObject(PromptMessageEnum.DATA_NONE, "暂时没有该规格信息!", locale);
|
||||
}
|
||||
return outputEncapsulationObject(PromptMessageEnum.SUCCESS, specEntities, locale);
|
||||
}
|
||||
|
||||
}
|
38
src/main/java/com/xkrs/dao/CraftItemDao.java
Normal file
38
src/main/java/com/xkrs/dao/CraftItemDao.java
Normal file
@ -0,0 +1,38 @@
|
||||
package com.xkrs.dao;
|
||||
|
||||
import com.xkrs.model.entity.CraftItemEntity;
|
||||
import org.springframework.data.jpa.repository.JpaRepository;
|
||||
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
|
||||
import org.springframework.data.jpa.repository.Modifying;
|
||||
import org.springframework.data.jpa.repository.Query;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import javax.transaction.Transactional;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Optional;
|
||||
|
||||
/**
|
||||
* 工艺项目Dao
|
||||
*/
|
||||
@Component
|
||||
public interface CraftItemDao extends JpaRepository<CraftItemEntity, Integer>, JpaSpecificationExecutor<CraftItemEntity> {
|
||||
|
||||
Optional<CraftItemEntity> findByCraftItemNo(String craftItemNo);
|
||||
|
||||
Optional<CraftItemEntity> findByCraftItemName(String craftItemName);
|
||||
|
||||
/**
|
||||
* 更新工艺项目名称
|
||||
*/
|
||||
@Transactional(rollbackOn = Exception.class)
|
||||
@Modifying(clearAutomatically = true)
|
||||
@Query(value = "UPDATE craft_item SET update_time = ?2, craft_item_name = ?3 WHERE id = ?1", nativeQuery = true)
|
||||
void updateNameById(Integer id, String updateTime, String name);
|
||||
|
||||
/**
|
||||
* 查询工艺项目
|
||||
*/
|
||||
@Query(value = "SELECT id AS id, craft_item_no AS no, craft_item_name AS name FROM craft_item WHERE craft_item_no LIKE %?1% AND craft_item_name LIKE %?2% ORDER BY create_time ASC", nativeQuery = true)
|
||||
List<Map<String, Object>> queryCraftItem(String no, String name);
|
||||
}
|
@ -1,42 +0,0 @@
|
||||
package com.xkrs.dao;
|
||||
|
||||
import com.xkrs.model.entity.DataDict;
|
||||
import org.springframework.data.jpa.repository.JpaRepository;
|
||||
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
|
||||
import org.springframework.data.jpa.repository.Modifying;
|
||||
import org.springframework.data.jpa.repository.Query;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
|
||||
/**
|
||||
* @Author: XinYi Song
|
||||
* @Date: 2022/1/19 10:03
|
||||
*/
|
||||
@Component
|
||||
public interface DataDictDao extends JpaRepository<DataDict,Long>, JpaSpecificationExecutor<DataDict> {
|
||||
|
||||
/**
|
||||
* 通过质检项代码查询字典表的数据
|
||||
* @param inspectionItemCode
|
||||
* @return
|
||||
*/
|
||||
Optional<DataDict> findByInspectionItemCode(String inspectionItemCode);
|
||||
|
||||
/**
|
||||
* 根据id查询字典信息
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
Optional<DataDict> findById(Integer id);
|
||||
|
||||
/**
|
||||
* 根据id修改字典的信息
|
||||
* @param id
|
||||
* @param inspectionItemName
|
||||
*/
|
||||
@Modifying(clearAutomatically=true)
|
||||
@Query(value = "UPDATE qc_inspection_item_dict SET inspection_item_name = ?2 where id = ?1",nativeQuery = true)
|
||||
void updateDict(Integer id, String inspectionItemName);
|
||||
}
|
@ -1,25 +0,0 @@
|
||||
package com.xkrs.dao;
|
||||
|
||||
import com.xkrs.model.entity.DataSource;
|
||||
import org.springframework.data.jpa.repository.JpaRepository;
|
||||
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
|
||||
import org.springframework.data.jpa.repository.Modifying;
|
||||
import org.springframework.data.jpa.repository.Query;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
@Component
|
||||
public interface DataSourceDao extends JpaRepository<DataSource, Long>, JpaSpecificationExecutor<DataSource> {
|
||||
|
||||
@Query(value = "SELECT lot_no AS lotNo, machine_no AS machineNo, material_no AS materialNo, model_no AS modelNo, machine_type_no AS machineTypeNo, craft_item_name AS craftItemName FROM qc_inspection_data_source GROUP BY lot_no, machine_no, material_no, model_no, machine_type_no, craft_item_name", nativeQuery = true)
|
||||
List<Map<String, String>> selectAllDataSourceGroup();
|
||||
|
||||
@Query(value = "SELECT * FROM qc_inspection_data_source WHERE (lot_no IS NULL OR lot_no = ?1) AND (machine_no IS NULL OR machine_no = ?2) AND (material_no IS NULL OR material_no = ?3) AND (model_no IS NULL OR model_no = ?4) AND (machine_type_no IS NULL OR machine_type_no = ?5) AND (craft_item_name IS NULL OR craft_item_name = ?6)", nativeQuery = true)
|
||||
List<DataSource> selectDataSource(String lotNo, String machineNo, String materialNo, String modelNo, String machineTypeNo, String craftItemName);
|
||||
|
||||
@Modifying(clearAutomatically = true)
|
||||
@Query(value = "UPDATE qc_inspection_data_source SET picture_path = ?7 WHERE lot_no = ?1 AND machine_no = ?2 AND material_no = ?3 AND model_no = ?4 AND machine_type_no = ?5 AND craft_item_name = ?6", nativeQuery = true)
|
||||
void updatePicturePath(String lotNo, String machineNo, String materialNo, String modelNo, String machineTypeNo, String craftItemName, String filePath);
|
||||
}
|
@ -1,33 +0,0 @@
|
||||
package com.xkrs.dao;
|
||||
|
||||
import com.xkrs.model.entity.PictureEntity;
|
||||
import org.springframework.data.jpa.repository.JpaRepository;
|
||||
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
|
||||
import org.springframework.data.jpa.repository.Query;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
|
||||
/**
|
||||
* @Author: XinYi Song
|
||||
* @Date: 2022/1/19 16:41
|
||||
*/
|
||||
@Component
|
||||
public interface PictureDao extends JpaRepository<PictureEntity, Long>, JpaSpecificationExecutor<PictureEntity> {
|
||||
|
||||
/**
|
||||
* 查询图片信息
|
||||
*
|
||||
* @param lotNo 批次号
|
||||
* @param machineNo 机器号
|
||||
* @param materialNo 物料号
|
||||
* @param modelNo 模具号
|
||||
* @param machineTypeNo 机种号
|
||||
* @param craftItemName 工艺项目名称
|
||||
* @return
|
||||
*/
|
||||
@Query(value = "SELECT * FROM qc_inspection_picture WHERE (lot_no IS NULL OR lot_no = ?1) AND (machine_no IS NULL OR machine_no = ?2) AND (material_no IS NULL OR material_no = ?3) AND (model_no IS NULL OR model_no = ?4) AND (machine_type_no IS NULL OR machine_type_no = ?5) AND (craft_item_name IS NULL OR craft_item_name = ?6)", nativeQuery = true)
|
||||
List<PictureEntity> selectPicture(String lotNo, String machineNo, String materialNo, String modelNo, String machineTypeNo, String craftItemName);
|
||||
|
||||
}
|
@ -1,6 +1,6 @@
|
||||
package com.xkrs.newpro.dao;
|
||||
package com.xkrs.dao;
|
||||
|
||||
import com.xkrs.newpro.model.entity.QcItemEntity;
|
||||
import com.xkrs.model.entity.QcItemEntity;
|
||||
import org.springframework.data.jpa.repository.JpaRepository;
|
||||
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
|
||||
import org.springframework.data.jpa.repository.Modifying;
|
||||
@ -17,18 +17,20 @@ import java.util.Optional;
|
||||
@Component
|
||||
public interface QcItemDao extends JpaRepository<QcItemEntity, Integer>, JpaSpecificationExecutor<QcItemEntity> {
|
||||
|
||||
Optional<QcItemEntity> findByNo(String no);
|
||||
Optional<QcItemEntity> findByQcItemNo(String qcItemNo);
|
||||
|
||||
Optional<QcItemEntity> findByQcItemName(String qcItemName);
|
||||
|
||||
/**
|
||||
* 更新检验项目名称
|
||||
*/
|
||||
@Modifying(clearAutomatically = true)
|
||||
@Query(value = "UPDATE qc_item SET update_time = ?2, name = ?3 WHERE id = ?1", nativeQuery = true)
|
||||
@Query(value = "UPDATE qc_item SET update_time = ?2, qc_item_name = ?3 WHERE id = ?1", nativeQuery = true)
|
||||
void updateNameById(Integer id, String updateTime, String name);
|
||||
|
||||
/**
|
||||
* 查询检验项目
|
||||
*/
|
||||
@Query(value = "SELECT id, no, name, type FROM qc_item WHERE no LIKE %?1% AND name LIKE %?2% ORDER BY create_time ASC", nativeQuery = true)
|
||||
@Query(value = "SELECT id AS id, qc_item_no AS no, qc_item_name AS name, qc_item_type AS type FROM qc_item WHERE qc_item_no LIKE %?1% AND qc_item_name LIKE %?2% ORDER BY create_time ASC", nativeQuery = true)
|
||||
List<Map<String, Object>> queryQcItem(String no, String name);
|
||||
}
|
26
src/main/java/com/xkrs/dao/QcSourceDao.java
Normal file
26
src/main/java/com/xkrs/dao/QcSourceDao.java
Normal file
@ -0,0 +1,26 @@
|
||||
package com.xkrs.dao;
|
||||
|
||||
import com.xkrs.model.entity.QcSourceEntity;
|
||||
import org.springframework.data.jpa.repository.JpaRepository;
|
||||
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
|
||||
import org.springframework.data.jpa.repository.Modifying;
|
||||
import org.springframework.data.jpa.repository.Query;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import javax.transaction.Transactional;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 检验数据Dao
|
||||
*/
|
||||
@Component
|
||||
public interface QcSourceDao extends JpaRepository<QcSourceEntity, Integer>, JpaSpecificationExecutor<QcSourceEntity> {
|
||||
|
||||
@Query(value = "SELECT * FROM qc_source WHERE batch_no LIKE %?1% AND machine_no LIKE %?2% AND material_no LIKE %?3% AND mould_no LIKE %?4% AND variety_no LIKE %?5% AND craft_item_no LIKE %?6% ORDER BY create_time DESC", nativeQuery = true)
|
||||
List<QcSourceEntity> queryQcSource(String batchNo, String machineNo, String materialNo, String mouldNo, String varietyNo, String craftItemNo);
|
||||
|
||||
@Transactional(rollbackOn = Exception.class)
|
||||
@Modifying(clearAutomatically = true)
|
||||
@Query(value = "UPDATE qc_source SET create_time_format = ?2 WHERE id = ?1", nativeQuery = true)
|
||||
void formatCreateTime(Integer id, String formatCreateTime);
|
||||
}
|
48
src/main/java/com/xkrs/dao/QcSpecDao.java
Normal file
48
src/main/java/com/xkrs/dao/QcSpecDao.java
Normal file
@ -0,0 +1,48 @@
|
||||
package com.xkrs.dao;
|
||||
|
||||
import com.xkrs.model.entity.QcSpecEntity;
|
||||
import org.springframework.data.jpa.repository.JpaRepository;
|
||||
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
|
||||
import org.springframework.data.jpa.repository.Modifying;
|
||||
import org.springframework.data.jpa.repository.Query;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import javax.transaction.Transactional;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Optional;
|
||||
|
||||
@Component
|
||||
public interface QcSpecDao extends JpaRepository<QcSpecEntity, Integer>, JpaSpecificationExecutor<QcSpecEntity> {
|
||||
|
||||
@Query(value = "SELECT * FROM qc_spec WHERE variety_no = ?1 AND craft_item_no = ?2 AND qc_item_no = ?3 ORDER BY create_time ASC", nativeQuery = true)
|
||||
Optional<QcSpecEntity> findExistsQcSpec(String varietyNo, String craftItemNo, String qcItemNo);
|
||||
|
||||
/**
|
||||
* 更新检验规格(Integer id)
|
||||
*/
|
||||
@Transactional(rollbackOn = Exception.class)
|
||||
@Modifying(clearAutomatically = true)
|
||||
@Query(value = "UPDATE qc_spec SET update_time = ?2, max = ?3, mean = ?4, min = ?5, unit = ?6, method = ?7, standard = ?8, remark = ?9 WHERE id = ?1", nativeQuery = true)
|
||||
void updateQcSpecById(Integer id, String updateTime, String max, String mean, String min, String unit, String method, String standard, String remark);
|
||||
|
||||
/**
|
||||
* 更新检验规格(String varietyNo, String craftItemNo, String qcItemNo)
|
||||
*/
|
||||
@Transactional(rollbackOn = Exception.class)
|
||||
@Modifying(clearAutomatically = true)
|
||||
@Query(value = "UPDATE qc_spec SET update_time = ?4, max = ?5, mean = ?6, min = ?7, unit = ?8, method = ?9, standard = ?10, remark = ?11 WHERE variety_no = ?1 AND craft_item_no = ?2 AND qc_item_no = ?3", nativeQuery = true)
|
||||
void updateQcSpecByVCQ(String varietyNo, String craftItemNo, String qcItemNo, String updateTime, String max, String mean, String min, String unit, String method, String standard, String remark);
|
||||
|
||||
/**
|
||||
* 查询检验规格
|
||||
*/
|
||||
@Query(value = "SELECT id, variety_no AS varietyNo, craft_item_no AS craftItemNo, qc_item_no AS qcItemNo, max, mean, min, unit, method, standard, remark FROM qc_spec WHERE variety_no LIKE %?1% AND qc_item_no LIKE %?2% ORDER BY create_time ASC", nativeQuery = true)
|
||||
List<Map<String, Object>> queryQcSpec(String varietyNo, String qcItemNo);
|
||||
|
||||
/**
|
||||
* 查询检验规格
|
||||
*/
|
||||
@Query(value = "SELECT id, variety_no AS varietyNo, craft_item_no AS craftItemNo, qc_item_no AS qcItemNo, max, mean, min, unit, method, standard, remark FROM qc_spec WHERE variety_no LIKE %?1% AND craft_item_no = ?2 AND qc_item_no LIKE %?3% ORDER BY create_time ASC", nativeQuery = true)
|
||||
List<Map<String, Object>> queryQcSpec(String varietyNo, String craftItemNo, String qcItemNo);
|
||||
}
|
@ -1,18 +0,0 @@
|
||||
package com.xkrs.dao;
|
||||
|
||||
import com.xkrs.model.entity.SpecEntity;
|
||||
import org.springframework.data.jpa.repository.JpaRepository;
|
||||
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
|
||||
/**
|
||||
* @Author: XinYi Song
|
||||
* @Date: 2022/1/19 16:41
|
||||
*/
|
||||
@Component
|
||||
public interface SpecDao extends JpaRepository<SpecEntity, Long>, JpaSpecificationExecutor<SpecEntity> {
|
||||
|
||||
}
|
@ -4,8 +4,9 @@ import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* 输出信息对象
|
||||
* @author tajochen
|
||||
*
|
||||
* @param <T>
|
||||
* @author tajochen
|
||||
*/
|
||||
public class EncapsulationObejct<T> implements Serializable {
|
||||
|
||||
@ -50,10 +51,6 @@ public class EncapsulationObejct<T> implements Serializable {
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "EncapsulationObejct{" +
|
||||
"status=" + status +
|
||||
", msg='" + msg + '\'' +
|
||||
", data=" + data +
|
||||
'}';
|
||||
return "EncapsulationObejct{" + "status=" + status + ", msg='" + msg + '\'' + ", data=" + data + '}';
|
||||
}
|
||||
}
|
||||
|
@ -21,6 +21,7 @@ import java.util.Properties;
|
||||
|
||||
/**
|
||||
* 输出信息封装
|
||||
*
|
||||
* @author tajochen
|
||||
*/
|
||||
@Component
|
||||
@ -30,6 +31,7 @@ public class OutputEncapsulation {
|
||||
|
||||
/**
|
||||
* 读取多国语言文件
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
public static MessageSource messageSource() {
|
||||
@ -50,6 +52,7 @@ public class OutputEncapsulation {
|
||||
|
||||
/**
|
||||
* 封装输出数据
|
||||
*
|
||||
* @param promptMessageEnum
|
||||
* @param obj
|
||||
* @return
|
||||
@ -58,12 +61,12 @@ public class OutputEncapsulation {
|
||||
|
||||
EncapsulationObejct encapsulationObejct = new EncapsulationObejct();
|
||||
encapsulationObejct.setStatus(promptMessageEnum.getCode());
|
||||
encapsulationObejct.setMsg(messageSource().getMessage(promptMessageEnum.getText(),null,locale));
|
||||
encapsulationObejct.setMsg(messageSource().getMessage(promptMessageEnum.getText(), null, locale));
|
||||
encapsulationObejct.setData(obj);
|
||||
|
||||
ObjectMapper objectMapper = new ObjectMapper();
|
||||
// 忽略无法转换的对象
|
||||
objectMapper.configure(SerializationFeature.FAIL_ON_EMPTY_BEANS,false);
|
||||
objectMapper.configure(SerializationFeature.FAIL_ON_EMPTY_BEANS, false);
|
||||
// 忽略json字符串中不识别的属性
|
||||
objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
|
||||
// 解决jackson无法反序列化LocalDateTime的问题,引入jsr310标准
|
||||
@ -82,15 +85,16 @@ public class OutputEncapsulation {
|
||||
|
||||
/**
|
||||
* 输出请求值检验错误信息
|
||||
*
|
||||
* @param fieldErrors
|
||||
* @return
|
||||
*/
|
||||
public static String outputEncapsulationErrorList(List<FieldError> fieldErrors, Locale locale){
|
||||
public static String outputEncapsulationErrorList(List<FieldError> fieldErrors, Locale locale) {
|
||||
List<String> errorMsg = new ArrayList<>();
|
||||
for (FieldError fieldError : fieldErrors) {
|
||||
String errMessage = fieldError.getDefaultMessage().subSequence(1,fieldError.getDefaultMessage().length()-1).toString();
|
||||
errorMsg.add(messageSource().getMessage(errMessage,null,locale));
|
||||
String errMessage = fieldError.getDefaultMessage().subSequence(1, fieldError.getDefaultMessage().length() - 1).toString();
|
||||
errorMsg.add(messageSource().getMessage(errMessage, null, locale));
|
||||
}
|
||||
return outputEncapsulationObject(PromptMessageEnum.PARAM_ILLEGAL,errorMsg,locale);
|
||||
return outputEncapsulationObject(PromptMessageEnum.PARAM_ILLEGAL, errorMsg, locale);
|
||||
}
|
||||
}
|
||||
|
51
src/main/java/com/xkrs/model/bean/ReadSpecHeadBean.java
Normal file
51
src/main/java/com/xkrs/model/bean/ReadSpecHeadBean.java
Normal file
@ -0,0 +1,51 @@
|
||||
package com.xkrs.model.bean;
|
||||
|
||||
public class ReadSpecHeadBean {
|
||||
|
||||
/**
|
||||
* 是否成功
|
||||
*/
|
||||
private boolean success;
|
||||
|
||||
/**
|
||||
* 错误消息
|
||||
*/
|
||||
private String errorMessage;
|
||||
|
||||
/**
|
||||
* 表头的有效列数
|
||||
*/
|
||||
private long headCount;
|
||||
|
||||
public ReadSpecHeadBean() {
|
||||
}
|
||||
|
||||
public boolean isSuccess() {
|
||||
return success;
|
||||
}
|
||||
|
||||
public void setSuccess(boolean success) {
|
||||
this.success = success;
|
||||
}
|
||||
|
||||
public String getErrorMessage() {
|
||||
return errorMessage;
|
||||
}
|
||||
|
||||
public void setErrorMessage(String errorMessage) {
|
||||
this.errorMessage = errorMessage;
|
||||
}
|
||||
|
||||
public long getHeadCount() {
|
||||
return headCount;
|
||||
}
|
||||
|
||||
public void setHeadCount(long headCount) {
|
||||
this.headCount = headCount;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "ReadSpecHeadBean{" + "success=" + success + ", errorMessage='" + errorMessage + '\'' + ", headCount=" + headCount + '}';
|
||||
}
|
||||
}
|
58
src/main/java/com/xkrs/model/bean/XSSFCellDataBean.java
Normal file
58
src/main/java/com/xkrs/model/bean/XSSFCellDataBean.java
Normal file
@ -0,0 +1,58 @@
|
||||
package com.xkrs.model.bean;
|
||||
|
||||
public class XSSFCellDataBean {
|
||||
|
||||
public static final int VALUE_TYPE_STRING = 1;
|
||||
public static final int VALUE_TYPE_DOUBLE = 2;
|
||||
|
||||
private int valueType;
|
||||
private String stringValue;
|
||||
private double doubleValue;
|
||||
|
||||
public XSSFCellDataBean(String source) {
|
||||
double tempDoubleValue = -100_000D;
|
||||
try {
|
||||
tempDoubleValue = Double.parseDouble(source);
|
||||
} catch (Exception e) {
|
||||
}
|
||||
if (tempDoubleValue < -99_000D) {
|
||||
valueType = VALUE_TYPE_STRING;
|
||||
stringValue = source;
|
||||
} else {
|
||||
valueType = VALUE_TYPE_DOUBLE;
|
||||
doubleValue = tempDoubleValue;
|
||||
}
|
||||
}
|
||||
|
||||
public int getValueType() {
|
||||
return valueType;
|
||||
}
|
||||
|
||||
public XSSFCellDataBean setValueType(int valueType) {
|
||||
this.valueType = valueType;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getStringValue() {
|
||||
return stringValue;
|
||||
}
|
||||
|
||||
public XSSFCellDataBean setStringValue(String stringValue) {
|
||||
this.stringValue = stringValue;
|
||||
return this;
|
||||
}
|
||||
|
||||
public double getDoubleValue() {
|
||||
return doubleValue;
|
||||
}
|
||||
|
||||
public XSSFCellDataBean setDoubleValue(double doubleValue) {
|
||||
this.doubleValue = doubleValue;
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "XSSFCellDataBean{" + "valueType=" + valueType + ", stringValue='" + stringValue + '\'' + ", doubleValue=" + doubleValue + '}';
|
||||
}
|
||||
}
|
91
src/main/java/com/xkrs/model/entity/CraftItemEntity.java
Normal file
91
src/main/java/com/xkrs/model/entity/CraftItemEntity.java
Normal file
@ -0,0 +1,91 @@
|
||||
package com.xkrs.model.entity;
|
||||
|
||||
import javax.persistence.*;
|
||||
|
||||
/**
|
||||
* 工艺项目
|
||||
*/
|
||||
@Entity
|
||||
@Table(name = "craft_item")
|
||||
public class CraftItemEntity {
|
||||
|
||||
/**
|
||||
* 主键id
|
||||
*/
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "craft_item_seq_gen")
|
||||
@SequenceGenerator(name = "craft_item_seq_gen", sequenceName = "craft_item_id_seq", allocationSize = 1)
|
||||
private Integer id;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
@Column(length = 85, columnDefinition = "varchar(85)")
|
||||
private String createTime;
|
||||
|
||||
/**
|
||||
* 更新时间
|
||||
*/
|
||||
@Column(length = 85, columnDefinition = "varchar(85)")
|
||||
private String updateTime;
|
||||
|
||||
/**
|
||||
* 编号
|
||||
*/
|
||||
@Column(length = 85, columnDefinition = "varchar(85)")
|
||||
private String craftItemNo;
|
||||
|
||||
/**
|
||||
* 名称
|
||||
*/
|
||||
@Column(length = 85, columnDefinition = "varchar(85)")
|
||||
private String craftItemName;
|
||||
|
||||
public CraftItemEntity() {
|
||||
}
|
||||
|
||||
public Integer getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public void setId(Integer id) {
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
public String getCreateTime() {
|
||||
return createTime;
|
||||
}
|
||||
|
||||
public void setCreateTime(String createTime) {
|
||||
this.createTime = createTime;
|
||||
}
|
||||
|
||||
public String getUpdateTime() {
|
||||
return updateTime;
|
||||
}
|
||||
|
||||
public void setUpdateTime(String updateTime) {
|
||||
this.updateTime = updateTime;
|
||||
}
|
||||
|
||||
public String getCraftItemNo() {
|
||||
return craftItemNo;
|
||||
}
|
||||
|
||||
public void setCraftItemNo(String craftItemNo) {
|
||||
this.craftItemNo = craftItemNo;
|
||||
}
|
||||
|
||||
public String getCraftItemName() {
|
||||
return craftItemName;
|
||||
}
|
||||
|
||||
public void setCraftItemName(String craftItemName) {
|
||||
this.craftItemName = craftItemName;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "CraftItemEntity{" + "id=" + id + ", createTime='" + createTime + '\'' + ", updateTime='" + updateTime + '\'' + ", craftItemNo='" + craftItemNo + '\'' + ", craftItemName='" + craftItemName + '\'' + '}';
|
||||
}
|
||||
}
|
@ -1,68 +0,0 @@
|
||||
package com.xkrs.model.entity;
|
||||
|
||||
import javax.persistence.*;
|
||||
|
||||
/**
|
||||
* @Author: XinYi Song
|
||||
* @Date: 2022/1/19 9:26
|
||||
*/
|
||||
@Entity
|
||||
@Table(name = "qc_inspection_item_dict")
|
||||
public class DataDict {
|
||||
|
||||
/**
|
||||
* 索引
|
||||
*/
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "qc_inspection_item_dict_seq_gen")
|
||||
@SequenceGenerator(name = "qc_inspection_item_dict_seq_gen", sequenceName = "qc_inspection_item_dict_id_seq", allocationSize = 1)
|
||||
private Integer id;
|
||||
|
||||
/**
|
||||
* 质检项代码
|
||||
*/
|
||||
@Column(length = 85, columnDefinition = "varchar(85)")
|
||||
private String inspectionItemCode;
|
||||
|
||||
/**
|
||||
* 质检项名称
|
||||
*/
|
||||
@Column(length = 85, columnDefinition = "varchar(85)")
|
||||
private String inspectionItemName;
|
||||
|
||||
public DataDict() {
|
||||
}
|
||||
|
||||
public Integer getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public void setId(Integer id) {
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
public String getInspectionItemCode() {
|
||||
return inspectionItemCode;
|
||||
}
|
||||
|
||||
public void setInspectionItemCode(String inspectionItemCode) {
|
||||
this.inspectionItemCode = inspectionItemCode;
|
||||
}
|
||||
|
||||
public String getInspectionItemName() {
|
||||
return inspectionItemName;
|
||||
}
|
||||
|
||||
public void setInspectionItemName(String inspectionItemName) {
|
||||
this.inspectionItemName = inspectionItemName;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "DataDict{" +
|
||||
"id=" + id +
|
||||
", inspectionItemCode='" + inspectionItemCode + '\'' +
|
||||
", inspectionItemName='" + inspectionItemName + '\'' +
|
||||
'}';
|
||||
}
|
||||
}
|
@ -1,173 +0,0 @@
|
||||
package com.xkrs.model.entity;
|
||||
|
||||
import javax.persistence.*;
|
||||
|
||||
/**
|
||||
* @Author: XinYi Song
|
||||
* @Date: 2022/1/19 14:08
|
||||
*/
|
||||
@Entity
|
||||
@Table(name = "qc_inspection_data_source")
|
||||
public class DataSource {
|
||||
|
||||
/**
|
||||
* 主键id
|
||||
*/
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "qc_inspection_data_source_seq_gen")
|
||||
@SequenceGenerator(name = "qc_inspection_data_source_seq_gen", sequenceName = "qc_inspection_data_source_id_seq", allocationSize = 1)
|
||||
private Integer id;
|
||||
|
||||
/**
|
||||
* 批次号
|
||||
*/
|
||||
@Column(length = 85, columnDefinition = "varchar(85)")
|
||||
private String lotNo;
|
||||
|
||||
/**
|
||||
* 机器号
|
||||
*/
|
||||
@Column(length = 85, columnDefinition = "varchar(85)")
|
||||
private String machineNo;
|
||||
|
||||
/**
|
||||
* 物料号
|
||||
*/
|
||||
@Column(length = 85, columnDefinition = "varchar(85)")
|
||||
private String materialNo;
|
||||
|
||||
/**
|
||||
* 模具号
|
||||
*/
|
||||
@Column(length = 85, columnDefinition = "varchar(85)")
|
||||
private String modelNo;
|
||||
|
||||
/**
|
||||
* 机种号
|
||||
*/
|
||||
@Column(length = 85, columnDefinition = "varchar(85)")
|
||||
private String machineTypeNo;
|
||||
|
||||
/**
|
||||
* 检验项代码
|
||||
*/
|
||||
@Column(length = 85, columnDefinition = "varchar(85)")
|
||||
private String inspectionItemCode;
|
||||
|
||||
/**
|
||||
* 工艺项目名称
|
||||
*/
|
||||
@Column(length = 85, columnDefinition = "varchar(85)")
|
||||
private String craftItemName;
|
||||
|
||||
/**
|
||||
* 检验数值
|
||||
*/
|
||||
@Column(length = 85, columnDefinition = "varchar(85)")
|
||||
private String inspectValue;
|
||||
|
||||
/**
|
||||
* 图片
|
||||
*/
|
||||
@Column(length = 10240, columnDefinition = "varchar(10240)")
|
||||
private String picturePath;
|
||||
|
||||
public DataSource() {
|
||||
}
|
||||
|
||||
public Integer getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public void setId(Integer id) {
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
public String getLotNo() {
|
||||
return lotNo;
|
||||
}
|
||||
|
||||
public void setLotNo(String lotNo) {
|
||||
this.lotNo = lotNo;
|
||||
}
|
||||
|
||||
public String getMachineNo() {
|
||||
return machineNo;
|
||||
}
|
||||
|
||||
public void setMachineNo(String machineNo) {
|
||||
this.machineNo = machineNo;
|
||||
}
|
||||
|
||||
public String getMaterialNo() {
|
||||
return materialNo;
|
||||
}
|
||||
|
||||
public void setMaterialNo(String materialNo) {
|
||||
this.materialNo = materialNo;
|
||||
}
|
||||
|
||||
public String getModelNo() {
|
||||
return modelNo;
|
||||
}
|
||||
|
||||
public void setModelNo(String modelNo) {
|
||||
this.modelNo = modelNo;
|
||||
}
|
||||
|
||||
public String getMachineTypeNo() {
|
||||
return machineTypeNo;
|
||||
}
|
||||
|
||||
public void setMachineTypeNo(String machineTypeNo) {
|
||||
this.machineTypeNo = machineTypeNo;
|
||||
}
|
||||
|
||||
public String getInspectionItemCode() {
|
||||
return inspectionItemCode;
|
||||
}
|
||||
|
||||
public void setInspectionItemCode(String inspectionItemCode) {
|
||||
this.inspectionItemCode = inspectionItemCode;
|
||||
}
|
||||
|
||||
public String getCraftItemName() {
|
||||
return craftItemName;
|
||||
}
|
||||
|
||||
public void setCraftItemName(String craftItemName) {
|
||||
this.craftItemName = craftItemName;
|
||||
}
|
||||
|
||||
public String getInspectValue() {
|
||||
return inspectValue;
|
||||
}
|
||||
|
||||
public void setInspectValue(String inspectValue) {
|
||||
this.inspectValue = inspectValue;
|
||||
}
|
||||
|
||||
public String getPicturePath() {
|
||||
return picturePath;
|
||||
}
|
||||
|
||||
public void setPicturePath(String picturePath) {
|
||||
this.picturePath = picturePath;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "DataSource{" +
|
||||
"id=" + id +
|
||||
", lotNo='" + lotNo + '\'' +
|
||||
", machineNo='" + machineNo + '\'' +
|
||||
", materialNo='" + materialNo + '\'' +
|
||||
", modelNo='" + modelNo + '\'' +
|
||||
", machineTypeNo='" + machineTypeNo + '\'' +
|
||||
", inspectionItemCode='" + inspectionItemCode + '\'' +
|
||||
", craftItemName='" + craftItemName + '\'' +
|
||||
", inspectValue='" + inspectValue + '\'' +
|
||||
", picturePath='" + picturePath + '\'' +
|
||||
'}';
|
||||
}
|
||||
}
|
@ -143,16 +143,6 @@ public class FileEntity {
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "FileEntity{" +
|
||||
"id=" + id +
|
||||
", lotNo='" + lotNo + '\'' +
|
||||
", machineNo='" + machineNo + '\'' +
|
||||
", materialNo='" + materialNo + '\'' +
|
||||
", modelNo='" + modelNo + '\'' +
|
||||
", machineTypeNo='" + machineTypeNo + '\'' +
|
||||
", craftItemName='" + craftItemName + '\'' +
|
||||
", fileUploadPath='" + fileUploadPath + '\'' +
|
||||
", fileDownloadPath='" + fileDownloadPath + '\'' +
|
||||
'}';
|
||||
return "FileEntity{" + "id=" + id + ", lotNo='" + lotNo + '\'' + ", machineNo='" + machineNo + '\'' + ", materialNo='" + materialNo + '\'' + ", modelNo='" + modelNo + '\'' + ", machineTypeNo='" + machineTypeNo + '\'' + ", craftItemName='" + craftItemName + '\'' + ", fileUploadPath='" + fileUploadPath + '\'' + ", fileDownloadPath='" + fileDownloadPath + '\'' + '}';
|
||||
}
|
||||
}
|
||||
|
@ -1,138 +0,0 @@
|
||||
package com.xkrs.model.entity;
|
||||
|
||||
import javax.persistence.*;
|
||||
|
||||
@Entity
|
||||
@Table(name = "qc_inspection_picture")
|
||||
public class PictureEntity {
|
||||
/**
|
||||
* 主键id
|
||||
*/
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "qc_inspection_picture_seq_gen")
|
||||
@SequenceGenerator(name = "qc_inspection_picture_seq_gen", sequenceName = "qc_inspection_picture_id_seq", allocationSize = 1)
|
||||
private Integer id;
|
||||
|
||||
/**
|
||||
* 批次号
|
||||
*/
|
||||
@Column(length = 85, columnDefinition = "varchar(85)")
|
||||
private String lotNo;
|
||||
|
||||
/**
|
||||
* 机器号
|
||||
*/
|
||||
@Column(length = 85, columnDefinition = "varchar(85)")
|
||||
private String machineNo;
|
||||
|
||||
/**
|
||||
* 物料号
|
||||
*/
|
||||
@Column(length = 85, columnDefinition = "varchar(85)")
|
||||
private String materialNo;
|
||||
|
||||
/**
|
||||
* 模具号
|
||||
*/
|
||||
@Column(length = 85, columnDefinition = "varchar(85)")
|
||||
private String modelNo;
|
||||
|
||||
/**
|
||||
* 机种号
|
||||
*/
|
||||
@Column(length = 85, columnDefinition = "varchar(85)")
|
||||
private String machineTypeNo;
|
||||
|
||||
/**
|
||||
* 工艺项目名称
|
||||
*/
|
||||
@Column(length = 85, columnDefinition = "varchar(85)")
|
||||
private String craftItemName;
|
||||
|
||||
/**
|
||||
* 图片路径
|
||||
*/
|
||||
@Column(length = 2048, columnDefinition = "varchar(2048)")
|
||||
private String picturePath;
|
||||
|
||||
public PictureEntity() {
|
||||
}
|
||||
|
||||
public Integer getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public void setId(Integer id) {
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
public String getLotNo() {
|
||||
return lotNo;
|
||||
}
|
||||
|
||||
public void setLotNo(String lotNo) {
|
||||
this.lotNo = lotNo;
|
||||
}
|
||||
|
||||
public String getMachineNo() {
|
||||
return machineNo;
|
||||
}
|
||||
|
||||
public void setMachineNo(String machineNo) {
|
||||
this.machineNo = machineNo;
|
||||
}
|
||||
|
||||
public String getMaterialNo() {
|
||||
return materialNo;
|
||||
}
|
||||
|
||||
public void setMaterialNo(String materialNo) {
|
||||
this.materialNo = materialNo;
|
||||
}
|
||||
|
||||
public String getModelNo() {
|
||||
return modelNo;
|
||||
}
|
||||
|
||||
public void setModelNo(String modelNo) {
|
||||
this.modelNo = modelNo;
|
||||
}
|
||||
|
||||
public String getMachineTypeNo() {
|
||||
return machineTypeNo;
|
||||
}
|
||||
|
||||
public void setMachineTypeNo(String machineTypeNo) {
|
||||
this.machineTypeNo = machineTypeNo;
|
||||
}
|
||||
|
||||
public String getCraftItemName() {
|
||||
return craftItemName;
|
||||
}
|
||||
|
||||
public void setCraftItemName(String craftItemName) {
|
||||
this.craftItemName = craftItemName;
|
||||
}
|
||||
|
||||
public String getPicturePath() {
|
||||
return picturePath;
|
||||
}
|
||||
|
||||
public void setPicturePath(String picturePath) {
|
||||
this.picturePath = picturePath;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "PictureEntity{" +
|
||||
"id=" + id +
|
||||
", lotNo='" + lotNo + '\'' +
|
||||
", machineNo='" + machineNo + '\'' +
|
||||
", materialNo='" + materialNo + '\'' +
|
||||
", modelNo='" + modelNo + '\'' +
|
||||
", machineTypeNo='" + machineTypeNo + '\'' +
|
||||
", craftItemName='" + craftItemName + '\'' +
|
||||
", picturePath='" + picturePath + '\'' +
|
||||
'}';
|
||||
}
|
||||
}
|
@ -1,4 +1,4 @@
|
||||
package com.xkrs.newpro.model.entity;
|
||||
package com.xkrs.model.entity;
|
||||
|
||||
import javax.persistence.*;
|
||||
|
||||
@ -33,13 +33,13 @@ public class QcItemEntity {
|
||||
* 编号
|
||||
*/
|
||||
@Column(length = 85, columnDefinition = "varchar(85)")
|
||||
private String no;
|
||||
private String qcItemNo;
|
||||
|
||||
/**
|
||||
* 名称
|
||||
*/
|
||||
@Column(length = 85, columnDefinition = "varchar(85)")
|
||||
private String name;
|
||||
private String qcItemName;
|
||||
|
||||
/**
|
||||
* 类型
|
||||
@ -47,7 +47,7 @@ public class QcItemEntity {
|
||||
* "1":图片格式
|
||||
*/
|
||||
@Column(length = 85, columnDefinition = "varchar(85)")
|
||||
private String type;
|
||||
private String qcItemType;
|
||||
|
||||
public QcItemEntity() {
|
||||
}
|
||||
@ -76,32 +76,32 @@ public class QcItemEntity {
|
||||
this.updateTime = updateTime;
|
||||
}
|
||||
|
||||
public String getNo() {
|
||||
return no;
|
||||
public String getQcItemNo() {
|
||||
return qcItemNo;
|
||||
}
|
||||
|
||||
public void setNo(String no) {
|
||||
this.no = no;
|
||||
public void setQcItemNo(String qcItemNo) {
|
||||
this.qcItemNo = qcItemNo;
|
||||
}
|
||||
|
||||
public String getName() {
|
||||
return name;
|
||||
public String getQcItemName() {
|
||||
return qcItemName;
|
||||
}
|
||||
|
||||
public void setName(String name) {
|
||||
this.name = name;
|
||||
public void setQcItemName(String qcItemName) {
|
||||
this.qcItemName = qcItemName;
|
||||
}
|
||||
|
||||
public String getType() {
|
||||
return type;
|
||||
public String getQcItemType() {
|
||||
return qcItemType;
|
||||
}
|
||||
|
||||
public void setType(String type) {
|
||||
this.type = type;
|
||||
public void setQcItemType(String qcItemType) {
|
||||
this.qcItemType = qcItemType;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "QcItemEntity{" + "id=" + id + ", createTime='" + createTime + '\'' + ", updateTime='" + updateTime + '\'' + ", no='" + no + '\'' + ", name='" + name + '\'' + ", type='" + type + '\'' + '}';
|
||||
return "QcItemEntity{" + "id=" + id + ", createTime='" + createTime + '\'' + ", updateTime='" + updateTime + '\'' + ", qcItemNo='" + qcItemNo + '\'' + ", qcItemName='" + qcItemName + '\'' + ", qcItemType='" + qcItemType + '\'' + '}';
|
||||
}
|
||||
}
|
@ -1,4 +1,4 @@
|
||||
package com.xkrs.newpro.model.entity;
|
||||
package com.xkrs.model.entity;
|
||||
|
||||
import javax.persistence.*;
|
||||
|
||||
@ -23,6 +23,12 @@ public class QcSourceEntity {
|
||||
@Column(length = 85, columnDefinition = "varchar(85)")
|
||||
private String createTime;
|
||||
|
||||
/**
|
||||
* 格式化创建时间
|
||||
*/
|
||||
@Column(length = 85, columnDefinition = "varchar(85)")
|
||||
private String createTimeFormat;
|
||||
|
||||
/**
|
||||
* 批次号
|
||||
*/
|
||||
@ -53,6 +59,12 @@ public class QcSourceEntity {
|
||||
@Column(length = 85, columnDefinition = "varchar(85)")
|
||||
private String varietyNo;
|
||||
|
||||
/**
|
||||
* 工艺项目编号
|
||||
*/
|
||||
@Column(length = 85, columnDefinition = "varchar(85)")
|
||||
private String craftItemNo;
|
||||
|
||||
/**
|
||||
* 检验项目编号
|
||||
*/
|
||||
@ -84,6 +96,14 @@ public class QcSourceEntity {
|
||||
this.createTime = createTime;
|
||||
}
|
||||
|
||||
public String getCreateTimeFormat() {
|
||||
return createTimeFormat;
|
||||
}
|
||||
|
||||
public void setCreateTimeFormat(String createTimeFormat) {
|
||||
this.createTimeFormat = createTimeFormat;
|
||||
}
|
||||
|
||||
public String getBatchNo() {
|
||||
return batchNo;
|
||||
}
|
||||
@ -124,6 +144,14 @@ public class QcSourceEntity {
|
||||
this.varietyNo = varietyNo;
|
||||
}
|
||||
|
||||
public String getCraftItemNo() {
|
||||
return craftItemNo;
|
||||
}
|
||||
|
||||
public void setCraftItemNo(String craftItemNo) {
|
||||
this.craftItemNo = craftItemNo;
|
||||
}
|
||||
|
||||
public String getQcItemNo() {
|
||||
return qcItemNo;
|
||||
}
|
||||
@ -142,6 +170,18 @@ public class QcSourceEntity {
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "QcSourceEntity{" + "id=" + id + ", createTime='" + createTime + '\'' + ", batchNo='" + batchNo + '\'' + ", machineNo='" + machineNo + '\'' + ", materialNo='" + materialNo + '\'' + ", mouldNo='" + mouldNo + '\'' + ", varietyNo='" + varietyNo + '\'' + ", qcItemNo='" + qcItemNo + '\'' + ", qcValue='" + qcValue + '\'' + '}';
|
||||
return "QcSourceEntity{" +
|
||||
"id=" + id +
|
||||
", createTime='" + createTime + '\'' +
|
||||
", createTimeFormat='" + createTimeFormat + '\'' +
|
||||
", batchNo='" + batchNo + '\'' +
|
||||
", machineNo='" + machineNo + '\'' +
|
||||
", materialNo='" + materialNo + '\'' +
|
||||
", mouldNo='" + mouldNo + '\'' +
|
||||
", varietyNo='" + varietyNo + '\'' +
|
||||
", craftItemNo='" + craftItemNo + '\'' +
|
||||
", qcItemNo='" + qcItemNo + '\'' +
|
||||
", qcValue='" + qcValue + '\'' +
|
||||
'}';
|
||||
}
|
||||
}
|
@ -1,4 +1,4 @@
|
||||
package com.xkrs.newpro.model.entity;
|
||||
package com.xkrs.model.entity;
|
||||
|
||||
import javax.persistence.*;
|
||||
|
||||
@ -35,6 +35,12 @@ public class QcSpecEntity {
|
||||
@Column(length = 85, columnDefinition = "varchar(85)")
|
||||
private String varietyNo;
|
||||
|
||||
/**
|
||||
* 工艺项目编号
|
||||
*/
|
||||
@Column(length = 85, columnDefinition = "varchar(85)")
|
||||
private String craftItemNo;
|
||||
|
||||
/**
|
||||
* 检验项目编号
|
||||
*/
|
||||
@ -118,6 +124,14 @@ public class QcSpecEntity {
|
||||
this.varietyNo = varietyNo;
|
||||
}
|
||||
|
||||
public String getCraftItemNo() {
|
||||
return craftItemNo;
|
||||
}
|
||||
|
||||
public void setCraftItemNo(String craftItemNo) {
|
||||
this.craftItemNo = craftItemNo;
|
||||
}
|
||||
|
||||
public String getQcItemNo() {
|
||||
return qcItemNo;
|
||||
}
|
||||
@ -184,6 +198,6 @@ public class QcSpecEntity {
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "QcSpecEntity{" + "id=" + id + ", createTime='" + createTime + '\'' + ", updateTime='" + updateTime + '\'' + ", varietyNo='" + varietyNo + '\'' + ", qcItemNo='" + qcItemNo + '\'' + ", max='" + max + '\'' + ", mean='" + mean + '\'' + ", min='" + min + '\'' + ", unit='" + unit + '\'' + ", method='" + method + '\'' + ", standard='" + standard + '\'' + ", remark='" + remark + '\'' + '}';
|
||||
return "QcSpecEntity{" + "id=" + id + ", createTime='" + createTime + '\'' + ", updateTime='" + updateTime + '\'' + ", varietyNo='" + varietyNo + '\'' + ", craftItemNo='" + craftItemNo + '\'' + ", qcItemNo='" + qcItemNo + '\'' + ", max='" + max + '\'' + ", mean='" + mean + '\'' + ", min='" + min + '\'' + ", unit='" + unit + '\'' + ", method='" + method + '\'' + ", standard='" + standard + '\'' + ", remark='" + remark + '\'' + '}';
|
||||
}
|
||||
}
|
@ -1,183 +0,0 @@
|
||||
package com.xkrs.model.entity;
|
||||
|
||||
import javax.persistence.*;
|
||||
|
||||
@Entity
|
||||
@Table(name = "qc_inspection_spec")
|
||||
public class SpecEntity {
|
||||
/**
|
||||
* 主键id
|
||||
*/
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "qc_inspection_spec_seq_gen")
|
||||
@SequenceGenerator(name = "qc_inspection_spec_seq_gen", sequenceName = "qc_inspection_spec_id_seq", allocationSize = 1)
|
||||
private Integer id;
|
||||
|
||||
/**
|
||||
* 机种号
|
||||
*/
|
||||
@Column(length = 85, columnDefinition = "varchar(85)")
|
||||
private String machineTypeNo;
|
||||
|
||||
/**
|
||||
* 检验项代码
|
||||
*/
|
||||
@Column(length = 85, columnDefinition = "varchar(85)")
|
||||
private String inspectionItemCode;
|
||||
|
||||
/**
|
||||
* 工艺项目名称
|
||||
*/
|
||||
@Column(length = 85, columnDefinition = "varchar(85)")
|
||||
private String craftItemName;
|
||||
|
||||
/**
|
||||
* 最大值
|
||||
*/
|
||||
@Column(length = 85, columnDefinition = "varchar(85)")
|
||||
private String max;
|
||||
|
||||
/**
|
||||
* 平均值
|
||||
*/
|
||||
@Column(length = 85, columnDefinition = "varchar(85)")
|
||||
private String mean;
|
||||
|
||||
/**
|
||||
* 最小值
|
||||
*/
|
||||
@Column(length = 85, columnDefinition = "varchar(85)")
|
||||
private String min;
|
||||
|
||||
/**
|
||||
* 单位
|
||||
*/
|
||||
@Column(length = 85, columnDefinition = "varchar(85)")
|
||||
private String unit;
|
||||
|
||||
/**
|
||||
* 检验方法
|
||||
*/
|
||||
@Column(length = 85, columnDefinition = "varchar(85)")
|
||||
private String inspectionMethod;
|
||||
|
||||
/**
|
||||
* 检验标准
|
||||
*/
|
||||
@Column(length = 85, columnDefinition = "varchar(85)")
|
||||
private String inspectionStandard;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
@Column(length = 85, columnDefinition = "varchar(85)")
|
||||
private String remark;
|
||||
|
||||
public SpecEntity() {
|
||||
}
|
||||
|
||||
public Integer getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public void setId(Integer id) {
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
public String getMachineTypeNo() {
|
||||
return machineTypeNo;
|
||||
}
|
||||
|
||||
public void setMachineTypeNo(String machineTypeNo) {
|
||||
this.machineTypeNo = machineTypeNo;
|
||||
}
|
||||
|
||||
public String getInspectionItemCode() {
|
||||
return inspectionItemCode;
|
||||
}
|
||||
|
||||
public void setInspectionItemCode(String inspectionItemCode) {
|
||||
this.inspectionItemCode = inspectionItemCode;
|
||||
}
|
||||
|
||||
public String getCraftItemName() {
|
||||
return craftItemName;
|
||||
}
|
||||
|
||||
public void setCraftItemName(String craftItemName) {
|
||||
this.craftItemName = craftItemName;
|
||||
}
|
||||
|
||||
public String getMax() {
|
||||
return max;
|
||||
}
|
||||
|
||||
public void setMax(String max) {
|
||||
this.max = max;
|
||||
}
|
||||
|
||||
public String getMean() {
|
||||
return mean;
|
||||
}
|
||||
|
||||
public void setMean(String mean) {
|
||||
this.mean = mean;
|
||||
}
|
||||
|
||||
public String getMin() {
|
||||
return min;
|
||||
}
|
||||
|
||||
public void setMin(String min) {
|
||||
this.min = min;
|
||||
}
|
||||
|
||||
public String getUnit() {
|
||||
return unit;
|
||||
}
|
||||
|
||||
public void setUnit(String unit) {
|
||||
this.unit = unit;
|
||||
}
|
||||
|
||||
public String getInspectionMethod() {
|
||||
return inspectionMethod;
|
||||
}
|
||||
|
||||
public void setInspectionMethod(String inspectionMethod) {
|
||||
this.inspectionMethod = inspectionMethod;
|
||||
}
|
||||
|
||||
public String getInspectionStandard() {
|
||||
return inspectionStandard;
|
||||
}
|
||||
|
||||
public void setInspectionStandard(String inspectionStandard) {
|
||||
this.inspectionStandard = inspectionStandard;
|
||||
}
|
||||
|
||||
public String getRemark() {
|
||||
return remark;
|
||||
}
|
||||
|
||||
public void setRemark(String remark) {
|
||||
this.remark = remark;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "SpecEntity{" +
|
||||
"id=" + id +
|
||||
", machineTypeNo='" + machineTypeNo + '\'' +
|
||||
", inspectionItemCode='" + inspectionItemCode + '\'' +
|
||||
", craftItemName='" + craftItemName + '\'' +
|
||||
", max='" + max + '\'' +
|
||||
", mean='" + mean + '\'' +
|
||||
", min='" + min + '\'' +
|
||||
", unit='" + unit + '\'' +
|
||||
", inspectionMethod='" + inspectionMethod + '\'' +
|
||||
", inspectionStandard='" + inspectionStandard + '\'' +
|
||||
", remark='" + remark + '\'' +
|
||||
'}';
|
||||
}
|
||||
}
|
33
src/main/java/com/xkrs/model/qo/CraftItemQoDelete.java
Normal file
33
src/main/java/com/xkrs/model/qo/CraftItemQoDelete.java
Normal file
@ -0,0 +1,33 @@
|
||||
package com.xkrs.model.qo;
|
||||
|
||||
import com.xkrs.model.va.CraftItemQoDeleteVa;
|
||||
|
||||
import javax.validation.constraints.NotBlank;
|
||||
|
||||
/**
|
||||
* 删除工艺项目接收类
|
||||
*/
|
||||
public class CraftItemQoDelete {
|
||||
|
||||
/**
|
||||
* 主键id
|
||||
*/
|
||||
@NotBlank(message = "{CraftItemEntity.id.blank}", groups = {CraftItemQoDeleteVa.class})
|
||||
private Integer id;
|
||||
|
||||
public CraftItemQoDelete() {
|
||||
}
|
||||
|
||||
public Integer getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public void setId(Integer id) {
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "CraftItemQoDelete{" + "id=" + id + '}';
|
||||
}
|
||||
}
|
47
src/main/java/com/xkrs/model/qo/CraftItemQoInsert.java
Normal file
47
src/main/java/com/xkrs/model/qo/CraftItemQoInsert.java
Normal file
@ -0,0 +1,47 @@
|
||||
package com.xkrs.model.qo;
|
||||
|
||||
import com.xkrs.model.va.CraftItemQoInsertVa;
|
||||
|
||||
import javax.validation.constraints.NotBlank;
|
||||
|
||||
/**
|
||||
* 新增工艺项目接收类
|
||||
*/
|
||||
public class CraftItemQoInsert {
|
||||
|
||||
/**
|
||||
* 编号
|
||||
*/
|
||||
@NotBlank(message = "{CraftItemEntity.no.blank}", groups = {CraftItemQoInsertVa.class})
|
||||
private String no;
|
||||
|
||||
/**
|
||||
* 名称
|
||||
*/
|
||||
@NotBlank(message = "{CraftItemEntity.name.blank}", groups = {CraftItemQoInsertVa.class})
|
||||
private String name;
|
||||
|
||||
public CraftItemQoInsert() {
|
||||
}
|
||||
|
||||
public String getNo() {
|
||||
return no;
|
||||
}
|
||||
|
||||
public void setNo(String no) {
|
||||
this.no = no;
|
||||
}
|
||||
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
|
||||
public void setName(String name) {
|
||||
this.name = name;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "CraftItemQoInsert{" + "no='" + no + '\'' + ", name='" + name + '\'' + '}';
|
||||
}
|
||||
}
|
44
src/main/java/com/xkrs/model/qo/CraftItemQoUpdate.java
Normal file
44
src/main/java/com/xkrs/model/qo/CraftItemQoUpdate.java
Normal file
@ -0,0 +1,44 @@
|
||||
package com.xkrs.model.qo;
|
||||
|
||||
import com.xkrs.model.va.CraftItemQoUpdateVa;
|
||||
|
||||
import javax.validation.constraints.NotBlank;
|
||||
|
||||
public class CraftItemQoUpdate {
|
||||
|
||||
/**
|
||||
* 主键id
|
||||
*/
|
||||
@NotBlank(message = "{CraftItemEntity.id.blank}", groups = {CraftItemQoUpdateVa.class})
|
||||
private Integer id;
|
||||
|
||||
/**
|
||||
* 名称
|
||||
*/
|
||||
@NotBlank(message = "{CraftItemEntity.name.blank}", groups = {CraftItemQoUpdateVa.class})
|
||||
private String name;
|
||||
|
||||
public CraftItemQoUpdate() {
|
||||
}
|
||||
|
||||
public Integer getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public void setId(Integer id) {
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
|
||||
public void setName(String name) {
|
||||
this.name = name;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "CraftItemQoUpdate{" + "id=" + id + ", name='" + name + '\'' + '}';
|
||||
}
|
||||
}
|
@ -1,43 +0,0 @@
|
||||
package com.xkrs.model.qo;
|
||||
|
||||
import com.xkrs.model.validation.DataDictQoInsert;
|
||||
|
||||
import javax.validation.constraints.NotBlank;
|
||||
|
||||
/**
|
||||
* @Author: XinYi Song
|
||||
* @Date: 2022/1/19 10:14
|
||||
*/
|
||||
public class DataDictQo {
|
||||
|
||||
/**
|
||||
* 质检项代码
|
||||
*/
|
||||
@NotBlank(message = "{DataDict.inspectionItemCode.blank}", groups = {DataDictQoInsert.class})
|
||||
private String inspectionItemCode;
|
||||
|
||||
/**
|
||||
* 质检项名称
|
||||
*/
|
||||
@NotBlank(message = "{DataDict.inspectionItemName.blank}", groups = {DataDictQoInsert.class})
|
||||
private String inspectionItemName;
|
||||
|
||||
public DataDictQo() {
|
||||
}
|
||||
|
||||
public String getInspectionItemCode() {
|
||||
return inspectionItemCode;
|
||||
}
|
||||
|
||||
public void setInspectionItemCode(String inspectionItemCode) {
|
||||
this.inspectionItemCode = inspectionItemCode;
|
||||
}
|
||||
|
||||
public String getInspectionItemName() {
|
||||
return inspectionItemName;
|
||||
}
|
||||
|
||||
public void setInspectionItemName(String inspectionItemName) {
|
||||
this.inspectionItemName = inspectionItemName;
|
||||
}
|
||||
}
|
@ -1,40 +0,0 @@
|
||||
package com.xkrs.model.qo;
|
||||
|
||||
import com.xkrs.model.validation.DataDictUpdateQoUpdate;
|
||||
|
||||
import javax.validation.constraints.NotBlank;
|
||||
|
||||
/**
|
||||
* @Author: XinYi Song
|
||||
* @Date: 2022/1/20 11:23
|
||||
*/
|
||||
public class DataDictUpdateQo {
|
||||
|
||||
@NotBlank(message = "{DataDict.id.blank}", groups = {DataDictUpdateQoUpdate.class})
|
||||
private Integer id;
|
||||
|
||||
/**
|
||||
* 质检项名称
|
||||
*/
|
||||
@NotBlank(message = "{DataDict.inspectionItemName.blank}", groups = {DataDictUpdateQoUpdate.class})
|
||||
private String inspectionItemName;
|
||||
|
||||
public DataDictUpdateQo() {
|
||||
}
|
||||
|
||||
public Integer getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public void setId(Integer id) {
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
public String getInspectionItemName() {
|
||||
return inspectionItemName;
|
||||
}
|
||||
|
||||
public void setInspectionItemName(String inspectionItemName) {
|
||||
this.inspectionItemName = inspectionItemName;
|
||||
}
|
||||
}
|
@ -1,128 +0,0 @@
|
||||
package com.xkrs.model.qo;
|
||||
|
||||
import com.xkrs.model.validation.DataSourceQoInsert;
|
||||
|
||||
import javax.validation.constraints.NotBlank;
|
||||
|
||||
/**
|
||||
* @Author: XinYi Song
|
||||
* @Date: 2022/1/19 16:37
|
||||
*/
|
||||
public class DataSourceQo {
|
||||
|
||||
/**
|
||||
* 批次号
|
||||
*/
|
||||
@NotBlank(message = "{DataSource.lotNo.blank}", groups = {DataSourceQoInsert.class})
|
||||
private String lotNo;
|
||||
|
||||
/**
|
||||
* 机器号
|
||||
*/
|
||||
@NotBlank(message = "{DataSource.machineNo.blank}", groups = {DataSourceQoInsert.class})
|
||||
private String machineNo;
|
||||
|
||||
/**
|
||||
* 物料号
|
||||
*/
|
||||
@NotBlank(message = "{DataSource.materialNo.blank}", groups = {DataSourceQoInsert.class})
|
||||
private String materialNo;
|
||||
|
||||
/**
|
||||
* 模具号
|
||||
*/
|
||||
@NotBlank(message = "{DataSource.modelNo.blank}", groups = {DataSourceQoInsert.class})
|
||||
private String modelNo;
|
||||
|
||||
/**
|
||||
* 机种号
|
||||
*/
|
||||
@NotBlank(message = "{DataSource.machineTypeNo.blank}", groups = {DataSourceQoInsert.class})
|
||||
private String machineTypeNo;
|
||||
|
||||
/**
|
||||
* 检验项代码
|
||||
*/
|
||||
@NotBlank(message = "{DataSource.inspectionItemCode.blank}", groups = {DataSourceQoInsert.class})
|
||||
private String inspectionItemCode;
|
||||
|
||||
/**
|
||||
* 工艺项目名称
|
||||
*/
|
||||
@NotBlank(message = "{DataSource.craftItemName.blank}", groups = {DataSourceQoInsert.class})
|
||||
private String craftItemName;
|
||||
|
||||
/**
|
||||
* 检验数值
|
||||
*/
|
||||
@NotBlank(message = "{DataSource.inspectValue.blank}", groups = {DataSourceQoInsert.class})
|
||||
private String inspectValue;
|
||||
|
||||
public DataSourceQo() {
|
||||
}
|
||||
|
||||
public String getLotNo() {
|
||||
return lotNo;
|
||||
}
|
||||
|
||||
public void setLotNo(String lotNo) {
|
||||
this.lotNo = lotNo;
|
||||
}
|
||||
|
||||
public String getMachineNo() {
|
||||
return machineNo;
|
||||
}
|
||||
|
||||
public void setMachineNo(String machineNo) {
|
||||
this.machineNo = machineNo;
|
||||
}
|
||||
|
||||
public String getMaterialNo() {
|
||||
return materialNo;
|
||||
}
|
||||
|
||||
public void setMaterialNo(String materialNo) {
|
||||
this.materialNo = materialNo;
|
||||
}
|
||||
|
||||
public String getModelNo() {
|
||||
return modelNo;
|
||||
}
|
||||
|
||||
public void setModelNo(String modelNo) {
|
||||
this.modelNo = modelNo;
|
||||
}
|
||||
|
||||
public String getMachineTypeNo() {
|
||||
return machineTypeNo;
|
||||
}
|
||||
|
||||
public void setMachineTypeNo(String machineTypeNo) {
|
||||
this.machineTypeNo = machineTypeNo;
|
||||
}
|
||||
|
||||
public String getInspectionItemCode() {
|
||||
return inspectionItemCode;
|
||||
}
|
||||
|
||||
public void setInspectionItemCode(String inspectionItemCode) {
|
||||
this.inspectionItemCode = inspectionItemCode;
|
||||
}
|
||||
|
||||
public String getCraftItemName() {
|
||||
return craftItemName;
|
||||
}
|
||||
|
||||
public void setCraftItemName(String craftItemName) {
|
||||
this.craftItemName = craftItemName;
|
||||
}
|
||||
|
||||
public String getInspectValue() {
|
||||
return inspectValue;
|
||||
}
|
||||
|
||||
public void setInspectValue(String inspectValue) {
|
||||
this.inspectValue = inspectValue;
|
||||
}
|
||||
|
||||
}
|
@ -1,30 +0,0 @@
|
||||
package com.xkrs.model.qo;
|
||||
|
||||
import com.xkrs.model.validation.DeletePictureQoDelete;
|
||||
|
||||
import javax.validation.constraints.NotBlank;
|
||||
|
||||
public class DeletePictureQo {
|
||||
|
||||
/**
|
||||
* 图片路径
|
||||
*/
|
||||
@NotBlank(message = "{PictureEntity.picturePath.blank}", groups = {DeletePictureQoDelete.class})
|
||||
private String picturePath;
|
||||
|
||||
public DeletePictureQo() {
|
||||
}
|
||||
|
||||
public String getPicturePath() {
|
||||
return picturePath;
|
||||
}
|
||||
|
||||
public void setPicturePath(String picturePath) {
|
||||
this.picturePath = picturePath;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "DeletePictureQo{" + "picturePath='" + picturePath + '\'' + '}';
|
||||
}
|
||||
}
|
108
src/main/java/com/xkrs/model/qo/ExportSourceExcelQo.java
Normal file
108
src/main/java/com/xkrs/model/qo/ExportSourceExcelQo.java
Normal file
@ -0,0 +1,108 @@
|
||||
package com.xkrs.model.qo;
|
||||
|
||||
import com.xkrs.model.va.ExportSourceExcelQoVa;
|
||||
|
||||
import javax.validation.constraints.NotBlank;
|
||||
|
||||
public class ExportSourceExcelQo {
|
||||
|
||||
/**
|
||||
* IP端口
|
||||
*/
|
||||
@NotBlank(message = "{QcSourceEntity.host.blank}", groups = {ExportSourceExcelQoVa.class})
|
||||
private String host;
|
||||
|
||||
/**
|
||||
* 批次号
|
||||
*/
|
||||
private String batchNo;
|
||||
|
||||
/**
|
||||
* 机器号
|
||||
*/
|
||||
private String machineNo;
|
||||
|
||||
/**
|
||||
* 物料号
|
||||
*/
|
||||
private String materialNo;
|
||||
|
||||
/**
|
||||
* 模具号
|
||||
*/
|
||||
private String mouldNo;
|
||||
|
||||
/**
|
||||
* 机种号
|
||||
*/
|
||||
private String varietyNo;
|
||||
|
||||
/**
|
||||
* 工艺项目编号
|
||||
*/
|
||||
private String craftItemNo;
|
||||
|
||||
public ExportSourceExcelQo() {
|
||||
}
|
||||
|
||||
public String getHost() {
|
||||
return host;
|
||||
}
|
||||
|
||||
public void setHost(String host) {
|
||||
this.host = host;
|
||||
}
|
||||
|
||||
public String getBatchNo() {
|
||||
return batchNo;
|
||||
}
|
||||
|
||||
public void setBatchNo(String batchNo) {
|
||||
this.batchNo = batchNo;
|
||||
}
|
||||
|
||||
public String getMachineNo() {
|
||||
return machineNo;
|
||||
}
|
||||
|
||||
public void setMachineNo(String machineNo) {
|
||||
this.machineNo = machineNo;
|
||||
}
|
||||
|
||||
public String getMaterialNo() {
|
||||
return materialNo;
|
||||
}
|
||||
|
||||
public void setMaterialNo(String materialNo) {
|
||||
this.materialNo = materialNo;
|
||||
}
|
||||
|
||||
public String getMouldNo() {
|
||||
return mouldNo;
|
||||
}
|
||||
|
||||
public void setMouldNo(String mouldNo) {
|
||||
this.mouldNo = mouldNo;
|
||||
}
|
||||
|
||||
public String getVarietyNo() {
|
||||
return varietyNo;
|
||||
}
|
||||
|
||||
public void setVarietyNo(String varietyNo) {
|
||||
this.varietyNo = varietyNo;
|
||||
}
|
||||
|
||||
public String getCraftItemNo() {
|
||||
return craftItemNo;
|
||||
}
|
||||
|
||||
public void setCraftItemNo(String craftItemNo) {
|
||||
this.craftItemNo = craftItemNo;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "ExportExcelQo{" + "host='" + host + '\'' + ", batchNo='" + batchNo + '\'' + ", machineNo='" + machineNo + '\'' + ", materialNo='" + materialNo + '\'' + ", mouldNo='" + mouldNo + '\'' + ", varietyNo='" + varietyNo + '\'' + ", craftItemNo='" + craftItemNo + '\'' + '}';
|
||||
}
|
||||
}
|
30
src/main/java/com/xkrs/model/qo/ExportSpecExcelQo.java
Normal file
30
src/main/java/com/xkrs/model/qo/ExportSpecExcelQo.java
Normal file
@ -0,0 +1,30 @@
|
||||
package com.xkrs.model.qo;
|
||||
|
||||
import com.xkrs.model.va.ExportSpecExcelQoVa;
|
||||
|
||||
import javax.validation.constraints.NotBlank;
|
||||
|
||||
public class ExportSpecExcelQo {
|
||||
|
||||
/**
|
||||
* IP端口
|
||||
*/
|
||||
@NotBlank(message = "{QcSpecEntity.host.blank}", groups = {ExportSpecExcelQoVa.class})
|
||||
private String host;
|
||||
|
||||
public ExportSpecExcelQo() {
|
||||
}
|
||||
|
||||
public String getHost() {
|
||||
return host;
|
||||
}
|
||||
|
||||
public void setHost(String host) {
|
||||
this.host = host;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "ExportSpecExcelQo{" + "host='" + host + '\'' + '}';
|
||||
}
|
||||
}
|
@ -1,6 +1,6 @@
|
||||
package com.xkrs.model.qo;
|
||||
|
||||
import com.xkrs.model.validation.FileQoInsert;
|
||||
import com.xkrs.model.va.FileQoInsert;
|
||||
|
||||
import javax.validation.constraints.NotBlank;
|
||||
|
||||
|
@ -1,95 +0,0 @@
|
||||
package com.xkrs.model.qo;
|
||||
|
||||
import com.xkrs.model.validation.PictureQoInsert;
|
||||
|
||||
import javax.validation.constraints.NotBlank;
|
||||
|
||||
public class PictureQo {
|
||||
|
||||
/**
|
||||
* 批次号
|
||||
*/
|
||||
@NotBlank(message = "{PictureEntity.lotNo.blank}", groups = {PictureQoInsert.class})
|
||||
private String lotNo;
|
||||
|
||||
/**
|
||||
* 机器号
|
||||
*/
|
||||
@NotBlank(message = "{PictureEntity.machineNo.blank}", groups = {PictureQoInsert.class})
|
||||
private String machineNo;
|
||||
|
||||
/**
|
||||
* 物料号
|
||||
*/
|
||||
@NotBlank(message = "{PictureEntity.materialNo.blank}", groups = {PictureQoInsert.class})
|
||||
private String materialNo;
|
||||
|
||||
/**
|
||||
* 模具号
|
||||
*/
|
||||
@NotBlank(message = "{PictureEntity.modelNo.blank}", groups = {PictureQoInsert.class})
|
||||
private String modelNo;
|
||||
|
||||
/**
|
||||
* 机种号
|
||||
*/
|
||||
@NotBlank(message = "{PictureEntity.machineTypeNo.blank}", groups = {PictureQoInsert.class})
|
||||
private String machineTypeNo;
|
||||
|
||||
/**
|
||||
* 工艺项目名称
|
||||
*/
|
||||
@NotBlank(message = "{PictureEntity.craftItemName.blank}", groups = {PictureQoInsert.class})
|
||||
private String craftItemName;
|
||||
|
||||
public PictureQo() {
|
||||
}
|
||||
|
||||
public String getLotNo() {
|
||||
return lotNo;
|
||||
}
|
||||
|
||||
public void setLotNo(String lotNo) {
|
||||
this.lotNo = lotNo;
|
||||
}
|
||||
|
||||
public String getMachineNo() {
|
||||
return machineNo;
|
||||
}
|
||||
|
||||
public void setMachineNo(String machineNo) {
|
||||
this.machineNo = machineNo;
|
||||
}
|
||||
|
||||
public String getMaterialNo() {
|
||||
return materialNo;
|
||||
}
|
||||
|
||||
public void setMaterialNo(String materialNo) {
|
||||
this.materialNo = materialNo;
|
||||
}
|
||||
|
||||
public String getModelNo() {
|
||||
return modelNo;
|
||||
}
|
||||
|
||||
public void setModelNo(String modelNo) {
|
||||
this.modelNo = modelNo;
|
||||
}
|
||||
|
||||
public String getMachineTypeNo() {
|
||||
return machineTypeNo;
|
||||
}
|
||||
|
||||
public void setMachineTypeNo(String machineTypeNo) {
|
||||
this.machineTypeNo = machineTypeNo;
|
||||
}
|
||||
|
||||
public String getCraftItemName() {
|
||||
return craftItemName;
|
||||
}
|
||||
|
||||
public void setCraftItemName(String craftItemName) {
|
||||
this.craftItemName = craftItemName;
|
||||
}
|
||||
}
|
@ -1,4 +1,8 @@
|
||||
package com.xkrs.newpro.model.qo;
|
||||
package com.xkrs.model.qo;
|
||||
|
||||
import com.xkrs.model.va.QcItemQoDeleteVa;
|
||||
|
||||
import javax.validation.constraints.NotBlank;
|
||||
|
||||
/**
|
||||
* 删除检验项目接收类
|
||||
@ -8,6 +12,7 @@ public class QcItemQoDelete {
|
||||
/**
|
||||
* 主键id
|
||||
*/
|
||||
@NotBlank(message = "{QcItemEntity.id.blank}", groups = {QcItemQoDeleteVa.class})
|
||||
private Integer id;
|
||||
|
||||
public QcItemQoDelete() {
|
@ -1,4 +1,8 @@
|
||||
package com.xkrs.newpro.model.qo;
|
||||
package com.xkrs.model.qo;
|
||||
|
||||
import com.xkrs.model.va.QcItemQoInsertVa;
|
||||
|
||||
import javax.validation.constraints.NotBlank;
|
||||
|
||||
/**
|
||||
* 新增检验项目接收类
|
||||
@ -8,16 +12,19 @@ public class QcItemQoInsert {
|
||||
/**
|
||||
* 编号
|
||||
*/
|
||||
@NotBlank(message = "{QcItemEntity.no.blank}", groups = {QcItemQoInsertVa.class})
|
||||
private String no;
|
||||
|
||||
/**
|
||||
* 名称
|
||||
*/
|
||||
@NotBlank(message = "{QcItemEntity.name.blank}", groups = {QcItemQoInsertVa.class})
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 类型
|
||||
*/
|
||||
@NotBlank(message = "{QcItemEntity.type.blank}", groups = {QcItemQoInsertVa.class})
|
||||
private String type;
|
||||
|
||||
public QcItemQoInsert() {
|
@ -1,4 +1,8 @@
|
||||
package com.xkrs.newpro.model.qo;
|
||||
package com.xkrs.model.qo;
|
||||
|
||||
import com.xkrs.model.va.QcItemQoUpdateVa;
|
||||
|
||||
import javax.validation.constraints.NotBlank;
|
||||
|
||||
/**
|
||||
* 更新检验项目接收类
|
||||
@ -8,11 +12,13 @@ public class QcItemQoUpdate {
|
||||
/**
|
||||
* 主键id
|
||||
*/
|
||||
@NotBlank(message = "{QcItemEntity.id.blank}", groups = {QcItemQoUpdateVa.class})
|
||||
private Integer id;
|
||||
|
||||
/**
|
||||
* 名称
|
||||
*/
|
||||
@NotBlank(message = "{QcItemEntity.name.blank}", groups = {QcItemQoUpdateVa.class})
|
||||
private String name;
|
||||
|
||||
public QcItemQoUpdate() {
|
@ -1,4 +1,8 @@
|
||||
package com.xkrs.newpro.model.qo;
|
||||
package com.xkrs.model.qo;
|
||||
|
||||
import com.xkrs.model.va.QcSourceQoDeleteVa;
|
||||
|
||||
import javax.validation.constraints.NotBlank;
|
||||
|
||||
/**
|
||||
* 删除检验数据接收类
|
||||
@ -8,6 +12,7 @@ public class QcSourceQoDelete {
|
||||
/**
|
||||
* 主键id
|
||||
*/
|
||||
@NotBlank(message = "{QcSourceEntity.id.blank}", groups = {QcSourceQoDeleteVa.class})
|
||||
private Integer id;
|
||||
|
||||
public QcSourceQoDelete() {
|
@ -1,4 +1,8 @@
|
||||
package com.xkrs.newpro.model.qo;
|
||||
package com.xkrs.model.qo;
|
||||
|
||||
import com.xkrs.model.va.QcSourceQoInsertVa;
|
||||
|
||||
import javax.validation.constraints.NotBlank;
|
||||
|
||||
/**
|
||||
* 新增检验数据接收类
|
||||
@ -8,31 +12,43 @@ public class QcSourceQoInsert {
|
||||
/**
|
||||
* 批次号
|
||||
*/
|
||||
@NotBlank(message = "{QcSourceEntity.batchNo.blank}", groups = {QcSourceQoInsertVa.class})
|
||||
private String batchNo;
|
||||
|
||||
/**
|
||||
* 机器号
|
||||
*/
|
||||
@NotBlank(message = "{QcSourceEntity.machineNo.blank}", groups = {QcSourceQoInsertVa.class})
|
||||
private String machineNo;
|
||||
|
||||
/**
|
||||
* 物料号
|
||||
*/
|
||||
@NotBlank(message = "{QcSourceEntity.materialNo.blank}", groups = {QcSourceQoInsertVa.class})
|
||||
private String materialNo;
|
||||
|
||||
/**
|
||||
* 模具号
|
||||
*/
|
||||
@NotBlank(message = "{QcSourceEntity.mouldNo.blank}", groups = {QcSourceQoInsertVa.class})
|
||||
private String mouldNo;
|
||||
|
||||
/**
|
||||
* 机种号
|
||||
*/
|
||||
@NotBlank(message = "{QcSourceEntity.varietyNo.blank}", groups = {QcSourceQoInsertVa.class})
|
||||
private String varietyNo;
|
||||
|
||||
/**
|
||||
* 工艺项目编号
|
||||
*/
|
||||
@NotBlank(message = "{QcSourceEntity.craftItemNo.blank}", groups = {QcSourceQoInsertVa.class})
|
||||
private String craftItemNo;
|
||||
|
||||
/**
|
||||
* 检验项目编号
|
||||
*/
|
||||
@NotBlank(message = "{QcSourceEntity.qcItemNo.blank}", groups = {QcSourceQoInsertVa.class})
|
||||
private String qcItemNo;
|
||||
|
||||
/**
|
||||
@ -83,6 +99,14 @@ public class QcSourceQoInsert {
|
||||
this.varietyNo = varietyNo;
|
||||
}
|
||||
|
||||
public String getCraftItemNo() {
|
||||
return craftItemNo;
|
||||
}
|
||||
|
||||
public void setCraftItemNo(String craftItemNo) {
|
||||
this.craftItemNo = craftItemNo;
|
||||
}
|
||||
|
||||
public String getQcItemNo() {
|
||||
return qcItemNo;
|
||||
}
|
||||
@ -101,6 +125,6 @@ public class QcSourceQoInsert {
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "QcSourceQoInsert{" + "batchNo='" + batchNo + '\'' + ", machineNo='" + machineNo + '\'' + ", materialNo='" + materialNo + '\'' + ", mouldNo='" + mouldNo + '\'' + ", varietyNo='" + varietyNo + '\'' + ", qcItemNo='" + qcItemNo + '\'' + ", qcValue='" + qcValue + '\'' + '}';
|
||||
return "QcSourceQoInsert{" + "batchNo='" + batchNo + '\'' + ", machineNo='" + machineNo + '\'' + ", materialNo='" + materialNo + '\'' + ", mouldNo='" + mouldNo + '\'' + ", varietyNo='" + varietyNo + '\'' + ", craftItemNo='" + craftItemNo + '\'' + ", qcItemNo='" + qcItemNo + '\'' + ", qcValue='" + qcValue + '\'' + '}';
|
||||
}
|
||||
}
|
@ -1,4 +1,8 @@
|
||||
package com.xkrs.newpro.model.qo;
|
||||
package com.xkrs.model.qo;
|
||||
|
||||
import com.xkrs.model.va.QcSpecQoDeleteVa;
|
||||
|
||||
import javax.validation.constraints.NotBlank;
|
||||
|
||||
/**
|
||||
* 删除检验规格接收类
|
||||
@ -8,6 +12,7 @@ public class QcSpecQoDelete {
|
||||
/**
|
||||
* 主键id
|
||||
*/
|
||||
@NotBlank(message = "{QcSpecEntity.id.blank}", groups = {QcSpecQoDeleteVa.class})
|
||||
private Integer id;
|
||||
|
||||
public QcSpecQoDelete() {
|
@ -1,4 +1,8 @@
|
||||
package com.xkrs.newpro.model.qo;
|
||||
package com.xkrs.model.qo;
|
||||
|
||||
import com.xkrs.model.va.QcSpecQoInsertVa;
|
||||
|
||||
import javax.validation.constraints.NotBlank;
|
||||
|
||||
/**
|
||||
* 新增检验规格接收类
|
||||
@ -8,11 +12,19 @@ public class QcSpecQoInsert {
|
||||
/**
|
||||
* 机种号
|
||||
*/
|
||||
@NotBlank(message = "{QcSpecEntity.varietyNo.blank}", groups = {QcSpecQoInsertVa.class})
|
||||
private String varietyNo;
|
||||
|
||||
/**
|
||||
* 工艺项目编号
|
||||
*/
|
||||
@NotBlank(message = "{QcSpecEntity.craftItemNo.blank}", groups = {QcSpecQoInsertVa.class})
|
||||
private String craftItemNo;
|
||||
|
||||
/**
|
||||
* 检验项目编号
|
||||
*/
|
||||
@NotBlank(message = "{QcSpecEntity.qcItemNo.blank}", groups = {QcSpecQoInsertVa.class})
|
||||
private String qcItemNo;
|
||||
|
||||
/**
|
||||
@ -61,6 +73,14 @@ public class QcSpecQoInsert {
|
||||
this.varietyNo = varietyNo;
|
||||
}
|
||||
|
||||
public String getCraftItemNo() {
|
||||
return craftItemNo;
|
||||
}
|
||||
|
||||
public void setCraftItemNo(String craftItemNo) {
|
||||
this.craftItemNo = craftItemNo;
|
||||
}
|
||||
|
||||
public String getQcItemNo() {
|
||||
return qcItemNo;
|
||||
}
|
||||
@ -127,6 +147,6 @@ public class QcSpecQoInsert {
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "QcSpecQoInsert{" + "varietyNo='" + varietyNo + '\'' + ", qcItemNo='" + qcItemNo + '\'' + ", max='" + max + '\'' + ", mean='" + mean + '\'' + ", min='" + min + '\'' + ", unit='" + unit + '\'' + ", method='" + method + '\'' + ", standard='" + standard + '\'' + ", remark='" + remark + '\'' + '}';
|
||||
return "QcSpecQoInsert{" + "varietyNo='" + varietyNo + '\'' + ", craftItemNo='" + craftItemNo + '\'' + ", qcItemNo='" + qcItemNo + '\'' + ", max='" + max + '\'' + ", mean='" + mean + '\'' + ", min='" + min + '\'' + ", unit='" + unit + '\'' + ", method='" + method + '\'' + ", standard='" + standard + '\'' + ", remark='" + remark + '\'' + '}';
|
||||
}
|
||||
}
|
@ -1,4 +1,8 @@
|
||||
package com.xkrs.newpro.model.qo;
|
||||
package com.xkrs.model.qo;
|
||||
|
||||
import com.xkrs.model.va.QcSpecQoUpdateVa;
|
||||
|
||||
import javax.validation.constraints.NotBlank;
|
||||
|
||||
/**
|
||||
* 更新检验规格接收类
|
||||
@ -8,6 +12,7 @@ public class QcSpecQoUpdate {
|
||||
/**
|
||||
* 主键id
|
||||
*/
|
||||
@NotBlank(message = "{QcSpecEntity.id.blank}", groups = {QcSpecQoUpdateVa.class})
|
||||
private Integer id;
|
||||
|
||||
/**
|
@ -1,150 +0,0 @@
|
||||
package com.xkrs.model.qo;
|
||||
|
||||
import com.xkrs.model.validation.SpecQoInsert;
|
||||
|
||||
import javax.validation.constraints.NotBlank;
|
||||
|
||||
public class SpecQo {
|
||||
|
||||
/**
|
||||
* 机种号
|
||||
*/
|
||||
@NotBlank(message = "{SpecEntity.machineTypeNo.blank}", groups = {SpecQoInsert.class})
|
||||
private String machineTypeNo;
|
||||
|
||||
/**
|
||||
* 检验项代码
|
||||
*/
|
||||
@NotBlank(message = "{SpecEntity.inspectionItemCode.blank}", groups = {SpecQoInsert.class})
|
||||
private String inspectionItemCode;
|
||||
|
||||
/**
|
||||
* 工艺项目名称
|
||||
*/
|
||||
@NotBlank(message = "{SpecEntity.craftItemName.blank}", groups = {SpecQoInsert.class})
|
||||
private String craftItemName;
|
||||
|
||||
/**
|
||||
* 最大值
|
||||
*/
|
||||
@NotBlank(message = "{SpecEntity.max.blank}", groups = {SpecQoInsert.class})
|
||||
private String max;
|
||||
|
||||
/**
|
||||
* 平均值
|
||||
*/
|
||||
@NotBlank(message = "{SpecEntity.mean.blank}", groups = {SpecQoInsert.class})
|
||||
private String mean;
|
||||
|
||||
/**
|
||||
* 最小值
|
||||
*/
|
||||
@NotBlank(message = "{SpecEntity.min.blank}", groups = {SpecQoInsert.class})
|
||||
private String min;
|
||||
|
||||
/**
|
||||
* 单位
|
||||
*/
|
||||
@NotBlank(message = "{SpecEntity.unit.blank}", groups = {SpecQoInsert.class})
|
||||
private String unit;
|
||||
|
||||
/**
|
||||
* 检验方法
|
||||
*/
|
||||
@NotBlank(message = "{SpecEntity.inspectionMethod.blank}", groups = {SpecQoInsert.class})
|
||||
private String inspectionMethod;
|
||||
|
||||
/**
|
||||
* 检验标准
|
||||
*/
|
||||
@NotBlank(message = "{SpecEntity.inspectionStandard.blank}", groups = {SpecQoInsert.class})
|
||||
private String inspectionStandard;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
private String remark;
|
||||
|
||||
public SpecQo() {
|
||||
}
|
||||
|
||||
public String getMachineTypeNo() {
|
||||
return machineTypeNo;
|
||||
}
|
||||
|
||||
public void setMachineTypeNo(String machineTypeNo) {
|
||||
this.machineTypeNo = machineTypeNo;
|
||||
}
|
||||
|
||||
public String getInspectionItemCode() {
|
||||
return inspectionItemCode;
|
||||
}
|
||||
|
||||
public void setInspectionItemCode(String inspectionItemCode) {
|
||||
this.inspectionItemCode = inspectionItemCode;
|
||||
}
|
||||
|
||||
public String getCraftItemName() {
|
||||
return craftItemName;
|
||||
}
|
||||
|
||||
public void setCraftItemName(String craftItemName) {
|
||||
this.craftItemName = craftItemName;
|
||||
}
|
||||
|
||||
public String getMax() {
|
||||
return max;
|
||||
}
|
||||
|
||||
public void setMax(String max) {
|
||||
this.max = max;
|
||||
}
|
||||
|
||||
public String getMean() {
|
||||
return mean;
|
||||
}
|
||||
|
||||
public void setMean(String mean) {
|
||||
this.mean = mean;
|
||||
}
|
||||
|
||||
public String getMin() {
|
||||
return min;
|
||||
}
|
||||
|
||||
public void setMin(String min) {
|
||||
this.min = min;
|
||||
}
|
||||
|
||||
public String getUnit() {
|
||||
return unit;
|
||||
}
|
||||
|
||||
public void setUnit(String unit) {
|
||||
this.unit = unit;
|
||||
}
|
||||
|
||||
public String getInspectionMethod() {
|
||||
return inspectionMethod;
|
||||
}
|
||||
|
||||
public void setInspectionMethod(String inspectionMethod) {
|
||||
this.inspectionMethod = inspectionMethod;
|
||||
}
|
||||
|
||||
public String getInspectionStandard() {
|
||||
return inspectionStandard;
|
||||
}
|
||||
|
||||
public void setInspectionStandard(String inspectionStandard) {
|
||||
this.inspectionStandard = inspectionStandard;
|
||||
}
|
||||
|
||||
public String getRemark() {
|
||||
return remark;
|
||||
}
|
||||
|
||||
public void setRemark(String remark) {
|
||||
this.remark = remark;
|
||||
}
|
||||
}
|
4
src/main/java/com/xkrs/model/va/CraftItemQoDeleteVa.java
Normal file
4
src/main/java/com/xkrs/model/va/CraftItemQoDeleteVa.java
Normal file
@ -0,0 +1,4 @@
|
||||
package com.xkrs.model.va;
|
||||
|
||||
public interface CraftItemQoDeleteVa {
|
||||
}
|
4
src/main/java/com/xkrs/model/va/CraftItemQoInsertVa.java
Normal file
4
src/main/java/com/xkrs/model/va/CraftItemQoInsertVa.java
Normal file
@ -0,0 +1,4 @@
|
||||
package com.xkrs.model.va;
|
||||
|
||||
public interface CraftItemQoInsertVa {
|
||||
}
|
4
src/main/java/com/xkrs/model/va/CraftItemQoUpdateVa.java
Normal file
4
src/main/java/com/xkrs/model/va/CraftItemQoUpdateVa.java
Normal file
@ -0,0 +1,4 @@
|
||||
package com.xkrs.model.va;
|
||||
|
||||
public interface CraftItemQoUpdateVa {
|
||||
}
|
@ -0,0 +1,4 @@
|
||||
package com.xkrs.model.va;
|
||||
|
||||
public interface ExportSourceExcelQoVa {
|
||||
}
|
4
src/main/java/com/xkrs/model/va/ExportSpecExcelQoVa.java
Normal file
4
src/main/java/com/xkrs/model/va/ExportSpecExcelQoVa.java
Normal file
@ -0,0 +1,4 @@
|
||||
package com.xkrs.model.va;
|
||||
|
||||
public interface ExportSpecExcelQoVa {
|
||||
}
|
@ -1,4 +1,4 @@
|
||||
package com.xkrs.model.validation;
|
||||
package com.xkrs.model.va;
|
||||
|
||||
/**
|
||||
* @Author: XinYi Song
|
@ -1,4 +1,4 @@
|
||||
package com.xkrs.newpro.model.va;
|
||||
package com.xkrs.model.va;
|
||||
|
||||
public interface QcItemQoDeleteVa {
|
||||
}
|
@ -1,4 +1,4 @@
|
||||
package com.xkrs.newpro.model.va;
|
||||
package com.xkrs.model.va;
|
||||
|
||||
public interface QcItemQoInsertVa {
|
||||
}
|
@ -1,4 +1,4 @@
|
||||
package com.xkrs.newpro.model.va;
|
||||
package com.xkrs.model.va;
|
||||
|
||||
public interface QcItemQoUpdateVa {
|
||||
}
|
@ -1,4 +1,4 @@
|
||||
package com.xkrs.newpro.model.va;
|
||||
package com.xkrs.model.va;
|
||||
|
||||
public interface QcSourceQoDeleteVa {
|
||||
}
|
@ -1,4 +1,4 @@
|
||||
package com.xkrs.newpro.model.va;
|
||||
package com.xkrs.model.va;
|
||||
|
||||
public interface QcSourceQoInsertVa {
|
||||
}
|
@ -1,4 +1,4 @@
|
||||
package com.xkrs.newpro.model.va;
|
||||
package com.xkrs.model.va;
|
||||
|
||||
public interface QcSpecQoDeleteVa {
|
||||
}
|
@ -1,4 +1,4 @@
|
||||
package com.xkrs.newpro.model.va;
|
||||
package com.xkrs.model.va;
|
||||
|
||||
public interface QcSpecQoInsertVa {
|
||||
}
|
@ -1,4 +1,4 @@
|
||||
package com.xkrs.newpro.model.va;
|
||||
package com.xkrs.model.va;
|
||||
|
||||
public interface QcSpecQoUpdateVa {
|
||||
}
|
@ -1,8 +0,0 @@
|
||||
package com.xkrs.model.validation;
|
||||
|
||||
/**
|
||||
* @Author: XinYi Song
|
||||
* @Date: 2022/1/19 10:22
|
||||
*/
|
||||
public interface DataDictQoInsert {
|
||||
}
|
@ -1,8 +0,0 @@
|
||||
package com.xkrs.model.validation;
|
||||
|
||||
/**
|
||||
* @Author: XinYi Song
|
||||
* @Date: 2022/1/20 11:23
|
||||
*/
|
||||
public interface DataDictUpdateQoUpdate {
|
||||
}
|
@ -1,8 +0,0 @@
|
||||
package com.xkrs.model.validation;
|
||||
|
||||
/**
|
||||
* @Author: XinYi Song
|
||||
* @Date: 2022/1/19 16:39
|
||||
*/
|
||||
public interface DataSourceQoInsert {
|
||||
}
|
@ -1,4 +0,0 @@
|
||||
package com.xkrs.model.validation;
|
||||
|
||||
public interface DeletePictureQoDelete {
|
||||
}
|
@ -1,8 +0,0 @@
|
||||
package com.xkrs.model.validation;
|
||||
|
||||
/**
|
||||
* @Author: XinYi Song
|
||||
* @Date: 2022/1/20 16:21
|
||||
*/
|
||||
public interface FileUpdateQoUpdate {
|
||||
}
|
@ -1,8 +0,0 @@
|
||||
package com.xkrs.model.validation;
|
||||
|
||||
/**
|
||||
* @Author: XinYi Song
|
||||
* @Date: 2022/1/20 15:26
|
||||
*/
|
||||
public interface PictureQoInsert {
|
||||
}
|
@ -1,8 +0,0 @@
|
||||
package com.xkrs.model.validation;
|
||||
|
||||
/**
|
||||
* @Author: XinYi Song
|
||||
* @Date: 2022/1/19 10:22
|
||||
*/
|
||||
public interface SpecQoInsert {
|
||||
}
|
@ -1,106 +0,0 @@
|
||||
package com.xkrs.model.vo;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public class DataSourceVo {
|
||||
|
||||
private String lotNo;
|
||||
private String machineNo;
|
||||
private String materialNo;
|
||||
private String modelNo;
|
||||
private String machineTypeNo;
|
||||
private String inspectionItemCode;
|
||||
private String craftItemName;
|
||||
private String inspectValue;
|
||||
private List<String> picturePath;
|
||||
|
||||
public DataSourceVo() {
|
||||
}
|
||||
|
||||
public String getLotNo() {
|
||||
return lotNo;
|
||||
}
|
||||
|
||||
public void setLotNo(String lotNo) {
|
||||
this.lotNo = lotNo;
|
||||
}
|
||||
|
||||
public String getMachineNo() {
|
||||
return machineNo;
|
||||
}
|
||||
|
||||
public void setMachineNo(String machineNo) {
|
||||
this.machineNo = machineNo;
|
||||
}
|
||||
|
||||
public String getMaterialNo() {
|
||||
return materialNo;
|
||||
}
|
||||
|
||||
public void setMaterialNo(String materialNo) {
|
||||
this.materialNo = materialNo;
|
||||
}
|
||||
|
||||
public String getModelNo() {
|
||||
return modelNo;
|
||||
}
|
||||
|
||||
public void setModelNo(String modelNo) {
|
||||
this.modelNo = modelNo;
|
||||
}
|
||||
|
||||
public String getMachineTypeNo() {
|
||||
return machineTypeNo;
|
||||
}
|
||||
|
||||
public void setMachineTypeNo(String machineTypeNo) {
|
||||
this.machineTypeNo = machineTypeNo;
|
||||
}
|
||||
|
||||
public String getInspectionItemCode() {
|
||||
return inspectionItemCode;
|
||||
}
|
||||
|
||||
public void setInspectionItemCode(String inspectionItemCode) {
|
||||
this.inspectionItemCode = inspectionItemCode;
|
||||
}
|
||||
|
||||
public String getCraftItemName() {
|
||||
return craftItemName;
|
||||
}
|
||||
|
||||
public void setCraftItemName(String craftItemName) {
|
||||
this.craftItemName = craftItemName;
|
||||
}
|
||||
|
||||
public String getInspectValue() {
|
||||
return inspectValue;
|
||||
}
|
||||
|
||||
public void setInspectValue(String inspectValue) {
|
||||
this.inspectValue = inspectValue;
|
||||
}
|
||||
|
||||
public List<String> getPicturePath() {
|
||||
return picturePath;
|
||||
}
|
||||
|
||||
public void setPicturePath(List<String> picturePath) {
|
||||
this.picturePath = picturePath;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "DataSourceVo{" +
|
||||
"lotNo='" + lotNo + '\'' +
|
||||
", machineNo='" + machineNo + '\'' +
|
||||
", materialNo='" + materialNo + '\'' +
|
||||
", modelNo='" + modelNo + '\'' +
|
||||
", machineTypeNo='" + machineTypeNo + '\'' +
|
||||
", inspectionItemCode='" + inspectionItemCode + '\'' +
|
||||
", craftItemName='" + craftItemName + '\'' +
|
||||
", inspectValue='" + inspectValue + '\'' +
|
||||
", picturePath=" + picturePath +
|
||||
'}';
|
||||
}
|
||||
}
|
@ -1,41 +0,0 @@
|
||||
package com.xkrs.newpro.controller;
|
||||
|
||||
import com.xkrs.newpro.model.qo.QcSourceQoDelete;
|
||||
import com.xkrs.newpro.model.qo.QcSourceQoInsert;
|
||||
import com.xkrs.newpro.service.QcSourceService;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
|
||||
@RestController
|
||||
public class QcSourceController {
|
||||
|
||||
@Resource
|
||||
private QcSourceService qcSourceService;
|
||||
|
||||
/**
|
||||
* 添加检验数据
|
||||
*/
|
||||
@PostMapping("/insertQcSource")
|
||||
public String insertQcSource(QcSourceQoInsert insertQo, @RequestParam(required = false, value = "picture") MultipartFile picture) {
|
||||
return qcSourceService.insertQcSource(insertQo, picture);
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除检验数据
|
||||
*/
|
||||
@PostMapping("/deleteQcSource")
|
||||
public String deleteQcSource(@RequestBody QcSourceQoDelete deleteQo) {
|
||||
return qcSourceService.deleteQcSource(deleteQo);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询检验数据
|
||||
*/
|
||||
@GetMapping("/queryQcSource")
|
||||
public String queryQcSource(@RequestParam(required = false, value = "batchNo") String batchNo, @RequestParam(required = false, value = "machineNo") String machineNo, @RequestParam(required = false, value = "materialNo") String materialNo, @RequestParam(required = false, value = "mouldNo") String mouldNo, @RequestParam(required = false, value = "varietyNo") String varietyNo) {
|
||||
return qcSourceService.queryQcSource(batchNo, machineNo, materialNo, mouldNo, varietyNo);
|
||||
}
|
||||
|
||||
}
|
@ -1,49 +0,0 @@
|
||||
package com.xkrs.newpro.controller;
|
||||
|
||||
import com.xkrs.newpro.model.qo.QcSpecQoDelete;
|
||||
import com.xkrs.newpro.model.qo.QcSpecQoInsert;
|
||||
import com.xkrs.newpro.model.qo.QcSpecQoUpdate;
|
||||
import com.xkrs.newpro.service.QcSpecService;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
|
||||
@RestController
|
||||
public class QcSpecController {
|
||||
|
||||
@Resource
|
||||
private QcSpecService qcSpecService;
|
||||
|
||||
/**
|
||||
* 添加检验规格
|
||||
*/
|
||||
@PostMapping("/insertQcSpec")
|
||||
public String insertQcSpec(@RequestBody QcSpecQoInsert insertQo) {
|
||||
return qcSpecService.insertQcSpec(insertQo);
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除检验规格
|
||||
*/
|
||||
@PostMapping("/deleteQcSpec")
|
||||
public String deleteQcSpec(@RequestBody QcSpecQoDelete deleteQo) {
|
||||
return qcSpecService.deleteQcSpec(deleteQo);
|
||||
}
|
||||
|
||||
/**
|
||||
* 更新检验规格
|
||||
*/
|
||||
@PostMapping("/updateQcSpec")
|
||||
public String updateQcSpec(@RequestBody QcSpecQoUpdate updateQo) {
|
||||
return qcSpecService.updateQcSpec(updateQo);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询检验规格
|
||||
*/
|
||||
@GetMapping("/queryQcSpec")
|
||||
public String queryQcSpec(@RequestParam(required = false, value = "varietyNo") String varietyNo, @RequestParam(required = false, value = "qcItemNo") String qcItemNo) {
|
||||
return qcSpecService.queryQcSpec(varietyNo, qcItemNo);
|
||||
}
|
||||
|
||||
}
|
@ -1,21 +0,0 @@
|
||||
package com.xkrs.newpro.dao;
|
||||
|
||||
import com.xkrs.newpro.model.entity.QcSourceEntity;
|
||||
import org.springframework.data.jpa.repository.JpaRepository;
|
||||
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
|
||||
import org.springframework.data.jpa.repository.Query;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* 检验数据Dao
|
||||
*/
|
||||
@Component
|
||||
public interface QcSourceDao extends JpaRepository<QcSourceEntity, Integer>, JpaSpecificationExecutor<QcSourceEntity> {
|
||||
|
||||
@Query(value = "SELECT id, batch_no AS batchNo, machine_no AS machineNo, material_no AS materialNo, mould_no AS mouldNo, variety_no AS varietyNo, qc_item_no AS qcItemNo, qc_value AS qcValue FROM qc_source WHERE batch_no LIKE %?1% AND machine_no LIKE %?2% AND material_no LIKE %?3% AND mould_no LIKE %?4% AND variety_no LIKE %?5% ORDER BY create_time DESC", nativeQuery = true)
|
||||
List<Map<String, Object>> queryQcSource(String batchNo, String machineNo, String materialNo, String mouldNo, String varietyNo);
|
||||
|
||||
}
|
@ -1,31 +0,0 @@
|
||||
package com.xkrs.newpro.dao;
|
||||
|
||||
import com.xkrs.newpro.model.entity.QcSpecEntity;
|
||||
import org.springframework.data.jpa.repository.JpaRepository;
|
||||
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
|
||||
import org.springframework.data.jpa.repository.Modifying;
|
||||
import org.springframework.data.jpa.repository.Query;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Optional;
|
||||
|
||||
@Component
|
||||
public interface QcSpecDao extends JpaRepository<QcSpecEntity, Integer>, JpaSpecificationExecutor<QcSpecEntity> {
|
||||
|
||||
Optional<QcSpecEntity> findByVarietyNoAndQcItemNo(String varietyNo, String qcItemNo);
|
||||
|
||||
/**
|
||||
* 更新检验规格
|
||||
*/
|
||||
@Modifying(clearAutomatically = true)
|
||||
@Query(value = "UPDATE qc_spec SET update_time = ?2, max = ?3, mean = ?4, min = ?5, unit = ?6, method = ?7, standard = ?8, remark = ?9 WHERE id = ?1", nativeQuery = true)
|
||||
void updateQcSpecById(Integer id, String updateTime, String max, String mean, String min, String unit, String method, String standard, String remark);
|
||||
|
||||
/**
|
||||
* 查询检验规格
|
||||
*/
|
||||
@Query(value = "SELECT id, variety_no AS varietyNo, qc_item_no AS qcItemNo, max, mean, min, unit, method, standard, remark FROM qc_spec WHERE variety_no LIKE %?1% AND qc_item_no LIKE %?2% ORDER BY create_time ASC", nativeQuery = true)
|
||||
List<Map<String, Object>> queryQcSpec(String varietyNo, String qcItemNo);
|
||||
}
|
@ -1,4 +0,0 @@
|
||||
package com.xkrs.newpro.model.va;
|
||||
|
||||
public interface QcItemQoQueryVa {
|
||||
}
|
@ -1,4 +0,0 @@
|
||||
package com.xkrs.newpro.model.va;
|
||||
|
||||
public interface QcSourceQoQueryVa {
|
||||
}
|
@ -1,4 +0,0 @@
|
||||
package com.xkrs.newpro.model.va;
|
||||
|
||||
public interface QcSpecQoQueryVa {
|
||||
}
|
@ -1,24 +0,0 @@
|
||||
package com.xkrs.newpro.service;
|
||||
|
||||
import com.xkrs.newpro.model.qo.QcSourceQoDelete;
|
||||
import com.xkrs.newpro.model.qo.QcSourceQoInsert;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
public interface QcSourceService {
|
||||
|
||||
/**
|
||||
* 添加检验数据
|
||||
*/
|
||||
String insertQcSource(QcSourceQoInsert insertQo, MultipartFile picture);
|
||||
|
||||
/**
|
||||
* 删除检验数据
|
||||
*/
|
||||
String deleteQcSource(QcSourceQoDelete deleteQo);
|
||||
|
||||
/**
|
||||
* 查询检验数据
|
||||
*/
|
||||
String queryQcSource(String batchNo, String machineNo, String materialNo, String mouldNo, String varietyNo);
|
||||
|
||||
}
|
@ -1,29 +0,0 @@
|
||||
package com.xkrs.newpro.service;
|
||||
|
||||
import com.xkrs.newpro.model.qo.QcSpecQoDelete;
|
||||
import com.xkrs.newpro.model.qo.QcSpecQoInsert;
|
||||
import com.xkrs.newpro.model.qo.QcSpecQoUpdate;
|
||||
|
||||
public interface QcSpecService {
|
||||
|
||||
/**
|
||||
* 添加检验规格
|
||||
*/
|
||||
String insertQcSpec(QcSpecQoInsert insertQo);
|
||||
|
||||
/**
|
||||
* 删除检验规格
|
||||
*/
|
||||
String deleteQcSpec(QcSpecQoDelete deleteQo);
|
||||
|
||||
/**
|
||||
* 更新检验规格
|
||||
*/
|
||||
String updateQcSpec(QcSpecQoUpdate updateQo);
|
||||
|
||||
/**
|
||||
* 查询检验规格
|
||||
*/
|
||||
String queryQcSpec(String varietyNo, String qcItemNo);
|
||||
|
||||
}
|
@ -1,126 +0,0 @@
|
||||
package com.xkrs.newpro.service.impl;
|
||||
|
||||
import com.xkrs.encapsulation.PromptMessageEnum;
|
||||
import com.xkrs.newpro.dao.QcItemDao;
|
||||
import com.xkrs.newpro.dao.QcSourceDao;
|
||||
import com.xkrs.newpro.model.entity.QcItemEntity;
|
||||
import com.xkrs.newpro.model.entity.QcSourceEntity;
|
||||
import com.xkrs.newpro.model.qo.QcSourceQoDelete;
|
||||
import com.xkrs.newpro.model.qo.QcSourceQoInsert;
|
||||
import com.xkrs.newpro.service.QcSourceService;
|
||||
import com.xkrs.newpro.utils.Constant;
|
||||
import com.xkrs.newpro.utils.LocalDateUtils;
|
||||
import com.xkrs.newpro.utils.LocalStringUtils;
|
||||
import com.xkrs.util.ExcelUploadUtil;
|
||||
import org.springframework.context.i18n.LocaleContextHolder;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.io.IOException;
|
||||
import java.util.List;
|
||||
import java.util.Locale;
|
||||
import java.util.Map;
|
||||
import java.util.Optional;
|
||||
|
||||
import static com.xkrs.encapsulation.OutputEncapsulation.outputEncapsulationObject;
|
||||
|
||||
@Service
|
||||
public class QcSourceServiceImpl implements QcSourceService {
|
||||
|
||||
private Locale locale = LocaleContextHolder.getLocale();
|
||||
|
||||
@Resource
|
||||
private QcItemDao qcItemDao;
|
||||
|
||||
@Resource
|
||||
private QcSourceDao qcSourceDao;
|
||||
|
||||
/**
|
||||
* 添加检验数据
|
||||
*/
|
||||
@Override
|
||||
public String insertQcSource(QcSourceQoInsert insertQo, MultipartFile picture) {
|
||||
String batchNo = insertQo.getBatchNo();
|
||||
String machineNo = insertQo.getMachineNo();
|
||||
String materialNo = insertQo.getMaterialNo();
|
||||
String mouldNo = insertQo.getMouldNo();
|
||||
String varietyNo = insertQo.getVarietyNo();
|
||||
String qcItemNo = insertQo.getQcItemNo();
|
||||
String qcValue = insertQo.getQcValue();
|
||||
Optional<QcItemEntity> qcItemEntityByNo = qcItemDao.findByNo(qcItemNo);
|
||||
if (qcItemEntityByNo.isEmpty()) {
|
||||
return outputEncapsulationObject(PromptMessageEnum.DATA_NONE, "不存在该检验项目,请先添加检验项目!", locale);
|
||||
}
|
||||
if (Constant.QC_ITEM_TYPE_STRING.equals(qcItemEntityByNo.get().getType())) {
|
||||
QcSourceEntity entity = new QcSourceEntity();
|
||||
entity.setCreateTime(LocalDateUtils.getCurrentSecond());
|
||||
entity.setBatchNo(LocalStringUtils.formatEmptyValue(batchNo));
|
||||
entity.setMachineNo(LocalStringUtils.formatEmptyValue(machineNo));
|
||||
entity.setMaterialNo(LocalStringUtils.formatEmptyValue(materialNo));
|
||||
entity.setMouldNo(LocalStringUtils.formatEmptyValue(mouldNo));
|
||||
entity.setVarietyNo(LocalStringUtils.formatEmptyValue(varietyNo));
|
||||
entity.setQcItemNo(LocalStringUtils.formatEmptyValue(qcItemNo));
|
||||
entity.setQcValue(LocalStringUtils.formatEmptyValue(qcValue));
|
||||
qcSourceDao.save(entity);
|
||||
return outputEncapsulationObject(PromptMessageEnum.SUCCESS, "添加成功!", locale);
|
||||
}
|
||||
if (Constant.QC_ITEM_TYPE_PICTURE.equals(qcItemEntityByNo.get().getType())) {
|
||||
if (picture == null) {
|
||||
return outputEncapsulationObject(PromptMessageEnum.DATA_NONE, "上传图片不能为空!", locale);
|
||||
}
|
||||
String picturePath;
|
||||
try {
|
||||
picturePath = ExcelUploadUtil.memoryFile(picture, 2);
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
return outputEncapsulationObject(PromptMessageEnum.DATA_NONE, "上传图片失败!", locale);
|
||||
}
|
||||
QcSourceEntity entity = new QcSourceEntity();
|
||||
entity.setCreateTime(LocalDateUtils.getCurrentSecond());
|
||||
entity.setBatchNo(LocalStringUtils.formatEmptyValue(batchNo));
|
||||
entity.setMachineNo(LocalStringUtils.formatEmptyValue(machineNo));
|
||||
entity.setMaterialNo(LocalStringUtils.formatEmptyValue(materialNo));
|
||||
entity.setMouldNo(LocalStringUtils.formatEmptyValue(mouldNo));
|
||||
entity.setVarietyNo(LocalStringUtils.formatEmptyValue(varietyNo));
|
||||
entity.setQcItemNo(LocalStringUtils.formatEmptyValue(qcItemNo));
|
||||
entity.setQcValue(LocalStringUtils.formatEmptyValue(picturePath));
|
||||
qcSourceDao.save(entity);
|
||||
return outputEncapsulationObject(PromptMessageEnum.SUCCESS, "添加成功!", locale);
|
||||
}
|
||||
return outputEncapsulationObject(PromptMessageEnum.DATA_NONE, "添加失败!", locale);
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除检验数据
|
||||
*/
|
||||
@Override
|
||||
public String deleteQcSource(QcSourceQoDelete deleteQo) {
|
||||
Integer id = deleteQo.getId();
|
||||
Optional<QcSourceEntity> entityById = qcSourceDao.findById(id);
|
||||
if (entityById.isEmpty()) {
|
||||
return outputEncapsulationObject(PromptMessageEnum.DATA_NONE, "不存在该检验数据,请先添加检验数据!", locale);
|
||||
}
|
||||
qcSourceDao.deleteById(id);
|
||||
return outputEncapsulationObject(PromptMessageEnum.SUCCESS, "删除成功!", locale);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询检验数据
|
||||
*/
|
||||
@Override
|
||||
public String queryQcSource(String batchNo, String machineNo, String materialNo, String mouldNo, String varietyNo) {
|
||||
List<Map<String, Object>> resultList = qcSourceDao.queryQcSource(LocalStringUtils.formatEmptyValue(batchNo), LocalStringUtils.formatEmptyValue(machineNo), LocalStringUtils.formatEmptyValue(materialNo), LocalStringUtils.formatEmptyValue(mouldNo), LocalStringUtils.formatEmptyValue(varietyNo));
|
||||
if (resultList == null || resultList.isEmpty()) {
|
||||
return outputEncapsulationObject(PromptMessageEnum.DATA_NONE, "暂时没有该检验数据的信息!", locale);
|
||||
}
|
||||
if (1 == 1) {
|
||||
return outputEncapsulationObject(PromptMessageEnum.SUCCESS, resultList, locale);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
return outputEncapsulationObject(PromptMessageEnum.SUCCESS, "查询成功!", locale);
|
||||
}
|
||||
}
|
@ -1,128 +0,0 @@
|
||||
package com.xkrs.newpro.service.impl;
|
||||
|
||||
import com.xkrs.encapsulation.PromptMessageEnum;
|
||||
import com.xkrs.newpro.dao.QcItemDao;
|
||||
import com.xkrs.newpro.dao.QcSpecDao;
|
||||
import com.xkrs.newpro.model.entity.QcItemEntity;
|
||||
import com.xkrs.newpro.model.entity.QcSpecEntity;
|
||||
import com.xkrs.newpro.model.qo.QcSpecQoDelete;
|
||||
import com.xkrs.newpro.model.qo.QcSpecQoInsert;
|
||||
import com.xkrs.newpro.model.qo.QcSpecQoUpdate;
|
||||
import com.xkrs.newpro.service.QcSpecService;
|
||||
import com.xkrs.newpro.utils.LocalDateUtils;
|
||||
import com.xkrs.newpro.utils.LocalStringUtils;
|
||||
import org.springframework.context.i18n.LocaleContextHolder;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.List;
|
||||
import java.util.Locale;
|
||||
import java.util.Map;
|
||||
import java.util.Optional;
|
||||
|
||||
import static com.xkrs.encapsulation.OutputEncapsulation.outputEncapsulationObject;
|
||||
|
||||
@Service
|
||||
public class QcSpecServiceImpl implements QcSpecService {
|
||||
|
||||
private Locale locale = LocaleContextHolder.getLocale();
|
||||
|
||||
@Resource
|
||||
private QcItemDao qcItemDao;
|
||||
|
||||
@Resource
|
||||
private QcSpecDao qcSpecDao;
|
||||
|
||||
/**
|
||||
* 添加检验规格
|
||||
*/
|
||||
@Override
|
||||
public String insertQcSpec(QcSpecQoInsert insertQo) {
|
||||
|
||||
String varietyNo = insertQo.getVarietyNo();
|
||||
String qcItemNo = insertQo.getQcItemNo();
|
||||
String max = insertQo.getMax();
|
||||
String mean = insertQo.getMean();
|
||||
String min = insertQo.getMin();
|
||||
String unit = insertQo.getUnit();
|
||||
String method = insertQo.getMethod();
|
||||
String standard = insertQo.getStandard();
|
||||
String remark = insertQo.getRemark();
|
||||
|
||||
Optional<QcItemEntity> entityByNo = qcItemDao.findByNo(qcItemNo);
|
||||
if (entityByNo.isEmpty()) {
|
||||
return outputEncapsulationObject(PromptMessageEnum.DATA_NONE, "不存在该检验项目,请先添加检验项目!", locale);
|
||||
}
|
||||
|
||||
Optional<QcSpecEntity> entityByVarietyNoAndQcItemNo = qcSpecDao.findByVarietyNoAndQcItemNo(varietyNo, qcItemNo);
|
||||
if (entityByVarietyNoAndQcItemNo.isPresent()) {
|
||||
return outputEncapsulationObject(PromptMessageEnum.DATA_EXIT, "该检验规格已存在,请勿重复添加!", locale);
|
||||
}
|
||||
QcSpecEntity entity = new QcSpecEntity();
|
||||
entity.setCreateTime(LocalDateUtils.getCurrentSecond());
|
||||
entity.setUpdateTime("");
|
||||
entity.setVarietyNo(LocalStringUtils.formatEmptyValue(varietyNo));
|
||||
entity.setQcItemNo(LocalStringUtils.formatEmptyValue(qcItemNo));
|
||||
entity.setMax(LocalStringUtils.formatEmptyValue(max));
|
||||
entity.setMean(LocalStringUtils.formatEmptyValue(mean));
|
||||
entity.setMin(LocalStringUtils.formatEmptyValue(min));
|
||||
entity.setUnit(LocalStringUtils.formatEmptyValue(unit));
|
||||
entity.setMethod(LocalStringUtils.formatEmptyValue(method));
|
||||
entity.setStandard(LocalStringUtils.formatEmptyValue(standard));
|
||||
entity.setRemark(LocalStringUtils.formatEmptyValue(remark));
|
||||
qcSpecDao.save(entity);
|
||||
|
||||
return outputEncapsulationObject(PromptMessageEnum.SUCCESS, "添加成功!", locale);
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除检验规格
|
||||
*/
|
||||
@Override
|
||||
public String deleteQcSpec(QcSpecQoDelete deleteQo) {
|
||||
Integer id = deleteQo.getId();
|
||||
Optional<QcSpecEntity> entityById = qcSpecDao.findById(id);
|
||||
if (entityById.isEmpty()) {
|
||||
return outputEncapsulationObject(PromptMessageEnum.DATA_NONE, "不存在该检验规格,请先添加检验规格!", locale);
|
||||
}
|
||||
qcSpecDao.deleteById(id);
|
||||
return outputEncapsulationObject(PromptMessageEnum.SUCCESS, "删除成功!", locale);
|
||||
}
|
||||
|
||||
/**
|
||||
* 更新检验规格
|
||||
*/
|
||||
@Override
|
||||
public String updateQcSpec(QcSpecQoUpdate updateQo) {
|
||||
|
||||
Integer id = updateQo.getId();
|
||||
String max = updateQo.getMax();
|
||||
String mean = updateQo.getMean();
|
||||
String min = updateQo.getMin();
|
||||
String unit = updateQo.getUnit();
|
||||
String method = updateQo.getMethod();
|
||||
String standard = updateQo.getStandard();
|
||||
String remark = updateQo.getRemark();
|
||||
|
||||
Optional<QcSpecEntity> entityById = qcSpecDao.findById(id);
|
||||
if (entityById.isEmpty()) {
|
||||
return outputEncapsulationObject(PromptMessageEnum.DATA_NONE, "不存在该检验规格,请先添加检验规格!", locale);
|
||||
}
|
||||
|
||||
qcSpecDao.updateQcSpecById(id, LocalDateUtils.getCurrentSecond(), LocalStringUtils.formatEmptyValue(max), LocalStringUtils.formatEmptyValue(mean), LocalStringUtils.formatEmptyValue(min), LocalStringUtils.formatEmptyValue(unit), LocalStringUtils.formatEmptyValue(method), LocalStringUtils.formatEmptyValue(standard), LocalStringUtils.formatEmptyValue(remark));
|
||||
|
||||
return outputEncapsulationObject(PromptMessageEnum.SUCCESS, "修改成功!", locale);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询检验规格
|
||||
*/
|
||||
@Override
|
||||
public String queryQcSpec(String varietyNo, String qcItemNo) {
|
||||
List<Map<String, Object>> resultList = qcSpecDao.queryQcSpec(LocalStringUtils.formatEmptyValue(varietyNo), LocalStringUtils.formatEmptyValue(qcItemNo));
|
||||
if (resultList == null || resultList.isEmpty()) {
|
||||
return outputEncapsulationObject(PromptMessageEnum.DATA_NONE, "暂时没有该检验规格的信息!", locale);
|
||||
}
|
||||
return outputEncapsulationObject(PromptMessageEnum.SUCCESS, resultList, locale);
|
||||
}
|
||||
}
|
@ -1,16 +0,0 @@
|
||||
package com.xkrs.newpro.utils;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
public class LocalDateUtils {
|
||||
|
||||
private LocalDateUtils() {
|
||||
}
|
||||
|
||||
public static String getCurrentSecond() {
|
||||
|
||||
// return DateUtil.format(new Date(), "yyyy-MM-dd HH:mm:ss");
|
||||
return String.valueOf(new Date().getTime() / 1000L);
|
||||
|
||||
}
|
||||
}
|
29
src/main/java/com/xkrs/service/CraftItemService.java
Normal file
29
src/main/java/com/xkrs/service/CraftItemService.java
Normal file
@ -0,0 +1,29 @@
|
||||
package com.xkrs.service;
|
||||
|
||||
import com.xkrs.model.qo.CraftItemQoDelete;
|
||||
import com.xkrs.model.qo.CraftItemQoInsert;
|
||||
import com.xkrs.model.qo.CraftItemQoUpdate;
|
||||
|
||||
public interface CraftItemService {
|
||||
|
||||
/**
|
||||
* 添加工艺项目
|
||||
*/
|
||||
String insertCraftItem(CraftItemQoInsert insertQo);
|
||||
|
||||
/**
|
||||
* 删除工艺项目
|
||||
*/
|
||||
String deleteCraftItem(CraftItemQoDelete deleteQo);
|
||||
|
||||
/**
|
||||
* 更新工艺项目名称
|
||||
*/
|
||||
String updateCraftItem(CraftItemQoUpdate updateQo);
|
||||
|
||||
/**
|
||||
* 查询工艺项目
|
||||
*/
|
||||
String queryCraftItem(String no, String name);
|
||||
|
||||
}
|
@ -1,18 +0,0 @@
|
||||
package com.xkrs.service;
|
||||
|
||||
import com.xkrs.model.entity.DataDict;
|
||||
import com.xkrs.model.qo.DataDictQo;
|
||||
|
||||
/**
|
||||
* @Author: XinYi Song
|
||||
* @Date: 2022/1/19 10:10
|
||||
*/
|
||||
public interface DataDictService {
|
||||
|
||||
/**
|
||||
* 添加字典数据
|
||||
* @param dataDictQo
|
||||
* @return
|
||||
*/
|
||||
String insertDataDict(DataDictQo dataDictQo);
|
||||
}
|
@ -1,17 +0,0 @@
|
||||
package com.xkrs.service;
|
||||
|
||||
import com.xkrs.model.qo.DataSourceQo;
|
||||
|
||||
/**
|
||||
* @Author: XinYi Song
|
||||
* @Date: 2022/1/19 16:42
|
||||
*/
|
||||
public interface DataSourceService {
|
||||
|
||||
/**
|
||||
* 添加测量数据
|
||||
* @param dataSourceQo
|
||||
* @return
|
||||
*/
|
||||
String insertDataSource(DataSourceQo dataSourceQo);
|
||||
}
|
@ -4,7 +4,6 @@ import com.xkrs.model.qo.FileQo;
|
||||
import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.io.IOException;
|
||||
|
||||
/**
|
||||
@ -15,13 +14,15 @@ public interface FileService {
|
||||
|
||||
/**
|
||||
* 添加模板信息
|
||||
*
|
||||
* @param fileQo
|
||||
* @return
|
||||
*/
|
||||
String insertFileExcel(FileQo fileQo,MultipartFile fileExcel) throws IOException;
|
||||
String insertFileExcel(FileQo fileQo, MultipartFile fileExcel) throws IOException;
|
||||
|
||||
/**
|
||||
* 导出excel
|
||||
*
|
||||
* @param fileQo
|
||||
* @return
|
||||
*/
|
||||
|
@ -1,24 +0,0 @@
|
||||
package com.xkrs.service;
|
||||
|
||||
import com.xkrs.model.qo.PictureQo;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
import java.io.IOException;
|
||||
|
||||
/**
|
||||
* @Author: XinYi Song
|
||||
* @Date: 2022/1/20 15:24
|
||||
*/
|
||||
public interface PictureService {
|
||||
|
||||
/**
|
||||
* 添加图片
|
||||
*/
|
||||
String insertPicture(PictureQo pictureQo, MultipartFile pictureFile) throws IOException;
|
||||
|
||||
/**
|
||||
* 删除图片
|
||||
*/
|
||||
String deletePicture(String picturePath);
|
||||
|
||||
}
|
@ -1,8 +1,8 @@
|
||||
package com.xkrs.newpro.service;
|
||||
package com.xkrs.service;
|
||||
|
||||
import com.xkrs.newpro.model.qo.QcItemQoDelete;
|
||||
import com.xkrs.newpro.model.qo.QcItemQoInsert;
|
||||
import com.xkrs.newpro.model.qo.QcItemQoUpdate;
|
||||
import com.xkrs.model.qo.QcItemQoDelete;
|
||||
import com.xkrs.model.qo.QcItemQoInsert;
|
||||
import com.xkrs.model.qo.QcItemQoUpdate;
|
||||
|
||||
public interface QcItemService {
|
||||
|
34
src/main/java/com/xkrs/service/QcSourceService.java
Normal file
34
src/main/java/com/xkrs/service/QcSourceService.java
Normal file
@ -0,0 +1,34 @@
|
||||
package com.xkrs.service;
|
||||
|
||||
import com.xkrs.model.qo.ExportSourceExcelQo;
|
||||
import com.xkrs.model.qo.QcSourceQoDelete;
|
||||
import com.xkrs.model.qo.QcSourceQoInsert;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
public interface QcSourceService {
|
||||
|
||||
/**
|
||||
* 添加检验数据
|
||||
*/
|
||||
String insertQcSource(QcSourceQoInsert insertQo, MultipartFile picture);
|
||||
|
||||
/**
|
||||
* 删除检验数据
|
||||
*/
|
||||
String deleteQcSource(QcSourceQoDelete deleteQo);
|
||||
|
||||
/**
|
||||
* 查询检验数据
|
||||
*/
|
||||
String queryQcSource(String batchNo, String machineNo, String materialNo, String mouldNo, String varietyNo, String craftItemNo);
|
||||
|
||||
/**
|
||||
* 导出Excel表格
|
||||
*/
|
||||
String exportExcel(ExportSourceExcelQo exportSourceExcelQo) throws Exception;
|
||||
|
||||
/**
|
||||
* 格式化创建时间历史数据
|
||||
*/
|
||||
String formatCreateTime();
|
||||
}
|
47
src/main/java/com/xkrs/service/QcSpecService.java
Normal file
47
src/main/java/com/xkrs/service/QcSpecService.java
Normal file
@ -0,0 +1,47 @@
|
||||
package com.xkrs.service;
|
||||
|
||||
import com.xkrs.model.qo.ExportSpecExcelQo;
|
||||
import com.xkrs.model.qo.QcSpecQoDelete;
|
||||
import com.xkrs.model.qo.QcSpecQoInsert;
|
||||
import com.xkrs.model.qo.QcSpecQoUpdate;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
public interface QcSpecService {
|
||||
|
||||
/**
|
||||
* 添加检验规格
|
||||
*/
|
||||
String insertQcSpec(QcSpecQoInsert insertQo);
|
||||
|
||||
/**
|
||||
* 删除检验规格
|
||||
*/
|
||||
String deleteQcSpec(QcSpecQoDelete deleteQo);
|
||||
|
||||
/**
|
||||
* 更新检验规格
|
||||
*/
|
||||
String updateQcSpec(QcSpecQoUpdate updateQo);
|
||||
|
||||
/**
|
||||
* 查询检验规格
|
||||
*/
|
||||
String queryQcSpec(String varietyNo, String craftItemNo, String qcItemNo);
|
||||
|
||||
/**
|
||||
* 导入检验规格
|
||||
*/
|
||||
String importSpecExcel(MultipartFile specExcel);
|
||||
|
||||
/**
|
||||
* 导出检验规格
|
||||
*/
|
||||
String exportSpecExcel(ExportSpecExcelQo exportSpecExcelQo) throws Exception;
|
||||
|
||||
/**
|
||||
* 导出空白检验规格
|
||||
*/
|
||||
String exportEmptySpecExcel(ExportSpecExcelQo exportSpecExcelQo) throws Exception;
|
||||
|
||||
|
||||
}
|
@ -1,19 +0,0 @@
|
||||
package com.xkrs.service;
|
||||
|
||||
import com.xkrs.model.qo.SpecQo;
|
||||
|
||||
/**
|
||||
* @Author: XinYi Song
|
||||
* @Date: 2022/1/20 15:24
|
||||
*/
|
||||
public interface SpecService {
|
||||
|
||||
/**
|
||||
* 添加规格数据
|
||||
*
|
||||
* @param specQo
|
||||
* @return
|
||||
*/
|
||||
String insertSpec(SpecQo specQo);
|
||||
|
||||
}
|
@ -0,0 +1,91 @@
|
||||
package com.xkrs.service.impl;
|
||||
|
||||
import com.xkrs.dao.CraftItemDao;
|
||||
import com.xkrs.encapsulation.PromptMessageEnum;
|
||||
import com.xkrs.model.entity.CraftItemEntity;
|
||||
import com.xkrs.model.qo.CraftItemQoDelete;
|
||||
import com.xkrs.model.qo.CraftItemQoInsert;
|
||||
import com.xkrs.model.qo.CraftItemQoUpdate;
|
||||
import com.xkrs.service.CraftItemService;
|
||||
import com.xkrs.util.LocalDateUtils;
|
||||
import com.xkrs.util.LocalStringUtils;
|
||||
import org.springframework.context.i18n.LocaleContextHolder;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.List;
|
||||
import java.util.Locale;
|
||||
import java.util.Map;
|
||||
import java.util.Optional;
|
||||
|
||||
import static com.xkrs.encapsulation.OutputEncapsulation.outputEncapsulationObject;
|
||||
|
||||
@Service
|
||||
public class CraftItemServiceImpl implements CraftItemService {
|
||||
|
||||
private Locale locale = LocaleContextHolder.getLocale();
|
||||
|
||||
@Resource
|
||||
private CraftItemDao craftItemDao;
|
||||
|
||||
/**
|
||||
* 添加工艺项目
|
||||
*/
|
||||
@Override
|
||||
public String insertCraftItem(CraftItemQoInsert insertQo) {
|
||||
String no = insertQo.getNo();
|
||||
String name = insertQo.getName();
|
||||
Optional<CraftItemEntity> entityByNo = craftItemDao.findByCraftItemNo(no);
|
||||
if (entityByNo.isPresent()) {
|
||||
return outputEncapsulationObject(PromptMessageEnum.DATA_EXIT, "该工艺项目已存在,请勿重复添加!", locale);
|
||||
}
|
||||
CraftItemEntity entity = new CraftItemEntity();
|
||||
entity.setCreateTime(LocalDateUtils.getCurrentSecond());
|
||||
entity.setUpdateTime("");
|
||||
entity.setCraftItemNo(LocalStringUtils.formatEmptyValue(no));
|
||||
entity.setCraftItemName(LocalStringUtils.formatEmptyValue(name));
|
||||
craftItemDao.save(entity);
|
||||
return outputEncapsulationObject(PromptMessageEnum.SUCCESS, "添加成功!", locale);
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除工艺项目
|
||||
*/
|
||||
@Override
|
||||
public String deleteCraftItem(CraftItemQoDelete deleteQo) {
|
||||
Integer id = deleteQo.getId();
|
||||
Optional<CraftItemEntity> entityById = craftItemDao.findById(id);
|
||||
if (entityById.isEmpty()) {
|
||||
return outputEncapsulationObject(PromptMessageEnum.DATA_NONE, "不存在该工艺项目,请先添加工艺项目!", locale);
|
||||
}
|
||||
craftItemDao.deleteById(id);
|
||||
return outputEncapsulationObject(PromptMessageEnum.SUCCESS, "删除成功!", locale);
|
||||
}
|
||||
|
||||
/**
|
||||
* 更新工艺项目名称
|
||||
*/
|
||||
@Override
|
||||
public String updateCraftItem(CraftItemQoUpdate updateQo) {
|
||||
Integer id = updateQo.getId();
|
||||
String name = updateQo.getName();
|
||||
Optional<CraftItemEntity> entityById = craftItemDao.findById(id);
|
||||
if (entityById.isEmpty()) {
|
||||
return outputEncapsulationObject(PromptMessageEnum.DATA_NONE, "不存在该工艺项目,请先添加工艺项目!", locale);
|
||||
}
|
||||
craftItemDao.updateNameById(id, LocalDateUtils.getCurrentSecond(), LocalStringUtils.formatEmptyValue(name));
|
||||
return outputEncapsulationObject(PromptMessageEnum.SUCCESS, "更新成功!", locale);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询工艺项目
|
||||
*/
|
||||
@Override
|
||||
public String queryCraftItem(String no, String name) {
|
||||
List<Map<String, Object>> resultList = craftItemDao.queryCraftItem(LocalStringUtils.formatEmptyValue(no), LocalStringUtils.formatEmptyValue(name));
|
||||
if (resultList == null || resultList.isEmpty()) {
|
||||
return outputEncapsulationObject(PromptMessageEnum.DATA_NONE, "暂时没有该工艺项目的信息!", locale);
|
||||
}
|
||||
return outputEncapsulationObject(PromptMessageEnum.SUCCESS, resultList, locale);
|
||||
}
|
||||
}
|
@ -1,46 +0,0 @@
|
||||
package com.xkrs.service.impl;
|
||||
|
||||
import com.xkrs.dao.DataDictDao;
|
||||
import com.xkrs.encapsulation.PromptMessageEnum;
|
||||
import com.xkrs.model.entity.DataDict;
|
||||
import com.xkrs.model.qo.DataDictQo;
|
||||
import com.xkrs.service.DataDictService;
|
||||
import org.springframework.context.i18n.LocaleContextHolder;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.Locale;
|
||||
import java.util.Optional;
|
||||
|
||||
import static com.xkrs.encapsulation.OutputEncapsulation.outputEncapsulationObject;
|
||||
|
||||
/**
|
||||
* @Author: XinYi Song
|
||||
* @Date: 2022/1/19 10:28
|
||||
*/
|
||||
@Service
|
||||
public class DataDictServiceImpl implements DataDictService {
|
||||
|
||||
@Resource
|
||||
private DataDictDao dataDictDao;
|
||||
|
||||
/**
|
||||
* 添加字典数据
|
||||
*
|
||||
* @param dataDictQo
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public String insertDataDict(DataDictQo dataDictQo) {
|
||||
Locale locale = LocaleContextHolder.getLocale();
|
||||
Optional<DataDict> byInspectionItemCode = dataDictDao.findByInspectionItemCode(dataDictQo.getInspectionItemCode());
|
||||
if (byInspectionItemCode.isPresent()) {
|
||||
return outputEncapsulationObject(PromptMessageEnum.DATA_EXIT, "该产品变量已存在,请勿重复添加!", locale);
|
||||
}
|
||||
DataDict dataDict = new DataDict();
|
||||
dataDict.setInspectionItemName(dataDictQo.getInspectionItemName());
|
||||
dataDict.setInspectionItemCode(dataDictQo.getInspectionItemCode());
|
||||
dataDictDao.save(dataDict);
|
||||
return outputEncapsulationObject(PromptMessageEnum.SUCCESS, "添加成功!", locale);
|
||||
}
|
||||
}
|
@ -1,71 +0,0 @@
|
||||
package com.xkrs.service.impl;
|
||||
|
||||
import com.xkrs.dao.DataDictDao;
|
||||
import com.xkrs.dao.DataSourceDao;
|
||||
import com.xkrs.encapsulation.PromptMessageEnum;
|
||||
import com.xkrs.model.entity.DataDict;
|
||||
import com.xkrs.model.entity.DataSource;
|
||||
import com.xkrs.model.qo.DataSourceQo;
|
||||
import com.xkrs.service.DataSourceService;
|
||||
import org.springframework.context.i18n.LocaleContextHolder;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.Locale;
|
||||
import java.util.Optional;
|
||||
|
||||
import static com.xkrs.encapsulation.OutputEncapsulation.outputEncapsulationObject;
|
||||
|
||||
/**
|
||||
* @Author: XinYi Song
|
||||
* @Date: 2022/1/19 16:43
|
||||
*/
|
||||
@Service
|
||||
public class DataSourceServiceImpl implements DataSourceService {
|
||||
|
||||
@Resource
|
||||
private DataSourceDao dataSourceDao;
|
||||
|
||||
@Resource
|
||||
private DataDictDao dataDictDao;
|
||||
|
||||
/**
|
||||
* 添加测量数据
|
||||
*
|
||||
* @param dataSourceQo
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public String insertDataSource(DataSourceQo dataSourceQo) {
|
||||
Locale locale = LocaleContextHolder.getLocale();
|
||||
Optional<DataDict> byInspectionItemCode = dataDictDao.findByInspectionItemCode(dataSourceQo.getInspectionItemCode());
|
||||
if (byInspectionItemCode.isEmpty()) {
|
||||
return outputEncapsulationObject(PromptMessageEnum.DATA_NONE, "不存在该字典类型!", locale);
|
||||
}
|
||||
DataSource dataSource = new DataSource();
|
||||
initDataSource(dataSource);
|
||||
dataSource.setLotNo(dataSourceQo.getLotNo());
|
||||
dataSource.setMachineNo(dataSourceQo.getMachineNo());
|
||||
dataSource.setMaterialNo(dataSourceQo.getMaterialNo());
|
||||
dataSource.setModelNo(dataSourceQo.getModelNo());
|
||||
dataSource.setMachineTypeNo(dataSourceQo.getMachineTypeNo());
|
||||
dataSource.setCraftItemName(dataSourceQo.getCraftItemName());
|
||||
dataSource.setInspectionItemCode(dataSourceQo.getInspectionItemCode());
|
||||
dataSource.setInspectValue(dataSourceQo.getInspectValue());
|
||||
dataSourceDao.save(dataSource);
|
||||
return outputEncapsulationObject(PromptMessageEnum.SUCCESS, "添加成功!", locale);
|
||||
}
|
||||
|
||||
private void initDataSource(DataSource dataSource) {
|
||||
dataSource.setLotNo("");
|
||||
dataSource.setMachineNo("");
|
||||
dataSource.setMaterialNo("");
|
||||
dataSource.setModelNo("");
|
||||
dataSource.setMachineTypeNo("");
|
||||
dataSource.setInspectionItemCode("");
|
||||
dataSource.setCraftItemName("");
|
||||
dataSource.setInspectValue("");
|
||||
dataSource.setPicturePath("");
|
||||
}
|
||||
|
||||
}
|
@ -1,14 +1,10 @@
|
||||
package com.xkrs.service.impl;
|
||||
|
||||
import com.xkrs.dao.FileDao;
|
||||
import com.xkrs.dao.QcSourceDao;
|
||||
import com.xkrs.encapsulation.PromptMessageEnum;
|
||||
import com.xkrs.model.entity.DataSource;
|
||||
import com.xkrs.model.entity.FileEntity;
|
||||
import com.xkrs.model.qo.FileQo;
|
||||
import com.xkrs.service.FileService;
|
||||
import com.xkrs.util.DataSourceQuery;
|
||||
import com.xkrs.util.ExcelUploadUtil;
|
||||
import com.xkrs.util.ExportExcel;
|
||||
import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
|
||||
import org.springframework.context.i18n.LocaleContextHolder;
|
||||
import org.springframework.stereotype.Service;
|
||||
@ -17,7 +13,7 @@ import org.springframework.web.multipart.MultipartFile;
|
||||
import javax.annotation.Resource;
|
||||
import javax.transaction.Transactional;
|
||||
import java.io.IOException;
|
||||
import java.util.*;
|
||||
import java.util.Locale;
|
||||
|
||||
import static com.xkrs.encapsulation.OutputEncapsulation.outputEncapsulationObject;
|
||||
|
||||
@ -32,7 +28,7 @@ public class FileServiceImpl implements FileService {
|
||||
private FileDao fileDao;
|
||||
|
||||
@Resource
|
||||
private DataSourceQuery dataSourceQuery;
|
||||
private QcSourceDao qcSourceDao;
|
||||
|
||||
/**
|
||||
* 添加模板信息
|
||||
@ -42,29 +38,29 @@ public class FileServiceImpl implements FileService {
|
||||
*/
|
||||
@Override
|
||||
public String insertFileExcel(FileQo fileQo, MultipartFile fileExcel) throws IOException {
|
||||
String lotNo = fileQo.getLotNo();
|
||||
String machineNo = fileQo.getMachineNo();
|
||||
String materialNo = fileQo.getMaterialNo();
|
||||
String modelNo = fileQo.getModelNo();
|
||||
String machineTypeNo = fileQo.getMachineTypeNo();
|
||||
String craftItemName = fileQo.getCraftItemName();
|
||||
// String lotNo = fileQo.getLotNo();
|
||||
// String machineNo = fileQo.getMachineNo();
|
||||
// String materialNo = fileQo.getMaterialNo();
|
||||
// String modelNo = fileQo.getModelNo();
|
||||
// String machineTypeNo = fileQo.getMachineTypeNo();
|
||||
// String craftItemName = fileQo.getCraftItemName();
|
||||
Locale locale = LocaleContextHolder.getLocale();
|
||||
Optional<FileEntity> fileEntity = fileDao.selectFile(lotNo, machineNo, materialNo, modelNo, machineTypeNo, craftItemName);
|
||||
if (fileEntity.isPresent()) {
|
||||
return outputEncapsulationObject(PromptMessageEnum.DATA_EXIT, "已存在该产品的模板!", locale);
|
||||
}
|
||||
if (fileExcel == null) {
|
||||
return outputEncapsulationObject(PromptMessageEnum.DATA_NONE, "模板不能为空!", locale);
|
||||
}
|
||||
String file = ExcelUploadUtil.memoryFile(fileExcel, 1);
|
||||
FileEntity fileEntity1 = new FileEntity();
|
||||
fileEntity1.setLotNo(fileQo.getLotNo());
|
||||
fileEntity1.setMachineNo(fileQo.getMachineNo());
|
||||
fileEntity1.setMaterialNo(fileQo.getMaterialNo());
|
||||
fileEntity1.setModelNo(fileQo.getModelNo());
|
||||
fileEntity1.setMachineTypeNo(fileQo.getMachineTypeNo());
|
||||
fileEntity1.setFileUploadPath(file);
|
||||
fileDao.save(fileEntity1);
|
||||
// Optional<FileEntity> fileEntity = fileDao.selectFile(lotNo, machineNo, materialNo, modelNo, machineTypeNo, craftItemName);
|
||||
// if (fileEntity.isPresent()) {
|
||||
// return outputEncapsulationObject(PromptMessageEnum.DATA_EXIT, "已存在该产品的模板!", locale);
|
||||
// }
|
||||
// if (fileExcel == null) {
|
||||
// return outputEncapsulationObject(PromptMessageEnum.DATA_NONE, "模板不能为空!", locale);
|
||||
// }
|
||||
// String file = ExcelUploadUtil.memoryFile(fileExcel, 1);
|
||||
// FileEntity fileEntity1 = new FileEntity();
|
||||
// fileEntity1.setLotNo(fileQo.getLotNo());
|
||||
// fileEntity1.setMachineNo(fileQo.getMachineNo());
|
||||
// fileEntity1.setMaterialNo(fileQo.getMaterialNo());
|
||||
// fileEntity1.setModelNo(fileQo.getModelNo());
|
||||
// fileEntity1.setMachineTypeNo(fileQo.getMachineTypeNo());
|
||||
// fileEntity1.setFileUploadPath(file);
|
||||
// fileDao.save(fileEntity1);
|
||||
return outputEncapsulationObject(PromptMessageEnum.SUCCESS, "添加成功!", locale);
|
||||
}
|
||||
|
||||
@ -77,28 +73,28 @@ public class FileServiceImpl implements FileService {
|
||||
@Transactional(rollbackOn = Exception.class)
|
||||
@Override
|
||||
public String exportExcel(FileQo fileQo) throws IOException, InvalidFormatException {
|
||||
String lotNo = fileQo.getLotNo();
|
||||
String machineNo = fileQo.getMachineNo();
|
||||
String materialNo = fileQo.getMaterialNo();
|
||||
String modelNo = fileQo.getModelNo();
|
||||
String machineTypeNo = fileQo.getMachineTypeNo();
|
||||
String craftItemName = fileQo.getCraftItemName();
|
||||
// String lotNo = fileQo.getLotNo();
|
||||
// String machineNo = fileQo.getMachineNo();
|
||||
// String materialNo = fileQo.getMaterialNo();
|
||||
// String modelNo = fileQo.getModelNo();
|
||||
// String machineTypeNo = fileQo.getMachineTypeNo();
|
||||
// String craftItemName = fileQo.getCraftItemName();
|
||||
Locale locale = LocaleContextHolder.getLocale();
|
||||
Optional<FileEntity> fileEntity = fileDao.selectFile(lotNo, machineNo, materialNo, modelNo, machineTypeNo, craftItemName);
|
||||
if (fileEntity.isEmpty()) {
|
||||
return outputEncapsulationObject(PromptMessageEnum.DATA_NONE, "暂时没有该产品的模板,请添加!", locale);
|
||||
}
|
||||
String fileUploadPath = fileEntity.get().getFileUploadPath();
|
||||
List<DataSource> dataSources = dataSourceQuery.selectDataSource(lotNo, machineNo, materialNo, modelNo, machineTypeNo, craftItemName);
|
||||
if (dataSources == null || dataSources.size() == 0) {
|
||||
return outputEncapsulationObject(PromptMessageEnum.DATA_NONE, "暂时没有该产品的信息!", locale);
|
||||
}
|
||||
Map<String, String> map = new HashMap<>();
|
||||
for (DataSource dataSource : dataSources) {
|
||||
map.put(dataSource.getInspectionItemCode(), dataSource.getInspectValue());
|
||||
}
|
||||
String fill = ExportExcel.exportToProveExcel(map, fileUploadPath);
|
||||
fileDao.updateFileDownloadPath(lotNo, machineNo, materialNo, modelNo, machineTypeNo, craftItemName, fill);
|
||||
return outputEncapsulationObject(PromptMessageEnum.SUCCESS, fill, locale);
|
||||
// Optional<FileEntity> fileEntity = fileDao.selectFile(lotNo, machineNo, materialNo, modelNo, machineTypeNo, craftItemName);
|
||||
// if (fileEntity.isEmpty()) {
|
||||
// return outputEncapsulationObject(PromptMessageEnum.DATA_NONE, "暂时没有该产品的模板,请添加!", locale);
|
||||
// }
|
||||
// String fileUploadPath = fileEntity.get().getFileUploadPath();
|
||||
// List<Map<String, Object>> resultList = qcSourceDao.queryQcSource(lotNo, machineNo, materialNo, modelNo, machineTypeNo, "");
|
||||
// if (resultList == null || resultList.size() == 0) {
|
||||
// return outputEncapsulationObject(PromptMessageEnum.DATA_NONE, "暂时没有该产品的信息!", locale);
|
||||
// }
|
||||
// Map<String, String> map = new HashMap<>();
|
||||
// for (Map<String, Object> result : resultList) {
|
||||
// map.put((String) result.get("qcItemNo"), (String) result.get("qcValue"));
|
||||
// }
|
||||
// String fill = ExportExcel.exportToProveExcel(map, fileUploadPath);
|
||||
// fileDao.updateFileDownloadPath(lotNo, machineNo, materialNo, modelNo, machineTypeNo, craftItemName, fill);
|
||||
return outputEncapsulationObject(PromptMessageEnum.SUCCESS, "导出成功", locale);
|
||||
}
|
||||
}
|
||||
|
@ -1,74 +0,0 @@
|
||||
package com.xkrs.service.impl;
|
||||
|
||||
import com.xkrs.dao.DataSourceDao;
|
||||
import com.xkrs.dao.PictureDao;
|
||||
import com.xkrs.encapsulation.PromptMessageEnum;
|
||||
import com.xkrs.model.entity.DataSource;
|
||||
import com.xkrs.model.qo.PictureQo;
|
||||
import com.xkrs.service.PictureService;
|
||||
import com.xkrs.util.DataSourceQuery;
|
||||
import com.xkrs.util.ExcelUploadUtil;
|
||||
import org.apache.http.util.TextUtils;
|
||||
import org.springframework.context.i18n.LocaleContextHolder;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import javax.transaction.Transactional;
|
||||
import java.io.IOException;
|
||||
import java.util.List;
|
||||
import java.util.Locale;
|
||||
|
||||
import static com.xkrs.encapsulation.OutputEncapsulation.outputEncapsulationObject;
|
||||
|
||||
@Service
|
||||
public class PictureServiceImpl implements PictureService {
|
||||
|
||||
@Resource
|
||||
private PictureDao pictureDao;
|
||||
|
||||
@Resource
|
||||
private DataSourceDao dataSourceDao;
|
||||
|
||||
@Resource
|
||||
private DataSourceQuery dataSourceQuery;
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackOn = Exception.class)
|
||||
public String insertPicture(PictureQo pictureQo, MultipartFile pictureFile) throws IOException {
|
||||
Locale locale = LocaleContextHolder.getLocale();
|
||||
String filePath = ExcelUploadUtil.memoryFile(pictureFile, 2);
|
||||
List<DataSource> dataSourceList = dataSourceQuery.selectDataSource(pictureQo.getLotNo(), pictureQo.getMachineNo(), pictureQo.getMaterialNo(), pictureQo.getModelNo(), pictureQo.getMachineTypeNo(), pictureQo.getCraftItemName());
|
||||
if (dataSourceList == null || dataSourceList.isEmpty()) {
|
||||
DataSource dataSource = new DataSource();
|
||||
dataSource.setLotNo(pictureQo.getLotNo());
|
||||
dataSource.setMachineNo(pictureQo.getMachineNo());
|
||||
dataSource.setMaterialNo(pictureQo.getMaterialNo());
|
||||
dataSource.setModelNo(pictureQo.getModelNo());
|
||||
dataSource.setMachineTypeNo(pictureQo.getMachineTypeNo());
|
||||
dataSource.setInspectionItemCode("");
|
||||
dataSource.setCraftItemName(pictureQo.getCraftItemName());
|
||||
dataSource.setInspectValue("");
|
||||
dataSource.setPicturePath(filePath);
|
||||
dataSourceDao.save(dataSource);
|
||||
return outputEncapsulationObject(PromptMessageEnum.SUCCESS, "添加成功!", locale);
|
||||
}
|
||||
for (DataSource dataSource : dataSourceList) {
|
||||
String newFilePath;
|
||||
if (TextUtils.isEmpty(dataSource.getPicturePath())) {
|
||||
newFilePath = filePath;
|
||||
} else {
|
||||
newFilePath = dataSource.getPicturePath() + "," + filePath;
|
||||
}
|
||||
dataSourceDao.updatePicturePath(dataSource.getLotNo(), dataSource.getMachineNo(), dataSource.getMaterialNo(), dataSource.getModelNo(), dataSource.getMachineTypeNo(), dataSource.getCraftItemName(), newFilePath);
|
||||
}
|
||||
return outputEncapsulationObject(PromptMessageEnum.SUCCESS, "添加成功!", locale);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String deletePicture(String picturePath) {
|
||||
Locale locale = LocaleContextHolder.getLocale();
|
||||
String deleteResult = ExcelUploadUtil.delFile(picturePath, 2);
|
||||
return outputEncapsulationObject(PromptMessageEnum.SUCCESS, deleteResult, locale);
|
||||
}
|
||||
}
|
@ -1,14 +1,14 @@
|
||||
package com.xkrs.newpro.service.impl;
|
||||
package com.xkrs.service.impl;
|
||||
|
||||
import com.xkrs.dao.QcItemDao;
|
||||
import com.xkrs.encapsulation.PromptMessageEnum;
|
||||
import com.xkrs.newpro.dao.QcItemDao;
|
||||
import com.xkrs.newpro.model.entity.QcItemEntity;
|
||||
import com.xkrs.newpro.model.qo.QcItemQoDelete;
|
||||
import com.xkrs.newpro.model.qo.QcItemQoInsert;
|
||||
import com.xkrs.newpro.model.qo.QcItemQoUpdate;
|
||||
import com.xkrs.newpro.service.QcItemService;
|
||||
import com.xkrs.newpro.utils.LocalDateUtils;
|
||||
import com.xkrs.newpro.utils.LocalStringUtils;
|
||||
import com.xkrs.model.entity.QcItemEntity;
|
||||
import com.xkrs.model.qo.QcItemQoDelete;
|
||||
import com.xkrs.model.qo.QcItemQoInsert;
|
||||
import com.xkrs.model.qo.QcItemQoUpdate;
|
||||
import com.xkrs.service.QcItemService;
|
||||
import com.xkrs.util.LocalDateUtils;
|
||||
import com.xkrs.util.LocalStringUtils;
|
||||
import org.springframework.context.i18n.LocaleContextHolder;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
@ -37,16 +37,16 @@ public class QcItemServiceImpl implements QcItemService {
|
||||
String no = insertQo.getNo();
|
||||
String name = insertQo.getName();
|
||||
String type = insertQo.getType();
|
||||
Optional<QcItemEntity> entityByNo = qcItemDao.findByNo(no);
|
||||
Optional<QcItemEntity> entityByNo = qcItemDao.findByQcItemNo(no);
|
||||
if (entityByNo.isPresent()) {
|
||||
return outputEncapsulationObject(PromptMessageEnum.DATA_EXIT, "该检验项目已存在,请勿重复添加!", locale);
|
||||
}
|
||||
QcItemEntity entity = new QcItemEntity();
|
||||
entity.setCreateTime(LocalDateUtils.getCurrentSecond());
|
||||
entity.setUpdateTime("");
|
||||
entity.setNo(LocalStringUtils.formatEmptyValue(no));
|
||||
entity.setName(LocalStringUtils.formatEmptyValue(name));
|
||||
entity.setType(LocalStringUtils.formatEmptyValue(type));
|
||||
entity.setQcItemNo(LocalStringUtils.formatEmptyValue(no));
|
||||
entity.setQcItemName(LocalStringUtils.formatEmptyValue(name));
|
||||
entity.setQcItemType(LocalStringUtils.formatEmptyValue(type));
|
||||
qcItemDao.save(entity);
|
||||
return outputEncapsulationObject(PromptMessageEnum.SUCCESS, "添加成功!", locale);
|
||||
}
|
||||
@ -54,6 +54,7 @@ public class QcItemServiceImpl implements QcItemService {
|
||||
/**
|
||||
* 删除检验项目
|
||||
*/
|
||||
@Transactional(rollbackOn = Exception.class)
|
||||
@Override
|
||||
public String deleteQcItem(QcItemQoDelete deleteQo) {
|
||||
Integer id = deleteQo.getId();
|
610
src/main/java/com/xkrs/service/impl/QcSourceServiceImpl.java
Normal file
610
src/main/java/com/xkrs/service/impl/QcSourceServiceImpl.java
Normal file
@ -0,0 +1,610 @@
|
||||
package com.xkrs.service.impl;
|
||||
|
||||
import com.xkrs.dao.CraftItemDao;
|
||||
import com.xkrs.dao.QcItemDao;
|
||||
import com.xkrs.dao.QcSourceDao;
|
||||
import com.xkrs.dao.QcSpecDao;
|
||||
import com.xkrs.encapsulation.PromptMessageEnum;
|
||||
import com.xkrs.model.bean.XSSFCellDataBean;
|
||||
import com.xkrs.model.entity.CraftItemEntity;
|
||||
import com.xkrs.model.entity.QcItemEntity;
|
||||
import com.xkrs.model.entity.QcSourceEntity;
|
||||
import com.xkrs.model.entity.QcSpecEntity;
|
||||
import com.xkrs.model.qo.ExportSourceExcelQo;
|
||||
import com.xkrs.model.qo.QcSourceQoDelete;
|
||||
import com.xkrs.model.qo.QcSourceQoInsert;
|
||||
import com.xkrs.service.QcSourceService;
|
||||
import com.xkrs.util.*;
|
||||
import org.apache.http.util.TextUtils;
|
||||
import org.apache.poi.hssf.usermodel.HSSFCellStyle;
|
||||
import org.apache.poi.hssf.util.HSSFColor;
|
||||
import org.apache.poi.ss.usermodel.CellStyle;
|
||||
import org.apache.poi.ss.util.CellRangeAddress;
|
||||
import org.apache.poi.xssf.usermodel.*;
|
||||
import org.springframework.context.i18n.LocaleContextHolder;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import javax.transaction.Transactional;
|
||||
import java.awt.*;
|
||||
import java.io.File;
|
||||
import java.io.FileOutputStream;
|
||||
import java.io.IOException;
|
||||
import java.util.List;
|
||||
import java.util.*;
|
||||
|
||||
import static com.xkrs.encapsulation.OutputEncapsulation.outputEncapsulationObject;
|
||||
|
||||
@Service
|
||||
public class QcSourceServiceImpl implements QcSourceService {
|
||||
|
||||
private Locale locale = LocaleContextHolder.getLocale();
|
||||
|
||||
@Resource
|
||||
private CraftItemDao craftItemDao;
|
||||
|
||||
@Resource
|
||||
private QcItemDao qcItemDao;
|
||||
|
||||
@Resource
|
||||
private QcSourceDao qcSourceDao;
|
||||
|
||||
@Resource
|
||||
private QcSpecDao qcSpecDao;
|
||||
|
||||
/**
|
||||
* 导出excel样式一(表头顺序)
|
||||
* 批次号 机器号 物料号 模具号 机种号
|
||||
*/
|
||||
List<String> EXCEL_HEAD_STYLE_ONE_NO = Arrays.asList("batchNo", "machineNo", "materialNo", "mouldNo", "varietyNo", "craftItemNo", "createTime", "index");
|
||||
List<String> EXCEL_HEAD_STYLE_ONE_NAME = Arrays.asList("批次", "机器", "物料", "模具", "机种", "工艺项目", "上传时间", "过程抽检批次");
|
||||
|
||||
/**
|
||||
* 添加检验数据
|
||||
*/
|
||||
@Override
|
||||
public String insertQcSource(QcSourceQoInsert insertQo, MultipartFile picture) {
|
||||
String batchNo = insertQo.getBatchNo();
|
||||
String machineNo = insertQo.getMachineNo();
|
||||
String materialNo = insertQo.getMaterialNo();
|
||||
String mouldNo = insertQo.getMouldNo();
|
||||
String varietyNo = insertQo.getVarietyNo();
|
||||
String craftItemNo = insertQo.getCraftItemNo();
|
||||
String qcItemNo = insertQo.getQcItemNo();
|
||||
String qcValue = insertQo.getQcValue();
|
||||
Optional<CraftItemEntity> craftItemByNo = craftItemDao.findByCraftItemNo(craftItemNo);
|
||||
if (craftItemByNo.isEmpty()) {
|
||||
return outputEncapsulationObject(PromptMessageEnum.DATA_NONE, "不存在该工艺项目,请先添加工艺项目!", locale);
|
||||
}
|
||||
Optional<QcItemEntity> qcItemByNo = qcItemDao.findByQcItemNo(qcItemNo);
|
||||
if (qcItemByNo.isEmpty()) {
|
||||
return outputEncapsulationObject(PromptMessageEnum.DATA_NONE, "不存在该检验项目,请先添加检验项目!", locale);
|
||||
}
|
||||
if (Constant.QC_ITEM_TYPE_STRING.equals(qcItemByNo.get().getQcItemType())) {
|
||||
System.out.println("添加检验数据(文本类型)" + insertQo.toString());
|
||||
QcSourceEntity entity = new QcSourceEntity();
|
||||
String currentSecond = LocalDateUtils.getCurrentSecond();
|
||||
entity.setCreateTime(currentSecond);
|
||||
entity.setCreateTimeFormat(LocalDateUtils.formatCurrentSecond(currentSecond));
|
||||
entity.setBatchNo(LocalStringUtils.formatEmptyValue(batchNo));
|
||||
entity.setMachineNo(LocalStringUtils.formatEmptyValue(machineNo));
|
||||
entity.setMaterialNo(LocalStringUtils.formatEmptyValue(materialNo));
|
||||
entity.setMouldNo(LocalStringUtils.formatEmptyValue(mouldNo));
|
||||
entity.setVarietyNo(LocalStringUtils.formatEmptyValue(varietyNo));
|
||||
entity.setCraftItemNo(LocalStringUtils.formatEmptyValue(craftItemNo));
|
||||
entity.setQcItemNo(LocalStringUtils.formatEmptyValue(qcItemNo));
|
||||
if (TextUtils.isEmpty(qcValue)) {
|
||||
return outputEncapsulationObject(PromptMessageEnum.DATA_NONE, "添加失败,测量值(qcValue)字段不能为空!", locale);
|
||||
}
|
||||
entity.setQcValue(LocalStringUtils.formatEmptyValue(qcValue));
|
||||
qcSourceDao.save(entity);
|
||||
return outputEncapsulationObject(PromptMessageEnum.SUCCESS, "添加成功!", locale);
|
||||
}
|
||||
if (Constant.QC_ITEM_TYPE_PICTURE.equals(qcItemByNo.get().getQcItemType())) {
|
||||
System.out.println("添加检验数据(图片类型)" + insertQo.toString());
|
||||
if (picture == null) {
|
||||
return outputEncapsulationObject(PromptMessageEnum.DATA_NONE, "上传图片不能为空!", locale);
|
||||
}
|
||||
String picturePath;
|
||||
try {
|
||||
picturePath = ExcelUploadUtil.memoryFile(picture, 2);
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
return outputEncapsulationObject(PromptMessageEnum.DATA_NONE, "上传图片失败!", locale);
|
||||
}
|
||||
QcSourceEntity entity = new QcSourceEntity();
|
||||
String currentSecond = LocalDateUtils.getCurrentSecond();
|
||||
entity.setCreateTime(currentSecond);
|
||||
entity.setCreateTimeFormat(LocalDateUtils.formatCurrentSecond(currentSecond));
|
||||
entity.setBatchNo(LocalStringUtils.formatEmptyValue(batchNo));
|
||||
entity.setMachineNo(LocalStringUtils.formatEmptyValue(machineNo));
|
||||
entity.setMaterialNo(LocalStringUtils.formatEmptyValue(materialNo));
|
||||
entity.setMouldNo(LocalStringUtils.formatEmptyValue(mouldNo));
|
||||
entity.setVarietyNo(LocalStringUtils.formatEmptyValue(varietyNo));
|
||||
entity.setCraftItemNo(LocalStringUtils.formatEmptyValue(craftItemNo));
|
||||
entity.setQcItemNo(LocalStringUtils.formatEmptyValue(qcItemNo));
|
||||
entity.setQcValue(LocalStringUtils.formatEmptyValue(picturePath));
|
||||
qcSourceDao.save(entity);
|
||||
return outputEncapsulationObject(PromptMessageEnum.SUCCESS, "添加成功!", locale);
|
||||
}
|
||||
System.out.println("添加检验数据(未知类型)" + insertQo.toString());
|
||||
return outputEncapsulationObject(PromptMessageEnum.DATA_NONE, "添加失败!", locale);
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除检验数据
|
||||
*/
|
||||
@Transactional(rollbackOn = Exception.class)
|
||||
@Override
|
||||
public String deleteQcSource(QcSourceQoDelete deleteQo) {
|
||||
Integer id = deleteQo.getId();
|
||||
Optional<QcSourceEntity> entityById = qcSourceDao.findById(id);
|
||||
if (entityById.isEmpty()) {
|
||||
return outputEncapsulationObject(PromptMessageEnum.DATA_NONE, "不存在该检验数据,请先添加检验数据!", locale);
|
||||
}
|
||||
qcSourceDao.deleteById(id);
|
||||
return outputEncapsulationObject(PromptMessageEnum.SUCCESS, "删除成功!", locale);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询检验数据
|
||||
*/
|
||||
@Override
|
||||
public String queryQcSource(String batchNo, String machineNo, String materialNo, String mouldNo, String varietyNo, String craftItemNo) {
|
||||
long startTimeMillis = System.currentTimeMillis();
|
||||
List<CraftItemEntity> craftItemList = craftItemDao.findAll();
|
||||
if (craftItemList.isEmpty()) {
|
||||
return outputEncapsulationObject(PromptMessageEnum.DATA_NONE, "未添加工艺项目,请先添加工艺项目!", locale);
|
||||
}
|
||||
List<QcItemEntity> qcItemList = qcItemDao.findAll();
|
||||
if (qcItemList.isEmpty()) {
|
||||
return outputEncapsulationObject(PromptMessageEnum.DATA_NONE, "未添加检验项目,请先添加检验项目!", locale);
|
||||
}
|
||||
String finalBatchNo = LocalStringUtils.formatEmptyValue(batchNo).trim();
|
||||
String finalMachineNo = LocalStringUtils.formatEmptyValue(machineNo).trim();
|
||||
String finalMaterialNo = LocalStringUtils.formatEmptyValue(materialNo).trim();
|
||||
String finalMouldNo = LocalStringUtils.formatEmptyValue(mouldNo).trim();
|
||||
String finalVarietyNo = LocalStringUtils.formatEmptyValue(varietyNo).trim();
|
||||
String finalCraftItemNo = LocalStringUtils.formatEmptyValue(craftItemNo).trim();
|
||||
//检验数据结果集
|
||||
List<QcSourceEntity> sourceList = qcSourceDao.queryQcSource(finalBatchNo, finalMachineNo, finalMaterialNo, finalMouldNo, finalVarietyNo, finalCraftItemNo);
|
||||
//检验规格
|
||||
List<QcSpecEntity> qcSpecList = qcSpecDao.findAll();
|
||||
List<Map<String, Object>> resultList = generateResultList(sourceList, qcSpecList);
|
||||
System.out.println("查询检验数据耗时:" + formatDuring(System.currentTimeMillis() - startTimeMillis));
|
||||
if (resultList.isEmpty()) {
|
||||
return outputEncapsulationObject(PromptMessageEnum.DATA_NONE, "暂时没有该检验数据的信息!", locale);
|
||||
}
|
||||
return outputEncapsulationObject(PromptMessageEnum.SUCCESS, resultList, locale);
|
||||
}
|
||||
|
||||
/**
|
||||
* 生成返回结果
|
||||
*
|
||||
* @param sourceList 检验数据结果集
|
||||
* @param qcSpecList 检验规格结果集
|
||||
* @return
|
||||
*/
|
||||
private List<Map<String, Object>> generateResultList(List<QcSourceEntity> sourceList, List<QcSpecEntity> qcSpecList) {
|
||||
List<Map<String, Object>> resultList = new ArrayList<>();
|
||||
if (sourceList == null || sourceList.isEmpty()) {
|
||||
return resultList;
|
||||
}
|
||||
long startTimeMillis = System.currentTimeMillis();
|
||||
//这个for循环完成后:一维结果集被格式化为二维结果集,每一行的上传时间是本行所有数据的最早时间
|
||||
for (QcSourceEntity sourceEntity : sourceList) {
|
||||
String batchNo = LocalStringUtils.formatEmptyValue(sourceEntity.getBatchNo());
|
||||
String machineNo = LocalStringUtils.formatEmptyValue(sourceEntity.getMachineNo());
|
||||
String materialNo = LocalStringUtils.formatEmptyValue(sourceEntity.getMaterialNo());
|
||||
String mouldNo = LocalStringUtils.formatEmptyValue(sourceEntity.getMouldNo());
|
||||
String varietyNo = LocalStringUtils.formatEmptyValue(sourceEntity.getVarietyNo());
|
||||
String craftItemNo = LocalStringUtils.formatEmptyValue(sourceEntity.getCraftItemNo());
|
||||
String createTime = LocalStringUtils.formatEmptyValue(sourceEntity.getCreateTime());
|
||||
String qcItemNo = LocalStringUtils.formatEmptyValue(sourceEntity.getQcItemNo());
|
||||
String qcValue = LocalStringUtils.formatEmptyValue(sourceEntity.getQcValue());
|
||||
String formatValue = getFormatValue(qcSpecList, varietyNo, craftItemNo, qcItemNo, qcValue);
|
||||
Map<String, Object> emptyRoom = findEmptyRoom(resultList, qcItemNo, batchNo, machineNo, materialNo, mouldNo, varietyNo, craftItemNo);
|
||||
if (emptyRoom == null) {
|
||||
Map<String, Object> newRoom = new HashMap<>();
|
||||
newRoom.put(EXCEL_HEAD_STYLE_ONE_NO.get(0), batchNo);
|
||||
newRoom.put(EXCEL_HEAD_STYLE_ONE_NO.get(1), machineNo);
|
||||
newRoom.put(EXCEL_HEAD_STYLE_ONE_NO.get(2), materialNo);
|
||||
newRoom.put(EXCEL_HEAD_STYLE_ONE_NO.get(3), mouldNo);
|
||||
newRoom.put(EXCEL_HEAD_STYLE_ONE_NO.get(4), varietyNo);
|
||||
newRoom.put(EXCEL_HEAD_STYLE_ONE_NO.get(5), craftItemNo);
|
||||
newRoom.put(EXCEL_HEAD_STYLE_ONE_NO.get(6), createTime);//新行的上传时间使用第一个数据的上传时间
|
||||
newRoom.put(qcItemNo, formatValue);
|
||||
resultList.add(newRoom);
|
||||
} else {
|
||||
emptyRoom.put(qcItemNo, formatValue);
|
||||
long oldTime = Long.parseLong((String) emptyRoom.get(EXCEL_HEAD_STYLE_ONE_NO.get(6)));
|
||||
if (Long.parseLong(createTime) < oldTime) {//已存在行的上传时间用更早的时间替换更晚的时间
|
||||
emptyRoom.put(EXCEL_HEAD_STYLE_ONE_NO.get(6), createTime);
|
||||
}
|
||||
}
|
||||
}
|
||||
//这个for循环完成后:二维结果集每一行的上传时间是本分组所有数据的最早时间
|
||||
for (Map<String, Object> result : resultList) {
|
||||
String createTime = (String) result.get(EXCEL_HEAD_STYLE_ONE_NO.get(6));
|
||||
List<Long> createTimeTagList = getCreateTimeTagList(resultList, result);
|
||||
int createTimeTagIndex = getCreateTimeTagIndex(createTimeTagList, Long.parseLong(createTime));
|
||||
result.put(EXCEL_HEAD_STYLE_ONE_NO.get(6), String.valueOf(createTimeTagList.get(createTimeTagIndex)));
|
||||
result.put(EXCEL_HEAD_STYLE_ONE_NO.get(7), "第" + (createTimeTagIndex + 1) + "批");
|
||||
}
|
||||
System.out.println("generateResultList耗时:" + formatDuring(System.currentTimeMillis() - startTimeMillis));
|
||||
return resultList;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取上传时间节点索引
|
||||
*
|
||||
* @param createTimeTagList 上传时间节点集合
|
||||
* @param createTimeLong 当前行上传时间(其实也是当前行所有数据的最早上传时间)
|
||||
* @return 上传时间节点索引
|
||||
*/
|
||||
private int getCreateTimeTagIndex(List<Long> createTimeTagList, long createTimeLong) {
|
||||
for (int i = 0; i < createTimeTagList.size(); i++) {
|
||||
long dur = createTimeLong - createTimeTagList.get(i);
|
||||
if (dur >= 0 && dur <= Constant.QC_TIME_INTERVAL) {
|
||||
return i;
|
||||
}
|
||||
}
|
||||
throw new RuntimeException("获取上传时间节点索引时发生异常");
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取上传时间节点集合
|
||||
*
|
||||
* @param resultList 二维结果集
|
||||
* @param currentResult 当前行
|
||||
* @return 当前行所在分组的时间节点集合
|
||||
*/
|
||||
private List<Long> getCreateTimeTagList(List<Map<String, Object>> resultList, Map<String, Object> currentResult) {
|
||||
String currentBatchNo = (String) currentResult.get(EXCEL_HEAD_STYLE_ONE_NO.get(0));
|
||||
String currentMachineNo = (String) currentResult.get(EXCEL_HEAD_STYLE_ONE_NO.get(1));
|
||||
String currentMaterialNo = (String) currentResult.get(EXCEL_HEAD_STYLE_ONE_NO.get(2));
|
||||
String currentMouldNo = (String) currentResult.get(EXCEL_HEAD_STYLE_ONE_NO.get(3));
|
||||
String currentVarietyNo = (String) currentResult.get(EXCEL_HEAD_STYLE_ONE_NO.get(4));
|
||||
String currentCraftItemNo = (String) currentResult.get(EXCEL_HEAD_STYLE_ONE_NO.get(5));
|
||||
List<Long> createTimeList = new ArrayList<>();
|
||||
//这个for循环的作用是在二维结果集中过滤出和当前行数据属于同一分组的所有行上传时间集合
|
||||
for (Map<String, Object> result : resultList) {
|
||||
String batchNo = (String) result.get(EXCEL_HEAD_STYLE_ONE_NO.get(0));
|
||||
String machineNo = (String) result.get(EXCEL_HEAD_STYLE_ONE_NO.get(1));
|
||||
String materialNo = (String) result.get(EXCEL_HEAD_STYLE_ONE_NO.get(2));
|
||||
String mouldNo = (String) result.get(EXCEL_HEAD_STYLE_ONE_NO.get(3));
|
||||
String varietyNo = (String) result.get(EXCEL_HEAD_STYLE_ONE_NO.get(4));
|
||||
String craftItemNo = (String) result.get(EXCEL_HEAD_STYLE_ONE_NO.get(5));
|
||||
String createTime = (String) result.get(EXCEL_HEAD_STYLE_ONE_NO.get(6));
|
||||
if (batchNo.equals(currentBatchNo) && machineNo.equals(currentMachineNo) && materialNo.equals(currentMaterialNo) && mouldNo.equals(currentMouldNo) && varietyNo.equals(currentVarietyNo) && craftItemNo.equals(currentCraftItemNo)) {
|
||||
createTimeList.add(Long.parseLong(createTime));
|
||||
}
|
||||
}
|
||||
//对上传时间集合进行排序
|
||||
createTimeList.sort(Long::compareTo);
|
||||
//根据上传时间集合和时间间隔生成上传时间节点集合
|
||||
List<Long> createTimeTagList = new ArrayList<>();//时间节点列表
|
||||
for (int i = 0; i < createTimeList.size(); i++) {
|
||||
Long createTime = createTimeList.get(i);
|
||||
if (createTimeTagList.isEmpty()) {
|
||||
createTimeTagList.add(createTime);
|
||||
continue;
|
||||
}
|
||||
Long newCreateTimeTag = createTimeTagList.get(createTimeTagList.size() - 1);//最新的时间节点
|
||||
if (createTime >= newCreateTimeTag + Constant.QC_TIME_INTERVAL) {
|
||||
createTimeTagList.add(createTime);
|
||||
}
|
||||
}
|
||||
return createTimeTagList;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取添加了 ##H 或 ##L 后缀的测量值(如果可能的话)
|
||||
*/
|
||||
private String getFormatValue(List<QcSpecEntity> qcSpecList, String varietyNo, String craftItemNo, String qcItemNo, String qcValue) {
|
||||
if (qcSpecList == null || qcSpecList.isEmpty()) {
|
||||
return qcValue;
|
||||
}
|
||||
for (int i = 0; i < qcSpecList.size(); i++) {
|
||||
QcSpecEntity qcSpec = qcSpecList.get(i);
|
||||
if (varietyNo.equals(qcSpec.getVarietyNo()) && craftItemNo.equals(qcSpec.getCraftItemNo()) && qcItemNo.equals(qcSpec.getQcItemNo())) {
|
||||
double valueMax = stringToDouble(qcSpec.getMax());
|
||||
double valueMin = stringToDouble(qcSpec.getMin());
|
||||
double value = stringToDouble(qcValue);
|
||||
if (valueMax > -99_000D && value > -99_000D && value >= valueMax) {
|
||||
return qcValue + "##H";
|
||||
}
|
||||
if (valueMin > -99_000D && value > -99_000D && value <= valueMin) {
|
||||
return qcValue + "##L";
|
||||
}
|
||||
return qcValue;
|
||||
}
|
||||
}
|
||||
return qcValue;
|
||||
}
|
||||
|
||||
/**
|
||||
* 格式化字符串为Double
|
||||
*/
|
||||
private Double stringToDouble(String stringValue) {
|
||||
try {
|
||||
return Double.parseDouble(stringValue);
|
||||
} catch (Exception e) {
|
||||
// e.printStackTrace();
|
||||
// return -100_000D;
|
||||
}
|
||||
return -100_000D;
|
||||
}
|
||||
|
||||
/**
|
||||
* 尝试找到一个qcItemNo有空位置的Map
|
||||
*/
|
||||
private Map<String, Object> findEmptyRoom(List<Map<String, Object>> mapList, String qcItemNo, String batchNo, String machineNo, String materialNo, String mouldNo, String varietyNo, String craftItemNo) {
|
||||
if (mapList == null || mapList.isEmpty() || TextUtils.isEmpty(qcItemNo)) {
|
||||
return null;
|
||||
}
|
||||
for (Map<String, Object> room : mapList) {
|
||||
if (room.get(EXCEL_HEAD_STYLE_ONE_NO.get(0)).equals(batchNo) && room.get(EXCEL_HEAD_STYLE_ONE_NO.get(1)).equals(machineNo) && room.get(EXCEL_HEAD_STYLE_ONE_NO.get(2)).equals(materialNo) && room.get(EXCEL_HEAD_STYLE_ONE_NO.get(3)).equals(mouldNo) && room.get(EXCEL_HEAD_STYLE_ONE_NO.get(4)).equals(varietyNo) && room.get(EXCEL_HEAD_STYLE_ONE_NO.get(5)).equals(craftItemNo)) {
|
||||
if (!room.containsKey(qcItemNo)) {
|
||||
return room;
|
||||
}
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* 导出Excel表格
|
||||
*/
|
||||
@Override
|
||||
public String exportExcel(ExportSourceExcelQo exportSourceExcelQo) throws Exception {
|
||||
String host = LocalStringUtils.formatEmptyValue(exportSourceExcelQo.getHost()).trim();
|
||||
String finalBatchNo = LocalStringUtils.formatEmptyValue(exportSourceExcelQo.getBatchNo()).trim();
|
||||
String finalMachineNo = LocalStringUtils.formatEmptyValue(exportSourceExcelQo.getMachineNo()).trim();
|
||||
String finalMaterialNo = LocalStringUtils.formatEmptyValue(exportSourceExcelQo.getMaterialNo()).trim();
|
||||
String finalMouldNo = LocalStringUtils.formatEmptyValue(exportSourceExcelQo.getMouldNo()).trim();
|
||||
String finalVarietyNo = LocalStringUtils.formatEmptyValue(exportSourceExcelQo.getVarietyNo()).trim();
|
||||
String finalCraftItemNo = LocalStringUtils.formatEmptyValue(exportSourceExcelQo.getCraftItemNo()).trim();
|
||||
List<CraftItemEntity> craftItemList = craftItemDao.findAll();
|
||||
if (craftItemList.isEmpty()) {
|
||||
return outputEncapsulationObject(PromptMessageEnum.DATA_NONE, "未添加工艺项目,请先添加工艺项目!", locale);
|
||||
}
|
||||
List<QcItemEntity> qcItemList = qcItemDao.findAll();
|
||||
if (qcItemList.isEmpty()) {
|
||||
return outputEncapsulationObject(PromptMessageEnum.DATA_NONE, "未添加检验项目,请先添加检验项目!", locale);
|
||||
}
|
||||
List<QcSourceEntity> sourceList = qcSourceDao.queryQcSource(finalBatchNo, finalMachineNo, finalMaterialNo, finalMouldNo, finalVarietyNo, finalCraftItemNo);
|
||||
List<QcSpecEntity> qcSpecList = qcSpecDao.findAll();
|
||||
List<Map<String, Object>> resultList = generateResultList(sourceList, qcSpecList);
|
||||
String finalHost = host.endsWith("/") ? host : host + "/";
|
||||
List<List<String>> formattedResultList = formatResultList(finalHost, resultList, qcItemList);
|
||||
if (formattedResultList.isEmpty()) {
|
||||
return outputEncapsulationObject(PromptMessageEnum.DATA_NONE, "暂时没有该检验数据的信息!", locale);
|
||||
}
|
||||
String excelPath = doExportExcel(formattedResultList);
|
||||
return outputEncapsulationObject(PromptMessageEnum.SUCCESS, finalHost + excelPath, locale);
|
||||
}
|
||||
|
||||
/**
|
||||
* 格式化结果集数据
|
||||
*/
|
||||
private List<List<String>> formatResultList(String host, List<Map<String, Object>> resultList, List<QcItemEntity> qcItemList) {
|
||||
List<List<String>> formatResultList = new ArrayList<>();
|
||||
if (resultList == null || resultList.isEmpty()) {
|
||||
return formatResultList;
|
||||
}
|
||||
boolean needProcessBatch = needProcessBatch(resultList);
|
||||
List<String> headList = new ArrayList<>();
|
||||
for (int i = 0; i < EXCEL_HEAD_STYLE_ONE_NAME.size(); i++) {
|
||||
if (i == 7) {
|
||||
if (needProcessBatch) {
|
||||
headList.add(EXCEL_HEAD_STYLE_ONE_NAME.get(i));
|
||||
}
|
||||
} else {
|
||||
headList.add(EXCEL_HEAD_STYLE_ONE_NAME.get(i));
|
||||
}
|
||||
}
|
||||
for (QcItemEntity qcItemEntity : qcItemList) {
|
||||
headList.add(qcItemEntity.getQcItemName());
|
||||
}
|
||||
formatResultList.add(headList);
|
||||
for (Map<String, Object> result : resultList) {
|
||||
List<String> dataList = new ArrayList<>();
|
||||
dataList.add((String) result.get(EXCEL_HEAD_STYLE_ONE_NO.get(0)));
|
||||
dataList.add((String) result.get(EXCEL_HEAD_STYLE_ONE_NO.get(1)));
|
||||
dataList.add((String) result.get(EXCEL_HEAD_STYLE_ONE_NO.get(2)));
|
||||
dataList.add((String) result.get(EXCEL_HEAD_STYLE_ONE_NO.get(3)));
|
||||
dataList.add((String) result.get(EXCEL_HEAD_STYLE_ONE_NO.get(4)));
|
||||
dataList.add((String) result.get(EXCEL_HEAD_STYLE_ONE_NO.get(5)));
|
||||
dataList.add(LocalDateUtils.exportFormatCurrentSecond((String) result.get(EXCEL_HEAD_STYLE_ONE_NO.get(6))));
|
||||
if (needProcessBatch) {
|
||||
if (isProcessBatch(result)) {
|
||||
dataList.add((String) result.get(EXCEL_HEAD_STYLE_ONE_NO.get(7)));
|
||||
} else {
|
||||
dataList.add("");
|
||||
}
|
||||
}
|
||||
for (QcItemEntity entity : qcItemList) {
|
||||
String value = (String) result.getOrDefault(entity.getQcItemNo(), "");
|
||||
if (Constant.QC_ITEM_TYPE_STRING.equals(entity.getQcItemType())) {
|
||||
dataList.add(value);
|
||||
} else if (Constant.QC_ITEM_TYPE_PICTURE.equals(entity.getQcItemType())) {
|
||||
if (value.startsWith("picture")) {
|
||||
dataList.add(host + value);
|
||||
} else {
|
||||
dataList.add(value);
|
||||
}
|
||||
} else {
|
||||
dataList.add(value);
|
||||
}
|
||||
}
|
||||
formatResultList.add(dataList);
|
||||
}
|
||||
return formatResultList;
|
||||
}
|
||||
|
||||
/**
|
||||
* 这个表格是否需要过程抽检批次这个表头
|
||||
* 只要存在一条项目工艺编号为U001的数据,就需要这个表头
|
||||
*/
|
||||
private boolean needProcessBatch(List<Map<String, Object>> resultList) {
|
||||
for (Map<String, Object> result : resultList) {
|
||||
if ("U001".equals((String) result.get(EXCEL_HEAD_STYLE_ONE_NO.get(5)))) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* 表格中的本行记录是否是成型过程工检数据
|
||||
* 如果项目工艺编号为U001,那就是
|
||||
*/
|
||||
private boolean isProcessBatch(Map<String, Object> result) {
|
||||
if ("U001".equals((String) result.get(EXCEL_HEAD_STYLE_ONE_NO.get(5)))) {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* 将格式化后的结果集数据导出为Excel文件
|
||||
*/
|
||||
private String doExportExcel(List<List<String>> dataListList) throws Exception {
|
||||
//创建XSSFWorkbook对象(excel的文档对象)
|
||||
XSSFWorkbook workbook = new XSSFWorkbook();
|
||||
//建立新的sheet对象(excel的表单)
|
||||
XSSFSheet sheet = workbook.createSheet("检验数据表");
|
||||
for (int i = 0; i < dataListList.get(0).size(); i++) {
|
||||
if (i <= 7) {
|
||||
sheet.setColumnWidth(i, 22 * 256);
|
||||
} else {
|
||||
sheet.setColumnWidth(i, 14 * 256);
|
||||
}
|
||||
}
|
||||
XSSFCellStyle headCellStyle = workbook.createCellStyle();
|
||||
headCellStyle.setAlignment(HSSFCellStyle.ALIGN_CENTER);
|
||||
headCellStyle.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);
|
||||
XSSFFont headFont = workbook.createFont();
|
||||
headFont.setColor(HSSFColor.BLACK.index);
|
||||
headCellStyle.setFont(headFont);
|
||||
headCellStyle.setFillForegroundColor(new XSSFColor(new Color(156, 195, 230)));//设置背景色
|
||||
headCellStyle.setFillPattern(CellStyle.SOLID_FOREGROUND);//填充模式
|
||||
|
||||
XSSFCellStyle highCellStyle = workbook.createCellStyle();
|
||||
highCellStyle.setAlignment(HSSFCellStyle.ALIGN_CENTER);
|
||||
highCellStyle.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);
|
||||
XSSFFont highFont = workbook.createFont();
|
||||
highFont.setColor(HSSFColor.RED.index);
|
||||
highCellStyle.setFont(highFont);
|
||||
|
||||
XSSFCellStyle lowCellStyle = workbook.createCellStyle();
|
||||
lowCellStyle.setAlignment(HSSFCellStyle.ALIGN_CENTER);
|
||||
lowCellStyle.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);
|
||||
XSSFFont lowFont = workbook.createFont();
|
||||
lowFont.setColor(HSSFColor.BLUE.index);
|
||||
lowCellStyle.setFont(lowFont);
|
||||
|
||||
XSSFCellStyle normalCellStyle = workbook.createCellStyle();
|
||||
normalCellStyle.setAlignment(HSSFCellStyle.ALIGN_CENTER);
|
||||
normalCellStyle.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);
|
||||
XSSFFont normalFont = workbook.createFont();
|
||||
normalFont.setColor(HSSFColor.BLACK.index);
|
||||
normalCellStyle.setFont(normalFont);
|
||||
|
||||
//在sheet里创建第一行,参数为行索引(excel的行),可以是0~65535之间的任何一个
|
||||
XSSFRow titleRow = sheet.createRow(0);
|
||||
//创建单元格(excel的单元格,参数为列索引,可以是0~255之间的任何一个
|
||||
XSSFCell titleCell = titleRow.createCell(0);
|
||||
//设置单元格内容
|
||||
titleCell.setCellValue("检验数据导出表");
|
||||
titleCell.setCellStyle(normalCellStyle);
|
||||
//合并单元格CellRangeAddress构造参数依次表示起始行,截至行,起始列, 截至列
|
||||
sheet.addMergedRegion(new CellRangeAddress(0, 0, 0, dataListList.get(0).size() - 1));
|
||||
int startRowNum = 1;
|
||||
for (int i = 0; i < dataListList.size(); i++) {
|
||||
List<String> dataList = dataListList.get(i);
|
||||
if (dataList != null && dataList.size() > 0) {
|
||||
XSSFRow row = sheet.createRow(i + startRowNum);
|
||||
for (int j = 0; j < dataList.size(); j++) {
|
||||
XSSFCell cell = row.createCell(j);
|
||||
String sourceValue = dataList.get(j);
|
||||
if (i == 0) {
|
||||
cell.setCellValue(sourceValue);
|
||||
cell.setCellStyle(headCellStyle);
|
||||
} else if (j <= 5) {
|
||||
cell.setCellValue(sourceValue);
|
||||
cell.setCellStyle(normalCellStyle);
|
||||
} else if (sourceValue.contains("##H")) {
|
||||
cell.setCellValue(LocalDoubleUtils.keepThreeDecimal(sourceValue.split("##")[0]));
|
||||
cell.setCellStyle(highCellStyle);
|
||||
} else if (sourceValue.contains("##L")) {
|
||||
cell.setCellValue(LocalDoubleUtils.keepThreeDecimal(sourceValue.split("##")[0]));
|
||||
cell.setCellStyle(lowCellStyle);
|
||||
} else {
|
||||
XSSFCellDataBean cellDataBean = new XSSFCellDataBean(sourceValue);
|
||||
if (XSSFCellDataBean.VALUE_TYPE_STRING == cellDataBean.getValueType()) {
|
||||
cell.setCellValue(cellDataBean.getStringValue());
|
||||
} else if (XSSFCellDataBean.VALUE_TYPE_DOUBLE == cellDataBean.getValueType()) {
|
||||
cell.setCellValue(LocalDoubleUtils.keepThreeDecimal(cellDataBean.getDoubleValue()));
|
||||
}
|
||||
cell.setCellStyle(normalCellStyle);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
//输出Excel文件
|
||||
File dirFile = new File("/home/sxy/server/industrial_measurement/excel/");
|
||||
// File dirFile = new File("/Users/liuchengqian/Desktop/DaJiang/");
|
||||
if (!dirFile.exists()) {
|
||||
dirFile.mkdirs();
|
||||
}
|
||||
String excelFileName = System.currentTimeMillis() + ".xlsx";
|
||||
FileOutputStream output = new FileOutputStream(new File(dirFile, excelFileName));
|
||||
workbook.write(output);
|
||||
output.flush();
|
||||
return "excel/" + excelFileName;
|
||||
}
|
||||
|
||||
/**
|
||||
* 格式化创建时间历史数据
|
||||
*/
|
||||
@Override
|
||||
public String formatCreateTime() {
|
||||
System.out.println("开始格式化创建时间历史数据");
|
||||
List<QcSourceEntity> sourceEntityList = qcSourceDao.findAll();
|
||||
long startTimeMillis = System.currentTimeMillis();
|
||||
int listSize = sourceEntityList.size();
|
||||
for (int i = 0; i < listSize; i++) {
|
||||
QcSourceEntity sourceEntity = sourceEntityList.get(i);
|
||||
String createTime = sourceEntity.getCreateTime();
|
||||
String formatCurrentSecond = LocalDateUtils.formatCurrentSecond(createTime);
|
||||
qcSourceDao.formatCreateTime(sourceEntity.getId(), formatCurrentSecond);
|
||||
if (i % 10 == 0) {
|
||||
long spendTimeMillis = System.currentTimeMillis() - startTimeMillis;
|
||||
double remainTimeMillis = (listSize - i) * spendTimeMillis * 1D / i;
|
||||
System.out.println("已完成(" + i + "/" + listSize + "),用时" + formatDuring(spendTimeMillis) + ",剩余" + formatDuring((long) remainTimeMillis));
|
||||
}
|
||||
}
|
||||
return outputEncapsulationObject(PromptMessageEnum.SUCCESS, "格式化创建时间历史数据成功", locale);
|
||||
}
|
||||
|
||||
public static String formatDuring(long mss) {
|
||||
long days = mss / (1000 * 60 * 60 * 24);
|
||||
long hours = (mss % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60);
|
||||
long minutes = (mss % (1000 * 60 * 60)) / (1000 * 60);
|
||||
long seconds = (mss % (1000 * 60)) / 1000;
|
||||
if (days <= 0 && hours <= 0 && minutes <= 0) {
|
||||
return seconds + " 秒 ";
|
||||
}
|
||||
if (days <= 0 && hours <= 0) {
|
||||
return minutes + " 分钟 " + seconds + " 秒 ";
|
||||
}
|
||||
if (days <= 0) {
|
||||
return hours + " 小时 " + minutes + " 分钟 " + seconds + " 秒 ";
|
||||
}
|
||||
return days + " 天 " + hours + " 小时 " + minutes + " 分钟 " + seconds + " 秒 ";
|
||||
}
|
||||
|
||||
}
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user