|
|
|
@ -1,15 +1,12 @@
|
|
|
|
|
package com.op.wms.service.impl;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
import com.alibaba.nacos.shaded.com.google.gson.Gson;
|
|
|
|
|
import com.alibaba.nacos.shaded.com.google.gson.GsonBuilder;
|
|
|
|
|
import com.baomidou.dynamic.datasource.toolkit.DynamicDataSourceContextHolder;
|
|
|
|
|
import com.op.wms.domain.WmsOdsEmStorageNews;
|
|
|
|
|
import com.op.wms.domain.WmsOdsMateStorageNewsSn;
|
|
|
|
|
import com.op.wms.domain.WmsRawOrderInSn;
|
|
|
|
|
import com.op.wms.domain.WmsToWCSDTO;
|
|
|
|
|
import com.op.wms.mapper.WmsOdsEmStorageNewsMapper;
|
|
|
|
|
import com.op.wms.mapper.WmsOdsMateStorageNewsSnMapper;
|
|
|
|
|
import com.op.wms.mapper.WmsRawOrderInMapper;
|
|
|
|
|
import com.op.wms.mapper.WmsRawOrderInSnMapper;
|
|
|
|
|
import com.op.common.core.utils.uuid.IdUtils;
|
|
|
|
|
import com.op.wms.domain.*;
|
|
|
|
|
import com.op.wms.mapper.*;
|
|
|
|
|
import com.op.wms.service.IWmsToWCSmissionService;
|
|
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
@ -28,14 +25,16 @@ public class WmsToWCSmissionServiceImpl implements IWmsToWCSmissionService {
|
|
|
|
|
private WmsOdsMateStorageNewsSnMapper wmsOdsMateStorageNewsSnMapper;
|
|
|
|
|
@Autowired
|
|
|
|
|
private WmsOdsEmStorageNewsMapper wmsOdsEmStorageNewsMapper;
|
|
|
|
|
@Autowired
|
|
|
|
|
private WmsOdsMateStorageNewsMapper wmsOdsMateStorageNewsMapper;
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public WmsToWCSDTO packagingStorage(WmsToWCSDTO wcsdto) {
|
|
|
|
|
public WmsToWCSODTO packagingStorage(WmsToWCSDTO wcsdto) {
|
|
|
|
|
DynamicDataSourceContextHolder.push("ds_" + wcsdto.getFactory());
|
|
|
|
|
WmsToWCSDTO wmsToWCSDTO= wmsRawOrderInMapper.packagingStorage(wcsdto);
|
|
|
|
|
// wmsToWCSDTO.set//
|
|
|
|
|
if (wmsToWCSDTO==null){
|
|
|
|
|
WmsToWCSDTO wms=new WmsToWCSDTO();
|
|
|
|
|
WmsToWCSODTO wms=new WmsToWCSODTO();
|
|
|
|
|
wms.setCode("0");
|
|
|
|
|
wms.setReqCode(wcsdto.getReqCode());
|
|
|
|
|
wms.setMessage("OK");
|
|
|
|
@ -45,7 +44,17 @@ public class WmsToWCSmissionServiceImpl implements IWmsToWCSmissionService {
|
|
|
|
|
wmsToWCSDTO.setCode("0");
|
|
|
|
|
wmsToWCSDTO.setReqCode(wcsdto.getReqCode());
|
|
|
|
|
wmsToWCSDTO.setMessage("OK");
|
|
|
|
|
return wmsToWCSDTO;
|
|
|
|
|
WmsToWCSODTO wmsToWCSODTO=new WmsToWCSODTO();
|
|
|
|
|
wmsToWCSODTO.setCode("0");
|
|
|
|
|
|
|
|
|
|
// 创建Gson对象
|
|
|
|
|
Gson gson = new GsonBuilder().setPrettyPrinting().create();
|
|
|
|
|
|
|
|
|
|
// 将对象转换为JSON格式的字符串并格式化输出
|
|
|
|
|
String MESSAGE = gson.toJson(wmsToWCSDTO);
|
|
|
|
|
|
|
|
|
|
wmsToWCSODTO.setMessage(MESSAGE);
|
|
|
|
|
return wmsToWCSODTO;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
@ -68,23 +77,43 @@ public class WmsToWCSmissionServiceImpl implements IWmsToWCSmissionService {
|
|
|
|
|
wmsOdsMateStorageNewsSn.setAmount(wmsRawOrderInSn.getAmount());
|
|
|
|
|
wmsOdsMateStorageNewsSn.setCreateBy("AGV");
|
|
|
|
|
wmsOdsMateStorageNewsSn.setGmtCreate(new Date());
|
|
|
|
|
wmsOdsMateStorageNewsSn.setMateOrderInSnId(IdUtils.fastSimpleUUID());
|
|
|
|
|
wmsOdsMateStorageNewsSn.setFactoryCode(wmsToWCSDTO.getFactory());
|
|
|
|
|
wmsOdsMateStorageNewsSn.setSapFactoryCode(wmsToWCSDTO.getFactory());
|
|
|
|
|
wmsOdsMateStorageNewsSnMapper.insertWmsOdsMateStorageNewsSn(wmsOdsMateStorageNewsSn);
|
|
|
|
|
//修改库存
|
|
|
|
|
//2,修改库存---/加库存数量-/-冻结数量
|
|
|
|
|
//2,修改库存---/加库存数量--storage_amount = IFNULL(storage_amount, 0) + #{amount},
|
|
|
|
|
WmsOdsEmStorageNews wmsOdsEmStorageNews=new WmsOdsEmStorageNews();
|
|
|
|
|
wmsOdsEmStorageNews.setWhCode(wmsRawOrderInSn.getWhCode());//仓库编码
|
|
|
|
|
wmsOdsEmStorageNews.setWlCode(wmsRawOrderInSn.getWlCode());//库位编码
|
|
|
|
|
wmsOdsEmStorageNews.setMaterialCode(wmsRawOrderInSn.getMaterialCode());
|
|
|
|
|
wmsOdsEmStorageNews.setAmount(new BigDecimal(wmsToWCSDTO.getQty()));
|
|
|
|
|
wmsOdsEmStorageNews.setAmount(wmsRawOrderInSn.getAmount());
|
|
|
|
|
|
|
|
|
|
//添加库存--这个要有个判断有没有这个库存如果没有的话,就插入
|
|
|
|
|
WmsOdsMateStorageNews wmsOdsMateStorageNews= wmsOdsMateStorageNewsMapper.selectByWhCodeAndMate(wmsOdsEmStorageNews);
|
|
|
|
|
if (wmsOdsMateStorageNews==null){
|
|
|
|
|
WmsOdsMateStorageNews wmsOdsMateStorageNews1=new WmsOdsMateStorageNews();
|
|
|
|
|
wmsOdsMateStorageNews1.setStorageId(IdUtils.fastSimpleUUID());
|
|
|
|
|
wmsOdsMateStorageNews1.setWhCode(wmsRawOrderInSn.getWhCode());
|
|
|
|
|
wmsOdsMateStorageNews1.setWlCode(wmsRawOrderInSn.getWlCode());
|
|
|
|
|
wmsOdsMateStorageNews1.setAmount(wmsRawOrderInSn.getAmount());
|
|
|
|
|
// wmsOdsMateStorageNews1.setStorageAmount(wmsRawOrderInSn.getAmount());
|
|
|
|
|
wmsOdsMateStorageNews1.setMaterialCode(wmsRawOrderInSn.getMaterialCode());
|
|
|
|
|
wmsOdsMateStorageNews1.setMaterialDesc(wmsRawOrderInSn.getMaterialDesc());
|
|
|
|
|
wmsOdsMateStorageNews1.setStorageType("BC");
|
|
|
|
|
wmsOdsMateStorageNews1.setCreateBy("wcs");
|
|
|
|
|
wmsOdsMateStorageNews1.setGmtCreate(new Date());
|
|
|
|
|
wmsOdsMateStorageNews1.setActiveFlag("1");
|
|
|
|
|
wmsOdsMateStorageNews1.setFactoryCode(wmsToWCSDTO.getFactory());
|
|
|
|
|
wmsOdsMateStorageNews1.setSapFactoryCode(wmsToWCSDTO.getFactory());
|
|
|
|
|
wmsOdsMateStorageNews1.setUserDefined1(wmsRawOrderInSn.getUserDefined4());//单位
|
|
|
|
|
wmsOdsMateStorageNewsMapper.insertWmsOdsMateStorageNews(wmsOdsMateStorageNews1);
|
|
|
|
|
}else {
|
|
|
|
|
wmsOdsMateStorageNewsSnMapper.updateAdd(wmsOdsEmStorageNews);
|
|
|
|
|
//修改托盘记录为入库
|
|
|
|
|
}
|
|
|
|
|
//修改托盘记录为入库
|
|
|
|
|
wmsRawOrderInSnMapper.updateU1Byid(wmsRawOrderInSn);
|
|
|
|
|
|
|
|
|
|
wmsToWCSDTO.setCode("0");
|
|
|
|
|
|
|
|
|
|
wmsToWCSDTO.setMessage("OK");
|
|
|
|
|
return wmsToWCSDTO;
|
|
|
|
|
}
|
|
|
|
@ -99,6 +128,18 @@ public class WmsToWCSmissionServiceImpl implements IWmsToWCSmissionService {
|
|
|
|
|
//记录明细消减库存
|
|
|
|
|
DynamicDataSourceContextHolder.push("ds_" + wcsdto.getFactory());
|
|
|
|
|
|
|
|
|
|
WmsRawOrderInSn wmsRawOrderInSn= wmsRawOrderInSnMapper.selectwmsRfidNotwo(wcsdto);
|
|
|
|
|
//修改库存
|
|
|
|
|
//2,修改库存---/加库存数量--storage_amount = IFNULL(storage_amount, 0) + #{amount},
|
|
|
|
|
WmsOdsEmStorageNews wmsOdsEmStorageNews=new WmsOdsEmStorageNews();
|
|
|
|
|
wmsOdsEmStorageNews.setWhCode(wmsRawOrderInSn.getWhCode());//仓库编码
|
|
|
|
|
wmsOdsEmStorageNews.setWlCode(wmsRawOrderInSn.getWlCode());//库位编码
|
|
|
|
|
wmsOdsEmStorageNews.setMaterialCode(wmsRawOrderInSn.getMaterialCode());
|
|
|
|
|
wmsOdsEmStorageNews.setAmount(wmsRawOrderInSn.getAmount());
|
|
|
|
|
wmsOdsMateStorageNewsSnMapper.updatekdd(wmsOdsEmStorageNews);
|
|
|
|
|
return wcsdto;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|