From 69cd9f59a0fabf12f8c9147fcba7f69817a870b3 Mon Sep 17 00:00:00 2001
From: jiazx0107@163.com <jiazx0107@163.com>
Date: 星期一, 06 十一月 2023 23:40:59 +0800
Subject: [PATCH] 更新仓内抓拍2

---
 igds-manager/src/main/java/com/ld/igds/oa/service/HDeptDeviceService.java |   84 +++++++++++++++++++++++++++++++++--------
 1 files changed, 67 insertions(+), 17 deletions(-)

diff --git a/igds-manager/src/main/java/com/ld/igds/oa/service/HDeptDeviceService.java b/igds-manager/src/main/java/com/ld/igds/oa/service/HDeptDeviceService.java
index 25e52fa..0fc419d 100644
--- a/igds-manager/src/main/java/com/ld/igds/oa/service/HDeptDeviceService.java
+++ b/igds-manager/src/main/java/com/ld/igds/oa/service/HDeptDeviceService.java
@@ -1,13 +1,17 @@
 package com.ld.igds.oa.service;
 
+import com.bstek.bdf2.core.model.DefaultDept;
 import com.bstek.bdf2.core.orm.hibernate.HibernateDao;
 import com.bstek.dorado.data.provider.Page;
 import com.ld.igds.models.DeptDevice;
 import com.ld.igds.models.DeviceCheckup;
+import com.ld.igds.sys.service.SysDeptService;
 import com.ld.igds.util.ContextUtil;
 import com.ld.igds.util.DateUtil;
 import org.apache.commons.lang3.StringUtils;
+import org.apache.commons.lang3.time.DateFormatUtils;
 import org.hibernate.Session;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 import org.springframework.util.CollectionUtils;
 
@@ -24,13 +28,18 @@
 @Component
 public class HDeptDeviceService extends HibernateDao {
 
+    @Autowired
+    private SysDeptService sysDeptService;
+
+
     //=====================================搴撳尯璁惧=======================================//
     public void pageData(Page<DeptDevice> page, Map<String, Object> param)
             throws Exception {
-        String hql = " from " + DeptDevice.class.getName() + " where companyId=:companyId";
+        String hql = " from " + DeptDevice.class.getName() + " where companyId =:companyId and deptId =:deptId";
 
         Map<String, Object> args = new HashMap<>();
         args.put("companyId", ContextUtil.getCompanyId());
+        args.put("deptId", ContextUtil.subDeptId(null));
 
         if (null != param) {
             hql = buildHql(hql, param, args);
@@ -47,24 +56,17 @@
 
         Session session = this.getSessionFactory().openSession();
         try {
-            data.setCompanyId(ContextUtil.getCompanyId());
+            if (null == data.getCompanyId()) {
+                data.setCompanyId(ContextUtil.getCompanyId());
+            }
+            if (StringUtils.isEmpty(data.getDeptId())) {
+                data.setDeptId(ContextUtil.subDeptId(null));
+            }
             data.setUpdateTime(new Date());
-            if (null == data.getId()) {
-                data.setId(ContextUtil.getUUID());
+            if (null == data.getSbbh()) {
+                data.setSbbh(DateFormatUtils.format(new Date(), "yyyyMMdd") + getIndex(data.getCompanyId()));
             }
             session.saveOrUpdate(data);
-//            if (!CollectionUtils.isEmpty(data.getCheckupList())) {
-//                for (DeviceCheckup item : data.getCheckupList()) {
-//                    if (null == item.getId()) {
-//                        item.setCompanyId(ContextUtil.getCompanyId());
-//                        item.setId(ContextUtil.getCompanyId());
-//                        item.setSbbh(data.getSbbh());
-//                        item.setSbyqdm(data.getSbyqdm());
-//                        item.setSbyqmc(data.getSbyqmc());
-//                    }
-//                    session.saveOrUpdate(item);
-//                }
-//            }
         } finally {
             session.flush();
             session.close();
@@ -72,10 +74,51 @@
         return null;
     }
 
+    public String getIndex(String companyId) {
+        List<DeptDevice> list = getDataByTime(companyId);
+        int index = 10000;
+        if (list != null && list.size() > 0) {
+            String id = list.get(0).getSbbh().substring(8);
+            int temp = Integer.valueOf(id) + 1;
+            index += temp;
+        }else {
+            index ++;
+        }
+        return String.valueOf(index).substring(1);
+    }
+
+    private List<DeptDevice> getDataByTime(String companyId) {
+        String hql = " from " + DeptDevice.class.getName()
+                + " where companyId =:companyId ";
+
+        Map<String, Object> args = new HashMap<String, Object>();
+        args.put("companyId", companyId);
+
+        hql += " and updateTime >:startTime";
+        args.put("startTime", DateUtil.getCurZero(new Date()));
+
+
+        hql += " and updateTime <:endTime";
+        args.put("endTime", DateUtil.getNextZero(new Date()));
+
+
+        hql += " order by id desc";
+
+        return this.query(hql, args);
+    }
+
     public String delData(DeptDevice data) {
         Session session = this.getSessionFactory().openSession();
         try {
+            Map<String, Object> param = new HashMap<>();
+            param.put("code", data.getSbbh());
+            List<DeviceCheckup> list = this.listCheck(param);
+            for (DeviceCheckup checkup : list) {
+                session.delete(checkup);
+            }
             session.delete(data);
+        } catch (Exception e) {
+            e.printStackTrace();
         } finally {
             session.flush();
             session.close();
@@ -122,7 +165,14 @@
 
         Session session = this.getSessionFactory().openSession();
         try {
-            data.setCompanyId(ContextUtil.getCompanyId());
+            if (null == data.getCompanyId()) {
+                data.setCompanyId(ContextUtil.getCompanyId());
+            }
+            if (StringUtils.isEmpty(data.getKqdm())) {
+                data.setKqdm(ContextUtil.subDeptId(null));
+            }
+            DefaultDept dept = sysDeptService.getCacheDept(data.getCompanyId(), data.getKqdm());
+            data.setKqmc(dept.getName());
             data.setZhgxsj(new Date());
             if (null == data.getId()) {
                 data.setId(ContextUtil.getUUID());

--
Gitblit v1.9.3