Commit 55921326 by tangzhaoqian

绩效-我的绩效-已处理、绩效默认设置、审批bug

parent 29f78e74
......@@ -24,6 +24,7 @@ import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.servlet.HandlerMapping;
import com.alibaba.fastjson.JSON;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.json.JSONObject;
import cn.hutool.json.JSONUtil;
......@@ -33,6 +34,7 @@ import cn.timer.api.aspect.lang.enums.BusinessType;
import cn.timer.api.bean.qyzx.QyzxEmpLogin;
import cn.timer.api.bean.qyzx.QyzxOperLog;
import cn.timer.api.config.enums.HttpMethod;
import cn.timer.api.dao.yggl.YgglMainEmpMapper;
import cn.timer.api.manager.AsyncManager;
import cn.timer.api.manager.factory.AsyncFactory;
import cn.timer.api.utils.ServletUtils;
......@@ -96,9 +98,17 @@ public class LogAspect
// LoginUser loginUser = SpringUtils.getBean(TokenService.class).getLoginUser(ServletUtils.getRequest());
QyzxEmpLogin eld = (QyzxEmpLogin)session.getAttribute("ui");
if (eld == null && controllerLog.businessType() == BusinessType.SEND_CODE) {
System.out.println(jsonResult);
}
// if (eld == null && controllerLog.businessType() == BusinessType.SEND_CODE) {
// Object[] objs = joinPoint.getArgs();
// if (objs != null && objs.length >= 1) {
// JSONObject jsonObject = JSONUtil.parseObj(objs[0]);
//
// String phone = jsonObject.getStr("phone");
// if (StrUtil.isNotBlank(phone)) {
// }
// System.out.println(JSONUtil.parseObj(jsonObject));
// }
// }
......
......@@ -32,6 +32,7 @@ import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.StrUtil;
import cn.timer.api.aspect.lang.annotation.Log;
import cn.timer.api.aspect.lang.enums.BusinessType;
import cn.timer.api.bean.jxgl.JxglBasicSetting;
import cn.timer.api.bean.kqmk.KqglAssoLeaveRules;
import cn.timer.api.bean.qyzx.QyzxEmpEntAsso;
import cn.timer.api.bean.qyzx.QyzxEmpLogin;
......@@ -47,6 +48,8 @@ import cn.timer.api.config.enuminterface.YgEnumInterface;
import cn.timer.api.config.enuminterface.YgEnumInterface.YgJobType;
import cn.timer.api.config.enums.CommonEnum;
import cn.timer.api.config.enums.SysRoleType;
import cn.timer.api.config.exception.CustomException;
import cn.timer.api.controller.jxgl.service.JxglService;
import cn.timer.api.controller.spmk.service.SpmkServiceImpl;
import cn.timer.api.dao.kqmk.KqglAssoLeaveRulesMapper;
import cn.timer.api.dao.qyzx.QyzxEmpEntAssoMapper;
......@@ -460,6 +463,9 @@ public class LoginController {
SpmkServiceImpl SpmkService;
@Autowired
JxglService jxglService;
@Autowired
private KqglAssoLeaveRulesMapper kqglassoleaverulesmapper;
/**
......@@ -565,6 +571,14 @@ public class LoginController {
System.out.println("重复初始化数据!");
}
JxglBasicSetting bS = jxglService.selectAT(qyId);
if (bS == null) {
boolean res = jxglService.initJxglBasicSetting(qyId);
if (!res) {
throw new CustomException("绩效设置异常");
}
}
return ResultUtil.success("注册企业成功");
} catch (Exception e) {
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
......
package cn.timer.api.controller.jxgl;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
......@@ -25,6 +26,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import com.sun.jndi.url.iiopname.iiopnameURLContextFactory;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollUtil;
......@@ -211,7 +213,7 @@ public class JxglController {
}
@Autowired
JxglService jxglService;
private JxglService jxglService;
/**
* 查询-基础设置
......@@ -637,8 +639,15 @@ public class JxglController {
if (performanceAppraisal == null) {
return ResultUtil.error("绩效考核不存在");
}
if (performanceAppraisal.getSts() == PerformanceAppraisalSts.TERMINATION_ASSESSMENT.getType()) {
return ResultUtil.error("考核已终止");
// 修改 绩效考核状态
jxglPerformanceAppraisalMapper
.updateById(JxglPerformanceAppraisal.builder()
.id(appraisalUpdateSts.getId())
.sts(PerformanceAppraisalSts.PERFORMANCE_ARCHIVE.getType())
.build());
return ResultUtil.success("");
}
Integer sts = null;
......@@ -1148,6 +1157,28 @@ public class JxglController {
}
/**
* 查询-我的绩效-已处理-列表
*/
@PostMapping(value = "/selects_my_performance_processed")
@ApiOperation(value = "18.查询-我的绩效-已处理-列表", httpMethod = "POST", notes = "查询")
@ApiOperationSupport(order = 18)
public Result<Object> selectsP(@CurrentUser UserBean userBean) {
MyPerformance query = MyPerformance.builder().build();
IPage<JxglPerformanceAppraisal> page = new Page<JxglPerformanceAppraisal>(query.getCurrentPage(),query.getTotalPage());
query.setOrgCode(userBean.getOrgCode());
query.setId(userBean.getEmpNum());
IPage<JxglPerformanceAppraisal> pagePA = jxglPerformanceAppraisalMapper.selectMyProcessedByQuery(page, query);
List<JxglPerformanceAppraisal> listPA = pagePA.getRecords();
return ResultUtil.data(pagePA, listPA);
}
/**
* 目标填写-保存
*/
@PostMapping(value = "/save_target_fill")
......@@ -1489,8 +1520,6 @@ public class JxglController {
return ResultUtil.error("流程不存在");
}
if (!userBean.getEmpNum().equals(processNode.getExecutorId())) {
return ResultUtil.error("无权限操作该流程");
}
......@@ -1684,12 +1713,17 @@ public class JxglController {
if (a.getAppraisalIndicatorsId() != null) {
JxglAppraisalIndicatorsAssessment.builder().appraisalIndicatorsId(a.getAppraisalIndicatorsId())
.assessorId(userBean.getEmpNum()).assessorName(userBean.getUserInfo().getName())
.score(a.getScore()).remarks(a.getRemarks()).type(type).build().insert();
.score(a.getScore()).remarks(a.getRemarks())
.type(ProcessType.SELF_ASSESSMENT.getType() == processNode.getProcessType() ? AssessmentType.SELF_ASSESSMENT.getType() : AssessmentType.SUPERIOR_SCORE.getType())
.build().insert();
} else {
JxglAppraisalAssessment.builder().appraisalId(a.getAppraisalId()).assessorId(userBean.getEmpNum())
.assessorName(userBean.getUserInfo().getName()).comprehensiveScore(Double.valueOf(a.getScore()))
.remarks(a.getRemarks()).type(type).level(a.getLevel()).build().insert();
.remarks(a.getRemarks())
.type(ProcessType.SELF_ASSESSMENT.getType() == processNode.getProcessType() ? AssessmentType.SELF_ASSESSMENT.getType() : AssessmentType.SUPERIOR_SCORE.getType())
.level(a.getLevel())
.build().insert();
hasAppraisalAssessment = true;
}
......@@ -1779,10 +1813,14 @@ public class JxglController {
List<JxglPerformanceRating> listPR = bS.getPerformanceRatings();
for (JxglPerformanceRating pR : listPR) {
min = min >= pR.getSectionMinScore() ? pR.getSectionMinScore() : min;
max = max <= pR.getSectionMaxScore() ? pR.getSectionMaxScore() : max;
level = pR.getSectionMaxScore() >= total && pR.getSectionMinScore() < total ? pR.getName() : null;
min = min <= pR.getSectionMinScore() ? pR.getSectionMinScore() : min;
max = max >= pR.getSectionMaxScore() ? pR.getSectionMaxScore() : max;
level = pR.getSectionMinScore() < total && total <= pR.getSectionMaxScore() ? pR.getName() : null;
}
System.out.println(min);
System.out.println(max);
System.out.println(level);
if (level == null) {
for (JxglPerformanceRating pR : listPR) {
if (total < min && pR.getSectionMinScore().equals(min)) {
......@@ -1795,7 +1833,7 @@ public class JxglController {
}
}
}
System.out.println(level);
// 更新 考核-总分 等级
jxglAppraisalMapper.updateById(JxglAppraisal.builder().id(appraisal.getId())
......
......@@ -6,4 +6,6 @@ public interface JxglService {
public JxglBasicSetting selectAT(Integer orgCode);
public boolean initJxglBasicSetting(Integer orgCode);
}
......@@ -4,6 +4,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import cn.timer.api.bean.jxgl.JxglBasicSetting;
import cn.timer.api.bean.jxgl.JxglPerformanceRating;
import cn.timer.api.dao.jxgl.JxglBasicSettingMapper;
@Service
......@@ -18,4 +19,42 @@ public class JxglServiceImpl implements JxglService {
return jxglBasicSettingMapper.selectAll(orgCode);
}
@Override
public boolean initJxglBasicSetting(Integer orgCode) {
// TODO Auto-generated method stub
boolean res = true;
JxglBasicSetting bC = JxglBasicSetting.builder()
.orgCode(orgCode)
.maxScore(100)
.build();
res = !bC.insert() && res ? false : res;
JxglPerformanceRating performanceRating = JxglPerformanceRating.builder().build();
performanceRating.setBasicSettingId(bC.getId());
performanceRating.setName("C");
performanceRating.setSectionMinScore(0);
performanceRating.setSectionMaxScore(60);
performanceRating.setRanks(0);
res = !performanceRating.insert() && res ? false : res;
performanceRating.setBasicSettingId(bC.getId());
performanceRating.setName("B");
performanceRating.setSectionMinScore(60);
performanceRating.setSectionMaxScore(80);
performanceRating.setRanks(0);
res = !performanceRating.insert() && res ? false : res;
performanceRating.setBasicSettingId(bC.getId());
performanceRating.setName("A");
performanceRating.setSectionMinScore(80);
performanceRating.setSectionMaxScore(100);
performanceRating.setRanks(0);
res = !performanceRating.insert() && res ? false : res;
return res;
}
}
......@@ -58,6 +58,7 @@ import cn.timer.api.config.validation.Ranks;
import cn.timer.api.config.validation.Update;
import cn.timer.api.config.validation.ValidList;
import cn.timer.api.controller.spmk.service.SpmkService;
import cn.timer.api.controller.yggl.service.YgglService;
import cn.timer.api.controller.zzgl.service.ZzglBmgwMService;
import cn.timer.api.dao.spmk.SpmkApprovalGMapper;
import cn.timer.api.dao.spmk.SpmkApprovalTemplateGMapper;
......@@ -458,6 +459,9 @@ public class SpmkController {
return spmkCustomApprovalMapper.updateListRandsById(list) ? ResultUtil.success() : ResultUtil.error();
}
@Autowired
YgglService ygglService;
/**
* 排序-自定义审批
*/
......@@ -547,8 +551,10 @@ public class SpmkController {
.set("headUrl", ygglMainEmp.getHeadUrl())
.set("id", userBean.getEmpNum());
RouterUtils.NextNode(listRouter, jSONObject, ISFIRST);
System.out.println(listRouter);
List<FlowChildren> listFlowChildren = new ArrayList<FlowChildren>();
RouterUtils.getIsFlowChildren(listRouter,listFlowChildren);
System.out.println(listFlowChildren);
// 当前审批人
String currentApprover = jSONObject.getStr("current_approver");
......@@ -718,14 +724,11 @@ public class SpmkController {
jSONObject.set("approveId", FromData.builder().value(String.valueOf(asId)).build());
jSONObject.set("orgCode", userBean.getOrgCode());
System.out.println("0----------"+ FromData.builder().value(String.valueOf(asId)));
System.out.println("1----------"+ aSummary.getAssoType());
System.out.println("2----------"+ ApproveEnum.getEnums(aSummary.getAssoType()));
//审批完成后 业务
SpmkAssoBusiness sab = spmkAssoBusinessFactory.createSpmkService(ApproveEnum.getEnums(aSummary.getAssoType()));
if (sab != null)
System.out.println("3----------"+ sab);
System.out.println("4----------"+ jSONObject);
System.out.println("1----------"+ sab);
System.out.println("2----------"+ jSONObject);
sab.handleApprove(jSONObject);
}
}
......
......@@ -29,6 +29,6 @@ public interface JxglPerformanceAppraisalMapper extends BaseMapper<JxglPerforman
IPage<JxglPerformanceAppraisal> selectMyByQuery(IPage<JxglPerformanceAppraisal> page,@Param("param") MyPerformance query);
IPage<JxglPerformanceAppraisal> selectMyProcessedByQuery(IPage<JxglPerformanceAppraisal> page,@Param("param") MyPerformance query);
}
......@@ -123,7 +123,7 @@ public class RouterUtils {
break;
case AUDIT:
Console.log("审批人逻辑");
router.setExecute(EXECUTING);
router.setFlow(true);
Relation r = CollectionUtil.isNotEmpty(router.getRelation()) ? router.getRelation().get(0) : null;
// if (r != null && RELATION_TYPE_EXECUTIVE.equals(r.getType())) {
......@@ -151,11 +151,17 @@ public class RouterUtils {
// }
// }
// }
if (!isAuditNext) {
router.setExecute(EXECUTING);
if (r != null && RELATION_TYPE_USERS.equals(r.getType())) {
List<User> listUser = router.getRelation().get(0).getUsers();
user:
for (int i = 0; i < listUser.size(); i++) {
String execute = listUser.get(i).getExecute();
switch (execute) {
case UNEXECUTED:
listUser.get(i).setExecute(EXECUTING);
......@@ -163,13 +169,13 @@ public class RouterUtils {
if (isFirse && obj.getStr("current_approver") == null ) {
obj.set("current_approver", listUser.get(i).getName());
}
isAuditNext = true;
break user;
}
}
}
}
isAuditNext = true;
NextNode(router.getChildren(), obj , isFirse, isAuditNext);
break;
......@@ -518,7 +524,11 @@ public class RouterUtils {
listUser.get(i_user).setExecute(EXECUTED);
// 历史审批人
SpmkApproveSummary.builder().id(asId).historyApprover(listUser.get(i_user).getName()).build().updateById();
SpmkApproveSummary.builder()
.id(asId)
.historyApprover(listUser.get(i_user).getName())
.build()
.updateById();
// 0未执行 1执行中 2同意 3拒绝 4 转派
if (sts == ExecutorSts.REFUSE.ordinal()) {
// 更新 审批汇总 状态
......@@ -622,6 +632,11 @@ public class RouterUtils {
executor.insert();
listUser.get(i_user2).setExecute(EXECUTING);
hasNextApprover = true;
// 当前审批人
SpmkApproveSummary.builder().id(asId).currentApprover(listUser.get(i_user2).getName()).build().updateById();
// 处理了 下一个审批人 则跳出循环
break;
}
listFlowChildren.get(i).setExecute(EXECUTING);
......
......@@ -41,7 +41,7 @@ public class ReissueACardBusiness extends SpmkAssoBusiness {
String cardShortage = ObjectUtil.isNull(jsonObj.get("cardShortage",FromData.class)) ? null : jsonObj.get("cardShortage",FromData.class).getValue();
// 缺卡时段-上班、下班-前端未改
String cardreplperiod = ObjectUtil.isNull(jsonObj.get("cardreplperiod",FromData.class)) ? null : jsonObj.get("cardreplperiod",FromData.class).getValue();
String cardSupplementType = ObjectUtil.isNull(jsonObj.get("__CardSupplementType",FromData.class)) ? null : jsonObj.get("__CardSupplementType",FromData.class).getValue();
// 上传文件
String UploadAttachment = ObjectUtil.isNull(jsonObj.get("UploadAttachment",FromData.class)) ? null : jsonObj.get("UploadAttachment",FromData.class).getValue();
......@@ -52,7 +52,7 @@ public class ReissueACardBusiness extends SpmkAssoBusiness {
.orgcode(orgCode)
.repairid(Convert.toInt(approveId))
.cardrepltime(DateUtil.getFormat(PatchCardTime))
// .cardreplperiod(Convert.toInt(cardreplperiod))
.cardreplperiod(Convert.toInt(cardSupplementType))
.build();
System.out.println("补卡:"+raD);
......
......@@ -247,6 +247,29 @@
</select>
<select id="selectMyProcessedByQuery" resultMap="BaseResultMap_ALl" >
SELECT
a.name,a.appraisal_start_time,a.appraisal_end_time,
b.id b_id,b.sts b_sts,
c.comprehensive_score c_comprehensive_score,
c.level c_level,
d.sts note_sts,
e.name b_user_name, e.phone b_phone,
(SELECT name FROM zzgl_bmgw_m WHERE id = (SELECT up_id FROM zzgl_bmgw_m WHERE id = e.bmgw_id limit 1) limit 1) as b_bm_name
FROM jxgl_performance_appraisal a
LEFT JOIN jxgl_appraisal b ON b.performance_appraisal_id = a.id
LEFT JOIN jxgl_appraisal_assessment c ON b.id = c.appraisal_id AND c.type = 1
LEFT JOIN jxgl_process_node d ON b.id = d.appraisal_id AND d.process_type = b.sts
LEFT JOIN yggl_main_emp e ON b.emp_num = e.emp_num AND a.org_code = e.org_code
<where>
AND a.org_code = #{param.orgCode}
AND d.executor_id = #{param.id}
AND d.sts = 2
</where>
ORDER BY a.id DESC
</select>
<!--
......
......@@ -140,13 +140,20 @@
(SELECT name FROM zzgl_bmgw_m WHERE id = (SELECT up_id FROM zzgl_bmgw_m WHERE id = (SELECT bmgw_id FROM yggl_main_emp WHERE a.emp_num = emp_num limit 1) limit 1) limit 1) as bm_name
FROM spmk_approve_summary a
WHERE a.org_code = #{param.orgCode}
<if test="param.type != null and param.type >= 1">
and a.id in
(SELECT approve_summary_id FROM spmk_approve_execute_record WHERE id IN
(SELECT approve_execute_record_id FROM spmk_executor WHERE emp_num = #{param.empNum})
(SELECT
approve_execute_record_id
FROM
spmk_executor
WHERE
emp_num = #{param.empNum})
and type = #{param.type}
)
and a.sts <![CDATA[ <> ]]> 1
</if>
<if test="param.type != null and param.type == 0">
......@@ -156,6 +163,7 @@
<if test="param.sts != null">
and a.sts = #{param.sts}
</if>
<if test="param.query != null and param.query != ''">
and (
a.title like CONCAT('%',#{param.query},'%') or
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment