From 6ab7f7e856a62b066225e5a9718bc9e719d3f587 Mon Sep 17 00:00:00 2001 From: zzs Date: Wed, 11 Dec 2024 15:47:22 +0800 Subject: [PATCH] =?UTF-8?q?feat:=E8=8E=B7=E5=8F=96CMMP=20BOM=E5=8F=98?= =?UTF-8?q?=E6=9B=B4=E5=8D=95=E5=A2=9E=E5=8A=A0=E5=8F=82=E6=95=B0=EF=BC=8C?= =?UTF-8?q?=E5=8F=AA=E8=8E=B7=E5=8F=96=E6=8C=87=E5=AE=9A=E7=B1=BB=E5=9E=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/yem/em/task/BomChangeTaskEdit.java | 54 ++++++++++++++++--- 1 file changed, 46 insertions(+), 8 deletions(-) diff --git a/src/main/java/com/yem/em/task/BomChangeTaskEdit.java b/src/main/java/com/yem/em/task/BomChangeTaskEdit.java index 739a0900..844cdeb6 100644 --- a/src/main/java/com/yem/em/task/BomChangeTaskEdit.java +++ b/src/main/java/com/yem/em/task/BomChangeTaskEdit.java @@ -2,6 +2,7 @@ package com.yem.em.task; import com.yem.em.utils.AtlasUtils; import com.yem.wm.utils.RequestCmmp; +import com.yem.wm.utils.YEM; import kd.bos.context.RequestContext; import kd.bos.dataentity.entity.DynamicObject; import kd.bos.exception.KDException; @@ -9,6 +10,7 @@ import kd.bos.orm.query.QCP; import kd.bos.orm.query.QFilter; import kd.bos.schedule.executor.AbstractTask; import kd.bos.servicehelper.BusinessDataServiceHelper; +import org.apache.commons.lang3.StringUtils; import java.text.SimpleDateFormat; import java.util.*; @@ -24,22 +26,58 @@ import static com.yem.em.utils.AtlasUtils.seelctDyn; public class BomChangeTaskEdit extends AbstractTask { public void execute(RequestContext requestContext, Map map) throws KDException { Map productmap = new HashMap<>(); - productmap.put("ZZJ", "L");//装载机 - productmap.put("CC", "F");//叉车 - productmap.put("TLJ", "T");//拖拉机 + if (map.containsKey("product_type")) { + Object productType = map.get("product_type"); + if (YEM.isNotEmpty(productType) && productType instanceof String) { + String typeStr = String.valueOf(productType); + if (StringUtils.containsIgnoreCase(typeStr, "ZZJ")) { + productmap.put("ZZJ", "L"); + } + if (StringUtils.containsIgnoreCase(typeStr, "CC")) { + productmap.put("CC", "F"); + } + if (StringUtils.containsIgnoreCase(typeStr, "TLJ")) { + productmap.put("TLJ", "T"); + } + } + } + + if (map.entrySet().isEmpty()) { + productmap.put("ZZJ", "L");//装载机 + productmap.put("CC", "F");//叉车 + productmap.put("TLJ", "T");//拖拉机 + } QFilter qFilter = new QFilter("number", QCP.equals, "110"); DynamicObject bos_org = BusinessDataServiceHelper.loadSingle("bos_org", "id", qFilter.toArray()); - String Queryfield = AtlasUtils.Queryfield("changebill_code", "pcode", "ccode", "qty", "break_flag", "enable_time", + String Queryfield = AtlasUtils.Queryfield("changebill_code", "pcode", "ccode", "qty", "break_flag", "complete_time", "disable_time", "state", "complete_time", "complete_user", "MATER_NAME", "CMATER_NAME", "COMPLETE_TIME"); Calendar calendar = Calendar.getInstance(); - calendar.add(Calendar.DATE, -1); - SimpleDateFormat f = new SimpleDateFormat("yyyy-MM-dd"); - String format = f.format(calendar.getTime()); + + // 昨天 + calendar.add(Calendar.DAY_OF_MONTH, -1); + + // 获取昨天的00:00:00 + calendar.set(Calendar.HOUR_OF_DAY, 0); + calendar.set(Calendar.MINUTE, 0); + calendar.set(Calendar.SECOND, 0); + calendar.set(Calendar.MILLISECOND, 0); + String start = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(calendar.getTime()); + + // 获取昨天的23:59:59 + calendar.set(Calendar.HOUR_OF_DAY, 23); + calendar.set(Calendar.MINUTE, 59); + calendar.set(Calendar.SECOND, 59); + calendar.set(Calendar.MILLISECOND, 999); + String end = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(calendar.getTime()); + +// start = "2024-12-04 00:00:00"; +// end = "2024-12-10 23:59:59"; + for (String key : productmap.keySet()) { String value = productmap.get(key); String sql = "select distinct " + Queryfield + " from VIEW_CHANGEBILL_WM " + - "where TO_CHAR (enable_time, 'yyyy-mm-dd') >= '" + format + "' AND TO_CHAR (enable_time, 'yyyy-mm-dd') <= '" + format + "'"; + "where TO_CHAR (complete_time, 'yyyy-mm-dd HH:mm:ss') >= '" + start + "' AND TO_CHAR (complete_time, 'yyyy-mm-dd HH:mm:ss') <= '" + end + "'"; if (key.equals("ZZJ")) { //装载机 sql = sql + " and changebill_code like 'ZD%' or changebill_code like 'JJBOMBG%'";