Browse Source

添加部门目标责任书

wangchangsheng 2 years ago
parent
commit
bb6703b212
18 changed files with 526 additions and 49 deletions
  1. 194 0
      ims-common/src/main/java/com/ims/common/utils/DateUtils.java
  2. 36 13
      ims-service/ims-eval/src/main/java/com/ims/eval/controller/DeptResponsibilityController.java
  3. 6 6
      ims-service/ims-eval/src/main/java/com/ims/eval/controller/IndicatorController.java
  4. 13 0
      ims-service/ims-eval/src/main/java/com/ims/eval/dao/IndicatorMapper.java
  5. 12 1
      ims-service/ims-eval/src/main/java/com/ims/eval/entity/Indicator.java
  6. 14 2
      ims-service/ims-eval/src/main/java/com/ims/eval/entity/OrganizationEvaluationRule.java
  7. 1 0
      ims-service/ims-eval/src/main/java/com/ims/eval/launch/LauncherServiceImpl.java
  8. 6 0
      ims-service/ims-eval/src/main/java/com/ims/eval/service/IDeptResponsibilityService.java
  9. 3 0
      ims-service/ims-eval/src/main/java/com/ims/eval/service/IEvaluateRuleInfoService.java
  10. 3 0
      ims-service/ims-eval/src/main/java/com/ims/eval/service/IEvaluateRuleService.java
  11. 4 2
      ims-service/ims-eval/src/main/java/com/ims/eval/service/IIndicatorService.java
  12. 78 16
      ims-service/ims-eval/src/main/java/com/ims/eval/service/impl/DeptResponsibilityServiceImpl.java
  13. 10 0
      ims-service/ims-eval/src/main/java/com/ims/eval/service/impl/EvaluateRuleInfoServiceImpl.java
  14. 12 0
      ims-service/ims-eval/src/main/java/com/ims/eval/service/impl/EvaluateRuleServiceImpl.java
  15. 19 6
      ims-service/ims-eval/src/main/java/com/ims/eval/service/impl/IndicatorServiceImpl.java
  16. 42 3
      ims-service/ims-eval/src/main/java/com/ims/eval/service/impl/OrganizationEvaluationRuleServiceImpl.java
  17. 70 0
      ims-service/ims-eval/src/main/resources/mappers/IndicatorMapper.xml
  18. 3 0
      ims-service/ims-eval/src/main/resources/mappers/OrganizationEvaluationRuleMapper.xml

+ 194 - 0
ims-common/src/main/java/com/ims/common/utils/DateUtils.java

