| | |
| | | package com.zy.nc.task.handler; |
| | | |
| | | import com.alibaba.fastjson.JSONObject; |
| | | import com.baomidou.mybatisplus.mapper.EntityWrapper; |
| | | import com.core.common.Cools; |
| | | import com.core.exception.CoolException; |
| | | import com.zy.asrs.entity.InventoryCheckOrder; |
| | |
| | | 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 |
| | |
| | | * |
| | | * @return |
| | | */ |
| | | @Transactional |
| | | public ReturnT<String> start1(List<NccSaleXsfhmxWms> wmsFlag) { |
| | | try { |
| | | OpenOrderPakoutParam param = new OpenOrderPakoutParam(); |
| | | param.setOrderType("销售发货"); |
| | | 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); |
| | | } |
| | | } |
| | | 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(); |
| | | return FAIL.setMsg(e.getMessage()); |
| | | } |
| | | return SUCCESS; |
| | | } |
| | | |
| | | /** |
| | | * 发货 |
| | | * |
| | | * @return |
| | | */ |
| | | @Transactional |
| | | public ReturnT<String> start1In(List<NccSaleXsfhmxWms> wmsFlag) { |
| | | try { |
| | | OpenOrderPakinParam param = new OpenOrderPakinParam(); |
| | | 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.setAnfme(nccSaleXsfhmxWms.getNnum().doubleValue()); |
| | | detlDto.setStandby1(nccSaleXsfhmxWms.getFhckbm()); |
| | | detlDto.setLineNumber(i); |
| | | detlDto.setRemark(JSONObject.toJSONString(nccSaleXsfhmxWms)); |
| | | orderDetails.add(detlDto); |
| | |
| | | param.setOrderNo(nccSaleXsfhmxWms.getVbillcode()); |
| | | } |
| | | param.setOrderDetails(orderDetails); |
| | | openService.pakoutOrderCreate(param); |
| | | openService.pakinOrderCreate(param); |
| | | nccSaleXsfhmxWmsService.updateBatchById(wmsFlag); |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | TransactionAspectSupport. currentTransactionStatus().setRollbackOnly(); |
| | | TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); |
| | | return FAIL.setMsg(e.getMessage()); |
| | | } |
| | | return SUCCESS; |
| | |
| | | * |
| | | * @return |
| | | */ |
| | | @Transactional |
| | | public ReturnT<String> start2In(List<NccScZkmxbWms> wmsFlag) { |
| | | try { |
| | | OpenOrderPakinParam param = new OpenOrderPakinParam(); |
| | |
| | | * |
| | | * @return |
| | | */ |
| | | @Transactional |
| | | public ReturnT<String> start2Out(List<NccScZkmxbWms> wmsFlag) { |
| | | try { |
| | | OpenOrderPakoutParam param = new OpenOrderPakoutParam(); |
| | |
| | | * |
| | | * @return |
| | | */ |
| | | @Transactional |
| | | public ReturnT<String> start3(List<NccCgCgdhdWms> wmsFlag) { |
| | | try { |
| | | OpenOrderPakinParam param = new OpenOrderPakinParam(); |
| | |
| | | * |
| | | * @return |
| | | */ |
| | | @Transactional |
| | | public ReturnT<String> start4(List<NccCkPddWms> wmsFlag) { |
| | | try { |
| | | InventoryCheckOrder param = new InventoryCheckOrder(); |
| | |
| | | Mat mat = matService.selectByMatnr(nccScZkmxbWms.getWlbm()); |
| | | if (Cools.isEmpty(mat)) { |
| | | throw new CoolException(nccScZkmxbWms.getWlbm() + "编号商品检索失败,请先添加商品"); |
| | | } |
| | | List<InventoryCheckOrderDetl> checkOrderDetls = inventoryCheckOrderDetlService.selectList(new EntityWrapper<InventoryCheckOrderDetl>().eq("order_no", nccScZkmxbWms.getVbillcode()).eq("matnr", mat.getMatnr()).eq("batch", nccScZkmxbWms.getVbatchcode())); |
| | | if (checkOrderDetls != null && !checkOrderDetls.isEmpty()) { |
| | | //throw new CoolException(nccScZkmxbWms.getWlbm() + "盘点单的明细重复了"); |
| | | } |
| | | checkOrderDetl = new InventoryCheckOrderDetl(); |
| | | checkOrderDetl.setMatnr(nccScZkmxbWms.getWlbm()); |
| | |
| | | * |
| | | * @return |
| | | */ |
| | | @Transactional |
| | | public ReturnT<String> start5(List<NccSaleDbddWms> wmsFlag) { |
| | | try { |
| | | OpenOrderPakoutParam param = new OpenOrderPakoutParam(); |