|
|
|
@ -1,6 +1,7 @@
|
|
|
|
|
package com.op.wms.service.impl;
|
|
|
|
|
|
|
|
|
|
import java.io.IOException;
|
|
|
|
|
import java.math.BigDecimal;
|
|
|
|
|
import java.text.SimpleDateFormat;
|
|
|
|
|
import java.util.*;
|
|
|
|
|
|
|
|
|
@ -120,79 +121,97 @@ public class WmsOdsMateStorageNewsServiceImpl implements IWmsOdsMateStorageNewsS
|
|
|
|
|
String formattedDate = dateFormat.format(date);
|
|
|
|
|
List<OdsProcureOrder> dtos0= odsProcureOrderMapper.getIdCardByIdList(wmsOdsMateStorageNews.getStorageId());
|
|
|
|
|
if (dtos0.size()>0){
|
|
|
|
|
List<OdsProcureOrder> list = new ArrayList<>();
|
|
|
|
|
OdsProcureOrder odsProcureOrder= dtos0.get(0);
|
|
|
|
|
String userDefined10= wmsOdsMateStorageNews.getUserDefined10();//打印次数
|
|
|
|
|
int printCount = Integer.parseInt(userDefined10);
|
|
|
|
|
for (int i = 0; i < printCount; i++) {
|
|
|
|
|
// 将 odsProcureOrder 对象复制一份,并添加到列表中。
|
|
|
|
|
// 假设 OdsProcureOrder 类具有一个复制构造函数或 clone 方法来创建对象的副本。
|
|
|
|
|
list.add(odsProcureOrder);
|
|
|
|
|
}
|
|
|
|
|
String msg= dayin(list);
|
|
|
|
|
String msg= dayin(dtos0);
|
|
|
|
|
return msg;
|
|
|
|
|
}else {
|
|
|
|
|
WmsOdsMateStorageNews wmsOdsMateStorageNews1= wmsOdsMateStorageNewsMapper.selectWmsOdsMateStorageNewsByStorageId(wmsOdsMateStorageNews.getStorageId());
|
|
|
|
|
WmsOdsMateStorageNews wmsOdsMateStorageNews1= wmsOdsMateStorageNewsMapper.selectWmsOdsMateStorageNewsLSByStorageId(wmsOdsMateStorageNews.getStorageId());
|
|
|
|
|
//标识卡就用id和物料码组成
|
|
|
|
|
List<OdsProcureOrder> list = new ArrayList<>();
|
|
|
|
|
List<OdsProcureOrder>dtos=new ArrayList<>();
|
|
|
|
|
OdsProcureOrder pw = new OdsProcureOrder();
|
|
|
|
|
pw.setSiteCode(wmsOdsMateStorageNews1.getFactoryCode());
|
|
|
|
|
pw.setProcureCode(wmsOdsMateStorageNews1.getMaterialCode());//
|
|
|
|
|
//pw.setUserDefined3(order.getUserDefined3());//行项目
|
|
|
|
|
pw.setMaterialCode(wmsOdsMateStorageNews1.getMaterialCode());
|
|
|
|
|
pw.setMaterialDesc(wmsOdsMateStorageNews1.getMaterialDesc());
|
|
|
|
|
pw.setPlanNumber(wmsOdsMateStorageNews1.getAmount());
|
|
|
|
|
pw.setSupplierCode(wmsOdsMateStorageNews1.getUserDefined2());
|
|
|
|
|
pw.setSupplierName(wmsOdsMateStorageNews1.getUserDefined3());
|
|
|
|
|
pw.setUserDefined8("2");
|
|
|
|
|
pw.setUserDefined7(formattedDate+wmsOdsMateStorageNews1.getMaterialCode());//批次
|
|
|
|
|
pw.setUserDefined10("0");//标识卡状态0是未收货的
|
|
|
|
|
pw.setUserDefined11(wmsOdsMateStorageNews1.getUserDefined4());
|
|
|
|
|
pw.setUserDefined4(wmsOdsMateStorageNews1.getStorageId());
|
|
|
|
|
pw.setUnit(wmsOdsMateStorageNews1.getUserDefined1());
|
|
|
|
|
pw.setCardNum("1");
|
|
|
|
|
// String dateString = pw.getUserDefined11().replace("-", "");
|
|
|
|
|
pw.setUserDefined1(pw.getMaterialCode()+"-"+wmsOdsMateStorageNews1.getStorageId()+"-"+pw.getCardNum());//采购单+行项目+类型+日期+板次
|
|
|
|
|
pw.setCreateTime(new Date());
|
|
|
|
|
pw.setActive("1");
|
|
|
|
|
dtos.add(pw);
|
|
|
|
|
BigDecimal pall = wmsOdsMateStorageNews1.getAmount();//总数
|
|
|
|
|
OdsProcureOrder pw = new OdsProcureOrder();
|
|
|
|
|
BigDecimal pn = new BigDecimal(wmsOdsMateStorageNews1.getUserDefined6());//每托
|
|
|
|
|
int i = 1;
|
|
|
|
|
while(pall.compareTo(BigDecimal.ZERO)>0){
|
|
|
|
|
pw = new OdsProcureOrder();
|
|
|
|
|
pw.setSiteCode(wmsOdsMateStorageNews1.getFactoryCode());
|
|
|
|
|
pw.setProcureCode(wmsOdsMateStorageNews1.getMaterialCode());//
|
|
|
|
|
//pw.setUserDefined3(order.getUserDefined3());//行项目
|
|
|
|
|
pw.setMaterialCode(wmsOdsMateStorageNews1.getMaterialCode());
|
|
|
|
|
pw.setMaterialDesc(wmsOdsMateStorageNews1.getMaterialDesc());
|
|
|
|
|
pw.setPlanNumber(wmsOdsMateStorageNews1.getAmount());
|
|
|
|
|
pw.setSupplierCode(wmsOdsMateStorageNews1.getUserDefined2());
|
|
|
|
|
pw.setSupplierName(wmsOdsMateStorageNews1.getUserDefined3());
|
|
|
|
|
pw.setUserDefined8("2");
|
|
|
|
|
pw.setUserDefined7(formattedDate+wmsOdsMateStorageNews1.getMaterialCode());//批次
|
|
|
|
|
pw.setUserDefined10("0");//标识卡状态0是未收货的
|
|
|
|
|
pw.setUserDefined11(wmsOdsMateStorageNews1.getUserDefined4());
|
|
|
|
|
pw.setUserDefined4(wmsOdsMateStorageNews1.getStorageId());
|
|
|
|
|
pw.setUnit(wmsOdsMateStorageNews1.getUserDefined1());
|
|
|
|
|
pw.setCardNum(String.valueOf(i++));
|
|
|
|
|
if(pall.compareTo(pn)<0) {//最后一托盘
|
|
|
|
|
pw.setPlanNumber(pall);
|
|
|
|
|
}else{
|
|
|
|
|
pw.setPlanNumber(pn);
|
|
|
|
|
}
|
|
|
|
|
// String dateString = pw.getUserDefined11().replace("-", "");
|
|
|
|
|
pw.setUserDefined1(pw.getMaterialCode()+"-"+wmsOdsMateStorageNews1.getStorageId()+"-"+pw.getCardNum());//采购单+行项目+类型+日期+板次
|
|
|
|
|
pw.setCreateTime(new Date());
|
|
|
|
|
pw.setActive("1");
|
|
|
|
|
dtos.add(pw);
|
|
|
|
|
pall = pall.subtract(pn);
|
|
|
|
|
}
|
|
|
|
|
odsProcureOrderMapper.addBatchPallet(dtos);
|
|
|
|
|
WmsOdsMateStorageNews wmsOdsMateStorageNews2=new WmsOdsMateStorageNews();
|
|
|
|
|
wmsOdsMateStorageNews2.setStorageId(wmsOdsMateStorageNews.getStorageId());
|
|
|
|
|
wmsOdsMateStorageNews2.setWlCode(pw.getUserDefined1());
|
|
|
|
|
wmsOdsMateStorageNewsMapper.updateWmsOdsMateStorageNews(wmsOdsMateStorageNews2);
|
|
|
|
|
WmsOdsMateStorageNewsSn wmsOdsMateStorageNewsSn = new WmsOdsMateStorageNewsSn();
|
|
|
|
|
wmsOdsMateStorageNewsSn.setMateOrderInSnId(IdUtils.fastSimpleUUID());
|
|
|
|
|
wmsOdsMateStorageNewsSn.setWhCode("WH02");//仓库编码
|
|
|
|
|
// wmsOdsMateStorageNewsSn.setWaCode(pw.getUserDefined1());
|
|
|
|
|
wmsOdsMateStorageNewsSn.setWlCode(pw.getUserDefined1());//库位编码-
|
|
|
|
|
wmsOdsMateStorageNewsSn.setMaterialCode(wmsOdsMateStorageNews1.getMaterialCode());
|
|
|
|
|
wmsOdsMateStorageNewsSn.setMaterialDesc(wmsOdsMateStorageNews1.getMaterialDesc());
|
|
|
|
|
wmsOdsMateStorageNewsSn.setSn(pw.getUserDefined1());
|
|
|
|
|
wmsOdsMateStorageNewsSn.setAmount(wmsOdsMateStorageNews1.getAmount());
|
|
|
|
|
wmsOdsMateStorageNewsSn.setCreateBy(SecurityUtils.getUsername());
|
|
|
|
|
wmsOdsMateStorageNewsSn.setGmtCreate(new Date());
|
|
|
|
|
wmsOdsMateStorageNewsSn.setUserDefined2(pw.getUserDefined7());//批次
|
|
|
|
|
wmsOdsMateStorageNewsSn.setUserDefined1("RK");
|
|
|
|
|
wmsOdsMateStorageNewsSn.setUserDefined3("1");//0是暂收,1是真收
|
|
|
|
|
wmsOdsMateStorageNewsSn.setFactoryCode(wmsOdsMateStorageNews1.getFactoryCode());
|
|
|
|
|
wmsOdsMateStorageNewsSn.setSapFactoryCode(wmsOdsMateStorageNews1.getFactoryCode());
|
|
|
|
|
wmsOdsMateStorageNewsSn.setActiveFlag("1");
|
|
|
|
|
wmsOdsMateStorageNewsSnMapper.insertWmsOdsMateStorageNewsSn(wmsOdsMateStorageNewsSn);
|
|
|
|
|
OdsProcureOrder odsProcureOrder= dtos.get(0);
|
|
|
|
|
String userDefined10= wmsOdsMateStorageNews.getUserDefined10();//打印次数
|
|
|
|
|
int printCount = Integer.parseInt(userDefined10);
|
|
|
|
|
for (int i = 0; i < printCount; i++) {
|
|
|
|
|
// 将 odsProcureOrder 对象复制一份,并添加到列表中。
|
|
|
|
|
// 假设 OdsProcureOrder 类具有一个复制构造函数或 clone 方法来创建对象的副本。
|
|
|
|
|
list.add(odsProcureOrder);
|
|
|
|
|
for (OdsProcureOrder order:dtos){
|
|
|
|
|
WmsOdsMateStorageNews wmsOdsMateStorageNews3 = new WmsOdsMateStorageNews();
|
|
|
|
|
wmsOdsMateStorageNews3.setStorageId(IdUtils.fastSimpleUUID());
|
|
|
|
|
wmsOdsMateStorageNews3.setWhCode("WH02");
|
|
|
|
|
wmsOdsMateStorageNews3.setWlCode(order.getUserDefined1());
|
|
|
|
|
//wmsOdsMateStorageNews3.setWaCode(odsProcureOutOrder.getWaCode());
|
|
|
|
|
wmsOdsMateStorageNews3.setAmount(order.getPlanNumber());
|
|
|
|
|
// wmsOdsMateStorageNews3.setStorageAmount(odsProcureOutOrder.getPlanNumber());
|
|
|
|
|
wmsOdsMateStorageNews3.setMaterialCode(order.getMaterialCode());
|
|
|
|
|
wmsOdsMateStorageNews3.setMaterialDesc(order.getMaterialDesc());
|
|
|
|
|
wmsOdsMateStorageNews3.setStorageType("BC");
|
|
|
|
|
wmsOdsMateStorageNews3.setCreateBy(SecurityUtils.getUsername());
|
|
|
|
|
wmsOdsMateStorageNews3.setGmtCreate(new Date());
|
|
|
|
|
wmsOdsMateStorageNews3.setActiveFlag("1");
|
|
|
|
|
wmsOdsMateStorageNews3.setFactoryCode(wmsOdsMateStorageNews1.getFactoryCode());
|
|
|
|
|
wmsOdsMateStorageNews3.setSapFactoryCode(wmsOdsMateStorageNews1.getFactoryCode());
|
|
|
|
|
wmsOdsMateStorageNews3.setUserDefined1(order.getUnit());//单位
|
|
|
|
|
wmsOdsMateStorageNewsMapper.insertWmsOdsMateStorageNews(wmsOdsMateStorageNews3);
|
|
|
|
|
WmsOdsMateStorageNewsSn wmsOdsMateStorageNewsSn = new WmsOdsMateStorageNewsSn();
|
|
|
|
|
wmsOdsMateStorageNewsSn.setMateOrderInSnId(IdUtils.fastSimpleUUID());
|
|
|
|
|
wmsOdsMateStorageNewsSn.setWhCode("WH02");//仓库编码
|
|
|
|
|
// wmsOdsMateStorageNewsSn.setWaCode(pw.getUserDefined1());
|
|
|
|
|
wmsOdsMateStorageNewsSn.setWlCode(order.getUserDefined1());//库位编码-
|
|
|
|
|
wmsOdsMateStorageNewsSn.setMaterialCode(wmsOdsMateStorageNews1.getMaterialCode());
|
|
|
|
|
wmsOdsMateStorageNewsSn.setMaterialDesc(wmsOdsMateStorageNews1.getMaterialDesc());
|
|
|
|
|
wmsOdsMateStorageNewsSn.setSn(order.getUserDefined1());
|
|
|
|
|
wmsOdsMateStorageNewsSn.setAmount(order.getPlanNumber());
|
|
|
|
|
wmsOdsMateStorageNewsSn.setCreateBy(SecurityUtils.getUsername());
|
|
|
|
|
wmsOdsMateStorageNewsSn.setGmtCreate(new Date());
|
|
|
|
|
wmsOdsMateStorageNewsSn.setUserDefined2(order.getUserDefined7());//批次
|
|
|
|
|
wmsOdsMateStorageNewsSn.setUserDefined1("RK");
|
|
|
|
|
wmsOdsMateStorageNewsSn.setUserDefined3("1");//0是暂收,1是真收
|
|
|
|
|
wmsOdsMateStorageNewsSn.setFactoryCode(wmsOdsMateStorageNews1.getFactoryCode());
|
|
|
|
|
wmsOdsMateStorageNewsSn.setSapFactoryCode(wmsOdsMateStorageNews1.getFactoryCode());
|
|
|
|
|
wmsOdsMateStorageNewsSn.setActiveFlag("1");
|
|
|
|
|
wmsOdsMateStorageNewsSnMapper.insertWmsOdsMateStorageNewsSn(wmsOdsMateStorageNewsSn);
|
|
|
|
|
}
|
|
|
|
|
String msg= dayin(list);
|
|
|
|
|
String msg= dayin(dtos);
|
|
|
|
|
return msg;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
@DS("#header.poolName")
|
|
|
|
|
public List<WmsOdsMateStorageNews> selectWmsOdsMateStorageNewslsList(WmsOdsMateStorageNews wmsOdsMateStorageNews) {
|
|
|
|
|
return wmsOdsMateStorageNewsMapper.selectWmsOdsMateStorageNewslsList(wmsOdsMateStorageNews);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public String dayin( List<OdsProcureOrder> orderList) {
|
|
|
|
|
// 定义请求的URL地址
|
|
|
|
|
String url = dayinUrl1;
|
|
|
|
|