添加功能

This commit is contained in:
yangjun 2024-11-04 09:20:32 +08:00
parent 52a9fa8c9d
commit 9da8923288
9 changed files with 282 additions and 3 deletions

View File

@ -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);
}
}

View File

@ -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);
}
}

View File

@ -16,4 +16,6 @@ import java.util.List;
public interface JwxtXsmdMapper extends BaseMapper<JwxtXsmd> {
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);
}

View File

@ -13,4 +13,16 @@
)
WHERE rnum >= ${startNum}
</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 &gt;= #{startTime} and cjsj &lt;= #{endTime}
) a
WHERE ROWNUM &lt; ${endNum}
)
WHERE rnum >= ${startNum}
</select>
</mapper>

View File

@ -15,4 +15,6 @@ import java.util.List;
public interface JwxtXsmdService extends IService<JwxtXsmd> {
List<JwxtXsmd> listFy(int startNum, int endNum);
List<JwxtXsmd> listFyNew(int startNum, int endNum, String startTime, String endTime);
}

View File

@ -27,4 +27,9 @@ public class JwxtXsmdServiceImpl extends ServiceImpl<JwxtXsmdMapper, JwxtXsmd> i
public List<JwxtXsmd> listFy(int startNum, int 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);
}
}

View File

@ -276,6 +276,7 @@ public class XbfwdtsjTask extends BaseSync {
}
qwKeTang.eq("hh",hh);
qwKeTang.eq("is_delete","0");
qwKeTang.last("limit 1");
KcKetangbiao ketangbiao = kcKetangbiaoService.getOne(qwKeTang);
if(ketangbiao == null) {
@ -284,6 +285,7 @@ public class XbfwdtsjTask extends BaseSync {
qwKeTang2.eq("kcmc",x.getTkkcmc());
qwKeTang2.eq("skjs",x.getRkjs());
qwKeTang2.eq("skrq",DateUtil.format(main.getUpDate(), DatePattern.NORM_DATE_FORMAT));
qwKeTang2.eq("is_delete","0");
qwKeTang2.last("limit 1");
ketangbiao = kcKetangbiaoService.getOne(qwKeTang2);
}

View File

@ -132,7 +132,8 @@
and a.skdd = b.skdd
and a.sksj = b.sksj
and a.XNXQ = b.xnxq
and b.jkzc = a.jkzc
and a.jkzc = b.jkzc
and a.xkrs = b.xkrs
</update>

View File

@ -179,7 +179,8 @@
count( kt.id ) kkkts
FROM
kc_ketangbiao kt
<where>
where kt.is_delete = '0'
and kt.kkdwid is not null
<if test="kcTingke.startTime != null and kcTingke.startTime != ''">
and kt.skrq &gt;= #{kcTingke.startTime}
</if>
@ -195,7 +196,6 @@
<if test="kcTingke.kcxz != null and kcTingke.kcxz != ''">
AND kcxz = #{kcTingke.kcxz}
</if>
</where>
GROUP BY
kt.kkdw,
kt.kkdwid
@ -222,6 +222,8 @@
WHERE
kt.id = tk.kechengbiaoid
AND tk.userid = cu.USER
and kt.is_delete = '0'
and kt.kkdwid is not null
<if test="kcTingke.startTime != null and kcTingke.startTime != ''">
and kt.skrq &gt;= #{kcTingke.startTime}
</if>
@ -255,6 +257,8 @@
AND kt.id = tk.kechengbiaoid
AND tk.userid = au.usercode
AND assess2 = '校督学'
and kt.is_delete = '0'
and kt.kkdwid is not null
<if test="kcTingke.startTime != null and kcTingke.startTime != ''">
and kt.skrq &gt;= #{kcTingke.startTime}
</if>
@ -301,6 +305,8 @@
WHERE
kt.id = ev.minkcid
AND ev.upuserid = cu.USER
and kt.is_delete = '0'
and kt.kkdwid is not null
<if test="kcTingke.startTime != null and kcTingke.startTime != ''">
and kt.skrq &gt;= #{kcTingke.startTime}
</if>
@ -333,6 +339,8 @@
kt.kkdw = au.dwmc
AND kt.id = ev.minkcid
AND ev.upuserid = au.usercode
and kt.is_delete = '0'
and kt.kkdwid is not null
<if test="kcTingke.startTime != null and kcTingke.startTime != ''">
and kt.skrq &gt;= #{kcTingke.startTime}
</if>