From a5aa9503efd20103df066219c512b47b7f65e363 Mon Sep 17 00:00:00 2001 From: zhangherong <571457620@qq.com> Date: 星期六, 02 八月 2025 11:57:49 +0800 Subject: [PATCH] art: 生产订单同步定时任务调试,问题修改 --- src/main/java/org/jeecg/modules/sap/controller/SAPTestController.java | 2 src/main/java/org/jeecg/modules/mes/service/IMesProductionOrderService.java | 12 +++ src/main/java/org/jeecg/modules/mes/mapper/MesProductionOrderMapper.java | 13 +++ src/main/java/org/jeecg/modules/mes/job/ProductionOrderSyncCreationJob.java | 42 +++++++++- src/main/java/org/jeecg/modules/mes/mapper/xml/MesProductionOrderMapper.xml | 7 + src/main/java/org/jeecg/modules/mes/service/impl/MesProductionOrderServiceImpl.java | 29 ++++-- src/main/java/org/jeecg/modules/mes/job/ProductionOrderSyncUpdateJob.java | 52 ++++++++++-- src/main/java/org/jeecg/modules/pms/service/impl/PmsMaterialProcessServiceImpl.java | 2 src/main/java/org/jeecg/modules/sap/service/ProductionOrderSync.java | 2 src/main/java/org/jeecg/modules/sap/service/impl/ProductionOrderSyncImpl.java | 36 ++++++-- 10 files changed, 160 insertions(+), 37 deletions(-) diff --git a/src/main/java/org/jeecg/modules/mes/job/ProductionOrderSyncJob.java b/src/main/java/org/jeecg/modules/mes/job/ProductionOrderSyncCreationJob.java similarity index 75% rename from src/main/java/org/jeecg/modules/mes/job/ProductionOrderSyncJob.java rename to src/main/java/org/jeecg/modules/mes/job/ProductionOrderSyncCreationJob.java index f6db679..086a7b1 100644 --- a/src/main/java/org/jeecg/modules/mes/job/ProductionOrderSyncJob.java +++ b/src/main/java/org/jeecg/modules/mes/job/ProductionOrderSyncCreationJob.java @@ -1,10 +1,16 @@ package org.jeecg.modules.mes.job; import lombok.extern.slf4j.Slf4j; +import org.jeecg.modules.mdc.util.DateUtils; +import org.jeecg.modules.mdc.util.ThrowableUtil; import org.jeecg.modules.mes.entity.MesProductionOrder; import org.jeecg.modules.mes.service.IMesProductionOrderService; import org.jeecg.modules.pms.service.IPmsMaterialProcessService; import org.jeecg.modules.pms.service.IPmsProcessBillMaterialsService; +import org.jeecg.modules.quartz.entity.QuartzJob; +import org.jeecg.modules.quartz.entity.SysQuartzLog; +import org.jeecg.modules.quartz.service.IQuartzJobService; +import org.jeecg.modules.quartz.service.ISysQuartzLogService; import org.jeecg.modules.sap.dto.OrderBomDTO; import org.jeecg.modules.sap.dto.OrderProcessDTO; import org.jeecg.modules.sap.dto.ProductionOrderDTO; @@ -18,12 +24,13 @@ import org.springframework.stereotype.Component; import java.time.LocalDateTime; +import java.util.Date; import java.util.List; import java.util.Map; @Component @Slf4j -public class ProductionOrderSyncJob implements Job { +public class ProductionOrderSyncCreationJob implements Job { //宸ュ巶缂栫爜(鏂扮伀鐐� 2301) private static final String FACTORY_CODE = "2301"; /** @@ -75,13 +82,33 @@ private IPmsProcessBillMaterialsService processBillMaterialsService; @Autowired private IPmsMaterialProcessService materialProcessService; + @Autowired + private ISysQuartzLogService sysQuartzLogService; + @Autowired + private IQuartzJobService quartzJobService; @Override public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException { + //浠诲姟鏃ュ織 + SysQuartzLog quartzLog = new SysQuartzLog(); + quartzLog.setCreateTime(new Date()); + List<QuartzJob> byJobClassName = quartzJobService.findByJobClassName(this.getClass().getName()); + if (byJobClassName != null && !byJobClassName.isEmpty()) { + quartzLog.setJobId(byJobClassName.get(0).getId()); + } + long startTime = System.currentTimeMillis(); //鑾峰彇涓婃鍚屾鏃堕棿 + String lastSyncDateLow = productionOrderService.getLastSyncCreateDate(); + String lastSyncDateHigh = null; + if(lastSyncDateLow != null) { + lastSyncDateHigh = DateUtils.format(new Date(), "yyyyMMdd"); + if(lastSyncDateLow.equals(lastSyncDateHigh)) { + lastSyncDateHigh = null; + } + } try { //璋冪敤SAP鎺ュ彛鑾峰彇鐢熶骇璁㈠崟 - Map<String, Object> productionOrderMap = productionOrderSync.syncProductionOrder(FACTORY_CODE, ORDER_TYPE_CODE, PRODUCTION_MANAGER, ORDER_STATUS, null, null); + Map<String, Object> productionOrderMap = productionOrderSync.syncProductionOrder(FACTORY_CODE, ORDER_TYPE_CODE, PRODUCTION_MANAGER, ORDER_STATUS, lastSyncDateLow, lastSyncDateHigh, null, null); if (productionOrderMap == null || !SUCCESS_CODE.equals(productionOrderMap.get("ztype"))) { log.error("鏈悓姝ュ埌璁㈠崟淇℃伅锛佹棩鏈燂細{}", LocalDateTime.now()); return; @@ -122,7 +149,7 @@ return; } //璋冪敤鎴愬姛锛岃幏鍙栬繑鍥炴暟鎹� - result = orderBomMap.get("result"); + result = orderProcessMap.get("result"); b = result instanceof List; if(!b) { log.error("杩斿洖绫诲瀷閿欒锛� class:{}", result == null ? null : result.getClass()); @@ -133,9 +160,14 @@ if(!b) { log.error("淇濆瓨璁㈠崟宸ュ簭澶辫触锛屾棩鏈燂細{}", LocalDateTime.now()); } + quartzLog.setIsSuccess(0); } catch (Exception e) { - throw new RuntimeException(e); + log.error("瀹氭椂浠诲姟澶辫触锛寋}", e.getMessage(), e); + quartzLog.setIsSuccess(-1); + quartzLog.setExceptionDetail(ThrowableUtil.getStackTrace(e)); } - + long endTime = System.currentTimeMillis(); + quartzLog.setExecutionTime(Integer.parseInt(String.valueOf(endTime - startTime))); + sysQuartzLogService.save(quartzLog); } } diff --git a/src/main/java/org/jeecg/modules/mes/job/ProductionOrderSyncJob.java b/src/main/java/org/jeecg/modules/mes/job/ProductionOrderSyncUpdateJob.java similarity index 73% copy from src/main/java/org/jeecg/modules/mes/job/ProductionOrderSyncJob.java copy to src/main/java/org/jeecg/modules/mes/job/ProductionOrderSyncUpdateJob.java index f6db679..93dd7ee 100644 --- a/src/main/java/org/jeecg/modules/mes/job/ProductionOrderSyncJob.java +++ b/src/main/java/org/jeecg/modules/mes/job/ProductionOrderSyncUpdateJob.java @@ -1,10 +1,16 @@ package org.jeecg.modules.mes.job; import lombok.extern.slf4j.Slf4j; +import org.jeecg.modules.mdc.util.DateUtils; +import org.jeecg.modules.mdc.util.ThrowableUtil; import org.jeecg.modules.mes.entity.MesProductionOrder; import org.jeecg.modules.mes.service.IMesProductionOrderService; import org.jeecg.modules.pms.service.IPmsMaterialProcessService; import org.jeecg.modules.pms.service.IPmsProcessBillMaterialsService; +import org.jeecg.modules.quartz.entity.QuartzJob; +import org.jeecg.modules.quartz.entity.SysQuartzLog; +import org.jeecg.modules.quartz.service.IQuartzJobService; +import org.jeecg.modules.quartz.service.ISysQuartzLogService; import org.jeecg.modules.sap.dto.OrderBomDTO; import org.jeecg.modules.sap.dto.OrderProcessDTO; import org.jeecg.modules.sap.dto.ProductionOrderDTO; @@ -18,12 +24,13 @@ import org.springframework.stereotype.Component; import java.time.LocalDateTime; +import java.util.Date; import java.util.List; import java.util.Map; @Component @Slf4j -public class ProductionOrderSyncJob implements Job { +public class ProductionOrderSyncUpdateJob implements Job { //宸ュ巶缂栫爜(鏂扮伀鐐� 2301) private static final String FACTORY_CODE = "2301"; /** @@ -75,13 +82,33 @@ private IPmsProcessBillMaterialsService processBillMaterialsService; @Autowired private IPmsMaterialProcessService materialProcessService; + @Autowired + private ISysQuartzLogService sysQuartzLogService; + @Autowired + private IQuartzJobService quartzJobService; @Override public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException { + //浠诲姟鏃ュ織 + SysQuartzLog quartzLog = new SysQuartzLog(); + quartzLog.setCreateTime(new Date()); + List<QuartzJob> byJobClassName = quartzJobService.findByJobClassName(this.getClass().getName()); + if (byJobClassName != null && !byJobClassName.isEmpty()) { + quartzLog.setJobId(byJobClassName.get(0).getId()); + } + long startTime = System.currentTimeMillis(); //鑾峰彇涓婃鍚屾鏃堕棿 + String lastSyncDateLow = productionOrderService.getLastSyncUpdateDate(); + String lastSyncDateHigh = null; + if (lastSyncDateLow != null) { + lastSyncDateHigh = DateUtils.format(new Date(), "yyyyMMdd"); + if (lastSyncDateLow.equals(lastSyncDateHigh)) { + lastSyncDateHigh = null; + } + } try { //璋冪敤SAP鎺ュ彛鑾峰彇鐢熶骇璁㈠崟 - Map<String, Object> productionOrderMap = productionOrderSync.syncProductionOrder(FACTORY_CODE, ORDER_TYPE_CODE, PRODUCTION_MANAGER, ORDER_STATUS, null, null); + Map<String, Object> productionOrderMap = productionOrderSync.syncProductionOrder(FACTORY_CODE, ORDER_TYPE_CODE, PRODUCTION_MANAGER, ORDER_STATUS, null, null, lastSyncDateLow, lastSyncDateHigh); if (productionOrderMap == null || !SUCCESS_CODE.equals(productionOrderMap.get("ztype"))) { log.error("鏈悓姝ュ埌璁㈠崟淇℃伅锛佹棩鏈燂細{}", LocalDateTime.now()); return; @@ -89,7 +116,7 @@ //璋冪敤鎴愬姛锛岃幏鍙栬繑鍥炴暟鎹� Object result = productionOrderMap.get("result"); boolean b = result instanceof List; - if(!b) { + if (!b) { log.error("杩斿洖绫诲瀷閿欒锛� class:{}", result == null ? null : result.getClass()); return; } @@ -105,13 +132,13 @@ //璋冪敤鎴愬姛锛岃幏鍙栬繑鍥炴暟鎹� result = orderBomMap.get("result"); b = result instanceof List; - if(!b) { + if (!b) { log.error("杩斿洖绫诲瀷閿欒锛� class:{}", result == null ? null : result.getClass()); return; } List<OrderBomDTO> orderBomDTOList = (List<OrderBomDTO>) result; b = processBillMaterialsService.saveOrUpdateOrderBom(orderMap, orderBomDTOList); - if(!b) { + if (!b) { log.error("淇濆瓨璁㈠崟BOM澶辫触锛屾棩鏈燂細{}", LocalDateTime.now()); return; } @@ -122,20 +149,25 @@ return; } //璋冪敤鎴愬姛锛岃幏鍙栬繑鍥炴暟鎹� - result = orderBomMap.get("result"); + result = orderProcessMap.get("result"); b = result instanceof List; - if(!b) { + if (!b) { log.error("杩斿洖绫诲瀷閿欒锛� class:{}", result == null ? null : result.getClass()); return; } List<OrderProcessDTO> orderProcessDTOList = (List<OrderProcessDTO>) result; b = materialProcessService.saveOrUpdateOrderProcess(orderMap, orderProcessDTOList); - if(!b) { + if (!b) { log.error("淇濆瓨璁㈠崟宸ュ簭澶辫触锛屾棩鏈燂細{}", LocalDateTime.now()); } + quartzLog.setIsSuccess(0); } catch (Exception e) { - throw new RuntimeException(e); + log.error("瀹氭椂浠诲姟澶辫触锛寋}", e.getMessage(), e); + quartzLog.setIsSuccess(-1); + quartzLog.setExceptionDetail(ThrowableUtil.getStackTrace(e)); } - + long endTime = System.currentTimeMillis(); + quartzLog.setExecutionTime(Integer.parseInt(String.valueOf(endTime - startTime))); + sysQuartzLogService.save(quartzLog); } } diff --git a/src/main/java/org/jeecg/modules/mes/mapper/MesProductionOrderMapper.java b/src/main/java/org/jeecg/modules/mes/mapper/MesProductionOrderMapper.java index f2dbd11..385aa6c 100644 --- a/src/main/java/org/jeecg/modules/mes/mapper/MesProductionOrderMapper.java +++ b/src/main/java/org/jeecg/modules/mes/mapper/MesProductionOrderMapper.java @@ -3,6 +3,8 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.jeecg.modules.mes.entity.MesProductionOrder; +import java.util.Date; + /** * @Description: SAP鐢熶骇璁㈠崟 * @Author: jeecg-boot @@ -11,4 +13,15 @@ */ public interface MesProductionOrderMapper extends BaseMapper<MesProductionOrder> { + /** + * 鑾峰彇鏈�鏂扮殑鍒涘缓鍚屾鏃ユ湡 + * @return + */ + String getLastSyncCreateDate(); + + /** + * 鑾峰彇鏈�鏂扮殑鍒涘缓鍚屾鏃ユ湡 + * @return + */ + String getLastSyncUpdateDate(); } diff --git a/src/main/java/org/jeecg/modules/mes/mapper/xml/MesProductionOrderMapper.xml b/src/main/java/org/jeecg/modules/mes/mapper/xml/MesProductionOrderMapper.xml index c026a36..c7ef219 100644 --- a/src/main/java/org/jeecg/modules/mes/mapper/xml/MesProductionOrderMapper.xml +++ b/src/main/java/org/jeecg/modules/mes/mapper/xml/MesProductionOrderMapper.xml @@ -2,4 +2,11 @@ <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="org.jeecg.modules.mes.mapper.MesProductionOrderMapper"> + <select id="getLastSyncCreateDate" resultType="java.lang.String"> + select MAX(order_create_date) from mes_production_order + </select> + + <select id="getLastSyncUpdateDate" resultType="java.lang.String"> + select MAX(order_update_date) from mes_production_order + </select> </mapper> \ No newline at end of file diff --git a/src/main/java/org/jeecg/modules/mes/service/IMesProductionOrderService.java b/src/main/java/org/jeecg/modules/mes/service/IMesProductionOrderService.java index a833e82..a64fe23 100644 --- a/src/main/java/org/jeecg/modules/mes/service/IMesProductionOrderService.java +++ b/src/main/java/org/jeecg/modules/mes/service/IMesProductionOrderService.java @@ -28,4 +28,16 @@ * @return */ MesProductionOrder getByOrderCode(String orderCode); + + /** + * 鑾峰彇涓婃鍚屾鍒涘缓鏃ユ湡鏈�鏂扮殑鏃ユ湡 + * @return + */ + String getLastSyncCreateDate(); + + /** + *鑾峰彇涓婃鍚屾鏇存柊鏃ユ湡鏈�鏂扮殑鏃ユ湡 + * @return + */ + String getLastSyncUpdateDate(); } diff --git a/src/main/java/org/jeecg/modules/mes/service/impl/MesProductionOrderServiceImpl.java b/src/main/java/org/jeecg/modules/mes/service/impl/MesProductionOrderServiceImpl.java index 0b0f002..19c42ec 100644 --- a/src/main/java/org/jeecg/modules/mes/service/impl/MesProductionOrderServiceImpl.java +++ b/src/main/java/org/jeecg/modules/mes/service/impl/MesProductionOrderServiceImpl.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.jeecg.common.constant.CommonConstant; +import org.jeecg.modules.mdc.util.DateUtils; import org.jeecg.modules.mes.entity.MesProductionOrder; import org.jeecg.modules.mes.mapper.MesProductionOrderMapper; import org.jeecg.modules.mes.service.IMesProductionOrderService; @@ -25,26 +26,18 @@ @Override @Transactional(rollbackFor = Exception.class) public Map<String, MesProductionOrder> saveOrUpdateProductionOrder(List<ProductionOrderDTO> productionOrderDTOList) { - List<MesProductionOrder> addList = new ArrayList<>(); - List<MesProductionOrder> updateList = new ArrayList<>(); Map<String, MesProductionOrder> resultMap = new HashMap<>(); for (ProductionOrderDTO productionOrderDTO : productionOrderDTOList) { MesProductionOrder updated = getByOrderCode(productionOrderDTO.getAUFNR()); if (updated == null) { updated = new MesProductionOrder(productionOrderDTO); - addList.add(updated); resultMap.put(updated.getOrderCode(), updated); + this.getBaseMapper().insert(updated); } else { updated.updateEntity(productionOrderDTO); - updateList.add(updated); resultMap.put(updated.getOrderCode(), updated); + this.getBaseMapper().updateById(updated); } - } - if(CollectionUtil.isEmpty(addList)){ - super.saveBatch(addList); - } - if(CollectionUtil.isEmpty(updateList)){ - super.updateBatchById(updateList); } return resultMap; } @@ -61,5 +54,21 @@ return null; } + @Override + public String getLastSyncCreateDate() { + String lastSyncDate = this.getBaseMapper().getLastSyncCreateDate(); + if(lastSyncDate == null){ + return null; + } + return lastSyncDate.replaceAll("-", ""); + } + @Override + public String getLastSyncUpdateDate() { + String lastSyncDate = this.getBaseMapper().getLastSyncUpdateDate(); + if(lastSyncDate == null){ + return null; + } + return lastSyncDate.replaceAll("-", ""); + } } diff --git a/src/main/java/org/jeecg/modules/pms/service/impl/PmsMaterialProcessServiceImpl.java b/src/main/java/org/jeecg/modules/pms/service/impl/PmsMaterialProcessServiceImpl.java index 876678d..972ce6e 100644 --- a/src/main/java/org/jeecg/modules/pms/service/impl/PmsMaterialProcessServiceImpl.java +++ b/src/main/java/org/jeecg/modules/pms/service/impl/PmsMaterialProcessServiceImpl.java @@ -58,7 +58,7 @@ //閲嶆柊鏂板宸ュ簭淇℃伅 List<OrderProcessDTO> collect = orderProcessDTOList.stream().filter(orderProcessDTO -> entry.getKey().equals(orderProcessDTO.getAUFNR())).collect(Collectors.toList()); if (CollectionUtil.isNotEmpty(collect)) { - List<PmsMaterialProcess> list = collect.stream().map(orderBomDTO -> new PmsMaterialProcess(entry.getKey(), order.getMaterialName(), orderBomDTO)).collect(Collectors.toList()); + List<PmsMaterialProcess> list = collect.stream().map(orderBomDTO -> new PmsMaterialProcess(order.getId(), order.getMaterialName(), orderBomDTO)).collect(Collectors.toList()); super.saveBatch(list); } } diff --git a/src/main/java/org/jeecg/modules/sap/controller/SAPTestController.java b/src/main/java/org/jeecg/modules/sap/controller/SAPTestController.java index 3dda5ce..02a0a63 100644 --- a/src/main/java/org/jeecg/modules/sap/controller/SAPTestController.java +++ b/src/main/java/org/jeecg/modules/sap/controller/SAPTestController.java @@ -52,7 +52,7 @@ @ApiOperation(value = "SAP闆嗘垚娴嬭瘯-鐢熶骇璁㈠崟鍚屾鎺ュ彛", notes = "SAP闆嗘垚娴嬭瘯-鐢熶骇璁㈠崟鍚屾鎺ュ彛") @GetMapping("/syncProductionOrder") public Result<?> syncProductionOrder() throws Exception { - Map<String, Object> resultMap = productionOrderSync.syncProductionOrder(factoryCode, orderTypeCode1, productionManager, orderStatus, createTime, null); + Map<String, Object> resultMap = productionOrderSync.syncProductionOrder(factoryCode, orderTypeCode1, productionManager, orderStatus, null, null, null, null); return Result.ok(resultMap); } diff --git a/src/main/java/org/jeecg/modules/sap/service/ProductionOrderSync.java b/src/main/java/org/jeecg/modules/sap/service/ProductionOrderSync.java index 0ba41c1..52995cb 100644 --- a/src/main/java/org/jeecg/modules/sap/service/ProductionOrderSync.java +++ b/src/main/java/org/jeecg/modules/sap/service/ProductionOrderSync.java @@ -6,5 +6,5 @@ /** * 鍚屾鐢熸垚璁㈠崟 */ - Map<String, Object> syncProductionOrder(String factoryCode, String orderTypeCode, String productionManager, String orderStatus, String createTime, String updateTime) throws Exception; + Map<String, Object> syncProductionOrder(String factoryCode, String orderTypeCode, String productionManager, String orderStatus, String createTimeLow, String createTimeHigh, String updateTimeLow, String updateTimeHigh) throws Exception; } diff --git a/src/main/java/org/jeecg/modules/sap/service/impl/ProductionOrderSyncImpl.java b/src/main/java/org/jeecg/modules/sap/service/impl/ProductionOrderSyncImpl.java index 002bb07..960a8c4 100644 --- a/src/main/java/org/jeecg/modules/sap/service/impl/ProductionOrderSyncImpl.java +++ b/src/main/java/org/jeecg/modules/sap/service/impl/ProductionOrderSyncImpl.java @@ -33,7 +33,7 @@ @Override @ApiLog(apiName = "鐢熶骇璁㈠崟鍚屾(ZPPF_033_1)", apiCategory = ApiLogCategoryEnum.SAP) - public Map<String, Object> syncProductionOrder(String factoryCode, String orderTypeCode, String productionManager, String orderStatus, String createTime, String updateTime) throws Exception { + public Map<String, Object> syncProductionOrder(String factoryCode, String orderTypeCode, String productionManager, String orderStatus, String createTimeLow, String createTimeHigh, String updateTimeLow, String updateTimeHigh) throws Exception { Map<String, Object> resultMap = new HashMap<>(); JCoDestination destination = connectionManager.getDestination(); JCoRepository repository = destination.getRepository(); @@ -96,22 +96,40 @@ item.put("TXT04", orderStatus); items.add(item); } - if(StringUtils.isNotBlank(createTime)){ + if(StringUtils.isNotBlank(createTimeLow)){ JCoTable UDATETable = function.getTableParameterList().getTable("ZTAB_UDATE"); UDATETable.appendRow(); - UDATETable.setValue("LOW", createTime); + UDATETable.setValue("LOW", createTimeLow); //缁勮璇锋眰鍙傛暟 JSONObject item = new JSONObject(); - item.put("ZTAB_UDATE_LOW", createTime); + item.put("ZTAB_UDATE_LOW", createTimeLow); items.add(item); } - if(StringUtils.isNotBlank(updateTime)){ - JCoTable LAEDATable = function.getTableParameterList().getTable("ZTAB_LAEDA"); - LAEDATable.appendRow(); - LAEDATable.setValue("LOW", updateTime); + if(StringUtils.isNotBlank(createTimeHigh)){ + JCoTable UDATETable = function.getTableParameterList().getTable("ZTAB_UDATE"); + UDATETable.appendRow(); + UDATETable.setValue("HIGH", createTimeHigh); //缁勮璇锋眰鍙傛暟 JSONObject item = new JSONObject(); - item.put("ZTAB_LAEDA_LOW", updateTime); + item.put("ZTAB_UDATE_HIGH", createTimeHigh); + items.add(item); + } + if(StringUtils.isNotBlank(updateTimeLow)){ + JCoTable LAEDATable = function.getTableParameterList().getTable("ZTAB_LAEDA"); + LAEDATable.appendRow(); + LAEDATable.setValue("LOW", updateTimeLow); + //缁勮璇锋眰鍙傛暟 + JSONObject item = new JSONObject(); + item.put("ZTAB_LAEDA_LOW", updateTimeLow); + items.add(item); + } + if(StringUtils.isNotBlank(updateTimeHigh)){ + JCoTable LAEDATable = function.getTableParameterList().getTable("ZTAB_LAEDA"); + LAEDATable.appendRow(); + LAEDATable.setValue("HIGH", updateTimeLow); + //缁勮璇锋眰鍙傛暟 + JSONObject item = new JSONObject(); + item.put("ZTAB_LAEDA_HIGH", updateTimeLow); items.add(item); } // 鎵ц璋冪敤 -- Gitblit v1.9.3