当前位置: 首页 > news >正文

朝阳区建设委员会网站网络营销收获与体会

朝阳区建设委员会网站,网络营销收获与体会,本地做网站教程,做电影网站怎么选服务器文章目录一、持久层1、CheckinMapper.xml2、CheckinMapper.java3、TbHolidaysDao.xml4、TbHolidaysDao.java5、TbWorkdayDao.xml6、TbWorkdayDao.java二、业务层1、 CheckinService.java三、conroller层1、编写 TbUserDao.xml 文件,查询员工的入职日期。2、编写 TbU…

文章目录

  • 一、持久层
    • 1、CheckinMapper.xml
    • 2、CheckinMapper.java
    • 3、TbHolidaysDao.xml
    • 4、TbHolidaysDao.java
    • 5、TbWorkdayDao.xml
    • 6、TbWorkdayDao.java
  • 二、业务层
    • 1、 CheckinService.java
  • 三、conroller层
    • 1、编写 TbUserDao.xml 文件,查询员工的入职日期。
    • 2、编写 TbUserDao.java 接口,定义抽象方法。
    • 3、在 UserService.java
    • 4、实现查询考勤结果的Web方法


一、持久层

1、CheckinMapper.xml

<select id="searchTodayCheckin" parameterType="int" resultType="HashMap">SELECTu.name,u.photo,d.dept_name AS deptName,ck.address,CASEWHEN ck.status=1 THEN '正常'WHEN ck.status=2 THEN '迟到'END AS status,DATE_FORMAT(ck.create_time,'%H:%i') AS checkinTime,ck.dateFROM tb_user AS uLEFT JOIN tb_dept AS d ON u.dept_id = d.idLEFT JOIN tb_checkin AS ck ON u.id = ck.user_id AND ck.date = CURRENT_DATEWHERE u.id = #{userId} AND u.status=1</select><select id="searchCheckinDays" parameterType="int" resultType="long">SELECT COUNT(*) AS countFROM tb_checkinWHERE user_id=#{userId}</select><select id="searchWeekCheckin" parameterType="HashMap" resultType="HashMap">SELECTCAST(date AS CHAR) AS date,IF(status=1,'正常','迟到') AS statusFROM tb_checkinWHERE user_id=#{userId} AND date BETWEEN #{startDate} AND #{endDate}</select>

2、CheckinMapper.java

@Mapper
public interface TbCheckinDao {public HashMap searchTodayCheckin(int userId);public long searchCheckinDays(int userId);public ArrayList<HashMap> searchWeekCheckin(HashMap param);}

3、TbHolidaysDao.xml

<select id="searchHolidaysInRange" parameterType="HashMap" resultType="String">SELECT dateFROM tb_holidaysWHERE date BETWEEN #{startDate} AND #{endDate}</select>

4、TbHolidaysDao.java

public interface TbHolidaysDao {
……public ArrayList<String> searchHolidaysInRange(HashMap param);}

5、TbWorkdayDao.xml

<select id="searchWorkdayInRange" parameterType="HashMap" resultType="String">SELECT dateFROM tb_workdayWHERE date BETWEEN #{startDate} AND #{endDate}</select>

6、TbWorkdayDao.java

public interface TbWorkdayDao {……
public ArrayList<String> searchWorkdayInRange(HashMap param);
}

二、业务层

1、 CheckinService.java

 public class CheckinServiceImpl{……public HashMap searchTodayCheckin(int userId) {HashMap map = checkinDao.searchTodayCheckin(userId);return map;}public long searchCheckinDays(int userId) {long days = checkinDao.searchCheckinDays(userId);return days;}public ArrayList<HashMap> searchWeekCheckin(HashMap param) {ArrayList<HashMap> checkinList = checkinDao.searchWeekCheckin(param);ArrayList<String> holidaysList = holidaysDao.searchHolidaysInRange(param);ArrayList<String> workdayList = workdayDao.searchWorkdayInRange(param);DateTime startDate = DateUtil.parseDate(param.get("startDate").toString());DateTime endDate = DateUtil.parseDate(param.get("endDate").toString());DateRange range = DateUtil.range(startDate, endDate, DateField.DAY_OF_MONTH);ArrayList list = new ArrayList();range.forEach(one -> {String date = one.toString("yyyy-MM-dd");//查看今天是不是假期或者工作日String type = "工作日";if (one.isWeekend()) {type = "节假日";}if (holidaysList != null && holidaysList.contains(date)) {type = "节假日";} else if (workdayList != null && workdayList.contains(date)) {type = "工作日";}String status = "";//如果date1 < date2,返回数小于0,date1==date2返回0,date1 > date2 大于0if (type.equals("工作日") && DateUtil.compare(one, DateUtil.date()) <= 0) {status = "缺勤";boolean flag=false;for (HashMap<String, String> map : checkinList) {if (map.containsValue(date)) {status = map.get("status");flag=true;break;}DateTime endTime=DateUtil.parse(DateUtil.today()+""+constants.attendanceEndTime);String today=DateUtil.today();if(date.equals(today)&&DateUtil.date().isBefore(endTime)&&flag==false)
{status="";}}}HashMap map = new HashMap();map.put("date", date);map.put("status", status);map.put("type", type);map.put("day", one.dayOfWeekEnum().toChinese("周"));list.add(map);});return list;}}

