Commit 22d9696c authored by 赵啸非's avatar 赵啸非

修改考勤汇总

parent d624a027
package com.mortals.xhx.common.code;
import java.util.LinkedHashMap;
import java.util.Map;
/**
* 置顶 (0.否,1.是)枚举类
*
* @author zxfei
*/
public enum TopEnum {
(0, "否"),
(1, "是");
private Integer value;
private String desc;
TopEnum(Integer value, String desc) {
this.value = value;
this.desc = desc;
}
public Integer getValue() {
return this.value;
}
public String getDesc() {
return this.desc;
}
public static TopEnum getByValue(Integer value) {
for (TopEnum topEnum : TopEnum.values()) {
if (topEnum.getValue() == value) {
return topEnum;
}
}
return null;
}
/**
* 获取Map集合
*
* @param eItem 不包含项
* @return
*/
public static Map<String, String> getEnumMap(Integer... eItem) {
Map<String, String> resultMap = new LinkedHashMap<>();
for (TopEnum item : TopEnum.values()) {
try {
boolean hasE = false;
for (Integer e : eItem) {
if (item.getValue() == e) {
hasE = true;
break;
}
}
if (!hasE) {
resultMap.put(item.getValue() + "", item.getDesc());
}
} catch (Exception ex) {
}
}
return resultMap;
}
}
\ No newline at end of file
package com.mortals.xhx.module.feedback.dao;
import com.mortals.framework.dao.ICRUDDao;
import com.mortals.xhx.module.feedback.model.FeedbackFileEntity;
import java.util.List;
/**
* 绩效反馈附件Dao
* 绩效反馈附件 DAO接口
*
* @author zxfei
* @date 2023-07-18
*/
public interface FeedbackFileDao extends ICRUDDao<FeedbackFileEntity,Long>{
}
package com.mortals.xhx.module.feedback.dao.ibatis;
import org.springframework.stereotype.Repository;
import com.mortals.xhx.module.feedback.dao.FeedbackFileDao;
import com.mortals.xhx.module.feedback.model.FeedbackFileEntity;
import java.util.Date;
import com.mortals.framework.dao.ibatis.BaseCRUDDaoMybatis;
import java.util.List;
/**
* 绩效反馈附件DaoImpl DAO接口
*
* @author zxfei
* @date 2023-07-18
*/
@Repository("feedbackFileDao")
public class FeedbackFileDaoImpl extends BaseCRUDDaoMybatis<FeedbackFileEntity,Long> implements FeedbackFileDao {
}
......@@ -13,7 +13,7 @@ import lombok.Data;
* 绩效反馈记录信息实体对象
*
* @author zxfei
* @date 2023-07-10
* @date 2023-07-18
*/
@Data
public class FeedbackEntity extends FeedbackVo {
......@@ -63,6 +63,14 @@ public class FeedbackEntity extends FeedbackVo {
* 规则内容
*/
private String ruleContent;
/**
* 图片id
*/
private Long feedbackFileId;
/**
* 图片路径
*/
private String feedbackFilePath;
/**
* 绩效反馈问题信息
*/
......@@ -113,5 +121,9 @@ public class FeedbackEntity extends FeedbackVo {
this.formContent = "";
this.ruleContent = "";
this.feedbackFileId = -1L;
this.feedbackFilePath = "";
}
}
\ No newline at end of file
package com.mortals.xhx.module.feedback.model;
import java.util.List;
import java.util.ArrayList;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.mortals.framework.annotation.Excel;
import com.mortals.framework.model.BaseEntityLong;
import com.mortals.xhx.module.feedback.model.vo.FeedbackFileVo;
import lombok.Data;
/**
* 绩效反馈附件实体对象
*
* @author zxfei
* @date 2023-07-18
*/
@Data
public class FeedbackFileEntity extends FeedbackFileVo {
private static final long serialVersionUID = 1L;
/**
* 标题
*/
private String title;
/**
* 排序
*/
private Integer sort;
/**
* 置顶 (0.否,1.是)
*/
private Integer top;
/**
* 图片名称
*/
private String feedbackFileName;
/**
* 图片路径
*/
private String feedbackFilePath;
/**
* 备注说明
*/
private String remark;
@Override
public int hashCode() {
return this.getId().hashCode();
}
@Override
public boolean equals(Object obj) {
if (obj == null) return false;
if (obj instanceof FeedbackFileEntity) {
FeedbackFileEntity tmp = (FeedbackFileEntity) obj;
if (this.getId() == tmp.getId()) {
return true;
}
}
return false;
}
public void initAttrValue(){
this.title = "";
this.sort = 0;
this.top = 0;
this.feedbackFileName = "";
this.feedbackFilePath = "";
this.remark = "";
}
}
\ No newline at end of file
......@@ -8,7 +8,7 @@ import com.mortals.xhx.module.feedback.model.FeedbackEntity;
* 绩效反馈记录信息查询对象
*
* @author zxfei
* @date 2023-07-10
* @date 2023-07-18
*/
public class FeedbackQuery extends FeedbackEntity {
/** 开始 序号,主键,自增长 */
......@@ -165,6 +165,26 @@ public class FeedbackQuery extends FeedbackEntity {
/** 规则内容排除列表 */
private List <String> ruleContentNotList;
/** 开始 图片id */
private Long feedbackFileIdStart;
/** 结束 图片id */
private Long feedbackFileIdEnd;
/** 增加 图片id */
private Long feedbackFileIdIncrement;
/** 图片id列表 */
private List <Long> feedbackFileIdList;
/** 图片id排除列表 */
private List <Long> feedbackFileIdNotList;
/** 图片路径 */
private List<String> feedbackFilePathList;
/** 图片路径排除列表 */
private List <String> feedbackFilePathNotList;
/** OR条件集合,列表项之间是OR,项内容之间是AND,如:(list[0].1 and list[0].2) or (list[1].3 and list[1].4) */
private List<FeedbackQuery> orConditionList;
......@@ -1028,6 +1048,119 @@ public class FeedbackQuery extends FeedbackEntity {
this.ruleContentNotList = ruleContentNotList;
}
/**
* 获取 开始 图片id
* @return feedbackFileIdStart
*/
public Long getFeedbackFileIdStart(){
return this.feedbackFileIdStart;
}
/**
* 设置 开始 图片id
* @param feedbackFileIdStart
*/
public void setFeedbackFileIdStart(Long feedbackFileIdStart){
this.feedbackFileIdStart = feedbackFileIdStart;
}
/**
* 获取 结束 图片id
* @return $feedbackFileIdEnd
*/
public Long getFeedbackFileIdEnd(){
return this.feedbackFileIdEnd;
}
/**
* 设置 结束 图片id
* @param feedbackFileIdEnd
*/
public void setFeedbackFileIdEnd(Long feedbackFileIdEnd){
this.feedbackFileIdEnd = feedbackFileIdEnd;
}
/**
* 获取 增加 图片id
* @return feedbackFileIdIncrement
*/
public Long getFeedbackFileIdIncrement(){
return this.feedbackFileIdIncrement;
}
/**
* 设置 增加 图片id
* @param feedbackFileIdIncrement
*/
public void setFeedbackFileIdIncrement(Long feedbackFileIdIncrement){
this.feedbackFileIdIncrement = feedbackFileIdIncrement;
}
/**
* 获取 图片id
* @return feedbackFileIdList
*/
public List<Long> getFeedbackFileIdList(){
return this.feedbackFileIdList;
}
/**
* 设置 图片id
* @param feedbackFileIdList
*/
public void setFeedbackFileIdList(List<Long> feedbackFileIdList){
this.feedbackFileIdList = feedbackFileIdList;
}
/**
* 获取 图片id
* @return feedbackFileIdNotList
*/
public List<Long> getFeedbackFileIdNotList(){
return this.feedbackFileIdNotList;
}
/**
* 设置 图片id
* @param feedbackFileIdNotList
*/
public void setFeedbackFileIdNotList(List<Long> feedbackFileIdNotList){
this.feedbackFileIdNotList = feedbackFileIdNotList;
}
/**
* 获取 图片路径
* @return feedbackFilePathList
*/
public List<String> getFeedbackFilePathList(){
return this.feedbackFilePathList;
}
/**
* 设置 图片路径
* @param feedbackFilePathList
*/
public void setFeedbackFilePathList(List<String> feedbackFilePathList){
this.feedbackFilePathList = feedbackFilePathList;
}
/**
* 获取 图片路径
* @return feedbackFilePathNotList
*/
public List<String> getFeedbackFilePathNotList(){
return this.feedbackFilePathNotList;
}
/**
* 设置 图片路径
* @param feedbackFilePathNotList
*/
public void setFeedbackFilePathNotList(List<String> feedbackFilePathNotList){
this.feedbackFilePathNotList = feedbackFilePathNotList;
}
/**
* 设置 序号,主键,自增长
* @param id
......@@ -1505,6 +1638,79 @@ public class FeedbackQuery extends FeedbackEntity {
return this;
}
/**
* 设置 图片id
* @param feedbackFileId
*/
public FeedbackQuery feedbackFileId(Long feedbackFileId){
setFeedbackFileId(feedbackFileId);
return this;
}
/**
* 设置 开始 图片id
* @param feedbackFileIdStart
*/
public FeedbackQuery feedbackFileIdStart(Long feedbackFileIdStart){
this.feedbackFileIdStart = feedbackFileIdStart;
return this;
}
/**
* 设置 结束 图片id
* @param feedbackFileIdEnd
*/
public FeedbackQuery feedbackFileIdEnd(Long feedbackFileIdEnd){
this.feedbackFileIdEnd = feedbackFileIdEnd;
return this;
}
/**
* 设置 增加 图片id
* @param feedbackFileIdIncrement
*/
public FeedbackQuery feedbackFileIdIncrement(Long feedbackFileIdIncrement){
this.feedbackFileIdIncrement = feedbackFileIdIncrement;
return this;
}
/**
* 设置 图片id
* @param feedbackFileIdList
*/
public FeedbackQuery feedbackFileIdList(List<Long> feedbackFileIdList){
this.feedbackFileIdList = feedbackFileIdList;
return this;
}
/**
* 设置 图片id
* @param feedbackFileIdNotList
*/
public FeedbackQuery feedbackFileIdNotList(List<Long> feedbackFileIdNotList){
this.feedbackFileIdNotList = feedbackFileIdNotList;
return this;
}
/**
* 设置 图片路径
* @param feedbackFilePath
*/
public FeedbackQuery feedbackFilePath(String feedbackFilePath){
setFeedbackFilePath(feedbackFilePath);
return this;
}
/**
* 设置 图片路径
* @param feedbackFilePathList
*/
public FeedbackQuery feedbackFilePathList(List<String> feedbackFilePathList){
this.feedbackFilePathList = feedbackFilePathList;
return this;
}
/**
* 获取 OR条件集合,列表项之间是OR,项内容之间是AND,如:(list[0].1 and list[0].2) or (list[1].3 and list[1].4)
* @return orConditionList
......
package com.mortals.xhx.module.feedback.model.vo;
import com.mortals.framework.model.BaseEntityLong;
import com.mortals.xhx.module.feedback.model.FeedbackFileEntity;
import java.util.ArrayList;
import java.util.List;
import lombok.Data;
import com.mortals.framework.annotation.Excel;
import java.math.BigDecimal;
import java.util.Date;
/**
* 绩效反馈附件视图对象
*
* @author zxfei
* @date 2023-07-18
*/
@Data
public class FeedbackFileVo extends BaseEntityLong {
}
\ No newline at end of file
package com.mortals.xhx.module.feedback.service;
import com.mortals.framework.service.ICRUDService;
import com.mortals.xhx.module.feedback.model.FeedbackFileEntity;
import com.mortals.xhx.module.feedback.dao.FeedbackFileDao;
/**
* FeedbackFileService
*
* 绩效反馈附件 service接口
*
* @author zxfei
* @date 2023-07-18
*/
public interface FeedbackFileService extends ICRUDService<FeedbackFileEntity,Long>{
FeedbackFileDao getDao();
}
\ No newline at end of file
package com.mortals.xhx.module.feedback.service.impl;
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.feedback.dao.FeedbackFileDao;
import com.mortals.xhx.module.feedback.model.FeedbackFileEntity;
import com.mortals.xhx.module.feedback.service.FeedbackFileService;
import lombok.extern.slf4j.Slf4j;
/**
* FeedbackFileService
* 绩效反馈附件 service实现
*
* @author zxfei
* @date 2023-07-18
*/
@Service("feedbackFileService")
@Slf4j
public class FeedbackFileServiceImpl extends AbstractCRUDServiceImpl<FeedbackFileDao, FeedbackFileEntity, Long> implements FeedbackFileService {
}
\ No newline at end of file
......@@ -50,7 +50,7 @@ public class FeedbackServiceImpl extends AbstractCRUDServiceImpl<FeedbackDao, Fe
updateProcessStatus(list);
}
private static void updateProcessStatus(List<FeedbackEntity> list) {
private void updateProcessStatus(List<FeedbackEntity> list) {
list.stream().forEach(item->{
Date feedbackTimeStart = item.getFeedbackTimeStart();
Date feedbackTimeEnd = item.getFeedbackTimeEnd();
......@@ -73,7 +73,13 @@ public class FeedbackServiceImpl extends AbstractCRUDServiceImpl<FeedbackDao, Fe
@Override
protected void saveBefore(FeedbackEntity entity, Context context) throws AppException {
super.saveBefore(entity,context);
if(!ObjectUtils.isEmpty(entity.getStaffList())){
entity.setInviteNum(entity.getStaffList().size());
}
}
@Override
protected void updateBefore(FeedbackEntity entity, Context context) throws AppException {
if(!ObjectUtils.isEmpty(entity.getStaffList())){
entity.setInviteNum(entity.getStaffList().size());
}
......
package com.mortals.xhx.module.feedback.web;
import com.mortals.framework.web.BaseCRUDJsonBodyMappingController;
import com.mortals.xhx.base.system.param.service.ParamService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import com.mortals.framework.model.Context;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.mortals.framework.web.BaseCRUDJsonBodyMappingController;
import com.mortals.xhx.module.feedback.model.FeedbackFileEntity;
import com.mortals.xhx.module.feedback.service.FeedbackFileService;
import org.apache.commons.lang3.ArrayUtils;
import com.mortals.framework.util.StringUtils;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import com.alibaba.fastjson.JSONObject;
import java.util.Arrays;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import static com.mortals.framework.ap.SysConstains.*;
/**
*
* 绩效反馈附件
*
* @author zxfei
* @date 2023-07-18
*/
@RestController
@RequestMapping("feedback/file")
public class FeedbackFileController extends BaseCRUDJsonBodyMappingController<FeedbackFileService,FeedbackFileEntity,Long> {
@Autowired
private ParamService paramService;
public FeedbackFileController(){
super.setModuleDesc( "绩效反馈附件");
}
@Override
protected void init(Map<String, Object> model, Context context) {
this.addDict(model, "top", paramService.getParamBySecondOrganize("FeedbackFile","top"));
super.init(model, context);
}
}
\ No newline at end of file
###登录
POST {{baseUrl}}/login/login
Content-Type: application/json
{
"loginName":"admin",
"password":"admin",
"securityCode":"8888"
}
> {%
client.global.set("SmsSet_id", JSON.parse(response.body).data.id);
client.global.set("authToken", JSON.parse(response.body).data.token);
%}
###绩效反馈附件列表
POST {{baseUrl}}/feedback/file/list
Content-Type: application/json
{
"page":1,
"size":10
}
###绩效反馈附件更新与保存
POST {{baseUrl}}/feedback/file/save
Authorization: {{authToken}}
Content-Type: application/json
{
"title":"iscvob",
"sort":0,
"top":0,
"feedbackFileName":"6iua5k",
"feedbackFilePath":"1yat2m",
"remark":"0w4vjj",
}
> {%
client.global.set("FeedbackFile_id", JSON.parse(response.body).data.id);
%}
###绩效反馈附件查看
GET {{baseUrl}}/feedback/file/info?id={{FeedbackFile_id}}
Accept: application/json
###绩效反馈附件编辑
GET {{baseUrl}}/feedback/file/edit?id={{FeedbackFile_id}}
Accept: application/json
###绩效反馈附件删除
GET {{baseUrl}}/feedback/file/delete?id={{FeedbackFile_id}}
Authorization: {{authToken}}
Accept: application/json
###登录
POST {{baseUrl}}/login/login
Content-Type: application/json
{
"loginName":"admin",
"password":"admin",
"securityCode":"8888"
}
> {%
client.global.set("SmsSet_id", JSON.parse(response.body).data.id);
client.global.set("authToken", JSON.parse(response.body).data.token);
%}
###绩效记录申诉信息列表
POST {{baseUrl}}/perform/attend/appeal/list
Content-Type: application/json
{
"page":1,
"size":10
}
###绩效记录申诉信息更新与保存
POST {{baseUrl}}/perform/attend/appeal/save
Authorization: {{authToken}}
Content-Type: application/json
{
"checkRecordId":702,
"staffId":566,
"staffName":"b7xpn0",
"workNum":"ymsc43",
"deptId":975,
"deptName":"x9lhxh",
"attendanceGroupId":352,
"attendanceGroupName":"ijhjyv",
"attendanceDate":"1689091200000",
"ruleId":714,
"ruleName":"k3nou3",
"subMethod":1,
"subAddType":1,
"score":0.00,
"goOffTimeStr":"3tpp9v",
"errorTime":"1689091200000",
"actualAttendTime":"1689091200000",
"errorResult":"e36tyi",
"checkPerson":"brd56v",
"checkTime":"1689091200000",
"checkDesc":"dxif0b",
"checkResult":"5wz0wh",
"processStatus":1,
"appealDesc":"bhhaf6",
"appealTime":"1689091200000",
"appealResult":2,
"remark":"owbk12",
"violationType":"7tb1sj",
"reviewResult":378,
"reviewTime":"1689091200000",
"reviewSource":"hvc7j5",
"reviewDevice":"rbmr61",
"complainTitle":"tirz94",
"complainContent":"wtjqma",
"complainRealName":"v9550o",
"contact":"9lzrer",
"complainTime":"1689091200000",
"complainSource":"r8xzzy",
"complainDevice":"odwoei",
"goworkCode":"ac7kwy",
"goworkDepts":"90jn57",
"matterlName":"9e1tph",
"goworkTime":"1689091200000",
"irregularType":767,
"happenTime":"1689091200000",
"duration":0,
"alarmTime":"1689091200000",
"snapPath":"7r7qk4",
"irregularOtherType":754,
"performType":"yqp4d7"
}
> {%
client.global.set("PerformAttendAppeal_id", JSON.parse(response.body).data.id);
%}
###绩效记录申诉信息查看
GET {{baseUrl}}/perform/attend/appeal/info?id={{PerformAttendAppeal_id}}
Accept: application/json
###绩效记录申诉信息编辑
GET {{baseUrl}}/perform/attend/appeal/edit?id={{PerformAttendAppeal_id}}
Accept: application/json
###绩效记录申诉信息删除
GET {{baseUrl}}/perform/attend/appeal/delete?id={{PerformAttendAppeal_id}}
Authorization: {{authToken}}
Accept: application/json
......@@ -769,3 +769,30 @@ ALTER TABLE mortals_xhx_attendance_stat ADD COLUMN `afternoonTimes` int(9) def
ALTER TABLE mortals_xhx_staff_perform_summary ADD COLUMN `belongCenter` varchar(512) DEFAULT '宜宾市民中心' COMMENT '所属中心' AFTER staffName;
ALTER TABLE mortals_xhx_feedback ADD COLUMN `feedbackFileId` bigint(20) default 0 COMMENT '图片id' ;
ALTER TABLE mortals_xhx_feedback ADD COLUMN `feedbackFilePath` varchar(512) default '' COMMENT '图片路径' ;
-- ----------------------------
-- 绩效反馈附件表
-- ----------------------------
DROP TABLE IF EXISTS `mortals_xhx_feedback_file`;
CREATE TABLE mortals_xhx_feedback_file(
`id` bigint(20) AUTO_INCREMENT COMMENT '序号,主键,自增长',
`title` varchar(64) NOT NULL COMMENT '标题',
`sort` int(4) DEFAULT '0' COMMENT '排序',
`top` tinyint(2) DEFAULT '0' COMMENT '置顶 (0.否,1.是)',
`feedbackFileName` varchar(1024) COMMENT '图片名称',
`feedbackFilePath` varchar(512) COMMENT '图片路径',
`remark` varchar(512) COMMENT '备注说明',
`createUserId` bigint(20) COMMENT '创建用户',
`createTime` datetime COMMENT '创建时间',
`updateUserId` bigint(20) COMMENT '更新用户',
`updateTime` datetime COMMENT '更新时间',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='绩效反馈附件';
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