From 99f928a971a5d2c58d5fafb38728471a39b5a759 Mon Sep 17 00:00:00 2001
From: CZT <czt18638530771@163.com>
Date: 星期四, 02 十一月 2023 15:20:57 +0800
Subject: [PATCH] 优化人员信息

---
 igds-manager/src/main/java/com/ld/igds/oa/service/HDeptDeviceService.java |   44 ++++++++++++++++++++++++++++++++++++++------
 1 files changed, 38 insertions(+), 6 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 37a7a54..0e6091b 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
@@ -9,6 +9,7 @@
 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;
@@ -57,14 +58,12 @@
             if (null == data.getCompanyId()) {
                 data.setCompanyId(ContextUtil.getCompanyId());
             }
-            if (StringUtils.isEmpty(data.getKqdm())) {
-                data.setKqdm(ContextUtil.subDeptId(null));
+            if (StringUtils.isEmpty(data.getDeptId())) {
+                data.setDeptId(ContextUtil.subDeptId(null));
             }
-            DefaultDept dept = sysDeptService.getCacheDept(data.getCompanyId(), data.getKqdm());
-            data.setKqmc(dept.getName());
             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);
         } finally {
@@ -74,6 +73,39 @@
         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 {

--
Gitblit v1.9.3