From ebf2ae5abadc06765fcc17e89ff3d2ad1a421bb8 Mon Sep 17 00:00:00 2001
From: Lius <Lius2225@163.com>
Date: 星期五, 08 十二月 2023 13:35:49 +0800
Subject: [PATCH] 设备加工工件个数报表
---
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/DailyInspectionStandardController.java | 274 +++++++++++++++++++++++++++++++++++++++++++++++++++---
1 files changed, 257 insertions(+), 17 deletions(-)
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/DailyInspectionStandardController.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/DailyInspectionStandardController.java
index 403e04f..b2218d8 100644
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/DailyInspectionStandardController.java
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/DailyInspectionStandardController.java
@@ -2,28 +2,39 @@
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
+import org.apache.poi.ss.usermodel.*;
+import org.apache.poi.xssf.usermodel.XSSFWorkbook;
+import org.apache.shiro.SecurityUtils;
import org.jeecg.common.api.vo.Result;
import org.jeecg.common.aspect.annotation.AutoLog;
+import org.jeecg.common.constant.CommonConstant;
import org.jeecg.common.system.base.controller.JeecgController;
import org.jeecg.common.system.query.QueryGenerator;
+import org.jeecg.common.system.vo.LoginUser;
+import org.jeecg.common.util.ImportExcelUtil;
import org.jeecg.modules.eam.entity.*;
import org.jeecg.modules.eam.service.*;
+import org.jeecg.modules.eam.vo.InspectionStandardImportVo;
+import org.jeecgframework.poi.excel.entity.ImportParams;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+import org.springframework.web.multipart.MultipartHttpServletRequest;
import org.springframework.web.servlet.ModelAndView;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.io.InputStream;
import java.math.BigDecimal;
-import java.util.Arrays;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
/**
* @Description: mom_eam_inspection_project
@@ -44,6 +55,15 @@
@Autowired
private IDailyInspectionStandardDetailService dailyInspectionStandardDetailService;
+
+ @Autowired
+ private IdentityService identityService;
+
+ @Autowired
+ private IInspectionProjectService inspectionProjectService;
+
+ @Autowired
+ private IInspectionCycleService inspectionCycleService;
/**
* 鍒嗛〉鍒楄〃鏌ヨ
*
@@ -90,8 +110,8 @@
*/
@GetMapping("findInspectionStandardList")
public Result<?> findInspectionStandardList(@RequestParam("pageNo") Integer pageNo,
- @RequestParam("pageSize") Integer pageSize,
- @RequestParam Map<String, Object> params) {
+ @RequestParam("pageSize") Integer pageSize,
+ @RequestParam Map<String, Object> params) {
IPage<Map<String, Object>> inspectionStandardList = dailyInspectionStandardService.findInspectionStandardList(pageNo, pageSize, params);
return Result.ok(inspectionStandardList);
}
@@ -107,6 +127,8 @@
@PostMapping(value = "/add")
@Transactional(rollbackFor = { Exception.class })
public Result<String> add(@RequestBody DailyInspectionStandard dailyInspectionStandard) {
+ LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
+ dailyInspectionStandard.setWritePerson(sysUser.getRealname());
dailyInspectionStandardService.save(dailyInspectionStandard);
List<DailyInspectionStandardDetail> dailyInspectionStandardDetaillist = dailyInspectionStandard.getDailyInspectionStandardDetaillist();
DailyInspectionStandardDetail isd = null;
@@ -133,6 +155,7 @@
@RequestMapping(value = "/edit", method = {RequestMethod.PUT, RequestMethod.POST})
@Transactional(rollbackFor = { Exception.class })
public Result<String> edit(@RequestBody DailyInspectionStandard dailyInspectionStandard) {
+ dailyInspectionStandard.setApprovalStatus("1");
dailyInspectionStandardService.updateById(dailyInspectionStandard);
//1.鍒犻櫎鍘熺偣妫�椤圭洰
List<DailyInspectionStandardDetail> dailyInspectionStandardDetails = dailyInspectionStandardDetailService.lambdaQuery()
@@ -236,8 +259,179 @@
* @return
*/
@RequestMapping(value = "/importExcel", method = RequestMethod.POST)
- public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
- return super.importExcel(request, response, DailyInspectionStandard.class);
+ public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) throws IOException {
+ MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
+ LoginUser user= (LoginUser) SecurityUtils.getSubject().getPrincipal();
+ Map<String, MultipartFile> fileMap = multipartRequest.getFileMap();
+ // 閿欒淇℃伅
+ List<String> errorMessage = new ArrayList<>();
+ int successLines = 0, errorLines = 0;
+ //a = 1寮�濮嬭鍙栫偣妫�椤圭洰锛沚 = 1寮�濮嬭鍙栧懆淇濆吇椤圭洰锛沜 = 1璇ヨ澶囧鍏ヤ俊鎭瓨鍦ㄩ敊璇紱projectColumnIndex鐐规椤圭洰鎵�鍦ㄥ垪锛沵aintenanceColumnIndex鍛ㄤ繚鍏婚」鐩墍鍦ㄥ垪
+ int a = 0,b = 0,c = 0,projectColumnIndex = -1,maintenanceColumnIndex = 0;
+ String dailyInspectionStandardId = null;
+ String equipmentNum = null;
+ DailyInspectionStandard dailyInspectionStandard = new DailyInspectionStandard();
+ List<DailyInspectionStandardDetail> dailyInspectionStandardDetailList = new ArrayList<>();
+ for (Map.Entry<String, MultipartFile> entity : fileMap.entrySet()) {
+ MultipartFile file = entity.getValue();
+ ImportParams params = new ImportParams();
+ params.setNeedSave(true);
+ try {
+ InputStream fis = file.getInputStream();
+ Workbook workbook = new XSSFWorkbook(fis);
+ int sheets = workbook.getNumberOfSheets();
+ //鍒ゆ柇鐐规鍛ㄦ湡鏄惁瀛樺湪
+ InspectionCycle dayInspectionCycle = inspectionCycleService.lambdaQuery().eq(InspectionCycle::getName,"1鏃�").eq(InspectionCycle::getVersionStatus,"2").one();
+ InspectionCycle weekInspectionCycle = inspectionCycleService.lambdaQuery().eq(InspectionCycle::getName,"1鍛�").eq(InspectionCycle::getVersionStatus,"2").one();
+ if(dayInspectionCycle == null || weekInspectionCycle == null){
+ c = 1;
+ errorMessage.add("鐐规鍛ㄦ湡涓嶅瓨鍦紝璇峰厛缁存姢鐐规鍛ㄦ湡");
+ errorLines++;
+ }else{
+ for(int i = 0;i < sheets;i++){
+ Sheet sheet = workbook.getSheetAt(i);
+ for (Row row : sheet) {
+ // 閬嶅巻姣忎竴涓崟鍏冩牸
+ for (Cell cell : row) {
+ // 澶勭悊鍗曞厓鏍兼暟鎹紝渚嬪杈撳嚭鍗曞厓鏍肩殑鍊�
+ if("STRING".equals(cell.getCellType().toString())|| "BLANK".equals(cell.getCellType().toString())){
+ //鐐规鍛ㄦ湡瀛樺湪锛屽垽鏂澶囩粺涓�缂栫爜鏄惁瀛樺湪
+ if(cell.getStringCellValue().contains("璁惧鍚嶇О锛�")){
+ String[] tybh1 = cell.getStringCellValue().split("缁熶竴缂栧彿锛�");
+ String[] tybh2 = tybh1[1].split("骞�");
+ equipmentNum = tybh2[0].trim().substring(0,tybh2[0].trim().length()-4).trim();
+ /*String year = tybh2[0].trim().substring(tybh2[0].trim().length()-4,tybh2[0].trim().length()).trim();
+ String[] month1 = tybh2[1].split("鏈�");
+ String month = month1[0].trim();
+ String[] unit1 = cell.getStringCellValue().split("鍗曚綅锛�");
+ String unit = unit1[1].trim();*/
+ Equipment equipment = equipmentService.lambdaQuery().eq(Equipment::getNum,equipmentNum).eq(Equipment::getDelFlag, CommonConstant.DEL_FLAG_0).one();
+ if(equipment == null){
+ c = 1;
+ errorMessage.add("sheet椤典负"+sheet.getSheetName()+"锛岃澶囩粺涓�缂栫爜涓�"+ equipmentNum + "鐨勬暟鎹鍏ュけ璐�,鍘熷洜:璁惧涓嶅瓨鍦紝璇峰厛缁存姢璁惧鍙拌处锛�");
+ errorLines++;
+ }else {
+ List<DailyInspectionStandard> dailyInspectionStandardList = dailyInspectionStandardService.lambdaQuery().eq(DailyInspectionStandard::getEquipmentId,equipment.getId())
+ .eq(DailyInspectionStandard::getVersionStatus,"2").eq(DailyInspectionStandard::getDelFlag,CommonConstant.DEL_FLAG_0).list();
+ if(CollectionUtils.isNotEmpty(dailyInspectionStandardList)){
+ c = 1;
+ errorMessage.add("sheet椤典负"+sheet.getSheetName()+"锛岃澶囩粺涓�缂栫爜涓�"+ equipmentNum + "鐨勬暟鎹鍏ュけ璐�,鍘熷洜:璇ヨ澶囧凡缁忓瓨鍦ㄧ偣妫�鏍囧噯锛�");
+ errorLines++;
+ }else {
+ c = 0;
+ dailyInspectionStandard.setNum(identityService.getNumByTypeAndLength("DailylnspectionStandard",4));
+ dailyInspectionStandard.setVersionStatus("2");
+ dailyInspectionStandard.setVersion("1.0");
+ dailyInspectionStandard.setAssignMode("1");
+ dailyInspectionStandard.setEquipmentId(equipment.getId());
+ dailyInspectionStandard.setApprovalStatus("1");
+ //dailyInspectionStandardService.save(dailyInspectionStandard);
+ //dailyInspectionStandardId = dailyInspectionStandard.getId();
+ }
+ }
+ break;
+ }
+ //璁惧缁熶竴缂栫爜瀛樺湪锛屽垽鏂偣妫�椤圭洰鏄惁瀛樺湪
+ if(c == 0){
+ System.out.print(cell.getStringCellValue() + "\t");
+ if(cell.getStringCellValue().contains("鐐规椤圭洰")){
+ a = 1;
+ projectColumnIndex = cell.getColumnIndex();
+ break;
+ }
+ if(cell.getStringCellValue().contains("缁存姢璐d换浜虹瀛�")){
+ a = 0;
+ }
+ if(projectColumnIndex == cell.getColumnIndex() && a == 1){
+ DailyInspectionStandardDetail dailyInspectionStandardDetail = new DailyInspectionStandardDetail();
+ dailyInspectionStandardDetail.setDailyInspectionStandardId(dailyInspectionStandardId);
+ String dayInspectionProjectName = row.getCell(projectColumnIndex).toString();
+ String standard = row.getCell(projectColumnIndex+1).toString();
+ //鏌ヨ鐐瑰嚮椤圭洰锛屽鏋滄病鏈夋柊澧炵偣妫�椤圭洰
+ if(StringUtils.isNotBlank(dayInspectionProjectName)){
+ List<InspectionProject> inspectionProjectList = inspectionProjectService.lambdaQuery().eq(InspectionProject::getName,dayInspectionProjectName).eq(InspectionProject::getDelFlag,CommonConstant.DEL_FLAG_0).list();
+ if(CollectionUtils.isEmpty(inspectionProjectList)){
+ InspectionProject inspectionProject = new InspectionProject();
+ inspectionProject.setNum(identityService.getNumByTypeAndLength("InspectionProject",4));
+ inspectionProject.setName(dayInspectionProjectName);
+ inspectionProject.setDetectionStandard(standard);
+ inspectionProjectService.save(inspectionProject);
+ dailyInspectionStandardDetail.setInspectionProjectId(inspectionProject.getId());
+ dailyInspectionStandardDetail.setInspectionCycleId(dayInspectionCycle.getId());
+ dailyInspectionStandardDetailList.add(dailyInspectionStandardDetail);
+// c = 1;
+// errorMessage.add("sheet椤典负"+sheet.getSheetName()+"锛岃澶囩粺涓�缂栫爜涓�"+ equipmentNum + "鐨勬暟鎹鍏ュけ璐�,鍘熷洜:鐐规椤圭洰涓嶅瓨鍦紝璇峰厛缁存姢鐐规椤圭洰锛�");
+// errorLines++;
+ }else {
+ dailyInspectionStandardDetail.setInspectionProjectId(inspectionProjectList.get(0).getId());
+ dailyInspectionStandardDetail.setInspectionCycleId(dayInspectionCycle.getId());
+ dailyInspectionStandardDetailList.add(dailyInspectionStandardDetail);
+ //dailyInspectionStandardDetailService.save(dailyInspectionStandardDetail);
+ }
+ }
+ break;
+ }
+ if(cell.getStringCellValue().contains("鍛ㄤ繚鍏婚」鐩�")){
+ b = 1;
+ maintenanceColumnIndex = cell.getColumnIndex();
+ break;
+ }
+ if(cell.getStringCellValue().contains("鍛ㄤ繚鍏绘搷浣滆�呮墽琛�")){
+ b = 0;
+ dailyInspectionStandardService.save(dailyInspectionStandard);
+ for(DailyInspectionStandardDetail dailyInspectionStandardDetail : dailyInspectionStandardDetailList){
+ dailyInspectionStandardDetail.setDailyInspectionStandardId(dailyInspectionStandard.getId());
+ }
+ dailyInspectionStandardDetailService.saveBatch(dailyInspectionStandardDetailList);
+ successLines++;
+ dailyInspectionStandard = null;
+ dailyInspectionStandardDetailList.clear();
+ }
+ if(b == 1 && c == 0 && maintenanceColumnIndex == cell.getColumnIndex()){
+ DailyInspectionStandardDetail dailyInspectionStandardDetail = new DailyInspectionStandardDetail();
+ dailyInspectionStandardDetail.setDailyInspectionStandardId(dailyInspectionStandardId);
+ String weekInspectionProjectName = row.getCell(maintenanceColumnIndex).toString();
+ String inspectionStandardName = row.getCell(maintenanceColumnIndex+1).toString();
+ if(StringUtils.isNotBlank(weekInspectionProjectName)){
+ List<InspectionProject> inspectionProjectList = inspectionProjectService.lambdaQuery().eq(InspectionProject::getName,weekInspectionProjectName).eq(InspectionProject::getDelFlag,CommonConstant.DEL_FLAG_0).list();
+ if(CollectionUtils.isEmpty(inspectionProjectList)){
+ InspectionProject inspectionProject = new InspectionProject();
+ inspectionProject.setNum(identityService.getNumByTypeAndLength("InspectionProject",4));
+ inspectionProject.setName(weekInspectionProjectName);
+ inspectionProject.setDetectionStandard(inspectionStandardName);
+ inspectionProjectService.save(inspectionProject);
+ dailyInspectionStandardDetail.setInspectionProjectId(inspectionProject.getId());
+ dailyInspectionStandardDetail.setInspectionCycleId(weekInspectionCycle.getId());
+ dailyInspectionStandardDetailList.add(dailyInspectionStandardDetail);
+// c = 1;
+// errorMessage.add("sheet椤典负"+sheet.getSheetName()+"锛岃鏁颁负锛�"+row.getRowNum()+"锛岃澶囩粺涓�缂栫爜涓�"+ equipmentNum + "鐨勬暟鎹鍏ュけ璐�,鍘熷洜:鐐规椤圭洰涓嶅瓨鍦紝璇峰厛缁存姢鐐规椤圭洰锛�");
+// errorLines++;
+ }else {
+
+ dailyInspectionStandardDetail.setInspectionProjectId(inspectionProjectList.get(0).getId());
+ dailyInspectionStandardDetail.setInspectionCycleId(weekInspectionCycle.getId());
+ dailyInspectionStandardDetailList.add(dailyInspectionStandardDetail);
+ //dailyInspectionStandardDetailService.save(dailyInspectionStandardDetail);
+ }
+ }
+ break;
+ }
+ }
+ }/*else if("NUMERIC".equals(cell.getCellType().toString())){
+ System.out.print(cell.getNumericCellValue() + "\t");
+ }
+*/
+ }
+ System.out.println();
+ }
+ }
+ }
+
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ }
+ return ImportExcelUtil.imporReturnRes(errorLines, successLines, errorMessage);
}
/**
@@ -246,8 +440,8 @@
*/
@GetMapping("getDepartByEquipment")
public Result<?> getDepartByEquipment(@RequestParam("pageNo") Integer pageNo,
- @RequestParam("pageSize") Integer pageSize,
- @RequestParam Map<String, Object> params) {
+ @RequestParam("pageSize") Integer pageSize,
+ @RequestParam Map<String, Object> params) {
IPage<Map<String, Object>> departByEquipment = dailyInspectionStandardService.getDepartByEquipment(pageNo, pageSize, params);
return Result.ok(departByEquipment);
}
@@ -258,7 +452,17 @@
@PostMapping(value = "/revise")
@Transactional(rollbackFor = { Exception.class })
public Result<String> revise(@RequestBody DailyInspectionStandard dailyInspectionStandard) {
+ LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
+ dailyInspectionStandard.setWritePerson(sysUser.getRealname());
dailyInspectionStandard.setId("");
+ dailyInspectionStandard.setApprovalStatus("1");
+ dailyInspectionStandard.setCreateTime(new Date());
+ dailyInspectionStandard.setTakeEffectTime(null);
+ dailyInspectionStandard.setLoseEfficacyTime(null);
+ dailyInspectionStandard.setApprovalFeedback(null);
+ dailyInspectionStandard.setAuditFeedback(null);
+ dailyInspectionStandard.setAuditPerson(null);
+ dailyInspectionStandard.setApprovalPerson(null);
dailyInspectionStandardService.save(dailyInspectionStandard);
List<DailyInspectionStandardDetail> dailyInspectionStandardDetaillist = dailyInspectionStandard.getDailyInspectionStandardDetaillist();
DailyInspectionStandardDetail isd = null;
@@ -301,13 +505,18 @@
@Transactional(rollbackFor = { Exception.class })
public Result<String> versionTakeEffect(@RequestBody DailyInspectionStandard dailyInspectionStandard) {
- List<DailyInspectionStandard> dailyInspectionStandards = dailyInspectionStandardService.lambdaQuery()
- .eq(DailyInspectionStandard::getNum, dailyInspectionStandard.getNum())
- .eq(DailyInspectionStandard::getVersionStatus, "2").list();
- for (DailyInspectionStandard standard : dailyInspectionStandards) {
- standard.setVersionStatus("3");
- dailyInspectionStandardService.updateById(standard);
- }
+// List<DailyInspectionStandard> dailyInspectionStandards = dailyInspectionStandardService.lambdaQuery()
+// .eq(DailyInspectionStandard::getNum, dailyInspectionStandard.getNum())
+// .eq(DailyInspectionStandard::getVersionStatus, "2").list();
+// for (DailyInspectionStandard standard : dailyInspectionStandards) {
+// standard.setVersionStatus("3");
+// standard.setLoseEfficacyTime(new Date());
+// dailyInspectionStandardService.updateById(standard);
+// }
+// dailyInspectionStandard.setTakeEffectTime(new Date());
+ LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
+ dailyInspectionStandard.setLoseEfficacyPerson(sysUser.getRealname());
+ dailyInspectionStandard.setLoseEfficacyTime(new Date());
boolean b = dailyInspectionStandardService.updateById(dailyInspectionStandard);
if (b){
return Result.OK("缂栬緫鎴愬姛!");
@@ -316,5 +525,36 @@
}
}
-
+ /**
+ * 绛惧娴佺▼
+ * qsw 2023-11-16
+ */
+ @RequestMapping(value = "/auditApproval", method = {RequestMethod.PUT,RequestMethod.POST})
+ @Transactional(rollbackFor = { Exception.class })
+ public Result<String> auditApproval(@RequestBody DailyInspectionStandard dailyInspectionStandard) {
+ LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
+ String approvalStatus = dailyInspectionStandard.getApprovalStatus();
+ if("5".equals(approvalStatus)){//瀹℃牳閫氳繃鍚庯紝鐗堟湰鐢熸晥
+ List<DailyInspectionStandard> dailyInspectionStandards = dailyInspectionStandardService.lambdaQuery()
+ .eq(DailyInspectionStandard::getNum, dailyInspectionStandard.getNum())
+ .eq(DailyInspectionStandard::getVersionStatus, "2").list();
+ for (DailyInspectionStandard standard : dailyInspectionStandards) {
+ standard.setVersionStatus("3");
+ standard.setLoseEfficacyTime(new Date());
+ standard.setLoseEfficacyPerson(sysUser.getRealname());
+ dailyInspectionStandardService.updateById(standard);
+ }
+ dailyInspectionStandard.setApprovalPerson(sysUser.getRealname());
+ dailyInspectionStandard.setVersionStatus("2");
+ dailyInspectionStandard.setTakeEffectTime(new Date());
+ }else if("3".equals(approvalStatus)){
+ dailyInspectionStandard.setAuditPerson(sysUser.getRealname());
+ }
+ boolean b = dailyInspectionStandardService.updateById(dailyInspectionStandard);
+ if (b){
+ return Result.OK("瀹℃牳鎴愬姛!");
+ }else{
+ return Result.error("瀹℃牳澶辫触!");
+ }
+ }
}
--
Gitblit v1.9.3