Browse Source

1、更新事项类型接口,换成单条新增更新;
2、提供单条删除接口

wanyuan 8 months ago
parent
commit
838e8deccb

+ 2 - 0
tc-service/tap-task/src/main/java/com/minto/app/task/dao/ITypeSettingScoreDao.java

@@ -15,4 +15,6 @@ import com.minto.core.dao.BaseDao;
 public interface ITypeSettingScoreDao extends BaseDao{
 
     public List<TypeSettingScoreBean> findListByYear(Integer year);
+
+    public TypeSettingScoreBean findOneByEnumIdAndYear(Long enumId, Integer year);
 }

+ 7 - 1
tc-service/tap-task/src/main/java/com/minto/app/task/dao/TypeSettingScoreDaoImpl.java

@@ -21,6 +21,12 @@ public class TypeSettingScoreDaoImpl extends BaseDaoImpl implements ITypeSetting
     @Override
     public List<TypeSettingScoreBean> findListByYear(Integer year){
         Criterion criterion = Restrictions.eq("year", year);
-        return getHibernateTpl().query(TypeSettingScoreBean.class,criterion);
+        return getHibernateTpl().query(TypeSettingScoreBean.class, criterion);
+    }
+
+    @Override
+    public TypeSettingScoreBean findOneByEnumIdAndYear(Long enumId, Integer year){
+        Criterion criterion = Restrictions.and(Restrictions.eq("enum_id", enumId), Restrictions.eq("year", year));
+        return getHibernateTpl().findOne(TypeSettingScoreBean.class, criterion);
     }
 }

+ 45 - 29
tc-service/tap-task/src/main/java/com/minto/app/task/manager/TaskAnalysisManagerImpl.java

@@ -26,6 +26,7 @@ import com.minto.app.task.enums.TaskEnum;
 import com.minto.app.task.mapper.ITaskAnalysisMapper;
 import com.minto.app.task.mapper.ITaskSummaryMapper;
 import com.minto.app.task.util.TaskByTypeUtil;
+import com.minto.app.tipenum.enums.StatusEnum;
 import com.minto.app.tipenum.manager.TipEnumManager;
 import com.minto.app.tipenum.po.TipEnumBean;
 import com.minto.core.base.BaseEnum;
@@ -1603,41 +1604,56 @@ public class TaskAnalysisManagerImpl implements ITaskAnalysisManager{
     }
 
     @Override
-    public List<Map<String, Object>> updateMatterTypeSettings(Map<String, Object> param){
-        List<Map<Object, Object>> scoreList = ParameterUtil.getList(param, "scoreList");
-        if(CollectionUtil.isEmpty(scoreList)){
-            return findMatterTypeSettings(null);
+    public List<Map<String, Object>> saveMatterTypeSettings(Map<String, Object> param){
+        //枚举更新
+        TipEnumManager tipEnumManager = AppContext.getBean(TipEnumManager.class);
+        String type = ParameterUtil.getString(param, "type");
+        Integer sort = ParameterUtil.getInteger(param, "sort");
+        String key = ParameterUtil.getString(param, "key", type + "s" + sort);//默认编码为类型加排序
+        String value = ParameterUtil.getString(param, "value");
+        String color = ParameterUtil.getString(param, "color");
+        Long id = ParameterUtil.getLong(param, "id");
+        if(id == null){
+            //新建
+            TipEnumBean tipEnum = new TipEnumBean(type, key, value, sort, color);
+            tipEnumManager.addTipEnum(tipEnum);
+            id = tipEnum.getId();
+        } else{
+            //更新
+            tipEnumManager.updateTipEnum(key, value, sort, id, color);
         }
-        //查找历史数据
+
+        //分数保存
         Integer year = ParameterUtil.getInteger(param, "year");
         if(year == null){
             year = DateUtil.getYear();
         }
+        Integer baseScore = ParameterUtil.getInteger(param, "baseScore");
+        Integer evalScore = ParameterUtil.getInteger(param, "evalScore");
         ITypeSettingScoreDao typeSettingScoreDao = AppContext.getBean(ITypeSettingScoreDao.class);
-        List<TypeSettingScoreBean> listByYear = typeSettingScoreDao.findListByYear(year);
-        Map<Long, TypeSettingScoreBean> collect = listByYear.stream()
-                .collect(Collectors.toMap(TypeSettingScoreBean::getEnumId, e -> e));
-        Integer finalYear = year;
-        scoreList.forEach(e -> {
-            Long enumId = ParameterUtil.getLong(e, "enumId");
-            Integer baseScore = ParameterUtil.getInteger(e, "baseScore");
-            Integer evalScore = ParameterUtil.getInteger(e, "evalScore");
-            TypeSettingScoreBean typeSettingScoreBean = collect.get(enumId);
-            if(typeSettingScoreBean == null){
-                //新增
-                typeSettingScoreBean = new TypeSettingScoreBean();
-                typeSettingScoreBean.setId(UUIDUtil.UUIDAbsLong());
-                typeSettingScoreBean.setEnumId(enumId);
-                typeSettingScoreBean.setBaseScore(baseScore);
-                typeSettingScoreBean.setEvalScore(evalScore);
-                typeSettingScoreBean.setYear(finalYear);
-                typeSettingScoreDao.save(typeSettingScoreBean);
-            } else{
-                typeSettingScoreBean.setBaseScore(baseScore);
-                typeSettingScoreBean.setEvalScore(evalScore);
-                typeSettingScoreDao.update(typeSettingScoreBean);
-            }
-        });
+        TypeSettingScoreBean scoreBean = typeSettingScoreDao.findOneByEnumIdAndYear(id, year);
+        if(scoreBean == null){
+            //新增
+            scoreBean = new TypeSettingScoreBean();
+            scoreBean.setId(UUIDUtil.UUIDAbsLong());
+            scoreBean.setEnumId(id);
+            scoreBean.setBaseScore(baseScore);
+            scoreBean.setEvalScore(evalScore);
+            scoreBean.setYear(year);
+            typeSettingScoreDao.save(scoreBean);
+        } else{
+            scoreBean.setBaseScore(baseScore);
+            scoreBean.setEvalScore(evalScore);
+            typeSettingScoreDao.update(scoreBean);
+        }
+        return findMatterTypeSettings(null);
+    }
+
+    @Override
+    public List<Map<String, Object>> deleteMatterTypeSettings(Map<String, Object> param){
+        TipEnumManager tipEnumManager = AppContext.getBean(TipEnumManager.class);
+        Long id = ParameterUtil.getLong(param, "id");
+        tipEnumManager.updateTipEnumStatusById(id, StatusEnum.Deleted.getKey());
         return findMatterTypeSettings(null);
     }
 }

+ 3 - 1
tip-api/src/main/java/com/minto/app/task/manager/ITaskAnalysisManager.java

@@ -153,6 +153,8 @@ public interface ITaskAnalysisManager {
 
     List<Map<String, Object>> findMatterTypeSettings(Map<String, Object> param);
 
-    List<Map<String, Object>> updateMatterTypeSettings(Map<String, Object> param);
+    List<Map<String, Object>> saveMatterTypeSettings(Map<String, Object> param);
+
+    List<Map<String, Object>> deleteMatterTypeSettings(Map<String, Object> param);
 
 }