|
|
|
@ -164,9 +164,11 @@ public class OdsProcureOrderServiceImpl implements IOdsProcureOrderService {
|
|
|
|
|
//wms_raw_order_in_sn
|
|
|
|
|
WmsRawOrderInSn wmsRawOrderInSn = new WmsRawOrderInSn();
|
|
|
|
|
wmsRawOrderInSn.setRawOrderInSnId(IdUtils.fastSimpleUUID());
|
|
|
|
|
wmsRawOrderInSn.setUserDefined1("1");//
|
|
|
|
|
wmsRawOrderInSn.setUserDefined1("1");//1是收货,2是入库
|
|
|
|
|
wmsRawOrderInSn.setUserDefined2(odsProcureOrder.getIncomeBatchNo());//批次
|
|
|
|
|
wmsRawOrderInSn.setWhCode(odsProcureOrder.getWhCode());//厂库编号
|
|
|
|
|
wmsRawOrderInSn.setWaCode(odsProcureOrder.getWaCode());
|
|
|
|
|
wmsRawOrderInSn.setWlCode("00001-1-01");//先都设置为同一个库位
|
|
|
|
|
wmsRawOrderInSn.setPoNo(order.getProcureCode());//采购单号
|
|
|
|
|
wmsRawOrderInSn.setPoLine(odsProcureOrder.getPoLine());//行项目
|
|
|
|
|
wmsRawOrderInSn.setMaterialCode(odsProcureOrder.getMaterialCode());
|
|
|
|
@ -181,7 +183,19 @@ public class OdsProcureOrderServiceImpl implements IOdsProcureOrderService {
|
|
|
|
|
wmsRawOrderInSn.setFactoryCode(odsProcureOrder.getSiteCode());
|
|
|
|
|
wmsRawOrderInSn.setUserDefined3(order.getID());
|
|
|
|
|
wmsRawOrderInSn.setUserDefined5(odsProcureOrder.getReceiptNoCode());
|
|
|
|
|
wmsRawOrderInSn.setUserDefined6(odsProcureOrder.getUserDefined6());//标识码绑定
|
|
|
|
|
|
|
|
|
|
wmsRawOrderInSnMapper.insertWmsRawOrderInSn(wmsRawOrderInSn);
|
|
|
|
|
//标识码绑定
|
|
|
|
|
if (odsProcureOrder.getUserDefined6()!=null){
|
|
|
|
|
WmsLogotypeTable wmsLogotypeTable=new WmsLogotypeTable();
|
|
|
|
|
wmsLogotypeTable.setId(IdUtils.fastSimpleUUID());
|
|
|
|
|
wmsLogotypeTable.setLogotype(odsProcureOrder.getUserDefined6());
|
|
|
|
|
wmsLogotypeTable.setSn(odsProcureOrder.getSn());
|
|
|
|
|
wmsLogotypeTable.setActiveFlag("1");
|
|
|
|
|
wmsRawOrderInSnMapper.insertWmsLogotypeTable(wmsLogotypeTable);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//插入收货记录
|
|
|
|
|
//如果收货完成了的话,就插入信息收货完成
|
|
|
|
|
odsProcureOrder.setOrderStatus("1");
|
|
|
|
@ -191,24 +205,6 @@ public class OdsProcureOrderServiceImpl implements IOdsProcureOrderService {
|
|
|
|
|
}
|
|
|
|
|
Integer tem = odsProcureOrderMapper.updateRealityNuById(odsProcureOrder);
|
|
|
|
|
//插入检验集计划
|
|
|
|
|
// QcCheckTaskIncomeDTO qcCheckTaskIncomeDTO = new QcCheckTaskIncomeDTO();
|
|
|
|
|
// qcCheckTaskIncomeDTO.setCheckLoc("mjtest");
|
|
|
|
|
// qcCheckTaskIncomeDTO.setCheckType("checkTypeLL");
|
|
|
|
|
//// qcCheckTaskIncomeDTO.setCheckManCode("mobile");
|
|
|
|
|
//// qcCheckTaskIncomeDTO.setCheckManName("手持测试用户");
|
|
|
|
|
// qcCheckTaskIncomeDTO.setSupplierCode(order.getSupplierCode());
|
|
|
|
|
// String name = odsProcureOrderMapper.selectBaseSupplier(odsProcureOrder);
|
|
|
|
|
// qcCheckTaskIncomeDTO.setSupplierName(name);
|
|
|
|
|
// qcCheckTaskIncomeDTO.setOrderType("bc");
|
|
|
|
|
// qcCheckTaskIncomeDTO.setUnit(order.getUnit());
|
|
|
|
|
// qcCheckTaskIncomeDTO.setFactoryCode(odsProcureOrder.getFactoryCode());
|
|
|
|
|
// qcCheckTaskIncomeDTO.setQuality(odsProcureOrder.getPlanNumber());
|
|
|
|
|
// qcCheckTaskIncomeDTO.setMaterialCode(odsProcureOrder.getMaterialCode());
|
|
|
|
|
// qcCheckTaskIncomeDTO.setMaterialName(odsProcureOrder.getSupplierName());
|
|
|
|
|
// qcCheckTaskIncomeDTO.setIncomeBatchNo(odsProcureOrder.getIncomeBatchNo());
|
|
|
|
|
// qcCheckTaskIncomeDTO.setOrderNo(order.getProcureCode());
|
|
|
|
|
// qcCheckTaskIncomeDTO.setIncomeTime(new Date());
|
|
|
|
|
// remoteQualityService.createIncomeTask(qcCheckTaskIncomeDTO);
|
|
|
|
|
return tem;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -668,6 +664,7 @@ public class OdsProcureOrderServiceImpl implements IOdsProcureOrderService {
|
|
|
|
|
order.setUserDefined3(sapPurchaseOrderQuery1.get("ebelp"));//批次
|
|
|
|
|
order.setMaterialCode(sapPurchaseOrderQuery1.get("matnr"));
|
|
|
|
|
order.setMaterialDesc(sapPurchaseOrderQuery1.get("maktx"));
|
|
|
|
|
order.setUserDefined8("1");
|
|
|
|
|
order.setActive("1");
|
|
|
|
|
List<OdsProcureOrder> orderList = odsProcureOrderMapper.selectOdsProcureOrderList(order);
|
|
|
|
|
if (orderList.size() > 0) {
|
|
|
|
@ -726,8 +723,104 @@ public class OdsProcureOrderServiceImpl implements IOdsProcureOrderService {
|
|
|
|
|
public String PurchaseOrderdeliPdaConfirm(OdsProcureOrder odsProcureOrder) {
|
|
|
|
|
DynamicDataSourceContextHolder.push("ds_" + odsProcureOrder.getFactoryCode());
|
|
|
|
|
String result="操作成功";
|
|
|
|
|
List<WmsRawOrderInSn> wmsRawOrderInSn = wmsRawOrderInSnMapper.selecPurchaseOrderdeliPdaList(odsProcureOrder);
|
|
|
|
|
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMddHHmmss");
|
|
|
|
|
Date date = new Date();
|
|
|
|
|
String formattedDate = dateFormat.format(date);
|
|
|
|
|
WmsRawOrderInSn wmsRawOrderInSn1=new WmsRawOrderInSn();
|
|
|
|
|
OdsProcureOrder order = odsProcureOrderMapper.selectOdsProcureOrderByID(odsProcureOrder.getID());
|
|
|
|
|
List<WmsRawOrderInSn> wmsRawOrderInSns = wmsRawOrderInSnMapper.selecPurchaseOrderdeliPdaList(odsProcureOrder);
|
|
|
|
|
WmsRawOrderInSn wmsRawOrderInSnTEM = wmsRawOrderInSnMapper.selecPurchaseOrderdeliPdaById(odsProcureOrder);
|
|
|
|
|
if(wmsRawOrderInSns.size()>0){
|
|
|
|
|
|
|
|
|
|
}else {
|
|
|
|
|
result="托盘都已经入库";
|
|
|
|
|
return result;
|
|
|
|
|
}
|
|
|
|
|
//先sap暂收成功后,我们这边也进行收货
|
|
|
|
|
BigDecimal amount= wmsRawOrderInSnTEM.getAmount();//要入库的数量
|
|
|
|
|
Map paramMap=new HashMap<>();
|
|
|
|
|
List<Map> mapList = new ArrayList<>();
|
|
|
|
|
/**
|
|
|
|
|
* ZMES_103_MIGO函数取值说明:智慧工厂MIGO-103移动类型收货
|
|
|
|
|
* 字段 类型 长度 小数位 描述
|
|
|
|
|
* EBELN CHAR 10 0 采购凭证号
|
|
|
|
|
* EBELP NUMC 5 0 采购凭证的项目编号
|
|
|
|
|
* MATNR CHAR 18 0 物料号
|
|
|
|
|
* WERKS CHAR 4 0 工厂
|
|
|
|
|
* QUANTITY QUAN 13 3 数量
|
|
|
|
|
* @param mapList
|
|
|
|
|
* @return
|
|
|
|
|
*/
|
|
|
|
|
paramMap.put("EBELN",order.getProcureCode());
|
|
|
|
|
paramMap.put("EBELP",order.getUserDefined3());
|
|
|
|
|
paramMap.put("MATNR",order.getMaterialCode());
|
|
|
|
|
paramMap.put("WERKS",order.getSiteCode());
|
|
|
|
|
paramMap.put("QUANTITY",amount.toString());
|
|
|
|
|
mapList.add(paramMap);
|
|
|
|
|
R result2 = remoteSapService.temporarilyCollected(mapList);
|
|
|
|
|
int code = result2.getCode();
|
|
|
|
|
if (code == 200){//成功
|
|
|
|
|
order.setSapTempStatus("1");//0是失败。1是成功
|
|
|
|
|
order.setSapTempInfor(result2.getMsg());
|
|
|
|
|
odsProcureOrderMapper.updateOdsProcureOrder(order);
|
|
|
|
|
for (WmsRawOrderInSn wmsRawOrderInSn:wmsRawOrderInSns){
|
|
|
|
|
//收货
|
|
|
|
|
WmsOdsMateStorageNewsSn wmsOdsMateStorageNewsSn = new WmsOdsMateStorageNewsSn();
|
|
|
|
|
wmsOdsMateStorageNewsSn.setMateOrderInSnId(IdUtils.fastSimpleUUID());
|
|
|
|
|
wmsOdsMateStorageNewsSn.setWhCode(wmsRawOrderInSn.getWhCode());//仓库编码
|
|
|
|
|
wmsOdsMateStorageNewsSn.setWaCode(wmsRawOrderInSn.getWaCode());
|
|
|
|
|
wmsOdsMateStorageNewsSn.setWlCode(wmsRawOrderInSn.getWlCode());//库位编码--现在都设置为00001-1-01
|
|
|
|
|
wmsOdsMateStorageNewsSn.setMaterialCode(wmsRawOrderInSn.getMaterialCode());
|
|
|
|
|
wmsOdsMateStorageNewsSn.setMaterialDesc(wmsRawOrderInSn.getMaterialDesc());
|
|
|
|
|
wmsOdsMateStorageNewsSn.setSn(wmsRawOrderInSn.getSn());
|
|
|
|
|
wmsOdsMateStorageNewsSn.setAmount(wmsRawOrderInSn.getAmount());
|
|
|
|
|
wmsOdsMateStorageNewsSn.setCreateBy(odsProcureOrder.getCreateBy());
|
|
|
|
|
wmsOdsMateStorageNewsSn.setGmtCreate(new Date());
|
|
|
|
|
wmsOdsMateStorageNewsSn.setUserDefined2(formattedDate);//批次
|
|
|
|
|
wmsOdsMateStorageNewsSn.setFactoryCode(wmsRawOrderInSn.getFactoryCode());
|
|
|
|
|
wmsOdsMateStorageNewsSn.setSapFactoryCode(wmsRawOrderInSn.getFactoryCode());
|
|
|
|
|
wmsOdsMateStorageNewsSn.setActiveFlag("1");
|
|
|
|
|
wmsOdsMateStorageNewsSnMapper.insertWmsOdsMateStorageNewsSn(wmsOdsMateStorageNewsSn);
|
|
|
|
|
//修改库存
|
|
|
|
|
//2,修改库存---/加库存数量-/-冻结数量
|
|
|
|
|
WmsOdsEmStorageNews wmsOdsEmStorageNews = new WmsOdsEmStorageNews();
|
|
|
|
|
wmsOdsEmStorageNews.setWhCode(wmsRawOrderInSn.getWhCode());//仓库编码
|
|
|
|
|
wmsOdsEmStorageNews.setWlCode(wmsRawOrderInSn.getWlCode());//库位编码
|
|
|
|
|
wmsOdsEmStorageNews.setWaCode(wmsRawOrderInSn.getWaCode());//库位编码
|
|
|
|
|
wmsOdsEmStorageNews.setMaterialCode(wmsRawOrderInSn.getMaterialCode());
|
|
|
|
|
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.setWaCode(wmsRawOrderInSn.getWaCode());
|
|
|
|
|
wmsOdsMateStorageNews1.setAmount(wmsRawOrderInSn.getAmount());
|
|
|
|
|
wmsOdsMateStorageNews1.setStorageAmount(wmsRawOrderInSn.getAmount());
|
|
|
|
|
wmsOdsMateStorageNews1.setMaterialCode(wmsRawOrderInSn.getMaterialCode());
|
|
|
|
|
wmsOdsMateStorageNews1.setMaterialDesc(wmsRawOrderInSn.getMaterialDesc());
|
|
|
|
|
wmsOdsMateStorageNews1.setStorageType("BC");
|
|
|
|
|
wmsOdsMateStorageNews1.setCreateBy(wmsRawOrderInSn.getCreateBy());
|
|
|
|
|
wmsOdsMateStorageNews1.setGmtCreate(new Date());
|
|
|
|
|
wmsOdsMateStorageNews1.setActiveFlag("1");
|
|
|
|
|
wmsOdsMateStorageNews1.setFactoryCode(wmsRawOrderInSn.getFactoryCode());
|
|
|
|
|
wmsOdsMateStorageNews1.setSapFactoryCode(wmsRawOrderInSn.getSapFactoryCode());
|
|
|
|
|
wmsOdsMateStorageNews1.setUserDefined1(wmsRawOrderInSn.getUserDefined4());//单位
|
|
|
|
|
wmsOdsMateStorageNewsMapper.insertWmsOdsMateStorageNews(wmsOdsMateStorageNews1);
|
|
|
|
|
} else {
|
|
|
|
|
wmsOdsMateStorageNewsSnMapper.updateAdd(wmsOdsEmStorageNews);
|
|
|
|
|
}
|
|
|
|
|
wmsRawOrderInSnMapper.updateU1Byid(wmsRawOrderInSn);//入库
|
|
|
|
|
}
|
|
|
|
|
}else {////失败|
|
|
|
|
|
result="暂收失败";
|
|
|
|
|
order.setSapTempInfor(result2.getMsg());
|
|
|
|
|
order.setSapTempStatus("0");//0是失败。1是成功
|
|
|
|
|
odsProcureOrderMapper.updateOdsProcureOrder(order);
|
|
|
|
|
return result;
|
|
|
|
|
}
|
|
|
|
|
return result;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -786,6 +879,8 @@ public class OdsProcureOrderServiceImpl implements IOdsProcureOrderService {
|
|
|
|
|
DynamicDataSourceContextHolder.push("ds_" + odsProcureOrder.getFactoryCode());
|
|
|
|
|
SapPurchaseOrderQuery sapPurchaseOrderQuery = new SapPurchaseOrderQuery();
|
|
|
|
|
sapPurchaseOrderQuery.setEbeln(odsProcureOrder.getProcureCode());//采购单号
|
|
|
|
|
//"ebelp": "10",
|
|
|
|
|
//代表是-00010
|
|
|
|
|
Map paramMap=new HashMap<>();
|
|
|
|
|
paramMap.put("id",odsProcureOrder.getUserDefined5());
|
|
|
|
|
AjaxResult result = remoteOpenService.getDeliveryNoteDetail(paramMap);
|
|
|
|
@ -804,30 +899,26 @@ public class OdsProcureOrderServiceImpl implements IOdsProcureOrderService {
|
|
|
|
|
}
|
|
|
|
|
order.setProcureCode(sapPurchaseOrderQuery1.get("orderNum"));
|
|
|
|
|
order.setSiteCode(sapPurchaseOrderQuery1.get("werks"));
|
|
|
|
|
//order.setUserDefined3(sapPurchaseOrderQuery1.get("ebelp"));//批次
|
|
|
|
|
order.setUserDefined3(sapPurchaseOrderQuery1.get("ebelp"));//批次
|
|
|
|
|
if (order.getUserDefined3()!=null){
|
|
|
|
|
order.setUserDefined3("000"+order.getUserDefined3());
|
|
|
|
|
}
|
|
|
|
|
String materialCode = sapPurchaseOrderQuery1.get("matnr");
|
|
|
|
|
materialCode = "0000000" + materialCode;
|
|
|
|
|
order.setMaterialCode(materialCode);
|
|
|
|
|
// order.setMaterialCode(sapPurchaseOrderQuery1.get("matnr"));
|
|
|
|
|
// order.setMaterialCode("0000000"+order.getMaterialCode());
|
|
|
|
|
order.setUserDefined5(mainId);//送货单
|
|
|
|
|
order.setMaterialDesc(sapPurchaseOrderQuery1.get("matnrName"));
|
|
|
|
|
order.setActive("1");
|
|
|
|
|
order.setUserDefined8("0");//0是属于送货单下的
|
|
|
|
|
List<OdsProcureOrder> orderList = odsProcureOrderMapper.selectOdsProcureOrderList(order);
|
|
|
|
|
if (orderList.size() > 0) {
|
|
|
|
|
//这个地方判断下是不是采购单已经被插入了,如果是的话,并且是走的送货单的路径,那就把送货单给她附上
|
|
|
|
|
if (odsProcureOrder.getUserDefined5()!=null){
|
|
|
|
|
order.setUserDefined5(mainId);
|
|
|
|
|
odsProcureOrderMapper.updateOdsProcureOrderByProcureCode(order);
|
|
|
|
|
}
|
|
|
|
|
continue;
|
|
|
|
|
}
|
|
|
|
|
order.setUserDefined5(mainId);//送货单
|
|
|
|
|
order.setUserDefined11(sapPurchaseOrderQuery1.get("realDate"));
|
|
|
|
|
order.setPlanNumber(new BigDecimal(sapPurchaseOrderQuery1.get("thisDeliNum")));
|
|
|
|
|
order.setUnit(sapPurchaseOrderQuery1.get("unit"));
|
|
|
|
|
order.setSupplierCode(sapPurchaseOrderQuery1.get("lifnr"));
|
|
|
|
|
//order.setUserDefined9(sapPurchaseOrderQuery1.get("zmenge"));
|
|
|
|
|
// order.setUserDefined10(sapPurchaseOrderQuery1.get("elikz"));
|
|
|
|
|
// order.setUserDefined11(sapPurchaseOrderQuery1.get("eindt"));
|
|
|
|
|
order.setCreateBy(odsProcureOrder.getCreateBy());
|
|
|
|
|
order.setPlanDate(new Date());
|
|
|
|
|
order.setOrderStatus("0");
|
|
|
|
@ -835,7 +926,6 @@ public class OdsProcureOrderServiceImpl implements IOdsProcureOrderService {
|
|
|
|
|
order.setCreateDate(new Date());
|
|
|
|
|
odsProcureOrderMapper.insertOdsProcureOrder(order);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
return AjaxResult.success();
|
|
|
|
|
}
|
|
|
|
|