自动化立体仓库 - WMS系统
#
Junjie
昨天 6f01b51fc0770fda7787076caf0314be7a7f6656
src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
@@ -20,7 +20,10 @@
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.text.SimpleDateFormat;
import java.time.LocalDate;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.List;
@@ -106,7 +109,8 @@
                9527L,    // 修改人员
                now,    // 修改时间
                null,   // 备注
                1
                1,
                null
        );
        if (!orderService.insert(order)) {
@@ -118,6 +122,7 @@
        for (DetlDto detail : orderDetails) {
            DetlDto dto = new DetlDto(detail.getMatnr(), detail.getBatch(), detail.getBrand(), detail.getStandby1(), detail.getStandby2(), detail.getStandby3(), detail.getLineNumber(), detail.getBoxType1(), detail.getBoxType2(), detail.getBoxType3(), detail.getAnfme());
            dto.setRemark(detail.getRemark());
            dto.setWeight(detail.getWeight());
            if (DetlDto.hasLineNumber(list, dto)) {
                DetlDto detlDto = DetlDto.findLineNumber(list, dto.getMatnr(), dto.getBatch(), dto.getBrand(), dto.getStandby1(), dto.getStandby2(), dto.getStandby3(), dto.getLineNumber(), dto.getBoxType1(), dto.getBoxType2(), dto.getBoxType3());
                assert detlDto != null;
@@ -136,6 +141,7 @@
            orderDetl.setLineNumber(detlDto.getLineNumber());
            orderDetl.setBatch(detlDto.getBatch());
            orderDetl.setAnfme(detlDto.getAnfme());
            orderDetl.setWeight(detlDto.getWeight());
            orderDetl.setBrand(detlDto.getBrand());
            orderDetl.setStandby1(detlDto.getStandby1());
            orderDetl.setStandby2(detlDto.getStandby2());
@@ -276,7 +282,8 @@
                9527L,    // 修改人员
                now,    // 修改时间
                null,    // 备注
                2
                2,
                param.getKpCstmrName()
        );
        if (!orderService.insert(order)) {
            throw new CoolException("生成单据主档失败,请联系管理员");
@@ -613,4 +620,24 @@
    }
    @Override
    public int syncAnfmeToWeight() {
        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        Date date = new Date(2025, Calendar.JULY, 24);
        Date date2 = new Date(2025, Calendar.JULY, 24, 23, 59, 59);
        List<LocDetl> locDetls = locDetlService.selectList(new EntityWrapper<LocDetl>()
                .ge("appe_time", format.format(date))
                .le("appe_time", format.format(date2))
        );
        int i = 0;
        for (LocDetl locDetl : locDetls) {
            // 修改库存
            Double anfme = MatUtils.calcAnfmeFromWeight(locDetl.getMatnr(), locDetl.getAnfme());
            locDetlService.updateAnfme(anfme, locDetl.getLocNo(), locDetl.getMatnr(), locDetl.getBatch(), locDetl.getBrand(),
                    locDetl.getStandby1(), locDetl.getStandby2(), locDetl.getStandby3(), locDetl.getBoxType1(), locDetl.getBoxType2(), locDetl.getBoxType3());
            i++;
        }
        return i;
    }
}