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 | 194 ++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 187 insertions(+), 7 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 91b6300..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,26 +1,47 @@ 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; import org.jeecg.common.aspect.annotation.AutoLog; import org.jeecg.common.constant.CommonConstant; import org.jeecg.common.system.api.ISysBaseAPI; 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.service.IEquipmentReportRepairService; -import org.jeecg.modules.eam.service.IEamEquipmentService; -import org.jeecg.modules.eam.service.IFaultDescriptionService; +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; /** @@ -38,15 +59,28 @@ private IEquipmentReportRepairService equipmentReportRepairService; @Autowired private IEamEquipmentService equipmentService; - @Autowired private ISysBaseAPI sysBaseApi; - + @Autowired + private ISysUserService userService; + @Autowired + private IQuanlityConfirmService quanlityConfirmService; @Autowired @Lazy private IFaultDescriptionService faultDescriptionService; -// @Autowired -// private IUploadRelaService uploadRelaService; + @Autowired + @Lazy + private IdentityService sysIdentityService; + @Autowired + private IFaultInfoService faultInfoService; + @Value("${jeecg.path.upload}") + private String upLoadPath; + @Autowired + private IRepairOrderService repairOrderService; + + @Autowired + private RepairOrderMapper repairOrderMapper; + /** * 鍒嗛〉鍒楄〃鏌ヨ @@ -86,17 +120,78 @@ @AutoLog(value = "mom_eam_equipment_report_repair-娣诲姞") @ApiOperation(value = "mom_eam_equipment_report_repair-娣诲姞", notes = "mom_eam_equipment_report_repair-娣诲姞") @PostMapping(value = "/add") + @Transactional(rollbackFor = {Exception.class}) public Result<String> add(@RequestBody EquipmentReportRepair equipmentReportRepair) { + LoginUser curUser= (LoginUser) SecurityUtils.getSubject().getPrincipal(); equipmentReportRepair.setStatus("1"); 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); + QuanlityConfirm quanlityConfirm = new QuanlityConfirm(); + quanlityConfirm.setNum(num); + quanlityConfirm.setReportId(equipmentReportRepair.getId()); + String IS_PRODUCT_NO = "no"; + quanlityConfirm.setIsConfirm(IS_PRODUCT_NO); + quanlityConfirm.setBatchNo(equipmentReportRepair.getBatchNo()); + quanlityConfirm.setPartNumber(equipmentReportRepair.getPartNumber()); + 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.setEquipmentStatus("2"); + String teamId = equipment.getTeamId(); + if(ObjectUtils.isNotNull(teamId)){ + List<SysUser> sysUsers = userService.list(new QueryWrapper<SysUser>() + .eq("team_id",teamId) + .eq("del_flag",0)); + for(SysUser user:sysUsers){ + String msg = "缁熶竴缂栧彿涓恒��"+equipment.getNum()+"銆戠殑璁惧闇�瑕佺淮淇紝璇风Щ姝ヨ嚦鏁呴殰鎶ヤ慨鏌ョ湅"; + MessageDTO messageDTO = new MessageDTO(); + messageDTO.setTitle("鏁呴殰鎶ヤ慨鎻愰啋"); + messageDTO.setContent(msg); + messageDTO.setCategory("鏁呴殰鎶ヤ慨鎻愰啋"); + messageDTO.setFromUser("鏁呴殰鎶ヤ慨鎻愰啋灏忓姪鎵�"); + messageDTO.setToUser(user.getUsername()); + sysBaseApi.sendSysAnnouncement(messageDTO); + } + }else { + return Result.error("璇ヨ澶囧皻鏈淮鎶ょ淮淇彮缁�,璇风淮鎶ゅ悗鍐嶆姤淇�"); + } //娣诲姞鏁呴殰鎻忚堪淇℃伅 FaultDescription faultDescription = new FaultDescription(); faultDescription.setFaultDetails(equipmentReportRepair.getFaultDescription()); faultDescription.setFaultId(equipmentReportRepair.getId()); faultDescription.setPhoto(equipmentReportRepair.getPhoto()); faultDescriptionService.save(faultDescription); + equipmentService.updateById(equipment); return Result.OK("娣诲姞鎴愬姛锛�"); } @@ -189,4 +284,89 @@ IPage<Map<String, Object>> equipmentReportRepairList = equipmentReportRepairService.getReportRepairList(pageNo, pageSize, params); return Result.ok(equipmentReportRepairList); } + + @PutMapping("/accept") + @Transactional(rollbackFor = Exception.class) + public Result<?> accept(@RequestBody EquipmentReportRepair equipmentReportRepair ){ + 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