SAP白坯需求数量接口

master
Yangwl 8 months ago
parent 6504f975a4
commit df21d00b98

@ -66,6 +66,9 @@ public class SapController extends BaseController {
@Autowired
private SapWmsService sapWmsService;
@Autowired
private SapDeviceService sapDeviceService;
@Resource
private DynamicDatasourceCreator dynamicDatasourceCreator;
@Resource
@ -522,6 +525,13 @@ public class SapController extends BaseController {
return sapItemSyncService.sap105temporarilyCollected(mapList);
}
/*******************设备*****************/
@PostMapping("/sapZmesAnlaGet")
@Log(title = "设备同步接口", businessType = BusinessType.SAP)
public R sapZmesAnlaGet(@RequestBody(required = false) Map paramMap) {
return sapDeviceService.sapZmesAnlaGet(paramMap);
}
@PostMapping("/addDatasource")
public R addDatasource(@RequestBody DataSourcePropertyDTO dto){
DataSourceProperty dataSourceProperty = new DataSourceProperty();
@ -538,5 +548,11 @@ public class SapController extends BaseController {
return R.ok();
}
//白坯的未清采购订单数量 ZMES_PURWQ_GET
@PostMapping("/ZmesPurwqGet")
@Log(title = "白坯的未清采购订单数量", businessType = BusinessType.SAP)
public R ZmesPurwqGet(@RequestBody(required = false) Map paramMap) {
return sapItemSyncService.ZmesPurwqGet(paramMap);
}
}

@ -0,0 +1,8 @@
package com.op.sap.mapper;
import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface SapDeviceMapper {
}

@ -0,0 +1,10 @@
package com.op.sap.service;
import com.op.common.core.domain.R;
import java.util.Map;
public interface SapDeviceService {
R sapZmesAnlaGet(Map paramMap);
}

@ -40,4 +40,6 @@ public interface SapItemSyncService {
R temporarilyCollected(List<Map> mapList);
R sap105temporarilyCollected(List<Map> mapList);
R ZmesPurwqGet(Map paramMap);
}

@ -0,0 +1,72 @@
package com.op.sap.service.impl;
import com.alibaba.fastjson2.JSONObject;
import com.op.common.core.constant.Constants;
import com.op.common.core.domain.R;
import com.op.common.core.utils.DateUtils;
import com.op.common.core.utils.uuid.IdUtils;
import com.op.sap.mapper.SapDeviceMapper;
import com.op.sap.service.SapDeviceService;
import com.op.system.api.domain.quality.QcCheckTaskIncomeDTO;
import com.sap.conn.jco.*;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.stereotype.Service;
import javax.validation.Validator;
import java.math.BigDecimal;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;
@Component
@Service
public class SapDeviceServiceImpl implements SapDeviceService {
@Autowired
private SapDeviceMapper sapDeviceMapper;
@Autowired
protected Validator validator;
@Autowired
private JCoDestination dest;
private static final Logger log = LoggerFactory.getLogger(SapItemSyncImpl.class);
@Override
public R sapZmesAnlaGet(Map paramMap) {
try {
JCoRepository repository = dest.getRepository();
JCoFunction func = repository.getFunction("ZMES_ANLA_GET");
if (func == null) {
throw new RuntimeException("Function does not exist in SAP");
}
log.info("设备同步参数-------" + paramMap.toString());
//参数
JCoParameterList jCoParameterList = func.getImportParameterList();
jCoParameterList.setValue("P_SERNR", paramMap.get("P_SERNR"));
func.execute(dest);//执行调用函数
JCoTable maraTable = func.getTableParameterList().getTable("L_ANLA");
for (int i = 0; i < maraTable.getNumRows(); i++) {
maraTable.setRow(i);
String BUKRS = maraTable.getString("BUKRS");
String ANLN1 = maraTable.getString("ANLN1");
String ANLN2 = maraTable.getString("ANLN2");
String TXT50 = maraTable.getString("TXT50");
String SERNR = maraTable.getString("SERNR");
String INVZU = maraTable.getString("INVZU");
System.out.println("公司代码"+BUKRS+"主资产号"+ANLN1+"资产次级编号"+ANLN2+"资产描述"+TXT50+"序列号"+SERNR+"补充库存说明"+INVZU);
}
return R.ok();
} catch (Exception e) {
log.error(e.getMessage());
return R.fail(e.getMessage());
}
}
}

@ -10,6 +10,7 @@ import com.op.common.core.utils.StringUtils;
import com.op.common.core.utils.bean.BeanValidators;
import com.op.common.core.utils.uuid.IdUtils;
import com.op.common.security.utils.SecurityUtils;
import com.op.sap.domain.vo.SapWBDemand;
import com.op.system.api.domain.quality.QcCheckTaskIncomeDTO;
import com.op.system.api.domain.sap.SapBackflushMPQuery;
import com.op.sap.domain.vo.SapItemQuery;
@ -208,7 +209,7 @@ public class SapItemSyncImpl implements SapItemSyncService {
baseProduct.setUpdateBy(SecurityUtils.getUsername());
sapBaseProductList.add(baseProduct);
}
//this.importProducts(sapBaseProductList)
return R.ok(this.importProducts(sapBaseProductList,sapItemQuery.getWerks()));
} catch (Exception e) {
return R.fail(e.getMessage());
@ -809,5 +810,51 @@ public class SapItemSyncImpl implements SapItemSyncService {
}
}
@Override
public R ZmesPurwqGet(Map paramMap) {
try {
JCoRepository repository = dest.getRepository();
JCoFunction func = repository.getFunction("ZMES_PURWQ_GET");
if (func == null) {
throw new RuntimeException("Function does not exist in SAP");
}
log.info("白坯的未清采购订单数量-------" + paramMap.toString());
//参数
JCoParameterList jCoParameterList = func.getImportParameterList();
jCoParameterList.setValue("P_WERKS", paramMap.get("werks"));
func.execute(dest);//执行调用函数
JCoTable maraTable = func.getTableParameterList().getTable("LT_PURWQ");
String RETCODE = func.getExportParameterList().getString("RETCODE");
String RETMSG = func.getExportParameterList().getString("RETMSG");
List<SapWBDemand> sapWBDemandList=new ArrayList<>();
if(Constants.LOGIN_SUCCESS_STATUS.equals(RETCODE)){
for (int i = 0; i < maraTable.getNumRows(); i++) {
maraTable.setRow(i);
SapWBDemand sapWBDemand=new SapWBDemand();
String WERKS = maraTable.getString("WERKS");///工厂
String MATNR = maraTable.getString("MATNR");//物料号
String MAKTX = maraTable.getString("MAKTX");//物料描述
Double MENGE = maraTable.getDouble("MENGE");//数量
String MEINS = maraTable.getString("MEINS");//单位
Date BEDAT = maraTable.getDate("BEDAT");//最早的采购订单日期
sapWBDemand.setWerks(WERKS);
sapWBDemand.setMatnr(MATNR);
sapWBDemand.setMaktx(MAKTX);
sapWBDemand.setMenge(MENGE);
sapWBDemand.setMeins(MEINS);
sapWBDemand.setBedat(BEDAT);
sapWBDemandList.add(sapWBDemand);
}
return R.ok(sapWBDemandList,RETMSG);
}else {
return R.fail(RETMSG);
}
} catch (Exception e) {
log.error(e.getMessage());
return R.fail(e.getMessage());
}
}
}

Loading…
Cancel
Save