CZT
2023-11-02 99f928a971a5d2c58d5fafb38728471a39b5a759
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;
@@ -23,6 +27,10 @@
 */
@Component
public class HDeptDeviceService extends HibernateDao {
    @Autowired
    private SysDeptService sysDeptService;
    //=====================================库区设备=======================================//
    public void pageData(Page<DeptDevice> page, Map<String, Object> param)
@@ -47,24 +55,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 +73,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 +164,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());