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 |   94 ++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 85 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 f82e765..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,11 +2,13 @@
 
 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;
@@ -14,12 +16,9 @@
 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.modules.eam.entity.Equipment;
-import org.jeecg.modules.eam.entity.EquipmentReportRepair;
-import org.jeecg.modules.eam.entity.FaultDescription;
-import org.jeecg.modules.eam.service.IEamEquipmentService;
-import org.jeecg.modules.eam.service.IEquipmentReportRepairService;
-import org.jeecg.modules.eam.service.IFaultDescriptionService;
+import org.jeecg.common.system.vo.LoginUser;
+import org.jeecg.modules.eam.entity.*;
+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;
@@ -28,6 +27,8 @@
 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;
 
@@ -46,15 +47,22 @@
     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
+    @Lazy
+    private IdentityService sysIdentityService;
+    @Autowired
+    private IFaultInfoService faultInfoService;
+
+
     /**
      * 鍒嗛〉鍒楄〃鏌ヨ
      *
@@ -95,14 +103,42 @@
     @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(StringUtils.isNotBlank(teamId)){
+        if(ObjectUtils.isNotNull(teamId)){
             List<SysUser> sysUsers = userService.list(new QueryWrapper<SysUser>()
                     .eq("team_id",teamId)
                     .eq("del_flag",0));
@@ -218,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