ws183
2025-04-28 b306d1106b915bb13fd7a02217ae9c65de2fd03d
igds-core/src/main/java/com/ld/igds/m/service/HQualityManageService.java
@@ -11,6 +11,7 @@
import com.ld.igds.util.DateUtil;
import com.ld.igds.util.RedisUtil;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.time.DateFormatUtils;
import org.hibernate.Session;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
@@ -126,7 +127,7 @@
        if (null == data.getDeptId()) {
            data.setDeptId(ContextUtil.subDeptId(null));
        }
        if (null != data.getZblb() || "" != data.getZblb()) {
        if (null != data.getZblb() && "" != data.getZblb() && "null" != data.getZblb()) {
            String[] str = data.getZblb().split("#");
            //防止在更新操作时再次存入相同的数据
            Set<String> metrics = new HashSet<>();
@@ -144,11 +145,9 @@
        try {
            if (null == data.getId()) {
                data.setId(id);
                session.save(data);
            } else {
                session.update(data);
            }
            redisUtil.del(RedisConst.buildKey(ContextUtil.getCompanyId(), RedisConst.KEY_DEPOT_QUALITY, data.getDepotId()));
            session.saveOrUpdate(data);
            redisUtil.del(RedisConst.buildKey(ContextUtil.getDefaultCompanyId(), RedisConst.KEY_DEPOT_QUALITY, data.getDepotId()));
            MQuality newData;
            if (EntityUtils.isEntity(data)) {
                newData = new MQuality();
@@ -157,7 +156,7 @@
                newData = data;
            }
            redisUtil.set(RedisConst.buildKey(ContextUtil.getCompanyId(), RedisConst.KEY_DEPOT_QUALITY, data.getDepotId()), newData, 60 * 60 * 24);
            redisUtil.set(RedisConst.buildKey(ContextUtil.getDefaultCompanyId(), RedisConst.KEY_DEPOT_QUALITY, data.getDepotId()), newData, 60 * 60 * 24);
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
@@ -186,4 +185,81 @@
        return null;
    }
    /**
     * 获取当前检验时间最后一个ID
     *
     * @param time
     * @return
     * @throws Exception
     */
    public String getIdByTime(Date time) {
        int num = 10001;
        String hql = " from " + MQuality.class.getName()
                + " where companyId =:companyId ";
        Map<String, Object> args = new HashMap<String, Object>();
        args.put("companyId", ContextUtil.getCompanyId());
        hql += " and time >=:start";
        args.put("start", DateUtil.getCurZero(time));
        hql += " and time <:end";
        args.put("end", DateUtil.getNextZero(time));
        hql += " order by id DESC";
        List<MQuality> list = this.query(hql, args);
        if (list != null && list.size() > 0) {
//            String lastId = list.get(0).getId();
//            num += Integer.parseInt(lastId.subst
//            ring(lastId.length() - 5));
            num += Integer.valueOf(list.get(0).getId().substring(11));
        }
//        String strNum = String.valueOf(num);
//        if (strNum.length() == 1) {
//            strNum = "1000" + strNum;
//        }
//        if (strNum.length() == 2) {
//            strNum = "100" + strNum;
//        }
//        if (strNum.length() == 3) {
//            strNum = "10" + strNum;
//        }
//        if (strNum.length() == 4) {
//            strNum = "1" + strNum;
//        }
        return DateFormatUtils.format(time, "yyyyMMdd") + String.valueOf(num).substring(1);
    }
    public CheckItemData getCheckItem(String checkId) {
        CheckItemData itemData = new CheckItemData();
        if ("".equals(checkId)) {
            itemData.setPerWet(0.0);
            itemData.setPerImpurity(0.0);
            return itemData;
        }
        itemData.setCompanyId(ContextUtil.getCompanyId());
        itemData.setCheckId(checkId);
        itemData.setStandardId("C01");
        List<CheckItemData> itemData1 = checkStandardMapper.getCheckItemByParam(itemData);
        if (!itemData1.isEmpty()) {
            String perWet = itemData1.get(0).getValue();
            if (StringUtils.isNotEmpty(perWet)) {
                itemData.setPerWet(Double.parseDouble(perWet));
            } else {
                itemData.setPerWet(0.0);
            }
        }
        itemData.setStandardId("C02");
        List<CheckItemData> itemData2 = checkStandardMapper.getCheckItemByParam(itemData);
        if (!itemData2.isEmpty()) {
            String perImpurity = itemData2.get(0).getValue();
            if (StringUtils.isNotEmpty(perImpurity)) {
                itemData.setPerImpurity(Double.parseDouble(perImpurity));
            } else {
                itemData.setPerImpurity(0.0);
            }
        }
        return itemData;
    }
}