@@ -0,0 +1,194 @@
+package com.ims.common.utils;
+
+
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.util.Calendar;
+import java.util.Date;
+
+public class DateUtils {
+
+	private static final String format = "yyyy-MM-dd";
+	private static final String format1 = "yyyy-MM-dd HH:mm:ss";
+	private static final String format2 = "MM/dd/yyyy HH:mm:ss";
+	private static final String format3 = "yyyy-MM";
+
+	// 第一次调用get将返回null
+	private static ThreadLocal<SimpleDateFormat> threadLocal = new ThreadLocal<SimpleDateFormat>();
+
+	// 获取线程的变量副本,如果不覆盖initialValue,第一次get返回null,故需要初始化一个SimpleDateFormat,并set到threadLocal中
+
+	/**
+	 * yyyy-MM-dd
+	 *
+	 * @return
+	 */
+	public static SimpleDateFormat getFormat() {
+		SimpleDateFormat df = (SimpleDateFormat) threadLocal.get();
+		if (df == null) {
+			df = new SimpleDateFormat(format);
+			threadLocal.set(df);
+		}
+		return df;
+
+	}
+
+
+	/**
+	 * yyyy-MM-dd HH:mm:ss
+	 *
+	 * @return
+	 */
+	public static SimpleDateFormat getFormat1() {
+
+		SimpleDateFormat df1 = (SimpleDateFormat) threadLocal.get();
+
+		if (df1 == null) {
+			df1 = new SimpleDateFormat(format1);
+			threadLocal.set(df1);
+		}
+
+		return df1;
+
+	}
+
+	/**
+	 * MM/dd/yyyy HH:mm:ss
+	 *
+	 * @return
+	 */
+	public static SimpleDateFormat getFormat2() {
+
+		SimpleDateFormat df2 = (SimpleDateFormat) threadLocal.get();
+
+		if (df2 == null) {
+			df2 = new SimpleDateFormat(format2);
+			threadLocal.set(df2);
+		}
+
+		return df2;
+
+	}
+
+	/**
+	 * yyyy-MM
+	 *
+	 * @return
+	 */
+	public static SimpleDateFormat getFormat3() {
+
+		SimpleDateFormat df3 = (SimpleDateFormat) threadLocal.get();
+
+		if (df3 == null) {
+			df3 = new SimpleDateFormat(format3);
+			threadLocal.set(df3);
+		}
+
+		return df3;
+
+	}
+
+	/**
+	 * 获取当前日期
+	 *
+	 * @param
+	 * @return Date
+	 */
+	public static Date getCurrentDate() {
+		Calendar calendar = Calendar.getInstance();
+		Date date = calendar.getTime();
+		return date;
+	}
+
+
+	public static String toDate(Date date) {
+		return getFormat().format(date);
+	}
+
+	public static Date toDate(String date) {
+		try {
+			return getFormat().parse(date);
+		} catch (ParseException e) {
+			e.printStackTrace();
+		}
+		return null;
+	}
+
+	/**
+	 * 获取年份
+	 *
+	 * @param date
+	 * @return
+	 */
+	public static int getYear(Date date) {
+		Calendar calendar = Calendar.getInstance();
+		calendar.setTime(date);
+		int year = calendar.get(Calendar.YEAR);
+		return year;
+	}
+
+	/**
+	 * 获取月份
+	 *
+	 * @param date
+	 * @return
+	 */
+	public static int getMonth(Date date) {
+		Calendar calendar = Calendar.getInstance();
+		calendar.setTime(date);
+		int month = calendar.get(Calendar.MONTH)+1;
+		return month;
+	}
+
+	/**
+	 * 获取当前时间季度
+	 *
+	 * @param date
+	 * @return
+	 */
+	public static int getSeason(Date date) {
+		int month = 0;
+		try {
+			Calendar calendar = Calendar.getInstance();
+			calendar.setTime(date);
+			//由于month从0开始,所有这里+1
+			month = calendar.get(Calendar.MONTH) + 1;
+		} catch (Exception e) {
+			return 0;
+		}
+		int quarter = month % 3 == 0 ? month / 3 : month / 3 + 1;
+		return quarter;
+	}
+
+
+	public static String[] getSeasonDay(Date date) {
+		SimpleDateFormat sdf = new SimpleDateFormat(format);
+		if (null == date) {
+			date = new Date();
+		}
+		Calendar c = Calendar.getInstance();
+		c.setTime(date);
+		int month = c.get(Calendar.MONTH);
+		//数学原理:
+		// moth属性=月份-1,3个月=1季度,
+		// 那么季度的最大月份÷3 =季度,(月份-1(即month属性))÷3向下取整 = 上一个季度;
+		// 上个季度*3=上个季度最大月份=当前季度最小月份-1=当前季度最小月份month属性
+		Calendar startC = Calendar.getInstance();
+		startC.setTime(date);
+		int seasonStartMonthNum = (int) (Math.floor(month / 3.0) * 3);
+		startC.set(Calendar.MONTH, seasonStartMonthNum);
+		startC.set(Calendar.DAY_OF_MONTH, 1);
+		String seasonStartDateStr = sdf.format(startC.getTime());
+		Calendar endC = Calendar.getInstance();
+		endC.setTime(date);
+		//当前季度最大月=当前最小月+2;
+		int seasonEndMonthNum;
+		seasonEndMonthNum = seasonStartMonthNum + 2;
+		endC.set(Calendar.MONTH, seasonEndMonthNum);
+		endC.set(Calendar.DAY_OF_MONTH, endC.getActualMaximum(Calendar.DAY_OF_MONTH));
+		String seasonEndDateStr = sdf.format(endC.getTime());
+		return new String[]{seasonStartDateStr, seasonEndDateStr};
+	}
+
+
+}

+ 36 - 13
ims-service/ims-eval/src/main/java/com/ims/eval/controller/DeptResponsibilityController.java

@@ -24,24 +24,24 @@ import org.springframework.web.bind.annotation.*;
 public class DeptResponsibilityController {
 
 
-
 	@Autowired
 	private IDeptResponsibilityService deptResponsibilityService;
 
 
 	/**
 	 * 分页查询
-	 * @param pageNum          当前页数
-	 * @param pageSize         当前页大小
-	 * @param id               主键
+	 *
+	 * @param pageNum    当前页数
+	 * @param pageSize   当前页大小
+	 * @param id         主键
 	 * @param cycleUnit  周期单位
 	 * @param checkCycle 周期
-	 * @param beginDate 考核开始时间
-	 * @param endDate 考核截止时间
-	 * @param stage 审批状态
-	 * @param createBy 创建者
-	 * @param year 年
-	 * @param month 月
+	 * @param beginDate  考核开始时间
+	 * @param endDate    考核截止时间
+	 * @param stage      审批状态
+	 * @param createBy   创建者
+	 * @param year       
+	 * @param month      
 	 * @return
 	 */
 	//@ImsPreAuth("eval:deptResponsibility:view")
@@ -58,12 +58,11 @@ public class DeptResponsibilityController {
 				  @RequestParam(value = "createBy", required = false) String createBy,
 				  @RequestParam(value = "year", required = false) String year,
 				  @RequestParam(value = "month", required = false) String month) {
-		IPage<DeptResponsibility> list = deptResponsibilityService.list(pageNum, pageSize, id, cycleUnit, checkCycle, beginDate, endDate, binStage, stage, createBy,year, month);
+		IPage<DeptResponsibility> list = deptResponsibilityService.list(pageNum, pageSize, id, cycleUnit, checkCycle, beginDate, endDate, binStage, stage, createBy, year, month);
 		return R.ok().data(null);
 	}
 
 
-
 	/**
 	 * 添加
 	 *
@@ -83,12 +82,36 @@ public class DeptResponsibilityController {
 			} else {
 				return R.error().data("保存失败!");
 			}
-		} catch (CustomException e){
+		} catch (CustomException e) {
 			return R.customError(e.getMessage()).data("失败!");
 		}
 	}
 
 
+	/**
+	 * 生成目标责任书
+	 *
+	 * @param orgEvalRuleId 组织拷屏id
+	 * @param date          日期(预留指定生成某个月的目标责任书)
+	 * @return
+	 */
+	//@ImsPreAuth("eval:deptResponsibility:edit")
+	@PostMapping(value = "/generate")
+	@ApiOperation(value = "生成部门责任书", notes = "生成部门责任书")
+	public R generateResponsibility(@RequestParam(value = "orgEvalRuleId", required = true) String orgEvalRuleId,
+									@RequestParam(value = "date", required = false) String date) {
+
+		try {
+			boolean b = false;//  deptResponsibilityService.saveOrUpdate();
+			if (b) {
+				return R.ok().data(b);
+			} else {
+				return R.error().data("保存失败!");
+			}
+		} catch (CustomException e) {
+			return R.customError(e.getMessage()).data("失败!");
+		}
+	}
 
 
 }

