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 | 138 +++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 129 insertions(+), 9 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 be57abc..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,19 +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.modules.eam.entity.Equipment; -import org.jeecg.modules.eam.entity.EquipmentReportRepair; -import org.jeecg.modules.eam.entity.FaultDescription; -import org.jeecg.modules.eam.entity.QuanlityConfirm; +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 +71,15 @@ @Autowired @Lazy 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,8 +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); + 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)){ @@ -243,10 +286,87 @@ } @PutMapping("/accept") + @Transactional(rollbackFor = Exception.class) public Result<?> accept(@RequestBody EquipmentReportRepair equipmentReportRepair ){ - equipmentReportRepair.setStatus("5"); - equipmentReportRepair.setAcceptTime(new Date()); - equipmentReportRepairService.updateById(equipmentReportRepair); - return Result.OK("楠屾敹鎴愬姛"); + 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("楠屾敹澶辫触锛屾湭鐢熸垚浜у搧璐ㄩ噺纭"); + } + } + 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("宸查┏鍥�"); + } + + } + + + /** + * 瀵煎嚭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