From d7dca690cedd12e271f0ee0b9050679d73796f5c Mon Sep 17 00:00:00 2001
From: MrShi <1878285526@qq.com>
Date: 星期一, 06 一月 2025 09:28:10 +0800
Subject: [PATCH] 1

---
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwDeviceServiceImpl.java |  113 ++++++++++++++++++++++++++++++++++++++++++--------------
 1 files changed, 84 insertions(+), 29 deletions(-)

diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwDeviceServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwDeviceServiceImpl.java
index 1b4b13a..e96dd30 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwDeviceServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwDeviceServiceImpl.java
@@ -7,13 +7,19 @@
 import com.doumee.core.model.PageData;
 import com.doumee.core.model.PageWrap;
 import com.doumee.core.utils.Constants;
+import com.doumee.core.utils.DateUtil;
 import com.doumee.core.utils.Utils;
 import com.doumee.dao.business.YwDeviceMapper;
+import com.doumee.dao.business.YwDeviceRecordMapper;
 import com.doumee.dao.business.model.Category;
+import com.doumee.dao.business.model.Company;
 import com.doumee.dao.business.model.YwDevice;
+import com.doumee.dao.business.model.YwDeviceRecord;
+import com.doumee.dao.business.vo.YwDeviceDataVO;
 import com.doumee.dao.system.MultifileMapper;
 import com.doumee.dao.system.model.Multifile;
 import com.doumee.dao.system.model.SystemUser;
+import com.doumee.service.business.YwDeviceRecordService;
 import com.doumee.service.business.YwDeviceService;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
@@ -30,6 +36,7 @@
 import java.util.Date;
 import java.util.List;
 import java.util.Objects;
