diff --git a/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-client/src/main/java/com/elink/esua/epdc/dto/result/KpiManualScoreDictResultDTO.java b/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-client/src/main/java/com/elink/esua/epdc/dto/result/KpiManualScoreDictResultDTO.java new file mode 100644 index 000000000..a7416174e --- /dev/null +++ b/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-client/src/main/java/com/elink/esua/epdc/dto/result/KpiManualScoreDictResultDTO.java @@ -0,0 +1,34 @@ +package com.elink.esua.epdc.dto.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description 新增手动打分规则界面:手动打分下拉框 + * @Author yinzuomei + * @Date 2019/12/2 14:04 + */ +@Data +public class KpiManualScoreDictResultDTO implements Serializable { + private static final long serialVersionUID = 1488372593404493885L; + /** + * 主键 + */ + private String id; + + /** + * 打分项名称 + */ + private String scoreName; + + /** + * 适用手动打分项的机构类型 + */ + private String deptTypeKey; + + /** + * 打分周期(字典值) + */ + private String scoreCycle; +} diff --git a/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/controller/KpiManualScoreController.java b/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/controller/KpiManualScoreController.java index 26db846a9..d3f40f6aa 100644 --- a/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/controller/KpiManualScoreController.java +++ b/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/controller/KpiManualScoreController.java @@ -26,6 +26,7 @@ import com.elink.esua.epdc.commons.tools.validator.group.AddGroup; import com.elink.esua.epdc.commons.tools.validator.group.UpdateGroup; import com.elink.esua.epdc.commons.tools.validator.group.DefaultGroup; import com.elink.esua.epdc.dto.KpiManualScoreDTO; +import com.elink.esua.epdc.dto.result.KpiManualScoreDictResultDTO; import com.elink.esua.epdc.excel.KpiManualScoreExcel; import com.elink.esua.epdc.service.KpiManualScoreService; import org.springframework.beans.factory.annotation.Autowired; @@ -45,7 +46,7 @@ import java.util.Map; @RestController @RequestMapping("kpimanualscore") public class KpiManualScoreController { - + @Autowired private KpiManualScoreService kpiManualScoreService; @@ -73,16 +74,14 @@ public class KpiManualScoreController { public Result update(@RequestBody KpiManualScoreDTO dto){ //效验数据 ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class); - kpiManualScoreService.update(dto); - return new Result(); + return kpiManualScoreService.update(dto); } @DeleteMapping public Result delete(@RequestBody String[] ids){ //效验数据 AssertUtils.isArrayEmpty(ids, "id"); - kpiManualScoreService.delete(ids); - return new Result(); + return kpiManualScoreService.delete(ids); } @GetMapping("export") @@ -91,4 +90,15 @@ public class KpiManualScoreController { ExcelUtils.exportExcelToTarget(response, null, list, KpiManualScoreExcel.class); } -} \ No newline at end of file + /** + * @param + * @return com.elink.esua.epdc.commons.tools.utils.Result> + * @Author yinzuomei + * @Description 新增手动打分规则界面:手动打分下拉框 + * @Date 2019/12/2 14:06 + **/ + @GetMapping("getKpiManualScoreList") + public Result> getKpiManualScoreList() { + return kpiManualScoreService.listKpiManualScoreDictListDTO(); + } +} diff --git a/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/dao/KpiManualScoreDao.java b/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/dao/KpiManualScoreDao.java index 6b3ebbba5..4e1bfced0 100644 --- a/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/dao/KpiManualScoreDao.java +++ b/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/dao/KpiManualScoreDao.java @@ -18,9 +18,12 @@ package com.elink.esua.epdc.dao; import com.elink.esua.epdc.commons.mybatis.dao.BaseDao; +import com.elink.esua.epdc.dto.result.KpiManualScoreDictResultDTO; import com.elink.esua.epdc.entity.KpiManualScoreEntity; import org.apache.ibatis.annotations.Mapper; +import java.util.List; + /** * 手动打分项 * @@ -29,5 +32,13 @@ import org.apache.ibatis.annotations.Mapper; */ @Mapper public interface KpiManualScoreDao extends BaseDao { - -} \ No newline at end of file + + /** + * @param + * @return java.util.List + * @Author yinzuomei + * @Description 新增手动打分规则界面:手动打分下拉框 + * @Date 2019/12/2 14:08 + **/ + List selectListKpiManualScoreDictResultDTO(); +} diff --git a/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/service/KpiManualScoreService.java b/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/service/KpiManualScoreService.java index 2fe9b0a41..d5d2ddcfe 100644 --- a/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/service/KpiManualScoreService.java +++ b/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/service/KpiManualScoreService.java @@ -19,7 +19,9 @@ package com.elink.esua.epdc.service; import com.elink.esua.epdc.commons.mybatis.service.BaseService; import com.elink.esua.epdc.commons.tools.page.PageData; +import com.elink.esua.epdc.commons.tools.utils.Result; import com.elink.esua.epdc.dto.KpiManualScoreDTO; +import com.elink.esua.epdc.dto.result.KpiManualScoreDictResultDTO; import com.elink.esua.epdc.entity.KpiManualScoreEntity; import java.util.List; @@ -81,7 +83,7 @@ public interface KpiManualScoreService extends BaseService * @author generator * @date 2019-12-02 */ - void update(KpiManualScoreDTO dto); + Result update(KpiManualScoreDTO dto); /** * 批量删除 @@ -91,5 +93,14 @@ public interface KpiManualScoreService extends BaseService * @author generator * @date 2019-12-02 */ - void delete(String[] ids); -} \ No newline at end of file + Result delete(String[] ids); + + /** + * @param + * @return com.elink.esua.epdc.commons.tools.utils.Result> + * @Author yinzuomei + * @Description 新增手动打分规则界面:手动打分下拉框 + * @Date 2019/12/2 14:06 + **/ + Result> listKpiManualScoreDictListDTO(); +} diff --git a/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/service/KpiRuleService.java b/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/service/KpiRuleService.java index 5b0a41a28..30051b133 100644 --- a/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/service/KpiRuleService.java +++ b/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/service/KpiRuleService.java @@ -131,4 +131,13 @@ public interface KpiRuleService extends BaseService { * @Date 2019/11/27 16:27 **/ Result edit(KpiRuleSaveOrUpdateFormDTO dto); + + /** + * @param referenceIds + * @return java.util.List + * @Author yinzuomei + * @Description 根据引用id查询考核规则表记录 + * @Date 2019/12/2 14:59 + **/ + List listKpiRuleEntityByRereferenceId(String[] referenceIds); } diff --git a/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/service/impl/KpiFormulaServiceImpl.java b/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/service/impl/KpiFormulaServiceImpl.java index 80e4fd086..72051af4b 100644 --- a/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/service/impl/KpiFormulaServiceImpl.java +++ b/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/service/impl/KpiFormulaServiceImpl.java @@ -133,10 +133,10 @@ public class KpiFormulaServiceImpl extends BaseServiceImpl kpiRuleEntityQueryWrapper = new QueryWrapper<>(); - kpiRuleEntityQueryWrapper.in(ids.length>0,"reference_id",ids); - List kpiRuleEntityList= kpiRuleDao.selectList(kpiRuleEntityQueryWrapper); - if(null!=kpiRuleEntityList&&kpiRuleEntityList.size()>0){ - return new Result().error("存在公式被引用,不允许删除"); + kpiRuleEntityQueryWrapper.in(ids.length > 0, "reference_id", ids); + List kpiRuleEntityList = kpiRuleDao.selectList(kpiRuleEntityQueryWrapper); + if (null != kpiRuleEntityList && kpiRuleEntityList.size() > 0) { + return new Result().error("已经制定考核规则,不允许删除"); } // 逻辑删除(@TableLogic 注解) baseDao.deleteBatchIds(Arrays.asList(ids)); diff --git a/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/service/impl/KpiManualScoreServiceImpl.java b/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/service/impl/KpiManualScoreServiceImpl.java index 15b7ea97b..531f5e953 100644 --- a/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/service/impl/KpiManualScoreServiceImpl.java +++ b/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/service/impl/KpiManualScoreServiceImpl.java @@ -23,11 +23,15 @@ import com.elink.esua.epdc.commons.mybatis.service.impl.BaseServiceImpl; import com.elink.esua.epdc.commons.tools.page.PageData; import com.elink.esua.epdc.commons.tools.utils.ConvertUtils; import com.elink.esua.epdc.commons.tools.constant.FieldConstant; +import com.elink.esua.epdc.commons.tools.utils.Result; import com.elink.esua.epdc.dao.KpiManualScoreDao; import com.elink.esua.epdc.dto.KpiManualScoreDTO; +import com.elink.esua.epdc.dto.result.KpiManualScoreDictResultDTO; import com.elink.esua.epdc.entity.KpiManualScoreEntity; +import com.elink.esua.epdc.entity.KpiRuleEntity; import com.elink.esua.epdc.redis.KpiManualScoreRedis; import com.elink.esua.epdc.service.KpiManualScoreService; +import com.elink.esua.epdc.service.KpiRuleService; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -48,7 +52,8 @@ public class KpiManualScoreServiceImpl extends BaseServiceImpl page(Map params) { String scoreName=params.containsKey("scoreName")?params.get("scoreName").toString():null; @@ -92,16 +97,39 @@ public class KpiManualScoreServiceImpl extends BaseServiceImpl kpiRuleEntityList = kpiRuleService.listKpiRuleEntityByRereferenceId(referenceIds); + if (null != kpiRuleEntityList && kpiRuleEntityList.size() > 0) { + for (KpiRuleEntity kpiRuleEntity : kpiRuleEntityList) { + kpiRuleEntity.setDeptTypeKey(dto.getDeptTypeKey()); + kpiRuleEntity.setKpiCycle(dto.getScoreCycle()); + kpiRuleService.updateById(kpiRuleEntity); + } + } updateById(entity); + return new Result(); } @Override @Transactional(rollbackFor = Exception.class) - public void delete(String[] ids) { + public Result delete(String[] ids) { + List kpiRuleEntityList = kpiRuleService.listKpiRuleEntityByRereferenceId(ids); + if (null != kpiRuleEntityList && kpiRuleEntityList.size() > 0) { + return new Result().error("已经制定考核规则,不允许删除"); + } // 逻辑删除(@TableLogic 注解) baseDao.deleteBatchIds(Arrays.asList(ids)); + return new Result(); + } + + @Override + public Result> listKpiManualScoreDictListDTO() { + List list=baseDao.selectListKpiManualScoreDictResultDTO(); + return new Result>().ok(list); } } diff --git a/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/service/impl/KpiRuleServiceImpl.java b/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/service/impl/KpiRuleServiceImpl.java index e3a80f70b..e26237c4c 100644 --- a/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/service/impl/KpiRuleServiceImpl.java +++ b/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/service/impl/KpiRuleServiceImpl.java @@ -168,11 +168,14 @@ public class KpiRuleServiceImpl extends BaseServiceImpl ruleParamList = dto.getRuleParamList(); - for (KpiRuleParamDTO kpiRuleParamDTO : ruleParamList) { - kpiRuleParamDTO.setRuleId(entity.getId()); - KpiRuleParamEntity kpiRuleParamEntity = ConvertUtils.sourceToTarget(kpiRuleParamDTO, KpiRuleParamEntity.class); - kpiRuleParamDao.insert(kpiRuleParamEntity); + //logger.info("规则表主键="+entity.getId()); + // 元公式需要设置参数 + if ("0".equals(dto.getRuleMode())) { + for (KpiRuleParamDTO kpiRuleParamDTO : dto.getRuleParamList()) { + kpiRuleParamDTO.setRuleId(entity.getId()); + KpiRuleParamEntity kpiRuleParamEntity = ConvertUtils.sourceToTarget(kpiRuleParamDTO, KpiRuleParamEntity.class); + kpiRuleParamDao.insert(kpiRuleParamEntity); + } } return new Result(); } @@ -193,20 +196,27 @@ public class KpiRuleServiceImpl extends BaseServiceImpl 0) { + return new Result().error("请选择元公式入参"); + } if (kpiFormulaEntity.getParamAmount() != dto.getRuleParamList().size()) { return new Result().error("公式缺少入参"); } @@ -221,4 +231,19 @@ public class KpiRuleServiceImpl extends BaseServiceImpl + * @Author yinzuomei + * @Description 根据引用id查询考核规则表记录 + * @Date 2019/12/2 15:00 + **/ + @Override + public List listKpiRuleEntityByRereferenceId(String[] referenceIds) { + QueryWrapper kpiRuleEntityQueryWrapper = new QueryWrapper<>(); + kpiRuleEntityQueryWrapper.in("reference_id", referenceIds); + List kpiRuleEntityList = baseDao.selectList(kpiRuleEntityQueryWrapper); + return kpiRuleEntityList; + } } diff --git a/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/resources/mapper/KpiManualScoreDao.xml b/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/resources/mapper/KpiManualScoreDao.xml index 3f26f6bec..a77cf9631 100644 --- a/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/resources/mapper/KpiManualScoreDao.xml +++ b/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/resources/mapper/KpiManualScoreDao.xml @@ -17,5 +17,17 @@ - - \ No newline at end of file + + diff --git a/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/resources/mapper/KpiRuleDao.xml b/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/resources/mapper/KpiRuleDao.xml index 1440bc450..935f81130 100644 --- a/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/resources/mapper/KpiRuleDao.xml +++ b/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/resources/mapper/KpiRuleDao.xml @@ -36,6 +36,7 @@ ekr.DEL_FLAG as delFlag, (case rule_mode when '0' then (select ekf.name from epdc_kpi_formula ekf where ekf.ID=ekr.reference_id) + when '1' then (select kmc.score_name from epdc_kpi_manual_score kmc where kmc.ID=ekr.reference_id) else null end)as referenceName FROM @@ -118,6 +119,7 @@ ekr.DEL_FLAG, (case rule_mode when '0' then (select ekf.name from epdc_kpi_formula ekf where ekf.ID=ekr.reference_id) + when '1' then (select kmc.score_name from epdc_kpi_manual_score kmc where kmc.ID=ekr.reference_id) else null end)as reference_name FROM