diff --git a/xxl-job-executor-samples/xxl-job-executor-sample-springboot/src/main/java/com/xxl/job/executor/inter/config/GlobalConfig.java b/xxl-job-executor-samples/xxl-job-executor-sample-springboot/src/main/java/com/xxl/job/executor/inter/config/GlobalConfig.java index f6f05e2..8482169 100644 --- a/xxl-job-executor-samples/xxl-job-executor-sample-springboot/src/main/java/com/xxl/job/executor/inter/config/GlobalConfig.java +++ b/xxl-job-executor-samples/xxl-job-executor-sample-springboot/src/main/java/com/xxl/job/executor/inter/config/GlobalConfig.java @@ -140,6 +140,11 @@ public class GlobalConfig { */ public static final String JJ_GCJD= IP_URL+"/biz-api/ifsct/up/sel/prjConstrProgressNode"; + /** + * 工程进度 + */ + public static final String JJ_FILE= IP_URL+"/biz-api/ifsct/up/sel/smToolBoxTalkFile"; + } diff --git a/xxl-job-executor-samples/xxl-job-executor-sample-springboot/src/main/java/com/xxl/job/executor/inter/entity/DutyChildVo.java b/xxl-job-executor-samples/xxl-job-executor-sample-springboot/src/main/java/com/xxl/job/executor/inter/entity/DutyChildVo.java new file mode 100644 index 0000000..92b3d79 --- /dev/null +++ b/xxl-job-executor-samples/xxl-job-executor-sample-springboot/src/main/java/com/xxl/job/executor/inter/entity/DutyChildVo.java @@ -0,0 +1,117 @@ +package com.xxl.job.executor.inter.entity; + +import lombok.Data; + +import java.io.Serializable; +import java.util.List; + +/** + * @author 黑子 + */ +@Data +public class DutyChildVo implements Serializable { + + private String id; + + private String ticketId; + + private String type; + + private String teamId; + + private String code; + + private String orgName; + + private String jlUnit; + + private String sgUnit; + + private String bzaqy; + + private String teamLeader; + + private String teamNum; + + + private String voltageLevel; + + private String proName; + + private String prjType; + + private String proStatus; + + private String singCode; + + private String imageProcess; + + private String singType; + + private String buildScale; + + private String physicalQuantity; + + private String yearDate; + + private String kgTime; + + private String tcTime; + + private String startTime; + + private String endTime; + + private String signCode; + + private String proCode; + + private String buildCode; + + private List cityList; + + + private String teamName; + + private String riskLevel; + + private String riskLev; + + + private String bidName; + private String workContent; + + private String workType; + + private int xh; + + private String projectName; + + private String times; + + private String workName; + + private String jobGx; + + private String jobSite; + + private String jobLx; + + private String jobName; + + private String mainRisk; + + /**班组负责人*/ + private String workManage; + /**作业工序*/ + private String workGx; + /**作业部位*/ + private String workSiteName; + /**是否执行 0未执行 1已执行*/ + private String execStatus; + + + + + +} diff --git a/xxl-job-executor-samples/xxl-job-executor-sample-springboot/src/main/java/com/xxl/job/executor/inter/entity/JjFile.java b/xxl-job-executor-samples/xxl-job-executor-sample-springboot/src/main/java/com/xxl/job/executor/inter/entity/JjFile.java new file mode 100644 index 0000000..d294422 --- /dev/null +++ b/xxl-job-executor-samples/xxl-job-executor-sample-springboot/src/main/java/com/xxl/job/executor/inter/entity/JjFile.java @@ -0,0 +1,64 @@ +package com.xxl.job.executor.inter.entity; + +import lombok.Data; + +/** + * jjFile 实体类 + * 2024-12-06 16:22:50 zijixiangba + */ + +@Data +public class JjFile{ + //主键 + private String id; + + private String toolBoxTalkId; + //站班会id + private String ondutyRecordId; + //到岗到位人员表id + private String fileType; + //文件类型 01 -站班会交底-02安全措施 03 到岗到位 04 其他 05 作业票-安检-06 展板会-安检 + private String prjCode; + //项目编码 + + private String shootingLongitude; + // + + private String shootingLatitude; + //维度 + + private String shootingAddress; + //地址 + + private String shootingTime; + //时间 + + private String watermarkFileId; + //文件id + + private String fileId; + //附件名称 + + private String fileName; + // + + private String provinceCode; + // + + private String createrId; + + private String createTime; + + private String updaterId; + + private String updateTime; + + private String deleteFlag; + + private String suffixType; + //后缀类型 + + + +} + diff --git a/xxl-job-executor-samples/xxl-job-executor-sample-springboot/src/main/java/com/xxl/job/executor/inter/entity/WeeksInfoVo.java b/xxl-job-executor-samples/xxl-job-executor-sample-springboot/src/main/java/com/xxl/job/executor/inter/entity/WeeksInfoVo.java new file mode 100644 index 0000000..c4c50ae --- /dev/null +++ b/xxl-job-executor-samples/xxl-job-executor-sample-springboot/src/main/java/com/xxl/job/executor/inter/entity/WeeksInfoVo.java @@ -0,0 +1,37 @@ +package com.xxl.job.executor.inter.entity; + +import lombok.Data; + +/** + * @author 黑子 + */ +@Data +public class WeeksInfoVo { + + + private String id; + + private String jlUnit; + + private String sgUnit; + /** + * 班组负责人 + */ + private String teamLeader; + /** + * 安全员 + */ + private String bzaqy; + + private String teamNum; + + private String teamName; + + private String relName; + + private String relCode; + + private String proCode; + + +} diff --git a/xxl-job-executor-samples/xxl-job-executor-sample-springboot/src/main/java/com/xxl/job/executor/inter/mapper/InterMapper.java b/xxl-job-executor-samples/xxl-job-executor-sample-springboot/src/main/java/com/xxl/job/executor/inter/mapper/InterMapper.java index 020f635..1adb0f4 100644 --- a/xxl-job-executor-samples/xxl-job-executor-sample-springboot/src/main/java/com/xxl/job/executor/inter/mapper/InterMapper.java +++ b/xxl-job-executor-samples/xxl-job-executor-sample-springboot/src/main/java/com/xxl/job/executor/inter/mapper/InterMapper.java @@ -255,11 +255,23 @@ public interface InterMapper { */ List getClassCameraId(); - void insertJjContractData(List list); + void insertJjContractData(@Param("list")List list); /** * 工程进度 * @param list */ - void insertJjProProcessData(List list); + void insertJjProProcessData(@Param("list")List list); + + void insertJjFile(@Param("list") List list); + + List getWeeksInfo(DutyChildVo vo); + + List getWeekUs(DutyChildVo vo); + + WeeksInfoVo getUnit(DutyChildVo dutyChildVo); + + String getTeamNum(DutyChildVo dutyChildVo); + + void addWeeksInfo(WeeksInfoVo weeksInfoVo); } diff --git a/xxl-job-executor-samples/xxl-job-executor-sample-springboot/src/main/java/com/xxl/job/executor/inter/service/DataCenterService.java b/xxl-job-executor-samples/xxl-job-executor-sample-springboot/src/main/java/com/xxl/job/executor/inter/service/DataCenterService.java index 9467d35..667aa0a 100644 --- a/xxl-job-executor-samples/xxl-job-executor-sample-springboot/src/main/java/com/xxl/job/executor/inter/service/DataCenterService.java +++ b/xxl-job-executor-samples/xxl-job-executor-sample-springboot/src/main/java/com/xxl/job/executor/inter/service/DataCenterService.java @@ -431,4 +431,67 @@ public class DataCenterService { log.error(e.toString(),e); } } + + public void insertJjFile(List list) { + try{ + mapper.insertJjFile(list); + }catch (Exception e){ + XxlJobHelper.log("文件接口插入失败--->{}",e.toString()); + log.error(e.toString(),e); + } + } + + public List getWeeksInfo(DutyChildVo vo) { + try{ + return mapper.getWeeksInfo(vo); + }catch (Exception e){ + XxlJobHelper.log("---查询周计划异常>{}",e.toString()); + log.error(e.toString(),e); + } + return new ArrayList<>(); + } + + public List getWeekUs(DutyChildVo vo) { + try{ + return mapper.getWeekUs(vo); + }catch (Exception e){ + XxlJobHelper.log("---查询周计划异常>{}",e.toString()); + log.error(e.toString(),e); + } + return new ArrayList<>(); + } + + public WeeksInfoVo getUnit(DutyChildVo dutyChildVo) { + try{ + return mapper.getUnit(dutyChildVo); + }catch (Exception e){ + XxlJobHelper.log("---查询定位>{}",e.toString()); + log.error(e.toString(),e); + } + return new WeeksInfoVo(); + } + + public String getTeamNum(DutyChildVo dutyChildVo) { + try{ + return mapper.getTeamNum(dutyChildVo); + }catch (Exception e){ + XxlJobHelper.log("---查询定位>{}",e.toString()); + log.error(e.toString(),e); + } + return ""; + } + + /** + * 数据新增 + * @param weeksInfoVo + */ + public void addWeeksInfo(WeeksInfoVo weeksInfoVo) { + try{ + mapper.addWeeksInfo(weeksInfoVo); + }catch (Exception e){ + XxlJobHelper.log("--->{}",e.toString()); + log.error(e.toString(),e); + } + + } } diff --git a/xxl-job-executor-samples/xxl-job-executor-sample-springboot/src/main/java/com/xxl/job/executor/inter/service/InterService.java b/xxl-job-executor-samples/xxl-job-executor-sample-springboot/src/main/java/com/xxl/job/executor/inter/service/InterService.java index ce8555a..5ade11d 100644 --- a/xxl-job-executor-samples/xxl-job-executor-sample-springboot/src/main/java/com/xxl/job/executor/inter/service/InterService.java +++ b/xxl-job-executor-samples/xxl-job-executor-sample-springboot/src/main/java/com/xxl/job/executor/inter/service/InterService.java @@ -15,9 +15,8 @@ import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import java.util.Arrays; -import java.util.List; -import java.util.Map; +import java.text.SimpleDateFormat; +import java.util.*; /** * 业务工程管理 @@ -1052,5 +1051,116 @@ public class InterService { XxlJobHelper.handleFail(e.toString()); } } + + public void getJjFile(int pageNum) { + try { + JSONObject obj= DataUtils.getJsonObject(pageNum); + HttpResponse httpResponse = PostUtils.sendData(obj.toString(), GlobalConfig.JJ_FILE); + Map map = DataUtils.getArray(httpResponse); + Object objata=map.get("array"); + if (objata != null) { + JSONArray array = (JSONArray) map.get("array"); + List list = JSONArray.parseArray(array.toJSONString(), JjFile.class); + service.insertJjFile(list); + pageNum++; + if (pageNum <= (Integer) map.get("TOTAL_PAGE")) { + if (FY_BOOLEAN){ + getJjFile(pageNum); + } + } + } + } catch (Exception e) { + XxlJobHelper.handleFail(e.toString()); + } + + } + public void getWeeksInfo() { + try{ + DutyChildVo vo=new DutyChildVo(); + String time= getNowDay(); + //本周开始时间 + String startWeek= getWeekStartOrEndTime(time,true); + //本周结束时间 + String endWeek= getWeekStartOrEndTime(time,false); + vo.setStartTime(startWeek); + vo.setEndTime(endWeek); + List list= service.getWeeksInfo(vo); + for (DutyChildVo dutyChildVo:list){ + WeeksInfoVo weeksInfoVo=new WeeksInfoVo(); + weeksInfoVo.setId(dutyChildVo.getId()); + weeksInfoVo.setTeamName(dutyChildVo.getTeamName()); + List usList=service.getWeekUs(dutyChildVo); + if(usList!=null && !usList.isEmpty()){ + usList.forEach(us->{ + if("0900101".equals(us.getRelCode())){ + weeksInfoVo.setTeamLeader(us.getRelName()); + }else if("0900102".equals(us.getRelCode())) { + weeksInfoVo.setBzaqy(us.getRelName()); + } + }); + } + WeeksInfoVo da = service.getUnit(dutyChildVo); + String teamNum = service.getTeamNum(dutyChildVo); + weeksInfoVo.setTeamNum(teamNum); + if (da == null || StringHelper.isEmpty(da.getSgUnit())) { + dutyChildVo.setTeamId(""); + da=service.getUnit(dutyChildVo); + + } + if (da != null) { + dutyChildVo.setSgUnit(da.getSgUnit()); + weeksInfoVo.setJlUnit(da.getJlUnit()); + } + service.addWeeksInfo(weeksInfoVo); + } + + }catch (Exception e){ + XxlJobHelper.handleFail(e.toString()); + } + } + + + /** + * 周开始和周结束时间 + * @param time + * @param isStart + * @return + */ + public static String getWeekStartOrEndTime(String time,boolean isStart){ + String returnTime=null; + try{ + if(StringHelper.isEmpty(time)){ + time=getNowDay(); + } + + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + Date dataTime = sdf.parse(time); + Calendar calendar = Calendar.getInstance(); + calendar.setTime(dataTime); + // 如果是周日 + if (calendar.get(Calendar.DAY_OF_WEEK) == Calendar.SUNDAY) { + calendar.add(Calendar.DAY_OF_YEAR,-1); + } + // 获取当前日期是当周的第i天 + int i = calendar.get(Calendar.DAY_OF_WEEK) - 1; + // 获取当前日期所在周的第一天 + calendar.add(Calendar.DATE , -i+1); + if(isStart){ + return sdf.format(calendar.getTime()); + }else{ + calendar.add(Calendar.DATE , 6); + return sdf.format(calendar.getTime()); + } + + }catch (Exception e){ + log.error(e.toString(),e); + } + + return returnTime; + } + public static String getNowDay() { + String time = new SimpleDateFormat("yyyy-MM-dd").format(new Date()); + return time; + } } diff --git a/xxl-job-executor-samples/xxl-job-executor-sample-springboot/src/main/java/com/xxl/job/executor/inter/service/InterTwoService.java b/xxl-job-executor-samples/xxl-job-executor-sample-springboot/src/main/java/com/xxl/job/executor/inter/service/InterTwoService.java index 757d72d..9dac9fd 100644 --- a/xxl-job-executor-samples/xxl-job-executor-sample-springboot/src/main/java/com/xxl/job/executor/inter/service/InterTwoService.java +++ b/xxl-job-executor-samples/xxl-job-executor-sample-springboot/src/main/java/com/xxl/job/executor/inter/service/InterTwoService.java @@ -751,5 +751,28 @@ public class InterTwoService { XxlJobHelper.handleFail(e.toString()); } } + + public void getJjFile(int pageNum) { + try { + JSONObject obj= DataUtils.getJsonObject2(pageNum); + HttpResponse httpResponse = PostUtils.sendData(obj.toString(), GlobalConfig.JJ_FILE); + Map map = DataUtils.getArray(httpResponse); + Object objata=map.get("array"); + if (objata != null) { + JSONArray array = (JSONArray) map.get("array"); + List list = JSONArray.parseArray(array.toJSONString(), JjFile.class); + service.insertJjFile(list); + pageNum++; + if (pageNum <= (Integer) map.get("TOTAL_PAGE")) { + if (FY_BOOLEAN){ + getJjFile(pageNum); + } + } + } + } catch (Exception e) { + XxlJobHelper.handleFail(e.toString()); + } + + } } diff --git a/xxl-job-executor-samples/xxl-job-executor-sample-springboot/src/main/java/com/xxl/job/executor/service/jobhandler/DataCenterXxlJob.java b/xxl-job-executor-samples/xxl-job-executor-sample-springboot/src/main/java/com/xxl/job/executor/service/jobhandler/DataCenterXxlJob.java index 7019d75..96f7408 100644 --- a/xxl-job-executor-samples/xxl-job-executor-sample-springboot/src/main/java/com/xxl/job/executor/service/jobhandler/DataCenterXxlJob.java +++ b/xxl-job-executor-samples/xxl-job-executor-sample-springboot/src/main/java/com/xxl/job/executor/service/jobhandler/DataCenterXxlJob.java @@ -430,13 +430,29 @@ public class DataCenterXxlJob { } /** - * 工程数据 合同 + * 工程数据进度 */ @XxlJob("getProProcess") public void getProProcess(){ interService.getProProcess(1); twtoService.getProProcess(1); } + /** + * 基建文件数据获取 + */ + @XxlJob("getJjFile") + public void getJjFile(){ + interService.getJjFile(1); + twtoService.getJjFile(1); + } + + /** + * 周计划数据统计分析 + */ + @XxlJob("getWeeksInfo") + public void getWeeksInfo(){ + interService.getWeeksInfo(); + } } diff --git a/xxl-job-executor-samples/xxl-job-executor-sample-springboot/src/main/resources/application.properties b/xxl-job-executor-samples/xxl-job-executor-sample-springboot/src/main/resources/application.properties index a406dbb..82d0797 100644 --- a/xxl-job-executor-samples/xxl-job-executor-sample-springboot/src/main/resources/application.properties +++ b/xxl-job-executor-samples/xxl-job-executor-sample-springboot/src/main/resources/application.properties @@ -4,8 +4,8 @@ server.port=18084 #spring.main.web-environment=false # log config logging.config=classpath:logback.xml -#xxl.job.admin.addresses=http://20.51.8.10:18083/xxl-job-admin -xxl.job.admin.addresses=http://127.0.0.1:18083/xxl-job-admin +xxl.job.admin.addresses=http://20.51.8.10:18083/xxl-job-admin +#xxl.job.admin.addresses=http://127.0.0.1:18083/xxl-job-admin ### xxl-job, access token xxl.job.accessToken=default_token ### xxl-job executor appname @@ -23,12 +23,12 @@ xxl.job.executor.logretentiondays=30 mybatis.mapper-locations=classpath:/mapper/*Mapper.xml ### xxl-job, datasource -#spring.datasource.url=jdbc:mysql://20.51.8.11:13306/gwjjspaq?useUnicode=true&characterEncoding=UTF-8&serverTimezone=GMT%2B8 -#spring.datasource.username=admin_db -#spring.datasource.password=AHdlypt@2023 -spring.datasource.url=jdbc:mysql://127.0.0.1:3306/gwjjspaq?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&serverTimezone=Asia/Shanghai -spring.datasource.username=mroot -spring.datasource.password=bonus@admin123 +spring.datasource.url=jdbc:mysql://20.51.8.11:13306/gwjjspaq?useUnicode=true&characterEncoding=UTF-8&serverTimezone=GMT%2B8 +spring.datasource.username=admin_db +spring.datasource.password=AHdlypt@2023 +#spring.datasource.url=jdbc:mysql://127.0.0.1:3306/gwjjspaq?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&serverTimezone=Asia/Shanghai +#spring.datasource.username=mroot +#spring.datasource.password=bonus@admin123 spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver ### datasource-pool spring.datasource.type=com.zaxxer.hikari.HikariDataSource diff --git a/xxl-job-executor-samples/xxl-job-executor-sample-springboot/src/main/resources/mapper/InterMapper.xml b/xxl-job-executor-samples/xxl-job-executor-sample-springboot/src/main/resources/mapper/InterMapper.xml index 3a9175b..a6def56 100644 --- a/xxl-job-executor-samples/xxl-job-executor-sample-springboot/src/main/resources/mapper/InterMapper.xml +++ b/xxl-job-executor-samples/xxl-job-executor-sample-springboot/src/main/resources/mapper/InterMapper.xml @@ -704,6 +704,26 @@ #{item.updateTime} ) + + REPLACE INTO jj_file( + id, tool_box_talk_id, onduty_record_id, file_type, prj_code, + shooting_longitude, shooting_latitude, shooting_address, shooting_time, watermark_file_id, file_id, + file_name, province_code, creater_id, create_time, updater_id, update_time, + delete_flag, suffix_type ) values + ( + #{item.id}, #{item.toolBoxTalkId}, #{item.ondutyRecordId}, #{item.fileType}, #{item.prjCode}, + #{item.shootingLongitude}, #{item.shootingLatitude}, #{item.shootingAddress}, #{item.shootingTime}, #{item.watermarkFileId}, #{item.fileId}, + #{item.fileName}, #{item.provinceCode}, #{item.createrId}, #{item.createTime}, #{item.updaterId}, #{item.updateTime}, + #{item.deleteFlag}, #{item.suffixType} ) + + + + + REPLACE INTO jj_weeks_info( + id,jl_unit,sg_unit,team_leader,bzaqy,team_num,team_name)values + (#{id},#{jlUnit},#{sgUnit},#{teamLeader},#{bzaqy},#{teamNum},#{teamName}) + + + + + + \ No newline at end of file