提交 153d6b53 作者: think

1.SampleApplicationProcess 加sys_incstatus字段

2.SampleApplicationProcess 表的一次性任务
上级 a19042e3
......@@ -616,6 +616,7 @@ public interface GPMapper {
@CacheEvict(key = "'selectSampleApplicationProcess'+':'+#p0.id")
public void deleteSampleApplicationProcess(SampleApplicationProcess item);
public List<SampleApplicationProcess> selectSampleApplicationProcessCheck(SampleApplicationProcess build);
public Long selectSampleApplicationProcessMaxRowNum();
@Cacheable(key = "#root.method.name+':'+#p0.id", unless="#result == null")
public SampleApplicationProcessMingXi selectSampleApplicationProcessMingXi(SampleApplicationProcessMingXi sfp); // 查询替代删除
......
......@@ -28,6 +28,8 @@ import com.huazheng.project.hana.model.T001w;
import com.huazheng.project.hana.model.T023t;
import com.huazheng.project.hana.model.Tspat;
import com.huazheng.project.hana.model.Tvkbt;
import com.huazheng.project.mssql.mapper.CrmMapper;
import com.huazheng.project.mssql.model.SampleApplicationProcess;
import com.huazheng.project.mssql2.mapper.HzcrmMapper;
import com.huazheng.project.mssql2.model.TKeHu;
import com.huazheng.project.mssql2.model.TKeHuXiaoShouZZ;
......@@ -65,6 +67,8 @@ public class DeleteUpdateJobServiceImpl {
private UltimusDBMapper ultimusDBMapper;
@Autowired
private Cinderellaw2Mapper cinderellaw2Mapper;
@Autowired
private CrmMapper crmMapper;
public String getErrorInfoFromException(Exception e) {
try {
......@@ -1102,4 +1106,60 @@ public class DeleteUpdateJobServiceImpl {
}
}
public void selectSampleApplicationProcessCheck() {
try {
ValueOperations<String, String> opsForValue = redis1Template.opsForValue();
opsForValue.setIfAbsent("huazheng:check:SampleApplicationProcess:rowNum", "0");
String rowNum = opsForValue.get("huazheng:check:SampleApplicationProcess:rowNum");
// 一次性任务的终止位
if (redis1Template.hasKey("huazheng:check:SampleApplicationProcess:stopNum") == false) {
// 查询最大计数器
String maxRowNum = gpMapper.selectSampleApplicationProcessMaxRowNum().toString();
opsForValue.setIfAbsent("huazheng:check:SampleApplicationProcess:stopNum", maxRowNum);
}
Long stopNum = Long.parseLong(opsForValue.get("huazheng:check:SampleApplicationProcess:stopNum"));
if (stopNum < Long.parseLong(rowNum)) {
JobKey jobKey = JobKey.jobKey("selectSampleApplicationProcessCheck_once", "DEFAULT"); // 删除任务
quartzScheduler.deleteJob(jobKey);
return;
}
SampleApplicationProcess build = SampleApplicationProcess.builder().rowNum(rowNum).build();
List<SampleApplicationProcess> list = gpMapper.selectSampleApplicationProcessCheck(build); // 从数仓中查询一组数据
if (list.size() == 0) {
JobKey jobKey = JobKey.jobKey("selectSampleApplicationProcessCheck_once", "DEFAULT"); // 删除任务
quartzScheduler.deleteJob(jobKey);
return;
}
list.forEach(target -> { // 遍历要检查的数据
SampleApplicationProcess source = crmMapper.selectSampleApplicationProcessById(target); // 根据主键查询源库中的数据
String operator = "none";
if (source == null) { // 如果源库中没有数据
gpMapper.deleteSampleApplicationProcess(target); // 删除数仓中的数据
operator = "delete";
} else { // 源库中有数据
String shash = SecureUtil.md5(JSONUtil.toJsonStr(source)); // 源库中数据的hash结果
String thash = target.getHashResult(); // 数仓中数据的hash结果
if (!shash.equals(thash)) { // 如果hash结果不一致
source.setHashResult(shash);
while (true) {
try {
gpMapper.updateSampleApplicationProcess(source); // 更新数据到数仓中
break;
} catch (RuntimeException e) {
log.error(e.getMessage());ThreadUtil.safeSleep(500);
}
}
ThreadUtil.safeSleep(500);
}
}
redis1Template.opsForValue().set("huazheng:check:SampleApplicationProcess:rowNum", target.getRowNum());
if (!operator.equals("none")) {
log.info(String.format("selectSampleApplicationProcessCheck --> rowNum:%s, operator:%s", target.getRowNum(), operator));
}
});
} catch (Exception e) {
redis1Template.opsForValue().set("huazheng:checkError:SampleApplicationProcess:rowNum", getErrorInfoFromException(e));
}
}
}
......@@ -36,6 +36,7 @@ public class SampleApplicationProcess implements Serializable {
private String jiFuBZ ; // 特殊要求
private Date sYS_UPDATETIME; // 接单时间
private String sys_incstatus; // 状态
private String pCBCS2chanPinYY;
private String ziSHiYBv; // 子事业部
......
......@@ -21,3 +21,4 @@ Distributed by (id);
alter table SampleApplicationProcess add column pCBCS2chanPinYY text;
alter table SampleApplicationProcess add column ziSHiYBv text;
alter table SampleApplicationProcess add column sys_incstatus text;
......@@ -291,9 +291,9 @@
</select>
<insert id="insertSampleApplicationProcess" parameterType="com.huazheng.project.mssql.model.SampleApplicationProcess">
insert into SampleApplicationProcess (id, dingDanLXv, dingDanLXt, sYS_INCIDENT, yeWuYID, xuFangGS, xuFangGSID,
yangPinLXv, yangPinLXt, pCBCS, chanPinYY, jiFuBZ, sYS_UPDATETIME,pCBCS2chanPinYY, ziSHiYBv, hashResult)
yangPinLXv, yangPinLXt, pCBCS, chanPinYY, jiFuBZ, sYS_UPDATETIME,pCBCS2chanPinYY, ziSHiYBv, sys_incstatus, hashResult)
values(#{id}, #{dingDanLXv}, #{dingDanLXt}, #{sYS_INCIDENT}, #{yeWuYID}, #{xuFangGS}, #{xuFangGSID},
#{yangPinLXv}, #{yangPinLXt}, #{pCBCS}, #{chanPinYY}, #{jiFuBZ}, #{sYS_UPDATETIME},#{pCBCS2chanPinYY},#{ziSHiYBv}, #{hashResult})
#{yangPinLXv}, #{yangPinLXt}, #{pCBCS}, #{chanPinYY}, #{jiFuBZ}, #{sYS_UPDATETIME},#{pCBCS2chanPinYY},#{ziSHiYBv},#{sys_incstatus},#{hashResult})
</insert>
<delete id="deleteSampleApplicationProcess" parameterType="com.huazheng.project.mssql.model.SampleApplicationProcess">
delete from SampleApplicationProcess where id = #{id}
......@@ -302,12 +302,16 @@
update SampleApplicationProcess set
dingDanLXv = #{dingDanLXv}, dingDanLXt = #{dingDanLXt}, sYS_INCIDENT = #{sYS_INCIDENT}, yeWuYID = #{yeWuYID}, xuFangGS = #{xuFangGS}, xuFangGSID = #{xuFangGSID},
yangPinLXv = #{yangPinLXv}, yangPinLXt = #{yangPinLXt}, pCBCS = #{pCBCS}, chanPinYY = #{chanPinYY}, jiFuBZ = #{jiFuBZ},
sYS_UPDATETIME = #{sYS_UPDATETIME},pCBCS2chanPinYY=#{pCBCS2chanPinYY},ziSHiYBv=#{ziSHiYBv}, hashResult = #{hashResult}
sYS_UPDATETIME = #{sYS_UPDATETIME},pCBCS2chanPinYY=#{pCBCS2chanPinYY},ziSHiYBv=#{ziSHiYBv}, sys_incstatus=#{sys_incstatus}, hashResult = #{hashResult}
where id = #{id}
</update>
<select id="selectSampleApplicationProcessCheck" parameterType="com.huazheng.project.mssql.model.SampleApplicationProcess" resultType="com.huazheng.project.mssql.model.SampleApplicationProcess">
select * from SampleApplicationProcess where rownum &gt; #{rowNum} order by rownum limit 20
</select>
<select id="selectSampleApplicationProcessMaxRowNum" resultType="long">
select max(rowNum) from SampleApplicationProcess
</select>
......
......@@ -28,7 +28,7 @@
<select id="selectSampleApplicationProcessNew" parameterType="SampleApplicationProcess" resultType="SampleApplicationProcess">
select top 20
id,dingDanLXv,dingDanLXt,sYS_INCIDENT,yeWuYID,xuFangGS,xuFangGSID,
yangPinLXv,yangPinLXt,pCBCS,chanPinYY,jiFuBZ,sYS_UPDATETIME,concat(pCBCS,'层/',chanPinYY) as pCBCS2chanPinYY,ziSHiYBv
yangPinLXv,yangPinLXt,pCBCS,chanPinYY,jiFuBZ,sYS_UPDATETIME,concat(pCBCS,'层/',chanPinYY) as pCBCS2chanPinYY,ziSHiYBv,sys_incstatus
from "Biz_样品申请流程"
where id &gt; #{id}
</select>
......@@ -93,7 +93,7 @@
<select id="selectSampleApplicationProcessCheckByUpdate" parameterType="SampleApplicationProcess" resultType="SampleApplicationProcess">
select top 20
id,dingDanLXv,dingDanLXt,sYS_INCIDENT,yeWuYID,xuFangGS,xuFangGSID,
yangPinLXv,yangPinLXt,pCBCS,chanPinYY,jiFuBZ,sYS_UPDATETIME,concat(pCBCS,'层/',chanPinYY) as pCBCS2chanPinYY,ziSHiYBv
yangPinLXv,yangPinLXt,pCBCS,chanPinYY,jiFuBZ,sYS_UPDATETIME,concat(pCBCS,'层/',chanPinYY) as pCBCS2chanPinYY,ziSHiYBv,sys_incstatus
from "Biz_样品申请流程"
where id &gt; #{id}
and sys_updatetime is not null and CONVERT(varchar(10),sys_updatetime,120) = CONVERT(varchar(10),GETDATE(),120)
......@@ -154,7 +154,7 @@
</select>
<select id="selectSampleApplicationProcessById" parameterType="SampleApplicationProcess" resultType="SampleApplicationProcess">
select id,dingDanLXv,dingDanLXt,sYS_INCIDENT,yeWuYID,xuFangGS,xuFangGSID,
yangPinLXv,yangPinLXt,pCBCS,chanPinYY,jiFuBZ,sYS_UPDATETIME,concat(pCBCS,'层/',chanPinYY) as pCBCS2chanPinYY,ziSHiYBv
yangPinLXv,yangPinLXt,pCBCS,chanPinYY,jiFuBZ,sYS_UPDATETIME,concat(pCBCS,'层/',chanPinYY) as pCBCS2chanPinYY,ziSHiYBv,sys_incstatus
from "Biz_样品申请流程"
where id = #{id}
</select>
......
......@@ -1261,6 +1261,16 @@
</property>
<property name="cronExpression" value="* * * * * ?" />
</bean>
<bean class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
<property name="jobDetail">
<bean parent="methodJobDetail">
<property name="name" value="selectSampleApplicationProcessCheck_once"/>
<property name="targetObject" ref="deleteUpdateJobServiceImpl" />
<property name="targetMethod" value="selectSampleApplicationProcessCheck" />
</bean>
</property>
<property name="cronExpression" value="* * * * * ?" />
</bean>
</list>
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论