WMS插件同步
This commit is contained in:
parent
40e8461237
commit
59c48a011c
|
|
@ -0,0 +1,42 @@
|
|||
package nccloud.wmssync.ml.m4a;
|
||||
|
||||
import nc.bs.businessevent.IBusinessEvent;
|
||||
import nc.bs.businessevent.IBusinessListener;
|
||||
import nc.bs.framework.common.NCLocator;
|
||||
import nc.bs.ic.general.businessevent.ICGeneralCommonEvent;
|
||||
import nc.bs.logging.Log;
|
||||
import nc.vo.ic.m4a.entity.GeneralInHeadVO;
|
||||
import nc.vo.ic.m4a.entity.GeneralInVO;
|
||||
import nc.vo.org.StockOrgVO;
|
||||
import nc.vo.pub.BusinessException;
|
||||
import nccloud.api.uapbd.wms.utils.IWmsSyncUtils;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* 其他入库单删除后同步WMS
|
||||
* 支持的交易类型:
|
||||
* - 4A-Cxx-14: 形态转换入库 -> XTRK
|
||||
* - 4A-Cxx-13: 其他入库 -> QTRK
|
||||
* - 4A-Cxx-12: 盘盈入库 -> ADJ
|
||||
*/
|
||||
public class WmsSyncAfterDeleteGeneralInListener implements IBusinessListener {
|
||||
|
||||
/**
|
||||
* 支持取消同步的交易类型编码映射
|
||||
* key: ERP交易类型编码, value: WMS交易类型
|
||||
*/
|
||||
private static final Map<String, String> SUPPORTED_TRAN_TYPES = new HashMap<>();
|
||||
|
||||
static {
|
||||
SUPPORTED_TRAN_TYPES.put("4A-06", "XTRK"); // 形态转换入库
|
||||
SUPPORTED_TRAN_TYPES.put("4A-01", "QTRK"); // 其他入库
|
||||
SUPPORTED_TRAN_TYPES.put("4A-03", "ADJ"); // 盘盈入库
|
||||
}
|
||||
|
||||
@Override
|
||||
public void doAction(IBusinessEvent iBusinessEvent) throws BusinessException {
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,23 @@
|
|||
package nccloud.resources.ic.ic.materialout;
|
||||
|
||||
import nc.bs.businessevent.IBusinessEvent;
|
||||
import nc.bs.businessevent.IBusinessListener;
|
||||
import nc.bs.logging.Log;
|
||||
import nc.vo.pub.BusinessException;
|
||||
import nccloud.api.uapbd.wms.utils.WmsSyncUtils;
|
||||
|
||||
// 取消材料出库单据同步到FLUX WMS
|
||||
public class CancelMaterialOutWmsPlugin implements IBusinessListener {
|
||||
|
||||
private static final Log log = Log.getInstance("wmslog");
|
||||
private final WmsSyncUtils wmsSyncUtils = new WmsSyncUtils();
|
||||
|
||||
@Override
|
||||
public void doAction(IBusinessEvent iBusinessEvent) throws BusinessException {
|
||||
try {
|
||||
} catch (Exception e) {
|
||||
log.error("CancelMaterialOutWmsPlugin - 处理异常: " + e.getMessage(), e);
|
||||
throw new BusinessException("取消材料出库单同步时报错,报错信息:" + e.getMessage());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
package nccloud.wmssync.ml.c003;
|
||||
|
||||
import nc.bs.businessevent.IBusinessEvent;
|
||||
import nc.bs.businessevent.IBusinessListener;
|
||||
import nc.vo.pub.BusinessException;
|
||||
|
||||
public class WmsSyncQcReportListener implements IBusinessListener {
|
||||
@Override
|
||||
public void doAction(IBusinessEvent iBusinessEvent) throws BusinessException {
|
||||
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,20 @@
|
|||
package nccloud.resources.ic.ic.materialin;
|
||||
|
||||
import nc.bs.businessevent.IBusinessEvent;
|
||||
import nc.bs.businessevent.IBusinessListener;
|
||||
import nc.bs.logging.Log;
|
||||
import nc.vo.pub.BusinessException;
|
||||
import nccloud.api.uapbd.wms.utils.WmsSyncUtils;
|
||||
|
||||
/**
|
||||
* Éú²úÍËÁϵ¥É¾³ýºóͬ²½WMS
|
||||
*/
|
||||
public class MaterialInAfterDeleteWmsPlugin implements IBusinessListener {
|
||||
|
||||
private static final Log log = Log.getInstance("wmslog");
|
||||
private final WmsSyncUtils wmsSyncUtils = new WmsSyncUtils();
|
||||
|
||||
@Override
|
||||
public void doAction(IBusinessEvent iBusinessEvent) throws BusinessException {
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,61 @@
|
|||
package nccloud.resources.ic.ic.materialin;
|
||||
|
||||
import nc.bs.businessevent.BdUpdateEvent;
|
||||
import nc.bs.businessevent.BusinessEvent;
|
||||
import nc.bs.businessevent.IBusinessEvent;
|
||||
import nc.bs.businessevent.IBusinessListener;
|
||||
import nc.bs.ic.general.businessevent.ICGeneralCommonEvent;
|
||||
import nc.bs.logging.Log;
|
||||
import nc.vo.ic.m4d.entity.MaterialOutVO;
|
||||
import nc.vo.pub.BusinessException;
|
||||
import nccloud.api.uapbd.wms.utils.WmsSyncUtils;
|
||||
|
||||
// 材料入库保存后同步到FLUX WMS
|
||||
public class MaterialInAfterSaveWmsPlugin implements IBusinessListener {
|
||||
|
||||
private static final Log log = Log.getInstance("wmslog");
|
||||
private final WmsSyncUtils wmsSyncUtils = new WmsSyncUtils();
|
||||
|
||||
@Override
|
||||
public void doAction(IBusinessEvent iBusinessEvent) throws BusinessException {
|
||||
try {
|
||||
log.info("MaterialInAfterSaveWmsPlugin - 开始处理生产退料入库WMS同步");
|
||||
// 获取单据数据
|
||||
MaterialOutVO[] materialOutVOs = getMaterialOutVOs(iBusinessEvent);
|
||||
} catch (Exception e) {
|
||||
log.error("MaterialInAfterSaveWmsPlugin - 处理异常: " + e.getMessage(), e);
|
||||
throw new BusinessException("材料入库单同步时报错,报错信息:" + e.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 从业务事件中获取生产退料入库数据
|
||||
*/
|
||||
private MaterialOutVO[] getMaterialOutVOs(IBusinessEvent event) throws BusinessException {
|
||||
Object object = null;
|
||||
|
||||
// 根据不同的事件类型获取单据数据
|
||||
if (event instanceof BusinessEvent businessEvent) {
|
||||
object = businessEvent.getObject();
|
||||
} else if (event instanceof BdUpdateEvent updateEvent) {
|
||||
object = updateEvent.getNewObject();
|
||||
} else if (event instanceof ICGeneralCommonEvent commonEvent) {
|
||||
object = commonEvent.getOldObjs();
|
||||
} else {
|
||||
log.warn("MaterialInAfterSaveWmsPlugin - 未支持的事件类型: " + event.getClass().getName());
|
||||
return null;
|
||||
}
|
||||
|
||||
if (object == null) {
|
||||
return null;
|
||||
}
|
||||
|
||||
// 转换为MaterialOutVO数组
|
||||
if (object.getClass().isArray()) {
|
||||
return (MaterialOutVO[]) object;
|
||||
} else {
|
||||
return new MaterialOutVO[]{(MaterialOutVO) object};
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,20 @@
|
|||
package nccloud.resources.ic.ic.materialout;
|
||||
|
||||
import nc.bs.businessevent.IBusinessEvent;
|
||||
import nc.bs.businessevent.IBusinessListener;
|
||||
import nc.bs.logging.Log;
|
||||
import nc.vo.pub.BusinessException;
|
||||
import nccloud.api.uapbd.wms.utils.WmsSyncUtils;
|
||||
|
||||
// ²ÄÁϳö¿â±£´æºóͬ²½µ½FLUX WMS
|
||||
public class MaterialOutAfterSaveWmsPlugin implements IBusinessListener {
|
||||
|
||||
private static final Log log = Log.getInstance("wmslog");
|
||||
private final WmsSyncUtils wmsSyncUtils = new WmsSyncUtils();
|
||||
|
||||
@Override
|
||||
public void doAction(IBusinessEvent iBusinessEvent) throws BusinessException {
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,18 @@
|
|||
package nccloud.wmssync.ml;
|
||||
|
||||
import nc.bs.businessevent.IBusinessEvent;
|
||||
import nc.bs.businessevent.IBusinessListener;
|
||||
import nc.vo.pub.BusinessException;
|
||||
|
||||
/**
|
||||
* 膠죕谿꼍말잇WMS
|
||||
*/
|
||||
public class WmsSyncMaterialListener implements IBusinessListener {
|
||||
|
||||
@Override
|
||||
public void doAction(IBusinessEvent iBusinessEvent) throws BusinessException {
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue