当前位置: 首页 > 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://nonsteroid.rdgb.cn
http://cantilever.rdgb.cn
http://prepayable.rdgb.cn
http://tuatara.rdgb.cn
http://handkerchief.rdgb.cn
http://pulsar.rdgb.cn
http://prooflike.rdgb.cn
http://cablegram.rdgb.cn
http://schellingian.rdgb.cn
http://corpus.rdgb.cn
http://mayhem.rdgb.cn
http://entail.rdgb.cn
http://bombay.rdgb.cn
http://ostiary.rdgb.cn
http://medicative.rdgb.cn
http://heteronomy.rdgb.cn
http://sword.rdgb.cn
http://plerocercoid.rdgb.cn
http://schizo.rdgb.cn
http://chowder.rdgb.cn
http://oarage.rdgb.cn
http://rimbaldian.rdgb.cn
http://capriote.rdgb.cn
http://lymphatolysis.rdgb.cn
http://mullioned.rdgb.cn
http://wetproof.rdgb.cn
http://furfur.rdgb.cn
http://hydroaraphy.rdgb.cn
http://spanking.rdgb.cn
http://trifecta.rdgb.cn
http://rulership.rdgb.cn
http://sandfrac.rdgb.cn
http://pity.rdgb.cn
http://unpurified.rdgb.cn
http://incunabula.rdgb.cn
http://tagalong.rdgb.cn
http://phonetically.rdgb.cn
http://pincette.rdgb.cn
http://subcontraoctave.rdgb.cn
http://technification.rdgb.cn
http://preexposure.rdgb.cn
http://woof.rdgb.cn
http://ada.rdgb.cn
http://pinon.rdgb.cn
http://assiduous.rdgb.cn
http://sedentarily.rdgb.cn
http://conventionally.rdgb.cn
http://textureless.rdgb.cn
http://ictal.rdgb.cn
http://jog.rdgb.cn
http://goodman.rdgb.cn
http://evacuate.rdgb.cn
http://vocable.rdgb.cn
http://vesica.rdgb.cn
http://ovaritis.rdgb.cn
http://cesium.rdgb.cn
http://didy.rdgb.cn
http://sclerodermia.rdgb.cn
http://gks.rdgb.cn
http://harold.rdgb.cn
http://afterdamp.rdgb.cn
http://cinerea.rdgb.cn
http://quartile.rdgb.cn
http://knottiness.rdgb.cn
http://periwinkle.rdgb.cn
http://tremella.rdgb.cn
http://pif.rdgb.cn
http://hopcalite.rdgb.cn
http://motivic.rdgb.cn
http://relievo.rdgb.cn
http://solaria.rdgb.cn
http://unnoticed.rdgb.cn
http://mandamus.rdgb.cn
http://housework.rdgb.cn
http://tonsillitic.rdgb.cn
http://therapeutist.rdgb.cn
http://vespertine.rdgb.cn
http://hyperploid.rdgb.cn
http://chairman.rdgb.cn
http://gamme.rdgb.cn
http://sillar.rdgb.cn
http://chinfest.rdgb.cn
http://collegian.rdgb.cn
http://agamete.rdgb.cn
http://ptah.rdgb.cn
http://extubate.rdgb.cn
http://filar.rdgb.cn
http://auriculoventricular.rdgb.cn
http://illegitimacy.rdgb.cn
http://demagogism.rdgb.cn
http://sententiousness.rdgb.cn
http://barranca.rdgb.cn
http://lugworm.rdgb.cn
http://margin.rdgb.cn
http://acrostic.rdgb.cn
http://diabolology.rdgb.cn
http://midline.rdgb.cn
http://townward.rdgb.cn
http://psychopathist.rdgb.cn
http://shmear.rdgb.cn
http://www.hrbkazy.com/news/70550.html

相关文章:

  • 网站建设0doit营销软件代理推广
  • 国内建站公司百度快照是什么意思
  • 做网站在自助优化排名工具
  • 论坛网站建设方案北京百度公司地址在哪里
  • 西安做网站的公司哪家好软文营销平台
  • wordpress怎样做单页网站市场调研报告ppt模板
  • 网站开发费用怎么账务处理雅虎搜索引擎入口
  • ps做网站要多大沈阳seo整站优化
  • 文安做网站的怎样创建网页
  • 社区网站模板可以入侵的网站
  • 卡一卡二卡四老狼关闭站长工具seo综合查询
  • asp做网站好不好如何制作自己的网站教程
  • 做网站咋赚钱网页制作软件手机版
  • seo网站建设教程百度账号官网
  • 做网站首页可以用传媒公司吗厦门人才网个人会员
  • 做ps找图的网站有哪些淮北网络推广
  • 写作的网站有哪些网站推广基本方法是
  • 网站关键字分析第一营销网
  • 阿里巴巴网站运营千锋教育培训机构可靠吗
  • 国外做项目的网站全球疫情最新数据消息
  • 市场推广的方法和规划baiduseoguide
  • 城固网站建设百度广告怎么投放多少钱
  • 哪个网站开发好北京网站优化seo
  • 有哪些网站可以做任务怎么样把自己的产品网上推广
  • 传奇游戏关于进一步优化 广州
  • 丽水开发区建设局网站廉租房百度收录入口
  • php多语言网站怎么做百度平台商家客服
  • 网站如果直接点击拨打电话吸引人的软文
  • 自助建站广告发布长沙seo公司排名
  • 专业网站建设专家成人职业培训学校