diff --git a/bonus-modules/bonus-system/src/main/java/com/bonus/system/att/dao/WechatPushDao.java b/bonus-modules/bonus-system/src/main/java/com/bonus/system/att/dao/WechatPushDao.java index 2a21bba..7e88750 100644 --- a/bonus-modules/bonus-system/src/main/java/com/bonus/system/att/dao/WechatPushDao.java +++ b/bonus-modules/bonus-system/src/main/java/com/bonus/system/att/dao/WechatPushDao.java @@ -9,9 +9,12 @@ import com.bonus.system.att.entity.OrgChangeBean; import com.bonus.system.basic.domain.SysOrg; import com.bonus.system.evection.entity.EvectionBean; import com.bonus.system.holiday.entity.HolidayBean; +import com.bonus.system.index.entity.MapBean; +import org.apache.ibatis.annotations.Param; import org.springframework.stereotype.Repository; import java.util.List; +import java.util.Map; /** * 小程序同步定时器 @@ -20,60 +23,34 @@ import java.util.List; @Repository("WechatPushDao") public interface WechatPushDao { - List getPersonList(); - List getWeChatPersonList(); - - void insertWechatPerson(SysUser user); - - void updateWechatPerson(SysUser user); - void updateWebPassword(SysUser wechatUser); void updateWebOpenId(SysUser wechatUser); - void updateWechatIsPd(SysUser user); - - List getWeChatFaceList(); - List getWebFaceList(); void insertWebFace(AttFaceBean user); void updateWebFace(AttFaceBean user); - /** - * 授予人脸重新录入权限时调用 - * @param user - */ - void updateWechatIsFace(SysUser user); - - /** - * 审核人脸时调用 - * @String isCheck - */ - void checkWechatIsFace(SysUser user); - /** * 查询请假数据 * @return */ - List getWechatLeaveList(); - SysOrg getOrgInfoByUserId(Long userId); void insertWebLeave(EvectionBean bean); - void updateWechatLeave(EvectionBean bean); - - void deleteWechatLeave(); - List getWebLeaveList(); void insertWechatLeave(EvectionBean bean); - List getWechatAttList(); SysOrg getOrgInfoByUserName(String userName); + + void pushAttDataToQsy(@Param("list")List attSourceList); + + MapBean getProOrgToQsy(AttSourceDataBean c); } diff --git a/bonus-modules/bonus-system/src/main/java/com/bonus/system/att/entity/AttSourceDataBean.java b/bonus-modules/bonus-system/src/main/java/com/bonus/system/att/entity/AttSourceDataBean.java index ea88e55..af4b1b1 100644 --- a/bonus-modules/bonus-system/src/main/java/com/bonus/system/att/entity/AttSourceDataBean.java +++ b/bonus-modules/bonus-system/src/main/java/com/bonus/system/att/entity/AttSourceDataBean.java @@ -109,10 +109,14 @@ public class AttSourceDataBean { private String groupType; /** - * 考勤组类型 + * 0 默认 1 外勤 2 正常 */ private String isOutsideAtt; + private String remark; + + private Integer proId; + public AttSourceDataBean(Long userId, String orgId, String attCurrentDay, String attType) { this.userId = userId; this.orgId = orgId; diff --git a/bonus-modules/bonus-system/src/main/java/com/bonus/system/att/tasks/WechatTasks.java b/bonus-modules/bonus-system/src/main/java/com/bonus/system/att/tasks/WechatTasks.java index cdc17d8..5651dea 100644 --- a/bonus-modules/bonus-system/src/main/java/com/bonus/system/att/tasks/WechatTasks.java +++ b/bonus-modules/bonus-system/src/main/java/com/bonus/system/att/tasks/WechatTasks.java @@ -21,8 +21,10 @@ import com.bonus.system.att.utils.WorkdayCalculator; import com.bonus.system.basic.domain.SysOrg; import com.bonus.system.evection.entity.EvectionBean; import com.bonus.system.holiday.entity.HolidayBean; +import com.bonus.system.index.entity.MapBean; import lombok.extern.slf4j.Slf4j; import org.apache.commons.beanutils.BeanUtils; +import org.apache.commons.beanutils.MappedPropertyDescriptor; import org.mybatis.spring.SqlSessionTemplate; import org.springframework.context.annotation.Configuration; import org.springframework.scheduling.annotation.Async; @@ -98,7 +100,7 @@ public class WechatTasks { /** * 休假出差数据同步定时器 */ - @Scheduled(fixedDelay = 60000 * 10) +// @Scheduled(fixedDelay = 60000 * 10) @Async public void leaveTask() { log.info("--------休假出差数据定时器开启------"); @@ -177,7 +179,7 @@ public class WechatTasks { /** * 考勤数据同步定时器 */ -// @Scheduled(fixedDelay = 60000 * 10) + @Scheduled(fixedDelay = 60000 * 10) @Async public void wechatAttTask() { log.info("--------考勤数据定时器开启------"); @@ -194,6 +196,7 @@ public class WechatTasks { // 如果Map中没有该userId的组织机构信息,则从数据库查询 SysOrg orgInfo = dao.getOrgInfoByUserName(userName); if (orgInfo != null) { + bean.setIdNumber(orgInfo.getIdNumber()); double distanceMeters = 0; try { distanceMeters = calculateDistance(bean.getAttLat(), bean.getAttLon(), orgInfo.getLat().doubleValue(), orgInfo.getLon().doubleValue(), DistanceCalculator.Unit.METERS); @@ -230,6 +233,19 @@ public class WechatTasks { String jsonStr2 = FastJsonHelper.beanListToJsonArrStr(attSourceList); String method2 = "updateWechatAttList"; String string2 = httpPost(method2, jsonStr2); + //将数据同步到黔送云库 + //1.先从黔送云库获取到在场人员的组织工程 + attSourceList.forEach(c -> { + if(c.getIdNumber() != null){ + MapBean mapBean= dao.getProOrgToQsy(c); + c.setProId(mapBean.getProId()); + c.setOrgId(String.valueOf(mapBean.getOrgId())); + } + }); + //2.推送到人员考勤表 + if(!attSourceList.isEmpty()){ + dao.pushAttDataToQsy(attSourceList); + } log.info("--------考勤数据定时器完毕------"); } diff --git a/bonus-modules/bonus-system/src/main/java/com/bonus/system/basic/domain/SysOrg.java b/bonus-modules/bonus-system/src/main/java/com/bonus/system/basic/domain/SysOrg.java index a95b39d..6cde71a 100644 --- a/bonus-modules/bonus-system/src/main/java/com/bonus/system/basic/domain/SysOrg.java +++ b/bonus-modules/bonus-system/src/main/java/com/bonus/system/basic/domain/SysOrg.java @@ -100,4 +100,9 @@ public class SysOrg { /** 子菜单 */ private List children = new ArrayList(); + + /** + * + */ + private String idNumber; } diff --git a/bonus-modules/bonus-system/src/main/java/com/bonus/system/index/entity/MapBean.java b/bonus-modules/bonus-system/src/main/java/com/bonus/system/index/entity/MapBean.java index 63bab95..bd27904 100644 --- a/bonus-modules/bonus-system/src/main/java/com/bonus/system/index/entity/MapBean.java +++ b/bonus-modules/bonus-system/src/main/java/com/bonus/system/index/entity/MapBean.java @@ -15,6 +15,11 @@ public class MapBean { */ private Integer orgId; + /** + * 项目部编号 + */ + private Integer proId; + /** * 项目部名称 */ diff --git a/bonus-modules/bonus-system/src/main/resources/mapper/att/WechatPushMapper.xml b/bonus-modules/bonus-system/src/main/resources/mapper/att/WechatPushMapper.xml index 6f443eb..bfdb422 100644 --- a/bonus-modules/bonus-system/src/main/resources/mapper/att/WechatPushMapper.xml +++ b/bonus-modules/bonus-system/src/main/resources/mapper/att/WechatPushMapper.xml @@ -3,10 +3,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> - - insert into gz_attendance_wechat.sys_user_wechat(user_id,user_name,phone,password,is_pd,is_face,update_time,is_cadre) - values(#{userId},#{userName},#{phone},#{password},#{isPd},#{isFace},#{updateTime},#{isCadre}) - + insert into sys_user_face(user_id,applied_face,applied_face_features,new_face,new_face_features,is_check,collection_time,examine_time) values(#{userId},#{appliedFace},#{appliedFaceFeatures},#{newFace},#{newFaceFeatures},#{isCheck},#{collectionTime},#{examineTime}) @@ -33,46 +30,58 @@ #{examineStatus},#{hostUserId},#{hostUserName},#{isAgree},#{location},#{source}, #{createUserId},#{createTime},#{updateUserId},#{updateTime},#{remark}) - - update gz_attendance_wechat.sys_user_wechat set user_name = #{userName},phone = #{phone}, - password = #{password},update_time = #{updateTime},is_cadre = #{isCadre},is_face = #{isFace} - where user_id = #{userId} - + + + + INSERT INTO gz_cloud_test.fc_sup_attendance ( + name, + id_number, + org_id, + pro_id, + attendance_type, + attendance_date, + attendance_time, + lon, + lat, + attendance_external, + attendance_remark + ) VALUES ( + #{item.name}, + #{item.idNumber}, + #{item.orgId}, + #{item.proId}, + CASE + WHEN #{item.attType} = '1' THEN '上班' + WHEN #{item.attType} = '2' THEN '下班' + ELSE '默认' + END, + #{item.attCurrentDay}, + #{item.attCurrentTime}, + #{item.attLon}, + #{item.attLat}, + CASE + WHEN #{item.isOutsideAtt} = '1' THEN '外勤' + WHEN #{item.isOutsideAtt} = '2' THEN '注册' + ELSE '默认' + END, + #{item.remark} + ) + + + update sys_user set password = #{password} where user_id = #{userId} update sys_user set open_id = #{openId} where user_id = #{userId} - - update gz_attendance_wechat.sys_user_wechat set is_pd = #{isPd} where user_id = #{userId} - + update sys_user_face set new_face = #{newFace},new_face_features = #{newFaceFeatures},is_check = #{isCheck}, collection_time = #{collectionTime},examine_time = #{examineTime} where user_id = #{userId} - - update gz_attendance_wechat.sys_user_wechat set is_face = #{isFace} where user_id = #{userId} - - - update gz_attendance_wechat.sys_user_face_wechat - - set is_check = #{isCheck},applied_face = new_face,applied_face_features = new_face_features - - - set is_check = #{isCheck},new_face = null,new_face_features = null - - where user_id = #{userId} - - - update gz_attendance_wechat.leave_apply_wechat set id = #{id} where uuid = #{uuid} - - - delete gz_attendance_wechat.leave_apply_wechat where id is not null And uuid is not null - - - - - - + \ No newline at end of file diff --git a/deploy_readme.txt b/deploy_readme.txt index 3ac4b4c..bf84236 100644 --- a/deploy_readme.txt +++ b/deploy_readme.txt @@ -1,4 +1,5 @@ 1.maven 换环境 gz_att_prod 2.AttSourceDataMapper.xml 中 gz_cloud_test -> gz_cloud -3.com.bonus.system.att.utils.IpAndPathConfig 修改对应环境 -4.com.bonus.system.att.tasks AttTasks 与 WechatTasks 定时器开启 \ No newline at end of file +3.WechatPushMapper.xml 中 gz_cloud_test -> gz_cloud +4.com.bonus.system.att.utils.IpAndPathConfig 修改对应环境 +5.com.bonus.system.att.tasks AttTasks 与 WechatTasks 定时器开启 \ No newline at end of file