Merge remote-tracking branch 'upstream/master'

# Conflicts:
#	op-modules/op-wms/src/main/java/com/op/wms/service/impl/OdsProcureOrderServiceImpl.java
master
Yangwl 2 weeks ago
commit d4b69d6bd0

@ -137,4 +137,15 @@ public class WmsRawOrderInController extends BaseController {
List<WmsRawOrderIn> list = wmsRawOrderInService.listInspectionReport(wmsRawOrderIn);
return getDataTable(list);
}
/**
* pda
*/
@GetMapping("/wmsRawOrderInListToPda")
public TableDataInfo getWmsRawOrderInListToPda(WmsRawOrderIn wmsRawOrderIn) {
startPage();
List<WmsRawOrderIn> list = wmsRawOrderInService.getWmsRawOrderInListToPda(wmsRawOrderIn);
return getDataTable(list);
}
}

@ -315,6 +315,18 @@ public class OdsProcureOrder extends BaseEntity {
@Excel(name = "供应商编码")
private String supplierCode;
/**
* wms_raw_order_in id;
* **/
private String rawOrderInId;
/**
* Y
* **/
private String qualityStatus;
private String rawPoNo;
private String Remark;
public String getRemark() {
@ -666,6 +678,29 @@ public class OdsProcureOrder extends BaseEntity {
return enterpriseCode;
}
public String getRawOrderInId() {
return rawOrderInId;
}
public void setRawOrderInId(String rawOrderInId) {
this.rawOrderInId = rawOrderInId;
}
public String getQualityStatus() {
return qualityStatus;
}
public void setQualityStatus(String qualityStatus) {
this.qualityStatus = qualityStatus;
}
public String getRawPoNo() {
return rawPoNo;
}
public void setRawPoNo(String rawPoNo) {
this.rawPoNo = rawPoNo;
}
@Override
public String toString() {
return "OdsProcureOrder{" +

@ -74,4 +74,7 @@ public interface WmsRawOrderInMapper {
WmsRawOrderIn selectWmsRawOrderInByRawOrderInIdThress(@Param("rawOrderInId")String id);
List<WmsRawOrderIn> listInspectionReport(WmsRawOrderIn wmsRawOrderIn);
List<WmsRawOrderIn> getWmsRawOrderInListToPda(WmsRawOrderIn wmsRawOrderIn);
}

@ -60,4 +60,9 @@ public interface IWmsRawOrderInService {
public int deleteWmsRawOrderInByRawOrderInId(String rawOrderInId);
List<WmsRawOrderIn> listInspectionReport(WmsRawOrderIn wmsRawOrderIn);
/**
* pda
*/
List<WmsRawOrderIn> getWmsRawOrderInListToPda(WmsRawOrderIn wmsRawOrderIn);
}

@ -18,6 +18,7 @@ import com.op.common.core.domain.R;
import com.op.common.core.utils.DateUtils;
import com.op.common.core.utils.StringUtils;
import com.op.common.core.web.domain.AjaxResult;
import com.op.common.security.utils.SecurityUtils;
import com.op.system.api.RemoteOpenService;
@ -171,12 +172,7 @@ public class OdsProcureOrderServiceImpl implements IOdsProcureOrderService {
// @DS("#header.poolName")
public List<OdsProcureOrder> PurchaseOrderPda(OdsProcureOrder odsProcureOrder) {
DynamicDataSourceContextHolder.push("ds_" + odsProcureOrder.getFactoryCode());
try {
return odsProcureOrderMapper.selectOdsProcureOrderList(odsProcureOrder);
}finally {
DynamicDataSourceContextHolder.poll();
}
return odsProcureOrderMapper.selectOdsProcureOrderList(odsProcureOrder);
}
@Override
@ -184,71 +180,62 @@ public class OdsProcureOrderServiceImpl implements IOdsProcureOrderService {
public int PurchaseOrderdeliPda(OdsProcureOrder odsProcureOrder) {
//收货记录rawOrderInSnId。修改收货数量-------------
DynamicDataSourceContextHolder.push("ds_" + odsProcureOrder.getFactoryCode());
try {
//--receiptNoCode收货单号
OdsProcureOrder order = odsProcureOrderMapper.selectOdsProcureOrderByID(odsProcureOrder.getID());
//wms_raw_order_in_sn
WmsRawOrderInSn wmsRawOrderInSn = new WmsRawOrderInSn();
wmsRawOrderInSn.setRawOrderInSnId(IdUtils.fastSimpleUUID());
wmsRawOrderInSn.setUserDefined1("1");//1是收货,2是入库
wmsRawOrderInSn.setUserDefined2(order.getUserDefined7());//批次
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());
wmsRawOrderInSn.setMaterialDesc(odsProcureOrder.getMaterialDesc());
wmsRawOrderInSn.setAmount(odsProcureOrder.getPlanNumber());
wmsRawOrderInSn.setFactoryCode(odsProcureOrder.getFactoryCode());
wmsRawOrderInSn.setCreateBy(odsProcureOrder.getCreateBy());
wmsRawOrderInSn.setGmtCreate(new Date());
wmsRawOrderInSn.setActiveFlag("1");
wmsRawOrderInSn.setUserDefined4(order.getUnit());//单位
wmsRawOrderInSn.setSn(odsProcureOrder.getSn());//托盘号
wmsRawOrderInSn.setFactoryCode(odsProcureOrder.getSiteCode());
wmsRawOrderInSn.setUserDefined3(order.getID());
wmsRawOrderInSn.setUserDefined5(odsProcureOrder.getReceiptNoCode());
wmsRawOrderInSn.setUserDefined6(odsProcureOrder.getUserDefined6());//标识码绑定
//--receiptNoCode收货单号
OdsProcureOrder order = odsProcureOrderMapper.selectOdsProcureOrderByID(odsProcureOrder.getID());
//wms_raw_order_in_sn
WmsRawOrderInSn wmsRawOrderInSn = new WmsRawOrderInSn();
wmsRawOrderInSn.setRawOrderInSnId(IdUtils.fastSimpleUUID());
wmsRawOrderInSn.setUserDefined1("1");//1是收货,2是入库
wmsRawOrderInSn.setUserDefined2(order.getUserDefined7());//批次
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());
wmsRawOrderInSn.setMaterialDesc(odsProcureOrder.getMaterialDesc());
wmsRawOrderInSn.setAmount(odsProcureOrder.getPlanNumber());
wmsRawOrderInSn.setFactoryCode(odsProcureOrder.getFactoryCode());
wmsRawOrderInSn.setCreateBy(odsProcureOrder.getCreateBy());
wmsRawOrderInSn.setGmtCreate(new Date());
wmsRawOrderInSn.setActiveFlag("1");
wmsRawOrderInSn.setUserDefined4(order.getUnit());//单位
wmsRawOrderInSn.setSn(odsProcureOrder.getSn());//托盘号
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");
BigDecimal result = order.getRealityNumber().add(odsProcureOrder.getPlanNumber());
if (result.equals(order.getPlanNumber())) {
odsProcureOrder.setOrderStatus("2");//
}
Integer tem = odsProcureOrderMapper.updateRealityNuById(odsProcureOrder);
//插入检验集计划
return tem;
}finally {
DynamicDataSourceContextHolder.poll();
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");
BigDecimal result = order.getRealityNumber().add(odsProcureOrder.getPlanNumber());
if (result.equals(order.getPlanNumber())) {
odsProcureOrder.setOrderStatus("2");//
}
Integer tem = odsProcureOrderMapper.updateRealityNuById(odsProcureOrder);
//插入检验集计划
return tem;
}
@Override
//@DS("#header.poolName")
public List<WmsRawOrderInSn> PurchaseOrderdetailPda(WmsRawOrderInSn wmsRawOrderInSn) {
DynamicDataSourceContextHolder.push("ds_" + wmsRawOrderInSn.getFactoryCode());
try {
wmsRawOrderInSn.setActiveFlag("1");
//u3备注
return wmsRawOrderInSnMapper.selectWmsRawOrderInSnList(wmsRawOrderInSn);
}finally {
DynamicDataSourceContextHolder.poll();
}
wmsRawOrderInSn.setActiveFlag("1");
//u3备注
return wmsRawOrderInSnMapper.selectWmsRawOrderInSnList(wmsRawOrderInSn);
}
@Override
@ -460,61 +447,58 @@ public class OdsProcureOrderServiceImpl implements IOdsProcureOrderService {
public String DesignatedPalletOutbound(WMSDesignatedPalle wmsDesignatedPalle) {
DynamicDataSourceContextHolder.push("ds_" + wmsDesignatedPalle.getFactoryCode());
String result = "";
try {
if ("1".equals(wmsDesignatedPalle.getType())) {//类型1是托盘出库,2是空托出库计划下发
String meg = DesignatedPalletOutboundWCS(wmsDesignatedPalle);
if ("OK".equals(meg)) {//成功 rfidNo
WmsToWCSDTO wcsdto = new WmsToWCSDTO();
wcsdto.setRfidNo(wmsDesignatedPalle.getRfidNo());
WmsOdsMateStorageNewsSn wmsOdsMateStorageNewsSn = wmsOdsMateStorageNewsSnMapper.selectwmsRfidNotwo(wcsdto);
WCSInventoryPlan wcsInventoryPlan = new WCSInventoryPlan();
wcsInventoryPlan.setSku(wmsOdsMateStorageNewsSn.getMaterialCode());
WmsOdsMateStorageNews wmsOdsMateStorageNews = wmsOdsMateStorageNewsMapper.selectBaseProductByCode(wcsInventoryPlan);
if ("1".equals(wmsDesignatedPalle.getType())) {//类型1是托盘出库,2是空托出库计划下发
String meg = DesignatedPalletOutboundWCS(wmsDesignatedPalle);
if ("OK".equals(meg)) {//成功 rfidNo
WmsToWCSDTO wcsdto = new WmsToWCSDTO();
wcsdto.setRfidNo(wmsDesignatedPalle.getRfidNo());
WmsOdsMateStorageNewsSn wmsOdsMateStorageNewsSn = wmsOdsMateStorageNewsSnMapper.selectwmsRfidNotwo(wcsdto);
WCSInventoryPlan wcsInventoryPlan = new WCSInventoryPlan();
wcsInventoryPlan.setSku(wmsOdsMateStorageNewsSn.getMaterialCode());
WmsOdsMateStorageNews wmsOdsMateStorageNews = wmsOdsMateStorageNewsMapper.selectBaseProductByCode(wcsInventoryPlan);
OdsProcureOutOrder odsProcureOutOrder = new OdsProcureOutOrder();
odsProcureOutOrder.setID(IdUtils.fastSimpleUUID());
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date = new Date();
String formattedDate = dateFormat.format(date);
odsProcureOutOrder.setProduceCode("DE" + formattedDate);
odsProcureOutOrder.setMaterialCode(wmsOdsMateStorageNewsSn.getMaterialCode());
odsProcureOutOrder.setMaterialDesc(wmsOdsMateStorageNewsSn.getMaterialDesc());
odsProcureOutOrder.setPlanDate(new Date());
odsProcureOutOrder.setUnit(wmsOdsMateStorageNews.getUserDefined1());
odsProcureOutOrder.setProductionLineCode(wmsDesignatedPalle.getLocation());
odsProcureOutOrder.setUserDefined1(formattedDate);
odsProcureOutOrder.setActive("1");
odsProcureOutOrder.setOrderStatus("1");
odsProcureOutOrder.setPlanNumber(wmsOdsMateStorageNewsSn.getAmount());
odsProcureOutOrder.setUserDefined2("00001");//行项目
//odsProcureOutOrder.set
odsProcureOutOrderMapper.insertOdsProcureOutOrder(odsProcureOutOrder);
result = "操作成功";
return result;
}
} else {
OrderLine orderLine = new OrderLine();
orderLine.setWarehouseNo("WH02");
OdsProcureOutOrder odsProcureOutOrder = new OdsProcureOutOrder();
odsProcureOutOrder.setID(IdUtils.fastSimpleUUID());
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date = new Date();
String formattedDate = dateFormat.format(date);
orderLine.setOrderNo(formattedDate);//,如果是空托盘垛的需求可以随机生成一个
List<OrderLine> list = new ArrayList<>();
Integer orderItem = 1;
OrderLine orderLine1 = new OrderLine();
orderLine1.setOrderLineNo(String.format("%05d", orderItem));
orderLine1.setSku(wmsDesignatedPalle.getRfidNo());
list.add(orderLine1);
orderLine.setList(list);
String message = addPurchaseOrderOutboundTwoWCS(orderLine);
if ("OK".equals(message)) {//成功
result = "操作成功";
return result;
}
odsProcureOutOrder.setProduceCode("DE" + formattedDate);
odsProcureOutOrder.setMaterialCode(wmsOdsMateStorageNewsSn.getMaterialCode());
odsProcureOutOrder.setMaterialDesc(wmsOdsMateStorageNewsSn.getMaterialDesc());
odsProcureOutOrder.setPlanDate(new Date());
odsProcureOutOrder.setUnit(wmsOdsMateStorageNews.getUserDefined1());
odsProcureOutOrder.setProductionLineCode(wmsDesignatedPalle.getLocation());
odsProcureOutOrder.setUserDefined1(formattedDate);
odsProcureOutOrder.setActive("1");
odsProcureOutOrder.setOrderStatus("1");
odsProcureOutOrder.setPlanNumber(wmsOdsMateStorageNewsSn.getAmount());
odsProcureOutOrder.setUserDefined2("00001");//行项目
//odsProcureOutOrder.set
odsProcureOutOrderMapper.insertOdsProcureOutOrder(odsProcureOutOrder);
result = "操作成功";
return result;
}
} else {
OrderLine orderLine = new OrderLine();
orderLine.setWarehouseNo("WH02");
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date = new Date();
String formattedDate = dateFormat.format(date);
orderLine.setOrderNo(formattedDate);//,如果是空托盘垛的需求可以随机生成一个
List<OrderLine> list = new ArrayList<>();
Integer orderItem = 1;
OrderLine orderLine1 = new OrderLine();
orderLine1.setOrderLineNo(String.format("%05d", orderItem));
orderLine1.setSku(wmsDesignatedPalle.getRfidNo());
list.add(orderLine1);
orderLine.setList(list);
String message = addPurchaseOrderOutboundTwoWCS(orderLine);
if ("OK".equals(message)) {//成功
result = "操作成功";
return result;
}
}finally {
DynamicDataSourceContextHolder.poll();
}
return result;
}
@ -692,47 +676,42 @@ public class OdsProcureOrderServiceImpl implements IOdsProcureOrderService {
@Override
public AjaxResult sapPurchaseOrderSync(OdsProcureOrder odsProcureOrder) {
DynamicDataSourceContextHolder.push("ds_" + odsProcureOrder.getFactoryCode());
try {
SapPurchaseOrderQuery sapPurchaseOrderQuery = new SapPurchaseOrderQuery();
sapPurchaseOrderQuery.setEbeln(odsProcureOrder.getProcureCode());//采购单号
R result = remoteSapService.sapPurchaseOrderSync(sapPurchaseOrderQuery);
List<Map<String, String>> mapList = new ArrayList<>();
mapList = (List<Map<String, String>>) result.getData();
for (Map<String, String> sapPurchaseOrderQuery1 : mapList) {
OdsProcureOrder order = new OdsProcureOrder();
order.setProcureCode(sapPurchaseOrderQuery1.get("ebeln"));
order.setSiteCode(sapPurchaseOrderQuery1.get("werks"));
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) {
continue;
}
SimpleDateFormat dateFormat = new SimpleDateFormat("yyMMdd");
Date date = new Date();
String formattedDate = dateFormat.format(date);
String userDefined7= odsProcureOrderMapper.selectOdsProcureOrderUserDefined7New(formattedDate);
order.setUserDefined7(userDefined7);
order.setPlanNumber(new BigDecimal(sapPurchaseOrderQuery1.get("menge")));
order.setUnit(sapPurchaseOrderQuery1.get("meins"));
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");
//order.setID(IdUtils.fastSimpleUUID());
order.setCreateDate(new Date());
odsProcureOrderMapper.insertOdsProcureOrder(order);
SapPurchaseOrderQuery sapPurchaseOrderQuery = new SapPurchaseOrderQuery();
sapPurchaseOrderQuery.setEbeln(odsProcureOrder.getProcureCode());//采购单号
R result = remoteSapService.sapPurchaseOrderSync(sapPurchaseOrderQuery);
List<Map<String, String>> mapList = new ArrayList<>();
mapList = (List<Map<String, String>>) result.getData();
for (Map<String, String> sapPurchaseOrderQuery1 : mapList) {
OdsProcureOrder order = new OdsProcureOrder();
order.setProcureCode(sapPurchaseOrderQuery1.get("ebeln"));
order.setSiteCode(sapPurchaseOrderQuery1.get("werks"));
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) {
continue;
}
}finally {
DynamicDataSourceContextHolder.poll();
SimpleDateFormat dateFormat = new SimpleDateFormat("yyMMdd");
Date date = new Date();
String formattedDate = dateFormat.format(date);
String userDefined7= odsProcureOrderMapper.selectOdsProcureOrderUserDefined7New(formattedDate);
order.setUserDefined7(userDefined7);
order.setPlanNumber(new BigDecimal(sapPurchaseOrderQuery1.get("menge")));
order.setUnit(sapPurchaseOrderQuery1.get("meins"));
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");
//order.setID(IdUtils.fastSimpleUUID());
order.setCreateDate(new Date());
odsProcureOrderMapper.insertOdsProcureOrder(order);
}
return AjaxResult.success();
}
@ -964,66 +943,62 @@ public class OdsProcureOrderServiceImpl implements IOdsProcureOrderService {
@Override
public AjaxResult getDeliveryNoteDetail(OdsProcureOrder odsProcureOrder) {
DynamicDataSourceContextHolder.push("ds_" + odsProcureOrder.getFactoryCode());
try {
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);
List<Map<String, String>> mapList = new ArrayList<>();
if (result.get("code").equals(200)) {
mapList= (List<Map<String, String>>) result.get("data");
for (Map<String, String> sapPurchaseOrderQuery1 : mapList) {
OdsProcureOrder order = new OdsProcureOrder();
// 获取 mainId
Object mainIdObj = sapPurchaseOrderQuery1.get("mainId");
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);
List<Map<String, String>> mapList = new ArrayList<>();
if (result.get("code").equals(200)) {
mapList= (List<Map<String, String>>) result.get("data");
for (Map<String, String> sapPurchaseOrderQuery1 : mapList) {
OdsProcureOrder order = new OdsProcureOrder();
// 获取 mainId
Object mainIdObj = sapPurchaseOrderQuery1.get("mainId");
// 将 Object 转换为 String
String mainId = (mainIdObj != null) ? mainIdObj.toString() : null;
String mainId = (mainIdObj != null) ? mainIdObj.toString() : null;
// 判断并补全 mainId
if (mainId != null && mainId.length() < 8) {
mainId = String.format("%08d", Integer.parseInt(mainId));
}
order.setProcureCode(sapPurchaseOrderQuery1.get("orderNum"));
order.setSiteCode(sapPurchaseOrderQuery1.get("werks"));
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.setUserDefined5(mainId);//送货单
order.setMaterialDesc(sapPurchaseOrderQuery1.get("matnrName"));
order.setActive("1");
order.setUserDefined8("0");//0是属于送货单下的
List<OdsProcureOrder> orderList = odsProcureOrderMapper.selectOdsProcureOrderList(order);
if (orderList.size() > 0) {
//这个地方判断下是不是采购单已经被插入了,如果是的话,并且是走的送货单的路径,那就把送货单给她附上
continue;
}
SimpleDateFormat dateFormat = new SimpleDateFormat("yyMMdd");
Date date = new Date();
String formattedDate = dateFormat.format(date);
String userDefined7= odsProcureOrderMapper.selectOdsProcureOrderUserDefined7New(formattedDate);
// order.setUserDefined7(formattedDate+order.getUserDefined3());
order.setUserDefined7(userDefined7);
order.setUserDefined11(sapPurchaseOrderQuery1.get("realDate"));
order.setPlanNumber(new BigDecimal(sapPurchaseOrderQuery1.get("thisDeliNum")));
order.setUnit(sapPurchaseOrderQuery1.get("unit"));
order.setSupplierCode(sapPurchaseOrderQuery1.get("lifnr"));
order.setCreateBy(odsProcureOrder.getCreateBy());
order.setPlanDate(new Date());
order.setOrderStatus("0");
//order.setID(IdUtils.fastSimpleUUID());
order.setCreateDate(new Date());
odsProcureOrderMapper.insertOdsProcureOrder(order);
}
if (mainId != null && mainId.length() < 8) {
mainId = String.format("%08d", Integer.parseInt(mainId));
}
order.setProcureCode(sapPurchaseOrderQuery1.get("orderNum"));
order.setSiteCode(sapPurchaseOrderQuery1.get("werks"));
order.setUserDefined3(sapPurchaseOrderQuery1.get("ebelp"));//行项目
if (order.getUserDefined3()!=null){
order.setUserDefined3("000"+order.getUserDefined3());
}
}finally {
DynamicDataSourceContextHolder.poll();
String materialCode = sapPurchaseOrderQuery1.get("matnr");
materialCode = "0000000" + materialCode;
order.setMaterialCode(materialCode);
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) {
//这个地方判断下是不是采购单已经被插入了,如果是的话,并且是走的送货单的路径,那就把送货单给她附上
continue;
}
SimpleDateFormat dateFormat = new SimpleDateFormat("yyMMdd");
Date date = new Date();
String formattedDate = dateFormat.format(date);
String userDefined7= odsProcureOrderMapper.selectOdsProcureOrderUserDefined7New(formattedDate);
// order.setUserDefined7(formattedDate+order.getUserDefined3());
order.setUserDefined7(userDefined7);
order.setUserDefined11(sapPurchaseOrderQuery1.get("realDate"));
order.setPlanNumber(new BigDecimal(sapPurchaseOrderQuery1.get("thisDeliNum")));
order.setUnit(sapPurchaseOrderQuery1.get("unit"));
order.setSupplierCode(sapPurchaseOrderQuery1.get("lifnr"));
order.setCreateBy(odsProcureOrder.getCreateBy());
order.setPlanDate(new Date());
order.setOrderStatus("0");
//order.setID(IdUtils.fastSimpleUUID());
order.setCreateDate(new Date());
odsProcureOrderMapper.insertOdsProcureOrder(order);
}
}
return AjaxResult.success();
}
@ -1572,10 +1547,12 @@ public class OdsProcureOrderServiceImpl implements IOdsProcureOrderService {
}
}else {////失败|
result1="暂收失败";
if (StringUtils.isNotEmpty(result2.getMsg())) {
result1=result2.getMsg();
}
for (OdsProcureOrder order :
orderList1) {
OdsProcureOrder order2 = odsProcureOrderMapper.selectOdsProcureOrderByID(order.getID());
result1=result2.getMsg();
order2.setSapTempInfor(result2.getMsg());
order2.setSapTempStatus("0");//0是失败。1是成功
odsProcureOrderMapper.updateOdsProcureOrder(order2);
@ -1818,7 +1795,15 @@ public class OdsProcureOrderServiceImpl implements IOdsProcureOrderService {
public List<OdsProcureOrder> PurchaseOrderPdaT(OdsProcureOrder odsProcureOrder) {
DynamicDataSourceContextHolder.push("ds_" + odsProcureOrder.getFactoryCode());
odsProcureOrder.setOperationNumber(new BigDecimal("1"));
return odsProcureOrderMapper.selectOdsProcureOrderListT(odsProcureOrder);
List<OdsProcureOrder> list = odsProcureOrderMapper.selectOdsProcureOrderListT(odsProcureOrder);
for (OdsProcureOrder order: list) {
WmsRawOrderIn wmsRawOrderIn = new WmsRawOrderIn();
wmsRawOrderIn.setUserDefined6( order.getRawPoNo()+order.getUserDefined7());
wmsRawOrderIn.setMaterialCode(order.getMaterialCode());
String checkResult = wmsRawOrderInMapper.selectQcCheckTask(wmsRawOrderIn);
order.setQualityStatus(checkResult);
}
return list;
}
@Override
@ -2299,89 +2284,84 @@ public class OdsProcureOrderServiceImpl implements IOdsProcureOrderService {
String result="操作成功";
String factoryCode = orderList.get(0).getFactoryCode();
DynamicDataSourceContextHolder.push("ds_" + factoryCode);
try {
for (OdsProcureOutOrder odsProcureOutOrder :
orderList) {
//领料单,物料编号,领料单批次,物料名称,托盘号,出库数量,库位号,
String produceCode= odsProcureOutOrder.getProduceCode();//生产领料单号
String createBy= odsProcureOutOrder.getCreateBy();//操作人
String mateOrderInSnId= odsProcureOutOrder.getMateOrderInSnId();
String waCode= odsProcureOutOrder.getWaCode();
String whCode= odsProcureOutOrder.getWhCode();
String wlCode= odsProcureOutOrder.getWlCode();
String sn= odsProcureOutOrder.getSn();
String materialCode= odsProcureOutOrder.getMaterialCode();
String materialDesc= odsProcureOutOrder.getMaterialDesc();
BigDecimal amount= odsProcureOutOrder.getAmount();//数量
String userDefined1= odsProcureOutOrder.getUserDefined1();//单位
String userDefined2= odsProcureOutOrder.getUserDefined2();//批次
WmsOdsMateStorageNewsSn wmsOdsMateStorageNewsSn = wmsOdsMateStorageNewsSnMapper.selectWmsOdsMateStorageNewsSnByMateOrderInSnIdk(mateOrderInSnId);
//wms_raw_mission_out--保存
//ods_procure_out_order--修改
WCSInventoryPlan wcsInventoryPlan = new WCSInventoryPlan();
wcsInventoryPlan.setSku(odsProcureOutOrder.getMaterialCode());
// WmsOdsMateStorageNews wmsOdsMateStorageNews = wmsOdsMateStorageNewsMapper.selectBaseProductByCode(wcsInventoryPlan);
OdsProcureOutOrder order = new OdsProcureOutOrder();
order.setProduceCode(produceCode);//领料单
order.setMaterialCode(materialCode);//
order.setMaterialDesc(materialDesc);
order.setUserDefined1(userDefined2);//批次
order.setUserDefined2(whCode);
order.setUserDefined3(wlCode);
order.setSn(sn);
order.setPlanNumber(amount);
order.setLocCode(waCode);//库区
order.setID(IdUtils.fastSimpleUUID());
order.setUnit(userDefined1);
order.setFactoryCode(factoryCode);
order.setActive("1");
order.setCreateBy(createBy);
order.setCreateDate(new Date());
//order.setSiteCode(factoryCode);}
OdsProcureOutOrder odsProcureOutOrder1=new OdsProcureOutOrder();
odsProcureOutOrder1.setProduceCode(produceCode);
odsProcureOutOrder1.setMaterialCode(materialCode);
List<OdsProcureOutOrder> odsProcureOutOrders = odsProcureOutOrderMapper.selectWmsOdsProcureOutOrder(odsProcureOutOrder1);
OdsProcureOutOrder order1= odsProcureOutOrders.get(0);
order.setUserDefined4(order1.getUserDefined4());
odsProcureOutOrderMapper.insertWmsRawMissionOut(order);
for (OdsProcureOutOrder odsProcureOutOrder :
orderList) {
//领料单,物料编号,领料单批次,物料名称,托盘号,出库数量,库位号,
String produceCode= odsProcureOutOrder.getProduceCode();//生产领料单号
String createBy= odsProcureOutOrder.getCreateBy();//操作人
String mateOrderInSnId= odsProcureOutOrder.getMateOrderInSnId();
String waCode= odsProcureOutOrder.getWaCode();
String whCode= odsProcureOutOrder.getWhCode();
String wlCode= odsProcureOutOrder.getWlCode();
String sn= odsProcureOutOrder.getSn();
String materialCode= odsProcureOutOrder.getMaterialCode();
String materialDesc= odsProcureOutOrder.getMaterialDesc();
BigDecimal amount= odsProcureOutOrder.getAmount();//数量
String userDefined1= odsProcureOutOrder.getUserDefined1();//单位
String userDefined2= odsProcureOutOrder.getUserDefined2();//批次
WmsOdsMateStorageNewsSn wmsOdsMateStorageNewsSn = wmsOdsMateStorageNewsSnMapper.selectWmsOdsMateStorageNewsSnByMateOrderInSnIdk(mateOrderInSnId);
//wms_raw_mission_out--保存
//ods_procure_out_order--修改
WCSInventoryPlan wcsInventoryPlan = new WCSInventoryPlan();
wcsInventoryPlan.setSku(odsProcureOutOrder.getMaterialCode());
// WmsOdsMateStorageNews wmsOdsMateStorageNews = wmsOdsMateStorageNewsMapper.selectBaseProductByCode(wcsInventoryPlan);
OdsProcureOutOrder order = new OdsProcureOutOrder();
order.setProduceCode(produceCode);//领料单
order.setMaterialCode(materialCode);//
order.setMaterialDesc(materialDesc);
order.setUserDefined1(userDefined2);//批次
order.setUserDefined2(whCode);
order.setUserDefined3(wlCode);
order.setSn(sn);
order.setPlanNumber(amount);
order.setLocCode(waCode);//库区
order.setID(IdUtils.fastSimpleUUID());
order.setUnit(userDefined1);
order.setFactoryCode(factoryCode);
order.setActive("1");
order.setCreateBy(createBy);
order.setCreateDate(new Date());
//order.setSiteCode(factoryCode);}
OdsProcureOutOrder odsProcureOutOrder1=new OdsProcureOutOrder();
odsProcureOutOrder1.setProduceCode(produceCode);
odsProcureOutOrder1.setMaterialCode(materialCode);
List<OdsProcureOutOrder> odsProcureOutOrders = odsProcureOutOrderMapper.selectWmsOdsProcureOutOrder(odsProcureOutOrder1);
OdsProcureOutOrder order1= odsProcureOutOrders.get(0);
order.setUserDefined4(order1.getUserDefined4());
odsProcureOutOrderMapper.insertWmsRawMissionOut(order);
BigDecimal realityNumber1 = order1.getOutNumber();//累出库数
BigDecimal realityNumber = order1.getPlanNumber();//计划
BigDecimal planNumber = amount;//本次实际数量
BigDecimal tem = realityNumber1.add(planNumber);
if (tem.compareTo(realityNumber)>= 0) {
order1.setOrderStatus("3");
} else {
order1.setOrderStatus("2");
}
order1.setOutNumber(tem);
odsProcureOutOrderMapper.updateWmsOdsProcureOutOrder(order1);//订单修改
//明细
BigDecimal realityNumber1 = order1.getOutNumber();//累出库数
BigDecimal realityNumber = order1.getPlanNumber();//计划
BigDecimal planNumber = amount;//本次实际数量
BigDecimal tem = realityNumber1.add(planNumber);
if (tem.compareTo(realityNumber)>= 0) {
order1.setOrderStatus("3");
} else {
order1.setOrderStatus("2");
}
order1.setOutNumber(tem);
odsProcureOutOrderMapper.updateWmsOdsProcureOutOrder(order1);//订单修改
//明细
// BigDecimal temk= wmsOdsMateStorageNewsSn.getAmount().subtract(amount);
wmsOdsMateStorageNewsSn.setOutNumber(amount);
wmsOdsMateStorageNewsSn.setLastModifiedBy(createBy);
wmsOdsMateStorageNewsSnMapper.updateWmsOdsMateStorageNewsSnAddoutNumber(wmsOdsMateStorageNewsSn);//库存明细
WmsOdsEmStorageNews wmsOdsEmStorageNews = new WmsOdsEmStorageNews();
wmsOdsEmStorageNews.setWhCode(wmsOdsMateStorageNewsSn.getWhCode());//仓库编码
wmsOdsEmStorageNews.setWlCode(wmsOdsMateStorageNewsSn.getWlCode());//库位编码
wmsOdsEmStorageNews.setWaCode(wmsOdsMateStorageNewsSn.getWaCode());
wmsOdsEmStorageNews.setProductBatch(wmsOdsMateStorageNewsSn.getUserDefined2());
wmsOdsEmStorageNews.setMaterialCode(wmsOdsMateStorageNewsSn.getMaterialCode());
wmsOdsEmStorageNews.setAmount(odsProcureOutOrder.getPlanNumber());//库存
wmsOdsEmStorageNews.setLastModifiedBy(createBy);
wmsOdsMateStorageNewsSnMapper.updatekdd(wmsOdsEmStorageNews);//库存调整
}
//
OdsProcureOutOrder order=new OdsProcureOutOrder();
List<OdsProcureOutOrder> orderList1 = odsProcureOutOrderMapper.selectWmsOdsProcureOutOrderByOrderStatus(order);
if (orderList1.size()>0){
OutboundPostingzcSAPGY(orderList1);
}
}finally {
DynamicDataSourceContextHolder.poll();
wmsOdsMateStorageNewsSn.setOutNumber(amount);
wmsOdsMateStorageNewsSn.setLastModifiedBy(createBy);
wmsOdsMateStorageNewsSnMapper.updateWmsOdsMateStorageNewsSnAddoutNumber(wmsOdsMateStorageNewsSn);//库存明细
WmsOdsEmStorageNews wmsOdsEmStorageNews = new WmsOdsEmStorageNews();
wmsOdsEmStorageNews.setWhCode(wmsOdsMateStorageNewsSn.getWhCode());//仓库编码
wmsOdsEmStorageNews.setWlCode(wmsOdsMateStorageNewsSn.getWlCode());//库位编码
wmsOdsEmStorageNews.setWaCode(wmsOdsMateStorageNewsSn.getWaCode());
wmsOdsEmStorageNews.setProductBatch(wmsOdsMateStorageNewsSn.getUserDefined2());
wmsOdsEmStorageNews.setMaterialCode(wmsOdsMateStorageNewsSn.getMaterialCode());
wmsOdsEmStorageNews.setAmount(odsProcureOutOrder.getPlanNumber());//库存
wmsOdsEmStorageNews.setLastModifiedBy(createBy);
wmsOdsMateStorageNewsSnMapper.updatekdd(wmsOdsEmStorageNews);//库存调整
}
//
OdsProcureOutOrder order=new OdsProcureOutOrder();
List<OdsProcureOutOrder> orderList1 = odsProcureOutOrderMapper.selectWmsOdsProcureOutOrderByOrderStatus(order);
if (orderList1.size()>0){
OutboundPostingzcSAPGY(orderList1);
}
return result;
}

@ -105,4 +105,21 @@ public class WmsRawOrderInServiceImpl implements IWmsRawOrderInService {
List<WmsRawOrderIn> wmsRawOrderInList= wmsRawOrderInMapper.listInspectionReport(wmsRawOrderIn);
return wmsRawOrderInList;
}
/**
* pda
*
* @param wmsRawOrderIn
*/
@Override
@DS("#header.poolName")
public List<WmsRawOrderIn> getWmsRawOrderInListToPda(WmsRawOrderIn wmsRawOrderIn) {
List<WmsRawOrderIn> wmsRawOrderInList= wmsRawOrderInMapper.getWmsRawOrderInListToPda(wmsRawOrderIn);
for (WmsRawOrderIn wmsRawOrderIn1: wmsRawOrderInList) {
wmsRawOrderIn1.setUserDefined6( wmsRawOrderIn1.getPoNo()+wmsRawOrderIn1.getUserDefined7());
String checkResult = wmsRawOrderInMapper.selectQcCheckTask(wmsRawOrderIn1);
wmsRawOrderIn1.setQualityStatus(checkResult);
}
return wmsRawOrderInList;
}
}

@ -46,7 +46,8 @@
<result property="factoryCode" column="factoryCode"/>
<result property="SapTempInfor" column="Sap_Temp_Infor"/>
<result property="temNumber" column="tem_number"/>
<result property="rawOrderInId" column="raw_order_in_id"/>
<result property="rawPoNo" column="po_no"/>
</resultMap>
<sql id="selectOdsProcureOrderVo">
@ -90,7 +91,47 @@
</sql>
<select id="selectOdsProcureOrderList" parameterType="OdsProcureOrder" resultMap="OdsProcureOrderResult">
<include refid="selectOdsProcureOrderVo"/>
SELECT
opo.Site_code,
opo.ID,
opo.Procure_Code,
opo.Material_Code,
opo.Material_Desc,
opo.Plan_Date,
opo.Plan_Number,
opo.Unit,
COALESCE ( opo.Reality_Number, 0 ) Reality_Number,
opo.Order_Status,
opo.User_Defined1,
opo.User_Defined2,
opo.User_Defined3,
opo.User_Defined4,
opo.User_Defined5,
opo.User_Defined6,
opo.User_Defined7,
opo.User_Defined8,
opo.User_Defined9,
opo.User_Defined10,
opo.User_Defined11,
opo.Supplier_Code,
bs.zh_desc Supplier_Name,
opo.Remark,
opo.Create_By,
opo.Create_Date,
opo.Last_Update_By,
opo.Last_Update_Date,
opo.Active,
opo.Enterprise_Id,
opo.Enterprise_Code,
COALESCE ( opo.Operation_Number, 0 ) Operation_Number,
bpa.wa_code waCode,
woi.raw_order_in_id,
woi.po_no
FROM
ods_procure_order opo
LEFT JOIN base_product_attached bpa on RIGHT ( opo.Material_Code, 11 ) = bpa.product_code
LEFT JOIN wms_raw_order_in woi ON woi.po_no= opo.Procure_Code AND woi.po_line= opo.User_Defined3
LEFT JOIN base_supplier bs ON bs.supplier_code = opo.Supplier_Code
<where>
<if test="siteCode != null and siteCode != ''">and opo.Site_code = #{siteCode}</if>
<if test="ID != null and ID != ''">and opo.ID = #{ID}</if>
@ -131,7 +172,46 @@
order by Create_Date desc
</select>
<select id="selectOdsProcureOrderListT" parameterType="OdsProcureOrder" resultMap="OdsProcureOrderResult">
<include refid="selectOdsProcureOrderVo"/>
SELECT
opo.Site_code,
opo.ID,
opo.Procure_Code,
opo.Material_Code,
opo.Material_Desc,
opo.Plan_Date,
opo.Plan_Number,
opo.Unit,
COALESCE ( opo.Reality_Number, 0 ) Reality_Number,
opo.Order_Status,
opo.User_Defined1,
opo.User_Defined2,
opo.User_Defined3,
opo.User_Defined4,
opo.User_Defined5,
opo.User_Defined6,
opo.User_Defined7,
opo.User_Defined8,
opo.User_Defined9,
opo.User_Defined10,
opo.User_Defined11,
opo.Supplier_Code,
opo.Supplier_Name,
opo.Remark,
opo.Create_By,
opo.Create_Date,
opo.Last_Update_By,
opo.Last_Update_Date,
opo.Active,
opo.Enterprise_Id,
opo.Enterprise_Code,
COALESCE ( opo.Operation_Number, 0 ) Operation_Number,
bpa.wa_code waCode,
woi.raw_order_in_id,
woi.po_no
FROM
ods_procure_order opo
LEFT JOIN base_product_attached bpa on RIGHT ( opo.Material_Code, 11 ) = bpa.product_code
LEFT JOIN wms_raw_order_in woi ON woi.order_no = opo.User_Defined5 AND woi.po_no= opo.Procure_Code AND woi.po_line= opo.User_Defined3
<where>
<if test="siteCode != null and siteCode != ''">and opo.Site_code = #{siteCode}</if>
<if test="ID != null and ID != ''">and opo.ID = #{ID}</if>

@ -588,4 +588,77 @@
ORDER BY
ods_procure_order.Create_Date DESC
</select>
<select id="getWmsRawOrderInListToPda" parameterType="WmsRawOrderIn" resultMap="WmsRawOrderInResult">
SELECT
wms_raw_order_in.raw_order_in_id,
wms_raw_order_in.factory_code,
wms_raw_order_in.wh_code,
wms_raw_order_in.wa_code,
wms_raw_order_in.wl_code,
wms_raw_order_in.order_in_type,
wms_raw_order_in.order_no,
wms_raw_order_in.dn_no,
wms_raw_order_in.po_no,
wms_raw_order_in.po_line,
wms_raw_order_in.po_type,
wms_raw_order_in.material_code,
wms_raw_order_in.material_desc,
wms_raw_order_in.unit,
wms_raw_order_in.buyer_group,
wms_raw_order_in.supply_code,
wms_raw_order_in.sap_factory_code,
wms_raw_order_in.send_spot,
wms_raw_order_in.request_amount,
wms_raw_order_in.receipt_amount,
wms_raw_order_in.shelves_amount,
wms_raw_order_in.location,
wms_raw_order_in.request_time,
wms_raw_order_in.quality_status,
wms_raw_order_in.order_status,
wms_raw_order_in.receipt_operator,
wms_raw_order_in.receipt_time,
wms_raw_order_in.shelves_operator,
wms_raw_order_in.return_amount,
wms_raw_order_in.return_name,
wms_raw_order_in.return_time,
wms_raw_order_in.return_status,
wms_raw_order_in.shelves_time,
wms_raw_order_in.return_message,
wms_raw_order_in.accounting_status,
wms_raw_order_in.accounting_time,
wms_raw_order_in.accounting_message,
wms_raw_order_in.user_defined1,
wms_raw_order_in.user_defined2,
wms_raw_order_in.user_defined3,
wms_raw_order_in.user_defined4,
wms_raw_order_in.user_defined5,
wms_raw_order_in.user_defined6,
wms_raw_order_in.user_defined8,
wms_raw_order_in.user_defined9,
wms_raw_order_in.user_defined10,
wms_raw_order_in.create_by,
wms_raw_order_in.gmt_create,
wms_raw_order_in.last_modified_by,
wms_raw_order_in.gmt_modified,
ods_procure_order.User_Defined7 user_defined7,
wms_raw_order_in.active_flag
FROM
wms_raw_order_in
LEFT JOIN ods_procure_order ON wms_raw_order_in.order_no = ods_procure_order.User_Defined5
AND wms_raw_order_in.po_no= ods_procure_order.Procure_Code
AND wms_raw_order_in.po_line= ods_procure_order.User_Defined3
<where>
wms_raw_order_in.user_defined4 IS NULL
<if test="materialCode != null and materialCode != ''">and wms_raw_order_in.material_code like concat('%', #{materialCode},
'%') </if>
<if test="materialDesc != null and materialDesc != ''">and wms_raw_order_in.material_desc like concat('%', #{materialDesc},
'%') </if>
<if test="userDefined1 != null and userDefined1 != ''">and wms_raw_order_in.user_defined1 = #{userDefined1}</if>
<if test="orderNo != null and orderNo != ''">and wms_raw_order_in.order_no = #{orderNo}</if>
<if test="poNo != null and poNo != ''">and wms_raw_order_in.po_no = #{poNo}</if>
</where>
ORDER BY wms_raw_order_in.gmt_create DESC
</select>
</mapper>

Loading…
Cancel
Save