|
|
@@ -418,4 +418,91 @@ public class ScheduleTask3 {
|
|
|
}
|
|
|
|
|
|
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 同步销售项目数据(补充实际收到RFQ日期)
|
|
|
+ */
|
|
|
+// @Scheduled(cron = "0 2 15 * * ?")
|
|
|
+ public void syncSaleProjectData20260707() {
|
|
|
+ //查询所有询价与报价记录
|
|
|
+ List<Map> rfqData = new ArrayList<>();
|
|
|
+ try {
|
|
|
+ log.info("查询询价与报价记录");
|
|
|
+ rfqData = yidaService.queryLtcRFQData();
|
|
|
+ } catch (Exception e) {
|
|
|
+ log.error("查询询价与报价记录异常",e);
|
|
|
+ }
|
|
|
+
|
|
|
+ //列出所有询价时间
|
|
|
+// for(Map rfqRecord : rfqData){
|
|
|
+// log.info("询价时间:"+rfqRecord.get("projectCode")+" "+rfqRecord.get("getRfqDate"));
|
|
|
+// }
|
|
|
+
|
|
|
+ //每个销售项目只保留最早询价时间的记录
|
|
|
+ List<Map> newRfqData = new ArrayList<>();
|
|
|
+ boolean isNew = true;
|
|
|
+ for(Map rfqRecord : rfqData){
|
|
|
+ isNew = true;
|
|
|
+ for (int i = 0; i < newRfqData.size(); i++) {
|
|
|
+ if(rfqRecord.get("projectCode").equals(newRfqData.get(i).get("projectCode"))){
|
|
|
+ if(rfqRecord.get("getRfqDate").toString().compareTo(newRfqData.get(i).get("getRfqDate").toString()) < 0){
|
|
|
+// System.out.println(newRfqData.get(i).get("projectCode")+" "+newRfqData.get(i).get("getRfqDate"));
|
|
|
+ newRfqData.remove(i);
|
|
|
+// System.out.println("询价时间更早:"+rfqRecord.get("projectCode")+" "+rfqRecord.get("getRfqDate"));
|
|
|
+ newRfqData.add(rfqRecord);
|
|
|
+ }
|
|
|
+ isNew = false;
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if(isNew){
|
|
|
+ newRfqData.add(rfqRecord);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ System.out.println("询价时间去重后数量:"+newRfqData.size());
|
|
|
+
|
|
|
+ //查询所有AI表格已成单【表1】售前台账数据
|
|
|
+ Map params = null;
|
|
|
+ List<Map> saleData = new ArrayList<>();
|
|
|
+ try {
|
|
|
+ log.info("查询【表1】售前台账记录");
|
|
|
+ params = new HashMap<>();
|
|
|
+ saleData = aitableService.querySys1SaleData(params);
|
|
|
+ } catch (Exception e) {
|
|
|
+ log.error("查询售前台账数据异常",e);
|
|
|
+ }
|
|
|
+
|
|
|
+ //列出实际收到RFQ日期为空的记录
|
|
|
+ String aiTableId;
|
|
|
+ Map<String,Object> fields;
|
|
|
+ for(Map saleRecord : saleData){
|
|
|
+ if(StringUtils.isEmpty(saleRecord.get("getRfqDate").toString())){
|
|
|
+ aiTableId = saleRecord.get("aiTableId").toString();
|
|
|
+ fields = new HashMap<>();
|
|
|
+ log.info("实际收到RFQ日期为空:"+saleRecord.get("projectCode")+" "+saleRecord.get("projectName"));
|
|
|
+ for (int i = 0; i < newRfqData.size(); i++) {
|
|
|
+ if(saleRecord.get("projectCode").equals(newRfqData.get(i).get("projectCode"))){
|
|
|
+ fields.put("ZFArSI6",Long.parseLong(newRfqData.get(i).get("getRfqDate").toString())); //实际收到RFQ日期
|
|
|
+ try {
|
|
|
+ log.info("更新实际收到RFQ日期");
|
|
|
+ System.out.println(saleRecord.get("projectCode"));
|
|
|
+ System.out.println(JSONObject.toJSONString(fields));
|
|
|
+ aitableService.updateSys1SaleData(aiTableId,fields);
|
|
|
+ Thread.sleep(3000);
|
|
|
+ } catch (Exception e) {
|
|
|
+ System.err.println("更新售前台账数据异常:"+e.getMessage());
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ log.info("同步销售项目数据(补充实际收到RFQ日期)完成");
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
}
|