ysh 3 년 전
부모
커밋
0833b0b442

+ 167 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/viewClockIn/controller/reportOutDayController.java

@@ -0,0 +1,167 @@
+package org.jeecg.modules.viewClockIn.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.viewClockIn.entity.reportOutDay;
+import org.jeecg.modules.viewClockIn.service.IreportOutDayService;
+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-14
+ * @Version: V1.0
+ */
+@Slf4j
+@Api(tags="外勤打卡信息")
+@RestController
+@RequestMapping("/viewClockIn/reportOutDay")
+public class reportOutDayController extends JeecgController<reportOutDay, IreportOutDayService> {
+	@Autowired
+	private IreportOutDayService reportOutDayService;
+	
+	/**
+	 * 分页列表查询
+	 *
+	 * @param reportOutDay
+	 * @param pageNo
+	 * @param pageSize
+	 * @param req
+	 * @return
+	 */
+	@AutoLog(value = "外勤打卡信息-分页列表查询")
+	@ApiOperation(value="外勤打卡信息-分页列表查询", notes="外勤打卡信息-分页列表查询")
+	@GetMapping(value = "/list")
+	public Result<?> queryPageList(reportOutDay reportOutDay,
+								   @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
+								   @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
+								   HttpServletRequest req) {
+		QueryWrapper<reportOutDay> queryWrapper = QueryGenerator.initQueryWrapper(reportOutDay, req.getParameterMap());
+		Page<reportOutDay> page = new Page<reportOutDay>(pageNo, pageSize);
+		IPage<reportOutDay> pageList = reportOutDayService.page(page, queryWrapper);
+		return Result.OK(pageList);
+	}
+	
+	/**
+	 * 添加
+	 *
+	 * @param reportOutDay
+	 * @return
+	 */
+	@AutoLog(value = "外勤打卡信息-添加")
+	@ApiOperation(value="外勤打卡信息-添加", notes="外勤打卡信息-添加")
+	@PostMapping(value = "/add")
+	public Result<?> add(@RequestBody reportOutDay reportOutDay) {
+		reportOutDayService.save(reportOutDay);
+		return Result.OK("添加成功!");
+	}
+	
+	/**
+	 * 编辑
+	 *
+	 * @param reportOutDay
+	 * @return
+	 */
+	@AutoLog(value = "外勤打卡信息-编辑")
+	@ApiOperation(value="外勤打卡信息-编辑", notes="外勤打卡信息-编辑")
+	@PutMapping(value = "/edit")
+	public Result<?> edit(@RequestBody reportOutDay reportOutDay) {
+		reportOutDayService.updateById(reportOutDay);
+		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) {
+		reportOutDayService.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.reportOutDayService.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) {
+		reportOutDay reportOutDay = reportOutDayService.getById(id);
+		return Result.OK(reportOutDay);
+	}
+
+  /**
+   * 导出excel
+   *
+   * @param request
+   * @param reportOutDay
+   */
+  @RequestMapping(value = "/exportXls")
+  public ModelAndView exportXls(HttpServletRequest request, reportOutDay reportOutDay) {
+      return super.exportXls(request, reportOutDay, reportOutDay.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, reportOutDay.class);
+  }
+
+}

+ 40 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/viewClockIn/controller/viewClockInController.java

@@ -1,6 +1,10 @@
 package org.jeecg.modules.viewClockIn.controller;
 
+import java.text.DateFormat;
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
 import java.util.Arrays;
+import java.util.Date;
 import java.util.List;
 import java.util.Map;
 import javax.servlet.http.HttpServletRequest;
@@ -10,7 +14,11 @@ import com.alibaba.fastjson.JSONObject;
 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.DateUtils;
+import org.jeecg.modules.geke.attendance.entity.Attendance;
+import org.jeecg.modules.geke.attendance.service.IAttendanceService;
 import org.jeecg.modules.system.entity.SysUser;
+import org.jeecg.modules.system.util.DateUtils2;
 import org.jeecg.modules.viewClockIn.entity.ViewClockIn;
 import org.jeecg.modules.viewClockIn.entity.bdClockinMonth;
 import org.jeecg.modules.viewClockIn.service.IbdClockinMonthService;
@@ -42,6 +50,38 @@ public class viewClockInController extends JeecgController<ViewClockIn, IviewClo
 	private IviewClockInService viewClockInService;
 	 @Autowired
 	 private IbdClockinMonthService bdClockinMonthService;
