From 7f11e541f239d8c816bcefb32aae6b9efa31e28e Mon Sep 17 00:00:00 2001 From: qushaowei <qushaowei@163.com> Date: 星期三, 13 十二月 2023 16:49:15 +0800 Subject: [PATCH] 生产线点检 --- lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EquipmentReportRepairController.java | 119 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 112 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..595167d 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 @@ -2,25 +2,34 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; 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 io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; +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.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.service.*; +import org.jeecg.modules.system.entity.SysUser; +import org.jeecg.modules.system.service.ISysUserService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Lazy; +import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletRequest; +import java.math.BigDecimal; +import java.util.Date; +import java.util.List; import java.util.Map; /** @@ -38,15 +47,21 @@ 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; + /** * 鍒嗛〉鍒楄〃鏌ヨ @@ -86,17 +101,67 @@ @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); + 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); + 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); + + } + Equipment equipment = equipmentService.getById(equipmentReportRepair.getEquipmentId()); + 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 +254,44 @@ IPage<Map<String, Object>> equipmentReportRepairList = equipmentReportRepairService.getReportRepairList(pageNo, pageSize, params); return Result.ok(equipmentReportRepairList); } + + @PutMapping("/accept") + 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‘璁ゅ拰浜嬫晠鐧昏灏氭湭瀹屽満锛岃瀹屾垚纭鍚庡啀杩涜楠屾敹"); + } + }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("楠屾敹鎴愬姛"); + } } -- Gitblit v1.9.3