From 4b27dd367eae2f24958c6bb857fb6959dcdb7a4a Mon Sep 17 00:00:00 2001 From: qushaowei <qushaowei@163.com> Date: 星期五, 13 六月 2025 18:04:46 +0800 Subject: [PATCH] 报表提交 --- lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EquipmentReportRepairController.java | 145 ++++++++++++++++++++++++++++++++++++----------- 1 files changed, 110 insertions(+), 35 deletions(-) diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EquipmentReportRepairController.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EquipmentReportRepairController.java index 595167d..ce24b9d 100644 --- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EquipmentReportRepairController.java +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EquipmentReportRepairController.java @@ -1,13 +1,16 @@ package org.jeecg.modules.eam.controller; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; import com.baomidou.mybatisplus.core.toolkit.StringUtils; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.sun.org.apache.regexp.internal.RE; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; +import org.apache.poi.ss.formula.functions.T; import org.apache.shiro.SecurityUtils; import org.jeecg.common.api.dto.message.MessageDTO; import org.jeecg.common.api.vo.Result; @@ -17,17 +20,26 @@ 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.oConvertUtils; import org.jeecg.modules.eam.entity.*; +import org.jeecg.modules.eam.mapper.RepairOrderMapper; import org.jeecg.modules.eam.service.*; +import org.jeecg.modules.eam.vo.RepairReportExportVo; import org.jeecg.modules.system.entity.SysUser; import org.jeecg.modules.system.service.ISysUserService; +import org.jeecgframework.poi.excel.def.NormalExcelConstants; +import org.jeecgframework.poi.excel.entity.ExportParams; +import org.jeecgframework.poi.excel.view.JeecgEntityExcelView; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Lazy; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.*; +import org.springframework.web.servlet.ModelAndView; import javax.servlet.http.HttpServletRequest; import java.math.BigDecimal; +import java.util.Arrays; import java.util.Date; import java.util.List; import java.util.Map; @@ -61,6 +73,13 @@ private IdentityService sysIdentityService; @Autowired private IFaultInfoService faultInfoService; + @Value("${jeecg.path.upload}") + private String upLoadPath; + @Autowired + private IRepairOrderService repairOrderService; + + @Autowired + private RepairOrderMapper repairOrderMapper; /** @@ -108,6 +127,7 @@ equipmentReportRepair.setSource("1"); equipmentReportRepair.setIsCreateOrder(0); equipmentReportRepairService.save(equipmentReportRepair); + Equipment equipment = equipmentService.getById(equipmentReportRepair.getEquipmentId()); String IS_PRODUCT_YES = "yes"; if(IS_PRODUCT_YES.equals(equipmentReportRepair.getErrUda1())){ String num = sysIdentityService.getNumByTypeAndLength("QuanlityConfirm",4); @@ -121,21 +141,31 @@ quanlityConfirm.setQuantity(equipmentReportRepair.getQuantity()); quanlityConfirm.setOperator(curUser.getId()); quanlityConfirmService.save(quanlityConfirm); + MessageDTO qMessageDTO = new MessageDTO(); + qMessageDTO.setTitle("璐ㄩ噺闅愭偅纭鎻愰啋"); + qMessageDTO.setContent("缁熶竴缂栧彿涓恒��"+equipment.getNum()+"銆戠殑璁惧闇�瑕佽繘琛岃川閲忛殣鎮g‘璁わ紝璇风Щ姝ヨ嚦璐ㄩ噺闅愭偅纭杩涜纭锛佸崟鎹彿銆�"+num+"銆�"); + qMessageDTO.setCategory("璐ㄩ噺闅愭偅纭"); + qMessageDTO.setFromUser("璐ㄩ噺闅愭偅纭鎻愰啋灏忓姪鎵�"); + qMessageDTO.setToUser(curUser.getUsername()); + sysBaseApi.sendSysAnnouncement(qMessageDTO); String fNum = sysIdentityService.getNumByTypeAndLength("FaultInfo",4); FaultInfo faultInfo = new FaultInfo(); faultInfo.setNum(fNum); faultInfo.setQuanlityId(quanlityConfirm.getId()); faultInfo.setOperater(quanlityConfirm.getOperator()); faultInfo.setIsConfirm(IS_PRODUCT_NO); - String eId = equipmentReportRepair.getEquipmentId(); - Equipment equipment = equipmentService.getById(eId); faultInfo.setEquipModel(equipment.getModel()); faultInfo.setEquipName(equipment.getName()); faultInfo.setEquipNum(equipment.getNum()); faultInfoService.save(faultInfo); - + MessageDTO fMessageDTO = new MessageDTO(); + fMessageDTO.setTitle("璁惧浜嬫晠鐧昏鎻愰啋"); + fMessageDTO.setContent("缁熶竴缂栧彿涓恒��"+equipment.getNum()+"銆戠殑璁惧闇�瑕佽繘琛屼簨鏁呯櫥璁帮紝璇风Щ姝ヨ嚦璁惧浜嬫晠鐧昏琛ㄥ畬鎴愮‘璁わ紒鍗曟嵁鍙枫��"+fNum+"銆�"); + fMessageDTO.setCategory("璁惧浜嬫晠鐧昏纭"); + fMessageDTO.setFromUser("璁惧浜嬫晠鐧昏鎻愰啋灏忓姪鎵�"); + fMessageDTO.setToUser(curUser.getUsername()); + sysBaseApi.sendSysAnnouncement(fMessageDTO); } - Equipment equipment = equipmentService.getById(equipmentReportRepair.getEquipmentId()); equipment.setEquipmentStatus("2"); String teamId = equipment.getTeamId(); if(ObjectUtils.isNotNull(teamId)){ @@ -256,42 +286,87 @@ } @PutMapping("/accept") + @Transactional(rollbackFor = Exception.class) public Result<?> accept(@RequestBody EquipmentReportRepair equipmentReportRepair ){ - if(equipmentReportRepair.getErrUda1().equals("yes")){ - QuanlityConfirm quanlityConfirm = quanlityConfirmService.getOne(new QueryWrapper<QuanlityConfirm>().eq("report_id",equipmentReportRepair.getId()),false); - if(ObjectUtils.isNotNull(quanlityConfirm)){ - String isConfirm1 = quanlityConfirm.getIsConfirm(); - FaultInfo faultInfo = faultInfoService.getOne(new QueryWrapper<FaultInfo>().eq("quanlity_id",quanlityConfirm.getId()),false); - if(ObjectUtils.isNotNull(faultInfo)){ - String isConfirm2 = faultInfo.getIsConfirm(); - if(!isConfirm1.equals("yes")||isConfirm2.equals("yes")){ - return Result.error("楠屾敹澶辫触锛屼骇鍝佽川閲忛殣鎮g‘璁ゅ拰浜嬫晠鐧昏灏氭湭瀹屽満锛岃瀹屾垚纭鍚庡啀杩涜楠屾敹"); + if(equipmentReportRepair.getErrUda4().equals("1")){ + if(equipmentReportRepair.getErrUda1().equals("yes")){ + QuanlityConfirm quanlityConfirm = quanlityConfirmService.getOne(new QueryWrapper<QuanlityConfirm>().eq("report_id",equipmentReportRepair.getId()),false); + if(ObjectUtils.isNotNull(quanlityConfirm)){ + String isConfirm1 = quanlityConfirm.getIsConfirm(); + FaultInfo faultInfo = faultInfoService.getOne(new QueryWrapper<FaultInfo>().eq("quanlity_id",quanlityConfirm.getId()),false); + if(ObjectUtils.isNotNull(faultInfo)){ + String isConfirm2 = faultInfo.getIsConfirm(); + if(!isConfirm1.equals("yes")||!isConfirm2.equals("yes")){ + return Result.error("楠屾敹澶辫触锛屼骇鍝佽川閲忛殣鎮g‘璁ゅ拰浜嬫晠鐧昏灏氭湭瀹屾垚锛岃瀹屾垚纭鍚庡啀杩涜楠屾敹"); + } + }else { + return Result.error("楠屾敹澶辫触锛屾湭鐢熸垚浜嬫晠鐧昏鍗�"); } }else { - return Result.error("楠屾敹澶辫触锛屾湭鐢熸垚浜嬫晠鐧昏鍗�"); + return Result.error("楠屾敹澶辫触锛屾湭鐢熸垚浜у搧璐ㄩ噺纭"); } - }else { - return Result.error("楠屾敹澶辫触锛屾湭鐢熸垚浜у钩璐ㄩ噺纭"); } + LoginUser user= (LoginUser)SecurityUtils.getSubject().getPrincipal(); + equipmentReportRepair.setStatus("5"); + equipmentReportRepair.setAcceptTime(new Date()); + Date start = equipmentReportRepair.getFaultTime(); + Date end = equipmentReportRepair.getAcceptTime(); + if(ObjectUtils.isNotNull(start)){ + long timeDifference =end.getTime() - start.getTime(); + BigDecimal hours = new BigDecimal(timeDifference) + .divide(new BigDecimal(60 * 60 * 1000), 3, BigDecimal.ROUND_HALF_EVEN); + equipmentReportRepair.setFaultHour(hours); + } + equipmentReportRepairService.updateById(equipmentReportRepair); + String equipmentId = equipmentReportRepair.getEquipmentId(); + if(StringUtils.isNotBlank(equipmentId)){ + Equipment equipment = equipmentService.getById(equipmentId); + equipment.setEquipmentStatus("1"); + equipmentService.updateById(equipment); + } + return Result.OK("楠屾敹鎴愬姛"); + }else { + equipmentReportRepair.setStatus("2"); + equipmentReportRepairService.updateById(equipmentReportRepair); + RepairOrder repairOrder = repairOrderService.getOne(new QueryWrapper<RepairOrder>().eq("report_repair_id",equipmentReportRepair.getId()),false); + if(ObjectUtils.isNotNull(repairOrder)){ + + repairOrderMapper.updateRepair(repairOrder.getId()); +// repairOrder.setStatus("3"); +// repairOrder.setActualEndTime(null); +// repairOrderService.updateById(repairOrder); + } + return Result.OK("宸查┏鍥�"); } - LoginUser user= (LoginUser)SecurityUtils.getSubject().getPrincipal(); - equipmentReportRepair.setStatus("5"); - equipmentReportRepair.setAcceptTime(new Date()); - Date start = equipmentReportRepair.getFaultTime(); - Date end = equipmentReportRepair.getAcceptTime(); - if(ObjectUtils.isNotNull(start)){ - long timeDifference =end.getTime() - start.getTime(); - BigDecimal hours = new BigDecimal(timeDifference) - .divide(new BigDecimal(60 * 60 * 1000), 3, BigDecimal.ROUND_HALF_EVEN); - equipmentReportRepair.setFaultHour(hours); - } - equipmentReportRepairService.updateById(equipmentReportRepair); - String equipmentId = equipmentReportRepair.getEquipmentId(); - if(StringUtils.isNotBlank(equipmentId)){ - Equipment equipment = equipmentService.getById(equipmentId); - equipment.setEquipmentStatus("1"); - equipmentService.updateById(equipment); - } - return Result.OK("楠屾敹鎴愬姛"); + + } + + + /** + * 瀵煎嚭excel + * + * @param request + * @param equipmentReportRepair + */ + @RequestMapping(value = "/exportXls") + public ModelAndView exportXls(HttpServletRequest request, RepairReportExportVo equipmentReportRepair) { + // Step.1 缁勮鏌ヨ鏉′欢 + String title = "鏁呴殰鎶ヤ慨瀵煎嚭"; + LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + // Step.2 鑾峰彇瀵煎嚭鏁版嵁 + List<RepairReportExportVo> exportList = equipmentReportRepairService.exportList(equipmentReportRepair); + + // Step.3 AutoPoi 瀵煎嚭Excel + ModelAndView mv = new ModelAndView(new JeecgEntityExcelView()); + //姝ゅ璁剧疆鐨刦ilename鏃犳晥 ,鍓嶇浼氶噸鏇存柊璁剧疆涓�涓� + mv.addObject(NormalExcelConstants.FILE_NAME, title); + mv.addObject(NormalExcelConstants.CLASS, RepairReportExportVo.class); + //update-begin--Author:liusq Date:20210126 for锛氬浘鐗囧鍑烘姤閿欙紝ImageBasePath鏈缃�-------------------- + ExportParams exportParams=new ExportParams(title + "鎶ヨ〃", "瀵煎嚭浜�:" + sysUser.getRealname(), title); + exportParams.setImageBasePath(upLoadPath); + //update-end--Author:liusq Date:20210126 for锛氬浘鐗囧鍑烘姤閿欙紝ImageBasePath鏈缃�---------------------- + mv.addObject(NormalExcelConstants.PARAMS,exportParams); + mv.addObject(NormalExcelConstants.DATA_LIST, exportList); + return mv; } } -- Gitblit v1.9.3