| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081 |
- package com.uas.eis.task;
- import com.uas.eis.dao.BaseDao;
- import com.uas.eis.dao.SqlRowList;
- import com.uas.eis.task.httpclient.X5JsonHttpClient;
- import com.uas.eis.utils.Configuration;
- import org.slf4j.Logger;
- import org.slf4j.LoggerFactory;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.scheduling.annotation.EnableAsync;
- import org.springframework.scheduling.annotation.EnableScheduling;
- import org.springframework.scheduling.annotation.Scheduled;
- import org.springframework.stereotype.Component;
- import javax.annotation.Resource;
- import java.text.SimpleDateFormat;
- import java.util.*;
- /**
- * @Author chenwei
- * @Date 2022-06-14
- */
- @Component
- @EnableAsync
- @EnableScheduling
- public class SyncProductWIPTask {
- @Autowired
- private BaseDao baseDao;
- @Resource(name = "configuration")
- private Configuration configuration;
- private final Logger logger = LoggerFactory.getLogger(this.getClass());
- //@Scheduled(cron = "0 0 2,8,14,20 * * ?")
- //@Scheduled(cron = "0 0 2,8,14,20 * * ?")
- @Scheduled(cron = "0 0/2 * * * ?")
- public void SyncProductWIP() {
- SqlRowList rs2 = baseDao.queryForRowSet("select TO_CHAR(SYSDATE,'HH24') v_hour,TO_CHAR(SYSDATE,'MI') v_mi from dual");
- while(rs2.next()){
- String V_HOUR = rs2.getGeneralString("v_hour");
- String V_MI = rs2.getGeneralString("v_mi");
- if(("02".equals(V_HOUR) || "08".equals(V_HOUR) || "14".equals(V_HOUR) || "20".equals(V_HOUR) || "15".equals(V_HOUR) || "16".equals(V_HOUR) )
- //&& ("00".equals(V_MI) || "04".equals(V_MI) || "06".equals(V_MI))
- ){
- X5JsonHttpClient x5JsonHttpClient = new X5JsonHttpClient(configuration.getX5appid(),configuration.getX5appkey(),configuration.getX5ProductWIPUrl());
- Map<String,Object> data = new HashMap<>();
- SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
- String format = sf.format(new Date());
- data.put("request_time",format);
- List<Map<String,Object>> list = new ArrayList<>();
- String Sql="select * from (select rownum rn,to_char(cd_date_1,'yyyy-mm-dd hh24:mi:ss') cd_date_ywfs, A.* from (select ct_id,ct_code,CUSTOMTABLEDETAIL.* from CUSTOMTABLE left join CUSTOMTABLEDETAIL on ct_id=cd_ctid " +
- " where ct_caller='XiaoMiProductWIP' and ct_id= " +
- " (select ct_id from (select ct_id from CUSTOMTABLE where ct_caller='XiaoMiProductWIP' " +
- //"and trunc(ct_recorddate)=trunc(sysdate) " +
- "and ct_statuscode='AUDITED' and nvl(CT_SENDSTATUS,' ')<>'已上传' order by ct_id ) where rownum=1)" +
- " order by cd_detno) A) where rn<=1000";
- SqlRowList rs = baseDao.queryForRowSet(Sql);
- while (rs.next()){
- Map<String,Object> map = new HashMap<>();
- map.put("factory_code",configuration.getX5vendercode());
- map.put("component_code",rs.getGeneralString("cd_varchar50_1"));
- map.put("process",rs.getGeneralString("cd_varchar50_2"));
- map.put("line_id",rs.getGeneralString("cd_varchar50_3"));
- map.put("site_name",rs.getGeneralString("cd_varchar50_4"));
- map.put("wip_num",rs.getInt("cd_number_1"));
- map.put("project_name",rs.getGeneralString("cd_varchar50_5"));
- map.put("product_code",rs.getGeneralString("cd_varchar50_6"));
- map.put("fact_date",rs.getGeneralString("cd_date_ywfs"));
- map.put("ct_id",rs.getGeneralInt("ct_id"));
- list.add(map);
- }
- data.put("data",list);
- if(list.size()>0){
- x5JsonHttpClient.post(data, configuration, baseDao, "ProductWIP");
- }
- }
- }
- }
- }
|