+import java.util.stream.Collectors;
 
 /**
  * 杩愮淮璁惧淇℃伅琛⊿ervice瀹炵幇
@@ -46,6 +53,8 @@
     private SystemDictDataBiz systemDictDataBiz;
     @Autowired
     private MultifileMapper multifileMapper;
+    @Autowired
+    private YwDeviceRecordMapper ywDeviceRecordMapper;
 
     @Autowired
     private RedisTemplate<String,Object> redisTemplate;
@@ -64,27 +73,20 @@
         if(ywDeviceMapper.selectCount(new QueryWrapper<YwDevice>().lambda().eq(YwDevice::getIsdeleted,Constants.ZERO).eq(YwDevice::getCode,ywDevice.getCode()))>Constants.ZERO){
             throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"璁惧缂栧彿閲嶅!");
         }
-//        if(StringUtils.isBlank(ywDevice.getCode())){
-//            String code = this.getMaxAutoMaticDeviceCode();
-//            while (ywDeviceMapper.selectCount(new QueryWrapper<YwDevice>().lambda().eq(YwDevice::getIsdeleted,Constants.ZERO).eq(YwDevice::getCode,code))>Constants.ZERO){
-//                code = this.getMaxAutoMaticDeviceCode();
-//            }
-//             ywDevice.setCode(code);
-//        }else{
-//
-//        }
         ywDevice.setCreateDate(new Date());
         ywDevice.setCreator(loginUserInfo.getId());
         ywDevice.setIsdeleted(Constants.ZERO);
         ywDeviceMapper.insert(ywDevice);
 
-        if(Objects.nonNull(ywDevice.getMultifile())){
-            ywDevice.getMultifile().setCreator(loginUserInfo.getId());
-            ywDevice.getMultifile().setCreateDate(new Date());
-            ywDevice.getMultifile().setIsdeleted(Constants.ZERO);
-            ywDevice.getMultifile().setObjType(Constants.MultiFile.FN_DEVICE_FILE.getKey());
-            ywDevice.getMultifile().setObjId(ywDevice.getId());
-            multifileMapper.insert(ywDevice.getMultifile());
+        if(Objects.nonNull(ywDevice.getFileUrl())){
+            Multifile multifile = new Multifile();
+            multifile.setCreator(loginUserInfo.getId());
+            multifile.setCreateDate(new Date());
+            multifile.setIsdeleted(Constants.ZERO);
+            multifile.setObjType(Constants.MultiFile.FN_DEVICE_FILE.getKey());
+            multifile.setObjId(ywDevice.getId());
+            multifile.setFileurl(ywDevice.getFileUrl());
+            multifileMapper.insert(multifile);
         }
 
         return ywDevice.getId();
@@ -92,10 +94,15 @@
 
     @Override
     public void deleteById(Integer id, LoginUserInfo user) {
-        ywDeviceMapper.update(new UpdateWrapper<YwDevice>().lambda().set(YwDevice::getIsdeleted,Constants.ONE)
-                .set(YwDevice::getEditDate," now() ")
+        //鏌ヨ璁惧鏄惁瀛樺湪杩愮淮璁板綍
+        if(ywDeviceRecordMapper.selectCount(new QueryWrapper<YwDeviceRecord>().lambda().eq(YwDeviceRecord::getDeviceId,id).eq(YwDeviceRecord::getIsdeleted,Constants.ZERO))>Constants.ZERO){
+            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"褰撳墠璁惧瀛樺湪杩愮淮璁板綍锛屾棤娉曞垹闄�");
+        };
+        ywDeviceMapper.update(new UpdateWrapper<YwDevice>()
+                .lambda().set(YwDevice::getIsdeleted,Constants.ONE)
+                .set(YwDevice::getEditDate, DateUtil.getCurrDateTime())
                 .set(YwDevice::getEditor,user.getId())
-                .eq(YwDevice::getId,user.getId())
+                .eq(YwDevice::getId,id)
         );
     }
 
@@ -135,13 +142,15 @@
                 .eq(Multifile::getObjId,ywDevice.getId())
                 .eq(Multifile::getObjType,Constants.MultiFile.FN_DEVICE_FILE.getKey())
         );
-        if(Objects.nonNull(ywDevice.getMultifile())){
-            ywDevice.getMultifile().setCreator(loginUserInfo.getId());
-            ywDevice.getMultifile().setCreateDate(new Date());
-            ywDevice.getMultifile().setIsdeleted(Constants.ZERO);
-            ywDevice.getMultifile().setObjType(Constants.MultiFile.FN_DEVICE_FILE.getKey());
-            ywDevice.getMultifile().setObjId(ywDevice.getId());
-            multifileMapper.insert(ywDevice.getMultifile());
+        if(Objects.nonNull(ywDevice.getFileUrl())){
+            Multifile multifile = new Multifile();
+            multifile.setCreator(loginUserInfo.getId());
+            multifile.setCreateDate(new Date());
+            multifile.setIsdeleted(Constants.ZERO);
+            multifile.setObjType(Constants.MultiFile.FN_DEVICE_FILE.getKey());
+            multifile.setObjId(ywDevice.getId());
+            multifile.setFileurl(ywDevice.getFileUrl());
+            multifileMapper.insert(multifile);
         }
 
 
@@ -165,15 +174,39 @@
     @Override
     public YwDevice getDetail(Integer id) {
         YwDevice ywDevice = ywDeviceMapper.selectById(id);
-        Multifile multifile = multifileMapper.selectOne(new QueryWrapper<Multifile>().lambda().eq(Multifile::getObjId,id).eq(Multifile::getObjType,Constants.MultiFile.FN_DEVICE_FILE).last(" limit 1"));
+        Multifile multifile = multifileMapper.selectOne(new QueryWrapper<Multifile>().lambda()
+                .eq(Multifile::getObjId,id).eq(Multifile::getObjType,Constants.MultiFile.FN_DEVICE_FILE.getKey()).last(" limit 1"));
         if(Objects.nonNull(multifile)){
             String path = systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_RESOURCE_PATH).getCode()
                     +systemDictDataBiz.queryByCode(Constants.FTP,Constants.YW_DEVICE).getCode();
-            multifile.setFileurlFull(path + multifile.getFileurl());
-            ywDevice.setMultifile(multifile);
+            ywDevice.setFileFullUrl(path + multifile.getFileurl());
         }
         return ywDevice;
     }
+
+
+    /**
+     * 鏍规嵁缂栫爜鏌ヨ
+     * @param deviceCode
+     * @return
+     */
+    @Override
+    public YwDevice findByCode(String deviceCode) {
+        YwDevice ywDevice =  ywDeviceMapper.selectOne(
+                new QueryWrapper<YwDevice>()
+                        .lambda()
+                        .eq(YwDevice::getIsdeleted,Constants.ZERO)
+                        .eq(YwDevice::getCode,deviceCode)
+                        .last(" limit  1 ")
+        );
+        if(Objects.isNull(ywDevice)){
+            throw new BusinessException(ResponseStatus.DATA_EMPTY);
+        }
+
+        return ywDevice;
+    }
+
+
 
 
     @Override
@@ -213,4 +246,26 @@
         QueryWrapper<YwDevice> wrapper = new QueryWrapper<>(ywDevice);
         return ywDeviceMapper.selectCount(wrapper);
     }
+
+
+
+    @Override
+    public YwDeviceDataVO getYwDeviceData(){
+        YwDeviceDataVO ywDeviceDataVO = new YwDeviceDataVO();
+        List<YwDevice> ywDeviceList = ywDeviceMapper.selectList(new QueryWrapper<YwDevice>().lambda().eq(YwDevice::getIsdeleted,Constants.ZERO));
+        if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(ywDeviceList)){
+            ywDeviceDataVO.setQualityNum(ywDeviceList.size());
+            ywDeviceDataVO.setTotalNum(ywDeviceList.size());
+            ywDeviceDataVO.setNormalNum(ywDeviceList.stream().filter(i->Constants.equalsInteger(i.getStatus(),Constants.ZERO)).collect(Collectors.toList()).size());
+            ywDeviceDataVO.setAbnormalNum(ywDeviceList.stream().filter(i->Constants.equalsInteger(i.getStatus(),Constants.ONE)).collect(Collectors.toList()).size());
+            ywDeviceDataVO.setScrapNum(ywDeviceList.stream().filter(i->Constants.equalsInteger(i.getStatus(),Constants.TWO)).collect(Collectors.toList()).size());
+        }
+        return ywDeviceDataVO;
+    }
+
+
+
 }
+
+
+

--
Gitblit v1.9.3