添加功能
This commit is contained in:
parent
52a9fa8c9d
commit
9da8923288
|
@ -0,0 +1,131 @@
|
||||||
|
package org.jeecg.modules.demo.sync;
|
||||||
|
|
||||||
|
import cn.hutool.core.bean.BeanUtil;
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.apache.commons.compress.utils.Lists;
|
||||||
|
import org.jeecg.common.util.text.StringUtils;
|
||||||
|
import org.jeecg.modules.demo.xxhbjwxtjxrw.entity.JwxtJxrw;
|
||||||
|
import org.jeecg.modules.demo.xxhbjwxtjxrw.entity.Xxhbjwxtjxrw;
|
||||||
|
import org.jeecg.modules.demo.xxhbjwxtjxrw.service.IXxhbjwxtjxrwService;
|
||||||
|
import org.jeecg.modules.demo.xxhbjwxtjxrw.service.JwxtJxrwService;
|
||||||
|
import org.jeecg.modules.demo.xxhbjwxtscwjxx.entity.JwxtScwjxx;
|
||||||
|
import org.jeecg.modules.demo.xxhbjwxtscwjxx.entity.Xxhbjwxtscwjxx;
|
||||||
|
import org.jeecg.modules.demo.xxhbjwxtscwjxx.service.IXxhbjwxtscwjxxService;
|
||||||
|
import org.jeecg.modules.demo.xxhbjwxtscwjxx.service.JwxtscwjxxService;
|
||||||
|
import org.jeecg.modules.demo.xxhbjwxtxsmd.service.IXxhbjwxtxsmdService;
|
||||||
|
import org.jeecg.modules.demo.xxhbjwxtxsmd.service.JwxtXsmdService;
|
||||||
|
import org.quartz.JobExecutionContext;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
@Slf4j
|
||||||
|
public class SyncJwxtNew extends BaseSync {
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private JwxtJxrwService expJxrwService;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private IXxhbjwxtjxrwService impJxrwService;
|
||||||
|
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private JwxtscwjxxService expScwjxxService;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private IXxhbjwxtscwjxxService impScwjxxService;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private JwxtXsmdService expXsmdService;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private IXxhbjwxtxsmdService impXsmdService;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 若参数变量名修改 QuartzJobController中也需对应修改
|
||||||
|
*/
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void execute(JobExecutionContext jobExecutionContext) {
|
||||||
|
start();
|
||||||
|
run(getParamMap());
|
||||||
|
end();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 有参定时任务实现
|
||||||
|
* @param param
|
||||||
|
*/
|
||||||
|
public void run(Map<String, Object> param){
|
||||||
|
|
||||||
|
String xnxqdm = (String) param.get("xnxqdm");
|
||||||
|
String startTime = (String) param.get("startTime");
|
||||||
|
String endTime = (String) param.get("endTime");
|
||||||
|
if(StringUtils.isEmpty(xnxqdm)){
|
||||||
|
xnxqdm = "202401";
|
||||||
|
}
|
||||||
|
if(StringUtils.isEmpty(startTime)){
|
||||||
|
startTime = "2024-08-01 00:00:00";
|
||||||
|
}
|
||||||
|
if(StringUtils.isEmpty(endTime)){
|
||||||
|
endTime = "2025-02-01 00:00:00";
|
||||||
|
}
|
||||||
|
//查询数据
|
||||||
|
QueryWrapper<JwxtJxrw> queryWrapper = new QueryWrapper<>();
|
||||||
|
queryWrapper.eq("xnxqdm",xnxqdm);
|
||||||
|
List<JwxtJxrw> inDataList = expJxrwService.list(queryWrapper);
|
||||||
|
List<Xxhbjwxtjxrw> outDataList = Lists.newArrayList();
|
||||||
|
|
||||||
|
System.out.println("---------------------------------------------------------------------------");
|
||||||
|
System.out.println("--------------查询第1个"+inDataList.size()+"--------------------");
|
||||||
|
System.out.println("---------------------------------------------------------------------------");
|
||||||
|
|
||||||
|
//查询数据
|
||||||
|
List<JwxtScwjxx> in1DataList = expScwjxxService.list();
|
||||||
|
List<Xxhbjwxtscwjxx> out1DataList = Lists.newArrayList();
|
||||||
|
|
||||||
|
System.out.println("---------------------------------------------------------------------------");
|
||||||
|
System.out.println("--------------查询第2个"+in1DataList.size()+"--------------------");
|
||||||
|
System.out.println("---------------------------------------------------------------------------");
|
||||||
|
|
||||||
|
//清洗数据
|
||||||
|
inDataList.forEach(x -> outDataList.add(BeanUtil.toBean(x, Xxhbjwxtjxrw.class)));
|
||||||
|
in1DataList.forEach(x -> out1DataList.add(BeanUtil.toBean(x, Xxhbjwxtscwjxx.class)));
|
||||||
|
|
||||||
|
//删除数据
|
||||||
|
QueryWrapper dqw = new QueryWrapper();
|
||||||
|
queryWrapper.eq("xnxqdm",xnxqdm);
|
||||||
|
impJxrwService.remove(dqw);
|
||||||
|
QueryWrapper dqw1 = new QueryWrapper();
|
||||||
|
dqw1.ge("cjsj",startTime);
|
||||||
|
dqw1.le("cjsj",endTime);
|
||||||
|
impScwjxxService.remove(dqw1);
|
||||||
|
//保存到胃
|
||||||
|
try {
|
||||||
|
System.out.println("---------------------------------------------------------------------------");
|
||||||
|
System.out.println("--------------插入第一个"+outDataList.size()+"--------------------");
|
||||||
|
System.out.println("---------------------------------------------------------------------------");
|
||||||
|
impJxrwService.syncList(outDataList);
|
||||||
|
|
||||||
|
System.out.println("---------------------------------------------------------------------------");
|
||||||
|
System.out.println("--------------插入第二个"+out1DataList.size()+"--------------------");
|
||||||
|
System.out.println("---------------------------------------------------------------------------");
|
||||||
|
impScwjxxService.syncList(out1DataList);
|
||||||
|
|
||||||
|
}catch (Exception e){
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 无参定时任务实现
|
||||||
|
*/
|
||||||
|
public void run(){
|
||||||
|
run(null);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,116 @@
|
||||||
|
package org.jeecg.modules.demo.sync;
|
||||||
|
|
||||||
|
import cn.hutool.core.bean.BeanUtil;
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.apache.commons.compress.utils.Lists;
|
||||||
|
import org.jeecg.common.util.text.StringUtils;
|
||||||
|
import org.jeecg.modules.demo.xxhbjwxtjxrw.service.IXxhbjwxtjxrwService;
|
||||||
|
import org.jeecg.modules.demo.xxhbjwxtjxrw.service.JwxtJxrwService;
|
||||||
|
import org.jeecg.modules.demo.xxhbjwxtscwjxx.service.IXxhbjwxtscwjxxService;
|
||||||
|
import org.jeecg.modules.demo.xxhbjwxtscwjxx.service.JwxtscwjxxService;
|
||||||
|
import org.jeecg.modules.demo.xxhbjwxtxsmd.entity.JwxtXsmd;
|
||||||
|
import org.jeecg.modules.demo.xxhbjwxtxsmd.entity.Xxhbjwxtxsmd;
|
||||||
|
import org.jeecg.modules.demo.xxhbjwxtxsmd.service.IXxhbjwxtxsmdService;
|
||||||
|
import org.jeecg.modules.demo.xxhbjwxtxsmd.service.JwxtXsmdService;
|
||||||
|
import org.quartz.JobExecutionContext;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
@Slf4j
|
||||||
|
public class SyncJwxtXsmdNew extends BaseSync {
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private JwxtJxrwService expJxrwService;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private IXxhbjwxtjxrwService impJxrwService;
|
||||||
|
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private JwxtscwjxxService expScwjxxService;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private IXxhbjwxtscwjxxService impScwjxxService;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private JwxtXsmdService expXsmdService;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private IXxhbjwxtxsmdService impXsmdService;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 若参数变量名修改 QuartzJobController中也需对应修改
|
||||||
|
*/
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void execute(JobExecutionContext jobExecutionContext) {
|
||||||
|
start();
|
||||||
|
run(getParamMap());
|
||||||
|
end();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 有参定时任务实现
|
||||||
|
* @param param
|
||||||
|
*/
|
||||||
|
public void run(Map<String, Object> param){
|
||||||
|
// LIMIT 10 OFFSET 10
|
||||||
|
String startTime = (String) param.get("startTime");
|
||||||
|
String endTime = (String) param.get("endTime");
|
||||||
|
if(StringUtils.isEmpty(startTime)){
|
||||||
|
startTime = "2024-08-01 00:00:00";
|
||||||
|
}
|
||||||
|
if(StringUtils.isEmpty(endTime)){
|
||||||
|
endTime = "2025-02-01 00:00:00";
|
||||||
|
}
|
||||||
|
int pageSize = 100000;
|
||||||
|
QueryWrapper dqw2 = new QueryWrapper();
|
||||||
|
// dqw2.ge("cjsj",startTime);
|
||||||
|
// dqw2.le("cjsj",endTime);
|
||||||
|
impXsmdService.remove(dqw2);
|
||||||
|
for(int i=0;i<30;i++){
|
||||||
|
//查询数据
|
||||||
|
// QueryWrapper sqw = new QueryWrapper();
|
||||||
|
// sqw.eq("xsztmc","在校生");
|
||||||
|
// sqw.ge("cjsj",startTime);
|
||||||
|
// sqw.le("cjsj",endTime);
|
||||||
|
// sqw.last("LIMIT "+pageSize+" OFFSET "+(i*pageSize));
|
||||||
|
int startNum = i*pageSize;
|
||||||
|
int endNum = (i+1)*pageSize;
|
||||||
|
System.out.println("---------------------------------------------------------------------------");
|
||||||
|
System.out.println("--------------第"+i+"次查询--"+startNum+"---"+endNum+"---------------");
|
||||||
|
System.out.println("---------------------------------------------------------------------------");
|
||||||
|
List<JwxtXsmd> in2DataList = expXsmdService.listFyNew(startNum,endNum,startTime,endTime);
|
||||||
|
if(in2DataList.size()==0){//没有数据量就停止循环
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
List<Xxhbjwxtxsmd> out2DataList = Lists.newArrayList();
|
||||||
|
//清洗数据
|
||||||
|
in2DataList.forEach(x -> out2DataList.add(BeanUtil.toBean(x, Xxhbjwxtxsmd.class)));
|
||||||
|
//保存到胃
|
||||||
|
try {
|
||||||
|
System.out.println("---------------------------------------------------------------------------");
|
||||||
|
System.out.println("--------------第"+i+"次插入,目前到"+(i*pageSize)+"这个数据--------------------");
|
||||||
|
System.out.println("---------------------------------------------------------------------------");
|
||||||
|
impXsmdService.syncList(out2DataList);
|
||||||
|
}catch (Exception e){
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 无参定时任务实现
|
||||||
|
*/
|
||||||
|
public void run(){
|
||||||
|
run(null);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -16,4 +16,6 @@ import java.util.List;
|
||||||
public interface JwxtXsmdMapper extends BaseMapper<JwxtXsmd> {
|
public interface JwxtXsmdMapper extends BaseMapper<JwxtXsmd> {
|
||||||
|
|
||||||
List<JwxtXsmd> listFy(@Param("startNum") int startNum,@Param("endNum") int endNum);
|
List<JwxtXsmd> listFy(@Param("startNum") int startNum,@Param("endNum") int endNum);
|
||||||
|
|
||||||
|
List<JwxtXsmd> listFyNew(@Param("startNum")int startNum, @Param("endNum")int endNum, @Param("startTime")String startTime, @Param("endTime")String endTime);
|
||||||
}
|
}
|
||||||
|
|
|
@ -13,4 +13,16 @@
|
||||||
)
|
)
|
||||||
WHERE rnum >= ${startNum}
|
WHERE rnum >= ${startNum}
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
<select id="listFyNew" parameterType="java.lang.Integer" resultType="org.jeecg.modules.demo.xxhbjwxtxsmd.entity.JwxtXsmd">
|
||||||
|
SELECT *
|
||||||
|
FROM (
|
||||||
|
SELECT a.*, ROWNUM rnum
|
||||||
|
FROM (
|
||||||
|
SELECT * FROM v_jwxt_xsmd where cjsj >= #{startTime} and cjsj <= #{endTime}
|
||||||
|
) a
|
||||||
|
WHERE ROWNUM < ${endNum}
|
||||||
|
)
|
||||||
|
WHERE rnum >= ${startNum}
|
||||||
|
</select>
|
||||||
</mapper>
|
</mapper>
|
|
@ -15,4 +15,6 @@ import java.util.List;
|
||||||
public interface JwxtXsmdService extends IService<JwxtXsmd> {
|
public interface JwxtXsmdService extends IService<JwxtXsmd> {
|
||||||
|
|
||||||
List<JwxtXsmd> listFy(int startNum, int endNum);
|
List<JwxtXsmd> listFy(int startNum, int endNum);
|
||||||
|
|
||||||
|
List<JwxtXsmd> listFyNew(int startNum, int endNum, String startTime, String endTime);
|
||||||
}
|
}
|
||||||
|
|
|
@ -27,4 +27,9 @@ public class JwxtXsmdServiceImpl extends ServiceImpl<JwxtXsmdMapper, JwxtXsmd> i
|
||||||
public List<JwxtXsmd> listFy(int startNum, int endNum) {
|
public List<JwxtXsmd> listFy(int startNum, int endNum) {
|
||||||
return baseMapper.listFy(startNum,endNum);
|
return baseMapper.listFy(startNum,endNum);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<JwxtXsmd> listFyNew(int startNum, int endNum, String startTime, String endTime) {
|
||||||
|
return baseMapper.listFyNew(startNum,endNum,startTime,endTime);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -276,6 +276,7 @@ public class XbfwdtsjTask extends BaseSync {
|
||||||
}
|
}
|
||||||
|
|
||||||
qwKeTang.eq("hh",hh);
|
qwKeTang.eq("hh",hh);
|
||||||
|
qwKeTang.eq("is_delete","0");
|
||||||
qwKeTang.last("limit 1");
|
qwKeTang.last("limit 1");
|
||||||
KcKetangbiao ketangbiao = kcKetangbiaoService.getOne(qwKeTang);
|
KcKetangbiao ketangbiao = kcKetangbiaoService.getOne(qwKeTang);
|
||||||
if(ketangbiao == null) {
|
if(ketangbiao == null) {
|
||||||
|
@ -284,6 +285,7 @@ public class XbfwdtsjTask extends BaseSync {
|
||||||
qwKeTang2.eq("kcmc",x.getTkkcmc());
|
qwKeTang2.eq("kcmc",x.getTkkcmc());
|
||||||
qwKeTang2.eq("skjs",x.getRkjs());
|
qwKeTang2.eq("skjs",x.getRkjs());
|
||||||
qwKeTang2.eq("skrq",DateUtil.format(main.getUpDate(), DatePattern.NORM_DATE_FORMAT));
|
qwKeTang2.eq("skrq",DateUtil.format(main.getUpDate(), DatePattern.NORM_DATE_FORMAT));
|
||||||
|
qwKeTang2.eq("is_delete","0");
|
||||||
qwKeTang2.last("limit 1");
|
qwKeTang2.last("limit 1");
|
||||||
ketangbiao = kcKetangbiaoService.getOne(qwKeTang2);
|
ketangbiao = kcKetangbiaoService.getOne(qwKeTang2);
|
||||||
}
|
}
|
||||||
|
|
|
@ -132,7 +132,8 @@
|
||||||
and a.skdd = b.skdd
|
and a.skdd = b.skdd
|
||||||
and a.sksj = b.sksj
|
and a.sksj = b.sksj
|
||||||
and a.XNXQ = b.xnxq
|
and a.XNXQ = b.xnxq
|
||||||
and b.jkzc = a.jkzc
|
and a.jkzc = b.jkzc
|
||||||
|
and a.xkrs = b.xkrs
|
||||||
</update>
|
</update>
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -179,7 +179,8 @@
|
||||||
count( kt.id ) kkkts
|
count( kt.id ) kkkts
|
||||||
FROM
|
FROM
|
||||||
kc_ketangbiao kt
|
kc_ketangbiao kt
|
||||||
<where>
|
where kt.is_delete = '0'
|
||||||
|
and kt.kkdwid is not null
|
||||||
<if test="kcTingke.startTime != null and kcTingke.startTime != ''">
|
<if test="kcTingke.startTime != null and kcTingke.startTime != ''">
|
||||||
and kt.skrq >= #{kcTingke.startTime}
|
and kt.skrq >= #{kcTingke.startTime}
|
||||||
</if>
|
</if>
|
||||||
|
@ -195,7 +196,6 @@
|
||||||
<if test="kcTingke.kcxz != null and kcTingke.kcxz != ''">
|
<if test="kcTingke.kcxz != null and kcTingke.kcxz != ''">
|
||||||
AND kcxz = #{kcTingke.kcxz}
|
AND kcxz = #{kcTingke.kcxz}
|
||||||
</if>
|
</if>
|
||||||
</where>
|
|
||||||
GROUP BY
|
GROUP BY
|
||||||
kt.kkdw,
|
kt.kkdw,
|
||||||
kt.kkdwid
|
kt.kkdwid
|
||||||
|
@ -222,6 +222,8 @@
|
||||||
WHERE
|
WHERE
|
||||||
kt.id = tk.kechengbiaoid
|
kt.id = tk.kechengbiaoid
|
||||||
AND tk.userid = cu.USER
|
AND tk.userid = cu.USER
|
||||||
|
and kt.is_delete = '0'
|
||||||
|
and kt.kkdwid is not null
|
||||||
<if test="kcTingke.startTime != null and kcTingke.startTime != ''">
|
<if test="kcTingke.startTime != null and kcTingke.startTime != ''">
|
||||||
and kt.skrq >= #{kcTingke.startTime}
|
and kt.skrq >= #{kcTingke.startTime}
|
||||||
</if>
|
</if>
|
||||||
|
@ -255,6 +257,8 @@
|
||||||
AND kt.id = tk.kechengbiaoid
|
AND kt.id = tk.kechengbiaoid
|
||||||
AND tk.userid = au.usercode
|
AND tk.userid = au.usercode
|
||||||
AND assess2 = '校督学'
|
AND assess2 = '校督学'
|
||||||
|
and kt.is_delete = '0'
|
||||||
|
and kt.kkdwid is not null
|
||||||
<if test="kcTingke.startTime != null and kcTingke.startTime != ''">
|
<if test="kcTingke.startTime != null and kcTingke.startTime != ''">
|
||||||
and kt.skrq >= #{kcTingke.startTime}
|
and kt.skrq >= #{kcTingke.startTime}
|
||||||
</if>
|
</if>
|
||||||
|
@ -301,6 +305,8 @@
|
||||||
WHERE
|
WHERE
|
||||||
kt.id = ev.minkcid
|
kt.id = ev.minkcid
|
||||||
AND ev.upuserid = cu.USER
|
AND ev.upuserid = cu.USER
|
||||||
|
and kt.is_delete = '0'
|
||||||
|
and kt.kkdwid is not null
|
||||||
<if test="kcTingke.startTime != null and kcTingke.startTime != ''">
|
<if test="kcTingke.startTime != null and kcTingke.startTime != ''">
|
||||||
and kt.skrq >= #{kcTingke.startTime}
|
and kt.skrq >= #{kcTingke.startTime}
|
||||||
</if>
|
</if>
|
||||||
|
@ -333,6 +339,8 @@
|
||||||
kt.kkdw = au.dwmc
|
kt.kkdw = au.dwmc
|
||||||
AND kt.id = ev.minkcid
|
AND kt.id = ev.minkcid
|
||||||
AND ev.upuserid = au.usercode
|
AND ev.upuserid = au.usercode
|
||||||
|
and kt.is_delete = '0'
|
||||||
|
and kt.kkdwid is not null
|
||||||
<if test="kcTingke.startTime != null and kcTingke.startTime != ''">
|
<if test="kcTingke.startTime != null and kcTingke.startTime != ''">
|
||||||
and kt.skrq >= #{kcTingke.startTime}
|
and kt.skrq >= #{kcTingke.startTime}
|
||||||
</if>
|
</if>
|
||||||
|
|
Loading…
Reference in New Issue