package com.fzzy.igds.sys; import com.fzzy.igds.dzhwk.constant.*; import com.fzzy.igds.util.ContextUtil; import com.fzzy.igds.util.WeatherUtil; import com.ruoyi.common.core.domain.entity.SysDictData; import com.ruoyi.common.utils.DictUtils; import com.ruoyi.common.utils.StringUtils; import com.ruoyi.system.mapper.SysDictDataMapper; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.ArrayList; import java.util.List; /** * @Description * @Author CZT * @Date 2024/11/22 16:30 */ @Slf4j @Service("sys.dicService") public class DicService { @Autowired private SysDictDataMapper dictDataMapper; /** * 初始化常用字典到内存 * * @param companyId */ public void initDicMap(String companyId) { if (StringUtils.isEmpty(companyId)) { companyId = ContextUtil.getDefaultCompanyId(); } //初始化粮食品种字典 List dicList = DictUtils.getDictCache(Constant.TRIGGER_PARENT_FOOD_VARIETY, companyId); if (null != dicList) { for (SysDictData sysDictData : dicList) { Constant.mapFoodVariety.put(sysDictData.getDictValue(), sysDictData.getDictLabel()); } } //初始化粮食性质字典 dicList = DictUtils.getDictCache(Constant.TRIGGER_PARENT_FOOD_TYPE, companyId); if (null != dicList) { for (SysDictData sysDictData : dicList) { Constant.mapFoodType.put(sysDictData.getDictValue(), sysDictData.getDictLabel()); } } //初始化出入库流程字典 dicList = DictUtils.getDictCache(Constant.TRIGGER_PARENT_PROCESS_STATUS, companyId); if (null != dicList) { for (SysDictData sysDictData : dicList) { Constant.mapProgressName.put(sysDictData.getDictValue(), sysDictData.getDictLabel()); } } } /** * 根据type和组织编码获取字典,先从缓存获取,缓存没有则查询数据库 * * @param dictType * @param companyId * @return */ public List getDictDataByType(String dictType, String companyId) { if (StringUtils.isEmpty(dictType)) { return null; } if (StringUtils.isEmpty(companyId)) { companyId = ContextUtil.getCompanyId(); } List list = DictUtils.getDictCache(dictType, companyId); if (null == list || list.isEmpty()) { list = dictDataMapper.selectDictDataByType(dictType, companyId); DictUtils.setDictCache(dictType, list, companyId); } return list; } /** * 仓房类型-非国标定义 * * @return */ public List triggerDepotType() { List list = new ArrayList(); list.add(new SysDictData(DepotType.TYPE_01.getMsg(), DepotType.TYPE_01.getCode())); list.add(new SysDictData(DepotType.TYPE_02.getMsg(), DepotType.TYPE_02.getCode())); list.add(new SysDictData(DepotType.TYPE_03.getMsg(), DepotType.TYPE_03.getCode())); list.add(new SysDictData(DepotType.TYPE_04.getMsg(), DepotType.TYPE_04.getCode())); list.add(new SysDictData(DepotType.TYPE_05.getMsg(), DepotType.TYPE_05.getCode())); list.add(new SysDictData(DepotType.TYPE_99.getMsg(), DepotType.TYPE_99.getCode())); return list; } /** * 仓房状态 * * @return */ public List triggerDepotStatus() { List list = new ArrayList(); list.add(new SysDictData(DepotStatus.STATUS_1.getMsg(), DepotStatus.STATUS_1.getCode())); list.add(new SysDictData(DepotStatus.STATUS_2.getMsg(), DepotStatus.STATUS_2.getCode())); list.add(new SysDictData(DepotStatus.STATUS_3.getMsg(), DepotStatus.STATUS_3.getCode())); list.add(new SysDictData(DepotStatus.STATUS_4.getMsg(), DepotStatus.STATUS_4.getCode())); list.add(new SysDictData(DepotStatus.STATUS_31.getMsg(), DepotStatus.STATUS_31.getCode())); list.add(new SysDictData(DepotStatus.STATUS_32.getMsg(), DepotStatus.STATUS_32.getCode())); list.add(new SysDictData(DepotStatus.STATUS_33.getMsg(), DepotStatus.STATUS_33.getCode())); list.add(new SysDictData(DepotStatus.STATUS_34.getMsg(), DepotStatus.STATUS_34.getCode())); list.add(new SysDictData(DepotStatus.STATUS_9.getMsg(), DepotStatus.STATUS_9.getCode())); return list; } /** * 粮食等级 * * @return */ public List triggerFoodLevel() { List list = new ArrayList(); list.add(new SysDictData(FoodLevel.LEVEL_01.getMsg(), FoodLevel.LEVEL_01.getCode())); list.add(new SysDictData(FoodLevel.LEVEL_02.getMsg(), FoodLevel.LEVEL_02.getCode())); list.add(new SysDictData(FoodLevel.LEVEL_03.getMsg(), FoodLevel.LEVEL_03.getCode())); list.add(new SysDictData(FoodLevel.LEVEL_04.getMsg(), FoodLevel.LEVEL_04.getCode())); list.add(new SysDictData(FoodLevel.LEVEL_05.getMsg(), FoodLevel.LEVEL_05.getCode())); list.add(new SysDictData(FoodLevel.LEVEL_06.getMsg(), FoodLevel.LEVEL_06.getCode())); return list; } /** * 储粮方式 * * @return */ public List triggerStoreType() { List list = new ArrayList(); list.add(new SysDictData("散装储粮", "1")); list.add(new SysDictData("包装储粮", "2")); list.add(new SysDictData("围包存", "3")); list.add(new SysDictData("其他", "9")); return list; } /** * 管理方式 * * @return */ public List triggerManagerType() { List list = new ArrayList(); list.add(new SysDictData("直储", "01")); list.add(new SysDictData("代储", "02")); list.add(new SysDictData("租仓", "03")); list.add(new SysDictData("委托", "04")); return list; } /** * 电缆起始方位 * * @return */ public List triggerStartOrientation() { List list = new ArrayList(); list.add(new SysDictData("右边", Constant.GRAIN_START_ORIENTATION_RIGHT)); list.add(new SysDictData("右上", Constant.GRAIN_START_ORIENTATION_RIGHT_UP)); list.add(new SysDictData("左边", Constant.GRAIN_START_ORIENTATION_LEFT)); list.add(new SysDictData("左上", Constant.GRAIN_START_ORIENTATION_LEFT_UP)); return list; } /** * 电缆布线方向 * * @return */ public List triggerStartDirection() { List list = new ArrayList(); list.add(new SysDictData("纵向", Constant.GRAIN_START_DIRECTION_PORTRAIT)); list.add(new SysDictData("横向", Constant.GRAIN_START_DIRECTION_TRANSVERSE)); return list; } /** * 电缆起始点位 * * @return */ public List triggerStartPoint() { List list = new ArrayList(); list.add(new SysDictData("顶部", Constant.GRAIN_START_POINT_TOP)); list.add(new SysDictData("底部", Constant.GRAIN_START_POINT_BELOW)); return list; } /** * 层行转换 * * @return */ public List triggerStartConvert() { List list = new ArrayList(); list.add(new SysDictData("默认", Constant.GRAIN_CONVERT_DEFAULT)); list.add(new SysDictData("顺时针", Constant.GRAIN_CONVERT_CLOCKWISE)); list.add(new SysDictData("逆时针", Constant.GRAIN_CONVERT_ANTICLOCKWISE)); return list; } /** * 筒仓锥形 * * @return */ public List triggerCableCone() { List list = new ArrayList(); list.add(new SysDictData("无锥形", Constant.CABLE_CONE_0)); list.add(new SysDictData("上锥形", Constant.CABLE_CONE_1)); list.add(new SysDictData("下锥形", Constant.CABLE_CONE_2)); return list; } /** * 是否 * * @return */ public List triggerYN() { List list = new ArrayList(); list.add(new SysDictData("是", Constant.YN_Y)); list.add(new SysDictData("否", Constant.YN_N)); return list; } /** * 通讯状态 * * @return * @throws Exception */ public List conStatus() { List list = new ArrayList<>(); list.add(new SysDictData("正常", Constant.YN_Y)); list.add(new SysDictData("断开", Constant.YN_N)); return list; } /** * 本地远程模式 * * @return */ public List controlModel() { List list = new ArrayList(); list.add(new SysDictData(ControlModel.MODEL_01.getMsg(), ControlModel.MODEL_01.getCode())); list.add(new SysDictData(ControlModel.MODEL_02.getMsg(), ControlModel.MODEL_02.getCode())); return list; } /** * 功能模块 * * @return */ public List triggerBizType() { List list = new ArrayList(); list.add(new SysDictData(BizType.GRAIN.getMsg(), BizType.GRAIN.getCode())); list.add(new SysDictData(BizType.PEST.getMsg(), BizType.PEST.getCode())); list.add(new SysDictData(BizType.GAS.getMsg(), BizType.GAS.getCode())); list.add(new SysDictData(BizType.AREATION.getMsg(), BizType.AREATION.getCode())); list.add(new SysDictData(BizType.N2.getMsg(), BizType.N2.getCode())); list.add(new SysDictData(BizType.INOUT_IN.getMsg(), BizType.INOUT_IN.getCode())); list.add(new SysDictData(BizType.INOUT_OUT.getMsg(), BizType.INOUT_OUT.getCode())); list.add(new SysDictData(BizType.TEMPCONTROL.getMsg(), BizType.TEMPCONTROL.getCode())); list.add(new SysDictData(BizType.WEATHER.getMsg(), BizType.WEATHER.getCode())); list.add(new SysDictData(BizType.ES.getMsg(), BizType.ES.getCode())); list.add(new SysDictData(BizType.SECURITY.getMsg(), BizType.SECURITY.getCode())); list.add(new SysDictData(BizType.SYS.getMsg(), BizType.SYS.getCode())); list.add(new SysDictData(BizType.SCREEN.getMsg(), BizType.SCREEN.getCode())); return list; } /** * 气象来源 * * @return */ public List triggerSource() { List list = new ArrayList(); list.add(new SysDictData(WeatherUtil.SOURCE_01, "库区气象站")); list.add(new SysDictData(WeatherUtil.SOURCE_01, "外网气象站")); return list; } /** * 检验类别 * * @return */ public List triggerType() { List list = new ArrayList(); list.add(new SysDictData("入仓验收", "01")); list.add(new SysDictData("出仓检验", "02")); list.add(new SysDictData("3月末普检", "03")); list.add(new SysDictData("9月末普检", "04")); list.add(new SysDictData("入库初检", "05")); list.add(new SysDictData("月度检查", "06")); list.add(new SysDictData("3月末库内普查", "07")); list.add(new SysDictData("9月末库内普查", "08")); return list; } /** * 指标类别 * * @return */ public List triggerStandard() { List list = new ArrayList(); list.add(new SysDictData("国标", "1")); list.add(new SysDictData("其他", "0")); return list; } /** * 检验依据 * * @return */ public List triggerMetrics() { List list = new ArrayList(); list.add(new SysDictData("质量指标检验", "1")); list.add(new SysDictData("储存品质检验", "2")); list.add(new SysDictData("食品安全检验", "3")); return list; } /** * 审核状态 * * @return */ public List triggerStatusType() { List list = new ArrayList(); for (AuditStatus w : AuditStatus.values()) { list.add(new SysDictData(w.getMsg(), w.getCode())); } return list; } /** * 警告类型 * * @return */ public List triggerWarnType() { List list = new ArrayList(); for (WarnType w : WarnType.values()) { list.add(new SysDictData(w.getMsg(), w.getCode())); } return list; } /** * 警告等级 * * @return */ public List triggerWarnLevel() { List list = new ArrayList(); for (WarnLevel w : WarnLevel.values()) { list.add(new SysDictData(w.getMsg(), w.getCode())); } return list; } /** * 警告状态 * * @return */ public List triggerWarnStatus() { List list = new ArrayList(); for (WarnStatus w : WarnStatus.values()) { list.add(new SysDictData(w.getName(), w.getCode())); } return list; } /** * 警告通知方式 * * @return */ public List triggerNoticeType() { List list = new ArrayList(); for (NoticeType w : NoticeType.values()) { list.add(new SysDictData(w.getName(), w.getCode())); } return list; } /** * AI设备类型 * @return */ public List triggerAiSerType() { List list = new ArrayList(); for (AiSerType w : AiSerType.values()) { list.add(new SysDictData(w.getMsg(), w.getCode())); } return list; } /** * 通风任务状态 * @return */ public List triggerVerbStatus() { List list = new ArrayList(); list.add(new SysDictData("运行中", AreationConst.ARESTION_TASK_RUN)); list.add(new SysDictData("停止", AreationConst.ARESTION_TASK_STOP)); list.add(new SysDictData("超时无效", AreationConst.ARESTION_TASK_NOUSE)); return list; } /** * 通风模式 * @return */ public List triggerAreationModel() { List list = new ArrayList(); for (AreationModel w : AreationModel.values()) { list.add(new SysDictData(w.getMsg(), w.getCode())); } return list; } /** * 气调模式 * @return */ public List triggerN2ModelTag() { List list = new ArrayList(); for (N2ModelTag w : N2ModelTag.values()) { list.add(new SysDictData(w.getMsg(), w.getCode())); } return list; } }