+ 6 - 6
ims-service/ims-eval/src/main/java/com/ims/eval/controller/IndicatorController.java

@@ -43,7 +43,7 @@ public class IndicatorController {
 	 *
 	 * @param id            主键ID
 	 * @param indicatorName 指标名称
-	 * @param indicatorCede 指标编码
+	 * @param indicatorCode 指标编码
 	 * @param binSection    业务版块
 	 * @param binStage      业务阶段
 	 * @param dept          部门
@@ -56,12 +56,12 @@ public class IndicatorController {
 				  @RequestParam(value = "pageSize") Integer pageSize,
 				  @RequestParam(value = "id", required = false) String id,
 				  @RequestParam(value = "indicatorName", required = false) String indicatorName,
-				  @RequestParam(value = "indicatorCede", required = false) String indicatorCede,
+				  @RequestParam(value = "indicatorCode", required = false) String indicatorCode,
 				  @RequestParam(value = "binSection", required = false) String binSection,
 				  @RequestParam(value = "binStage", required = false) String binStage,
 				  @RequestParam(value = "dept", required = false) String dept,
 				  @RequestParam(value = "company", required = false) String company) {
-		IPage<Indicator> list = iIndicatorService.list(pageNum, pageSize, id, indicatorName, indicatorCede, binSection, binStage, dept, company);
+		IPage<Indicator> list = iIndicatorService.list(pageNum, pageSize, id, indicatorName, indicatorCode, binSection, binStage, dept, company);
 		return R.ok().data(list);
 	}
 
@@ -71,7 +71,7 @@ public class IndicatorController {
 	 *
 	 * @param id            主键ID
 	 * @param indicatorName 指标名称
-	 * @param indicatorCede 指标编码
+	 * @param indicatorCode 指标编码
 	 * @param binSection    业务版块
 	 * @param binStage      业务阶段
 	 * @param dept          部门
@@ -83,12 +83,12 @@ public class IndicatorController {
 	public R listAll(
 		@RequestParam(value = "id", required = false) String id,
 		@RequestParam(value = "indicatorName", required = false) String indicatorName,
-		@RequestParam(value = "indicatorCede", required = false) String indicatorCede,
+		@RequestParam(value = "indicatorCode", required = false) String indicatorCode,
 		@RequestParam(value = "binSection", required = false) String binSection,
 		@RequestParam(value = "binStage", required = false) String binStage,
 		@RequestParam(value = "dept", required = false) String dept,
 		@RequestParam(value = "company", required = false) String company) {
-		List<Indicator> list = iIndicatorService.listAll(id, indicatorName, indicatorCede, binSection, binStage, dept, company);
+		List<Indicator> list = iIndicatorService.listAll(id, indicatorName, indicatorCode, binSection, binStage, dept, company);
 		return R.ok().data(list);
 	}
 

+ 13 - 0
ims-service/ims-eval/src/main/java/com/ims/eval/dao/IndicatorMapper.java

@@ -1,7 +1,10 @@
 package com.ims.eval.dao;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.ims.eval.entity.Indicator;
+import com.ims.eval.entity.OrganizationEvaluationRule;
 import org.apache.ibatis.annotations.Param;
 
 /**
@@ -15,4 +18,14 @@ import org.apache.ibatis.annotations.Param;
 public interface IndicatorMapper extends BaseMapper<Indicator> {
 
     Indicator selectByCode(@Param("code") String code);
+
+	IPage<Indicator> seleclistPage( Page page,@Param("id") String id,
+							@Param("indicatorName") String indicatorName,
+							@Param("indicatorCode")  String indicatorCode,
+							@Param("binSection") String binSection,
+							@Param("binStage") String binStage,
+							@Param("dept") String dept,
+							@Param("company") String company);
+
+
 }

+ 12 - 1
ims-service/ims-eval/src/main/java/com/ims/eval/entity/Indicator.java

@@ -59,7 +59,7 @@ public class Indicator extends Model {
 	/**
 	 * 是否主子指标
 	 */
-	private Boolean isChild;
+	private boolean isChild;
 
 
 
@@ -136,5 +136,16 @@ public class Indicator extends Model {
      */
     private Integer orderNum;
 
+	/**
+	 * 备注
+	 */
+	private String indicatorTypeId;
+
+	/**
+	 * 备注
+	 */
+	@TableField(exist = false)
+	private String indicatorTypeName;
+
 
 }

+ 14 - 2
ims-service/ims-eval/src/main/java/com/ims/eval/entity/OrganizationEvaluationRule.java

@@ -58,6 +58,12 @@ public class OrganizationEvaluationRule extends Model {
 	private String binStage;
 
 	/**
+	 * 业务阶段name
+	 */
+	@TableField(exist = false)
+	private String binStageName;
+
+	/**
 	 * 考评周期
 	 */
 	private String evaluationCycle;
@@ -68,6 +74,12 @@ public class OrganizationEvaluationRule extends Model {
 	private String evaluateRuleId;
 
 	/**
+	 * 考评规则name
+	 */
+	@TableField(exist = false)
+	private String evaluateRuleName;
+
+	/**
 	 * 创建时间
 	 */
 	private Date createTime;
@@ -91,12 +103,12 @@ public class OrganizationEvaluationRule extends Model {
 	 * 删除标记(false 为未删除,true 为已删除)
 
 	 */
-	private Boolean delFlag;
+	private boolean delFlag;
 
 	/**
 	 * 是否考核(false;未考核;true:以考核)
 	 */
-	private Boolean isCheck;
+	private boolean isCheck;
 
 	/**
 	 * 生产经营权重

+ 1 - 0
ims-service/ims-eval/src/main/java/com/ims/eval/launch/LauncherServiceImpl.java

@@ -15,6 +15,7 @@ public class LauncherServiceImpl implements LauncherService {
 		//sh startup.sh -m standalone
 		//bash startup.sh -m standalone
 		//NACOS_ADDR=10.65.78.23:8848
+		//NACOS_ADDR=123.60.219.66:8848
 		Properties props = System.getProperties();
 		props.setProperty("spring.cloud.nacos.config.shared-dataids", "gddl_dbkp.yaml");
 	}

+ 6 - 0
ims-service/ims-eval/src/main/java/com/ims/eval/service/IDeptResponsibilityService.java

@@ -4,6 +4,8 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.ims.eval.entity.DeptResponsibility;
 import com.baomidou.mybatisplus.extension.service.IService;
 
+import java.util.List;
+
 /**
  * <p>
  * 部门目标责任表 服务类
@@ -16,4 +18,8 @@ public interface IDeptResponsibilityService extends IService<DeptResponsibility>
 
 	IPage<DeptResponsibility> list(Integer pageNum, Integer pageSize, String id, String cycleUnit, String checkCycle, String beginDate, String endDate, String binStage, String stage, String createBy, String year, String month);
 
+	List<DeptResponsibility> list( String organizationId, String checkCycle,  String year, String month);
+
+
+	boolean generateResponsibility(String orgEvalRuleId,String date);
 }

+ 3 - 0
ims-service/ims-eval/src/main/java/com/ims/eval/service/IEvaluateRuleInfoService.java

@@ -17,4 +17,7 @@ public interface IEvaluateRuleInfoService extends IService<EvaluateRuleInfo> {
 
 	List<EvaluateRuleInfo> list(String id, String des, String indicatorId,String evaluateRuleId);
 
+
+	List<EvaluateRuleInfo> list(List<String> evaluateRuleIds);
+
 }

+ 3 - 0
ims-service/ims-eval/src/main/java/com/ims/eval/service/IEvaluateRuleService.java

@@ -21,4 +21,7 @@ public interface IEvaluateRuleService extends IService<EvaluateRule> {
 
 	List<EvaluateRule> listAll( String id, String des, String binSection, String binStage);
 
+
+	List<EvaluateRule> listAll(List<String> ids);
+
 }

+ 4 - 2
ims-service/ims-eval/src/main/java/com/ims/eval/service/IIndicatorService.java

@@ -19,9 +19,11 @@ import java.util.Map;
 public interface IIndicatorService extends IService<Indicator> {
 
 
-	IPage<Indicator> list(Integer pageNum, Integer pageSize, String id, String indicatorName, String indicatorCede, String binSection, String binStage, String dept, String company);
+	IPage<Indicator> list(Integer pageNum, Integer pageSize, String id, String indicatorName, String indicatorCode, String binSection, String binStage, String dept, String company);
 
-	List<Indicator> listAll(String id, String indicatorName, String indicatorCede, String binSection, String binStage, String dept, String company);
+	IPage<Indicator> list2(Integer pageNum, Integer pageSize, String id, String indicatorName, String indicatorCode, String binSection, String binStage, String dept, String company);
+
+	List<Indicator> listAll(String id, String indicatorName, String indicatorCode, String binSection, String binStage, String dept, String company);
 
 	Indicator selectByCode(String indicatorCode);
 }

+ 78 - 16
ims-service/ims-eval/src/main/java/com/ims/eval/service/impl/DeptResponsibilityServiceImpl.java

@@ -2,16 +2,24 @@ package com.ims.eval.service.impl;
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.ims.common.utils.DateUtils;
+import com.ims.common.utils.StringUtils;
 import com.ims.eval.config.CustomException;
 import com.ims.eval.entity.DeptResponsibility;
 import com.ims.eval.dao.DeptResponsibilityMapper;
+import com.ims.eval.entity.EvaluateRule;
+import com.ims.eval.entity.EvaluateRuleInfo;
+import com.ims.eval.entity.OrganizationEvaluationRule;
 import com.ims.eval.service.*;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
+import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.Date;
 import java.util.List;
+import java.util.stream.Collectors;
 
 /**
  * <p>
@@ -47,22 +55,76 @@ public class DeptResponsibilityServiceImpl extends ServiceImpl<DeptResponsibilit
 	 */
 	private IEvaluateRuleService evaluateRuleService;
 
-
+	/**
+	 * 考评规则明细业务类
+	 */
+	private IEvaluateRuleInfoService evaluateRuleInfoService;
 
 
 	@Override
 	public IPage<DeptResponsibility> list(Integer pageNum, Integer pageSize, String id, String cycleUnit, String checkCycle, String beginDate, String endDate, String binStage, String stage, String createBy, String year, String month) {
+
 		return null;
 	}
 
+
+	@Override
+	public boolean generateResponsibility(String orgEvalRuleId, String date) {
+
+		Date newDate;
+		//获取当前时间
+		if (StringUtils.isEmpty(date)) {
+			newDate = DateUtils.getCurrentDate();
+		} else {
+			newDate = DateUtils.toDate(date);
+		}
+
+
+		//获取指定部门的规则
+		OrganizationEvaluationRule evaluationRule = organizationEvaluationRuleService.getById(orgEvalRuleId);
+		if (null == evaluationRule) {
+			throw new CustomException("不存在此单位权重配置");
+		}
+		//判断该是否存在目标责任书
+		List<DeptResponsibility> oriList = new ArrayList<>();
+		if ("NDKP".equals(evaluationRule.getEvaluationCycle())) {
+			oriList = list(evaluationRule.getOrganizationId(), evaluationRule.getEvaluationCycle(), String.valueOf(DateUtils.getYear(newDate)), "");
+		}
+		if ("JDKP".equals(evaluationRule.getEvaluationCycle())) {
+			oriList = list(evaluationRule.getOrganizationId(), evaluationRule.getEvaluationCycle(), String.valueOf(DateUtils.getYear(newDate)), String.valueOf(DateUtils.getSeason(newDate)));
+		}
+		if ("YDKP".equals(evaluationRule.getEvaluationCycle())) {
+			oriList = list(evaluationRule.getOrganizationId(), evaluationRule.getEvaluationCycle(), String.valueOf(DateUtils.getYear(newDate)), String.valueOf(DateUtils.getYear(newDate)));
+		}
+		if(oriList.size()>0){
+			throw new CustomException("已存在该单位目标责任书");
+		}
+
+		//获取对应的考评规(至少存在一条)
+		List<String> evaluateRuleIds = Arrays.asList(evaluationRule.getEvaluateRuleId().split(","));
+		List<EvaluateRule> evaluateRuleList = evaluateRuleService.listAll(evaluateRuleIds);
+		if(null == evaluateRuleList || evaluateRuleList.size()<=0){
+			throw new CustomException("未获取到配置的规则");
+		}
+
+		//获取考评规则的id
+		List<String> ruleIds =  evaluateRuleList.stream().map(EvaluateRule::getId).collect(Collectors.toList());
+		//通过规则id获取对应的规则明细
+		List<EvaluateRuleInfo>  ruleInfos = evaluateRuleInfoService.list(ruleIds);
+
+
+
+		return false;
+	}
+
 	@Transactional
 	@Override
 	public boolean saveOrUpdate(DeptResponsibility entity) {
 		QueryWrapper<DeptResponsibility> qw = new QueryWrapper();
 		if (null != entity && (null == entity.getId() || "".equals(entity.getId().trim()))) {
-			qw.lambda().eq(DeptResponsibility::getOrganizationId,entity.getOrganizationId());
-			qw.lambda().eq(DeptResponsibility::getCheckCycle,entity.getCheckCycle());
-			qw.lambda().eq(DeptResponsibility::getYear,entity.getYear());
+			qw.lambda().eq(DeptResponsibility::getOrganizationId, entity.getOrganizationId());
+			qw.lambda().eq(DeptResponsibility::getCheckCycle, entity.getCheckCycle());
+			qw.lambda().eq(DeptResponsibility::getYear, entity.getYear());
 			List<DeptResponsibility> list = baseMapper.selectList(qw);
 			if (null != list && list.size() > 0) {
 				throw new CustomException("此单位在该阶段已存在目标责任书");
@@ -74,19 +136,19 @@ public class DeptResponsibilityServiceImpl extends ServiceImpl<DeptResponsibilit
 		}
 
 		boolean b = super.saveOrUpdate(entity);
-		//判断目标责任书主表新增成功
-		if(b){
 
-			//获取当前单位对应的考评规则
-			entity.getOrganizationId();
-			//周期
-			entity.getCheckCycle();
-
-//			organizationEvaluationRuleService
-
-
-		}
+		return b;
+	}
 
-		return b ;
+	@Override
+	public List<DeptResponsibility> list(String organizationId, String checkCycle, String year, String month) {
+		QueryWrapper<DeptResponsibility> qw = new QueryWrapper<>();
+		qw.lambda().eq(DeptResponsibility::getOrganizationId, organizationId);
+		qw.lambda().eq(DeptResponsibility::getCheckCycle, checkCycle);
+		qw.lambda().eq(DeptResponsibility::getYear, year);
+		qw.lambda().in(DeptResponsibility::getYear, month);
+		List<DeptResponsibility> list = baseMapper.selectList(qw);
+		return list;
 	}
+
 }

+ 10 - 0
ims-service/ims-eval/src/main/java/com/ims/eval/service/impl/EvaluateRuleInfoServiceImpl.java

@@ -51,6 +51,16 @@ public class EvaluateRuleInfoServiceImpl extends ServiceImpl<EvaluateRuleInfoMap
 		return list;
 	}
 
+	@Override
+	public List<EvaluateRuleInfo> list(List<String> evaluateRuleIds) {
+		QueryWrapper<EvaluateRuleInfo> qw = new QueryWrapper<>();
+		if (null == evaluateRuleIds || evaluateRuleIds.size()<= 0) {
+			qw.lambda().in(EvaluateRuleInfo::getEvaluateRuleId, evaluateRuleIds);
+		}
+		List<EvaluateRuleInfo> list = baseMapper.selectList(qw);
+		return list;
+	}
+
 
 	@Override
 	public boolean saveOrUpdate(EvaluateRuleInfo entity) {

+ 12 - 0
ims-service/ims-eval/src/main/java/com/ims/eval/service/impl/EvaluateRuleServiceImpl.java

@@ -96,6 +96,18 @@ public class EvaluateRuleServiceImpl extends ServiceImpl<EvaluateRuleMapper, Eva
 	}
 
 	@Override
+	public List<EvaluateRule> listAll(List<String> ids) {
+		QueryWrapper<EvaluateRule> qw = new QueryWrapper<>();
+
+		if (null == ids || ids.size()<=0) {
+			throw new CustomException("未配置规则");
+		}
+		qw.lambda().in(EvaluateRule::getId, ids);
+		List<EvaluateRule> list = baseMapper.selectList(qw);
+		return list;
+	}
+
+	@Override
 	public boolean saveOrUpdate(EvaluateRule entity) {
 
 		if (null != entity && (null == entity.getId() || "".equals(entity.getId().trim()))) {

+ 19 - 6
ims-service/ims-eval/src/main/java/com/ims/eval/service/impl/IndicatorServiceImpl.java

@@ -34,7 +34,7 @@ public class IndicatorServiceImpl extends ServiceImpl<IndicatorMapper, Indicator
 	private IndicatorDictionaryMapper indicatorDictionaryMapper;
 
 	@Override
-	public IPage<Indicator> list(Integer pageNum, Integer pageSize, String id, String indicatorName, String indicatorCede, String binSection, String binStage, String dept, String company) {
+	public IPage<Indicator> list(Integer pageNum, Integer pageSize, String id, String indicatorName, String indicatorCode, String binSection, String binStage, String dept, String company) {
 
 		QueryWrapper<Indicator> qw = new QueryWrapper<>();
 		if (null == pageNum || null == pageSize) {
@@ -42,6 +42,7 @@ public class IndicatorServiceImpl extends ServiceImpl<IndicatorMapper, Indicator
 		}
 		//构造分页构造器
 		Page<Indicator> page = new Page<>(pageNum, pageSize);
+
 		if (StringUtils.isNotEmpty(id)) {
 			qw.lambda().eq(Indicator::getId, id);
 		}
@@ -50,8 +51,8 @@ public class IndicatorServiceImpl extends ServiceImpl<IndicatorMapper, Indicator
 			qw.lambda().like(Indicator::getIndicatorName, indicatorName);
 		}
 
-		if (StringUtils.isNotEmpty(indicatorCede)) {
-			qw.lambda().like(Indicator::getIndicatorCode, indicatorCede);
+		if (StringUtils.isNotEmpty(indicatorCode)) {
+			qw.lambda().like(Indicator::getIndicatorCode, indicatorCode);
 		}
 
 		if (StringUtils.isNotEmpty(binSection)) {
@@ -83,7 +84,18 @@ public class IndicatorServiceImpl extends ServiceImpl<IndicatorMapper, Indicator
 	}
 
 	@Override
-	public List<Indicator> listAll(String id, String indicatorName, String indicatorCede, String binSection, String binStage, String dept, String company) {
+	public IPage<Indicator> list2(Integer pageNum, Integer pageSize, String id, String indicatorName, String indicatorCode, String binSection, String binStage, String dept, String company) {
+		Page<Indicator> page = new Page<>(pageNum, pageSize);
+		IPage<Indicator> list = baseMapper.seleclistPage(page, id, indicatorName, indicatorCode, binSection, binStage, dept, company);
+		list.getRecords().stream().forEach(l->{
+			l.setBinSectionName(null == CacheContext.ddNameMap.get(l.getBinSection()) ? "" :CacheContext.ddNameMap.get(l.getBinSection()));
+			l.setBinStageName(null == CacheContext.ddNameMap.get(l.getBinStage()) ? "" : CacheContext.ddNameMap.get(l.getBinStage()));
+		});
+		return list;
+	}
+
+	@Override
+	public List<Indicator> listAll(String id, String indicatorName, String indicatorCode, String binSection, String binStage, String dept, String company) {
 		QueryWrapper<Indicator> qw = new QueryWrapper<>();
 
 
@@ -95,8 +107,8 @@ public class IndicatorServiceImpl extends ServiceImpl<IndicatorMapper, Indicator
 			qw.lambda().like(Indicator::getIndicatorName, indicatorName);
 		}
 
-		if (StringUtils.isNotEmpty(indicatorCede)) {
-			qw.lambda().like(Indicator::getIndicatorCode, indicatorCede);
+		if (StringUtils.isNotEmpty(indicatorCode)) {
+			qw.lambda().like(Indicator::getIndicatorCode, indicatorCode);
 		}
 
 		if (StringUtils.isNotEmpty(binSection)) {
@@ -117,6 +129,7 @@ public class IndicatorServiceImpl extends ServiceImpl<IndicatorMapper, Indicator
 		qw.lambda().orderByAsc(Indicator::getOrderNum);
 
 		List<Indicator> list = baseMapper.selectList(qw);
+
 		list.stream().forEach(l->{
 			l.setBinSectionName(null == CacheContext.ddNameMap.get(l.getBinSection()) ? "" :CacheContext.ddNameMap.get(l.getBinSection()));
 			l.setBinStageName(null == CacheContext.ddNameMap.get(l.getBinStage()) ? "" : CacheContext.ddNameMap.get(l.getBinStage()));

+ 42 - 3
ims-service/ims-eval/src/main/java/com/ims/eval/service/impl/OrganizationEvaluationRuleServiceImpl.java

@@ -6,11 +6,15 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.ims.common.utils.StringUtils;
 import com.ims.eval.cache.CacheContext;
 import com.ims.eval.config.CustomException;
+import com.ims.eval.entity.EvaluateRule;
+import com.ims.eval.entity.IndicatorType;
 import com.ims.eval.entity.OrganizationEvaluationRule;
 import com.ims.eval.dao.OrganizationEvaluationRuleMapper;
 import com.ims.eval.entity.dto.request.OrganizationEvaluationRuleDTO;
+import com.ims.eval.service.IEvaluateRuleService;
 import com.ims.eval.service.IOrganizationEvaluationRuleService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
@@ -30,6 +34,11 @@ import java.util.List;
 @Service
 public class OrganizationEvaluationRuleServiceImpl extends ServiceImpl<OrganizationEvaluationRuleMapper, OrganizationEvaluationRule> implements IOrganizationEvaluationRuleService {
 
+
+	@Autowired
+	private IEvaluateRuleService evaluateRuleService;
+
+
 	@Override
 	public IPage<OrganizationEvaluationRule> list(Integer pageNum, Integer pageSize, String id, String organizationName, String organizationId, String organizationType, String binSection, String binStage, String evaluationCycle) {
 		QueryWrapper<OrganizationEvaluationRule> qw = new QueryWrapper<>();
@@ -67,6 +76,9 @@ public class OrganizationEvaluationRuleServiceImpl extends ServiceImpl<Organizat
 		}
 
 
+		qw.lambda().eq(OrganizationEvaluationRule::isDelFlag, false);
+
+
 		qw.lambda().orderByAsc(OrganizationEvaluationRule::getOrderNum);
 
 		IPage<OrganizationEvaluationRule> list = baseMapper.selectPage(page, qw);
@@ -82,7 +94,7 @@ public class OrganizationEvaluationRuleServiceImpl extends ServiceImpl<Organizat
 	@Override
 	public List<OrganizationEvaluationRule> listAll(String id, String organizationName, String organizationId, String organizationType, String binSection, String binStage, String evaluationCycle) {
 		QueryWrapper<OrganizationEvaluationRule> qw = new QueryWrapper<>();
-		//构造分页构造器
+
 		if (StringUtils.isNotEmpty(id)) {
 			qw.lambda().eq(OrganizationEvaluationRule::getId, id);
 		}
@@ -111,6 +123,7 @@ public class OrganizationEvaluationRuleServiceImpl extends ServiceImpl<Organizat
 			qw.lambda().eq(OrganizationEvaluationRule::getEvaluationCycle, evaluationCycle);
 		}
 
+		qw.lambda().eq(OrganizationEvaluationRule::isDelFlag, false);
 
 		qw.lambda().orderByAsc(OrganizationEvaluationRule::getOrderNum);
 
@@ -129,6 +142,20 @@ public class OrganizationEvaluationRuleServiceImpl extends ServiceImpl<Organizat
 		IPage<OrganizationEvaluationRule>  list = baseMapper.list(page, id, organizationName, organizationId, organizationType, binSection, binStage, evaluationCycle);
 		list.getRecords().stream().forEach(l->{
 			l.setBinSectionName(null == CacheContext.ddNameMap.get(l.getBinSection()) ? "" :CacheContext.ddNameMap.get(l.getBinSection()));
+
+			StringBuilder binStageName =  new StringBuilder();
+			for (String stage : l.getBinStage().split(",")){
+				binStageName.append(null == CacheContext.ddNameMap.get(stage) ? "" :CacheContext.ddNameMap.get(stage)).append(",");
+			}
+
+			l.setBinStageName(binStageName.toString().length()>0?binStageName.toString().substring(0,binStageName.toString().length()-1):"");
+
+			StringBuilder ruleName = new StringBuilder();
+			for (String ruleId :l.getEvaluateRuleId().split(",")){
+				ruleName.append(evaluateRuleService.getById(ruleId).getRuleName()).append(",");
+			}
+			l.setEvaluateRuleName(ruleName.toString().length()>0?ruleName.toString().substring(0,ruleName.toString().length()-1):"");
+
 		});
 		return list;
 	}
@@ -156,7 +183,19 @@ public class OrganizationEvaluationRuleServiceImpl extends ServiceImpl<Organizat
 	@Transactional
 	@Override
 	public boolean removeByIds(Collection<? extends Serializable> idList) {
-		super.removeByIds(idList);
-		return false;
+
+		for (Serializable ids  :idList){
+			OrganizationEvaluationRule rule = baseMapper.selectById(ids);
+			if(null == rule){
+				throw new CustomException("查无该记录");
+			}
+			rule.setDelFlag(true);
+			rule.setUpdateTime(new Date());
+			int num = baseMapper.updateById(rule);
+			if (num<=0){
+				throw new CustomException("删除失败");
+			}
+		}
+		return true;
 	}
 }

+ 70 - 0
ims-service/ims-eval/src/main/resources/mappers/IndicatorMapper.xml

@@ -2,6 +2,36 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.ims.eval.dao.IndicatorMapper">
 
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.ims.eval.entity.Indicator">
+        <id column="id" property="id" />
+        <result column="indicator_name" property="indicatorName" />
+        <result column="indicator_code" property="indicatorCode" />
+        <result column="unit" property="unit" />
+        <result column="indicator_type_id" property="indicatorTypeId" />
+        <result column="coefficient" property="coefficient" />
+        <result column="is_quantified" property="isQuantified" />
+        <result column="is_additional" property="isAdditional" />
+        <result column="is_child" property="isChild" />
+        <result column="bin_section" property="binSection" />
+        <result column="bin_stage" property="binStage" />
+        <result column="dept" property="dept" />
+        <result column="company" property="company" />
+        <result column="create_time" property="createTime" />
+        <result column="update_time" property="updateTime" />
+        <result column="create_by" property="createBy" />
+        <result column="update_by" property="updateBy" />
+        <result column="enable" property="enable" />
+        <result column="remark" property="remark" />
+        <result column="des" property="des" />
+        <result column="order_num" property="orderNum" />
+    </resultMap>
+
+    <!-- 通用查询结果列 -->
+    <sql id="Base_Column_List">
+        id, indicator_name, indicator_code, unit, indicator_type_id, coefficient, is_quantified, is_additional, is_child, bin_section, bin_stage, dept, company, create_time, update_time, create_by, update_by, enable, remark, des, order_num
+    </sql>
+
     <select id="selectByCode" resultType="com.ims.eval.entity.Indicator">
         SELECT
             *
@@ -11,5 +41,45 @@
 
     </select>
 
+    <select id="seleclistPage" resultType="com.ims.eval.entity.Indicator">
+
+        SELECT
+        i.*,t.type_name indicatorTypeName
+        FROM
+        indicator i
+        LEFT JOIN indicator_type t  ON i.indicator_type_id = t.id
+        <where>
+
+
+            <if test="id !=null and id !=''">
+                AND i.id = #{id}
+            </if>
+            <if test="indicatorName !=null and indicatorName !=''">
+                AND i.indicator_name like   CONCAT('%',#{indicatorName},'%')
+            </if>
+
+            <if test="indicatorCode !=null and indicatorCode !=''">
+                AND i.indicator_code = #{indicatorCode}
+            </if>
+
+            <if test="binSection !=null and binSection !=''">
+                AND i.bin_section = #{binSection}
+            </if>
+
+            <if test="binStage !=null and binStage !=''">
+                AND i.bin_stage = #{binStage}
+            </if>
+
+            <if test="dept !=null and dept !=''">
+                AND i.dept = #{dept}
+            </if>
+
+            <if test="company !=null and company !=''">
+                AND i.company = #{company}
+            </if>
+
+        </where>
+
+    </select>
 
 </mapper>

+ 3 - 0
ims-service/ims-eval/src/main/resources/mappers/OrganizationEvaluationRuleMapper.xml

@@ -34,6 +34,9 @@
             organization_evaluation_rule r
             LEFT JOIN evaluate_rule i ON r.evaluate_rule_id = i.ID
             <where>
+
+                and  r.del_flag = false
+
                 <if test="id !=null and id !=''">
                     AND r.id = #{id}
                 </if>