杨前锦
2025-06-19 d42ad8b01195def2a9309930e14f90ff13ad47b1
HH.WCS.Mobox3/HH.WCS.Mobox3.FJJT/core/Monitor.cs
@@ -266,17 +266,17 @@
        public static void UpdateInventoryRegularly()
        {
            var db = new SqlHelper<object>().GetInstance();
            var areaCodeList = Settings.areaPropertyList.Select(a => a.areaCode).ToList();
            var locations = db.Queryable<Location>()
                .LeftJoin<LjLotOnhand>((a, b) => a.S_CODE == b.STORAGE_LOCATION)
                .LeftJoin<LocCntrRel>((a, b, c) => a.S_CODE == c.S_LOC_CODE)
                .Where((a, b, c) => b.PALLET_ID != c.S_CNTR_CODE)
                .LeftJoin<LocCntrRel>((a, b) => a.S_CODE == b.S_LOC_CODE)
                .Where((a,b) => a.N_CURRENT_NUM > 0 && b.S_CNTR_CODE != null && areaCodeList.Contains(a.S_AREA_CODE) )
                .ToList();
            foreach (var loc in locations)
            {
                var lotOnhand = db.Queryable<LjLotOnhand>().Where(a => a.STORAGE_LOCATION == loc.S_CODE).First();
                if (lotOnhand != null) { 
                    db.Deleteable(lotOnhand).ExecuteCommand();
                    db.Deleteable<LjLotOnhand>().Where(a => a.ID == lotOnhand.ID).ExecuteCommand();
                }
                var locCntrRels = LocationHelper.GetLocCntr(loc.S_CODE);
@@ -289,16 +289,19 @@
                            var material = WMSHelper.GetMaterial(cntrItem.S_ITEM_CODE);
                            LjLotOnhand ljLotOnhand = new LjLotOnhand()
                            {
                                ID = WMSHelper.GenerateStockRecordNo(),
                                MATERIAL_CODE = cntrItem.S_ITEM_CODE,
                                LOT_NAME = cntrItem.S_BATCH_NO,
                                PALLET_ID = cntrItem.S_CNTR_CODE,
                                STORAGE_LOCATION = loc.S_CODE,
                                QC_STATUS = cntrItem.S_ITEM_STATE,
                                UNIT = material.S_UNIT,
                                UNIT = material == null ? "":material.S_UNIT,
                                QTY = cntrItem.F_QTY,
                                IN_DATE = cntrItem.T_INBOUND_TIME,
                                IN_DATE = cntrItem.T_INBOUND_TIME.ToString("yyyy-MM-dd"),
                                CREATION_DATE = DateTime.Now,
                                WAREHOUSE_TYPE = "2"
                            };
                            db.Insertable(lotOnhand).ExecuteCommand();
                            db.Insertable(ljLotOnhand).ExecuteCommand();
                        }
                    });
                }