自动化立体仓库 - WMS系统
野心家
2024-08-05 00d83fc72c84383c506e8a8c0584d1292cafc260
src/main/java/com/zy/asrs/task/kingdee/handler/InboundOrderHandler.java
@@ -26,6 +26,7 @@
import java.lang.reflect.Field;
import java.text.SimpleDateFormat;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.Date;
@@ -81,33 +82,87 @@
            String anfme =null;
            switch (i){
                //物料档案
                case 0 : inFormIdParam.setFormId("BD_MATERIAL"); break;
                case 0:
                    inFormIdParam.setFormId("BD_MATERIAL");
                    break;
                //采购入库
                case 1 : inFormIdParam.setFormId("STK_InStock");docName=13;anfme ="FRealQty"; break;
                case 1:
                    inFormIdParam.setFormId("STK_InStock");
                    docName = 13;
                    anfme = "FRealQty";
                    break;
                //采购退料
                case 2 : inFormIdParam.setFormId("PUR_MRB");docName=21;anfme ="FRMREALQTY"; break;
                case 2:
                    inFormIdParam.setFormId("PUR_MRB");
                    docName = 21;
                    anfme = "FRMREALQTY";
                    break;
                //生产领料
                case 3 : inFormIdParam.setFormId("PRD_PickMtrl");docName=22;anfme ="FActualQty"; break;
                case 3:
                    inFormIdParam.setFormId("PRD_PickMtrl");
                    docName = 22;
                    anfme = "FActualQty";
                    break;
                //生产退料
                case 4 : inFormIdParam.setFormId("PRD_ReturnMtrl");docName=24;anfme ="FQty"; break;
                case 4:
                    inFormIdParam.setFormId("PRD_ReturnMtrl");
                    docName = 24;
                    anfme = "FQty";
                    break;
                //生产补料
                case 5 : inFormIdParam.setFormId("PRD_FeedMtrl");docName=25;anfme ="FActualQty"; break;
                case 5:
                    inFormIdParam.setFormId("PRD_FeedMtrl");
                    docName = 25;
                    anfme = "FActualQty";
                    break;
                //直接调拨单
                case 6 : inFormIdParam.setFormId("STK_TransferDirect");docName=26;anfme ="FQty"; break;
                case 6:
                    inFormIdParam.setFormId("STK_TransferDirect");
                    docName = 26;
                    anfme = "FQty";
                    break;
                //盘盈单
                case 7 : inFormIdParam.setFormId("STK_StockCountGain");docName=28;anfme ="FGainQty"; break;
                case 7:
                    inFormIdParam.setFormId("STK_StockCountGain");
                    docName = 28;
                    anfme = "FGainQty";
                    break;
                //盘亏单
                case 8 : inFormIdParam.setFormId("STK_StockCountLoss");docName=29;anfme ="FLossQty"; break;
                case 8:
                    inFormIdParam.setFormId("STK_StockCountLoss");
                    docName = 29;
                    anfme = "FLossQty";
                    break;
                //其他出库
                case 9 : inFormIdParam.setFormId("STK_MisDelivery");docName=30;anfme ="FQty"; break;
                case 9:
                    inFormIdParam.setFormId("STK_MisDelivery");
                    docName = 30;
                    anfme = "FQty";
                    break;
                //简单生产领料
                case 10 : inFormIdParam.setFormId("SP_PickMtrl");docName=31;anfme ="FActualQty"; break;
                case 10:
                    inFormIdParam.setFormId("SP_PickMtrl");
                    docName = 31;
                    anfme = "FActualQty";
                    break;
                //简单生产退料
                case 11 : inFormIdParam.setFormId("SP_ReturnMtrl");docName=32;anfme ="FQty"; break;
                case 11:
                    inFormIdParam.setFormId("SP_ReturnMtrl");
                    docName = 32;
                    anfme = "FQty";
                    break;
                //销售出库
                case 12 : inFormIdParam.setFormId("SAL_OUTSTOCK");docName=14;anfme ="FRealQty"; break;
                case 12:
                    inFormIdParam.setFormId("SAL_OUTSTOCK");
                    docName = 14;
                    anfme = "FRealQty";
                    break;
                //销售退货
                case 13 : inFormIdParam.setFormId("SAL_RETURNSTOCK");docName=33;anfme ="FRealQty"; break;
                case 13:
                    inFormIdParam.setFormId("SAL_RETURNSTOCK");
                    docName = 33;
                    anfme = "FRealQty";
                    break;
            }
            inFormIdParam.setLimit(100);
            inFormIdParam.setStartRow("0");
@@ -121,12 +176,19 @@
            jsonObject.put("StartRow", inFormIdParam.getStartRow());
            //物料档案查询
            if(i==0){
                Tag tag = tagService.selectById(20);
                //最新时间
                time=tag.getCreateTime();
                // 获取当前日期
                LocalDate currentDate = LocalDate.now();
                // 获取前一个月的同一天
                LocalDate previousMonthDate = currentDate.minusMonths(1);
                // 格式化日期为 "yyyyMMdd" 格式
                DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
                String formattedDate2 = previousMonthDate.format(formatter);
                //物料状态 FUseOrgId .FNumber
                FDocumentStatus="C";
                jsonObject.put("FilterString", "FCreateDate>'"+sdf.format(time)+"' and FDocumentStatus='"+FDocumentStatus+"' and FUseOrgId .FNumber='201'");
                jsonObject.put("FilterString", "FCreateDate>'" + formattedDate2 + "' and FDocumentStatus='" + FDocumentStatus + "' and FUseOrgId .FNumber='201'");
                jsonObject.put("FieldKeys", "FName,FNumber,FCreateDate,FSpecification,FDocumentStatus,FTuhao");
                // FName : 物料名称 ;
                // FNumber :物料编号;