三、conroller层

1、编写 TbUserDao.xml 文件,查询员工的入职日期。

 <select id="searchUserHiredate" parameterType="int" resultType="String">SELECT hiredate FROM tb_user WHERE id=#{userId} AND status = 1
</select>

2、编写 TbUserDao.java 接口,定义抽象方法。

 public interface TbUserDao {……public String searchUserHiredate(int userId);}

3、在 UserService.java

 public class UserServiceImpl implements UserService {……@Overridepublic String searchUserHiredate(int userId) {String hiredate = userDao.searchUserHiredate(userId);return hiredate;}}

4、实现查询考勤结果的Web方法

 public class CheckinController {……@Autowiredprivate UserService userService;@Autowiredprivate SystemConstants constants;@GetMapping("/searchTodayCheckin")@ApiOperation("查询用户当日签到数据")public Result searchTodayCheckin(@RequestHeader("token") String token) {int userId = jwtUtil.getUserId(token);HashMap map = checkinService.searchTodayCheckin(userId);map.put("attendanceTime", constants.attendanceTime);map.put("closingTime", constants.closingTime);long days = checkinService.searchCheckinDays(userId);map.put("checkinDays", days);//判断日期是否在用户入职之前DateTime hiredate = DateUtil.parse(userService.searchUserHiredate(userId));DateTime startDate = DateUtil.beginOfWeek(DateUtil.date());if (startDate.isBefore(hiredate)) {startDate = hiredate;}DateTime endDate = DateUtil.endOfWeek(DateUtil.date());HashMap param = new HashMap();param.put("startDate", startDate.toString());param.put("endDate", endDate.toString());param.put("userId", userId);ArrayList<HashMap> list = checkinService.searchWeekCheckin(param);map.put("weekCheckin", list);return Result.ok().put("result", map);}}
http://www.ds6.com.cn/news/3132.html

相关文章:

  • 美工所需要的网站武汉百度seo排名
  • 定制型网站开发百度网页提交入口
  • 学校网站怎么做优化佛山网站开发公司
  • 网站seo工作内容免费广告推广
  • 今日云南昆明疫情最新消息深圳网站营销seo电话
  • 做赛事下注网站违法吗今日国内新闻头条15条
  • 网站备案信息传营销策略有哪些方法
  • 对网络营销的认识有哪些杭州seo网络推广
  • 扬州做机床公司网站济南网站优化公司排名
  • 在哪个网站做任务赚钱seo顾问合同
  • 猜艺士科技网站建设网站如何优化排名软件
  • 广东网站备案时间青岛关键词推广seo
  • 茶叶手机网站百度地图网页版进入
  • 小学生做网站软件苏州百度关键词优化
  • 做网站需要独立显卡吗互联网推广软件
  • 网站后台管理需求seo搜索引擎优化工具
  • 给甜品网站做seo网站推广优化怎样
  • 厦门网站做的比较好网络推广服务费
  • 游戏开发和网站开发那个有前景360关键词排名百度
  • 中国机械加工行业的现状东莞百度seo哪里强
  • 打造品牌建设seo网站内容优化有哪些
  • 做餐饮公司网站农村电商平台
  • 宁波个人网站建设搜索引擎优化工作
  • 毕设什么类型网站容易做重庆小潘seo
  • 购物网站建设成本今日军事头条
  • cms网站是什么意思厦门网站seo
  • WordPress邮箱收集插件合肥关键词优化平台
  • 网站建设中要尽量使用图片广东seo推广费用
  • 做网站实训报告互联网推广是做什么的
  • 那家b2c网站建设报价中企动力做网站推广靠谱吗