24282 1 anno fa
parent
commit
d0ce864e61

+ 0 - 5
sd-business/src/main/java/com/sd/business/entity/in/po/InOutStorageBom.java

@@ -26,11 +26,6 @@ public class InOutStorageBom extends BasePo {
     private Long inOutStorageId;
 
     /**
-     * 分类类型 1原料 2包材
-     */
-    private Integer classifyType;
-
-    /**
      * bom规格id
      */
     private Long bomSpecId;

+ 8 - 4
sd-business/src/main/java/com/sd/business/service/in/impl/InOutStorageServiceImpl.java

@@ -4,6 +4,7 @@ import cn.hutool.core.util.ObjectUtil;
 import com.baomidou.mybatisplus.core.toolkit.IdWorker;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.common.utils.SecurityUtils;
 import com.sd.business.entity.in.dto.InOutStorageDto;
 import com.sd.business.entity.in.dto.InOutStorageSelectDto;
 import com.sd.business.entity.in.emums.InDetailTypeEnum;
@@ -76,14 +77,17 @@ public class InOutStorageServiceImpl extends ServiceImpl<InOutStorageMapper, InO
     @Transactional(rollbackFor = Exception.class)
     @Override
     public void add(InOutStorageDto dto) {
+
+        if (ObjectUtil.isEmpty(dto.getInOutStorageBomList())) {
+            return;
+        }
+
         dto.setId(IdWorker.getId());
         dto.setInOutStorageTime(ObjectUtil.defaultIfNull(dto.getInOutStorageTime(), new Date()));
+        dto.setApplicant(ObjectUtil.defaultIfNull(dto.getApplicant(), SecurityUtils.getLoginUser().getUser().getNickName()));
 
         List<InOutStorageBom> inOutStorageBomList = dto.getInOutStorageBomList();
-        inOutStorageBomList.forEach(item -> {
-            item.setInOutStorageId(dto.getId());
-            item.setClassifyType(dto.getClassifyType());
-        });
+        inOutStorageBomList.forEach(item -> item.setInOutStorageId(dto.getId()));
 
         if (InOutTypeEnum.getInOutType(dto.getType()).equals(InOutTypeEnum.IN)) {
             if (InDetailTypeEnum.PURCHASE.getKey().equals(dto.getDetailType())) {

+ 9 - 3
sd-business/src/main/java/com/sd/business/service/order/impl/OrderInfoServiceImpl.java

@@ -281,7 +281,7 @@ public class OrderInfoServiceImpl extends ServiceImpl<OrderInfoMapper, OrderInfo
         dto.setClassify(OrderClassifyEnum.PURCHASE_ORDER.getKey());
 
         // 保存订单sku列表
-        List<OrderSku> orderSkuList = getOrderSkuList(dto);
+        List<OrderSku> orderSkuList = getOrderSkuList(dto, true);
         orderSkuService.saveBatch(orderSkuList);
 
         // 保存订单sku包材信息
@@ -316,7 +316,7 @@ public class OrderInfoServiceImpl extends ServiceImpl<OrderInfoMapper, OrderInfo
     public void edit(OrderInfoDto dto) {
 
         // 更新订单sku列表
-        List<OrderSku> orderSkuList = getOrderSkuList(dto);
+        List<OrderSku> orderSkuList = getOrderSkuList(dto, false);
         orderSkuService.editLinked(orderSkuList, OrderSku::getOrderId, dto.getId());
 
         // 更新订单sku包材信息
@@ -766,8 +766,14 @@ public class OrderInfoServiceImpl extends ServiceImpl<OrderInfoMapper, OrderInfo
     /**
      * 获取订单sku列表
      */
-    private List<OrderSku> getOrderSkuList(OrderInfoDto dto) {
+    private List<OrderSku> getOrderSkuList(OrderInfoDto dto, boolean isAdd) {
         return dto.getOrderSkuList().stream()
+                .peek(item -> {
+                    if (isAdd) {
+                        item.setSchedulingNum(BigDecimal.ZERO);
+                        item.setCompleteScheduling(StatusConstant.NO);
+                    }
+                })
                 .peek(item -> item.setOrderId(dto.getId()))
                 .map(item -> (OrderSku) item)
                 .collect(Collectors.toList());

+ 11 - 6
sd-business/src/main/java/com/sd/business/service/work/impl/WorkOrderServiceImpl.java

@@ -1,5 +1,6 @@
 package com.sd.business.service.work.impl;
 
+import cn.hutool.core.util.ArrayUtil;
 import cn.hutool.core.util.ObjectUtil;
 import com.baomidou.mybatisplus.core.toolkit.IdWorker;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -295,7 +296,7 @@ public class WorkOrderServiceImpl extends ServiceImpl<WorkOrderMapper, WorkOrder
      */
     private void scheduling(Long bomSpecId, Long printingPaperBomSpecId, List<OrderSku> list, Map<Long, SkuSpec> skuSpecMap) {
 
-        if (ObjectUtil.isNotEmpty(list)) {
+        if (ObjectUtil.isEmpty(list)) {
             return;
         }
 
@@ -328,7 +329,7 @@ public class WorkOrderServiceImpl extends ServiceImpl<WorkOrderMapper, WorkOrder
     private void fixationScheduling(Long bomSpecId, Long printingPaperBomSpecId,
                                     List<OrderSku> list, Map<Long, SkuSpec> skuSpecMap) {
 
-        if (ObjectUtil.isNotEmpty(list)) {
+        if (ObjectUtil.isEmpty(list)) {
             return;
         }
 
@@ -452,7 +453,7 @@ public class WorkOrderServiceImpl extends ServiceImpl<WorkOrderMapper, WorkOrder
     private void notFixationScheduling(Long bomSpecId, Long printingPaperBomSpecId, List<OrderSku> list,
                                        Map<Long, SkuSpec> skuSpecMap, boolean carpeting) {
 
-        if (ObjectUtil.isNotEmpty(list)) {
+        if (ObjectUtil.isEmpty(list)) {
             return;
         }
 
@@ -472,6 +473,10 @@ public class WorkOrderServiceImpl extends ServiceImpl<WorkOrderMapper, WorkOrder
             return itemList.stream();
         }).toArray(Item[]::new);
 
+        if (items.length > 430) {
+            items = ArrayUtil.resize(items, 430);
+        }
+
         Solution solve = GA.solve(MaterialsConstant.MASTER_LENGTH, MaterialsConstant.MASTER_WIDTH, items);
 
         List<PlaceItem> placeItemList = solve.getPlaceItemList();
@@ -598,7 +603,7 @@ public class WorkOrderServiceImpl extends ServiceImpl<WorkOrderMapper, WorkOrder
                 .selectAll(OrderSku.class)
                 .from(OrderInfo.class)
                 .innerJoin(OrderSku.class, OrderSku::getOrderId, OrderInfo::getId)
-                .eq(OrderInfo::getExceptionType, OrderExceptionTypeEnum.NORMAL)
+                .eq(OrderInfo::getExceptionType, OrderExceptionTypeEnum.NORMAL.getKey())
                 .eq(OrderSku::getCompleteScheduling, StatusConstant.NO)
                 .eq(OrderSku::getBomSpecId, bomSpecId)
                 .eq(OrderSku::getPrintingPaperBomSpecId, printingPaperBomSpecId)
@@ -645,14 +650,14 @@ public class WorkOrderServiceImpl extends ServiceImpl<WorkOrderMapper, WorkOrder
         InOutStorageBom master = new InOutStorageBom();
         master.setBomSpecId(workOrder.getMasterBomSpecId());
         master.setQuantity(BigDecimal.ONE);
-        master.setMeter(workOrder.getMasterLength());
+        master.setMeter(workOrder.getMasterLength().divide(new BigDecimal("100")));
         inOutStorageBomList.add(master);
 
         // 打印纸
         InOutStorageBom printingPaper = new InOutStorageBom();
         printingPaper.setBomSpecId(workOrder.getPrintingPaperBomSpecId());
         printingPaper.setQuantity(BigDecimal.ONE);
-        printingPaper.setMeter(workOrder.getPrintingPaperLength());
+        printingPaper.setMeter(workOrder.getPrintingPaperLength().divide(new BigDecimal("100")));
         inOutStorageBomList.add(printingPaper);
 
         inStorageService.add(inOutStorageDto);

+ 1 - 1
sd-business/src/main/java/com/sd/business/util/packing/GA.java

@@ -14,7 +14,7 @@ import java.util.Random;
 public class GA {
 
     // 最大的迭代次数
-    private static final int maxGen = 10;
+    private static final int maxGen = 3;
     // 变异对换次数
     private static final double variationExchangeCount = 1.00;
     // 复制最优解的次数(选择种群的最优个体,然后复制几次,将最优个体复制多个,存到新的集合中)

+ 1 - 0
sd-wln/src/main/java/com/sd/wln/service/impl/WlnOrderServiceImpl.java

@@ -520,6 +520,7 @@ public class WlnOrderServiceImpl implements WlnOrderService {
             orderSku.setSkuSpecId(skuSpec.getId());
             orderSku.setBomSpecId(skuSpec.getBomSpecId());
             orderSku.setPrintingPaperBomSpecId(skuSpec.getPrintingPaperBomSpecId());
+            orderSku.setSchedulingNum(BigDecimal.ZERO);
             orderSku.setCompleteScheduling(StatusConstant.NO);
 
             Long artworkLibraryId = skuSpec.getArtworkLibraryId();