diff --git a/attendance-performance-manager/src/main/java/com/mortals/xhx/busiz/h5/req/EffectSaveReq.java b/attendance-performance-manager/src/main/java/com/mortals/xhx/busiz/h5/req/EffectSaveReq.java index 2655cf63b4a43015b6225391ebad6a697c32eb54..f66ef1bce2902a60f1c92d13e18691bc6f0412c4 100644 --- a/attendance-performance-manager/src/main/java/com/mortals/xhx/busiz/h5/req/EffectSaveReq.java +++ b/attendance-performance-manager/src/main/java/com/mortals/xhx/busiz/h5/req/EffectSaveReq.java @@ -37,4 +37,15 @@ public class EffectSaveReq extends BaseReq { * 鎶撴媿鍥剧墖 */ private String snapPath; + + /** + * 鍞竴鏍囪瘑 + */ + private String ext; + + /** + * 鍚嶇О + */ + private String staffName; + } diff --git a/attendance-performance-manager/src/main/java/com/mortals/xhx/busiz/h5/web/ApiWebPerformController.java b/attendance-performance-manager/src/main/java/com/mortals/xhx/busiz/h5/web/ApiWebPerformController.java index 0e6e8f6f5ced4599923fb079470d622888b6352e..d07b9204b2ec3f6b170416f2559274305945bcab 100644 --- a/attendance-performance-manager/src/main/java/com/mortals/xhx/busiz/h5/web/ApiWebPerformController.java +++ b/attendance-performance-manager/src/main/java/com/mortals/xhx/busiz/h5/web/ApiWebPerformController.java @@ -170,7 +170,7 @@ public class ApiWebPerformController extends AbstractBaseController<PerformReq> @PostMapping("effect/save") @UnAuth public Rest<Void> effectSave(@RequestBody EffectSaveReq req) { - log.info("web Api req==>{}", JSON.toJSONString(req)); + log.info("web Api req==>{}", JSON.toJSONString(req)); String busiDesc = "澶栭儴鏁堣兘鏂板"; Rest rest = Rest.ok(busiDesc + "鎴愬姛锛�"); try { @@ -405,7 +405,6 @@ public class ApiWebPerformController extends AbstractBaseController<PerformReq> //鏁堣兘淇濆瓨 StaffEntity staffEntity = getStaff(req.getPhone()); PerformRulesEntity rule = getRule(req.getRuleCode()); - checkStaffAutoConf(staffEntity, rule); PerformEffectRecordEntity recordEntity = new PerformEffectRecordEntity(); recordEntity.initAttrValue(); recordEntity.setSubMethod(SubMethodEnum.绯荤粺鑷姩.getValue()); @@ -426,6 +425,7 @@ public class ApiWebPerformController extends AbstractBaseController<PerformReq> recordEntity.setDeductPerson("绯荤粺绠$悊鍛�"); recordEntity.setDeductTime(new Date()); recordEntity.setWorkNum(staffEntity.getWorkNum()); + recordEntity.setRemark(req.getExt()); recordEntity.setWindowNum(req.getWindowNum()); @@ -506,13 +506,12 @@ public class ApiWebPerformController extends AbstractBaseController<PerformReq> PerformRulesEntity rule = rulesService.getCache(ruleCode); if (ObjectUtils.isEmpty(rule)) throw new AppException(String.format("褰撳墠鎵嬫満鍙风爜鏈壘鍒板尮閰嶇殑鍛樺伐锛乺ule:%s", ruleCode)); - return rule; } private StaffEntity getStaff(String phone) { StaffEntity staffEntity = staffService.selectOne(new StaffQuery().phoneNumber(phone)); - if (ObjectUtils.isEmpty(staffEntity)){ + if (ObjectUtils.isEmpty(staffEntity)) { throw new AppException(String.format("褰撳墠鎵嬫満鍙风爜鏈壘鍒板尮閰嶇殑鍛樺伐锛乸hone:%s", phone)); } diff --git a/attendance-performance-manager/src/main/java/com/mortals/xhx/common/key/ParamKey.java b/attendance-performance-manager/src/main/java/com/mortals/xhx/common/key/ParamKey.java index 0f8fdaf7a66aa5f88ddb3bd84a84923fc479cf9e..da9857a528dc09233fc922d121bd65e33a3e757c 100644 --- a/attendance-performance-manager/src/main/java/com/mortals/xhx/common/key/ParamKey.java +++ b/attendance-performance-manager/src/main/java/com/mortals/xhx/common/key/ParamKey.java @@ -29,4 +29,6 @@ public class ParamKey { public static String SYS_PARAM_BELONG = "belong"; + public static String SYS_PARAM_XNJC_URL = "xnjc_url"; + } diff --git a/attendance-performance-manager/src/main/java/com/mortals/xhx/module/perform/service/impl/PerformEffectRecordServiceImpl.java b/attendance-performance-manager/src/main/java/com/mortals/xhx/module/perform/service/impl/PerformEffectRecordServiceImpl.java index 8ee6d48db638f7af17b1a1dd8ccf8cad94c0f074..0ef40d55b5bb3fd42493b0be9ef55b99970c12e4 100644 --- a/attendance-performance-manager/src/main/java/com/mortals/xhx/module/perform/service/impl/PerformEffectRecordServiceImpl.java +++ b/attendance-performance-manager/src/main/java/com/mortals/xhx/module/perform/service/impl/PerformEffectRecordServiceImpl.java @@ -1,29 +1,38 @@ package com.mortals.xhx.module.perform.service.impl; +import cn.hutool.core.lang.Validator; +import cn.hutool.core.util.StrUtil; +import cn.hutool.http.HttpUtil; +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.TypeReference; +import com.mortals.framework.ap.GlobalSysInfo; +import com.mortals.framework.common.Rest; +import com.mortals.framework.exception.AppException; +import com.mortals.framework.model.Context; +import com.mortals.framework.service.impl.AbstractCRUDServiceImpl; +import com.mortals.xhx.busiz.h5.req.EffectSaveReq; +import com.mortals.xhx.busiz.h5.rsp.ApiResp; import com.mortals.xhx.common.code.*; import com.mortals.xhx.common.utils.BeanUtil; import com.mortals.xhx.module.check.model.CheckEffectRecordEntity; import com.mortals.xhx.module.check.service.CheckEffectRecordService; -import com.mortals.xhx.module.perform.model.PerformComplainRecordEntity; -import com.mortals.xhx.module.perform.model.PerformEffectRecordQuery; -import com.mortals.xhx.module.perform.model.PerformRulesEntity; -import com.mortals.xhx.module.perform.service.PerformRulesService; -import com.mortals.xhx.module.perform.service.PerformStaffConfService; +import com.mortals.xhx.module.perform.dao.PerformEffectRecordDao; +import com.mortals.xhx.module.perform.model.*; +import com.mortals.xhx.module.perform.service.*; import com.mortals.xhx.module.staff.model.StaffEntity; +import com.mortals.xhx.module.staff.model.StaffQuery; import com.mortals.xhx.module.staff.service.StaffService; +import lombok.extern.slf4j.Slf4j; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import com.mortals.framework.service.impl.AbstractCRUDServiceImpl; -import com.mortals.framework.exception.AppException; -import com.mortals.framework.model.Context; -import com.mortals.xhx.module.perform.dao.PerformEffectRecordDao; -import com.mortals.xhx.module.perform.model.PerformEffectRecordEntity; -import com.mortals.xhx.module.perform.service.PerformEffectRecordService; -import lombok.extern.slf4j.Slf4j; import org.springframework.util.ObjectUtils; -import java.util.Date; +import java.util.*; +import java.util.stream.Collectors; + + +import static com.mortals.xhx.common.key.ParamKey.SYS_PARAM_XNJC_URL; /** * PerformEffectRecordService @@ -38,22 +47,27 @@ public class PerformEffectRecordServiceImpl extends AbstractCRUDServiceImpl<Perf @Autowired private CheckEffectRecordService checkEffectRecordService; - + @Autowired + private PerformRulesCategoryService categoryService; @Autowired private PerformRulesService rulesService; @Autowired private StaffService staffService; @Autowired private PerformStaffConfService performStaffConfService; + @Autowired + private PerformStaffConfDetailService performStaffConfDetailService; + @Autowired + private PerformErrorRecordService errorRecordService; @Override protected void saveBefore(PerformEffectRecordEntity entity, Context context) throws AppException { - updateStaffRuleNames(entity,context); + updateStaffRuleNames(entity, context); } @Override protected void updateBefore(PerformEffectRecordEntity entity, Context context) throws AppException { - updateStaffRuleNames(entity,context); + updateStaffRuleNames(entity, context); } @@ -69,7 +83,7 @@ public class PerformEffectRecordServiceImpl extends AbstractCRUDServiceImpl<Perf entity.setDeptName(staffCache == null ? "" : staffCache.getDeptName()); } entity.setDeductTime(new Date()); - if(ObjectUtils.isEmpty(entity.getDeductPerson())){ + if (ObjectUtils.isEmpty(entity.getDeductPerson())) { entity.setDeductPerson(context == null ? "" : context.getUser() == null ? "" : context.getUser().getRealName()); } } @@ -81,15 +95,15 @@ public class PerformEffectRecordServiceImpl extends AbstractCRUDServiceImpl<Perf BeanUtils.copyProperties(entity, checkEffectRecordEntity, BeanUtil.getNullPropertyNames(entity)); checkEffectRecordEntity.setId(null); checkEffectRecordEntity.setRecordId(entity.getId()); - if(performStaffConfService.checkRules(entity.getStaffId(),entity.getDeptId(),entity.getRuleId())){ + if (performStaffConfService.checkRules(entity.getStaffId(), entity.getDeptId(), entity.getRuleId())) { checkEffectRecordEntity.setCheckStatus(CheckStatusEnum.宸插鐞�.getValue()); - if(checkEffectRecordEntity.getSubAddType()== SubAddTypeEnum.澧炲姞.getValue()){ + if (checkEffectRecordEntity.getSubAddType() == SubAddTypeEnum.澧炲姞.getValue()) { checkEffectRecordEntity.setCheckResult(CheckResultAddEnum.鏍告煡鍔犲垎.getValue()); - }else { + } else { checkEffectRecordEntity.setCheckResult(CheckResultSubEnum.鏍告煡鎵e垎.getValue()); } checkEffectRecordEntity.setUpdateTime(new Date()); - }else { + } else { checkEffectRecordEntity.setCheckStatus(CheckStatusEnum.鏈鐞�.getValue()); //闈炶嚜鍔ㄦ墸鍒嗙浉璁剧疆涓烘湭澶勭悊 } checkEffectRecordService.save(checkEffectRecordEntity, context); @@ -116,7 +130,133 @@ public class PerformEffectRecordServiceImpl extends AbstractCRUDServiceImpl<Perf @Override public void syncEffectRecord(PerformEffectRecordQuery query, Context context) { + log.info("鍚屾鏁堣兘缁╂晥璁板綍寮€濮�"); + String phpInUrl = GlobalSysInfo.getParamValue(SYS_PARAM_XNJC_URL, "http://127.0.0.1:11039/zwfw_api_xnjc"); + String xnjcUrl = phpInUrl + "/api/kq_alert/leaveList"; + Map<String, Object> params = new HashMap<>(); + params.put("start", query.getHappenTimeStart()); + params.put("end", query.getHappenTimeEnd()); + + String resp = null; + try { + resp = HttpUtil.createPost(xnjcUrl).form(params).timeout(60000).execute().body(); + if (ObjectUtils.isEmpty(resp)) throw new AppException("璇锋眰澶辫触锛�"); + ApiResp<List<EffectSaveReq>> rest = JSON.parseObject(resp, new TypeReference<ApiResp<List<EffectSaveReq>>>() { + }); + //璁板綍淇濆瓨 + if (rest.getCode() == 0) { + List<EffectSaveReq> list = rest.getData(); + for (EffectSaveReq effectSaveReq : list) { + boolean isMobile = Validator.isMobile(effectSaveReq.getPhone()); + if (!isMobile) continue; + if (ObjectUtils.isEmpty(effectSaveReq.getRuleCode())) continue; + if (ObjectUtils.isEmpty(effectSaveReq.getPhone())) { + //閫氳繃鍚嶇О鏌ヨ鍛樺伐锛屽啀鐪嬫槸鍚︽湁鍖归厤鐨� + if (!ObjectUtils.isEmpty(effectSaveReq.getStaffName())) { + StaffQuery staffQuery = new StaffQuery(); + staffQuery.setName(effectSaveReq.getStaffName()); + StaffEntity staffEntity = staffService.selectOne(staffQuery); + if (!ObjectUtils.isEmpty(staffEntity)) { + effectSaveReq.setPhone(staffEntity.getPhoneNumber()); + } + } else { + continue; + } + } + Long ruleId = null; + PerformRulesEntity rule = rulesService.getCache(effectSaveReq.getRuleCode()); + if (ObjectUtils.isEmpty(rule)) { + ruleId = rule.getId(); + } + //鏌ヨ鏄惁瀛樺湪 濡傛灉娌℃湁 鍒欎繚瀛� + PerformEffectRecordQuery effectRecordQuery = new PerformEffectRecordQuery(); + effectRecordQuery.setHappenTime(effectSaveReq.getHappenTime()); + effectRecordQuery.setWindowNum(effectSaveReq.getWindowNum()); + if (!ObjectUtils.isEmpty(ruleId)) { + effectRecordQuery.setRuleId(ruleId); + } + // effectRecordQuery.setRemark(effectSaveReq.getExt()); + int count = this.count(effectRecordQuery, context); + if (count > 0) continue; + //淇濆瓨 + effect(effectSaveReq); + } + } + } catch (Exception e) { + log.error("寮傚父:", e); + } + + + } + + + private boolean effect(EffectSaveReq req) throws AppException { + //鏁堣兘淇濆瓨 + StaffEntity staffEntity = getStaff(req.getPhone()); + PerformRulesEntity rule = getRule(req.getRuleCode()); + + PerformEffectRecordEntity recordEntity = new PerformEffectRecordEntity(); + recordEntity.initAttrValue(); + recordEntity.setSubMethod(SubMethodEnum.绯荤粺鑷姩.getValue()); + BeanUtils.copyProperties(req, recordEntity); + recordEntity.setStaffId(staffEntity.getId()); + recordEntity.setStaffName(staffEntity.getName()); + recordEntity.setWorkNum(staffEntity.getWorkNum()); + recordEntity.setDeptId(staffEntity.getDeptId()); + recordEntity.setDeptName(staffEntity.getDeptName()); + recordEntity.setSalaId(staffEntity.getSalaId()); + recordEntity.setSalaName(staffEntity.getSalaName()); + recordEntity.setSubAddType(rule.getSubAddType()); + recordEntity.setScore(rule.getScore()); + recordEntity.setRuleId(rule.getId()); + recordEntity.setRuleName(rule.getName()); + recordEntity.setCategoryId(rule.getCategoryId()); + recordEntity.setCategoryName(rule.getCategoryName()); + recordEntity.setDeductPerson("绯荤粺绠$悊鍛�"); + recordEntity.setDeductTime(new Date()); + recordEntity.setWorkNum(staffEntity.getWorkNum()); + recordEntity.setRemark(req.getExt()); + recordEntity.setWindowNum(req.getWindowNum()); + recordEntity.setCreateUserId(1L); + recordEntity.setCreateTime(new Date()); + PerformRulesCategoryEntity categoryEntity = categoryService.get(rule.getCategoryId()); + recordEntity.setCategoryName(categoryEntity == null ? "" : categoryEntity.getName()); + PerformEffectRecordEntity save = this.save(recordEntity); + return save.newEntity(); + } + + + private void checkStaffAutoConf(StaffEntity staffEntity, PerformRulesEntity rule) { + Boolean rulePass = false; + //鏍¢獙褰撳墠鍛樺伐鏄惁瀛樺湪鑷姩瑙勫垯涓� + List<PerformStaffConfEntity> performStaffConfEntities = performStaffConfService.find(new PerformStaffConfQuery()); + for (PerformStaffConfEntity performStaffConfEntity : performStaffConfEntities) { + String staffIds = performStaffConfEntity.getStaffIds(); + Set<String> split = StrUtil.split(staffIds, ",").stream().collect(Collectors.toSet()); + if (split.contains(staffEntity.getId().toString())) { + //鏌ヨ褰撳墠瑙勫垯 + List<PerformStaffConfDetailEntity> staffConfDetailEntities = performStaffConfDetailService.find(new PerformStaffConfDetailQuery().staffConfId(performStaffConfEntity.getId())); + for (PerformStaffConfDetailEntity staffConfDetailEntity : staffConfDetailEntities) { + if (staffConfDetailEntity.getRuleId() == rule.getId()) { + rulePass = true; + break; + } + } + } + if (rulePass) break; + } + if (rulePass) throw new AppException("褰撳墠鐢ㄦ埛涓庣哗鏁堣鍒欐湭閰嶇疆鑷姩鏍告煡锛岃鍦ㄥ悗鍙伴厤缃悗鍐嶆柊澧烇紒"); + } + + + private PerformRulesEntity getRule(String ruleCode) { + PerformRulesEntity rule = rulesService.getCache(ruleCode); + return rule; + } + private StaffEntity getStaff(String phone) { + StaffEntity staffEntity = staffService.selectOne(new StaffQuery().phoneNumber(phone)); + return staffEntity; } } \ No newline at end of file diff --git a/attendance-performance-manager/src/main/resources/sqlmap/module/check/CheckAllRecordMapper.xml b/attendance-performance-manager/src/main/resources/sqlmap/module/check/CheckAllRecordMapper.xml index 0dcbd52e02d63b84a0253a4849c1c823590e6181..f327b4cec6ecde9ff913284783ee3e8ea1736ac7 100644 --- a/attendance-performance-manager/src/main/resources/sqlmap/module/check/CheckAllRecordMapper.xml +++ b/attendance-performance-manager/src/main/resources/sqlmap/module/check/CheckAllRecordMapper.xml @@ -13,8 +13,8 @@ <if test="createTimeStart != null and createTimeStart!=''"> AND createTime <![CDATA[ >= ]]> STR_TO_DATE(left(concat(#{createTimeStart},' 00:00:00'),19),'%Y-%m-%d %k:%i:%s') </if> <if test="createTimeEnd != null and createTimeEnd!=''"> AND createTime <![CDATA[ <= ]]> STR_TO_DATE(left(concat(#{createTimeEnd},' 23:59:59'),19),'%Y-%m-%d %k:%i:%s') </if> - <if test="checkTimeStart != null and checkTimeStart!=''"> AND checkTime <![CDATA[ >= ]]> STR_TO_DATE(left(concat(#{checkTimeStart},' 00:00:00'),19),'%Y-%m-%d %k:%i:%s') </if> - <if test="checkTimeEnd != null and checkTimeEnd!=''"> AND checkTime <![CDATA[ <= ]]> STR_TO_DATE(left(concat(#{checkTimeEnd},' 23:59:59'),19),'%Y-%m-%d %k:%i:%s') </if> + <if test="checkTimeStart != null and checkTimeStart!=''"> AND errorTime <![CDATA[ >= ]]> STR_TO_DATE(left(concat(#{checkTimeStart},' 00:00:00'),19),'%Y-%m-%d %k:%i:%s') </if> + <if test="checkTimeEnd != null and checkTimeEnd!=''"> AND errorTime <![CDATA[ <= ]]> STR_TO_DATE(left(concat(#{checkTimeEnd},' 23:59:59'),19),'%Y-%m-%d %k:%i:%s') </if> <if test="createUserId != null and createUserId!=''"> AND createUserId = #{createUserId} </if> UNION SELECT id,recordId,staffId,staffName,workNum,deptId,deptName,ruleId,ruleName,subAddType,checkStatus,checkResult,auditStatus,createTime,score,subMethod,checkTime,deductTime,4 AS checkType ,'effect' AS performType,updateTime FROM mortals_xhx_check_effect_record WHERE 1=1 @@ -24,8 +24,8 @@ <if test="staffId != null and staffId!=''"> AND staffId = #{staffId} </if> <if test="createTimeStart != null and createTimeStart!=''"> AND createTime <![CDATA[ >= ]]> STR_TO_DATE(left(concat(#{createTimeStart},' 00:00:00'),19),'%Y-%m-%d %k:%i:%s') </if> <if test="createTimeEnd != null and createTimeEnd!=''"> AND createTime <![CDATA[ <= ]]> STR_TO_DATE(left(concat(#{createTimeEnd},' 23:59:59'),19),'%Y-%m-%d %k:%i:%s') </if> - <if test="checkTimeStart != null and checkTimeStart!=''"> AND checkTime <![CDATA[ >= ]]> STR_TO_DATE(left(concat(#{checkTimeStart},' 00:00:00'),19),'%Y-%m-%d %k:%i:%s') </if> - <if test="checkTimeEnd != null and checkTimeEnd!=''"> AND checkTime <![CDATA[ <= ]]> STR_TO_DATE(left(concat(#{checkTimeEnd},' 23:59:59'),19),'%Y-%m-%d %k:%i:%s') </if> + <if test="checkTimeStart != null and checkTimeStart!=''"> AND happenTime <![CDATA[ >= ]]> STR_TO_DATE(left(concat(#{checkTimeStart},' 00:00:00'),19),'%Y-%m-%d %k:%i:%s') </if> + <if test="checkTimeEnd != null and checkTimeEnd!=''"> AND happenTime <![CDATA[ <= ]]> STR_TO_DATE(left(concat(#{checkTimeEnd},' 23:59:59'),19),'%Y-%m-%d %k:%i:%s') </if> <if test="createUserId != null and createUserId!=''"> AND createUserId = #{createUserId} </if> UNION SELECT id,recordId,staffId,staffName,workNum,deptId,deptName,ruleId,ruleName,subAddType,checkStatus,checkResult,auditStatus,createTime,score,subMethod,checkTime, deductTime,6 AS checkType ,'complain' AS performType,updateTime FROM mortals_xhx_check_complain_record WHERE 1=1 @@ -35,8 +35,8 @@ <if test="staffId != null and staffId!=''"> AND staffId = #{staffId} </if> <if test="createTimeStart != null and createTimeStart!=''"> AND createTime <![CDATA[ >= ]]> STR_TO_DATE(left(concat(#{createTimeStart},' 00:00:00'),19),'%Y-%m-%d %k:%i:%s') </if> <if test="createTimeEnd != null and createTimeEnd!=''"> AND createTime <![CDATA[ <= ]]> STR_TO_DATE(left(concat(#{createTimeEnd},' 23:59:59'),19),'%Y-%m-%d %k:%i:%s') </if> - <if test="checkTimeStart != null and checkTimeStart!=''"> AND checkTime <![CDATA[ >= ]]> STR_TO_DATE(left(concat(#{checkTimeStart},' 00:00:00'),19),'%Y-%m-%d %k:%i:%s') </if> - <if test="checkTimeEnd != null and checkTimeEnd!=''"> AND checkTime <![CDATA[ <= ]]> STR_TO_DATE(left(concat(#{checkTimeEnd},' 23:59:59'),19),'%Y-%m-%d %k:%i:%s') </if> + <if test="checkTimeStart != null and checkTimeStart!=''"> AND complainTime <![CDATA[ >= ]]> STR_TO_DATE(left(concat(#{checkTimeStart},' 00:00:00'),19),'%Y-%m-%d %k:%i:%s') </if> + <if test="checkTimeEnd != null and checkTimeEnd!=''"> AND complainTime <![CDATA[ <= ]]> STR_TO_DATE(left(concat(#{checkTimeEnd},' 23:59:59'),19),'%Y-%m-%d %k:%i:%s') </if> <if test="createUserId != null and createUserId!=''"> AND createUserId = #{createUserId} </if> UNION SELECT id,recordId,staffId,staffName,workNum,deptId,deptName,ruleId,ruleName, subAddType,checkStatus,checkResult,auditStatus,createTime,score,subMethod,checkTime, deductTime,3 AS checkType ,'gowork' AS performType,updateTime FROM mortals_xhx_check_gowork_record WHERE 1=1 @@ -46,8 +46,8 @@ <if test="staffId != null and staffId!=''"> AND staffId = #{staffId} </if> <if test="createTimeStart != null and createTimeStart!=''"> AND createTime <![CDATA[ >= ]]> STR_TO_DATE(left(concat(#{createTimeStart},' 00:00:00'),19),'%Y-%m-%d %k:%i:%s') </if> <if test="createTimeEnd != null and createTimeEnd!=''"> AND createTime <![CDATA[ <= ]]> STR_TO_DATE(left(concat(#{createTimeEnd},' 23:59:59'),19),'%Y-%m-%d %k:%i:%s') </if> - <if test="checkTimeStart != null and checkTimeStart!=''"> AND checkTime <![CDATA[ >= ]]> STR_TO_DATE(left(concat(#{checkTimeStart},' 00:00:00'),19),'%Y-%m-%d %k:%i:%s') </if> - <if test="checkTimeEnd != null and checkTimeEnd!=''"> AND checkTime <![CDATA[ <= ]]> STR_TO_DATE(left(concat(#{checkTimeEnd},' 23:59:59'),19),'%Y-%m-%d %k:%i:%s') </if> + <if test="checkTimeStart != null and checkTimeStart!=''"> AND goworkTime <![CDATA[ >= ]]> STR_TO_DATE(left(concat(#{checkTimeStart},' 00:00:00'),19),'%Y-%m-%d %k:%i:%s') </if> + <if test="checkTimeEnd != null and checkTimeEnd!=''"> AND goworkTime <![CDATA[ <= ]]> STR_TO_DATE(left(concat(#{checkTimeEnd},' 23:59:59'),19),'%Y-%m-%d %k:%i:%s') </if> <if test="createUserId != null and createUserId!=''"> AND createUserId = #{createUserId} </if> UNION SELECT id,recordId,staffId,staffName,workNum,deptId,deptName,ruleId,ruleName,subAddType,checkStatus,checkResult,auditStatus,createTime,score,subMethod,checkTime, deductTime,2 AS checkType ,'review' AS performType,updateTime FROM mortals_xhx_check_review_record WHERE 1=1 @@ -58,8 +58,8 @@ <if test="createTimeStart != null and createTimeStart!=''"> AND createTime <![CDATA[ >= ]]> STR_TO_DATE(left(concat(#{createTimeStart},' 00:00:00'),19),'%Y-%m-%d %k:%i:%s') </if> <if test="createTimeEnd != null and createTimeEnd!=''"> AND createTime <![CDATA[ <= ]]> STR_TO_DATE(left(concat(#{createTimeEnd},' 23:59:59'),19),'%Y-%m-%d %k:%i:%s') </if> - <if test="checkTimeStart != null and checkTimeStart!=''"> AND checkTime <![CDATA[ >= ]]> STR_TO_DATE(left(concat(#{checkTimeStart},' 00:00:00'),19),'%Y-%m-%d %k:%i:%s') </if> - <if test="checkTimeEnd != null and checkTimeEnd!=''"> AND checkTime <![CDATA[ <= ]]> STR_TO_DATE(left(concat(#{checkTimeEnd},' 23:59:59'),19),'%Y-%m-%d %k:%i:%s') </if> + <if test="checkTimeStart != null and checkTimeStart!=''"> AND reviewTime <![CDATA[ >= ]]> STR_TO_DATE(left(concat(#{checkTimeStart},' 00:00:00'),19),'%Y-%m-%d %k:%i:%s') </if> + <if test="checkTimeEnd != null and checkTimeEnd!=''"> AND reviewTime <![CDATA[ <= ]]> STR_TO_DATE(left(concat(#{checkTimeEnd},' 23:59:59'),19),'%Y-%m-%d %k:%i:%s') </if> <if test="createUserId != null and createUserId!=''"> AND createUserId = #{createUserId} </if> UNION SELECT id,recordId,staffId,staffName,workNum,deptId,deptName,ruleId,ruleName,subAddType,checkStatus,checkResult,auditStatus,createTime,score,subMethod,checkTime, deductTime,5 AS checkType ,'other' AS performType,updateTime FROM mortals_xhx_check_other_record WHERE 1=1 @@ -70,8 +70,8 @@ <if test="createTimeStart != null and createTimeStart!=''"> AND createTime <![CDATA[ >= ]]> STR_TO_DATE(left(concat(#{createTimeStart},' 00:00:00'),19),'%Y-%m-%d %k:%i:%s') </if> <if test="createTimeEnd != null and createTimeEnd!=''"> AND createTime <![CDATA[ <= ]]> STR_TO_DATE(left(concat(#{createTimeEnd},' 23:59:59'),19),'%Y-%m-%d %k:%i:%s') </if> - <if test="checkTimeStart != null and checkTimeStart!=''"> AND checkTime <![CDATA[ >= ]]> STR_TO_DATE(left(concat(#{checkTimeStart},' 00:00:00'),19),'%Y-%m-%d %k:%i:%s') </if> - <if test="checkTimeEnd != null and checkTimeEnd!=''"> AND checkTime <![CDATA[ <= ]]> STR_TO_DATE(left(concat(#{checkTimeEnd},' 23:59:59'),19),'%Y-%m-%d %k:%i:%s') </if> + <if test="checkTimeStart != null and checkTimeStart!=''"> AND happenTime <![CDATA[ >= ]]> STR_TO_DATE(left(concat(#{checkTimeStart},' 00:00:00'),19),'%Y-%m-%d %k:%i:%s') </if> + <if test="checkTimeEnd != null and checkTimeEnd!=''"> AND happenTime <![CDATA[ <= ]]> STR_TO_DATE(left(concat(#{checkTimeEnd},' 23:59:59'),19),'%Y-%m-%d %k:%i:%s') </if> <if test="createUserId != null and createUserId!=''"> AND createUserId = #{createUserId} </if> ) AS a where 1=1 @@ -94,7 +94,7 @@ <select id="getListCount" parameterType="com.mortals.xhx.module.check.model.CheckAllRecordQuery" resultType="int"> SELECT count(1) FROM ( - SELECT id,recordId,staffId,staffName,workNum,deptId,deptName,ruleId,ruleName,createTime,subAddType,score,subMethod,checkTime, deductTime,1 AS checkType ,'attend' AS performType,updateTime FROM mortals_xhx_check_attend_record WHERE 1=1 + SELECT id,recordId,staffId,staffName,workNum,deptId,deptName,ruleId,ruleName,subAddType,checkStatus,checkResult,auditStatus,createTime,score,subMethod,checkTime,deductTime,1 AS checkType ,'attend' AS performType,updateTime FROM mortals_xhx_check_attend_record WHERE 1=1 <if test="checkStatus != null and checkStatus!=''"> AND checkStatus = #{checkStatus} </if> <if test="subMethod != null and subMethod!=''"> AND subMethod = #{subMethod} </if> <if test="subAddType != null and subAddType!=''"> AND subAddType = #{subAddType} </if> @@ -102,47 +102,44 @@ <if test="createTimeStart != null and createTimeStart!=''"> AND createTime <![CDATA[ >= ]]> STR_TO_DATE(left(concat(#{createTimeStart},' 00:00:00'),19),'%Y-%m-%d %k:%i:%s') </if> <if test="createTimeEnd != null and createTimeEnd!=''"> AND createTime <![CDATA[ <= ]]> STR_TO_DATE(left(concat(#{createTimeEnd},' 23:59:59'),19),'%Y-%m-%d %k:%i:%s') </if> - <if test="checkTimeStart != null and checkTimeStart!=''"> AND checkTime <![CDATA[ >= ]]> STR_TO_DATE(left(concat(#{checkTimeStart},' 00:00:00'),19),'%Y-%m-%d %k:%i:%s') </if> - <if test="checkTimeEnd != null and checkTimeEnd!=''"> AND checkTime <![CDATA[ <= ]]> STR_TO_DATE(left(concat(#{checkTimeEnd},' 23:59:59'),19),'%Y-%m-%d %k:%i:%s') </if> + <if test="checkTimeStart != null and checkTimeStart!=''"> AND errorTime <![CDATA[ >= ]]> STR_TO_DATE(left(concat(#{checkTimeStart},' 00:00:00'),19),'%Y-%m-%d %k:%i:%s') </if> + <if test="checkTimeEnd != null and checkTimeEnd!=''"> AND errorTime <![CDATA[ <= ]]> STR_TO_DATE(left(concat(#{checkTimeEnd},' 23:59:59'),19),'%Y-%m-%d %k:%i:%s') </if> <if test="createUserId != null and createUserId!=''"> AND createUserId = #{createUserId} </if> UNION - SELECT id,recordId,staffId,staffName,workNum,deptId,deptName,ruleId,ruleName,createTime,subAddType,score,subMethod,checkTime, deductTime,4 AS checkType ,'effect' AS performType,updateTime FROM mortals_xhx_check_effect_record WHERE 1=1 + SELECT id,recordId,staffId,staffName,workNum,deptId,deptName,ruleId,ruleName,subAddType,checkStatus,checkResult,auditStatus,createTime,score,subMethod,checkTime,deductTime,4 AS checkType ,'effect' AS performType,updateTime FROM mortals_xhx_check_effect_record WHERE 1=1 <if test="checkStatus != null and checkStatus!=''"> AND checkStatus = #{checkStatus} </if> <if test="subMethod != null and subMethod!=''"> AND subMethod = #{subMethod} </if> <if test="subAddType != null and subAddType!=''"> AND subAddType = #{subAddType} </if> <if test="staffId != null and staffId!=''"> AND staffId = #{staffId} </if> <if test="createTimeStart != null and createTimeStart!=''"> AND createTime <![CDATA[ >= ]]> STR_TO_DATE(left(concat(#{createTimeStart},' 00:00:00'),19),'%Y-%m-%d %k:%i:%s') </if> <if test="createTimeEnd != null and createTimeEnd!=''"> AND createTime <![CDATA[ <= ]]> STR_TO_DATE(left(concat(#{createTimeEnd},' 23:59:59'),19),'%Y-%m-%d %k:%i:%s') </if> - - <if test="checkTimeStart != null and checkTimeStart!=''"> AND checkTime <![CDATA[ >= ]]> STR_TO_DATE(left(concat(#{checkTimeStart},' 00:00:00'),19),'%Y-%m-%d %k:%i:%s') </if> - <if test="checkTimeEnd != null and checkTimeEnd!=''"> AND checkTime <![CDATA[ <= ]]> STR_TO_DATE(left(concat(#{checkTimeEnd},' 23:59:59'),19),'%Y-%m-%d %k:%i:%s') </if> + <if test="checkTimeStart != null and checkTimeStart!=''"> AND happenTime <![CDATA[ >= ]]> STR_TO_DATE(left(concat(#{checkTimeStart},' 00:00:00'),19),'%Y-%m-%d %k:%i:%s') </if> + <if test="checkTimeEnd != null and checkTimeEnd!=''"> AND happenTime <![CDATA[ <= ]]> STR_TO_DATE(left(concat(#{checkTimeEnd},' 23:59:59'),19),'%Y-%m-%d %k:%i:%s') </if> <if test="createUserId != null and createUserId!=''"> AND createUserId = #{createUserId} </if> UNION - SELECT id,recordId,staffId,staffName,workNum,deptId,deptName,ruleId,ruleName,createTime,subAddType,score,subMethod,checkTime,deductTime,6 AS checkType ,'complain' AS performType,updateTime FROM mortals_xhx_check_complain_record WHERE 1=1 + SELECT id,recordId,staffId,staffName,workNum,deptId,deptName,ruleId,ruleName,subAddType,checkStatus,checkResult,auditStatus,createTime,score,subMethod,checkTime, deductTime,6 AS checkType ,'complain' AS performType,updateTime FROM mortals_xhx_check_complain_record WHERE 1=1 <if test="checkStatus != null and checkStatus!=''"> AND checkStatus = #{checkStatus} </if> <if test="subMethod != null and subMethod!=''"> AND subMethod = #{subMethod} </if> <if test="subAddType != null and subAddType!=''"> AND subAddType = #{subAddType} </if> <if test="staffId != null and staffId!=''"> AND staffId = #{staffId} </if> <if test="createTimeStart != null and createTimeStart!=''"> AND createTime <![CDATA[ >= ]]> STR_TO_DATE(left(concat(#{createTimeStart},' 00:00:00'),19),'%Y-%m-%d %k:%i:%s') </if> <if test="createTimeEnd != null and createTimeEnd!=''"> AND createTime <![CDATA[ <= ]]> STR_TO_DATE(left(concat(#{createTimeEnd},' 23:59:59'),19),'%Y-%m-%d %k:%i:%s') </if> - - <if test="checkTimeStart != null and checkTimeStart!=''"> AND checkTime <![CDATA[ >= ]]> STR_TO_DATE(left(concat(#{checkTimeStart},' 00:00:00'),19),'%Y-%m-%d %k:%i:%s') </if> - <if test="checkTimeEnd != null and checkTimeEnd!=''"> AND checkTime <![CDATA[ <= ]]> STR_TO_DATE(left(concat(#{checkTimeEnd},' 23:59:59'),19),'%Y-%m-%d %k:%i:%s') </if> + <if test="checkTimeStart != null and checkTimeStart!=''"> AND complainTime <![CDATA[ >= ]]> STR_TO_DATE(left(concat(#{checkTimeStart},' 00:00:00'),19),'%Y-%m-%d %k:%i:%s') </if> + <if test="checkTimeEnd != null and checkTimeEnd!=''"> AND complainTime <![CDATA[ <= ]]> STR_TO_DATE(left(concat(#{checkTimeEnd},' 23:59:59'),19),'%Y-%m-%d %k:%i:%s') </if> <if test="createUserId != null and createUserId!=''"> AND createUserId = #{createUserId} </if> UNION - SELECT id,recordId,staffId,staffName,workNum,deptId,deptName,ruleId,ruleName,createTime,subAddType,score,subMethod,checkTime, deductTime,3 AS checkType ,'gowork' AS performType,updateTime FROM mortals_xhx_check_gowork_record WHERE 1=1 + SELECT id,recordId,staffId,staffName,workNum,deptId,deptName,ruleId,ruleName, subAddType,checkStatus,checkResult,auditStatus,createTime,score,subMethod,checkTime, deductTime,3 AS checkType ,'gowork' AS performType,updateTime FROM mortals_xhx_check_gowork_record WHERE 1=1 <if test="checkStatus != null and checkStatus!=''"> AND checkStatus = #{checkStatus} </if> <if test="subMethod != null and subMethod!=''"> AND subMethod = #{subMethod} </if> <if test="subAddType != null and subAddType!=''"> AND subAddType = #{subAddType} </if> <if test="staffId != null and staffId!=''"> AND staffId = #{staffId} </if> <if test="createTimeStart != null and createTimeStart!=''"> AND createTime <![CDATA[ >= ]]> STR_TO_DATE(left(concat(#{createTimeStart},' 00:00:00'),19),'%Y-%m-%d %k:%i:%s') </if> <if test="createTimeEnd != null and createTimeEnd!=''"> AND createTime <![CDATA[ <= ]]> STR_TO_DATE(left(concat(#{createTimeEnd},' 23:59:59'),19),'%Y-%m-%d %k:%i:%s') </if> - - <if test="checkTimeStart != null and checkTimeStart!=''"> AND checkTime <![CDATA[ >= ]]> STR_TO_DATE(left(concat(#{checkTimeStart},' 00:00:00'),19),'%Y-%m-%d %k:%i:%s') </if> - <if test="checkTimeEnd != null and checkTimeEnd!=''"> AND checkTime <![CDATA[ <= ]]> STR_TO_DATE(left(concat(#{checkTimeEnd},' 23:59:59'),19),'%Y-%m-%d %k:%i:%s') </if> + <if test="checkTimeStart != null and checkTimeStart!=''"> AND goworkTime <![CDATA[ >= ]]> STR_TO_DATE(left(concat(#{checkTimeStart},' 00:00:00'),19),'%Y-%m-%d %k:%i:%s') </if> + <if test="checkTimeEnd != null and checkTimeEnd!=''"> AND goworkTime <![CDATA[ <= ]]> STR_TO_DATE(left(concat(#{checkTimeEnd},' 23:59:59'),19),'%Y-%m-%d %k:%i:%s') </if> <if test="createUserId != null and createUserId!=''"> AND createUserId = #{createUserId} </if> UNION - SELECT id,recordId,staffId,staffName,workNum,deptId,deptName,ruleId,ruleName,createTime, subAddType,score,subMethod,checkTime, deductTime,2 AS checkType ,'review' AS performType,updateTime FROM mortals_xhx_check_review_record WHERE 1=1 + SELECT id,recordId,staffId,staffName,workNum,deptId,deptName,ruleId,ruleName,subAddType,checkStatus,checkResult,auditStatus,createTime,score,subMethod,checkTime, deductTime,2 AS checkType ,'review' AS performType,updateTime FROM mortals_xhx_check_review_record WHERE 1=1 <if test="checkStatus != null and checkStatus!=''"> AND checkStatus = #{checkStatus} </if> <if test="subMethod != null and subMethod!=''"> AND subMethod = #{subMethod} </if> <if test="subAddType != null and subAddType!=''"> AND subAddType = #{subAddType} </if> @@ -150,11 +147,11 @@ <if test="createTimeStart != null and createTimeStart!=''"> AND createTime <![CDATA[ >= ]]> STR_TO_DATE(left(concat(#{createTimeStart},' 00:00:00'),19),'%Y-%m-%d %k:%i:%s') </if> <if test="createTimeEnd != null and createTimeEnd!=''"> AND createTime <![CDATA[ <= ]]> STR_TO_DATE(left(concat(#{createTimeEnd},' 23:59:59'),19),'%Y-%m-%d %k:%i:%s') </if> - <if test="checkTimeStart != null and checkTimeStart!=''"> AND checkTime <![CDATA[ >= ]]> STR_TO_DATE(left(concat(#{checkTimeStart},' 00:00:00'),19),'%Y-%m-%d %k:%i:%s') </if> - <if test="checkTimeEnd != null and checkTimeEnd!=''"> AND checkTime <![CDATA[ <= ]]> STR_TO_DATE(left(concat(#{checkTimeEnd},' 23:59:59'),19),'%Y-%m-%d %k:%i:%s') </if> + <if test="checkTimeStart != null and checkTimeStart!=''"> AND reviewTime <![CDATA[ >= ]]> STR_TO_DATE(left(concat(#{checkTimeStart},' 00:00:00'),19),'%Y-%m-%d %k:%i:%s') </if> + <if test="checkTimeEnd != null and checkTimeEnd!=''"> AND reviewTime <![CDATA[ <= ]]> STR_TO_DATE(left(concat(#{checkTimeEnd},' 23:59:59'),19),'%Y-%m-%d %k:%i:%s') </if> <if test="createUserId != null and createUserId!=''"> AND createUserId = #{createUserId} </if> UNION - SELECT id,recordId,staffId,staffName,workNum,deptId,deptName,ruleId,ruleName,createTime,subAddType,score,subMethod,checkTime, deductTime,5 AS checkType ,'other' AS performType,updateTime FROM mortals_xhx_check_other_record WHERE 1=1 + SELECT id,recordId,staffId,staffName,workNum,deptId,deptName,ruleId,ruleName,subAddType,checkStatus,checkResult,auditStatus,createTime,score,subMethod,checkTime, deductTime,5 AS checkType ,'other' AS performType,updateTime FROM mortals_xhx_check_other_record WHERE 1=1 <if test="checkStatus != null and checkStatus!=''"> AND checkStatus = #{checkStatus} </if> <if test="subMethod != null and subMethod!=''"> AND subMethod = #{subMethod} </if> <if test="subAddType != null and subAddType!=''"> AND subAddType = #{subAddType} </if> @@ -162,8 +159,8 @@ <if test="createTimeStart != null and createTimeStart!=''"> AND createTime <![CDATA[ >= ]]> STR_TO_DATE(left(concat(#{createTimeStart},' 00:00:00'),19),'%Y-%m-%d %k:%i:%s') </if> <if test="createTimeEnd != null and createTimeEnd!=''"> AND createTime <![CDATA[ <= ]]> STR_TO_DATE(left(concat(#{createTimeEnd},' 23:59:59'),19),'%Y-%m-%d %k:%i:%s') </if> - <if test="checkTimeStart != null and checkTimeStart!=''"> AND checkTime <![CDATA[ >= ]]> STR_TO_DATE(left(concat(#{checkTimeStart},' 00:00:00'),19),'%Y-%m-%d %k:%i:%s') </if> - <if test="checkTimeEnd != null and checkTimeEnd!=''"> AND checkTime <![CDATA[ <= ]]> STR_TO_DATE(left(concat(#{checkTimeEnd},' 23:59:59'),19),'%Y-%m-%d %k:%i:%s') </if> + <if test="checkTimeStart != null and checkTimeStart!=''"> AND happenTime <![CDATA[ >= ]]> STR_TO_DATE(left(concat(#{checkTimeStart},' 00:00:00'),19),'%Y-%m-%d %k:%i:%s') </if> + <if test="checkTimeEnd != null and checkTimeEnd!=''"> AND happenTime <![CDATA[ <= ]]> STR_TO_DATE(left(concat(#{checkTimeEnd},' 23:59:59'),19),'%Y-%m-%d %k:%i:%s') </if> <if test="createUserId != null and createUserId!=''"> AND createUserId = #{createUserId} </if> ) AS a where 1=1 diff --git a/attendance-performance-manager/src/test/java/com/mortals/httpclient/system.http b/attendance-performance-manager/src/test/java/com/mortals/httpclient/system.http index 1ca805fa09cb78e8ce251f5e2487b38814ce2743..e79ac14186a53a8a55f20dbcda48e0276f881f12 100644 --- a/attendance-performance-manager/src/test/java/com/mortals/httpclient/system.http +++ b/attendance-performance-manager/src/test/java/com/mortals/httpclient/system.http @@ -86,7 +86,7 @@ Content-Type: application/json POST {{baseUrl}}/staff/perform/summary/summary Content-Type: application/json -{"checkTimeStart":"2024-02-01","checkTimeEnd":"2024-02-29"} +{"checkTimeStart":"2024-02-01","checkTimeEnd":"2024-02-29","checkType":4} ###鑰冨嫟鎵撳崱璁板綍寮傚父淇℃伅鍒楄〃 POST {{baseUrl}}/attendance/record/error/doReprocess