LiGuang %!s(int64=3) %!d(string=hai) anos
pai
achega
d7a3520502
Modificáronse 30 ficheiros con 1209 adicións e 93 borrados
  1. 1 0
      jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/config/shiro/ShiroConfig.java
  2. 114 87
      jeecg-boot-module-demo/src/main/java/org/jeecg/modules/geke/attendance/service/impl/AttendanceServiceImpl.java
  3. 167 0
      jeecg-boot-module-demo/src/main/java/org/jeecg/modules/geke/historyWages/controller/HistoryWagesController.java
  4. 69 0
      jeecg-boot-module-demo/src/main/java/org/jeecg/modules/geke/historyWages/entity/HistoryWages.java
  5. 18 0
      jeecg-boot-module-demo/src/main/java/org/jeecg/modules/geke/historyWages/mapper/HistoryWagesMapper.java
  6. 12 0
      jeecg-boot-module-demo/src/main/java/org/jeecg/modules/geke/historyWages/mapper/xml/HistoryWagesMapper.xml
  7. 17 0
      jeecg-boot-module-demo/src/main/java/org/jeecg/modules/geke/historyWages/service/IHistoryWagesService.java
  8. 28 0
      jeecg-boot-module-demo/src/main/java/org/jeecg/modules/geke/historyWages/service/impl/HistoryWagesServiceImpl.java
  9. 3 2
      jeecg-boot-module-demo/src/main/java/org/jeecg/modules/geke/salary/mapper/xml/SalaryMapper.xml
  10. 181 0
      jeecg-boot-module-demo/src/main/java/org/jeecg/modules/geke/sysFile/controller/SysFileController.java
  11. 43 0
      jeecg-boot-module-demo/src/main/java/org/jeecg/modules/geke/sysFile/entity/SysFile.java
  12. 21 0
      jeecg-boot-module-demo/src/main/java/org/jeecg/modules/geke/sysFile/mapper/SysFileMapper.java
  13. 17 0
      jeecg-boot-module-demo/src/main/java/org/jeecg/modules/geke/sysFile/mapper/xml/SysFileMapper.xml
  14. 19 0
      jeecg-boot-module-demo/src/main/java/org/jeecg/modules/geke/sysFile/service/ISysFileService.java
  15. 33 0
      jeecg-boot-module-demo/src/main/java/org/jeecg/modules/geke/sysFile/service/impl/SysFileServiceImpl.java
  16. 167 0
      jeecg-boot-module-demo/src/main/java/org/jeecg/modules/geke/userPrize/controller/UserPrizeController.java
  17. 67 0
      jeecg-boot-module-demo/src/main/java/org/jeecg/modules/geke/userPrize/entity/UserPrize.java
  18. 23 0
      jeecg-boot-module-demo/src/main/java/org/jeecg/modules/geke/userPrize/mapper/UserPrizeMapper.java
  19. 36 0
      jeecg-boot-module-demo/src/main/java/org/jeecg/modules/geke/userPrize/mapper/xml/UserPrizeMapper.xml
  20. 19 0
      jeecg-boot-module-demo/src/main/java/org/jeecg/modules/geke/userPrize/service/IUserPrizeService.java
  21. 59 0
      jeecg-boot-module-demo/src/main/java/org/jeecg/modules/geke/userPrize/service/impl/UserPrizeServiceImpl.java
  22. 1 1
      jeecg-boot-module-demo/src/main/java/org/jeecg/modules/geke/vacation/mapper/xml/VacationMapper.xml
  23. 1 1
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/openapi4j/service/DepartmentService.java
  24. 1 1
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/openapi4j/service/PersonService.java
  25. 71 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/controller/SysUserController.java
  26. 1 1
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/entity/SysUser.java
  27. 3 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/mapper/SysUserMapper.java
  28. 9 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/mapper/xml/SysUserMapper.xml
  29. 1 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/service/ISysUserService.java
  30. 7 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/service/impl/SysUserServiceImpl.java

+ 1 - 0
jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/config/shiro/ShiroConfig.java

@@ -92,6 +92,7 @@ public class ShiroConfig {
         filterChainDefinitionMap.put("/auth/2step-code", "anon");//登录验证码
         filterChainDefinitionMap.put("/sys/common/static/**", "anon");//图片预览 &下载文件不限制token
         filterChainDefinitionMap.put("/sys/common/pdf/**", "anon");//pdf预览
+        filterChainDefinitionMap.put("/sys/common/upload", "anon");//文件上传
         filterChainDefinitionMap.put("/generic/**", "anon");//pdf预览需要文件
         filterChainDefinitionMap.put("/", "anon");
         filterChainDefinitionMap.put("/doc.html", "anon");

+ 114 - 87
jeecg-boot-module-demo/src/main/java/org/jeecg/modules/geke/attendance/service/impl/AttendanceServiceImpl.java

@@ -171,7 +171,7 @@ public class AttendanceServiceImpl extends ServiceImpl<AttendanceMapper, Attenda
                         }
                     }
                 }
-            }
+
 
 
 
@@ -296,6 +296,7 @@ public class AttendanceServiceImpl extends ServiceImpl<AttendanceMapper, Attenda
                     }
                     lit.add(at);
             }
+                }
         List<Vacation> vacation = vacationMapper.vacation(userid, date);//获取当前用户的假期数据
         List< Map<String,Object>> oneWork = attendanceMapper.getOneWork(userid, date);
         map.put("date",attendances);
@@ -323,104 +324,130 @@ public class AttendanceServiceImpl extends ServiceImpl<AttendanceMapper, Attenda
         int year = calendar.get(calendar.YEAR);//年份
         int month = calendar.get(calendar.MONTH) + 1;//月份
         int actualMaximum = calendar.getActualMaximum(Calendar.DAY_OF_MONTH);
