jx pcn 数据复核
parent
e56bf6f6f1
commit
6b9d258845
@ -1,21 +1,21 @@
|
||||
package cn.estsh.i3plus.ext.mes.pcn.api.job.gz;
|
||||
package cn.estsh.i3plus.ext.mes.pcn.api.busi;
|
||||
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @Author: wangjie
|
||||
* @CreateDate: 2021/01/19 15:06 下午
|
||||
* @Description:
|
||||
**/
|
||||
public interface IGzThirdPartyDbCollectDataJobService {
|
||||
public interface ISxThirdPartyPlcCollectDataJobService {
|
||||
|
||||
/**
|
||||
* 第三方数据库数据采集定时任务
|
||||
* @param organizeCode 组织代码
|
||||
* @param cfgCode 配置代码
|
||||
* @param userInfo 操作人
|
||||
* 第三方PLC数据采集定时任务
|
||||
* @param paramMap 参数
|
||||
*/
|
||||
@ApiOperation(value = "第三方数据库数据采集定时任务", notes = "第三方数据库数据采集定时任务")
|
||||
void doThirdPartyDbCollectData(String organizeCode, String cfgCode, String userInfo);
|
||||
@ApiOperation(value = "第三方PLC数据采集定时任务", notes = "第三方PLC数据采集定时任务")
|
||||
void doThirdPartyPlcCollectData(Map<String, String> paramMap);
|
||||
|
||||
}
|
||||
|
@ -1,51 +1,48 @@
|
||||
package cn.estsh.i3plus.ext.mes.pcn.apiservice.schedulejob.gz;
|
||||
package cn.estsh.i3plus.ext.mes.pcn.apiservice.schedulejob;
|
||||
|
||||
import cn.estsh.i3plus.ext.mes.pcn.api.job.gz.IGzThirdPartyDbCollectDataJobService;
|
||||
import cn.estsh.i3plus.ext.mes.pcn.api.busi.ISxThirdPartyPlcCollectDataJobService;
|
||||
import cn.estsh.i3plus.ext.mes.pcn.pojo.util.MesPcnExtConstWords;
|
||||
import cn.estsh.impp.framework.boot.util.SpringContextsUtil;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.jboss.logging.Logger;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.quartz.DisallowConcurrentExecution;
|
||||
import org.quartz.Job;
|
||||
import org.quartz.JobExecutionContext;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.util.StringUtils;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @author wangjie
|
||||
* @version 1.0
|
||||
* @date 2021/2/2 16:44
|
||||
**/
|
||||
@Slf4j
|
||||
@DisallowConcurrentExecution
|
||||
@ApiOperation("第三方数据库数据采集定时任务")
|
||||
public class GzThirdPartyDbCollectDataJob implements Job {
|
||||
|
||||
private static final Logger LOGGER = Logger.getLogger(GzThirdPartyDbCollectDataJob.class);
|
||||
|
||||
@Autowired
|
||||
private IGzThirdPartyDbCollectDataJobService thirdPartyDbCollectDataJobService;
|
||||
@ApiOperation("第三方PLC数据采集定时任务")
|
||||
public class SxThirdPartyPlcCollectDataJob implements Job {
|
||||
|
||||
@Override
|
||||
public void execute(JobExecutionContext jobExecutionContext) {
|
||||
LOGGER.info("Pcn处理第三方数据库数据采集JOB开始执行...");
|
||||
|
||||
Object param = jobExecutionContext.getJobDetail().getJobDataMap().get(MesPcnExtConstWords.PARAM);
|
||||
if (StringUtils.isEmpty(param)) {
|
||||
LOGGER.error("Pcn处理第三方数据库数据采集JOB,未配置参数");
|
||||
return;
|
||||
}
|
||||
|
||||
String[] paramArr = param.toString().split(MesPcnExtConstWords.COMMA);
|
||||
if (paramArr.length != 2) {
|
||||
LOGGER.error("Pcn处理第三方数据库数据采集JOB,配置的参数无效");
|
||||
return;
|
||||
}
|
||||
if (StringUtils.isEmpty(param)) return;
|
||||
|
||||
log.info("第三方PLC数据采集 --- JOB START --- PARAM:{}", param.toString());
|
||||
|
||||
Map<String, String> paramMap = JSONObject.parseObject(param.toString(), Map.class);
|
||||
if (!paramMap.containsKey(MesPcnExtConstWords.ORGANIZE_CODE) || !paramMap.containsKey(MesPcnExtConstWords.STRATEGY_CLASS)) return;
|
||||
if (!paramMap.containsKey(MesPcnExtConstWords.USER_INFO)) paramMap.put(MesPcnExtConstWords.USER_INFO, MesPcnExtConstWords.JOB);
|
||||
|
||||
long startTime = System.currentTimeMillis();
|
||||
|
||||
thirdPartyDbCollectDataJobService.doThirdPartyDbCollectData(paramArr[0], paramArr[1], MesPcnExtConstWords.JOB);
|
||||
((ISxThirdPartyPlcCollectDataJobService) SpringContextsUtil.getBean(paramMap.get(MesPcnExtConstWords.STRATEGY_CLASS))).doThirdPartyPlcCollectData(paramMap);
|
||||
|
||||
long endTime = System.currentTimeMillis();
|
||||
LOGGER.info("Pcn处理第三方数据库数据采集JOB执行完成耗时: " + (endTime - startTime) + "ms");
|
||||
|
||||
log.info("第三方PLC数据采集 --- JOB END --- 耗时: {} ms", endTime - startTime);
|
||||
|
||||
}
|
||||
}
|
||||
|
@ -1,4 +1,54 @@
|
||||
package cn.estsh.i3plus.ext.mes.pcn.apiservice.serviceimpl.job;
|
||||
|
||||
public class SxThirdPartyPlcCollectCellTaktService {
|
||||
import cn.estsh.i3plus.ext.mes.pcn.api.busi.ISxThirdPartyPlcCollectDataJobService;
|
||||
import cn.estsh.i3plus.ext.mes.pcn.pojo.bean.SxWorkCellTaktCollectPlcCfg;
|
||||
import cn.estsh.i3plus.ext.mes.pcn.pojo.repository.SxWorkCellTaktCollectPlcCfgRepository;
|
||||
import cn.estsh.i3plus.ext.mes.pcn.pojo.util.MesPcnExtConstWords;
|
||||
import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.util.CollectionUtils;
|
||||
import org.springframework.util.StringUtils;
|
||||
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* 采集工位节拍实现
|
||||
*/
|
||||
@Service
|
||||
public class SxThirdPartyPlcCollectCellTaktService implements ISxThirdPartyPlcCollectDataJobService {
|
||||
|
||||
@Autowired
|
||||
private SxWorkCellTaktCollectPlcCfgRepository workCellTaktCollectPlcCfgRepository;
|
||||
|
||||
@Override
|
||||
public void doThirdPartyPlcCollectData(Map<String, String> paramMap) {
|
||||
|
||||
if (!checkConfigStatus(paramMap)) return;
|
||||
|
||||
List<SxWorkCellTaktCollectPlcCfg> workCellTaktCollectPlcCfgList = getWorkCellTaktCollectPlcCfgList(paramMap.get(MesPcnExtConstWords.ORGANIZE_CODE));
|
||||
|
||||
|
||||
}
|
||||
|
||||
private List<SxWorkCellTaktCollectPlcCfg> getWorkCellTaktCollectPlcCfgList(String organizeCode) {
|
||||
List<SxWorkCellTaktCollectPlcCfg> workCellTaktCollectPlcCfgList = workCellTaktCollectPlcCfgRepository.findByProperty(
|
||||
new String[]{MesPcnExtConstWords.ORGANIZE_CODE, MesPcnExtConstWords.IS_DELETED, MesPcnExtConstWords.IS_VALID, MesPcnExtConstWords.STATUS},
|
||||
new Object[]{organizeCode, CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue(), CommonEnumUtil.IS_VAILD.VAILD.getValue(), CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue()});
|
||||
workCellTaktCollectPlcCfgList = CollectionUtils.isEmpty(workCellTaktCollectPlcCfgList) ? null :
|
||||
workCellTaktCollectPlcCfgList.stream().filter(o -> (null != o && !StringUtils.isEmpty(o.getPlcCode()))).distinct().collect(Collectors.collectingAndThen(
|
||||
Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(o -> new StringJoiner(MesPcnExtConstWords.AND).add(o.getWorkCenterCode()).add(o.getWorkCellCode()).toString()))), ArrayList::new));
|
||||
workCellTaktCollectPlcCfgList = CollectionUtils.isEmpty(workCellTaktCollectPlcCfgList) ? null :
|
||||
workCellTaktCollectPlcCfgList.stream().filter(o -> (null != o && !StringUtils.isEmpty(o.getPlcCode()))).distinct().collect(Collectors.collectingAndThen(
|
||||
Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(SxWorkCellTaktCollectPlcCfg::getPlcCode))), ArrayList::new));
|
||||
return workCellTaktCollectPlcCfgList;
|
||||
}
|
||||
|
||||
private Boolean checkConfigStatus(Map<String, String> paramMap) {
|
||||
if (paramMap.containsKey(MesPcnExtConstWords.STATUS) && paramMap.get(MesPcnExtConstWords.STATUS).equals(CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValueStr())) return true;
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
}
|
||||
|
Loading…
Reference in New Issue