CZT
2023-11-02 99f928a971a5d2c58d5fafb38728471a39b5a759
igds-manager/src/main/java/com/ld/igds/oa/service/HDeptDeviceService.java
@@ -1,17 +1,23 @@
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;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
@@ -21,6 +27,10 @@
 */
@Component
public class HDeptDeviceService extends HibernateDao {
    @Autowired
    private SysDeptService sysDeptService;
    //=====================================库区设备=======================================//
    public void pageData(Page<DeptDevice> page, Map<String, Object> param)
@@ -45,9 +55,15 @@
        Session session = this.getSessionFactory().openSession();
        try {
            data.setCompanyId(ContextUtil.getCompanyId());
            if (null == data.getId()) {
                data.setId(ContextUtil.getUUID());
            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.getSbbh()) {
                data.setSbbh(DateFormatUtils.format(new Date(), "yyyyMMdd") + getIndex(data.getCompanyId()));
            }
            session.saveOrUpdate(data);
        } finally {
@@ -57,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();
@@ -88,11 +145,34 @@
    }
    public List<DeviceCheckup> listCheck(Map<String, Object> param) throws Exception {
        String hql = " from " + DeviceCheckup.class.getName() + " where companyId=:companyId";
        Map<String, Object> args = new HashMap<>();
        args.put("companyId", ContextUtil.getCompanyId());
        if (null != param) {
            hql = buildHql(hql, param, args);
        }
        hql += " order by jdsj desc";
        return this.query(hql, args);
    }
    public String saveCheck(DeviceCheckup data) {
        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());
            }