-
-        String eds="0";
-        AttendanceRule attendanceRules = attendanceRuleService.UserRule(userid);
-        if (attendanceRules!=null){
-            eds="1";
-        }else {
-            List<UserDept> depNamesByUserIds = userShiftMapper.getDepNamesByUserIds(Arrays.asList(userid.split(",")));
-            List<String>deps=new ArrayList<>();
-            depNamesByUserIds.forEach(st->{
-                deps.add(st.getId());
-            });
-            AttendanceRule attendanceRule1 = attendanceRuleService.UserRules(deps);
-            if (attendanceRule1!=null){
-                attendanceRules=attendanceRule1;
-                eds="1";
+        AttendanceRule attendanceRule = attendanceRuleService.UserRule(userid);
+        if (attendanceRule!=null){
+        for (int i = 1; i <= actualMaximum; i++) {
+            String aDate = String.valueOf(year) + "-" + month + "-" + i;//循环拼接所有天数进行查询是否正常
+            List<Attendance> acs = attendanceMapper.queryList(userid, aDate);
+            String jqw = "";
+            StatutoryLeave one = statutoryLeaveService.getOne(date);
+            if (one != null) {
+                jqw = one.getType();
             }
-        }
-
-        for (int i = 1; i <= actualMaximum; i++){
-                    String aDate = String.valueOf(year) + "-" + month + "-" + i;//循环拼接所有天数进行查询是否正常
-                    List<Attendance> acs = attendanceMapper.queryList(userid, aDate);
-                    if (eds.equals("1")){
-                        if (attendanceRules.getType().equals("1")){//判断规则类型1,固定时间上下班
-                            String state="1";
-                            String[] split = attendanceRules.getWorkDay().split(",");//获取工作日
-                            Date da = DateUtils.str2Date(aDate, sdf);
-                            for (String day:split){
-                                if (day.equals(String.valueOf(da.getDay()))){
-                                    state="2";
-                                    break;
-                                }
-                            }
-                            if (state.equals("2")){//在工作日内
-                                if (acs!=null&&acs.size()>1){//判断打卡记录是否有上下班
-                                    if (exitprio(acs).equals("1")){//判断打卡记录是否异常,1,异常
-                                        sum="1";
-                                        break;
-                                    }else {
-                                        Date startDate = DateUtils.str2Date("2021-10-21 "+sdt.format(attendanceRules.getStartDate()), sd);
-                                        Date endDate = DateUtils.str2Date("2021-10-21 "+sdt.format(attendanceRules.getEndDate()), sd);
-                                        Date usStartDate = DateUtils.str2Date("2021-10-21 "+sdt.format(acs.get(0).getUsDate()), sd);
-                                        Date usEndDate = DateUtils.str2Date("2021-10-21 "+sdt.format(acs.get(acs.size() - 1).getUsDate()), sd);
-                                        if (usStartDate.getTime()>startDate.getTime()||usEndDate.getTime()<endDate.getTime()){
-                                            sum="1";
-                                            break;
-                                        }
-                                    }
-                                }else {
-                                    sum="1";
-                                    break;
-                                }
-                            }
 
-                        }else  if (attendanceRules.getType().equals("2")){//规则类型 2,按班次上下班
-                            List<Map<String,Object>> oneUserShift = userShiftMapper.getOneUserShift(userid, aDate,"");
-                            if (oneUserShift!=null&&oneUserShift.size()>0){
-                                if (acs!=null&&acs.size()>1){//判断打卡记录是否有上下班
-                                    if (exitprio(acs).equals("1")){//判断打卡记录是否异常,1,异常
-                                        sum="1";
-                                        break;
-                                    }else {
-                                        Date startDate = DateUtils.str2Date("2021-10-21 "+oneUserShift.get(0).get("startDate"), sd);
-                                        Date endDate = DateUtils.str2Date("2021-10-21 "+oneUserShift.get(0).get("endDate"), sd);
-                                        Date usStartDate = DateUtils.str2Date("2021-10-21 "+sdt.format(acs.get(0).getUsDate()), sd);
-                                        Date usEndDate = DateUtils.str2Date("2021-10-21 "+sdt.format(acs.get(acs.size() - 1).getUsDate()), sd);
-                                        if (usStartDate.getTime()>startDate.getTime()||usEndDate.getTime()<endDate.getTime()){
-                                            sum="1";
-                                            break;
-                                        }
-                                    }
-                                }else {
-                                    sum="1";
-                                    break;
-                                }
+            if (attendanceRule.getType().equals("1")) {//判断规则类型1,固定时间上下班
+                if (jqw.equals("1")) {//优先判断是否存在法定节假日
+                    if (acs != null && acs.size() > 1) {//判断打卡记录是否有上下班
+                        if (exitprio(acs).equals("1")) {//判断打卡记录是否异常,1,异常
+                            sum = "1";
+                            break;
+                        } else {
+                            Date startDate = DateUtils.str2Date("2021-10-21 " + sdt.format(attendanceRule.getStartDate()), sd);
+                            Date endDate = DateUtils.str2Date("2021-10-21 " + sdt.format(attendanceRule.getEndDate()), sd);
+                            Date usStartDate = DateUtils.str2Date("2021-10-21 " + sdt.format(acs.get(0).getUsDate()), sd);
+                            Date usEndDate = DateUtils.str2Date("2021-10-21 " + sdt.format(acs.get(acs.size() - 1).getUsDate()), sd);
+                            if (usStartDate.getTime() > startDate.getTime() || usEndDate.getTime() < endDate.getTime()) {
+                                sum = "1";
+                                break;
                             }
-                        }else if (attendanceRules.getType().equals("3")){//规则类型 3,自由上下班
-                            String states="1";
-                            String[] split = attendanceRules.getWorkDay().split(",");//获取工作日
-                            Date da = DateUtils.str2Date(aDate, sdf);
-                            for (String day:split){
-                                if (day.equals(String.valueOf(da.getDay()))){
-                                    states="2";
+                        }
+                    } else {
+                        sum = "1";
+                        break;
+                    }
+                } else if (jqw.equals("")) {
+                    String state = "1";
+                    String[] split = attendanceRule.getWorkDay().split(",");//获取工作日
+                    Date da = DateUtils.str2Date(aDate, sdf);
+                    for (String day : split) {
+                        if (day.equals(String.valueOf(da.getDay()))) {
+                            state = "2";
+                            break;
+                        }
+                    }
+                    if (state.equals("2")) {//在工作日内
+                        if (acs != null && acs.size() > 1) {//判断打卡记录是否有上下班
+                            if (exitprio(acs).equals("1")) {//判断打卡记录是否异常,1,异常
+                                sum = "1";
+                                break;
+                            } else {
+                                Date startDate = DateUtils.str2Date("2021-10-21 " + sdt.format(attendanceRule.getStartDate()), sd);
+                                Date endDate = DateUtils.str2Date("2021-10-21 " + sdt.format(attendanceRule.getEndDate()), sd);
+                                Date usStartDate = DateUtils.str2Date("2021-10-21 " + sdt.format(acs.get(0).getUsDate()), sd);
+                                Date usEndDate = DateUtils.str2Date("2021-10-21 " + sdt.format(acs.get(acs.size() - 1).getUsDate()), sd);
+                                if (usStartDate.getTime() > startDate.getTime() || usEndDate.getTime() < endDate.getTime()) {
+                                    sum = "1";
                                     break;
                                 }
                             }
-                            if (states.equals("2")) {//在工作日内
-                                if (acs != null && acs.size() > 1) {//判断打卡记录是否有上下班
-                                    if (exitprio(acs).equals("1")) {//判断打卡记录是否异常,1,异常
-                                        sum = "1";
-                                        break;
-                                    }
-                                } else {
+                        } else {
+                            sum = "1";
+                            break;
+                        }
+                    }
+                }
+            } else if (attendanceRule.getType().equals("2")) {//规则类型 2,按班次上下班
+                List<Map<String, Object>> oneUserShift = userShiftMapper.getOneUserShift(userid, aDate, "");
+                if (oneUserShift != null && oneUserShift.size() > 0) {
+                    if (oneUserShift.get(0).get("id").equals("0")) {
+
+                    } else {
+                        if (acs != null && acs.size() > 1) {//判断打卡记录是否有上下班
+                            if (exitprio(acs).equals("1")) {//判断打卡记录是否异常,1,异常
+                                sum = "1";
+                                break;
+                            } else {
+                                Date startDate = DateUtils.str2Date("2021-10-21 " + oneUserShift.get(0).get("startDate"), sd);
+                                Date endDate = DateUtils.str2Date("2021-10-21 " + oneUserShift.get(0).get("endDate"), sd);
+                                Date usStartDate = DateUtils.str2Date("2021-10-21 " + sdt.format(acs.get(0).getUsDate()), sd);
+                                Date usEndDate = DateUtils.str2Date("2021-10-21 " + sdt.format(acs.get(acs.size() - 1).getUsDate()), sd);
+                                if (usStartDate.getTime() > startDate.getTime() || usEndDate.getTime() < endDate.getTime()) {
                                     sum = "1";
                                     break;
                                 }
                             }
+                        } else {
+                            sum = "1";
+                            break;
+                        }
+                    }
+                }
+            } else if (attendanceRule.getType().equals("3")) {//规则类型 3,自由上下班
+                if (jqw.equals("1")) {//优先判断是否存在法定节假日
+                    if (acs != null && acs.size() > 1) {//判断打卡记录是否有上下班
+                        if (exitprio(acs).equals("1")) {//判断打卡记录是否异常,1,异常
+                            sum = "1";
+                            break;
                         }
+                    } else {
+                        sum = "1";
+                        break;
                     }
+                } else if (jqw.equals("")) {
+                    String states = "1";
+                    String[] split = attendanceRule.getWorkDay().split(",");//获取工作日
+                    Date da = DateUtils.str2Date(aDate, sdf);
+                    for (String day : split) {
+                        if (day.equals(String.valueOf(da.getDay()))) {
+                            states = "2";
+                            break;
+                        }
+                    }
+
+                    if (states.equals("2")) {
+                        if (acs != null && acs.size() > 1) {//判断打卡记录是否有上下班
+                            if (exitprio(acs).equals("1")) {//判断打卡记录是否异常,1,异常
+                                sum = "1";
+                                break;
+                            }
+                        } else {
+                            sum = "1";
+                            break;
+                        }
+                    }
+                }
+            }
+        }
                     }
         return sum;
     }

+ 167 - 0
jeecg-boot-module-demo/src/main/java/org/jeecg/modules/geke/historyWages/controller/HistoryWagesController.java

@@ -0,0 +1,167 @@
+package org.jeecg.modules.geke.historyWages.controller;
+
+import java.util.Arrays;
+import java.util.List;
+import java.util.Map;
+import java.io.IOException;
+import java.io.UnsupportedEncodingException;
+import java.net.URLDecoder;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import org.jeecg.common.api.vo.Result;
+import org.jeecg.common.system.query.QueryGenerator;
+import org.jeecg.common.aspect.annotation.AutoLog;
+import org.jeecg.common.util.oConvertUtils;
+import org.jeecg.modules.geke.historyWages.entity.HistoryWages;
+import org.jeecg.modules.geke.historyWages.service.IHistoryWagesService;
+import java.util.Date;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import lombok.extern.slf4j.Slf4j;
+import org.jeecg.common.system.base.controller.JeecgController;
+import org.jeecgframework.poi.excel.ExcelImportUtil;
+import org.jeecgframework.poi.excel.def.NormalExcelConstants;
+import org.jeecgframework.poi.excel.entity.ExportParams;
+import org.jeecgframework.poi.excel.entity.ImportParams;
+import org.jeecgframework.poi.excel.view.JeecgEntityExcelView;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+import org.springframework.web.multipart.MultipartHttpServletRequest;
+import org.springframework.web.servlet.ModelAndView;
+import com.alibaba.fastjson.JSON;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+
+ /**
+ * @Description: 历史薪资
+ * @Author: jeecg-boot
+ * @Date:   2022-01-25
+ * @Version: V1.0
+ */
+@Slf4j
+@Api(tags="历史薪资")
+@RestController
+@RequestMapping("/historyWages/historyWages")
+public class HistoryWagesController extends JeecgController<HistoryWages, IHistoryWagesService> {
+	@Autowired
+	private IHistoryWagesService historyWagesService;
+	
+	/**
+	 * 分页列表查询
+	 *
+	 * @param historyWages
+	 * @param pageNo
+	 * @param pageSize
+	 * @param req
+	 * @return
+	 */
+	@AutoLog(value = "历史薪资-分页列表查询")
+	@ApiOperation(value="历史薪资-分页列表查询", notes="历史薪资-分页列表查询")
+	@GetMapping(value = "/list")
+	public Result<?> queryPageList(HistoryWages historyWages,
+								   @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
+								   @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
+								   HttpServletRequest req) {
+		QueryWrapper<HistoryWages> queryWrapper = QueryGenerator.initQueryWrapper(historyWages, req.getParameterMap());
+		Page<HistoryWages> page = new Page<HistoryWages>(pageNo, pageSize);
+		IPage<HistoryWages> pageList = historyWagesService.page(page, queryWrapper);
+		return Result.OK(pageList);
+	}
+	
+	/**
+	 * 添加
+	 *
+	 * @param historyWages
+	 * @return
+	 */
+	@AutoLog(value = "历史薪资-添加")
+	@ApiOperation(value="历史薪资-添加", notes="历史薪资-添加")
+	@PostMapping(value = "/add")
+	public Result<?> add(@RequestBody HistoryWages historyWages) {
+		historyWagesService.save(historyWages);
+		return Result.OK("添加成功!");
+	}
+	
+	/**
+	 * 编辑
+	 *
+	 * @param historyWages
+	 * @return
+	 */
+	@AutoLog(value = "历史薪资-编辑")
+	@ApiOperation(value="历史薪资-编辑", notes="历史薪资-编辑")
+	@PutMapping(value = "/edit")
+	public Result<?> edit(@RequestBody HistoryWages historyWages) {
+		historyWagesService.updateById(historyWages);
+		return Result.OK("编辑成功!");
+	}
+	
+	/**
+	 * 通过id删除
+	 *
+	 * @param id
+	 * @return
+	 */
+	@AutoLog(value = "历史薪资-通过id删除")
+	@ApiOperation(value="历史薪资-通过id删除", notes="历史薪资-通过id删除")
+	@DeleteMapping(value = "/delete")
+	public Result<?> delete(@RequestParam(name="id",required=true) String id) {
+		historyWagesService.removeById(id);
+		return Result.OK("删除成功!");
+	}
+	
+	/**
+	 * 批量删除
+	 *
+	 * @param ids
+	 * @return
+	 */
+	@AutoLog(value = "历史薪资-批量删除")
+	@ApiOperation(value="历史薪资-批量删除", notes="历史薪资-批量删除")
+	@DeleteMapping(value = "/deleteBatch")
+	public Result<?> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
+		this.historyWagesService.removeByIds(Arrays.asList(ids.split(",")));
+		return Result.OK("批量删除成功!");
+	}
+	
+	/**
+	 * 通过id查询
+	 *
+	 * @param id
+	 * @return
+	 */
+	@AutoLog(value = "历史薪资-通过id查询")
+	@ApiOperation(value="历史薪资-通过id查询", notes="历史薪资-通过id查询")
+	@GetMapping(value = "/queryById")
+	public Result<?> queryById(@RequestParam(name="id",required=true) String id) {
+		HistoryWages historyWages = historyWagesService.getById(id);
+		return Result.OK(historyWages);
+	}
+
+  /**
+   * 导出excel
+   *
+   * @param request
+   * @param historyWages
+   */
+  @RequestMapping(value = "/exportXls")
+  public ModelAndView exportXls(HttpServletRequest request, HistoryWages historyWages) {
+      return super.exportXls(request, historyWages, HistoryWages.class, "历史薪资");
+  }
+
+  /**
+   * 通过excel导入数据
+   *
+   * @param request
+   * @param response
+   * @return
+   */
+  @RequestMapping(value = "/importExcel", method = RequestMethod.POST)
+  public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
+      return super.importExcel(request, response, HistoryWages.class);
+  }
+
+}

+ 69 - 0
jeecg-boot-module-demo/src/main/java/org/jeecg/modules/geke/historyWages/entity/HistoryWages.java

@@ -0,0 +1,69 @@
+package org.jeecg.modules.geke.historyWages.entity;
+
+import java.io.Serializable;
+import java.util.Date;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.TableField;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import org.springframework.format.annotation.DateTimeFormat;
+import org.jeecgframework.poi.excel.annotation.Excel;
+
+/**
+ * @Description: 历史薪资
+ * @Author: jeecg-boot
+ * @Date:   2022-01-25
+ * @Version: V1.0
+ */
+@Data
+@TableName("geke_history_wages")
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@ApiModel(value="geke_history_wages对象", description="历史薪资")
+public class HistoryWages {
+    
+	/**id*/
+	@TableId(type = IdType.ASSIGN_ID)
+    @ApiModelProperty(value = "id")
+	private java.lang.String id;
+	/**员工id*/
+	@Excel(name = "员工id", width = 15)
+    @ApiModelProperty(value = "员工id")
+	private java.lang.String userId;
+	/**部门id*/
+	@Excel(name = "部门id", width = 15)
+    @ApiModelProperty(value = "部门id")
+	private java.lang.String deptId;
+	/**基本薪资1*/
+	@Excel(name = "基本薪资1", width = 15)
+    @ApiModelProperty(value = "基本薪资1")
+	private java.lang.String wagesOne;
+	/**基本薪资2*/
+	@Excel(name = "基本薪资2", width = 15)
+    @ApiModelProperty(value = "基本薪资2")
+	private java.lang.String wagesTwo;
+	/**缴交基数*/
+	@Excel(name = "缴交基数", width = 15)
+    @ApiModelProperty(value = "缴交基数")
+	private java.lang.String wagesBase;
+	/**社保基数*/
+	@Excel(name = "社保基数", width = 15)
+    @ApiModelProperty(value = "社保基数")
+	private java.lang.String security;
+	/**创建人*/
+	@Excel(name = "创建人", width = 15)
+    @ApiModelProperty(value = "创建人")
+	private java.lang.String createBy;
+	/**创建时间*/
+	@Excel(name = "创建时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    @ApiModelProperty(value = "创建时间")
+	private java.util.Date createTime;
+}

+ 18 - 0
jeecg-boot-module-demo/src/main/java/org/jeecg/modules/geke/historyWages/mapper/HistoryWagesMapper.java

@@ -0,0 +1,18 @@
+package org.jeecg.modules.geke.historyWages.mapper;
+
+import java.util.List;
+
+import org.apache.ibatis.annotations.Param;
+import org.jeecg.modules.geke.historyWages.entity.HistoryWages;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * @Description: 历史薪资
+ * @Author: jeecg-boot
+ * @Date:   2022-01-25
+ * @Version: V1.0
+ */
+public interface HistoryWagesMapper extends BaseMapper<HistoryWages> {
+
+    List<HistoryWages> getOne(@Param("userid")String userid);
+}

+ 12 - 0
jeecg-boot-module-demo/src/main/java/org/jeecg/modules/geke/historyWages/mapper/xml/HistoryWagesMapper.xml

@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="org.jeecg.modules.geke.historyWages.mapper.HistoryWagesMapper">
+
+    <select id="getOne" resultType="org.jeecg.modules.geke.historyWages.entity.HistoryWages">
+        select *from geke_history_wages where 1=1
+        <if test="userid!=null and ''!=userid">
+            and user_id=#{userid}
+        </if>
+        order by create_time desc
+    </select>
+</mapper>

+ 17 - 0
jeecg-boot-module-demo/src/main/java/org/jeecg/modules/geke/historyWages/service/IHistoryWagesService.java

@@ -0,0 +1,17 @@
+package org.jeecg.modules.geke.historyWages.service;
+
+import org.apache.ibatis.annotations.Param;
+import org.jeecg.modules.geke.historyWages.entity.HistoryWages;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+import java.util.List;
+
+/**
+ * @Description: 历史薪资
+ * @Author: jeecg-boot
+ * @Date:   2022-01-25
+ * @Version: V1.0
+ */
+public interface IHistoryWagesService extends IService<HistoryWages> {
+    List<HistoryWages> getOne(String userid);
+}

+ 28 - 0
jeecg-boot-module-demo/src/main/java/org/jeecg/modules/geke/historyWages/service/impl/HistoryWagesServiceImpl.java

@@ -0,0 +1,28 @@
+package org.jeecg.modules.geke.historyWages.service.impl;
+
+import org.jeecg.modules.geke.historyWages.entity.HistoryWages;
+import org.jeecg.modules.geke.historyWages.mapper.HistoryWagesMapper;
+import org.jeecg.modules.geke.historyWages.service.IHistoryWagesService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+
+import java.util.List;
+
+/**
+ * @Description: 历史薪资
+ * @Author: jeecg-boot
+ * @Date:   2022-01-25
+ * @Version: V1.0
+ */
+@Service
+public class HistoryWagesServiceImpl extends ServiceImpl<HistoryWagesMapper, HistoryWages> implements IHistoryWagesService {
+    @Autowired
+    private HistoryWagesMapper historyWagesMapper;
+
+    @Override
+    public List<HistoryWages> getOne(String userid) {
+        return historyWagesMapper.getOne(userid);
+    }
+}

+ 3 - 2
jeecg-boot-module-demo/src/main/java/org/jeecg/modules/geke/salary/mapper/xml/SalaryMapper.xml

@@ -2,13 +2,14 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="org.jeecg.modules.geke.salary.mapper.SalaryMapper">
     <insert id="addSalaryByU8">
-        insert into geke_gz_body(header_id, sr_wages, sr_jx_wages,sr_bonus, sr_subsidy, sr_jb_wages, sr_quit,
+        insert into geke_gz_body(id,header_id, sr_wages, sr_jx_wages,sr_bonus, sr_subsidy, sr_jb_wages, sr_quit,
         sr_gd_bonus, sr_year_bonus, sr_other, kk_lack, kk_other, gr_pension, gr_cause, gr_medical, gr_fund,
         gs_pension, gs_cause, gs_fund, gs_injury, gs_birth, sd_personal, sd_bonus, sd_other, yingfa, shifa,
         wages_date, create_by, create_time, update_by, update_time, gs_medical, user_id,kq_wages,kq_count,bj_count
         ,jb_count,sr_gw_wages) VALUES
         <foreach collection="list" item="item" index="index" separator=",">
-            (#{item.headerId},
+            (#{item.id},
+             #{item.headerId},
              #{item.srWages},
              #{item.srJxWages},
              #{item.srBonus},

+ 181 - 0
jeecg-boot-module-demo/src/main/java/org/jeecg/modules/geke/sysFile/controller/SysFileController.java

@@ -0,0 +1,181 @@
+package org.jeecg.modules.geke.sysFile.controller;
+
+import java.util.Arrays;
+import java.util.List;
+import java.util.Map;
+import java.io.IOException;
+import java.io.UnsupportedEncodingException;
+import java.net.URLDecoder;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import org.jeecg.common.api.vo.Result;
+import org.jeecg.common.system.query.QueryGenerator;
+import org.jeecg.common.aspect.annotation.AutoLog;
+import org.jeecg.common.util.oConvertUtils;
+import org.jeecg.modules.geke.sysFile.entity.SysFile;
+import org.jeecg.modules.geke.sysFile.service.ISysFileService;
+import java.util.Date;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import lombok.extern.slf4j.Slf4j;
+import org.jeecg.common.system.base.controller.JeecgController;
+import org.jeecgframework.poi.excel.ExcelImportUtil;
+import org.jeecgframework.poi.excel.def.NormalExcelConstants;
+import org.jeecgframework.poi.excel.entity.ExportParams;
+import org.jeecgframework.poi.excel.entity.ImportParams;
+import org.jeecgframework.poi.excel.view.JeecgEntityExcelView;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+import org.springframework.web.multipart.MultipartHttpServletRequest;
+import org.springframework.web.servlet.ModelAndView;
+import com.alibaba.fastjson.JSON;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+
+ /**
+ * @Description: 文件
+ * @Author: jeecg-boot
+ * @Date:   2022-01-24
+ * @Version: V1.0
+ */
+@Slf4j
+@Api(tags="文件")
+@RestController
+@RequestMapping("/sysFile/sysFile")
+public class SysFileController extends JeecgController<SysFile, ISysFileService> {
+	@Autowired
+	private ISysFileService sysFileService;
+	
+	/**
+	 * 分页列表查询
+	 *
+	 * @param sysFile
+	 * @param pageNo
+	 * @param pageSize
+	 * @param req
+	 * @return
+	 */
+	@AutoLog(value = "文件-分页列表查询")
+	@ApiOperation(value="文件-分页列表查询", notes="文件-分页列表查询")
+	@GetMapping(value = "/list")
+	public Result<?> queryPageList(SysFile sysFile,
+								   @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
+								   @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
+								   HttpServletRequest req) {
+		QueryWrapper<SysFile> queryWrapper = QueryGenerator.initQueryWrapper(sysFile, req.getParameterMap());
+		Page<SysFile> page = new Page<SysFile>(pageNo, pageSize);
+		IPage<SysFile> pageList = sysFileService.page(page, queryWrapper);
+		return Result.OK(pageList);
+	}
+	
+	/**
+	 * 添加
+	 *
+	 * @param sysFile
+	 * @return
+	 */
+	@AutoLog(value = "文件-添加")
+	@ApiOperation(value="文件-添加", notes="文件-添加")
+	@PostMapping(value = "/add")
+	public Result<?> add(@RequestBody SysFile sysFile) {
+		sysFileService.save(sysFile);
+		return Result.OK("添加成功!");
+	}
+	
+	/**
+	 * 编辑
+	 *
+	 * @param sysFile
+	 * @return
+	 */
+	@AutoLog(value = "文件-编辑")
+	@ApiOperation(value="文件-编辑", notes="文件-编辑")
+	@PutMapping(value = "/edit")
+	public Result<?> edit(@RequestBody SysFile sysFile) {
+		sysFileService.updateById(sysFile);
+		return Result.OK("编辑成功!");
+	}
+	
+	/**
+	 * 通过id删除
+	 *
+	 * @param id
+	 * @return
+	 */
+	@AutoLog(value = "文件-通过id删除")
+	@ApiOperation(value="文件-通过id删除", notes="文件-通过id删除")
+	@DeleteMapping(value = "/delete")
+	public Result<?> delete(@RequestParam(name="id",required=true) String id) {
+		sysFileService.removeById(id);
+		return Result.OK("删除成功!");
+	}
+	
+	/**
+	 * 批量删除
+	 *
+	 * @param ids
+	 * @return
+	 */
+	@AutoLog(value = "文件-批量删除")
+	@ApiOperation(value="文件-批量删除", notes="文件-批量删除")
+	@DeleteMapping(value = "/deleteBatch")
+	public Result<?> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
+		this.sysFileService.removeByIds(Arrays.asList(ids.split(",")));
+		return Result.OK("批量删除成功!");
+	}
+	
+	/**
+	 * 通过id查询
+	 *
+	 * @param id
+	 * @return
+	 */
+	@AutoLog(value = "文件-通过id查询")
+	@ApiOperation(value="文件-通过id查询", notes="文件-通过id查询")
+	@GetMapping(value = "/queryById")
+	public Result<?> queryById(@RequestParam(name="id",required=true) String id) {
+		SysFile sysFile = sysFileService.getById(id);
+		return Result.OK(sysFile);
+	}
+
+	 /**
+	  * 通过userid查询
+	  *
+	  * @param id
+	  * @return
+	  */
+	 @AutoLog(value = "文件-通过userid查询")
+	 @ApiOperation(value="文件-通过userid查询", notes="文件-通过userid查询")
+	 @GetMapping(value = "/queryByUserId")
+	 public Result<?> queryByUserId(@RequestParam(name="userid",required=true) String userid) {
+		 List<SysFile> sysFiles = sysFileService.queryByUserId(userid);
+		 return Result.OK(sysFiles);
+	 }
+
+  /**
+   * 导出excel
+   *
+   * @param request
+   * @param sysFile
+   */
+  @RequestMapping(value = "/exportXls")
+  public ModelAndView exportXls(HttpServletRequest request, SysFile sysFile) {
+      return super.exportXls(request, sysFile, SysFile.class, "文件");
+  }
+
+  /**
+   * 通过excel导入数据
+   *
+   * @param request
+   * @param response
+   * @return
+   */
+  @RequestMapping(value = "/importExcel", method = RequestMethod.POST)
+  public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
+      return super.importExcel(request, response, SysFile.class);
+  }
+
+}

+ 43 - 0
jeecg-boot-module-demo/src/main/java/org/jeecg/modules/geke/sysFile/entity/SysFile.java

@@ -0,0 +1,43 @@
+package org.jeecg.modules.geke.sysFile.entity;
+
+import java.io.Serializable;
+import java.util.Date;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.TableField;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import org.springframework.format.annotation.DateTimeFormat;
+import org.jeecgframework.poi.excel.annotation.Excel;
+
+/**
+ * @Description: 文件
+ * @Author: jeecg-boot
+ * @Date:   2022-01-24
+ * @Version: V1.0
+ */
+@Data
+@TableName("sys_txt")
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@ApiModel(value="sys_txt对象", description="文件")
+public class SysFile {
+    
+	/**id*/
+	@TableId(type = IdType.ASSIGN_ID)
+    @ApiModelProperty(value = "id")
+	private java.lang.String id;
+	/**用户id*/
+	@Excel(name = "用户id", width = 15)
+    @ApiModelProperty(value = "用户id")
+	private java.lang.String userId;
+	/**文件名称*/
+	@Excel(name = "文件名称", width = 15)
+    @ApiModelProperty(value = "文件名称")
+	private java.lang.String txtName;
+}

+ 21 - 0
jeecg-boot-module-demo/src/main/java/org/jeecg/modules/geke/sysFile/mapper/SysFileMapper.java

@@ -0,0 +1,21 @@
+package org.jeecg.modules.geke.sysFile.mapper;
+
+import java.util.List;
+
+import org.apache.ibatis.annotations.Param;
+import org.jeecg.modules.geke.sysFile.entity.SysFile;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * @Description: 文件
+ * @Author: jeecg-boot
+ * @Date:   2022-01-24
+ * @Version: V1.0
+ */
+public interface SysFileMapper extends BaseMapper<SysFile> {
+
+    List<SysFile>queryByUserId(@Param("userid")String userid);
+
+    int deleteByUserId(@Param("userid")String userid);
+
+}

+ 17 - 0
jeecg-boot-module-demo/src/main/java/org/jeecg/modules/geke/sysFile/mapper/xml/SysFileMapper.xml

@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="org.jeecg.modules.geke.sysFile.mapper.SysFileMapper">
+    <delete id="deleteByUserId">
+        delete from sys_txt where 1=1
+        <if test="userid!=null and ''!=userid">
+            and user_id=#{userid}
+        </if>
+    </delete>
+
+    <select id="queryByUserId" resultType="org.jeecg.modules.geke.sysFile.entity.SysFile">
+        select *from sys_txt where 1=1
+        <if test="userid!=null and ''!=userid">
+            and user_id=#{userid}
+        </if>
+    </select>
+</mapper>

+ 19 - 0
jeecg-boot-module-demo/src/main/java/org/jeecg/modules/geke/sysFile/service/ISysFileService.java

@@ -0,0 +1,19 @@
+package org.jeecg.modules.geke.sysFile.service;
+
+import org.apache.ibatis.annotations.Param;
+import org.jeecg.modules.geke.sysFile.entity.SysFile;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+import java.util.List;
+
+/**
+ * @Description: 文件
+ * @Author: jeecg-boot
+ * @Date:   2022-01-24
+ * @Version: V1.0
+ */
+public interface ISysFileService extends IService<SysFile> {
+    List<SysFile> queryByUserId(String userid);
+
+    int deleteByUserId(String userid);
+}

+ 33 - 0
jeecg-boot-module-demo/src/main/java/org/jeecg/modules/geke/sysFile/service/impl/SysFileServiceImpl.java

@@ -0,0 +1,33 @@
+package org.jeecg.modules.geke.sysFile.service.impl;
+
+import org.jeecg.modules.geke.sysFile.entity.SysFile;
+import org.jeecg.modules.geke.sysFile.mapper.SysFileMapper;
+import org.jeecg.modules.geke.sysFile.service.ISysFileService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+
+import java.util.List;
+
+/**
+ * @Description: 文件
+ * @Author: jeecg-boot
+ * @Date:   2022-01-24
+ * @Version: V1.0
+ */
+@Service
+public class SysFileServiceImpl extends ServiceImpl<SysFileMapper, SysFile> implements ISysFileService {
+    @Autowired
+    private  SysFileMapper sysFileMapper;
+
+    @Override
+    public List<SysFile> queryByUserId(String userid) {
+        return sysFileMapper.queryByUserId(userid);
+    }
+
+    @Override
+    public int deleteByUserId(String userid) {
+        return sysFileMapper.deleteByUserId(userid);
+    }
+}

+ 167 - 0
jeecg-boot-module-demo/src/main/java/org/jeecg/modules/geke/userPrize/controller/UserPrizeController.java

@@ -0,0 +1,167 @@
+package org.jeecg.modules.geke.userPrize.controller;
+
+import java.util.Arrays;
+import java.util.List;
+import java.util.Map;
+import java.io.IOException;
+import java.io.UnsupportedEncodingException;
+import java.net.URLDecoder;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import org.jeecg.common.api.vo.Result;
+import org.jeecg.common.system.query.QueryGenerator;
+import org.jeecg.common.aspect.annotation.AutoLog;
+import org.jeecg.common.util.oConvertUtils;
+import org.jeecg.modules.geke.userPrize.entity.UserPrize;
+import org.jeecg.modules.geke.userPrize.service.IUserPrizeService;
+import java.util.Date;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import lombok.extern.slf4j.Slf4j;
+import org.jeecg.common.system.base.controller.JeecgController;
+import org.jeecgframework.poi.excel.ExcelImportUtil;
+import org.jeecgframework.poi.excel.def.NormalExcelConstants;
+import org.jeecgframework.poi.excel.entity.ExportParams;
+import org.jeecgframework.poi.excel.entity.ImportParams;
+import org.jeecgframework.poi.excel.view.JeecgEntityExcelView;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+import org.springframework.web.multipart.MultipartHttpServletRequest;
+import org.springframework.web.servlet.ModelAndView;
+import com.alibaba.fastjson.JSON;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+
+ /**
+ * @Description: 员工奖惩
+ * @Author: jeecg-boot
+ * @Date:   2022-01-24
+ * @Version: V1.0
+ */
+@Slf4j
+@Api(tags="员工奖惩")
+@RestController
+@RequestMapping("/userPrize/userPrize")
+public class UserPrizeController extends JeecgController<UserPrize, IUserPrizeService> {
+	@Autowired
+	private IUserPrizeService userPrizeService;
+	
+	/**
+	 * 分页列表查询
+	 *
+	 * @param userPrize
+	 * @param pageNo
+	 * @param pageSize
+	 * @param req
+	 * @return
+	 */
+	@AutoLog(value = "员工奖惩-分页列表查询")
+	@ApiOperation(value="员工奖惩-分页列表查询", notes="员工奖惩-分页列表查询")
+	@GetMapping(value = "/list")
+	public Result<?> queryPageList(UserPrize userPrize,
+								   @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
+								   @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
+								   HttpServletRequest req) {
+		QueryWrapper<UserPrize> queryWrapper = QueryGenerator.initQueryWrapper(userPrize, req.getParameterMap());
+		Page<Map<String,Object>> page = new Page<Map<String,Object>>(pageNo, pageSize);
+		Page<Map<String,Object>> lists = userPrizeService.lists(page, userPrize);
+		return Result.OK(lists);
+	}
+	
+	/**
+	 * 添加
+	 *
+	 * @param userPrize
+	 * @return
+	 */
+	@AutoLog(value = "员工奖惩-添加")
+	@ApiOperation(value="员工奖惩-添加", notes="员工奖惩-添加")
+	@PostMapping(value = "/add")
+	public Result<?> add(@RequestBody UserPrize userPrize) {
+		userPrizeService.save(userPrize);
+		return Result.OK("添加成功!");
+	}
+	
+	/**
+	 * 编辑
+	 *
+	 * @param userPrize
+	 * @return
+	 */
+	@AutoLog(value = "员工奖惩-编辑")
+	@ApiOperation(value="员工奖惩-编辑", notes="员工奖惩-编辑")
+	@PutMapping(value = "/edit")
+	public Result<?> edit(@RequestBody UserPrize userPrize) {
+		userPrizeService.updateById(userPrize);
+		return Result.OK("编辑成功!");
+	}
+	
+	/**
+	 * 通过id删除
+	 *
+	 * @param id
+	 * @return
+	 */
+	@AutoLog(value = "员工奖惩-通过id删除")
+	@ApiOperation(value="员工奖惩-通过id删除", notes="员工奖惩-通过id删除")
+	@DeleteMapping(value = "/delete")
+	public Result<?> delete(@RequestParam(name="id",required=true) String id) {
+		userPrizeService.removeById(id);
+		return Result.OK("删除成功!");
+	}
+	
+	/**
+	 * 批量删除
+	 *
+	 * @param ids
+	 * @return
+	 */
+	@AutoLog(value = "员工奖惩-批量删除")
+	@ApiOperation(value="员工奖惩-批量删除", notes="员工奖惩-批量删除")
+	@DeleteMapping(value = "/deleteBatch")
+	public Result<?> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
+		this.userPrizeService.removeByIds(Arrays.asList(ids.split(",")));
+		return Result.OK("批量删除成功!");
+	}
+	
+	/**
+	 * 通过id查询
+	 *
+	 * @param id
+	 * @return
+	 */
+	@AutoLog(value = "员工奖惩-通过id查询")
+	@ApiOperation(value="员工奖惩-通过id查询", notes="员工奖惩-通过id查询")
+	@GetMapping(value = "/queryById")
+	public Result<?> queryById(@RequestParam(name="id",required=true) String id) {
+		UserPrize userPrize = userPrizeService.getById(id);
+		return Result.OK(userPrize);
+	}
+
+  /**
+   * 导出excel
+   *
+   * @param request
+   * @param userPrize
+   */
+  @RequestMapping(value = "/exportXls")
+  public ModelAndView exportXls(HttpServletRequest request, UserPrize userPrize) {
+      return super.exportXls(request, userPrize, UserPrize.class, "员工奖惩");
+  }
+
+  /**
+   * 通过excel导入数据
+   *
+   * @param request
+   * @param response
+   * @return
+   */
+  @RequestMapping(value = "/importExcel", method = RequestMethod.POST)
+  public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
+      return super.importExcel(request, response, UserPrize.class);
+  }
+
+}

+ 67 - 0
jeecg-boot-module-demo/src/main/java/org/jeecg/modules/geke/userPrize/entity/UserPrize.java

@@ -0,0 +1,67 @@
+package org.jeecg.modules.geke.userPrize.entity;
+
+import java.io.Serializable;
+import java.util.Date;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.TableField;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import org.springframework.format.annotation.DateTimeFormat;
+import org.jeecgframework.poi.excel.annotation.Excel;
+
+/**
+ * @Description: 员工奖惩
+ * @Author: jeecg-boot
+ * @Date:   2022-01-24
+ * @Version: V1.0
+ */
+@Data
+@TableName("geke_user_prize")
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@ApiModel(value="geke_user_prize对象", description="员工奖惩")
+public class UserPrize {
+    
+	/**id*/
+	@TableId(type = IdType.ASSIGN_ID)
+    @ApiModelProperty(value = "id")
+	private java.lang.String id;
+	/**员工id*/
+	@Excel(name = "员工id", width = 15)
+    @ApiModelProperty(value = "员工id")
+	private java.lang.String userId;
+	/**部门id*/
+	@Excel(name = "部门id", width = 15)
+    @ApiModelProperty(value = "部门id")
+	private java.lang.String deptId;
+	/**类型(0奖励,1惩罚)*/
+	@Excel(name = "类型(0奖励,1惩罚)", width = 15)
+    @ApiModelProperty(value = "类型(0奖励,1惩罚)")
+	private java.lang.String type;
+	/**备注*/
+	@Excel(name = "备注", width = 15)
+    @ApiModelProperty(value = "备注")
+	private java.lang.String demo;
+	/**创建人*/
+	@Excel(name = "创建人", width = 15)
+    @ApiModelProperty(value = "创建人")
+	private java.lang.String createBy;
+	/**创建时间*/
+	@Excel(name = "创建时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    @ApiModelProperty(value = "创建时间")
+	private java.util.Date createTime;
+	/**日期*/
+	@Excel(name = "日期", width = 20, format = "yyyy-MM-dd HH:mm:ss")
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    @ApiModelProperty(value = "日期")
+	private java.util.Date date;
+}

+ 23 - 0
jeecg-boot-module-demo/src/main/java/org/jeecg/modules/geke/userPrize/mapper/UserPrizeMapper.java

@@ -0,0 +1,23 @@
+package org.jeecg.modules.geke.userPrize.mapper;
+
+import java.util.List;
+import java.util.Map;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import org.apache.ibatis.annotations.Param;
+import org.jeecg.modules.geke.userPrize.entity.UserPrize;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * @Description: 员工奖惩
+ * @Author: jeecg-boot
+ * @Date:   2022-01-24
+ * @Version: V1.0
+ */
+public interface UserPrizeMapper extends BaseMapper<UserPrize> {
+
+    List<Map<String,Object>>lists(Page<Map<String,Object>> page, @Param("userPrize") UserPrize userPrize,@Param("date")String date);
+
+    List<Map<String,Object>>queryDept(@Param("userid")String userid);
+
+}

+ 36 - 0
jeecg-boot-module-demo/src/main/java/org/jeecg/modules/geke/userPrize/mapper/xml/UserPrizeMapper.xml

@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="org.jeecg.modules.geke.userPrize.mapper.UserPrizeMapper">
+
+    <select id="lists" resultType="java.util.Map">
+        select DISTINCT b.id as'userid',b.realname as 'realname',a.id,a.demo,a.date,a.type from geke_user_prize a
+        left join sys_user b on a.user_id=b.id
+        left join sys_user_depart c on b.id=c.user_id
+        left join sys_depart d on c.dep_id=d.id
+        where b.del_flag='0'
+        <if test="userPrize.userId!=null and ''!=userPrize.userId">
+            and b.realname like concat(concat('%',#{userPrize.userId}),'%')
+        </if>
+        <if test="userPrize.deptId!=null and ''!=userPrize.deptId">
+            and d.depart_name like concat(concat('%',#{userPrize.deptId}),'%')
+        </if>
+        <if test="userPrize.demo!=null and ''!=userPrize.demo">
+            and a.demo like concat(concat('%',#{userPrize.demo}),'%')
+        </if>
+        <if test="userPrize.type!=null and ''!=userPrize.type">
+            and a.type=#{userPrize.type}
+        </if>
+        <if test="date!=null and ''!=date">
+            and date_format(a.date,'%Y-%m-%d')=date_format(#{date},'%Y-%m-%d')
+        </if>
+    </select>
+    <select id="queryDept" resultType="java.util.Map">
+        select d.id,d.depart_name as 'name' from sys_user_depart c
+        left join sys_depart d on c.dep_id=d.id
+        left join sys_user a on a.id=c.user_id
+        where a.del_flag='0'
+        <if test="userid!=null and ''!=userid">
+            and a.id=#{userid}
+        </if>
+    </select>
+</mapper>

+ 19 - 0
jeecg-boot-module-demo/src/main/java/org/jeecg/modules/geke/userPrize/service/IUserPrizeService.java

@@ -0,0 +1,19 @@
+package org.jeecg.modules.geke.userPrize.service;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import org.apache.ibatis.annotations.Param;
+import org.jeecg.modules.geke.userPrize.entity.UserPrize;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @Description: 员工奖惩
+ * @Author: jeecg-boot
+ * @Date:   2022-01-24
+ * @Version: V1.0
+ */
+public interface IUserPrizeService extends IService<UserPrize> {
+    Page<Map<String,Object>> lists(Page<Map<String,Object>> page,UserPrize userPrize);
+}

+ 59 - 0
jeecg-boot-module-demo/src/main/java/org/jeecg/modules/geke/userPrize/service/impl/UserPrizeServiceImpl.java

@@ -0,0 +1,59 @@
+package org.jeecg.modules.geke.userPrize.service.impl;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import org.jeecg.common.util.DateUtils;
+import org.jeecg.modules.geke.userPrize.entity.UserPrize;
+import org.jeecg.modules.geke.userPrize.mapper.UserPrizeMapper;
+import org.jeecg.modules.geke.userPrize.service.IUserPrizeService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @Description: 员工奖惩
+ * @Author: jeecg-boot
+ * @Date:   2022-01-24
+ * @Version: V1.0
+ */
+@Service
+public class UserPrizeServiceImpl extends ServiceImpl<UserPrizeMapper, UserPrize> implements IUserPrizeService {
+    @Autowired
+    private  UserPrizeMapper userPrizeMapper;
+
+    @Override
+    public Page<Map<String,Object>> lists(Page<Map<String,Object>> page, UserPrize userPrize) {
+        String date="";
+        if (userPrize.getDate()!=null){
+            date = DateUtils.formatDate(userPrize.getDate());
+        }
+        Page<Map<String,Object>> userPrizePage = page.setRecords(userPrizeMapper.lists(page, userPrize,date));
+        userPrizePage.getRecords().forEach(str->{
+            List<Map<String, Object>> userid = userPrizeMapper.queryDept(str.get("userid").toString());
+            if (userid!=null){
+                String deptid="";
+                String deptname="";
+                for (Map s:userid){
+                    if (deptid.equals("")){
+                        deptid=s.get("id").toString();
+                    }else {
+                        deptid=deptid+","+s.get("id").toString();
+                    }
+
+
+                    if (deptname.equals("")){
+                        deptname=s.get("name").toString();
+                    }else {
+                        deptname=deptname+","+s.get("name").toString();
+                    }
+                }
+                str.put("deptid",deptid);
+                str.put("deptname",deptname);
+            }
+        });
+        return userPrizePage;
+    }
+}

+ 1 - 1
jeecg-boot-module-demo/src/main/java/org/jeecg/modules/geke/vacation/mapper/xml/VacationMapper.xml

@@ -67,7 +67,7 @@
         holiday_count as 'holidayCount',
         holiday_type as 'holidayType'
         from geke_vacation_body
-        where  holiday_type not in('事假','病假','调休假')
+        where  holiday_type='年假' <!--not in('事假','病假','调休假')!-->
         <if test="userid!=null and ''!=userid">
             and user_id=#{userid}
         </if>

+ 1 - 1
jeecg-boot-module-system/src/main/java/org/jeecg/modules/openapi4j/service/DepartmentService.java

@@ -82,7 +82,7 @@ public class DepartmentService extends BaseService {
 			Map<String, String> paramMap = new HashMap();
 			paramMap.put("to_account", to_account);
 			paramMap.put("tradeid", tradeId);
-			paramMap.put("ds_sequence","4");
+			//paramMap.put("ds_sequence","4");
 			String url = this.createURL("department/add", paramMap);
 			logger.debug(url);
 			String resultStr = HttpUtil.post(url, jsonBody);

+ 1 - 1
jeecg-boot-module-system/src/main/java/org/jeecg/modules/openapi4j/service/PersonService.java

@@ -80,7 +80,7 @@ public class PersonService extends BaseService {
 			Map<String, String> paramMap = new HashMap();
 			paramMap.put("to_account", to_account);
 			paramMap.put("tradeid", tradeId);
-			paramMap.put("ds_sequence","4");
+			//paramMap.put("ds_sequence","4");
 			String url = this.createURL("person/add", paramMap);
 			logger.debug(url);
 			String resultStr = HttpUtil.post(url, jsonBody);

+ 71 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/controller/SysUserController.java

@@ -33,6 +33,10 @@ import org.jeecg.common.system.util.JwtUtil;
 import org.jeecg.common.system.vo.LoginUser;
 import org.jeecg.common.util.*;
 import org.jeecg.modules.geke.attendance.service.IAttendanceService;
+import org.jeecg.modules.geke.historyWages.entity.HistoryWages;
+import org.jeecg.modules.geke.historyWages.service.IHistoryWagesService;
+import org.jeecg.modules.geke.sysFile.entity.SysFile;
+import org.jeecg.modules.geke.sysFile.service.ISysFileService;
 import org.jeecg.modules.geke.userRule.service.IUserRuleService;
 import org.jeecg.modules.geke.userShift.entity.UserShift;
 import org.jeecg.modules.geke.userShift.entity.UserShiftVo;
@@ -125,11 +129,16 @@ public class SysUserController {
     @Autowired
     private SysDepartMapper departMapper;
 
+    @Autowired
+    private IHistoryWagesService historyWagesService;
+
     @Autowired
     private IUserShiftService userShiftService;
     @Autowired
     private IUserRuleService userRuleService;
 
+    @Autowired
+    private ISysFileService service;
 	@Autowired
 	private RedisUtil redisUtil;
 
@@ -276,6 +285,7 @@ public class SysUserController {
 		Result<SysUser> result = new Result<SysUser>();
 		String selectedRoles = jsonObject.getString("selectedroles");
 		String selectedDeparts = jsonObject.getString("selecteddeparts");
+		String txtFile=jsonObject.getString("txt");
 		try {
 			SysUser user = JSON.parseObject(jsonObject.toJSONString(), SysUser.class);
 			user.setCreateTime(new Date());//设置创建时间
@@ -298,6 +308,23 @@ public class SysUserController {
 			user.setDelFlag(CommonConstant.DEL_FLAG_0);
 			sysUserService.addUserWithRole(user, selectedRoles);
             sysUserService.addUserWithDepart(user, selectedDeparts);
+            HistoryWages historyWages=new HistoryWages();
+            historyWages.setUserId(user.getId());
+            historyWages.setWagesOne(user.getWagesOne());
+            historyWages.setWagesTwo(user.getWagesTwo());
+            historyWages.setWagesBase(user.getWagesBase());
+            historyWages.setDeptId(selectedDeparts);
+            historyWages.setSecurity(user.getSecurity());
+            historyWagesService.save(historyWages);
+            if (txtFile!=null&&!txtFile.equals("")){
+                List<String> strings = Arrays.asList(txtFile.split(","));
+                strings.forEach(str->{
+                    SysFile sysFile=new SysFile();
+                    sysFile.setUserId(user.getId());
+                    sysFile.setTxtName(str);
+                    service.save(sysFile);
+                });
+            }
 			result.success("添加成功!");
 		} catch (Exception e) {
 			log.error(e.getMessage(), e);
@@ -312,6 +339,7 @@ public class SysUserController {
 	public Result<SysUser> edit(@RequestBody JSONObject jsonObject) {
 		Result<SysUser> result = new Result<SysUser>();
 		try {
+            String txtFile=jsonObject.getString("txt");
 			SysUser sysUser = sysUserService.getById(jsonObject.getString("id"));
 			baseCommonService.addLog("编辑用户,id: " +jsonObject.getString("id") ,CommonConstant.LOG_TYPE_2, 2);
 			if(sysUser==null) {
@@ -324,9 +352,46 @@ public class SysUserController {
 				user.setPassword(sysUser.getPassword());
 				String roles = jsonObject.getString("selectedroles");
                 String departs = jsonObject.getString("selecteddeparts");
+
 				sysUserService.editUserWithRole(user, roles);
                 sysUserService.editUserWithDepart(user, departs);
                 sysUserService.updateNullPhoneEmail();
+                service.deleteByUserId(user.getId());
+                List<HistoryWages> one = historyWagesService.getOne(user.getId());
+                HistoryWages history =new HistoryWages();
+                history.setWagesBase(user.getWagesBase());
+                history.setWagesOne(user.getWagesOne());
+                history.setWagesTwo(user.getWagesTwo());
+                history.setSecurity(user.getSecurity());
+                history.setUserId(user.getId());
+                history.setDeptId(departs);
+                if (txtFile!=null&&!txtFile.equals("")){
+                    List<String> strings = Arrays.asList(txtFile.split(","));
+                    strings.forEach(str->{
+                        SysFile sysFile=new SysFile();
+                        sysFile.setUserId(user.getId());
+                        sysFile.setTxtName(str);
+                        service.save(sysFile);
+                    });
+                }if (one!=null&&one.size()>0){
+                    HistoryWages historyWages = one.get(0);
+                    String is="0";
+                    if (!user.getWagesBase().equals(historyWages.getWagesBase())){
+                        is="1";
+                    }else if (!user.getWagesOne().equals(historyWages.getWagesOne())){
+                        is="1";
+                    }else if (!user.getWagesTwo().equals(historyWages.getWagesTwo())){
+                        is="1";
+                    }else if (!user.getSecurity().equals(historyWages.getSecurity())){
+                        is="1";
+                    }
+
+                    if (is.equals("1")){
+                        historyWagesService.save(history);
+                    }
+                }else {
+                    historyWagesService.save(history);
+                }
 				result.success("修改成功!");
 			}
 		} catch (Exception e) {
@@ -1812,4 +1877,10 @@ public class SysUserController {
        }
         return Result.OK(sysUsers);
     }
+
+    @GetMapping(value = "/queryUsersByusername")
+    public Result<?> queryUsersByusername(SysUser user) {
+        List<Map<String, Object> >deptByUserName = sysUserService.getDeptByUserName(user.getRealname());
+        return Result.OK(deptByUserName);
+    }
 }

+ 1 - 1
jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/entity/SysUser.java

@@ -120,7 +120,7 @@ public class SysUser implements Serializable {
     @Dict(dicCode = "sex")
     private Integer sex;
 
-
+    private  String wagesBase;
     /**
      * 电子邮件
      */

+ 3 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/mapper/SysUserMapper.java

@@ -221,4 +221,7 @@ public interface SysUserMapper extends BaseMapper<SysUser> {
 	void getNextNo(CodeVo params);
 
 	List<SysUser>kQueryUser(Page<SysUser> page,@Param("user") SysUser user);
+
+	//根据员工姓名查询部门
+	List<Map<String,Object>>getDeptByUserName(@Param("username")String username);
 }

+ 9 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/mapper/xml/SysUserMapper.xml

@@ -444,4 +444,13 @@ on a.depart_name=b.orgCodeTxt
 		</if>
 		order by create_time DESC
 	</select>
+    <select id="getDeptByUserName" resultType="java.util.Map">
+		select  a.id,a.realname,c.id as 'deptid',c.depart_name as 'deptname'  from sys_user a
+		left join sys_user_depart b on a.id=b.user_id
+		left join sys_depart c on b.dep_id=c.id
+		where a.del_flag='0'
+		<if test="username!=null and ''!=username">
+			and a.realname=#{username}
+		</if>
+	</select>
 </mapper>

+ 1 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/service/ISysUserService.java

@@ -309,4 +309,5 @@ List<String>  departIds(String userid);
 
 	Page<SysUser>kQueryUser(Page<SysUser> page,SysUser user);
 
+	List<Map<String,Object>>getDeptByUserName(String username);
 }

+ 7 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/service/impl/SysUserServiceImpl.java

@@ -625,6 +625,13 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
 		return page.setRecords(userMapper.kQueryUser(page,user));
 	}
 
+	@Override
+	public List< Map<String, Object>> getDeptByUserName(String username) {
+		List<Map<String, Object>> deptByUserName = userMapper.getDeptByUserName(username);
+
+		return deptByUserName;
+	}
+
 
 	/**
 	 * 循环获取字典数据 树