diff --git a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/domain/QuartzProjectAttendanceCfg.java b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/domain/QuartzProjectAttendanceCfg.java new file mode 100644 index 00000000..311460d1 --- /dev/null +++ b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/domain/QuartzProjectAttendanceCfg.java @@ -0,0 +1,179 @@ +package com.ruoyi.quartz.domain; + +import com.ruoyi.common.annotation.Excel; +import com.ruoyi.common.core.domain.BaseEntity; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + +/** + * 项目考勤配置对象 sur_project_attendance_cfg + * + * @author ruoyi + * @date 2023-09-24 + */ +public class QuartzProjectAttendanceCfg extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + /** $column.columnComment */ + private Long id; + + /** 项目编号 */ + @Excel(name = "项目编号") + private Long projectId; + + /** 总包单位 */ + @Excel(name = "总包单位") + private Long subDeptId; + + /** 厂商编号参考字典attendance_vendors */ + @Excel(name = "厂商编号参考字典attendance_vendors") + private String vendorsCode; + + /** 厂商参数 */ + @Excel(name = "厂商参数") + private String vendorsParameter; + + /** 1-启用,0-停用 */ + @Excel(name = "1-启用,0-停用") + private Long enabled; + + /** 状态 */ + @Excel(name = "状态") + private Long state; + + private String deptName; + + public String getDeptName() { + return deptName; + } + + public void setDeptName(String deptName) { + this.deptName = deptName; + } + + private String projectName; + private String unitName; + + private String vendorName; + + public String getVendorName() { + return vendorName; + } + + public void setVendorName(String vendorName) { + this.vendorName = vendorName; + } + + public String getProjectName() { + return projectName; + } + + public void setProjectName(String projectName) { + this.projectName = projectName; + } + + public String getUnitName() { + return unitName; + } + + public void setUnitName(String unitName) { + this.unitName = unitName; + } + + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private Long isDel; + + public void setId(Long id) + { + this.id = id; + } + + public Long getId() + { + return id; + } + public void setProjectId(Long projectId) + { + this.projectId = projectId; + } + + public Long getProjectId() + { + return projectId; + } + public void setSubDeptId(Long subDeptId) + { + this.subDeptId = subDeptId; + } + + public Long getSubDeptId() + { + return subDeptId; + } + public void setVendorsCode(String vendorsCode) + { + this.vendorsCode = vendorsCode; + } + + public String getVendorsCode() + { + return vendorsCode; + } + public void setVendorsParameter(String vendorsParameter) + { + this.vendorsParameter = vendorsParameter; + } + + public String getVendorsParameter() + { + return vendorsParameter; + } + public void setEnabled(Long enabled) + { + this.enabled = enabled; + } + + public Long getEnabled() + { + return enabled; + } + public void setState(Long state) + { + this.state = state; + } + + public Long getState() + { + return state; + } + public void setIsDel(Long isDel) + { + this.isDel = isDel; + } + + public Long getIsDel() + { + return isDel; + } + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("projectId", getProjectId()) + .append("subDeptId", getSubDeptId()) + .append("vendorsCode", getVendorsCode()) + .append("vendorsParameter", getVendorsParameter()) + .append("enabled", getEnabled()) + .append("state", getState()) + .append("remark", getRemark()) + .append("isDel", getIsDel()) + .append("createBy", getCreateBy()) + .append("createTime", getCreateTime()) + .append("updateBy", getUpdateBy()) + .append("updateTime", getUpdateTime()) + .toString(); + } +} diff --git a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/domain/QuartzProjectAttendanceData.java b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/domain/QuartzProjectAttendanceData.java new file mode 100644 index 00000000..702b2777 --- /dev/null +++ b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/domain/QuartzProjectAttendanceData.java @@ -0,0 +1,512 @@ +package com.ruoyi.quartz.domain; + +import cn.hutool.core.date.DateTime; +import cn.hutool.core.date.DateUtil; +import com.alibaba.fastjson2.JSONObject; +import com.ruoyi.common.annotation.Excel; +import com.ruoyi.common.core.domain.BaseEntity; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + +/** + * 劳务实名制管理对象 sur_project_attendance_data + * + * @author ruoyi + * @date 2023-09-24 + */ +public class QuartzProjectAttendanceData extends BaseEntity +{ + public QuartzProjectAttendanceData(){ + this.year= DateTime.now().year(); + } + private static final long serialVersionUID = 1L; + + private int year; + + public int getYear() { + return year; + } + + public void setYear(int year) { + this.year = year; + } + + public String getProjectName() { + return projectName; + } + + public void setProjectName(String projectName) { + this.projectName = projectName; + } + + public String getDeptName() { + return deptName; + } + + public void setDeptName(String deptName) { + this.deptName = deptName; + } + + public String getWorkerName() { + return workerName; + } + + public void setWorkerName(String workerName) { + this.workerName = workerName; + } + + public String getWorkerPhoto() { + return workerPhoto; + } + + public void setWorkerPhoto(String workerPhoto) { + this.workerPhoto = workerPhoto; + } + + public Long getWorkerGender() { + return workerGender; + } + + public void setWorkerGender(Long workerGender) { + this.workerGender = workerGender; + } + + public Long getBirthDate() { + return birthDate; + } + + public void setBirthDate(Long birthDate) { + this.birthDate = birthDate; + } + + public String getGroupName() { + return groupName; + } + + public void setGroupName(String groupName) { + this.groupName = groupName; + } + + public String getWorkTypeName() { + return workTypeName; + } + + public void setWorkTypeName(String workTypeName) { + this.workTypeName = workTypeName; + } + + public String getEthnic() { + return ethnic; + } + + public void setEthnic(String ethnic) { + this.ethnic = ethnic; + } + + public String getNativePlace() { + return nativePlace; + } + + public void setNativePlace(String nativePlace) { + this.nativePlace = nativePlace; + } + + public String getPhone() { + return phone; + } + + public void setPhone(String phone) { + this.phone = phone; + } + + public Integer getSpecWorkType() { + return specWorkType; + } + + public void setSpecWorkType(Integer specWorkType) { + this.specWorkType = specWorkType; + } + + public String getCompanyName() { + return companyName; + } + + public void setCompanyName(String companyName) { + this.companyName = companyName; + } + + public String getAttendanceOutTime() { + return attendanceOutTime; + } + + public void setAttendanceOutTime(String attendanceOutTime) { + this.attendanceOutTime = attendanceOutTime; + } + + + private Long projectId; + @Excel(name = "项目名称") + private String projectName; + + private Long deptId; + @Excel(name = "部门名称") + private String deptName; + @Excel(name = "姓名") + private String workerName; + + private String workerPhoto; + @Excel(name = "性别0:男 1:女") + private Long workerGender; + + private Long birthDate; + @Excel(name = "所属班组") + private String groupName; + @Excel(name = "工种") + private String workTypeName; + @Excel(name = "民族") + private String ethnic; + @Excel(name = "籍贯") + private String nativePlace; + + @Excel(name = "联系电话") + private String phone; + @Excel(name = "是否特殊工种") + private Integer specWorkType; + + private String companyTypeId; + @Excel(name = "分包商名称") + private String companyName; + + private String workerId; + + /** 考勤时间yyyy-MM-dd HH:mm:ss */ + @Excel(name = "考勤时间(进场)") + private String attendanceTime; + + @Excel(name = "考勤时间(离开)") + private String attendanceOutTime; + /** 身份证号 */ + @Excel(name = "身份证号") + private String identification; + + /** */ + private Long id; + + /** 配置项ID,可以获取项目ID和总包ID */ + private Long cfgid; + + /** 注册应用ID */ + private String appId; + + /** 厂商编号参考字典attendance_vendors */ + private String vendorsCode; + + /** 服务端ID */ + private String serverid; + + /** 队伍id */ + private Long teamId; + + /** 工种编码 */ + private String workTypeCode; + + /** 分包商id */ + private String companyId; + + /** 平台对应分包商ID */ + private Long vendorId; + + /** 设备编号 */ + private String deviceCode; + + /** 照片 */ + private String scanPhoto; + + /** */ + private Long isDel; + + private Long subDeptId; + + /** 重要::yanzhu接口接收base64图片 */ + private String scanPhotoBase64; + + /** 重要::yanzhu出门进门逻辑判断 */ + private String attendanceType; + + public String getScanPhotoBase64() { + return scanPhotoBase64; + } + + public void setScanPhotoBase64(String scanPhotoBase64) { + this.scanPhotoBase64 = scanPhotoBase64; + } + + public String getAttendanceType() { + return attendanceType; + } + + public void setAttendanceType(String attendanceType) { + this.attendanceType = attendanceType; + } + + public static QuartzProjectAttendanceData createFromHuazhu(JSONObject j) { + QuartzProjectAttendanceData d=new QuartzProjectAttendanceData(); + d.vendorsCode="huazhu"; + d.serverid=j.getString("id"); + d.workerId=j.getString("labourWorkerId"); + long recordTime=j.getLongValue("recordTime",0); + if(recordTime>0){ + if(j.getIntValue("inOrOut",1)==1){ + d.setRemark("E"); + }else{ + d.setRemark("L"); + } + d.attendanceTime= DateUtil.format(DateUtil.date(recordTime),"yyyy-MM-dd HH:mm:ss"); + } + d.identification=j.getString("idCardNo"); + d.teamId=j.getLongValue("teamId",0); + d.workTypeCode=j.getString("workerTypeId"); + d.companyId=j.getString("unitId"); + d.deviceCode=j.getString("deviceNo"); + return d; + } + + public static QuartzProjectAttendanceData createFromJgw(JSONObject j) { + QuartzProjectAttendanceData d=new QuartzProjectAttendanceData(); + d.vendorsCode="jgw"; + d.serverid=j.getString("id"); + d.workerId=j.getString("workerId"); + if("2".equals(j.getString("machineType"))){ + d.setRemark("E"); + }else{ + d.setRemark("L"); + } + d.attendanceTime = j.getString("checkinTime"); + + d.teamId=0l; + d.workTypeCode=""; + d.companyId=j.getString("subcontractorId"); + d.deviceCode=j.getString("deviceSerialNo"); + d.isDel=0l; + return d; + } + + public Long getDeptId() { + return deptId; + } + + public void setDeptId(Long deptId) { + this.deptId = deptId; + } + + + public Long getProjectId() { + return projectId; + } + + public void setProjectId(Long projectId) { + this.projectId = projectId; + } + + public Long getSubDeptId() { + return subDeptId; + } + + public void setSubDeptId(Long subDeptId) { + this.subDeptId = subDeptId; + } + + public String getCompanyTypeId() { + return companyTypeId; + } + + public void setCompanyTypeId(String companyTypeId) { + this.companyTypeId = companyTypeId; + } + + public static QuartzProjectAttendanceData create(JSONObject json) { + QuartzProjectAttendanceData d=new QuartzProjectAttendanceData(); + d.attendanceTime=json.getString("time"); + if("E".equals(json.getString("type"))){ + d.setRemark("E"); + }else{ + d.setRemark("L"); + } + d.serverid=json.getString("id"); + d.workerId=json.getString("workerId"); + d.identification=json.getString("identification"); + d.teamId=json.getLong("teamId"); + d.workTypeCode=json.getString("workerTypeId"); + d.companyId=json.getString("companyId"); + d.vendorId=json.getLong("vendorId"); + d.deviceCode=json.getString("deviceCode"); + d.scanPhoto=json.getString("scanPhoto"); + d.isDel=0l; + return d; + } + + public void setId(Long id) + { + this.id = id; + } + + public Long getId() + { + return id; + } + public void setCfgid(Long cfgid) + { + this.cfgid = cfgid; + } + + public Long getCfgid() + { + return cfgid; + } + public void setVendorsCode(String vendorsCode) + { + this.vendorsCode = vendorsCode; + } + + public String getVendorsCode() + { + return vendorsCode; + } + public void setServerid(String serverid) + { + this.serverid = serverid; + } + + public String getServerid() + { + return serverid; + } + public void setWorkerId(String workerId) + { + this.workerId = workerId; + } + + public String getWorkerId() + { + return workerId; + } + + public void setAttendanceTime(String attendanceTime) + { + this.attendanceTime = attendanceTime; + } + + public String getAttendanceTime() + { + return attendanceTime; + } + public void setIdentification(String identification) + { + this.identification = identification; + } + + public String getIdentification() + { + return identification; + } + public void setTeamId(Long teamId) + { + this.teamId = teamId; + } + + public Long getTeamId() + { + return teamId; + } + public void setWorkTypeCode(String workTypeCode) + { + this.workTypeCode = workTypeCode; + } + + public String getWorkTypeCode() + { + return workTypeCode; + } + public void setCompanyId(String companyId) + { + this.companyId = companyId; + } + + public String getCompanyId() + { + return companyId; + } + public void setVendorId(Long vendorId) + { + this.vendorId = vendorId; + } + + public Long getVendorId() + { + return vendorId; + } + + public void setDeviceCode(String deviceCode) + { + this.deviceCode = deviceCode; + } + + public String getDeviceCode() + { + return deviceCode; + } + + + public void setScanPhoto(String scanPhoto) + { + this.scanPhoto = scanPhoto; + } + + public String getScanPhoto() + { + return scanPhoto; + } + + public void setIsDel(Long isDel) + { + this.isDel = isDel; + } + + public Long getIsDel() + { + return isDel; + } + + public String getAppId() { + return appId; + } + + public void setAppId(String appId) { + this.appId = appId; + } + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("cfgid", getCfgid()) + .append("vendorsCode", getVendorsCode()) + .append("serverid", getServerid()) + .append("workerId", getWorkerId()) + .append("attendanceTime", getAttendanceTime()) + .append("identification", getIdentification()) + .append("teamId", getTeamId()) + .append("workTypeCode", getWorkTypeCode()) + .append("companyId", getCompanyId()) + .append("vendorId", getVendorId()) + .append("deviceCode", getDeviceCode()) + .append("scanPhoto", getScanPhoto()) + .append("remark", getRemark()) + .append("isDel", getIsDel()) + .append("createBy", getCreateBy()) + .append("createTime", getCreateTime()) + .append("updateBy", getUpdateBy()) + .append("updateTime", getUpdateTime()) + .toString(); + } +} diff --git a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/domain/QuartzProjectAttendanceGroup.java b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/domain/QuartzProjectAttendanceGroup.java new file mode 100644 index 00000000..795a0b46 --- /dev/null +++ b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/domain/QuartzProjectAttendanceGroup.java @@ -0,0 +1,429 @@ +package com.ruoyi.quartz.domain; + +import com.alibaba.fastjson2.JSONObject; +import com.ruoyi.common.annotation.Excel; +import com.ruoyi.common.core.domain.BaseEntity; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + +/** + * 广联达班组信息对象 sur_project_attendance_group + * + * @author ruoyi + * @date 2023-09-26 + */ +public class QuartzProjectAttendanceGroup extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + /** id */ + private Long id; + + /** cfgid */ + @Excel(name = "cfgid") + private Long cfgid; + + /** 注册应用ID */ + @Excel(name = "注册应用ID") + private String appId; + + /** 服务器主键id */ + @Excel(name = "服务器主键id") + private String serverid; + + /** 营业执照号 */ + @Excel(name = "营业执照号") + private String bizLicense; + + /** 分包商统一社会信用代码 */ + @Excel(name = "分包商统一社会信用代码") + private String companyCode; + + /** 分包商ID */ + @Excel(name = "分包商ID") + private String companyId; + + /** 分包商名称 */ + @Excel(name = "分包商名称") + private String companyName; + + /** 分包商类型 */ + @Excel(name = "分包商类型") + private String companyTypeId; + + /** 平台对应分包商ID */ + @Excel(name = "平台对应分包商ID") + private Long vendorId; + + /** 班组名称 */ + @Excel(name = "班组名称") + private String name; + + /** 班组长名称 */ + @Excel(name = "班组长名称") + private String leaderName; + + /** 班组长电话 */ + @Excel(name = "班组长电话") + private String leaderPhone; + + /** 队伍Id */ + @Excel(name = "队伍Id") + private Long teamId; + + /** 队伍名称 */ + @Excel(name = "队伍名称") + private String teamName; + + /** 班组类型0:建筑工人班组;1:管理人员班组 */ + @Excel(name = "班组类型0:建筑工人班组;1:管理人员班组") + private Long type; + + /** 班组长对应的工人ID */ + @Excel(name = "班组长对应的工人ID") + private Long leaderId; + + /** 是否删除 */ + @Excel(name = "是否删除") + private Integer deleted; + + /** 基础平台对应班组ID */ + @Excel(name = "基础平台对应班组ID") + private Long platformGroupId; + + /** 基础平台对应队伍ID */ + @Excel(name = "基础平台对应队伍ID") + private Long platformTeamId; + + /** 企业进场日期 */ + @Excel(name = "企业进场日期") + private Long enterDate; + + /** 企业退场日期 */ + @Excel(name = "企业退场日期") + private Long exitDate; + + /** 是否有效 */ + @Excel(name = "是否有效") + private Long isDel; + + /** 时间戳 */ + @Excel(name = "时间戳") + private Long createTimestamp; + + public static QuartzProjectAttendanceGroup createHuazhu(JSONObject j) { + QuartzProjectAttendanceGroup g=new QuartzProjectAttendanceGroup(); + g.companyId=""+j.getLongValue("unitId",0); + g.companyName=j.getString("unitName"); + g.companyTypeId=j.getString("unitType"); + g.serverid=j.getString("id"); + g.enterDate=j.getLong("enterTime"); + g.exitDate=j.getLong("leaveTime"); + g.isDel=0l; + return g; + } + + public static QuartzProjectAttendanceGroup createJgw(JSONObject j, boolean isDirectlyUnder) { + QuartzProjectAttendanceGroup g=new QuartzProjectAttendanceGroup(); + g.serverid=j.getString("id"); + if(isDirectlyUnder) { + g.companyId = j.getString("leaderTeamId"); + g.leaderName=j.getString("subcontractorId"); + g.leaderPhone="directly"; + }else{ + g.companyId=j.getString("subcontractorId"); + } + g.companyName=j.getString("corpName"); + g.teamName=j.getString("teamName"); + + g.bizLicense=j.getString("corpCode"); + g.companyCode=j.getString("teamJobtype"); + + g.companyTypeId="0"; + g.enterDate=0l; + g.exitDate=0l; + g.isDel=0l; + return g; + } + + public Long getCreateTimestamp() { + return createTimestamp; + } + + public void setCreateTimestamp(Long createTimestamp) { + this.createTimestamp = createTimestamp; + } + + public static QuartzProjectAttendanceGroup create(JSONObject json) { + QuartzProjectAttendanceGroup g=new QuartzProjectAttendanceGroup(); + g.serverid=json.getString("id"); + g.bizLicense=json.getString("bizLicense"); + g.companyCode=json.getString("companyCode"); + g.companyId=""+json.getLongValue("companyId",0); + g.companyName=json.getString("companyName"); + String typeId=json.getString("companyTypeId"); + if("1".equals(typeId)||"8".equals(typeId)||"9".equals(typeId)){ + typeId=typeId; + }else{ + typeId="2"; + } + g.companyTypeId=typeId; + g.vendorId=json.getLongValue("vendorId",0); + g.name=json.getString("name"); + g.leaderName=json.getString("leaderName"); + g.leaderPhone=json.getString("leaderPhone"); + g.teamId=json.getLongValue("teamId",0); + g.teamName=json.getString("teamName"); + g.type=json.getLongValue("type",0); + g.leaderId=json.getLongValue("leaderId",0); + g.deleted=json.get("deleted")==null?0:(json.getBoolean("deleted")?1:0); + g.platformGroupId=json.getLongValue("platformGroupId",0); + g.platformTeamId=json.getLongValue("platformTeamId",0); + g.enterDate=json.getLongValue("enterDate",0); + g.exitDate=json.getLongValue("exitDate",0); + g.isDel=0l; + return g; + + } + + public void setId(Long id) + { + this.id = id; + } + + public Long getId() + { + return id; + } + public void setCfgid(Long cfgid) + { + this.cfgid = cfgid; + } + + public Long getCfgid() + { + return cfgid; + } + public void setServerid(String serverid) + { + this.serverid = serverid; + } + + public String getServerid() + { + return serverid; + } + public void setBizLicense(String bizLicense) + { + this.bizLicense = bizLicense; + } + + public String getBizLicense() + { + return bizLicense; + } + public void setCompanyCode(String companyCode) + { + this.companyCode = companyCode; + } + + public String getCompanyCode() + { + return companyCode; + } + public void setCompanyId(String companyId) + { + this.companyId = companyId; + } + + public String getCompanyId() + { + return companyId; + } + public void setCompanyName(String companyName) + { + this.companyName = companyName; + } + + public String getCompanyName() + { + return companyName; + } + public void setCompanyTypeId(String companyTypeId) + { + this.companyTypeId = companyTypeId; + } + + public String getCompanyTypeId() + { + return companyTypeId; + } + public void setVendorId(Long vendorId) + { + this.vendorId = vendorId; + } + + public Long getVendorId() + { + return vendorId; + } + public void setName(String name) + { + this.name = name; + } + + public String getName() + { + return name; + } + public void setLeaderName(String leaderName) + { + this.leaderName = leaderName; + } + + public String getLeaderName() + { + return leaderName; + } + public void setLeaderPhone(String leaderPhone) + { + this.leaderPhone = leaderPhone; + } + + public String getLeaderPhone() + { + return leaderPhone; + } + public void setTeamId(Long teamId) + { + this.teamId = teamId; + } + + public Long getTeamId() + { + return teamId; + } + public void setTeamName(String teamName) + { + this.teamName = teamName; + } + + public String getTeamName() + { + return teamName; + } + public void setType(Long type) + { + this.type = type; + } + + public Long getType() + { + return type; + } + public void setLeaderId(Long leaderId) + { + this.leaderId = leaderId; + } + + public Long getLeaderId() + { + return leaderId; + } + public void setDeleted(Integer deleted) + { + this.deleted = deleted; + } + + public Integer getDeleted() + { + return deleted; + } + public void setPlatformGroupId(Long platformGroupId) + { + this.platformGroupId = platformGroupId; + } + + public Long getPlatformGroupId() + { + return platformGroupId; + } + public void setPlatformTeamId(Long platformTeamId) + { + this.platformTeamId = platformTeamId; + } + + public Long getPlatformTeamId() + { + return platformTeamId; + } + public void setEnterDate(Long enterDate) + { + this.enterDate = enterDate; + } + + public Long getEnterDate() + { + return enterDate; + } + public void setExitDate(Long exitDate) + { + this.exitDate = exitDate; + } + + public Long getExitDate() + { + return exitDate; + } + public void setIsDel(Long isDel) + { + this.isDel = isDel; + } + + public Long getIsDel() + { + return isDel; + } + + public String getAppId() { + return appId; + } + + public void setAppId(String appId) { + this.appId = appId; + } + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("cfgid", getCfgid()) + .append("serverid", getServerid()) + .append("bizLicense", getBizLicense()) + .append("companyCode", getCompanyCode()) + .append("companyId", getCompanyId()) + .append("companyName", getCompanyName()) + .append("companyTypeId", getCompanyTypeId()) + .append("vendorId", getVendorId()) + .append("name", getName()) + .append("leaderName", getLeaderName()) + .append("leaderPhone", getLeaderPhone()) + .append("teamId", getTeamId()) + .append("teamName", getTeamName()) + .append("type", getType()) + .append("leaderId", getLeaderId()) + .append("deleted", getDeleted()) + .append("createTimestamp", getCreateTimestamp()) + .append("platformGroupId", getPlatformGroupId()) + .append("platformTeamId", getPlatformTeamId()) + .append("enterDate", getEnterDate()) + .append("exitDate", getExitDate()) + .append("remark", getRemark()) + .append("isDel", getIsDel()) + .append("createBy", getCreateBy()) + .append("createTime", getCreateTime()) + .append("updateBy", getUpdateBy()) + .append("updateTime", getUpdateTime()) + .toString(); + } +} diff --git a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/domain/QuartzProjectAttendanceUser.java b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/domain/QuartzProjectAttendanceUser.java new file mode 100644 index 00000000..19285347 --- /dev/null +++ b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/domain/QuartzProjectAttendanceUser.java @@ -0,0 +1,733 @@ +package com.ruoyi.quartz.domain; + +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.StrUtil; +import com.alibaba.fastjson2.JSONArray; +import com.alibaba.fastjson2.JSONObject; +import com.ruoyi.common.annotation.Excel; +import com.ruoyi.common.core.domain.BaseEntity; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + +import java.util.Date; +import java.util.List; + +/** + * 考勤人员基本属性对象 sur_project_attendance_user + * + * @author ruoyi + * @date 2023-09-24 + */ +public class QuartzProjectAttendanceUser extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + + /** */ + private Long id; + + /** 配置项ID,可以获取项目ID和总包ID */ + + private Long cfgid; + + /** 注册应用ID */ + + private String appId; + + /** 厂商编号参考字典attendance_vendors */ + + private String vendorsCode; + + /** 工人id */ + @Excel(name = "工人id") + private String workerId; + + /** 项目工人履历id对于旧劳务,这个字段相当于工人的projectWorkerId,管理人员的registerManagerId */ + + private Long laborWorkerId; + + /** 人员类别0:工人,1:管理人员 */ + @Excel(name = "人员类别0:工人,1:管理人员") + private Long workerCategory; + + /** 工号 */ + + private Long qrCode; + + /** 姓名 */ + @Excel(name = "姓名") + private String name; + + /** 民族 */ + @Excel(name = "民族") + private String ethnic; + + /** 籍贯 */ + @Excel(name = "籍贯") + private String nativePlace; + + /** 性别0:男 1:女 */ + @Excel(name = "性别0:男 1:女") + private Long gender; + + /** 出生日期时间戳 */ + @Excel(name = "出生日期时间戳") + private Long birthDate; + + /** 联系电话 */ + @Excel(name = "联系电话") + private String phone; + + /** 学历 */ + @Excel(name = "学历") + private String degreeName; + + /** 身份证照 */ + @Excel(name = "身份证照") + private String photo; + + /** 近照 */ + + private String recentPhoto; + + /** 所属班组ID */ + + private String groupId; + + /** 所属班组 */ + @Excel(name = "所属班组") + private String groupName; + + /** 是否班组长 */ + @Excel(name = "是否班组长") + private Integer leader; + + /** 工种编码 */ + @Excel(name = "工种编码") + private String workTypeCode; + + /** 工种 */ + @Excel(name = "工种") + private String workTypeName; + + /** 是否特殊工种 */ + @Excel(name = "是否特殊工种") + private Integer specWorkType; + + /** 安全帽编号 */ + @Excel(name = "安全帽编号") + private String hatCode; + + /** 进退场状态0:进场,1:退场 */ + @Excel(name = "进退场状态0:进场,1:退场") + private Long state; + + /** 进场日期 */ + @Excel(name = "进场日期") + private String enterDate; + + /** 退场日期 */ + @Excel(name = "退场日期") + private String exitDate; + + /** 分包商id */ + @Excel(name = "分包商id") + private String companyId; + + /** 分包商名称 */ + @Excel(name = "分包商名称") + private String companyName; + + /** 平台对应分包商ID */ + @Excel(name = "平台对应分包商ID") + private Long vendorId; + + /** 队伍id */ + @Excel(name = "队伍id") + private Integer teamId; + + /** 队伍名称 */ + @Excel(name = "队伍名称") + private String teamName; + + /** 进场方式0:自动,1:手动2:拍照 */ + @Excel(name = "进场方式0:自动,1:手动2:拍照") + private String enterType; + + /** 服务返回的JSON */ + @Excel(name = "服务返回的JSON") + private String other; + + /** 是否有效 */ + @Excel(name = "是否有效") + private Long isDel; + + /** 人员部门类型 */ + @Excel(name = "人员部门类型") + private String companyTypeId; + + /** 重要::yanzhu接口接收base64图片 */ + private String recentPhotoBase64; + + public String getRecentPhotoBase64() { + return recentPhotoBase64; + } + + public void setRecentPhotoBase64(String recentPhotoBase64) { + this.recentPhotoBase64 = recentPhotoBase64; + } + + @Excel(name = "进场时间") + private Date inTime; + @Excel(name = "离场时间") + private Date outTime; + + public static QuartzProjectAttendanceUser createFromHuazhu(JSONObject j) { + QuartzProjectAttendanceUser u=new QuartzProjectAttendanceUser(); + u.workerId=j.getString("id"); + u.name=j.getString("name"); + u.ethnic=j.getString("nationalName"); + u.nativePlace=j.getString("provinceName")+j.getString("cityName"); + u.gender=j.getLongValue("sex",0)==0l?1l:0l; + u.birthDate=j.getLongValue("birthday",0); + u.phone=j.getString("phone"); + u.degreeName=j.getString("levelOfEducation"); + u.recentPhoto=j.getString("profile"); + u.groupId=j.getString("teamId"); + u.groupName=j.getString("teamName"); + u.workTypeCode=j.getString("workerTypeId"); + u.workTypeName=j.getString("workerTypeName"); + u.state=j.getLongValue("status",1)==2l?0l:1l; + long enterTime=j.getLong("enterTime"); + if(enterTime>0){ + u.enterDate= DateUtil.format(DateUtil.date(enterTime),"yyyy-MM-dd HH:mm:ss"); + } + long leaveTime=j.getLong("leaveTime"); + if(leaveTime>0) { + u.exitDate = DateUtil.format(DateUtil.date(leaveTime), "yyyy-MM-dd HH:mm:ss"); + } + u.vendorId=j.getLongValue("unitProjectId",0); + u.companyId=""+j.getLongValue("unitId",0); + u.companyName=j.getString("unitName"); + u.teamName=j.getString("teamName"); + return u; + } + + public static QuartzProjectAttendanceUser createFromJgw(JSONObject j) { + QuartzProjectAttendanceUser u=new QuartzProjectAttendanceUser(); + u.workerId=j.getString("workerId"); + u.name=j.getString("name"); + u.ethnic=j.getString("minor"); + u.phone=j.getString("workPhone"); + u.nativePlace=j.getString("address"); + u.gender=j.getLongValue("sex",0)==0l?1l:0l; + String tmp=j.getString("birthday"); + if(StrUtil.isNotEmpty(tmp)) { + try { + u.birthDate = DateUtil.parse(tmp).getTime(); + }catch (Exception ex){ + + } + } + u.photo=j.getString("headImage"); + u.degreeName=j.getString("education"); + u.recentPhoto=j.getString("vaildPhoto"); + u.groupId=""; + u.groupName=""; + u.workTypeCode=""; + u.workTypeName=j.getString("jobtype"); + u.state="01".equals( j.getString("workerStatus"))?0l:1l; + String workDate=j.getString("workDate"); + if(!StrUtil.isEmpty(workDate)){ + u.enterDate=workDate; + } + u.vendorId=0l; + u.companyId=j.getString("subcontractorId"); + u.companyName=""; + u.teamName=""; + u.isDel=0l; + JSONArray ja=j.getJSONArray("corpName"); + if(ja!=null && ja.size()>0){ + Object obj=ja.get(0); + if(obj!=null){ + u.companyName=obj.toString(); + } + } + + u.leader=j.getInteger("isAdmin")==1?1:0; + return u; + } + + public Date getInTime() { + return inTime; + } + + public void setInTime(Date inTime) { + this.inTime = inTime; + } + + public Date getOutTime() { + return outTime; + } + + public void setOutTime(Date outTime) { + this.outTime = outTime; + } + + private Long projectId; + private Long subDeptId; + private Long deptId; + + private List workerIds; + + public List getWorkerIds() { + return workerIds; + } + + public void setWorkerIds(List workerIds) { + this.workerIds = workerIds; + } + + private int size; + + public int getSize() { + return size; + } + + public void setSize(int size) { + this.size = size; + } + + public int getIndex() { + return index; + } + + public void setIndex(int index) { + this.index = index; + } + + private int index; + public Long getProjectId() { + return projectId; + } + + public void setProjectId(Long projectId) { + this.projectId = projectId; + } + + public Long getSubDeptId() { + return subDeptId; + } + + public void setSubDeptId(Long subDeptId) { + this.subDeptId = subDeptId; + } + + public Long getDeptId() { + return deptId; + } + + public void setDeptId(Long deptId) { + this.deptId = deptId; + } + + public static QuartzProjectAttendanceUser create(JSONObject json) { + QuartzProjectAttendanceUser u=new QuartzProjectAttendanceUser(); + u.workerId=json.getString("workerId"); + u.laborWorkerId=json.getLongValue("laborWorkerId",0); + u.workerCategory=json.getLongValue("workerCategory",0); + u.qrCode=json.getLongValue("qrCode",0); + u.name=json.getString("name"); + u.ethnic=json.getString("ethnic"); + u.nativePlace=json.getString("nativePlace"); + u.gender=json.getLongValue("gender",0); + u.birthDate=json.getLongValue("birthDate",0); + u.phone=json.getString("phone"); + u.recentPhoto=json.getString("recentPhoto"); + u.groupId=json.getString("groupId"); + u.groupName=json.getString("groupName"); + u.leader=json.getBooleanValue("leader",false)?1:0; + u.workTypeCode=json.getString("workTypeCode"); + u.workTypeName=json.getString("workTypeName"); + u.specWorkType=json.getBooleanValue("specWorkType",false)?1:0; + u.hatCode=json.getString("hatCode"); + u.state=json.getLongValue("status",0); + u.enterDate=json.getString("enterDate"); + u.exitDate=json.getString("exitDate"); + u.companyId=""+json.getLongValue("companyId",0); + u.companyName=json.getString("companyName"); + u.vendorId=json.getLongValue("vendorId",0); + u.teamId=json.getInteger("teamId"); + u.teamName=json.getString("teamName"); + u.enterType=json.getString("enterType"); + u.isDel=0l; + return u; + } + public void setId(Long id) + { + this.id = id; + } + + public Long getId() + { + return id; + } + public void setCfgid(Long cfgid) + { + this.cfgid = cfgid; + } + + public Long getCfgid() + { + return cfgid; + } + public void setVendorsCode(String vendorsCode) + { + this.vendorsCode = vendorsCode; + } + + public String getVendorsCode() + { + return vendorsCode; + } + public void setWorkerId(String workerId) + { + this.workerId = workerId; + } + + public String getWorkerId() + { + return workerId; + } + public void setLaborWorkerId(Long laborWorkerId) + { + this.laborWorkerId = laborWorkerId; + } + + public Long getLaborWorkerId() + { + return laborWorkerId; + } + public void setWorkerCategory(Long workerCategory) + { + this.workerCategory = workerCategory; + } + + public Long getWorkerCategory() + { + return workerCategory; + } + public void setQrCode(Long qrCode) + { + this.qrCode = qrCode; + } + + public Long getQrCode() + { + return qrCode; + } + public void setName(String name) + { + this.name = name; + } + + public String getName() + { + return name; + } + public void setEthnic(String ethnic) + { + this.ethnic = ethnic; + } + + public String getEthnic() + { + return ethnic; + } + public void setNativePlace(String nativePlace) + { + this.nativePlace = nativePlace; + } + + public String getNativePlace() + { + return nativePlace; + } + public void setGender(Long gender) + { + this.gender = gender; + } + + public Long getGender() + { + return gender; + } + public void setBirthDate(Long birthDate) + { + this.birthDate = birthDate; + } + + public Long getBirthDate() + { + return birthDate; + } + public void setPhone(String phone) + { + this.phone = phone; + } + + public String getPhone() + { + return phone; + } + public void setDegreeName(String degreeName) + { + this.degreeName = degreeName; + } + + public String getDegreeName() + { + return degreeName; + } + public void setPhoto(String photo) + { + this.photo = photo; + } + + public String getPhoto() + { + return photo; + } + public void setRecentPhoto(String recentPhoto) + { + this.recentPhoto = recentPhoto; + } + + public String getRecentPhoto() + { + return recentPhoto; + } + public void setGroupId(String groupId) + { + this.groupId = groupId; + } + + public String getGroupId() + { + return groupId; + } + public void setGroupName(String groupName) + { + this.groupName = groupName; + } + + public String getGroupName() + { + return groupName; + } + public void setLeader(Integer leader) + { + this.leader = leader; + } + + public Integer getLeader() + { + return leader; + } + public void setWorkTypeCode(String workTypeCode) + { + this.workTypeCode = workTypeCode; + } + + public String getWorkTypeCode() + { + return workTypeCode; + } + public void setWorkTypeName(String workTypeName) + { + this.workTypeName = workTypeName; + } + + public String getWorkTypeName() + { + return workTypeName; + } + public void setSpecWorkType(Integer specWorkType) + { + this.specWorkType = specWorkType; + } + + public Integer getSpecWorkType() + { + return specWorkType; + } + public void setHatCode(String hatCode) + { + this.hatCode = hatCode; + } + + public String getHatCode() + { + return hatCode; + } + public void setState(Long state) + { + this.state = state; + } + + public Long getState() + { + return state; + } + public void setEnterDate(String enterDate) + { + this.enterDate = enterDate; + } + + public String getEnterDate() + { + return enterDate; + } + public void setExitDate(String exitDate) + { + this.exitDate = exitDate; + } + + public String getExitDate() + { + return exitDate; + } + public void setCompanyId(String companyId) + { + this.companyId = companyId; + } + + public String getCompanyId() + { + return companyId; + } + public void setCompanyName(String companyName) + { + this.companyName = companyName; + } + + public String getCompanyName() + { + return companyName; + } + public void setVendorId(Long vendorId) + { + this.vendorId = vendorId; + } + + public Long getVendorId() + { + return vendorId; + } + public void setTeamId(Integer teamId) + { + this.teamId = teamId; + } + + public Integer getTeamId() + { + return teamId; + } + public void setTeamName(String teamName) + { + this.teamName = teamName; + } + + public String getTeamName() + { + return teamName; + } + public void setEnterType(String enterType) + { + this.enterType = enterType; + } + + public String getEnterType() + { + return enterType; + } + public void setOther(String other) + { + this.other = other; + } + + public String getOther() + { + return other; + } + public void setIsDel(Long isDel) + { + this.isDel = isDel; + } + + public Long getIsDel() + { + return isDel; + } + + public String getAppId() { + return appId; + } + + public void setAppId(String appId) { + this.appId = appId; + } + + public String getCompanyTypeId() { + return companyTypeId; + } + + public void setCompanyTypeId(String companyTypeId) { + this.companyTypeId = companyTypeId; + } + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("cfgid", getCfgid()) + .append("vendorsCode", getVendorsCode()) + .append("workerId", getWorkerId()) + .append("laborWorkerId", getLaborWorkerId()) + .append("workerCategory", getWorkerCategory()) + .append("qrCode", getQrCode()) + .append("name", getName()) + .append("ethnic", getEthnic()) + .append("nativePlace", getNativePlace()) + .append("gender", getGender()) + .append("birthDate", getBirthDate()) + .append("phone", getPhone()) + .append("degreeName", getDegreeName()) + .append("photo", getPhoto()) + .append("recentPhoto", getRecentPhoto()) + .append("groupId", getGroupId()) + .append("groupName", getGroupName()) + .append("leader", getLeader()) + .append("workTypeCode", getWorkTypeCode()) + .append("workTypeName", getWorkTypeName()) + .append("specWorkType", getSpecWorkType()) + .append("hatCode", getHatCode()) + .append("state", getState()) + .append("enterDate", getEnterDate()) + .append("exitDate", getExitDate()) + .append("companyId", getCompanyId()) + .append("companyName", getCompanyName()) + .append("vendorId", getVendorId()) + .append("teamId", getTeamId()) + .append("teamName", getTeamName()) + .append("enterType", getEnterType()) + .append("other", getOther()) + .append("remark", getRemark()) + .append("isDel", getIsDel()) + .append("createBy", getCreateBy()) + .append("createTime", getCreateTime()) + .append("updateBy", getUpdateBy()) + .append("updateTime", getUpdateTime()) + .toString(); + } +} diff --git a/yanzhu-jh/src/main/java/com/yanzhu/jh/base/domain/SysNative.java b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/domain/SysNative.java similarity index 91% rename from yanzhu-jh/src/main/java/com/yanzhu/jh/base/domain/SysNative.java rename to ruoyi-quartz/src/main/java/com/ruoyi/quartz/domain/SysNative.java index 8b9b09d3..de937de3 100644 --- a/yanzhu-jh/src/main/java/com/yanzhu/jh/base/domain/SysNative.java +++ b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/domain/SysNative.java @@ -1,8 +1,8 @@ -package com.yanzhu.jh.base.domain; +package com.ruoyi.quartz.domain; import com.ruoyi.common.core.domain.BaseEntity; -public class SysNative extends BaseEntity { +public class SysNative extends BaseEntity { private Long id; private String address; diff --git a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/mapper/QuartzProjectAttendanceCfgMapper.java b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/mapper/QuartzProjectAttendanceCfgMapper.java new file mode 100644 index 00000000..14e94a09 --- /dev/null +++ b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/mapper/QuartzProjectAttendanceCfgMapper.java @@ -0,0 +1,64 @@ +package com.ruoyi.quartz.mapper; + +import com.ruoyi.quartz.domain.QuartzProjectAttendanceCfg; + +import java.util.List; + +/** + * 项目考勤配置Mapper接口 + * + * @author ruoyi + * @date 2023-09-24 + */ +public interface QuartzProjectAttendanceCfgMapper +{ + /** + * 查询项目考勤配置 + * + * @param id 项目考勤配置主键 + * @return 项目考勤配置 + */ + public QuartzProjectAttendanceCfg selectSurProjectAttendanceCfgById(Long id); + + /** + * 查询项目考勤配置列表 + * + * @param quartzProjectAttendanceCfg 项目考勤配置 + * @return 项目考勤配置集合 + */ + public List selectSurProjectAttendanceCfgList(QuartzProjectAttendanceCfg quartzProjectAttendanceCfg); + + /** + * 新增项目考勤配置 + * + * @param quartzProjectAttendanceCfg 项目考勤配置 + * @return 结果 + */ + public int insertSurProjectAttendanceCfg(QuartzProjectAttendanceCfg quartzProjectAttendanceCfg); + + /** + * 修改项目考勤配置 + * + * @param quartzProjectAttendanceCfg 项目考勤配置 + * @return 结果 + */ + public int updateSurProjectAttendanceCfg(QuartzProjectAttendanceCfg quartzProjectAttendanceCfg); + + /** + * 删除项目考勤配置 + * + * @param id 项目考勤配置主键 + * @return 结果 + */ + public int deleteSurProjectAttendanceCfgById(Long id); + + /** + * 批量删除项目考勤配置 + * + * @param ids 需要删除的数据主键集合 + * @return 结果 + */ + public int deleteSurProjectAttendanceCfgByIds(Long[] ids); + + public List selectSurProjectAttendanceCfgListForAllInfo(QuartzProjectAttendanceCfg where); +} diff --git a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/mapper/QuartzProjectAttendanceDataMapper.java b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/mapper/QuartzProjectAttendanceDataMapper.java new file mode 100644 index 00000000..dda33a20 --- /dev/null +++ b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/mapper/QuartzProjectAttendanceDataMapper.java @@ -0,0 +1,135 @@ +package com.ruoyi.quartz.mapper; + +import com.ruoyi.quartz.domain.QuartzProjectAttendanceData; +import org.apache.ibatis.annotations.Param; + +import java.util.List; +import java.util.Map; + +/** + * 劳务实名制管理Mapper接口 + * + * @author ruoyi + * @date 2023-09-24 + */ +public interface QuartzProjectAttendanceDataMapper +{ + /** + * 查询劳务实名制管理 + * + * @param id 劳务实名制管理主键 + * @return 劳务实名制管理 + */ + public QuartzProjectAttendanceData selectSurProjectAttendanceDataById(Long id); + + /** + * 查询劳务实名制管理列表 + * + * @param quartzProjectAttendanceData 劳务实名制管理 + * @return 劳务实名制管理集合 + */ + public List selectSurProjectAttendanceDataList(QuartzProjectAttendanceData quartzProjectAttendanceData); + + /** + * 查询考勤信息 + * + * @param quartzProjectAttendanceData 劳务实名制管理 + * @return 劳务实名制管理集合 + */ + public QuartzProjectAttendanceData findCurrentAttendanceData(QuartzProjectAttendanceData quartzProjectAttendanceData); + + public List selectSurProjectAttendanceDataListEx(QuartzProjectAttendanceData quartzProjectAttendanceData); + /** + * 新增劳务实名制管理 + * + * @param quartzProjectAttendanceData 劳务实名制管理 + * @return 结果 + */ + public int insertSurProjectAttendanceData(QuartzProjectAttendanceData quartzProjectAttendanceData); + + /** + * 修改劳务实名制管理 + * + * @param quartzProjectAttendanceData 劳务实名制管理 + * @return 结果 + */ + public int updateSurProjectAttendanceData(QuartzProjectAttendanceData quartzProjectAttendanceData); + + /** + * 删除劳务实名制管理 + * + * @param id 劳务实名制管理主键 + * @return 结果 + */ + public int deleteSurProjectAttendanceDataById(Long id); + + /** + * 批量删除劳务实名制管理 + * + * @param ids 需要删除的数据主键集合 + * @return 结果 + */ + public int deleteSurProjectAttendanceDataByIds(Long[] ids); + + /** + * 批量删除劳务实名制管理 + * + * @param list 需要删除的数据参数集合 + * @return 结果 + */ + public int deleteSurProjectAttendanceDataByParams(List list); + + /** + * 批量新增劳务实名制考勤管理 + * + * @param quartzProjectAttendanceDataList 劳务实名制考勤管理列表 + * @return 结果 + */ + public int batchSurProjectAttendanceData(@Param("list") List quartzProjectAttendanceDataList, @Param("year") String year); + + public Long getLastServerId(QuartzProjectAttendanceData where); + + List groupAllByComany(QuartzProjectAttendanceData where); + List groupByComany(QuartzProjectAttendanceData where); + + public Long getHuazhuPage(QuartzProjectAttendanceData where); + + + public List> initOtherData(Map data); + + public List> initHuaZhuData(Map data); + + public String findHuaZhuCompanyType(String deptName); + + public List todayAttendance(QuartzProjectAttendanceData where); + + /** + * 统计人员数据 + * @param where + * @return + */ + public List> findGroupAllByDays(QuartzProjectAttendanceData where); + + /** + * 统计所有数据 + * @param where + * @return + */ + public List> findGroupAllByParams(QuartzProjectAttendanceData where); + + /** + * 统计考勤数据 + * @param where + * @return + */ + public List> groupDataByParams(QuartzProjectAttendanceData where); + + /** + * 考勤数据列表 + * @param where + * @return + */ + public List attendanceDataList(QuartzProjectAttendanceData where); + + public List groupTodayCompanyTypeId(QuartzProjectAttendanceData where); +} diff --git a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/mapper/QuartzProjectAttendanceGroupMapper.java b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/mapper/QuartzProjectAttendanceGroupMapper.java new file mode 100644 index 00000000..f2e6cc7a --- /dev/null +++ b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/mapper/QuartzProjectAttendanceGroupMapper.java @@ -0,0 +1,86 @@ +package com.ruoyi.quartz.mapper; + +import com.ruoyi.quartz.domain.QuartzProjectAttendanceGroup; + +import java.util.List; + +/** + * 广联达班组信息Mapper接口 + * + * @author ruoyi + * @date 2023-09-26 + */ +public interface QuartzProjectAttendanceGroupMapper +{ + /** + * 查询广联达班组信息 + * + * @param id 广联达班组信息主键 + * @return 广联达班组信息 + */ + public QuartzProjectAttendanceGroup selectSurProjectAttendanceGroupById(Long id); + + /** + * 查询广联达班组信息列表 + * + * @param quartzProjectAttendanceGroup 广联达班组信息 + * @return 广联达班组信息集合 + */ + public List selectSurProjectAttendanceGroupViewList(QuartzProjectAttendanceGroup quartzProjectAttendanceGroup); + + /** + * 查询广联达班组信息列表 + * + * @param quartzProjectAttendanceGroup 广联达班组信息 + * @return 广联达班组信息集合 + */ + public List selectSurProjectAttendanceGroupList(QuartzProjectAttendanceGroup quartzProjectAttendanceGroup); + + /** + * 新增广联达班组信息 + * + * @param quartzProjectAttendanceGroup 广联达班组信息 + * @return 结果 + */ + public int insertSurProjectAttendanceGroup(QuartzProjectAttendanceGroup quartzProjectAttendanceGroup); + + /** + * 修改广联达班组信息 + * + * @param quartzProjectAttendanceGroup 广联达班组信息 + * @return 结果 + */ + public int updateSurProjectAttendanceGroup(QuartzProjectAttendanceGroup quartzProjectAttendanceGroup); + + /** + * 删除广联达班组信息 + * + * @param id 广联达班组信息主键 + * @return 结果 + */ + public int deleteSurProjectAttendanceGroupById(Long id); + + /** + * 批量删除广联达班组信息 + * + * @param ids 需要删除的数据主键集合 + * @return 结果 + */ + public int deleteSurProjectAttendanceGroupByIds(Long[] ids); + + /** + * 批量删除广联达班组信息 + * + * @param list 需要删除的数据参数集合 + * @return 结果 + */ + public int deleteSurProjectAttendanceGroupByParams(List list); + + /** + * 批量新增广联达班组信息 + * + * @param quartzProjectAttendanceGroupList 广联达班组信息列表 + * @return 结果 + */ + public int batchSurProjectAttendanceGroup(List quartzProjectAttendanceGroupList); +} diff --git a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/mapper/QuartzProjectAttendanceUserMapper.java b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/mapper/QuartzProjectAttendanceUserMapper.java new file mode 100644 index 00000000..426de58c --- /dev/null +++ b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/mapper/QuartzProjectAttendanceUserMapper.java @@ -0,0 +1,169 @@ +package com.ruoyi.quartz.mapper; + +import com.ruoyi.quartz.domain.QuartzProjectAttendanceCfg; +import com.ruoyi.quartz.domain.QuartzProjectAttendanceData; +import com.ruoyi.quartz.domain.QuartzProjectAttendanceUser; + +import java.util.List; +import java.util.Map; + +/** + * 考勤人员基本属性Mapper接口 + * + * @author ruoyi + * @date 2023-09-24 + */ +public interface QuartzProjectAttendanceUserMapper +{ + /** + * 查询考勤人员基本属性 + * + * @param id 考勤人员基本属性主键 + * @return 考勤人员基本属性 + */ + public QuartzProjectAttendanceUser selectSurProjectAttendanceUserById(Long id); + + /** + * 查询考勤人员信息 + * + * @param quartzProjectAttendanceUser + * @return 考勤人员基本属性 + */ + public QuartzProjectAttendanceUser findCurrentAttendanceUser(QuartzProjectAttendanceUser quartzProjectAttendanceUser); + + /** + * 查询[研筑]考勤人员信息 + * + * @param quartzProjectAttendanceUser + * @return 考勤人员基本属性 + */ + public QuartzProjectAttendanceUser findYzCurrentAttendanceUser(QuartzProjectAttendanceUser quartzProjectAttendanceUser); + + /** + * 查询考勤人员基本属性列表 + * + * @param quartzProjectAttendanceUser 考勤人员基本属性 + * @return 考勤人员基本属性集合 + */ + public List selectSurProjectAttendanceUserList(QuartzProjectAttendanceUser quartzProjectAttendanceUser); + + + public List querySurProjectAttendanceUserList(QuartzProjectAttendanceUser quartzProjectAttendanceUser); + + public List selectSurProjectAttendanceUserListJgw(QuartzProjectAttendanceUser quartzProjectAttendanceUser); + /** + * 新增考勤人员基本属性 + * + * @param quartzProjectAttendanceUser 考勤人员基本属性 + * @return 结果 + */ + public int insertSurProjectAttendanceUser(QuartzProjectAttendanceUser quartzProjectAttendanceUser); + + /** + * 修改考勤人员基本属性 + * + * @param quartzProjectAttendanceUser 考勤人员基本属性 + * @return 结果 + */ + public int updateSurProjectAttendanceUser(QuartzProjectAttendanceUser quartzProjectAttendanceUser); + + /** + * 删除考勤人员基本属性 + * + * @param id 考勤人员基本属性主键 + * @return 结果 + */ + public int deleteSurProjectAttendanceUserById(Long id); + + /** + * 批量删除考勤人员基本属性 + * + * @param ids 需要删除的数据主键集合 + * @return 结果 + */ + public int deleteSurProjectAttendanceUserByIds(Long[] ids); + + /** + * 批量删除考勤人员基本属性 + * + * @param list 需要删除的数据参数集合 + * @return 结果 + */ + public int deleteSurProjectAttendanceUserByParams(List list); + + /** + * 批量新增考勤人员基本属性 + * + * @param quartzProjectAttendanceUserList 考勤人员基本属性列表 + * @return 结果 + */ + public int batchSurProjectAttendanceUser(List quartzProjectAttendanceUserList); + + /** + * 下面三个方法完成考勤记录分页查询 + * countAttendance 获取总记录条数 + * queryAttendanceUsers 获取当前页workerIds + * queryAttendanceByUserIds 根据workerIds查询一页数据然后组装 + * @param where + * @return + */ + public List queryAttendanceByUserIds(QuartzProjectAttendanceUser where); + public long countAttendance(QuartzProjectAttendanceCfg where); + public List queryAttendanceUsers(QuartzProjectAttendanceUser where); + + public long countTodayAttendance(QuartzProjectAttendanceUser where); + + + public List todayAttendance(QuartzProjectAttendanceUser where); + public List todayAttendanceData(List list); + + public List todayAttendanceOtherData(Map data); + + /** + * 在岗工人查询 + * @param where + * @return + */ + List queryWorkerOnDuty(QuartzProjectAttendanceUser where); + + /** + * 统计人员数据 + * @param where + * @return + */ + public List> groupUserByParams(QuartzProjectAttendanceUser where); + + /** + * 在岗工人查询 + * @param where + * @return + */ + public List attendanceUserList(QuartzProjectAttendanceUser where); + + /** + * 统计人员数据 + * @param projectId + * @return + */ + public List> findUserAllByDays(Long projectId); + + /** + * 按部门汇总在岗人数 + * @param where + * @return + */ + List groupByWorkerOnDutyByDept(QuartzProjectAttendanceUser where); + /** + * 按部门汇总在岗|离岗人数 + * @param where + * @return + */ + List groupByWorkerByDept(QuartzProjectAttendanceUser where); + /** + * 在岗|离岗工人查询 + * @param where + * @return + */ + List queryWorkerByState(QuartzProjectAttendanceUser where); + +} diff --git a/yanzhu-jh/src/main/java/com/yanzhu/jh/base/mapper/SysNativeMapper.java b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/mapper/SysNativeMapper.java similarity index 61% rename from yanzhu-jh/src/main/java/com/yanzhu/jh/base/mapper/SysNativeMapper.java rename to ruoyi-quartz/src/main/java/com/ruoyi/quartz/mapper/SysNativeMapper.java index 7151f718..15d0d510 100644 --- a/yanzhu-jh/src/main/java/com/yanzhu/jh/base/mapper/SysNativeMapper.java +++ b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/mapper/SysNativeMapper.java @@ -1,6 +1,6 @@ -package com.yanzhu.jh.base.mapper; +package com.ruoyi.quartz.mapper; -import com.yanzhu.jh.base.domain.SysNative; +import com.ruoyi.quartz.domain.SysNative; import java.util.List; diff --git a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/mapper/TaskMapper.java b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/mapper/TaskMapper.java index 671c92d3..90b4b7f2 100644 --- a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/mapper/TaskMapper.java +++ b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/mapper/TaskMapper.java @@ -81,4 +81,31 @@ public interface TaskMapper { * @return 用户绑定小程序openId集合 */ public List> findMsgProMagUsers(Long proId); + + /** + * 查询时间内最大的主键【清除塔吊历史实时数据使用】 + * @param date + * @return + */ + public Long findTowerMaxIdByDate(String date); + + /** + * 清除塔吊历史实时数据 + * @param id 最大主键 + * @return + */ + public int deleteDevTowerDataRunByMaxId(Long id); + + /** + * 检查设备状态 + * @return + */ + public List> findAllTowerMaxId(); + + /** + * 同步设备状态 + * @param map + * @return + */ + public int updateTowerConfigOnline(Map map); } diff --git a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/service/IQuartzProjectAttendanceCfgService.java b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/service/IQuartzProjectAttendanceCfgService.java new file mode 100644 index 00000000..0f255f86 --- /dev/null +++ b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/service/IQuartzProjectAttendanceCfgService.java @@ -0,0 +1,62 @@ +package com.ruoyi.quartz.service; + +import com.ruoyi.quartz.domain.QuartzProjectAttendanceCfg; + +import java.util.List; + +/** + * 项目考勤配置Service接口 + * + * @author ruoyi + * @date 2023-09-24 + */ +public interface IQuartzProjectAttendanceCfgService +{ + /** + * 查询项目考勤配置 + * + * @param id 项目考勤配置主键 + * @return 项目考勤配置 + */ + public QuartzProjectAttendanceCfg selectSurProjectAttendanceCfgById(Long id); + + /** + * 查询项目考勤配置列表 + * + * @param quartzProjectAttendanceCfg 项目考勤配置 + * @return 项目考勤配置集合 + */ + public List selectSurProjectAttendanceCfgList(QuartzProjectAttendanceCfg quartzProjectAttendanceCfg); + + /** + * 新增项目考勤配置 + * + * @param quartzProjectAttendanceCfg 项目考勤配置 + * @return 结果 + */ + public int insertSurProjectAttendanceCfg(QuartzProjectAttendanceCfg quartzProjectAttendanceCfg); + + /** + * 修改项目考勤配置 + * + * @param quartzProjectAttendanceCfg 项目考勤配置 + * @return 结果 + */ + public int updateSurProjectAttendanceCfg(QuartzProjectAttendanceCfg quartzProjectAttendanceCfg); + + /** + * 批量删除项目考勤配置 + * + * @param ids 需要删除的项目考勤配置主键集合 + * @return 结果 + */ + public int deleteSurProjectAttendanceCfgByIds(Long[] ids); + + /** + * 删除项目考勤配置信息 + * + * @param id 项目考勤配置主键 + * @return 结果 + */ + public int deleteSurProjectAttendanceCfgById(Long id); +} diff --git a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/service/IQuartzProjectAttendanceDataService.java b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/service/IQuartzProjectAttendanceDataService.java new file mode 100644 index 00000000..e9e0439c --- /dev/null +++ b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/service/IQuartzProjectAttendanceDataService.java @@ -0,0 +1,141 @@ +package com.ruoyi.quartz.service; + +import com.ruoyi.quartz.domain.QuartzProjectAttendanceData; + +import java.util.List; +import java.util.Map; + +/** + * 劳务实名制管理Service接口 + * + * @author ruoyi + * @date 2023-09-24 + */ +public interface IQuartzProjectAttendanceDataService +{ + /** + * 查询劳务实名制管理 + * + * @param id 劳务实名制管理主键 + * @return 劳务实名制管理 + */ + public QuartzProjectAttendanceData selectSurProjectAttendanceDataById(Long id); + + /** + * 查询劳务实名制管理列表 + * + * @param quartzProjectAttendanceData 劳务实名制管理 + * @return 劳务实名制管理集合 + */ + public List selectSurProjectAttendanceDataList(QuartzProjectAttendanceData quartzProjectAttendanceData); + + /** + * 查询考勤信息 + * + * @param quartzProjectAttendanceData 劳务实名制管理 + * @return 劳务实名制管理集合 + */ + public QuartzProjectAttendanceData findCurrentAttendanceData(QuartzProjectAttendanceData quartzProjectAttendanceData); + + public List selectSurProjectAttendanceDataListEx(QuartzProjectAttendanceData quartzProjectAttendanceData); + + /** + * 新增劳务实名制管理 + * + * @param quartzProjectAttendanceData 劳务实名制管理 + * @return 结果 + */ + public int insertSurProjectAttendanceData(QuartzProjectAttendanceData quartzProjectAttendanceData); + + /** + * 修改劳务实名制管理 + * + * @param quartzProjectAttendanceData 劳务实名制管理 + * @return 结果 + */ + public int updateSurProjectAttendanceData(QuartzProjectAttendanceData quartzProjectAttendanceData); + + /** + * 批量删除劳务实名制管理 + * + * @param ids 需要删除的劳务实名制管理主键集合 + * @return 结果 + */ + public int deleteSurProjectAttendanceDataByIds(Long[] ids); + + /** + * 删除劳务实名制管理信息 + * + * @param id 劳务实名制管理主键 + * @return 结果 + */ + public int deleteSurProjectAttendanceDataById(Long id); + + /** + * 批量删除劳务实名制管理 + * + * @param list 需要删除的数据参数集合 + * @return 结果 + */ + public int deleteSurProjectAttendanceDataByParams(List list); + + /** + * 批量新增劳务实名制考勤管理 + * + * @param quartzProjectAttendanceDataList 劳务实名制管理考勤列表 + * @return 结果 + */ + public int batchSurProjectAttendanceData(List quartzProjectAttendanceDataList); + + public void add(QuartzProjectAttendanceData sdata); + + public String getLastServerId(QuartzProjectAttendanceData where); + + public List groupByComany(QuartzProjectAttendanceData where); + + public Long getHuazhuPage( QuartzProjectAttendanceData where); + + public List groupAllByComany(QuartzProjectAttendanceData where); + + public List> initOtherData(Map data); + + public List> initHuaZhuData(Map data); + + List todayAttendance(QuartzProjectAttendanceData where); + + /** + * 统计所有数据 + * @param where + * @return + */ + public List> groupAllByParams(QuartzProjectAttendanceData where); + + /** + * 统计人员数据 + * @param where + * @return + */ + public List> findGroupAllByDays(QuartzProjectAttendanceData where); + + /** + * 考勤数据列表 + * @param where + * @return + */ + public List attendanceDataList(QuartzProjectAttendanceData where); + + /** + * 统计考勤数据 + * @param where + * @return + */ + public List> groupDataByParams(QuartzProjectAttendanceData where); + + List groupTodayCompanyTypeId(QuartzProjectAttendanceData where); + + /** + * 指增加 + * @param addList + */ + void addList(List addList); +} diff --git a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/service/IQuartzProjectAttendanceGroupService.java b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/service/IQuartzProjectAttendanceGroupService.java new file mode 100644 index 00000000..2f9e289a --- /dev/null +++ b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/service/IQuartzProjectAttendanceGroupService.java @@ -0,0 +1,94 @@ +package com.ruoyi.quartz.service; + +import com.ruoyi.quartz.domain.QuartzProjectAttendanceGroup; + +import java.util.List; + +/** + * 广联达班组信息Service接口 + * + * @author ruoyi + * @date 2023-09-26 + */ +public interface IQuartzProjectAttendanceGroupService +{ + /** + * 查询广联达班组信息 + * + * @param id 广联达班组信息主键 + * @return 广联达班组信息 + */ + public QuartzProjectAttendanceGroup selectSurProjectAttendanceGroupById(Long id); + + /** + * 查询广联达班组信息列表 + * + * @param quartzProjectAttendanceGroup 广联达班组信息 + * @return 广联达班组信息集合 + */ + public List selectSurProjectAttendanceGroupViewList(QuartzProjectAttendanceGroup quartzProjectAttendanceGroup); + + /** + * 查询广联达班组信息列表 + * + * @param quartzProjectAttendanceGroup 广联达班组信息 + * @return 广联达班组信息集合 + */ + public List selectSurProjectAttendanceGroupList(QuartzProjectAttendanceGroup quartzProjectAttendanceGroup); + + /** + * 新增广联达班组信息 + * + * @param quartzProjectAttendanceGroup 广联达班组信息 + * @return 结果 + */ + public int insertSurProjectAttendanceGroup(QuartzProjectAttendanceGroup quartzProjectAttendanceGroup); + + /** + * 修改广联达班组信息 + * + * @param quartzProjectAttendanceGroup 广联达班组信息 + * @return 结果 + */ + public int updateSurProjectAttendanceGroup(QuartzProjectAttendanceGroup quartzProjectAttendanceGroup); + + /** + * 批量删除广联达班组信息 + * + * @param ids 需要删除的广联达班组信息主键集合 + * @return 结果 + */ + public int deleteSurProjectAttendanceGroupByIds(Long[] ids); + + /** + * 删除广联达班组信息信息 + * + * @param id 广联达班组信息主键 + * @return 结果 + */ + public int deleteSurProjectAttendanceGroupById(Long id); + + /** + * 批量删除广联达班组信息 + * + * @param list 需要删除的数据参数集合 + * @return 结果 + */ + public int deleteSurProjectAttendanceGroupByParams(List list); + + /** + * 批量新增广联达班组信息 + * + * @param quartzProjectAttendanceGroupList 广联达班组信息列表 + * @return 结果 + */ + public int batchSurProjectAttendanceGroup(List quartzProjectAttendanceGroupList); + + public void add(QuartzProjectAttendanceGroup group); + + /** + * 更新济工网的分组类型 + * @param group + */ + public void updateJgw(QuartzProjectAttendanceGroup group); +} diff --git a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/service/IQuartzProjectAttendanceUserService.java b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/service/IQuartzProjectAttendanceUserService.java new file mode 100644 index 00000000..b86b0360 --- /dev/null +++ b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/service/IQuartzProjectAttendanceUserService.java @@ -0,0 +1,162 @@ +package com.ruoyi.quartz.service; + +import com.ruoyi.quartz.domain.QuartzProjectAttendanceData; +import com.ruoyi.quartz.domain.QuartzProjectAttendanceUser; + +import java.util.List; +import java.util.Map; + +/** + * 考勤人员基本属性Service接口 + * + * @author ruoyi + * @date 2023-09-24 + */ +public interface IQuartzProjectAttendanceUserService +{ + /** + * 查询考勤人员基本属性 + * + * @param id 考勤人员基本属性主键 + * @return 考勤人员基本属性 + */ + public QuartzProjectAttendanceUser selectSurProjectAttendanceUserById(Long id); + + /** + * 查询考勤人员信息 + * + * @param quartzProjectAttendanceUser + * @return 考勤人员基本属性 + */ + public QuartzProjectAttendanceUser findCurrentAttendanceUser(QuartzProjectAttendanceUser quartzProjectAttendanceUser); + + /** + * 查询[研筑]考勤人员信息 + * + * @param quartzProjectAttendanceUser + * @return 考勤人员基本属性 + */ + public QuartzProjectAttendanceUser findYzCurrentAttendanceUser(QuartzProjectAttendanceUser quartzProjectAttendanceUser); + + /** + * 查询考勤人员基本属性列表 + * + * @param quartzProjectAttendanceUser 考勤人员基本属性 + * @return 考勤人员基本属性集合 + */ + public List selectSurProjectAttendanceUserList(QuartzProjectAttendanceUser quartzProjectAttendanceUser); + + /** + * 新增考勤人员基本属性 + * + * @param quartzProjectAttendanceUser 考勤人员基本属性 + * @return 结果 + */ + public int insertSurProjectAttendanceUser(QuartzProjectAttendanceUser quartzProjectAttendanceUser); + + /** + * 修改考勤人员基本属性 + * + * @param quartzProjectAttendanceUser 考勤人员基本属性 + * @return 结果 + */ + public int updateSurProjectAttendanceUser(QuartzProjectAttendanceUser quartzProjectAttendanceUser); + + /** + * 批量删除考勤人员基本属性 + * + * @param ids 需要删除的考勤人员基本属性主键集合 + * @return 结果 + */ + public int deleteSurProjectAttendanceUserByIds(Long[] ids); + + /** + * 删除考勤人员基本属性信息 + * + * @param id 考勤人员基本属性主键 + * @return 结果 + */ + public int deleteSurProjectAttendanceUserById(Long id); + + /** + * 批量删除考勤人员基本属性 + * + * @param list 需要删除的数据参数集合 + * @return 结果 + */ + public int deleteSurProjectAttendanceUserByParams(List list); + + /** + * 批量新增考勤人员基本属性 + * + * @param quartzProjectAttendanceUserList 考勤人员基本属性列表 + * @return 结果 + */ + public int batchSurProjectAttendanceUser(List quartzProjectAttendanceUserList); + + public void add(QuartzProjectAttendanceUser user); + + public List queryAttendanceData(QuartzProjectAttendanceUser where); + + public long countTodayAttendance(QuartzProjectAttendanceUser where); + + public List todayAttendance(QuartzProjectAttendanceUser where); + + public long countAttendance(QuartzProjectAttendanceUser where); + + /** + * 济工网人员查询 + * @param quartzProjectAttendanceUser + * @return + */ + public List selectSurProjectAttendanceUserListJgw(QuartzProjectAttendanceUser quartzProjectAttendanceUser); + + /** + * 在岗工人查询 + * @param where + * @return + */ + public List queryWorkerOnDuty(QuartzProjectAttendanceUser where); + + /** + * 统计人员数据 + * @param where + * @return + */ + public List> groupUserByParams(QuartzProjectAttendanceUser where); + + /** + * 在岗工人查询 + * @param where + * @return + */ + public List attendanceUserList(QuartzProjectAttendanceUser where); + + /** + * 统计人员数据 + * @param projectId + * @return + */ + public List> findUserAllByDays(Long projectId); + + /** + * 按部门汇总在岗人数 + * @param where + * @return + */ + List groupByWorkerOnDutyByDept(QuartzProjectAttendanceUser where); + + List querySurProjectAttendanceUserList(QuartzProjectAttendanceUser quartzProjectAttendanceUser); + /** + * 按部门汇总在岗|离岗人数 + * @param where + * @return + */ + List groupByWorkerByDept(QuartzProjectAttendanceUser where); + /** + * 在岗|离岗工人查询 + * @param where + * @return + */ + List queryWorkerByState(QuartzProjectAttendanceUser where); +} diff --git a/yanzhu-jh/src/main/java/com/yanzhu/jh/base/service/ISysNativeService.java b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/service/ISysNativeService.java similarity index 61% rename from yanzhu-jh/src/main/java/com/yanzhu/jh/base/service/ISysNativeService.java rename to ruoyi-quartz/src/main/java/com/ruoyi/quartz/service/ISysNativeService.java index 1408f542..970c126f 100644 --- a/yanzhu-jh/src/main/java/com/yanzhu/jh/base/service/ISysNativeService.java +++ b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/service/ISysNativeService.java @@ -1,6 +1,6 @@ -package com.yanzhu.jh.base.service; +package com.ruoyi.quartz.service; -import com.yanzhu.jh.base.domain.SysNative; +import com.ruoyi.quartz.domain.SysNative; import java.util.List; diff --git a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/service/ITaskService.java b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/service/ITaskService.java index 729b8aeb..ca00c90a 100644 --- a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/service/ITaskService.java +++ b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/service/ITaskService.java @@ -71,4 +71,31 @@ public interface ITaskService { * @return 用户绑定小程序openId集合 */ public List> findMsgProMagUsers(Long proId); + + /** + * 查询时间内最大的主键【清除塔吊历史实时数据使用】 + * @param date + * @return + */ + public Long findTowerMaxIdByDate(String date); + + /** + * 清除塔吊历史实时数据 + * @param id 最大主键 + * @return + */ + public int deleteDevTowerDataRunByMaxId(Long id); + + /** + * 检查设备状态 + * @return + */ + public List> findAllTowerMaxId(); + + /** + * 同步设备状态 + * @param map + * @return + */ + public int updateTowerConfigOnline(Map map); } diff --git a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/service/impl/QuartzProjectAttendanceCfgServiceImpl.java b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/service/impl/QuartzProjectAttendanceCfgServiceImpl.java new file mode 100644 index 00000000..016e64a3 --- /dev/null +++ b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/service/impl/QuartzProjectAttendanceCfgServiceImpl.java @@ -0,0 +1,148 @@ +package com.ruoyi.quartz.service.impl; + +import com.ruoyi.common.enums.ApplyCfgTypeEnum; +import com.ruoyi.common.enums.ShiFouEnum; +import com.ruoyi.common.enums.VendorsCodeEnum; +import com.ruoyi.common.utils.DateUtils; +import com.ruoyi.common.utils.SecurityUtils; +import com.ruoyi.quartz.domain.QuartzProjectAttendanceCfg; +import com.ruoyi.quartz.mapper.QuartzProjectAttendanceCfgMapper; +import com.ruoyi.quartz.service.IQuartzProjectAttendanceCfgService; +import com.ruoyi.system.domain.SysApplyConfig; +import com.ruoyi.system.service.ISysApplyConfigService; +import org.apache.commons.collections4.CollectionUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; + +/** + * 项目考勤配置Service业务层处理 + * + * @author ruoyi + * @date 2023-09-24 + */ +@Service +public class QuartzProjectAttendanceCfgServiceImpl implements IQuartzProjectAttendanceCfgService +{ + + @Autowired + private ISysApplyConfigService sysApplyConfigService; + + @Autowired + private QuartzProjectAttendanceCfgMapper quartzProjectAttendanceCfgMapper; + + /** + * 查询项目考勤配置 + * + * @param id 项目考勤配置主键 + * @return 项目考勤配置 + */ + @Override + public QuartzProjectAttendanceCfg selectSurProjectAttendanceCfgById(Long id) + { + return quartzProjectAttendanceCfgMapper.selectSurProjectAttendanceCfgById(id); + } + + /** + * 查询项目考勤配置列表 + * + * @param quartzProjectAttendanceCfg 项目考勤配置 + * @return 项目考勤配置 + */ + @Override + public List selectSurProjectAttendanceCfgList(QuartzProjectAttendanceCfg quartzProjectAttendanceCfg) + { + return quartzProjectAttendanceCfgMapper.selectSurProjectAttendanceCfgList(quartzProjectAttendanceCfg); + } + + /** + * 新增项目考勤配置 + * + * @param quartzProjectAttendanceCfg 项目考勤配置 + * @return 结果 + */ + @Override + public int insertSurProjectAttendanceCfg(QuartzProjectAttendanceCfg quartzProjectAttendanceCfg) + { + quartzProjectAttendanceCfg.setCreateBy(SecurityUtils.getUsername()); + quartzProjectAttendanceCfg.setCreateTime(DateUtils.getNowDate()); + return quartzProjectAttendanceCfgMapper.insertSurProjectAttendanceCfg(quartzProjectAttendanceCfg); + } + + /** + * 修改项目考勤配置 + * + * @param quartzProjectAttendanceCfg 项目考勤配置 + * @return 结果 + */ + @Override + public int updateSurProjectAttendanceCfg(QuartzProjectAttendanceCfg quartzProjectAttendanceCfg) + { + quartzProjectAttendanceCfg.setUpdateBy(SecurityUtils.getUsername()); + quartzProjectAttendanceCfg.setUpdateTime(DateUtils.getNowDate()); + if(VendorsCodeEnum.YANZHU.getCode().equals(quartzProjectAttendanceCfg.getVendorsCode())){ + SysApplyConfig sysApplyConfig = new SysApplyConfig(); + sysApplyConfig.setCfgType(ApplyCfgTypeEnum.LABOUR.getCode()); + sysApplyConfig.setCfgId(quartzProjectAttendanceCfg.getId()); + List list = sysApplyConfigService.selectSysApplyConfigList(sysApplyConfig); + if(CollectionUtils.isNotEmpty(list)){ + sysApplyConfig = list.get(0); + sysApplyConfig.setIsDel(quartzProjectAttendanceCfg.getEnabled().equals(ShiFouEnum.FOU.getLongCode())?ShiFouEnum.SHI.getCode():ShiFouEnum.FOU.getCode()); + sysApplyConfigService.updateSysApplyConfig(sysApplyConfig); + } + } + return quartzProjectAttendanceCfgMapper.updateSurProjectAttendanceCfg(quartzProjectAttendanceCfg); + } + + /** + * 批量删除项目考勤配置 + * + * @param ids 需要删除的项目考勤配置主键 + * @return 结果 + */ + @Override + public int deleteSurProjectAttendanceCfgByIds(Long[] ids) + { + List cfgIds = new ArrayList<>(); + for(Long id:ids){ + QuartzProjectAttendanceCfg quartzProjectAttendanceCfg = quartzProjectAttendanceCfgMapper.selectSurProjectAttendanceCfgById(id); + if(VendorsCodeEnum.YANZHU.getCode().equals(quartzProjectAttendanceCfg.getVendorsCode())){ + SysApplyConfig sysApplyConfig = new SysApplyConfig(); + sysApplyConfig.setCfgType(ApplyCfgTypeEnum.LABOUR.getCode()); + sysApplyConfig.setCfgId(id); + List list = sysApplyConfigService.selectSysApplyConfigList(sysApplyConfig); + if(CollectionUtils.isNotEmpty(list)){ + cfgIds.add(list.get(0).getId()); + } + } + } + if(CollectionUtils.isNotEmpty(cfgIds)){ + sysApplyConfigService.deleteSysApplyConfigByIds(cfgIds.stream().toArray(Long[]::new)); + } + return quartzProjectAttendanceCfgMapper.deleteSurProjectAttendanceCfgByIds(ids); + } + + /** + * 删除项目考勤配置信息 + * + * @param id 项目考勤配置主键 + * @return 结果 + */ + @Override + public int deleteSurProjectAttendanceCfgById(Long id) + { + QuartzProjectAttendanceCfg quartzProjectAttendanceCfg = quartzProjectAttendanceCfgMapper.selectSurProjectAttendanceCfgById(id); + if(VendorsCodeEnum.YANZHU.getCode().equals(quartzProjectAttendanceCfg.getVendorsCode())){ + SysApplyConfig sysApplyConfig = new SysApplyConfig(); + sysApplyConfig.setCfgType(ApplyCfgTypeEnum.LABOUR.getCode()); + sysApplyConfig.setCfgId(id); + List list = sysApplyConfigService.selectSysApplyConfigList(sysApplyConfig); + if(CollectionUtils.isNotEmpty(list)){ + sysApplyConfigService.deleteSysApplyConfigById(list.get(0).getId()); + } + } + return quartzProjectAttendanceCfgMapper.deleteSurProjectAttendanceCfgById(id); + } +} diff --git a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/service/impl/QuartzProjectAttendanceDataServiceImpl.java b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/service/impl/QuartzProjectAttendanceDataServiceImpl.java new file mode 100644 index 00000000..aab696bf --- /dev/null +++ b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/service/impl/QuartzProjectAttendanceDataServiceImpl.java @@ -0,0 +1,520 @@ +package com.ruoyi.quartz.service.impl; + +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.StrUtil; +import com.ruoyi.common.utils.DateUtils; +import com.ruoyi.common.utils.StringUtils; +import com.ruoyi.quartz.domain.QuartzProjectAttendanceCfg; +import com.ruoyi.quartz.domain.QuartzProjectAttendanceData; +import com.ruoyi.quartz.domain.QuartzProjectAttendanceGroup; +import com.ruoyi.quartz.domain.QuartzProjectAttendanceUser; +import com.ruoyi.quartz.mapper.QuartzProjectAttendanceCfgMapper; +import com.ruoyi.quartz.mapper.QuartzProjectAttendanceDataMapper; +import com.ruoyi.quartz.mapper.QuartzProjectAttendanceGroupMapper; +import com.ruoyi.quartz.mapper.QuartzProjectAttendanceUserMapper; +import com.ruoyi.quartz.service.IQuartzProjectAttendanceDataService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.stream.Collectors; + +/** + * 劳务实名制管理Service业务层处理 + * + * @author ruoyi + * @date 2023-09-24 + */ +@Service +public class QuartzProjectAttendanceDataServiceImpl implements IQuartzProjectAttendanceDataService +{ + @Autowired + private QuartzProjectAttendanceDataMapper quartzProjectAttendanceDataMapper; + + @Autowired + private QuartzProjectAttendanceUserMapper quartzProjectAttendanceUserMapper; + + @Autowired + private QuartzProjectAttendanceGroupMapper quartzProjectAttendanceGroupMapper; + + @Autowired + private QuartzProjectAttendanceCfgMapper quartzProjectAttendanceCfgMapper; + + + /** + * 查询劳务实名制管理 + * + * @param id 劳务实名制管理主键 + * @return 劳务实名制管理 + */ + @Override + public QuartzProjectAttendanceData selectSurProjectAttendanceDataById(Long id) + { + return quartzProjectAttendanceDataMapper.selectSurProjectAttendanceDataById(id); + } + + /** + * 查询劳务实名制管理列表 + * + * @param quartzProjectAttendanceData 劳务实名制管理 + * @return 劳务实名制管理 + */ + @Override + public List selectSurProjectAttendanceDataList(QuartzProjectAttendanceData quartzProjectAttendanceData) + { + return quartzProjectAttendanceDataMapper.selectSurProjectAttendanceDataList(quartzProjectAttendanceData); + } + + /** + * 查询考勤信息 + * + * @param quartzProjectAttendanceData 劳务实名制管理 + * @return 劳务实名制管理集合 + */ + @Override + public QuartzProjectAttendanceData findCurrentAttendanceData(QuartzProjectAttendanceData quartzProjectAttendanceData){ + return quartzProjectAttendanceDataMapper.findCurrentAttendanceData(quartzProjectAttendanceData); + } + + @Override + public List selectSurProjectAttendanceDataListEx(QuartzProjectAttendanceData quartzProjectAttendanceData) + { + return quartzProjectAttendanceDataMapper.selectSurProjectAttendanceDataListEx(quartzProjectAttendanceData); + } + + /** + * 新增劳务实名制管理 + * + * @param quartzProjectAttendanceData 劳务实名制管理 + * @return 结果 + */ + @Override + public int insertSurProjectAttendanceData(QuartzProjectAttendanceData quartzProjectAttendanceData) + { + if(StringUtils.isEmpty(quartzProjectAttendanceData.getCreateBy())){ + quartzProjectAttendanceData.setCreateBy("task"); + quartzProjectAttendanceData.setCreateTime(DateUtils.getNowDate()); + } + return quartzProjectAttendanceDataMapper.insertSurProjectAttendanceData(quartzProjectAttendanceData); + } + + /** + * 修改劳务实名制管理 + * + * @param quartzProjectAttendanceData 劳务实名制管理 + * @return 结果 + */ + @Override + public int updateSurProjectAttendanceData(QuartzProjectAttendanceData quartzProjectAttendanceData) + { + if(StringUtils.isEmpty(quartzProjectAttendanceData.getCreateBy())){ + quartzProjectAttendanceData.setUpdateBy("task"); + } + quartzProjectAttendanceData.setUpdateTime(DateUtils.getNowDate()); + return quartzProjectAttendanceDataMapper.updateSurProjectAttendanceData(quartzProjectAttendanceData); + } + + /** + * 批量删除劳务实名制管理 + * + * @param ids 需要删除的劳务实名制管理主键 + * @return 结果 + */ + @Override + public int deleteSurProjectAttendanceDataByIds(Long[] ids) + { + return quartzProjectAttendanceDataMapper.deleteSurProjectAttendanceDataByIds(ids); + } + + /** + * 删除劳务实名制管理信息 + * + * @param id 劳务实名制管理主键 + * @return 结果 + */ + @Override + public int deleteSurProjectAttendanceDataById(Long id) + { + return quartzProjectAttendanceDataMapper.deleteSurProjectAttendanceDataById(id); + } + + /** + * 批量删除劳务实名制管理 + * + * @param list 需要删除的数据参数集合 + * @return 结果 + */ + @Override + public int deleteSurProjectAttendanceDataByParams(List list) { + return quartzProjectAttendanceDataMapper.deleteSurProjectAttendanceDataByParams(list); + } + + /** + * 批量新增劳务实名制考勤管理 + * + * @param quartzProjectAttendanceDataList 劳务实名制考勤管理列表 + * @return 结果 + */ + @Override + public int batchSurProjectAttendanceData(List quartzProjectAttendanceDataList) { + return quartzProjectAttendanceDataMapper.batchSurProjectAttendanceData(quartzProjectAttendanceDataList,DateUtils.dateTimeNow(DateUtils.YYYY)); + } + + @Override + public void add(QuartzProjectAttendanceData sdata) { + if(StringUtils.isEmpty(sdata.getWorkerId()) || StringUtils.isEmpty(sdata.getAttendanceTime())){ + return; + } + QuartzProjectAttendanceData where=new QuartzProjectAttendanceData(); + where.setVendorsCode(sdata.getVendorsCode()); + where.setCfgid(sdata.getCfgid()); + where.setWorkerId(sdata.getWorkerId()); + where.setAttendanceTime(sdata.getAttendanceTime()); + List list=selectSurProjectAttendanceDataListEx(where); + if(list.size()==0){ + //设置考勤其它参数 + //查询人员信息 + QuartzProjectAttendanceUser userWhere=new QuartzProjectAttendanceUser(); + userWhere.setWorkerId(sdata.getWorkerId()); + List uList= quartzProjectAttendanceUserMapper.selectSurProjectAttendanceUserList(userWhere); + if(uList.size()==0){ + return; + } + QuartzProjectAttendanceUser user=uList.get(0); + sdata.setWorkerName(user.getName()); + String photo=user.getPhoto(); + if(StrUtil.isEmpty(photo)){ + photo=user.getRecentPhoto(); + } + + sdata.setWorkerPhoto(photo); + sdata.setWorkerGender(user.getGender());; + sdata.setGroupName(user.getGroupName()); + sdata.setWorkTypeName(user.getWorkTypeName()); + sdata.setEthnic(user.getEthnic()); + sdata.setNativePlace(user.getNativePlace()); + sdata.setPhone(user.getPhone()); + sdata.setSpecWorkType(user.getSpecWorkType()); + if("jgw".equals(sdata.getVendorsCode())) { + sdata.setCompanyId(user.getCompanyId()); + } + //查询分组信息 + QuartzProjectAttendanceGroup groupWhere=new QuartzProjectAttendanceGroup(); + groupWhere.setCfgid(sdata.getCfgid()); + groupWhere.setCompanyId(sdata.getCompanyId()); + List gList= quartzProjectAttendanceGroupMapper.selectSurProjectAttendanceGroupList(groupWhere); + if(gList.size()==0){ + return; + } + QuartzProjectAttendanceGroup group=gList.get(0); + sdata.setCompanyName(group.getCompanyName()); + sdata.setCompanyTypeId(group.getCompanyTypeId()); + //查询华筑的分组信息 + if("huazhu".equals(sdata.getVendorsCode())){ + sdata.setWorkerGender(sdata.getWorkerGender()); + sdata.setCompanyTypeId(getHuazhuCompanyTypeId(group.getCompanyName()));//获取华筑的分包商类型 + } + if("jgw".equals(sdata.getVendorsCode())){ + //sdata.setWorkTypeName(group.getCompanyCode()); + //sdata.setCompanyName(user.getCompanyName()); + sdata.setWorkTypeName(user.getWorkTypeName()); + sdata.setCompanyName(group.getCompanyName()); + sdata.setGroupName(group.getTeamName()); + } + //查询项目部门信息 + QuartzProjectAttendanceCfg cfgWhere=new QuartzProjectAttendanceCfg(); + cfgWhere.setId(sdata.getCfgid()); + List cfgList= quartzProjectAttendanceCfgMapper.selectSurProjectAttendanceCfgListForAllInfo(cfgWhere); + if(cfgList.size()==0){ + return; + } + QuartzProjectAttendanceCfg cfg=cfgList.get(0); + sdata.setProjectId(cfg.getProjectId()); + sdata.setDeptId(cfg.getSubDeptId()); + sdata.setProjectName(cfg.getProjectName()); + sdata.setDeptName(cfg.getDeptName()); + if(sdata.getCompanyTypeId()==null){ + sdata.setCompanyTypeId("0"); + } + insertSurProjectAttendanceData(sdata); + }else{ + sdata.setId(list.get(0).getId()); + QuartzProjectAttendanceData upData=list.get(0); + String dt1=upData.getAttendanceTime(); // + String dt2=upData.getAttendanceOutTime(); + String dt3=sdata.getAttendanceTime(); + if (StrUtil.isEmpty(dt3)) { + return; + } + long time3=DateUtil.parse(dt3).getTime(); + if(StrUtil.isEmpty(dt2)){ + upData.setAttendanceOutTime(dt3); + //比较 dt1,dt2 进行交换 + long time2=DateUtil.parse(dt3).getTime(); + long time1=DateUtil.parse(dt1).getTime(); + if(time1>time2){ + upData.setAttendanceTime(dt3); + upData.setAttendanceOutTime(dt1); + } + }else{ + long time2=DateUtil.parse(dt2).getTime(); + long time1=DateUtil.parse(dt1).getTime(); + //比较 dt3dt3 + if(time3dt2 out->dt3 + if(time3>time2){ + upData.setAttendanceOutTime(dt3); + } + } + //upData.setAttendanceOutTime(sdata.getAttendanceTime()); + if("jgw".equals(upData.getVendorsCode())){ + upData.setRemark(sdata.getRemark()); + } + updateSurProjectAttendanceData(upData); + } + } + + private String getHuazhuCompanyTypeId(String groupName) { + return quartzProjectAttendanceDataMapper.findHuaZhuCompanyType(groupName); + } + + @Override + public String getLastServerId(QuartzProjectAttendanceData where) { + return ""+ quartzProjectAttendanceDataMapper.getLastServerId(where); + } + + @Override + public List groupByComany(QuartzProjectAttendanceData where) { + return quartzProjectAttendanceDataMapper.groupByComany(where); + } + + @Override + public Long getHuazhuPage( QuartzProjectAttendanceData attWhere) { + return quartzProjectAttendanceDataMapper.getHuazhuPage(attWhere); + } + + @Override + public List groupAllByComany(QuartzProjectAttendanceData where) { + return quartzProjectAttendanceDataMapper.groupAllByComany(where); + } + + @Override + public List> initOtherData(Map data) { + List> dataList = new ArrayList<>(); + List> list = quartzProjectAttendanceDataMapper.initOtherData(data); + if(StringUtils.isNotEmpty(list)){ + List workerIds = list.stream().map(Map -> Map.get("workerId").toString()).collect(Collectors.toList()); + data.put("list",workerIds); + List datas= quartzProjectAttendanceUserMapper.todayAttendanceOtherData(data); + for (Map map:list) { + for(QuartzProjectAttendanceUser sau:datas){ + if(Objects.equals(map.get("workerId").toString(),sau.getWorkerId())){ + map.put("inTime",DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD_HH_MM_SS,sau.getInTime())); + map.put("outTime",DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD_HH_MM_SS,sau.getOutTime())); + dataList.add(map); + } + } + } + } + return dataList; + } + + @Override + public List> initHuaZhuData(Map data) { + List> dataList = new ArrayList<>(); + List> list = quartzProjectAttendanceDataMapper.initHuaZhuData(data); + if(StringUtils.isNotEmpty(list)){ + List workerIds = list.stream().map(Map -> Map.get("workerId").toString()).collect(Collectors.toList()); + data.put("list",workerIds); + List datas= quartzProjectAttendanceUserMapper.todayAttendanceOtherData(data); + for (Map map:list) { + for(QuartzProjectAttendanceUser sau:datas){ + if(Objects.equals(map.get("workerId").toString(),sau.getWorkerId())){ + map.put("inTime",DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD_HH_MM_SS,sau.getInTime())); + map.put("outTime",DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD_HH_MM_SS,sau.getOutTime())); + dataList.add(map); + } + } + } + } + return dataList; + } + + @Override + public List todayAttendance(QuartzProjectAttendanceData where) { + return quartzProjectAttendanceDataMapper.todayAttendance(where); + } + + /** + * 统计所有数据 + * @param where + * @return + */ + @Override + public List> groupAllByParams(QuartzProjectAttendanceData where) { + return quartzProjectAttendanceDataMapper.findGroupAllByParams(where); + } + + /** + * 统计人员数据 + * @param where + * @return + */ + @Override + public List> findGroupAllByDays(QuartzProjectAttendanceData where){ + return quartzProjectAttendanceDataMapper.findGroupAllByDays(where); + } + + /** + * 统计考勤数据 + * @param where + * @return + */ + @Override + public List> groupDataByParams(QuartzProjectAttendanceData where){ + return quartzProjectAttendanceDataMapper.groupDataByParams(where); + } + + /** + * 考勤数据列表 + * @param where + * @return + */ + @Override + public List attendanceDataList(QuartzProjectAttendanceData where) { + return quartzProjectAttendanceDataMapper.attendanceDataList(where); + } + + @Override + public List groupTodayCompanyTypeId(QuartzProjectAttendanceData where) { + return quartzProjectAttendanceDataMapper.groupTodayCompanyTypeId(where); + } + + /** + * 批量增加 + * @param addList + */ + @Override + public void addList(List addList) { + if(addList.size()==0){ + return; + } + QuartzProjectAttendanceData where=new QuartzProjectAttendanceData(); + where.setVendorsCode(addList.get(0).getVendorsCode()); + where.setCfgid(addList.get(0).getCfgid()); + where.setAttendanceTime(addList.get(0).getAttendanceTime()); + List oldList=selectSurProjectAttendanceDataListEx(where); + for(QuartzProjectAttendanceData sdata:addList){ + List list=oldList.stream().filter(d->d.getWorkerId().equals(sdata.getWorkerId())).collect(Collectors.toList()); + if(list.size()==0){ + //设置考勤其它参数 + //查询人员信息 + QuartzProjectAttendanceUser userWhere=new QuartzProjectAttendanceUser(); + userWhere.setWorkerId(sdata.getWorkerId()); + List uList= quartzProjectAttendanceUserMapper.selectSurProjectAttendanceUserList(userWhere); + if(uList.size()==0){ + return; + } + QuartzProjectAttendanceUser user=uList.get(0); + sdata.setWorkerName(user.getName()); + String photo=user.getPhoto(); + if(StrUtil.isEmpty(photo)){ + photo=user.getRecentPhoto(); + } + + sdata.setWorkerPhoto(photo); + sdata.setWorkerGender(user.getGender());; + sdata.setGroupName(user.getGroupName()); + sdata.setWorkTypeName(user.getWorkTypeName()); + sdata.setEthnic(user.getEthnic()); + sdata.setNativePlace(user.getNativePlace()); + sdata.setPhone(user.getPhone()); + sdata.setSpecWorkType(user.getSpecWorkType()); + if("jgw".equals(sdata.getVendorsCode())) { + sdata.setCompanyId(user.getCompanyId()); + } + //查询分组信息 + QuartzProjectAttendanceGroup groupWhere=new QuartzProjectAttendanceGroup(); + groupWhere.setCfgid(sdata.getCfgid()); + groupWhere.setCompanyId(sdata.getCompanyId()); + List gList= quartzProjectAttendanceGroupMapper.selectSurProjectAttendanceGroupList(groupWhere); + if(gList.size()==0){ + return; + } + QuartzProjectAttendanceGroup group=gList.get(0); + sdata.setCompanyName(group.getCompanyName()); + sdata.setCompanyTypeId(group.getCompanyTypeId()); + //查询华筑的分组信息 + if("huazhu".equals(sdata.getVendorsCode())){ + sdata.setWorkerGender(sdata.getWorkerGender()); + sdata.setCompanyTypeId(getHuazhuCompanyTypeId(group.getCompanyName()));//获取华筑的分包商类型 + } + if("jgw".equals(sdata.getVendorsCode())){ + //sdata.setWorkTypeName(group.getCompanyCode()); + //sdata.setCompanyName(user.getCompanyName()); + sdata.setWorkTypeName(user.getWorkTypeName()); + sdata.setCompanyName(group.getCompanyName()); + sdata.setGroupName(group.getTeamName()); + } + //查询项目部门信息 + QuartzProjectAttendanceCfg cfgWhere=new QuartzProjectAttendanceCfg(); + cfgWhere.setId(sdata.getCfgid()); + List cfgList= quartzProjectAttendanceCfgMapper.selectSurProjectAttendanceCfgListForAllInfo(cfgWhere); + if(cfgList.size()==0){ + return; + } + QuartzProjectAttendanceCfg cfg=cfgList.get(0); + sdata.setProjectId(cfg.getProjectId()); + sdata.setDeptId(cfg.getSubDeptId()); + sdata.setProjectName(cfg.getProjectName()); + sdata.setDeptName(cfg.getDeptName()); + if(sdata.getCompanyTypeId()==null){ + sdata.setCompanyTypeId("0"); + } + insertSurProjectAttendanceData(sdata); + }else{ + sdata.setId(list.get(0).getId()); + QuartzProjectAttendanceData upData=list.get(0); + String dt1=upData.getAttendanceTime(); // + String dt2=upData.getAttendanceOutTime(); + String dt3=sdata.getAttendanceTime(); + if (StrUtil.isEmpty(dt3)) { + return; + } + long time3=DateUtil.parse(dt3).getTime(); + if(StrUtil.isEmpty(dt2)){ + upData.setAttendanceOutTime(dt3); + //比较 dt1,dt2 进行交换 + long time2=DateUtil.parse(dt3).getTime(); + long time1=DateUtil.parse(dt1).getTime(); + if(time1>time2){ + upData.setAttendanceTime(dt3); + upData.setAttendanceOutTime(dt1); + } + }else{ + long time2=DateUtil.parse(dt2).getTime(); + long time1=DateUtil.parse(dt1).getTime(); + //比较 dt3dt3 + if(time3dt2 out->dt3 + if(time3>time2){ + upData.setAttendanceOutTime(dt3); + } + } + //upData.setAttendanceOutTime(sdata.getAttendanceTime()); + if("jgw".equals(upData.getVendorsCode())){ + upData.setRemark(sdata.getRemark()); + } + updateSurProjectAttendanceData(upData); + } + } + } + +} diff --git a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/service/impl/QuartzProjectAttendanceGroupServiceImpl.java b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/service/impl/QuartzProjectAttendanceGroupServiceImpl.java new file mode 100644 index 00000000..42c6fa8c --- /dev/null +++ b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/service/impl/QuartzProjectAttendanceGroupServiceImpl.java @@ -0,0 +1,163 @@ +package com.ruoyi.quartz.service.impl; + +import com.ruoyi.common.utils.DateUtils; +import com.ruoyi.common.utils.StringUtils; +import com.ruoyi.quartz.domain.QuartzProjectAttendanceGroup; +import com.ruoyi.quartz.mapper.QuartzProjectAttendanceGroupMapper; +import com.ruoyi.quartz.service.IQuartzProjectAttendanceGroupService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * 广联达班组信息Service业务层处理 + * + * @author ruoyi + * @date 2023-09-26 + */ +@Service +public class QuartzProjectAttendanceGroupServiceImpl implements IQuartzProjectAttendanceGroupService +{ + @Autowired + private QuartzProjectAttendanceGroupMapper quartzProjectAttendanceGroupMapper; + + /** + * 查询广联达班组信息 + * + * @param id 广联达班组信息主键 + * @return 广联达班组信息 + */ + @Override + public QuartzProjectAttendanceGroup selectSurProjectAttendanceGroupById(Long id) + { + return quartzProjectAttendanceGroupMapper.selectSurProjectAttendanceGroupById(id); + } + + /** + * 查询广联达班组信息列表 + * + * @param quartzProjectAttendanceGroup 广联达班组信息 + * @return 广联达班组信息 + */ + @Override + public List selectSurProjectAttendanceGroupViewList(QuartzProjectAttendanceGroup quartzProjectAttendanceGroup) + { + return quartzProjectAttendanceGroupMapper.selectSurProjectAttendanceGroupViewList(quartzProjectAttendanceGroup); + } + + /** + * 查询广联达班组信息列表 + * + * @param quartzProjectAttendanceGroup 广联达班组信息 + * @return 广联达班组信息集合 + */ + public List selectSurProjectAttendanceGroupList(QuartzProjectAttendanceGroup quartzProjectAttendanceGroup) { + return quartzProjectAttendanceGroupMapper.selectSurProjectAttendanceGroupList(quartzProjectAttendanceGroup); + } + /** + * 新增广联达班组信息 + * + * @param quartzProjectAttendanceGroup 广联达班组信息 + * @return 结果 + */ + @Override + public int insertSurProjectAttendanceGroup(QuartzProjectAttendanceGroup quartzProjectAttendanceGroup) + { + if(StringUtils.isEmpty(quartzProjectAttendanceGroup.getCreateBy())){ + quartzProjectAttendanceGroup.setCreateBy("task"); + } + return quartzProjectAttendanceGroupMapper.insertSurProjectAttendanceGroup(quartzProjectAttendanceGroup); + } + + /** + * 修改广联达班组信息 + * + * @param quartzProjectAttendanceGroup 广联达班组信息 + * @return 结果 + */ + @Override + public int updateSurProjectAttendanceGroup(QuartzProjectAttendanceGroup quartzProjectAttendanceGroup) + { + if(StringUtils.isEmpty(quartzProjectAttendanceGroup.getCreateBy())){ + quartzProjectAttendanceGroup.setUpdateBy("task"); + } + quartzProjectAttendanceGroup.setUpdateTime(DateUtils.getNowDate()); + return quartzProjectAttendanceGroupMapper.updateSurProjectAttendanceGroup(quartzProjectAttendanceGroup); + } + + /** + * 批量删除广联达班组信息 + * + * @param ids 需要删除的广联达班组信息主键 + * @return 结果 + */ + @Override + public int deleteSurProjectAttendanceGroupByIds(Long[] ids) + { + return quartzProjectAttendanceGroupMapper.deleteSurProjectAttendanceGroupByIds(ids); + } + + /** + * 删除广联达班组信息信息 + * + * @param id 广联达班组信息主键 + * @return 结果 + */ + @Override + public int deleteSurProjectAttendanceGroupById(Long id) + { + return quartzProjectAttendanceGroupMapper.deleteSurProjectAttendanceGroupById(id); + } + + /** + * 批量删除广联达班组信息 + * + * @param list 需要删除的数据参数集合 + * @return 结果 + */ + @Override + public int deleteSurProjectAttendanceGroupByParams(List list) { + return quartzProjectAttendanceGroupMapper.deleteSurProjectAttendanceGroupByParams(list); + } + + /** + * 批量新增广联达班组信息 + * + * @param quartzProjectAttendanceGroupList 广联达班组信息列表 + * @return 结果 + */ + @Override + public int batchSurProjectAttendanceGroup(List quartzProjectAttendanceGroupList) { + return quartzProjectAttendanceGroupMapper.batchSurProjectAttendanceGroup(quartzProjectAttendanceGroupList); + } + + @Override + public void add(QuartzProjectAttendanceGroup group) { + QuartzProjectAttendanceGroup where=new QuartzProjectAttendanceGroup(); + where.setServerid(group.getServerid()); + where.setCfgid(group.getCfgid()); + List list=selectSurProjectAttendanceGroupList(where); + if(list.size()==0){ + insertSurProjectAttendanceGroup(group); + }else{ + group.setId(list.get(0).getId()); + updateSurProjectAttendanceGroup(group); + } + } + + /** + * 更新济工网的分组类型 + * @param group + */ + @Override + public void updateJgw(QuartzProjectAttendanceGroup group) { + QuartzProjectAttendanceGroup where=new QuartzProjectAttendanceGroup(); + where.setBizLicense(group.getBizLicense()); + List list=selectSurProjectAttendanceGroupList(where); + for(QuartzProjectAttendanceGroup g:list){ + g.setCompanyTypeId(group.getCompanyTypeId()); + updateSurProjectAttendanceGroup(g); + } + } +} diff --git a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/service/impl/QuartzProjectAttendanceUserServiceImpl.java b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/service/impl/QuartzProjectAttendanceUserServiceImpl.java new file mode 100644 index 00000000..05eba164 --- /dev/null +++ b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/service/impl/QuartzProjectAttendanceUserServiceImpl.java @@ -0,0 +1,315 @@ +package com.ruoyi.quartz.service.impl; + +import com.ruoyi.common.utils.DateUtils; +import com.ruoyi.common.utils.StringUtils; +import com.ruoyi.quartz.domain.QuartzProjectAttendanceCfg; +import com.ruoyi.quartz.domain.QuartzProjectAttendanceData; +import com.ruoyi.quartz.domain.QuartzProjectAttendanceUser; +import com.ruoyi.quartz.mapper.QuartzProjectAttendanceUserMapper; +import com.ruoyi.quartz.service.IQuartzProjectAttendanceUserService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.Date; +import java.util.List; +import java.util.Map; + +/** + * 考勤人员基本属性Service业务层处理 + * + * @author ruoyi + * @date 2023-09-24 + */ +@Service +public class QuartzProjectAttendanceUserServiceImpl implements IQuartzProjectAttendanceUserService +{ + @Autowired + private QuartzProjectAttendanceUserMapper quartzProjectAttendanceUserMapper; + + /** + * 查询考勤人员基本属性 + * + * @param id 考勤人员基本属性主键 + * @return 考勤人员基本属性 + */ + @Override + public QuartzProjectAttendanceUser selectSurProjectAttendanceUserById(Long id) + { + return quartzProjectAttendanceUserMapper.selectSurProjectAttendanceUserById(id); + } + + /** + * 查询考勤人员信息 + * + * @param quartzProjectAttendanceUser + * @return 考勤人员基本属性 + */ + @Override + public QuartzProjectAttendanceUser findCurrentAttendanceUser(QuartzProjectAttendanceUser quartzProjectAttendanceUser) { + return quartzProjectAttendanceUserMapper.findCurrentAttendanceUser(quartzProjectAttendanceUser); + } + + /** + * 查询[研筑]考勤人员信息 + * + * @param quartzProjectAttendanceUser + * @return 考勤人员基本属性 + */ + public QuartzProjectAttendanceUser findYzCurrentAttendanceUser(QuartzProjectAttendanceUser quartzProjectAttendanceUser){ + return quartzProjectAttendanceUserMapper.findYzCurrentAttendanceUser(quartzProjectAttendanceUser); + } + + /** + * 查询考勤人员基本属性列表 + * + * @param quartzProjectAttendanceUser 考勤人员基本属性 + * @return 考勤人员基本属性 + */ + @Override + public List selectSurProjectAttendanceUserList(QuartzProjectAttendanceUser quartzProjectAttendanceUser) + { + return quartzProjectAttendanceUserMapper.selectSurProjectAttendanceUserList(quartzProjectAttendanceUser); + } + + /** + * 新增考勤人员基本属性 + * + * @param quartzProjectAttendanceUser 考勤人员基本属性 + * @return 结果 + */ + @Override + public int insertSurProjectAttendanceUser(QuartzProjectAttendanceUser quartzProjectAttendanceUser) + { + if(StringUtils.isEmpty(quartzProjectAttendanceUser.getCreateBy())){ + quartzProjectAttendanceUser.setCreateBy("task"); + quartzProjectAttendanceUser.setCreateTime(DateUtils.getNowDate()); + } + return quartzProjectAttendanceUserMapper.insertSurProjectAttendanceUser(quartzProjectAttendanceUser); + } + + /** + * 修改考勤人员基本属性 + * + * @param quartzProjectAttendanceUser 考勤人员基本属性 + * @return 结果 + */ + @Override + public int updateSurProjectAttendanceUser(QuartzProjectAttendanceUser quartzProjectAttendanceUser) + { + if(StringUtils.isEmpty(quartzProjectAttendanceUser.getCreateBy())){ + quartzProjectAttendanceUser.setUpdateBy("task"); + } + quartzProjectAttendanceUser.setUpdateTime(DateUtils.getNowDate()); + return quartzProjectAttendanceUserMapper.updateSurProjectAttendanceUser(quartzProjectAttendanceUser); + } + + /** + * 批量删除考勤人员基本属性 + * + * @param ids 需要删除的考勤人员基本属性主键 + * @return 结果 + */ + @Override + public int deleteSurProjectAttendanceUserByIds(Long[] ids) + { + return quartzProjectAttendanceUserMapper.deleteSurProjectAttendanceUserByIds(ids); + } + + /** + * 删除考勤人员基本属性信息 + * + * @param id 考勤人员基本属性主键 + * @return 结果 + */ + @Override + public int deleteSurProjectAttendanceUserById(Long id) + { + return quartzProjectAttendanceUserMapper.deleteSurProjectAttendanceUserById(id); + } + + /** + * 批量删除考勤人员基本属性 + * + * @param list 需要删除的数据参数集合 + * @return 结果 + */ + @Override + public int deleteSurProjectAttendanceUserByParams(List list) { + return quartzProjectAttendanceUserMapper.deleteSurProjectAttendanceUserByParams(list); + } + + /** + * 批量新增考勤人员基本属性 + * + * @param quartzProjectAttendanceUserList 考勤人员基本属性列表 + * @return 结果 + */ + @Override + public int batchSurProjectAttendanceUser(List quartzProjectAttendanceUserList) { + return quartzProjectAttendanceUserMapper.batchSurProjectAttendanceUser(quartzProjectAttendanceUserList); + } + + @Override + public void add(QuartzProjectAttendanceUser user) { + QuartzProjectAttendanceUser where=new QuartzProjectAttendanceUser(); + where.setWorkerId(user.getWorkerId()); + where.setCfgid(user.getCfgid()); + List list=selectSurProjectAttendanceUserList(where); + if(list.size()==0){ + insertSurProjectAttendanceUser(user); + }else{ + QuartzProjectAttendanceUser old=list.get(0); + if(user.getVendorsCode().equals("jgw")){ + user.setCompanyId(old.getCompanyId()); + String oldNav=old.getNativePlace(); + String newNav=user.getNativePlace(); + if(oldNav==null || !oldNav.equals(newNav)){ + old.setNativePlace(newNav); + } + } + user.setId(old.getId()); + updateSurProjectAttendanceUser(user); + } + } + + @Override + public List queryAttendanceData(QuartzProjectAttendanceUser where) { + List list= quartzProjectAttendanceUserMapper.queryAttendanceUsers(where); + List workerIds=new ArrayList<>(); + for(QuartzProjectAttendanceUser u: list){ + workerIds.add(u.getWorkerId()); + } + where.setWorkerIds(workerIds); + List datas= quartzProjectAttendanceUserMapper.todayAttendanceData(workerIds); + for (QuartzProjectAttendanceUser u:list) { + u.setInTime(findDate(datas,u,"E")); + u.setOutTime(findDate(datas,u,"L")); + } + return list; + } + + @Override + public long countTodayAttendance(QuartzProjectAttendanceUser where) { + return quartzProjectAttendanceUserMapper.countTodayAttendance(where); + } + + @Override + public List todayAttendance(QuartzProjectAttendanceUser where) { + if(where.getIndex()<1){ + where.setIndex(1); + } + where.setIndex((where.getIndex()-1)* where.getSize()); + List list= quartzProjectAttendanceUserMapper.todayAttendance(where); + List workerIds=new ArrayList<>(); + for(QuartzProjectAttendanceUser u: list){ + workerIds.add(u.getWorkerId()); + } + List datas= quartzProjectAttendanceUserMapper.todayAttendanceData(workerIds); + for (QuartzProjectAttendanceUser u:list) { + u.setInTime(findDate(datas,u,"E")); + u.setOutTime(findDate(datas,u,"L")); + } + return list; + } + + @Override + public long countAttendance(QuartzProjectAttendanceUser user) { + QuartzProjectAttendanceCfg where=new QuartzProjectAttendanceCfg(); + where.setCreateBy(user.getCreateBy()); + where.setSubDeptId(user.getSubDeptId()); + where.setProjectId(user.getProjectId()); + return quartzProjectAttendanceUserMapper.countAttendance(where); + } + + @Override + public List selectSurProjectAttendanceUserListJgw(QuartzProjectAttendanceUser quartzProjectAttendanceUser) { + return quartzProjectAttendanceUserMapper.selectSurProjectAttendanceUserListJgw(quartzProjectAttendanceUser); + } + + /** + * 在岗工人查询 + * @param where + * @return + */ + @Override + public List queryWorkerOnDuty(QuartzProjectAttendanceUser where) { + return quartzProjectAttendanceUserMapper.queryWorkerOnDuty(where); + } + + /** + * 统计人员数据 + * @param where + * @return + */ + public List> groupUserByParams(QuartzProjectAttendanceUser where){ + return quartzProjectAttendanceUserMapper.groupUserByParams(where); + } + + /** + * 在岗工人查询 + * @param where + * @return + */ + @Override + public List attendanceUserList(QuartzProjectAttendanceUser where){ + return quartzProjectAttendanceUserMapper.attendanceUserList(where); + } + + /** + * 统计人员数据 + * @param projectId + * @return + */ + @Override + public List> findUserAllByDays(Long projectId){ + return quartzProjectAttendanceUserMapper.findUserAllByDays(projectId); + } + + /** + * 按部门汇总在岗人数 + * @param where + * @return + */ + @Override + public List groupByWorkerOnDutyByDept(QuartzProjectAttendanceUser where) { + return quartzProjectAttendanceUserMapper.groupByWorkerOnDutyByDept(where); + } + + @Override + public List querySurProjectAttendanceUserList(QuartzProjectAttendanceUser quartzProjectAttendanceUser) { + return quartzProjectAttendanceUserMapper.querySurProjectAttendanceUserList(quartzProjectAttendanceUser); + } + /** + * 按部门汇总在岗|离岗人数 + * @param where + * @return + */ + @Override + public List groupByWorkerByDept(QuartzProjectAttendanceUser where) { + return quartzProjectAttendanceUserMapper.groupByWorkerByDept(where); + } + /** + * 在岗|离岗工人查询 + * @param where + * @return + */ + @Override + public List queryWorkerByState(QuartzProjectAttendanceUser where) { + return quartzProjectAttendanceUserMapper.queryWorkerByState(where); + } + + private Date findDate(List datas, QuartzProjectAttendanceUser u, String type) { + for (QuartzProjectAttendanceUser user:datas) { + if(user.getWorkerId().equals(u.getWorkerId()) && user.getName().equals(type)){ + if(type.equals("L")){ + return user.getOutTime(); + }else{ + return user.getInTime(); + } + } + } + return null; + } + +} diff --git a/yanzhu-jh/src/main/java/com/yanzhu/jh/base/service/impl/SysNativeServiceImpl.java b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/service/impl/SysNativeServiceImpl.java similarity index 68% rename from yanzhu-jh/src/main/java/com/yanzhu/jh/base/service/impl/SysNativeServiceImpl.java rename to ruoyi-quartz/src/main/java/com/ruoyi/quartz/service/impl/SysNativeServiceImpl.java index 39a71b7a..0a4fbe7f 100644 --- a/yanzhu-jh/src/main/java/com/yanzhu/jh/base/service/impl/SysNativeServiceImpl.java +++ b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/service/impl/SysNativeServiceImpl.java @@ -1,17 +1,19 @@ -package com.yanzhu.jh.base.service.impl; +package com.ruoyi.quartz.service.impl; -import com.yanzhu.jh.base.domain.SysNative; -import com.yanzhu.jh.base.mapper.SysNativeMapper; -import com.yanzhu.jh.base.service.ISysNativeService; +import com.ruoyi.quartz.domain.SysNative; +import com.ruoyi.quartz.mapper.SysNativeMapper; +import com.ruoyi.quartz.service.ISysNativeService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.List; + @Service public class SysNativeServiceImpl implements ISysNativeService { @Autowired SysNativeMapper sysNativeMapper; + @Override public List selectSysNativeListById(Long id) { return sysNativeMapper.selectSysNativeListById(id); diff --git a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/service/impl/ITaskServiceImpl.java b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/service/impl/TaskServiceImpl.java similarity index 77% rename from ruoyi-quartz/src/main/java/com/ruoyi/quartz/service/impl/ITaskServiceImpl.java rename to ruoyi-quartz/src/main/java/com/ruoyi/quartz/service/impl/TaskServiceImpl.java index f00913b2..3815220a 100644 --- a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/service/impl/ITaskServiceImpl.java +++ b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/service/impl/TaskServiceImpl.java @@ -16,7 +16,7 @@ import java.util.Map; * @author JiangYuQi */ @Service -public class ITaskServiceImpl implements ITaskService { +public class TaskServiceImpl implements ITaskService { @Autowired private TaskMapper taskMapper; @@ -114,4 +114,43 @@ public class ITaskServiceImpl implements ITaskService { public List> findMsgProMagUsers(Long proId) { return taskMapper.findMsgProMagUsers(proId); } + + /** + * 查询时间内最大的主键【清除塔吊历史实时数据使用】 + * @param date + * @return + */ + @Override + public Long findTowerMaxIdByDate(String date){ + return taskMapper.findTowerMaxIdByDate(date); + } + + /** + * 清除塔吊历史实时数据 + * @param id 最大主键 + * @return + */ + @Override + public int deleteDevTowerDataRunByMaxId(Long id){ + return taskMapper.deleteDevTowerDataRunByMaxId(id); + } + + /** + * 检查设备状态 + * @return + */ + @Override + public List> findAllTowerMaxId(){ + return taskMapper.findAllTowerMaxId(); + } + + /** + * 同步设备状态 + * @param map + * @return + */ + @Override + public int updateTowerConfigOnline(Map map){ + return taskMapper.updateTowerConfigOnline(map); + } } diff --git a/yanzhu-jh/src/main/java/com/yanzhu/jh/project/task/AttendanceHuazhuTask.java b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/AttendanceHuazhuTask.java similarity index 79% rename from yanzhu-jh/src/main/java/com/yanzhu/jh/project/task/AttendanceHuazhuTask.java rename to ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/AttendanceHuazhuTask.java index 259f14ac..428f9947 100644 --- a/yanzhu-jh/src/main/java/com/yanzhu/jh/project/task/AttendanceHuazhuTask.java +++ b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/AttendanceHuazhuTask.java @@ -1,17 +1,17 @@ -package com.yanzhu.jh.project.task; +package com.ruoyi.quartz.task; import cn.hutool.core.date.DateUtil; import com.alibaba.fastjson2.JSON; import com.alibaba.fastjson2.JSONArray; import com.alibaba.fastjson2.JSONObject; -import com.yanzhu.jh.project.domain.SurProjectAttendanceCfg; -import com.yanzhu.jh.project.domain.SurProjectAttendanceData; -import com.yanzhu.jh.project.domain.SurProjectAttendanceGroup; -import com.yanzhu.jh.project.domain.SurProjectAttendanceUser; -import com.yanzhu.jh.project.service.ISurProjectAttendanceCfgService; -import com.yanzhu.jh.project.service.ISurProjectAttendanceDataService; -import com.yanzhu.jh.project.service.ISurProjectAttendanceGroupService; -import com.yanzhu.jh.project.service.ISurProjectAttendanceUserService; +import com.ruoyi.quartz.domain.QuartzProjectAttendanceCfg; +import com.ruoyi.quartz.domain.QuartzProjectAttendanceData; +import com.ruoyi.quartz.domain.QuartzProjectAttendanceGroup; +import com.ruoyi.quartz.domain.QuartzProjectAttendanceUser; +import com.ruoyi.quartz.service.IQuartzProjectAttendanceCfgService; +import com.ruoyi.quartz.service.IQuartzProjectAttendanceDataService; +import com.ruoyi.quartz.service.IQuartzProjectAttendanceGroupService; +import com.ruoyi.quartz.service.IQuartzProjectAttendanceUserService; import okhttp3.*; import org.apache.logging.log4j.util.Strings; import org.springframework.beans.factory.annotation.Autowired; @@ -21,18 +21,18 @@ import java.util.*; @Component("attendanceHuazhuTask") public class AttendanceHuazhuTask { - @Autowired - ISurProjectAttendanceUserService attendanceUserService; @Autowired - ISurProjectAttendanceCfgService attendanceCfgService; + IQuartzProjectAttendanceUserService attendanceUserService; @Autowired - ISurProjectAttendanceDataService attendanceDataService; + IQuartzProjectAttendanceCfgService attendanceCfgService; @Autowired - ISurProjectAttendanceGroupService attendanceGroupService; + IQuartzProjectAttendanceDataService attendanceDataService; + @Autowired + IQuartzProjectAttendanceGroupService attendanceGroupService; public static void main(String[] args) { //String host="http://tapi.huazhukeji.cn:82/hz-labour"; @@ -78,12 +78,7 @@ public class AttendanceHuazhuTask { } } - //380649600000 - public static void main2(String[] args) { - //String s= DateUtil.format(DateUtil.date(1704167341751l),"yyyy-MM-dd HH:mm:ss"); - System.out.println(DateUtil.current()); - } public static void main3(String[] args) { String path="/api/open/labour/findLabourWorkerByPage"; Map map=new HashMap<>(); @@ -94,7 +89,7 @@ public class AttendanceHuazhuTask { map.put("tenantId","1666337067184893953"); JSONObject jo=JSON.parseObject(JSON.toJSONString(map)); int page=1; - SurProjectAttendanceCfg it=new SurProjectAttendanceCfg(); + QuartzProjectAttendanceCfg it=new QuartzProjectAttendanceCfg(); it.setId(0l);; //new AttendanceHuazhuTask().doSyncWorker(jo,1,it); //long p=jo.getLongValue("page",1); @@ -152,12 +147,12 @@ public class AttendanceHuazhuTask { } public void syncGroup(){ - SurProjectAttendanceCfg where =new SurProjectAttendanceCfg(); + QuartzProjectAttendanceCfg where =new QuartzProjectAttendanceCfg(); where.setEnabled(1l); where.setIsDel(0l); where.setVendorsCode("huazhu"); - List list=attendanceCfgService.selectSurProjectAttendanceCfgList(where); - for(SurProjectAttendanceCfg it :list){ + List list=attendanceCfgService.selectSurProjectAttendanceCfgList(where); + for(QuartzProjectAttendanceCfg it :list){ String param= it.getVendorsParameter(); if(Strings.isNotEmpty(param)){ try{ @@ -170,7 +165,7 @@ public class AttendanceHuazhuTask { } } - private void doSyncGroup(JSONObject jdata, long page, SurProjectAttendanceCfg it) { + private void doSyncGroup(JSONObject jdata, long page, QuartzProjectAttendanceCfg it) { String path="/api/open/labour/findUnitProjectByPage"; Request request=getRequest(path,jdata,page); String data=AttendanceTask.getResult(request); @@ -181,7 +176,7 @@ public class AttendanceHuazhuTask { if(arr!=null && arr.size()>0){ for(int i=0;i list=attendanceCfgService.selectSurProjectAttendanceCfgList(where); + List list=attendanceCfgService.selectSurProjectAttendanceCfgList(where); Map map=new HashMap<>(); long endTime=DateUtil.current(); //map.put("endTime",endTime); map.put("startTime",startTime); - for(SurProjectAttendanceCfg it :list){ + for(QuartzProjectAttendanceCfg it :list){ String param= it.getVendorsParameter(); if(Strings.isNotEmpty(param)){ try{ @@ -220,18 +215,18 @@ public class AttendanceHuazhuTask { /** * 同步所有数据 */ - public void syncAllAttendanceData(){ - SurProjectAttendanceCfg where =new SurProjectAttendanceCfg(); + public void syncAllAttendanceData(){ + QuartzProjectAttendanceCfg where =new QuartzProjectAttendanceCfg(); where.setEnabled(1l); where.setIsDel(0l); where.setVendorsCode("huazhu"); - List list=attendanceCfgService.selectSurProjectAttendanceCfgList(where); - for(SurProjectAttendanceCfg it :list){ + List list=attendanceCfgService.selectSurProjectAttendanceCfgList(where); + for(QuartzProjectAttendanceCfg it :list){ String param= it.getVendorsParameter(); if(Strings.isNotEmpty(param)){ try{ JSONObject jo=JSON.parseObject(param); - SurProjectAttendanceData attWhere=new SurProjectAttendanceData(); + QuartzProjectAttendanceData attWhere=new QuartzProjectAttendanceData(); attWhere.setId(it.getId()); Long page=attendanceDataService.getHuazhuPage(attWhere); if(null==page){ @@ -246,7 +241,8 @@ public class AttendanceHuazhuTask { } } } - private void doSyncAttendanceData(JSONObject jdata,long page,SurProjectAttendanceCfg it,Map ps){ + + private void doSyncAttendanceData(JSONObject jdata, long page, QuartzProjectAttendanceCfg it, Map ps){ String path="/api/open/labour/findCardRecordByPage"; Request request=getRequest(path,jdata,page,ps); String data=AttendanceTask.getResult(request); @@ -257,7 +253,7 @@ public class AttendanceHuazhuTask { if(arr!=null && arr.size()>0){ for(int i=0;i list=attendanceCfgService.selectSurProjectAttendanceCfgList(where); - for(SurProjectAttendanceCfg it :list){ + List list=attendanceCfgService.selectSurProjectAttendanceCfgList(where); + for(QuartzProjectAttendanceCfg it :list){ String param= it.getVendorsParameter(); if(Strings.isNotEmpty(param)){ try{ @@ -292,10 +288,12 @@ public class AttendanceHuazhuTask { } } } - public static Request getRequest(String path,JSONObject jo,long page) { + + public static Request getRequest(String path,JSONObject jo,long page) { return getRequest(path,jo,page,null); } - public static Request getRequest(String path,JSONObject jo,long page,Map ps){ + + public static Request getRequest(String path,JSONObject jo,long page,Map ps){ String appId=jo.getString("appId"); String secret=jo.getString("secret"); String projectId=jo.getString("projectId"); @@ -326,7 +324,8 @@ public class AttendanceHuazhuTask { .build(); return request; } - private void doSyncWorker(JSONObject jdata,long page,SurProjectAttendanceCfg it){ + + private void doSyncWorker(JSONObject jdata, long page, QuartzProjectAttendanceCfg it){ String path="/api/open/labour/findLabourWorkerByPage"; Request request=getRequest(path,jdata,page); String data=AttendanceTask.getResult(request); @@ -337,7 +336,7 @@ public class AttendanceHuazhuTask { if(arr!=null && arr.size()>0){ for(int i=0;i list=attendanceDataService.selectSurProjectAttendanceDataList(where); + List list=attendanceDataService.selectSurProjectAttendanceDataList(where); List names=new ArrayList<>(); - for(SurProjectAttendanceData it:list){ + for(QuartzProjectAttendanceData it:list){ names.add(it.getScanPhoto()); } for(String f : file.list()){ @@ -362,6 +354,7 @@ public class AttendanceJgwTask { } return map; } + public static void findAttendanceByProject(String appId,String token,String projectId,String startId){ String path="/webapi/project/findAttendanceByProject"; String time = System.currentTimeMillis() + ""; @@ -394,7 +387,7 @@ public class AttendanceJgwTask { String photo=json.getString("signimg"); System.out.println(json.getString("machineType")); String photoUrl=getPhoto(appId,token,photo); - SurProjectAttendanceData sdata = SurProjectAttendanceData.createFromJgw(json); + QuartzProjectAttendanceData sdata = QuartzProjectAttendanceData.createFromJgw(json); if(sdata.getWorkerId().equals("63e0e09858624979b97291977afe352b")){ System.out.println("--->"+sdata.getRemark()); } @@ -522,7 +515,7 @@ public class AttendanceJgwTask { if(arr.size()>0){ for(int i=0;i0){ for(int i=0;i0){ for(int i=0;i list=attendanceCfgService.selectSurProjectAttendanceCfgList(where); - for(SurProjectAttendanceCfg it :list){ + List list=attendanceCfgService.selectSurProjectAttendanceCfgList(where); + for(QuartzProjectAttendanceCfg it :list){ String param= it.getVendorsParameter(); if(Strings.isNotEmpty(param)){ try{ @@ -751,12 +744,12 @@ public class AttendanceJgwTask { * 同步群组和人的关系 */ public void syncWorkerByLeader(){ - SurProjectAttendanceCfg where =new SurProjectAttendanceCfg(); + QuartzProjectAttendanceCfg where =new QuartzProjectAttendanceCfg(); where.setEnabled(1l); where.setIsDel(0l); where.setVendorsCode("jgw"); - List list=attendanceCfgService.selectSurProjectAttendanceCfgList(where); - for(SurProjectAttendanceCfg it :list){ + List list=attendanceCfgService.selectSurProjectAttendanceCfgList(where); + for(QuartzProjectAttendanceCfg it :list){ String param= it.getVendorsParameter(); if(Strings.isNotEmpty(param)){ try{ @@ -767,11 +760,11 @@ public class AttendanceJgwTask { jo.put("secret",secret); String token= getToken(appId,secret); jo.put("token",token); - SurProjectAttendanceGroup groupWhere=new SurProjectAttendanceGroup(); + QuartzProjectAttendanceGroup groupWhere=new QuartzProjectAttendanceGroup(); groupWhere.setCfgid(it.getId()); groupWhere.setLeaderPhone("directly"); - List groupList=attendanceGroupService.selectSurProjectAttendanceGroupList(groupWhere); - for(SurProjectAttendanceGroup g:groupList) { + List groupList=attendanceGroupService.selectSurProjectAttendanceGroupList(groupWhere); + for(QuartzProjectAttendanceGroup g:groupList) { if(StrUtil.isNotEmpty(g.getLeaderName()) && StrUtil.isNotEmpty(g.getCompanyId())) { jo.put("subcontractorId", g.getLeaderName()); jo.put("leaderTeamId", g.getCompanyId()); @@ -786,7 +779,7 @@ public class AttendanceJgwTask { } } - private void dosyncWorkerByLeader(JSONObject jo, long startId, SurProjectAttendanceCfg it){ + private void dosyncWorkerByLeader(JSONObject jo, long startId, QuartzProjectAttendanceCfg it){ String appId=jo.getString("appId"); String token=jo.getString("token"); String path="/webapi/project/findWorkerByLeader"; @@ -813,12 +806,12 @@ public class AttendanceJgwTask { for(int i=0;i userList=attendanceUserService.selectSurProjectAttendanceUserList(userWhere); + List userList=attendanceUserService.selectSurProjectAttendanceUserList(userWhere); if(userList.size()>0){ - SurProjectAttendanceUser upUser=userList.get(0); + QuartzProjectAttendanceUser upUser=userList.get(0); upUser.setCompanyId(json.getString("leaderTeamId")); upUser.setWorkTypeName(json.getString("jobType")); upUser.setCompanyName(jo.getString("companyName")); @@ -827,7 +820,7 @@ public class AttendanceJgwTask { } } } - private void doSyncWorker(JSONObject jo, long startId, SurProjectAttendanceCfg it) { + private void doSyncWorker(JSONObject jo, long startId, QuartzProjectAttendanceCfg it) { String appId=jo.getString("appId"); String token=jo.getString("token"); String projectId=jo.getString("projectId"); @@ -855,7 +848,7 @@ public class AttendanceJgwTask { if(arr.size()>0) { for(int i=0;i list=attendanceCfgService.selectSurProjectAttendanceCfgList(where); - for(SurProjectAttendanceCfg it :list){ + List list=attendanceCfgService.selectSurProjectAttendanceCfgList(where); + for(QuartzProjectAttendanceCfg it :list){ String param= it.getVendorsParameter(); if(Strings.isNotEmpty(param)){ try{ @@ -913,7 +906,7 @@ public class AttendanceJgwTask { * @param startId * @param it */ - private void doSyncProContractor(JSONObject jo, long startId, SurProjectAttendanceCfg it) { + private void doSyncProContractor(JSONObject jo, long startId, QuartzProjectAttendanceCfg it) { String appId=jo.getString("appId"); String token=jo.getString("token"); String projectId=jo.getString("projectId"); @@ -943,7 +936,7 @@ public class AttendanceJgwTask { for(int i=0;i list=attendanceGroupService.selectSurProjectAttendanceGroupList(where); + List list=attendanceGroupService.selectSurProjectAttendanceGroupList(where); if(list.size()==0){ attendanceGroupService.add(group); }else{ @@ -1029,7 +1022,7 @@ public class AttendanceJgwTask { * @param startId * @param it */ - private void doSyncGroup(JSONObject jo, long startId, SurProjectAttendanceCfg it) { + private void doSyncGroup(JSONObject jo, long startId, QuartzProjectAttendanceCfg it) { String appId=jo.getString("appId"); String token=jo.getString("token"); String projectId=jo.getString("projectId"); @@ -1058,14 +1051,14 @@ public class AttendanceJgwTask { long rowId=0; for(int i=0;i list=attendanceGroupService.selectSurProjectAttendanceGroupList(where); + List list=attendanceGroupService.selectSurProjectAttendanceGroupList(where); if(list.size()==0){ attendanceGroupService.add(group); } @@ -1107,12 +1100,12 @@ public class AttendanceJgwTask { private void syncAttendanceData(String dtStart,String dtEnd){ - SurProjectAttendanceCfg where =new SurProjectAttendanceCfg(); + QuartzProjectAttendanceCfg where =new QuartzProjectAttendanceCfg(); where.setEnabled(1l); where.setIsDel(0l); where.setVendorsCode("jgw"); - List list=attendanceCfgService.selectSurProjectAttendanceCfgList(where); - for(SurProjectAttendanceCfg it :list){ + List list=attendanceCfgService.selectSurProjectAttendanceCfgList(where); + for(QuartzProjectAttendanceCfg it :list){ String param= it.getVendorsParameter(); if(Strings.isNotEmpty(param)){ try{ @@ -1133,7 +1126,7 @@ public class AttendanceJgwTask { } } - private void doSyncAttendanceData(JSONObject jo, String startId, SurProjectAttendanceCfg it) { + private void doSyncAttendanceData(JSONObject jo, String startId, QuartzProjectAttendanceCfg it) { String appId=jo.getString("appId"); String token=jo.getString("token"); String projectId=jo.getString("projectId"); @@ -1168,7 +1161,7 @@ public class AttendanceJgwTask { JSONObject json = arr.getJSONObject(i); String photo=json.getString("signimg"); String photoUrl=getPhoto(appId,token,photo); - SurProjectAttendanceData sdata = SurProjectAttendanceData.createFromJgw(json); + QuartzProjectAttendanceData sdata = QuartzProjectAttendanceData.createFromJgw(json); sdata.setScanPhoto(photoUrl); sdata.setCfgid(it.getId()); sdata.setAppId(appId); diff --git a/yanzhu-jh/src/main/java/com/yanzhu/jh/project/task/AttendanceTask.java b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/AttendanceTask.java similarity index 81% rename from yanzhu-jh/src/main/java/com/yanzhu/jh/project/task/AttendanceTask.java rename to ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/AttendanceTask.java index ced7f87b..6e9a6fc6 100644 --- a/yanzhu-jh/src/main/java/com/yanzhu/jh/project/task/AttendanceTask.java +++ b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/AttendanceTask.java @@ -1,22 +1,13 @@ -package com.yanzhu.jh.project.task; +package com.ruoyi.quartz.task; -import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson2.JSON; import com.alibaba.fastjson2.JSONArray; import com.alibaba.fastjson2.JSONObject; import com.ruoyi.common.constant.Constants; import com.ruoyi.common.core.redis.RedisCache; -import com.yanzhu.jh.base.domain.SysNative; -import com.yanzhu.jh.base.service.ISysNativeService; -import com.yanzhu.jh.project.domain.SurProjectAttendanceCfg; -import com.yanzhu.jh.project.domain.SurProjectAttendanceData; -import com.yanzhu.jh.project.domain.SurProjectAttendanceGroup; -import com.yanzhu.jh.project.domain.SurProjectAttendanceUser; -import com.yanzhu.jh.project.service.ISurProjectAttendanceCfgService; -import com.yanzhu.jh.project.service.ISurProjectAttendanceDataService; -import com.yanzhu.jh.project.service.ISurProjectAttendanceGroupService; -import com.yanzhu.jh.project.service.ISurProjectAttendanceUserService; +import com.ruoyi.quartz.domain.*; +import com.ruoyi.quartz.service.*; import okhttp3.HttpUrl; import okhttp3.OkHttpClient; import okhttp3.Request; @@ -34,22 +25,24 @@ import java.util.stream.Collectors; @Component("attendanceTask") public class AttendanceTask { - @Autowired - ISurProjectAttendanceUserService attendanceUserService; - - @Autowired - ISurProjectAttendanceCfgService attendanceCfgService; - - @Autowired - ISurProjectAttendanceDataService attendanceDataService; - - @Autowired - ISurProjectAttendanceGroupService attendanceGroupService; @Autowired private RedisCache redisCache; @Autowired private ISysNativeService sysNativeService; + + @Autowired + IQuartzProjectAttendanceUserService attendanceUserService; + + @Autowired + IQuartzProjectAttendanceCfgService attendanceCfgService; + + @Autowired + IQuartzProjectAttendanceDataService attendanceDataService; + + @Autowired + IQuartzProjectAttendanceGroupService attendanceGroupService; + private String getNative(long id){ String ckey="attendance_jgw_native_"+id; Object obj=redisCache.getCacheObject(ckey); @@ -79,12 +72,12 @@ public class AttendanceTask { } public void syncWorker(){ - SurProjectAttendanceCfg where =new SurProjectAttendanceCfg(); + QuartzProjectAttendanceCfg where =new QuartzProjectAttendanceCfg(); where.setEnabled(1l); where.setIsDel(0l); where.setVendorsCode("gld"); - List list=attendanceCfgService.selectSurProjectAttendanceCfgList(where); - for(SurProjectAttendanceCfg it :list){ + List list=attendanceCfgService.selectSurProjectAttendanceCfgList(where); + for(QuartzProjectAttendanceCfg it :list){ String param= it.getVendorsParameter(); if(Strings.isNotEmpty(param)){ try{ @@ -101,12 +94,12 @@ public class AttendanceTask { } public void syncGroup(){ - SurProjectAttendanceCfg where =new SurProjectAttendanceCfg(); + QuartzProjectAttendanceCfg where =new QuartzProjectAttendanceCfg(); where.setEnabled(1l); where.setIsDel(0l); where.setVendorsCode("gld"); - List list=attendanceCfgService.selectSurProjectAttendanceCfgList(where); - for(SurProjectAttendanceCfg it :list){ + List list=attendanceCfgService.selectSurProjectAttendanceCfgList(where); + for(QuartzProjectAttendanceCfg it :list){ String param= it.getVendorsParameter(); if(Strings.isNotEmpty(param)){ try{ @@ -122,7 +115,7 @@ public class AttendanceTask { } } - private void doSyncGroup(String appId, String secret, String projectId, SurProjectAttendanceCfg it) { + private void doSyncGroup(String appId, String secret, String projectId, QuartzProjectAttendanceCfg it) { Map params = new HashMap<>(); params.put("projectId", projectId); params.put("appid",appId); @@ -143,7 +136,7 @@ public class AttendanceTask { if(arr!=null && arr.size()>0) { for (int i = 0; i < arr.size(); i++) { JSONObject json=arr.getJSONObject(i); - SurProjectAttendanceGroup group=SurProjectAttendanceGroup.create(json); + QuartzProjectAttendanceGroup group= QuartzProjectAttendanceGroup.create(json); group.setAppId(appId); group.setCfgid(it.getId()); attendanceGroupService.add(group); @@ -151,7 +144,7 @@ public class AttendanceTask { } } - private void doSyncWorker(String appid,String secret,String projectld,int page,SurProjectAttendanceCfg it){ + private void doSyncWorker(String appid, String secret, String projectld, int page, QuartzProjectAttendanceCfg it){ Map params = new HashMap<>(); params.put("projectId", projectld); params.put("start", "2000-01-01 00:00:00"); @@ -176,7 +169,7 @@ public class AttendanceTask { if(arr!=null && arr.size()>0){ for(int i=0;i6){ try { @@ -199,18 +192,14 @@ public class AttendanceTask { doSyncWorker(appid,secret,projectld,page+1,it); } } - public static void main1(String[] args) { - //syncWorker("8fba899a21c64be4aa25bf0f3314ad5c","426b3d8280620176d80a826eebef3579","719148569880576",1); - //doSyncAttendanceData("8fba899a21c64be4aa25bf0f3314ad5c","426b3d8280620176d80a826eebef3579","719148569880576",0,null); - } public void syncAttendanceData(){ - SurProjectAttendanceCfg where =new SurProjectAttendanceCfg(); + QuartzProjectAttendanceCfg where =new QuartzProjectAttendanceCfg(); where.setEnabled(1l); where.setIsDel(0l); where.setVendorsCode("gld"); - List list=attendanceCfgService.selectSurProjectAttendanceCfgList(where); - for(SurProjectAttendanceCfg it :list){ + List list=attendanceCfgService.selectSurProjectAttendanceCfgList(where); + for(QuartzProjectAttendanceCfg it :list){ String param= it.getVendorsParameter(); if(Strings.isNotEmpty(param)){ try{ @@ -218,7 +207,7 @@ public class AttendanceTask { String appId=jo.getString("appId"); String secret=jo.getString("secret"); String projectId=jo.getString("projectId"); - SurProjectAttendanceData dwhere=new SurProjectAttendanceData(); + QuartzProjectAttendanceData dwhere=new QuartzProjectAttendanceData(); dwhere.setCfgid(it.getId()); String startId=attendanceDataService.getLastServerId(dwhere); doSyncAttendanceData(appId,secret,projectId,startId,it); @@ -228,7 +217,8 @@ public class AttendanceTask { } } } - private void doSyncAttendanceData(String appid,String secret,String projectId,String id,SurProjectAttendanceCfg it){ + + private void doSyncAttendanceData(String appid, String secret, String projectId, String id, QuartzProjectAttendanceCfg it){ Map params = new HashMap<>(); params.put("projectId", projectId); params.put("startId",""+id); @@ -252,7 +242,7 @@ public class AttendanceTask { if(arr!=null && arr.size()>0){ for(int i=0;i> list = taskService.findAllTowerMaxId(); + for (Map map:list){ + Date date = (Date)map.get("createTime"); + long times = System.currentTimeMillis()-(5*60000); + if(date.getTime() + + + + + + + + + + + + + + + + + + + + + + + + + select * + from ( + SELECT a.*,sp.projectName,pu.unitName,sdd1.dict_label vendorName FROM sur_project_attendance_cfg a + LEFT JOIN sur_project sp ON a.project_id = sp.id + LEFT JOIN sur_project_unit_info pu ON a.sub_dept_id=pu.unitId AND a.project_id=pu.projectId + LEFT JOIN sys_dict_data sdd1 ON sdd1.dict_type = 'attendance_vendors' AND sdd1.dict_value = a.vendors_code + ) sur_project_attendance_cfg + + + + + + + + + + + insert into sur_project_attendance_cfg + + project_id, + sub_dept_id, + vendors_code, + vendors_parameter, + enabled, + state, + remark, + is_del, + create_by, + create_time, + update_by, + update_time, + + + #{projectId}, + #{subDeptId}, + #{vendorsCode}, + #{vendorsParameter}, + #{enabled}, + #{state}, + #{remark}, + #{isDel}, + #{createBy}, + #{createTime}, + #{updateBy}, + #{updateTime}, + + + + + update sur_project_attendance_cfg + + project_id = #{projectId}, + sub_dept_id = #{subDeptId}, + vendors_code = #{vendorsCode}, + vendors_parameter = #{vendorsParameter}, + enabled = #{enabled}, + state = #{state}, + remark = #{remark}, + is_del = #{isDel}, + create_by = #{createBy}, + create_time = #{createTime}, + update_by = #{updateBy}, + update_time = #{updateTime}, + + where id = #{id} + + + + delete from sur_project_attendance_cfg where id = #{id} + + + + delete from sur_project_attendance_cfg where id in + + #{id} + + + \ No newline at end of file diff --git a/ruoyi-quartz/src/main/resources/mapper/quartz/QuartzProjectAttendanceDataMapper.xml b/ruoyi-quartz/src/main/resources/mapper/quartz/QuartzProjectAttendanceDataMapper.xml new file mode 100644 index 00000000..e1303b4a --- /dev/null +++ b/ruoyi-quartz/src/main/resources/mapper/quartz/QuartzProjectAttendanceDataMapper.xml @@ -0,0 +1,573 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + select + id, + cfgid, + app_id, + projectId, + projectName, + deptId, + deptName, + vendors_code, + serverid, + workerId, + workerName, + identification, + workerPhoto, + workerGender, + birthDate, + ethnic, + nativePlace, + phone, + workTypeName, + specWorkType, + groupName, + companyTypeId, + companyName, + attendance_time, + attendance_out_time, + scanPhoto, + teamId, + workTypeCode, + companyId, + vendorId, + device_code, + is_del, + create_by, + create_time, + update_by, + update_time, + remark + from sur_project_attendance_data_${year} + + + + + + + + + + + + insert into sur_project_attendance_data_${year} + + cfgid, + app_id, + projectId, + projectName, + deptId, + deptName, + vendors_code, + serverid, + workerId, + workerName, + identification, + workerPhoto, + workerGender, + birthDate, + ethnic, + nativePlace, + phone, + workTypeName, + specWorkType, + groupName, + companyTypeId, + companyName, + attendance_time, + attendance_out_time, + scanPhoto, + teamId, + workTypeCode, + companyId, + vendorId, + device_code, + is_del, + create_by, + create_time, + update_by, + update_time, + remark, + + + #{cfgid}, + #{appId}, + #{projectId}, + #{projectName}, + #{deptId}, + #{deptName}, + #{vendorsCode}, + #{serverid}, + #{workerId}, + #{workerName}, + #{identification}, + #{workerPhoto}, + #{workerGender}, + #{birthDate}, + #{ethnic}, + #{nativePlace}, + #{phone}, + #{workTypeName}, + #{specWorkType}, + #{groupName}, + #{companyTypeId}, + #{companyName}, + #{attendanceTime}, + #{attendanceOutTime}, + #{scanPhoto}, + #{teamId}, + #{workTypeCode}, + #{companyId}, + #{vendorId}, + #{deviceCode}, + #{isDel}, + #{createBy}, + #{createTime}, + #{updateBy}, + #{updateTime}, + #{remark}, + + + + + update sur_project_attendance_data_${year} + + cfgid = #{cfgid}, + app_id = #{appId}, + projectId = #{projectId}, + projectName = #{projectName}, + deptId = #{deptId}, + deptName = #{deptName}, + vendors_code = #{vendorsCode}, + serverid = #{serverid}, + workerId = #{workerId}, + workerName = #{workerName}, + identification = #{identification}, + workerPhoto = #{workerPhoto}, + workerGender = #{workerGender}, + birthDate = #{birthDate}, + ethnic = #{ethnic}, + nativePlace = #{nativePlace}, + phone = #{phone}, + workTypeName = #{workTypeName}, + specWorkType = #{specWorkType}, + groupName = #{groupName}, + companyTypeId = #{companyTypeId}, + companyName = #{companyName}, + attendance_time = #{attendanceTime}, + attendance_out_time = #{attendanceOutTime}, + scanPhoto = #{scanPhoto}, + teamId = #{teamId}, + workTypeCode = #{workTypeCode}, + companyId = #{companyId}, + vendorId = #{vendorId}, + device_code = #{deviceCode}, + is_del = #{isDel}, + create_by = #{createBy}, + create_time = #{createTime}, + update_by = #{updateBy}, + update_time = #{updateTime}, + remark = #{remark}, + + where id = #{id} + + + + delete from sur_project_attendance_data_${year} where id = #{id} + + + + delete from sur_project_attendance_data_${year} where id in + + #{id} + + + + + delete from sur_project_attendance_data_${year} where CONCAT(app_id,'-',serverid,'-',workerId) in + + #{item} + + + + + insert into sur_project_attendance_data_${year}( id, cfgid, app_id, projectId, projectName, deptId, deptName, vendors_code, serverid, workerId, workerName, identification, workerPhoto, workerGender, birthDate, ethnic, nativePlace, phone, workTypeName, specWorkType, groupName, companyTypeId, + companyName, attendance_time, attendance_out_time, scanPhoto, teamId,workTypeCode, companyId, vendorId, device_code, is_del, create_by, create_time, update_by, update_time) values + + ( #{item.id}, #{item.cfgid},#{item.appId}, #{item.projectId}, #{item.projectName}, #{item.deptId}, #{item.deptName}, #{item.vendorsCode}, #{item.serverid}, #{item.workerId}, #{item.workerName}, #{item.identification},#{item.workerPhoto}, #{item.workerGender}, #{item.birthDate},#{item.ethnic}, #{item.nativePlace}, #{item.phone}, #{item.workTypeName}, #{item.specWorkType}, #{item.groupName}, #{item.companyTypeId}, + #{item.companyName}, #{item.attendanceTime}, #{item.attendanceOutTime}, #{item.scanPhoto},#{item.teamId}, #{item.workTypeCode}, #{item.companyId}, #{item.vendorId}, #{item.deviceCode},#{item.isDel}, #{item.createBy}, #{item.createTime}, #{item.updateBy}, #{item.updateTime}) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/ruoyi-quartz/src/main/resources/mapper/quartz/QuartzProjectAttendanceGroupMapper.xml b/ruoyi-quartz/src/main/resources/mapper/quartz/QuartzProjectAttendanceGroupMapper.xml new file mode 100644 index 00000000..79753c57 --- /dev/null +++ b/ruoyi-quartz/src/main/resources/mapper/quartz/QuartzProjectAttendanceGroupMapper.xml @@ -0,0 +1,233 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + select id, cfgid, app_id, serverid, bizLicense, companyCode, companyId, companyName, companyTypeId, vendorId, name, leaderName, leaderPhone, teamId, teamName, type, leaderId, deleted, createTimestamp, platformGroupId, platformTeamId, enterDate, exitDate, remark, is_del, create_by, create_time, update_by, update_time + from view_sur_project_attendance_group + + + + + + + + + + insert into sur_project_attendance_group + + cfgid, + app_id, + serverid, + bizLicense, + companyCode, + companyId, + companyName, + companyTypeId, + vendorId, + name, + leaderName, + leaderPhone, + teamId, + teamName, + type, + leaderId, + deleted, + createTimestamp, + platformGroupId, + platformTeamId, + enterDate, + exitDate, + remark, + is_del, + create_by, + create_time, + update_by, + update_time, + + + #{cfgid}, + #{appId}, + #{serverid}, + #{bizLicense}, + #{companyCode}, + #{companyId}, + #{companyName}, + #{companyTypeId}, + #{vendorId}, + #{name}, + #{leaderName}, + #{leaderPhone}, + #{teamId}, + #{teamName}, + #{type}, + #{leaderId}, + #{deleted}, + #{createTimestamp}, + #{platformGroupId}, + #{platformTeamId}, + #{enterDate}, + #{exitDate}, + #{remark}, + #{isDel}, + #{createBy}, + #{createTime}, + #{updateBy}, + #{updateTime}, + + + + + update sur_project_attendance_group + + cfgid = #{cfgid}, + app_id = #{appId}, + serverid = #{serverid}, + bizLicense = #{bizLicense}, + companyCode = #{companyCode}, + companyId = #{companyId}, + companyName = #{companyName}, + companyTypeId = #{companyTypeId}, + vendorId = #{vendorId}, + name = #{name}, + leaderName = #{leaderName}, + leaderPhone = #{leaderPhone}, + teamId = #{teamId}, + teamName = #{teamName}, + type = #{type}, + leaderId = #{leaderId}, + deleted = #{deleted}, + createTimestamp = #{createTimestamp}, + platformGroupId = #{platformGroupId}, + platformTeamId = #{platformTeamId}, + enterDate = #{enterDate}, + exitDate = #{exitDate}, + remark = #{remark}, + is_del = #{isDel}, + create_by = #{createBy}, + create_time = #{createTime}, + update_by = #{updateBy}, + update_time = #{updateTime}, + + where id = #{id} + + + + delete from sur_project_attendance_group where id = #{id} + + + + delete from sur_project_attendance_group where id in + + #{id} + + + + + delete from sur_project_attendance_group where CONCAT(app_id,'-',serverid) in + + #{item} + + + + + insert into sur_project_attendance_group(id,cfgid,app_id,serverid,bizLicense,companyCode,companyId,companyName,companyTypeId,vendorId,name,leaderName,leaderPhone,teamId,teamName,type,leaderId,deleted,createTimestamp,platformGroupId,platformTeamId,enterDate,exitDate,remark,create_by,create_time,update_by,update_time) values + + (#{item.id}, #{item.cfgid}, #{item.appId}, #{item.serverid}, #{item.bizLicense}, #{item.companyCode}, #{item.companyId}, #{item.companyName},#{item.companyTypeId}, #{item.vendorId}, #{item.name}, #{item.leaderName}, #{item.leaderPhone}, #{item.teamId}, #{item.teamName}, #{item.type}, #{item.leaderId}, #{item.deleted}, #{item.createTimestamp}, #{item.platformGroupId}, #{item.platformTeamId}, #{item.enterDate}, + #{item.exitDate}, #{item.remark}, #{item.createBy}, #{item.createTime}, #{item.updateBy}, #{item.updateTime}) + + + + \ No newline at end of file diff --git a/ruoyi-quartz/src/main/resources/mapper/quartz/QuartzProjectAttendanceUserMapper.xml b/ruoyi-quartz/src/main/resources/mapper/quartz/QuartzProjectAttendanceUserMapper.xml new file mode 100644 index 00000000..69525581 --- /dev/null +++ b/ruoyi-quartz/src/main/resources/mapper/quartz/QuartzProjectAttendanceUserMapper.xml @@ -0,0 +1,812 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SELECT * FROM ( + SELECT a.*,b.project_id,b.sub_dept_id + FROM sur_project_attendance_user a,sur_project_attendance_cfg b + WHERE a.cfgid=b.id ) + sur_project_attendance_user + + + + + + + + + + + + + insert into sur_project_attendance_user + + cfgid, + app_id, + vendors_code, + workerId, + laborWorkerId, + workerCategory, + qrCode, + name, + ethnic, + nativePlace, + gender, + birthDate, + phone, + degreeName, + photo, + recentPhoto, + groupId, + groupName, + leader, + workTypeCode, + workTypeName, + specWorkType, + hatCode, + state, + enterDate, + exitDate, + companyId, + companyName, + vendorId, + teamId, + teamName, + enterType, + other, + remark, + is_del, + create_by, + create_time, + update_by, + update_time, + + + #{cfgid}, + #{appId}, + #{vendorsCode}, + #{workerId}, + #{laborWorkerId}, + #{workerCategory}, + #{qrCode}, + #{name}, + #{ethnic}, + #{nativePlace}, + #{gender}, + #{birthDate}, + #{phone}, + #{degreeName}, + #{photo}, + #{recentPhoto}, + #{groupId}, + #{groupName}, + #{leader}, + #{workTypeCode}, + #{workTypeName}, + #{specWorkType}, + #{hatCode}, + #{state}, + #{enterDate}, + #{exitDate}, + #{companyId}, + #{companyName}, + #{vendorId}, + #{teamId}, + #{teamName}, + #{enterType}, + #{other}, + #{remark}, + #{isDel}, + #{createBy}, + #{createTime}, + #{updateBy}, + #{updateTime}, + + + + + update sur_project_attendance_user + + cfgid = #{cfgid}, + app_id = #{appId}, + vendors_code = #{vendorsCode}, + workerId = #{workerId}, + laborWorkerId = #{laborWorkerId}, + workerCategory = #{workerCategory}, + qrCode = #{qrCode}, + name = #{name}, + ethnic = #{ethnic}, + nativePlace = #{nativePlace}, + gender = #{gender}, + birthDate = #{birthDate}, + phone = #{phone}, + degreeName = #{degreeName}, + photo = #{photo}, + recentPhoto = #{recentPhoto}, + groupId = #{groupId}, + groupName = #{groupName}, + leader = #{leader}, + workTypeCode = #{workTypeCode}, + workTypeName = #{workTypeName}, + specWorkType = #{specWorkType}, + hatCode = #{hatCode}, + state = #{state}, + enterDate = #{enterDate}, + exitDate = #{exitDate}, + companyId = #{companyId}, + companyName = #{companyName}, + vendorId = #{vendorId}, + teamId = #{teamId}, + teamName = #{teamName}, + enterType = #{enterType}, + other = #{other}, + remark = #{remark}, + is_del = #{isDel}, + create_by = #{createBy}, + create_time = #{createTime}, + update_by = #{updateBy}, + update_time = #{updateTime}, + + where id = #{id} + + + + delete from sur_project_attendance_user where id = #{id} + + + + delete from sur_project_attendance_user where id in + + #{id} + + + + + delete from sur_project_attendance_user where CONCAT(app_id,'-',workerId) in + + #{item} + + + + + insert into sur_project_attendance_user( id, cfgid, vendors_code, workerId, laborWorkerId, workerCategory, qrCode, name, ethnic, nativePlace, gender, birthDate, phone, degreeName, photo, recentPhoto, groupId, groupName, leader, workTypeCode, workTypeName, specWorkType, hatCode, state, enterDate, exitDate, companyId, companyName, vendorId, teamId, teamName, enterType, other, remark, is_del, create_by, create_time, update_by, update_time) values + + ( #{item.id}, #{item.cfgid}, #{item.vendorsCode}, #{item.workerId}, #{item.laborWorkerId}, #{item.workerCategory}, #{item.qrCode}, #{item.name}, #{item.ethnic}, #{item.nativePlace}, #{item.gender}, #{item.birthDate}, #{item.phone}, #{item.degreeName}, #{item.photo}, #{item.recentPhoto}, #{item.groupId}, #{item.groupName}, #{item.leader}, #{item.workTypeCode}, #{item.workTypeName}, #{item.specWorkType}, #{item.hatCode}, #{item.state}, #{item.enterDate}, #{item.exitDate}, #{item.companyId}, #{item.companyName}, #{item.vendorId}, #{item.teamId}, #{item.teamName}, #{item.enterType}, #{item.other}, #{item.remark}, #{item.isDel}, #{item.createBy}, #{item.createTime}, #{item.updateBy}, #{item.updateTime}) + + + + + ( + SELECT * FROM sur_project_attendance_data WHERE DATE(attendance_time)=date(#{createBy}) AND cfgid IN ( + SELECT id FROM sur_project_attendance_cfg WHERE project_id=#{projectId} AND sub_dept_id=#{subDeptId} + ) ) xx + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/yanzhu-jh/src/main/resources/mapper/base/SysNativeMapper.xml b/ruoyi-quartz/src/main/resources/mapper/quartz/SysNativeMapper.xml similarity index 90% rename from yanzhu-jh/src/main/resources/mapper/base/SysNativeMapper.xml rename to ruoyi-quartz/src/main/resources/mapper/quartz/SysNativeMapper.xml index 97e98c88..7ad7dc61 100644 --- a/yanzhu-jh/src/main/resources/mapper/base/SysNativeMapper.xml +++ b/ruoyi-quartz/src/main/resources/mapper/quartz/SysNativeMapper.xml @@ -2,7 +2,7 @@ - + @@ -12,8 +12,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - - diff --git a/ruoyi-quartz/src/main/resources/mapper/quartz/TaskMapper.xml b/ruoyi-quartz/src/main/resources/mapper/quartz/TaskMapper.xml index 35c0227d..25322924 100644 --- a/ruoyi-quartz/src/main/resources/mapper/quartz/TaskMapper.xml +++ b/ruoyi-quartz/src/main/resources/mapper/quartz/TaskMapper.xml @@ -144,4 +144,20 @@ where spu.project_id = #{proId} and spu.job_type=21 and spu.is_del = 0 and su.del_flag = '0' and suo.isDel=0 + + + + + delete from dev_tower_data_run where id #{id} and + + + + + + update dev_tower_project_config set online = #{online} where device_sn=#{deviceSn} + diff --git a/ruoyi-ui/src/views/device/towerDataCollide/index.vue b/ruoyi-ui/src/views/device/towerDataCollide/index.vue index aa0719d8..a3eab7f5 100644 --- a/ruoyi-ui/src/views/device/towerDataCollide/index.vue +++ b/ruoyi-ui/src/views/device/towerDataCollide/index.vue @@ -82,28 +82,26 @@ - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - + diff --git a/ruoyi-ui/src/views/device/towerDataLimit/index.vue b/ruoyi-ui/src/views/device/towerDataLimit/index.vue index a3f65260..57c8bba2 100644 --- a/ruoyi-ui/src/views/device/towerDataLimit/index.vue +++ b/ruoyi-ui/src/views/device/towerDataLimit/index.vue @@ -82,51 +82,49 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + diff --git a/ruoyi-ui/src/views/device/towerDataRound/index.vue b/ruoyi-ui/src/views/device/towerDataRound/index.vue index 8eadaf00..648cabec 100644 --- a/ruoyi-ui/src/views/device/towerDataRound/index.vue +++ b/ruoyi-ui/src/views/device/towerDataRound/index.vue @@ -1,6 +1,13 @@ diff --git a/ruoyi-ui/src/views/project/surProject/index.vue b/ruoyi-ui/src/views/project/surProject/index.vue index ffd16dbe..389fd85a 100644 --- a/ruoyi-ui/src/views/project/surProject/index.vue +++ b/ruoyi-ui/src/views/project/surProject/index.vue @@ -830,7 +830,7 @@ export default { }, }; -