自动化立体仓库 - WMS系统
#
ytfl
7 天以前 f6f8bb8d5dfc7f663bdce8a0fbf5062a030de2f6
src/main/java/com/zy/asrs/task/handler/OrderSyncHandler.java
@@ -7,6 +7,7 @@
import com.zy.asrs.service.*;
import com.zy.asrs.task.AbstractHandler;
import com.zy.asrs.task.core.ReturnT;
import com.zy.asrs.utils.MathUtils;
import com.zy.asrs.utils.OrderInAndOutUtil;
import com.zy.common.model.DetlDto;
import lombok.extern.slf4j.Slf4j;
@@ -36,6 +37,8 @@
    private OrderDetlPakoutService orderDetlPakoutService;
    @Autowired
    private WrkDetlService wrkDetlService;
    @Autowired
    private WrkMastService wrkMastService;
    @Autowired
    private InventoryCheckOrderDetlService inventoryCheckOrderDetlService;
@@ -67,7 +70,7 @@
                continue;
            }
            orderDetl.setWorkQty(orderDetl.getQty());
            orderDetl.setAnfme(orderDetl.getAnfme() - orderDetl.getQty());
            orderDetl.setAnfme(MathUtils.subtract(orderDetl.getAnfme(), orderDetl.getQty()));
            orderDetl.setQty(0D);
            orderDetlService.updateById(orderDetl);
        }
@@ -97,11 +100,11 @@
            if (DetlDto.has(list, dto)) {
                DetlDto detlDto = DetlDto.find(list, dto.getMatnr(), dto.getBatch(), dto.getBrand(), dto.getStandby1(), dto.getStandby2(), dto.getStandby3(), dto.getBoxType1(), dto.getBoxType2(), dto.getBoxType3());
                assert detlDto != null;
                detlDto.setAnfme(detlDto.getAnfme() + detail.getAnfme());
                detlDto.setAnfme(MathUtils.add(detlDto.getAnfme(), detail.getAnfme()));
                OrderDetl orderDetl = OrderDetl.find(orderDetlList, dto.getMatnr(), dto.getBatch(), dto.getBrand(), dto.getStandby1(), dto.getStandby2(), dto.getStandby3(), dto.getBoxType1(), dto.getBoxType2(), dto.getBoxType3());
                assert orderDetl != null;
                orderDetl.setAnfme(orderDetl.getAnfme() + detail.getAnfme());
                orderDetl.setAnfme(MathUtils.add(orderDetl.getAnfme(), detail.getAnfme()));
            } else {
                list.add(dto);
                orderDetlList.add(detail);
@@ -141,7 +144,7 @@
                    continue;
                }
                if (orderDetlSou.beSimilar(orderDetl)) {
                    double v = orderDetlSou.getAnfme() - orderDetlSou.getQty();
                    double v = MathUtils.subtract(orderDetlSou.getAnfme(), orderDetlSou.getQty());
                    if (v < orderDetl.getQty() || orderDetl.getQty().equals(v)) {
                        orderDetlSou.setQty(orderDetlSou.getAnfme());
                        orderDetl.setQty(orderDetl.getQty() - v);