自动化立体仓库 - WMS系统
1
zhang
4 天以前 6d3b7e69524cdc6fd4c44fe9f37661a19a56c6ff
src/main/java/com/zy/nc/task/handler/PlanOrderHandler.java
@@ -20,10 +20,12 @@
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.transaction.interceptor.TransactionAspectSupport;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
@Service
@@ -62,29 +64,46 @@
     *
     * @return
     */
    @Transactional
    public ReturnT<String> start1(List<NccSaleXsfhmxWms> wmsFlag) {
        try {
            OpenOrderPakoutParam param = new OpenOrderPakoutParam();
            DetlDto detlDto;
            List<DetlDto> orderDetails = new ArrayList<>();
            long i = 1;
            for (NccSaleXsfhmxWms nccSaleXsfhmxWms : wmsFlag) {
                param.setOrderType("销售发货");
                detlDto = new DetlDto();
                detlDto.setMatnr(nccSaleXsfhmxWms.getWlbm());
                detlDto.setAnfme(nccSaleXsfhmxWms.getNastnum().doubleValue());
                detlDto.setStandby1(nccSaleXsfhmxWms.getFhckbm());
                detlDto.setLineNumber(i);
                detlDto.setRemark(JSONObject.toJSONString(nccSaleXsfhmxWms));
                orderDetails.add(detlDto);
                log.info("NccSaleXsfhmxWms数据:{}", JSONObject.toJSON(nccSaleXsfhmxWms));
                i++;
                nccSaleXsfhmxWms.setWmsFlag(1);
                param.setOrderNo(nccSaleXsfhmxWms.getVbillcode());
            HashMap<String, List<NccSaleXsfhmxWms>> map = new HashMap<>();
            List<NccSaleXsfhmxWms> fenzu;
            for (NccSaleXsfhmxWms wms : wmsFlag) {
                if (map.get(wms.getFhckbm()) == null) {
                    fenzu = new ArrayList<>();
                    fenzu.add(wms);
                    map.put(wms.getFhckbm(), fenzu);
                } else {
                    fenzu = map.get(wms.getFhckbm());
                    fenzu.add(wms);
                    map.put(wms.getFhckbm(), fenzu);
                }
            }
            param.setOrderDetails(orderDetails);
            openService.pakoutOrderCreate(param);
            nccSaleXsfhmxWmsService.updateBatchById(wmsFlag);
            int size = 1;
            for (String key : map.keySet()) {
                OpenOrderPakoutParam param = new OpenOrderPakoutParam();
                DetlDto detlDto;
                List<DetlDto> orderDetails = new ArrayList<>();
                long i = 1;
                for (NccSaleXsfhmxWms nccSaleXsfhmxWms : map.get(key)) {
                    param.setOrderType("销售发货");
                    detlDto = new DetlDto();
                    detlDto.setMatnr(nccSaleXsfhmxWms.getWlbm());
                    detlDto.setAnfme(nccSaleXsfhmxWms.getNnum().doubleValue());
                    detlDto.setStandby1(nccSaleXsfhmxWms.getFhckbm());
                    detlDto.setLineNumber(i);
                    detlDto.setRemark(JSONObject.toJSONString(nccSaleXsfhmxWms));
                    orderDetails.add(detlDto);
                    log.info("NccSaleXsfhmxWms数据:{}", JSONObject.toJSON(nccSaleXsfhmxWms));
                    i++;
                    nccSaleXsfhmxWms.setWmsFlag(1);
                    param.setOrderNo(nccSaleXsfhmxWms.getVbillcode() + "-" + size);
                }
                param.setOrderDetails(orderDetails);
                openService.pakoutOrderCreate(param);
                nccSaleXsfhmxWmsService.updateBatchById(map.get(key));
            }
        } catch (Exception e) {
            e.printStackTrace();
            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
@@ -98,6 +117,7 @@
     *
     * @return
     */
    @Transactional
    public ReturnT<String> start1In(List<NccSaleXsfhmxWms> wmsFlag) {
        try {
            OpenOrderPakinParam param = new OpenOrderPakinParam();
@@ -108,7 +128,7 @@
                param.setOrderType("销售退货");
                detlDto = new DetlDto();
                detlDto.setMatnr(nccSaleXsfhmxWms.getWlbm());
                detlDto.setAnfme(nccSaleXsfhmxWms.getNastnum().doubleValue());
                detlDto.setAnfme(nccSaleXsfhmxWms.getNnum().doubleValue());
                detlDto.setStandby1(nccSaleXsfhmxWms.getFhckbm());
                detlDto.setLineNumber(i);
                detlDto.setRemark(JSONObject.toJSONString(nccSaleXsfhmxWms));
@@ -134,6 +154,7 @@
     *
     * @return
     */
    @Transactional
    public ReturnT<String> start2In(List<NccScZkmxbWms> wmsFlag) {
        try {
            OpenOrderPakinParam param = new OpenOrderPakinParam();
@@ -171,6 +192,7 @@
     *
     * @return
     */
    @Transactional
    public ReturnT<String> start2Out(List<NccScZkmxbWms> wmsFlag) {
        try {
            OpenOrderPakoutParam param = new OpenOrderPakoutParam();
@@ -207,6 +229,7 @@
     *
     * @return
     */
    @Transactional
    public ReturnT<String> start3(List<NccCgCgdhdWms> wmsFlag) {
        try {
            OpenOrderPakinParam param = new OpenOrderPakinParam();
@@ -245,6 +268,7 @@
     *
     * @return
     */
    @Transactional
    public ReturnT<String> start4(List<NccCkPddWms> wmsFlag) {
        try {
            InventoryCheckOrder param = new InventoryCheckOrder();
@@ -285,6 +309,7 @@
     *
     * @return
     */
    @Transactional
    public ReturnT<String> start5(List<NccSaleDbddWms> wmsFlag) {
        try {
            OpenOrderPakoutParam param = new OpenOrderPakoutParam();