+	 @Autowired
+	 private IAttendanceService attendanceService;
+
+	 @RequestMapping(value = "/jiaozhun", method = RequestMethod.PUT)
+	 public String jiaozhun(@RequestBody JSONObject jsonObject) throws ParseException {
+
+	 	if(jsonObject.get("shiftTimeS") == null || jsonObject.get("shiftTimeX") == null){
+			return "没有排班,无需校准打卡时间";
+		}
+		 DateFormat sdf = new SimpleDateFormat("YYYY-DD-MM mm:dd:ss");
+		 Attendance attendance = new Attendance();
+		 String shiftTimeS = jsonObject.get("shiftTimeS").toString();
+		 String username = jsonObject.get("username").toString();
+		 attendance.setUserId(username);
+		 attendance.setUserDate(sdf.parse(shiftTimeS));
+		 attendance.setCheckinType("上班打卡");
+		 attendance.setExceptionType("正常");
+		 attendanceService.save(attendance);
+		 Attendance attendance2 = new Attendance();
+		 attendance2.setUserId(username);
+		 attendance2.setUserDate(sdf.parse(shiftTimeS));
+		 attendance2.setCheckinType("下班打卡");
+		 attendance2.setExceptionType("正常");
+		 attendanceService.save(attendance2);
+		 return "校准成功";
+
+	 }
+
+	 public static void main(String[] args) throws ParseException {
+		 DateFormat sdf = new SimpleDateFormat("YYYY-DD-MM mm:dd:ss");
+		 System.out.println(sdf.parse("2021-12-12 20:12:12"));
+	 }
 
 	 @RequestMapping(value = "/monthReport", method = RequestMethod.PUT)
 	 public String monthReport(@RequestBody JSONObject jsonObject) {

+ 4 - 4
jeecg-boot-module-system/src/main/java/org/jeecg/modules/viewClockIn/entity/ViewClockIn.java

@@ -41,11 +41,11 @@ public class ViewClockIn {
     @ApiModelProperty(value = "名称")
 	private String name;
 	/**shiftTimeS*/
-	@Excel(name = "shiftTimeS", width = 15)
+	@Excel(name = "上班时间", width = 15)
     @ApiModelProperty(value = "shiftTimeS")
 	private String shiftTimeS;
 	/**shiftTimeX*/
-	@Excel(name = "shiftTimeX", width = 15)
+	@Excel(name = "下班时间", width = 15)
     @ApiModelProperty(value = "shiftTimeX")
 	private String shiftTimeX;
 	/**latetimeS*/
@@ -65,11 +65,11 @@ public class ViewClockIn {
     @ApiModelProperty(value = "viewDate")
 	private String viewDate;
 	/**gotoTime*/
-	@Excel(name = "gotoTime", width = 15)
+	@Excel(name = "上班打卡时间", width = 15)
     @ApiModelProperty(value = "gotoTime")
 	private String gotoTime;
 	/**closingTime*/
-	@Excel(name = "closingTime", width = 15)
+	@Excel(name = "下班打卡时间", width = 15)
     @ApiModelProperty(value = "closingTime")
 	private String closingTime;
 	/**gotoState*/

+ 67 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/viewClockIn/entity/reportOutDay.java

@@ -0,0 +1,67 @@
+package org.jeecg.modules.viewClockIn.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-14
+ * @Version: V1.0
+ */
+@Data
+@TableName("report_out_day")
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@ApiModel(value="report_out_day对象", description="外勤打卡信息")
+public class reportOutDay {
+    
+	/**用户id*/
+	@Excel(name = "用户id", width = 15)
+    @ApiModelProperty(value = "用户id")
+	private String userId;
+	/**负责部门*/
+	@Excel(name = "负责部门", width = 15)
+    @ApiModelProperty(value = "负责部门")
+	private Object departIds;
+	/**真实姓名*/
+	@Excel(name = "真实姓名", width = 15)
+    @ApiModelProperty(value = "真实姓名")
+	private String realname;
+	/**viewDate*/
+	@Excel(name = "viewDate", width = 15)
+    @ApiModelProperty(value = "viewDate")
+	private String viewDate;
+	/**用户签到时间*/
+	@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 Date maxDate;
+	/**用户签到时间*/
+	@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 Date minDate;
+	/**attendanceCount*/
+	@Excel(name = "attendanceCount", width = 15)
+    @ApiModelProperty(value = "attendanceCount")
+	private Integer attendanceCount;
+	/**createTime*/
+	@Excel(name = "createTime", width = 15)
+    @ApiModelProperty(value = "createTime")
+	private String createTime;
+}

+ 17 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/viewClockIn/mapper/reportOutDayMapper.java

@@ -0,0 +1,17 @@
+package org.jeecg.modules.viewClockIn.mapper;
+
+import java.util.List;
+
+import org.apache.ibatis.annotations.Param;
+import org.jeecg.modules.viewClockIn.entity.reportOutDay;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * @Description: 外勤打卡信息
+ * @Author: jeecg-boot
+ * @Date:   2022-01-14
+ * @Version: V1.0
+ */
+public interface reportOutDayMapper extends BaseMapper<reportOutDay> {
+
+}

+ 5 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/viewClockIn/mapper/xml/reportOutDayMapper.xml

@@ -0,0 +1,5 @@
+<?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.viewClockIn.mapper.reportOutDayMapper">
+
+</mapper>

+ 14 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/viewClockIn/service/IreportOutDayService.java

@@ -0,0 +1,14 @@
+package org.jeecg.modules.viewClockIn.service;
+
+import org.jeecg.modules.viewClockIn.entity.reportOutDay;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * @Description: 外勤打卡信息
+ * @Author: jeecg-boot
+ * @Date:   2022-01-14
+ * @Version: V1.0
+ */
+public interface IreportOutDayService extends IService<reportOutDay> {
+
+}

+ 19 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/viewClockIn/service/impl/reportOutDayServiceImpl.java

@@ -0,0 +1,19 @@
+package org.jeecg.modules.viewClockIn.service.impl;
+
+import org.jeecg.modules.viewClockIn.entity.reportOutDay;
+import org.jeecg.modules.viewClockIn.mapper.reportOutDayMapper;
+import org.jeecg.modules.viewClockIn.service.IreportOutDayService;
+import org.springframework.stereotype.Service;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+
+/**
+ * @Description: 外勤打卡信息
+ * @Author: jeecg-boot
+ * @Date:   2022-01-14
+ * @Version: V1.0
+ */
+@Service
+public class reportOutDayServiceImpl extends ServiceImpl<reportOutDayMapper, reportOutDay> implements IreportOutDayService {
+
+}