wms质检修改3

master
mengjiao 2 months ago
parent cb3a8810ae
commit 9529c14ba7

@ -140,6 +140,8 @@ public interface RemoteSapService {
public R sap105temporarilyCollected(@RequestBody(required = false) List<Map> mapList) ;
@PostMapping("/sap/handleUpdateSAP103")
public R handleUpdateSAP103(@RequestBody(required = false)List<Map> mapList);
@PostMapping("/sap/handleUpdateSAP105")
public R handleUpdateSAP105(@RequestBody(required = false)List<Map> mapList);
}

@ -158,6 +158,11 @@ public class RemoteSapFallbackFactory implements FallbackFactory<RemoteSapServic
return R.fail("103的冲销失败" + throwable.getMessage());
}
@Override
public R handleUpdateSAP105(List<Map> mapList) {
return R.fail("105的冲销失败" + throwable.getMessage());
}
};
}
}

@ -543,6 +543,11 @@ public class SapController extends BaseController {
public R handleUpdateSAP103(@RequestBody(required = false) List<Map> mapList) {
return sapItemSyncService.handleUpdateSAP103(mapList);
}
@PostMapping("/handleUpdateSAP105")
@Log(title = "sap105冲销接口", businessType = BusinessType.SAP)
public R handleUpdateSAP105(@RequestBody(required = false) List<Map> mapList) {
return sapItemSyncService.handleUpdateSAP105(mapList);
}
/*******************设备*****************/
@PostMapping("/sapZmesAnlaGet")

@ -44,4 +44,6 @@ public interface SapItemSyncService {
R ZmesPurwqGet(Map paramMap);
R handleUpdateSAP103(List<Map> mapList);
R handleUpdateSAP105(List<Map> mapList);
}

@ -967,7 +967,161 @@ public class SapItemSyncImpl implements SapItemSyncService {
}else {
continue;
}
JCoFunction func2 = repository.getFunction("ZMES_MIGO_102");//103冲销
JCoFunction func2 = repository.getFunction("ZMES_MIGO_104");//103冲销
if (func2 == null) {
throw new RuntimeException("Function does not exist in SAP");
}
log.info("105参数-------" + mapList.toString());
JCoTable L_ITEM = func2.getTableParameterList().getTable("L_ITEM");
L_ITEM.appendRow();
L_ITEM.setValue("LFBJA",mjahr);//参考凭证会计年度
L_ITEM.setValue("LFBNR",mblnr);//参考凭证的凭证号
L_ITEM.setValue("LFPOS",zeile);//参考凭证项目
L_ITEM.setValue("EBELN", ebeln);//采购订单编号 采购凭证号
L_ITEM.setValue("MATNR", matnr);//采购订单编号 采购凭证号
L_ITEM.setValue("EBELP",map.get("ebelp") );//采购凭证的项目编号
// L_ITEM.setValue("WERKS", werks);//工厂
// L_ITEM.setValue("LGORT", "0001");//库存地点
L_ITEM.setValue("QUANTITY",menge);//数量
// L_ITEM.setValue("BATCH", map.get("incomeBatchNo"));//批号
// L_ITEM.setValue("HSDAT","");//生产日期
System.out.println(L_ITEM);
func2.execute(dest);//执行调用函数
RETCODE = func2.getExportParameterList().getString("RETCODE");
MESSAGE = func2.getExportParameterList().getString("L_MSG");
MATERIALDOCUMENT = func2.getExportParameterList().getString("MATERIALDOCUMENT");
MATDOCUMENTYEAR = func2.getExportParameterList().getString("MATDOCUMENTYEAR");
log.info("103冲销结果结果-----" + RETCODE+"/" +MESSAGE+"/" +MATERIALDOCUMENT+"/" +MATDOCUMENTYEAR);
}
if((Constants.FAIL).equals(Integer.parseInt(RETCODE))){
return R.fail(MESSAGE);
}
Map Resmap = new HashMap();
Resmap.put("MATERIALDOCUMENT", MATERIALDOCUMENT);
Resmap.put("MATDOCUMENTYEAR", MATDOCUMENTYEAR);
return R.ok(Resmap, MESSAGE);
} else {
// 表为空的处理
System.out.println("表中没有数据。");
return R.fail("没有暂收数据");
}
} catch (Exception e) {
log.error(e.getMessage());
return R.fail(e.getMessage());
}
}
@Override
public R handleUpdateSAP105(List<Map> mapList) {
try {
Map map= mapList.get(0);
JCoRepository repository = dest.getRepository();
JCoFunction func = repository.getFunction("ZMES_GET_MSEG");
if (func == null) {
throw new RuntimeException("Function does not exist in SAP");
}
log.info("取物料凭证数据接口的参数-------" + mapList.toString());
JCoTable S_MBLNR = func.getTableParameterList().getTable("S_MBLNR");
//交货单号
JCoTable S_MJAHR = func.getTableParameterList().getTable("S_MJAHR");
//销售凭证类型
JCoTable S_MATNR = func.getTableParameterList().getTable("S_MATNR");
// S_MBLNR.setValue("S_MBLNR", S_MBLNR);
S_MBLNR.appendRow();
S_MBLNR.setValue(Constants.SIGN, "I");
S_MBLNR.setValue(Constants.OPTION, "BT");
S_MBLNR.setValue(Constants.LOW,map.get("S_MBLNR"));
S_MBLNR.setValue(Constants.HIGH,map.get("S_MBLNR"));
S_MJAHR.appendRow();
S_MJAHR.setValue(Constants.SIGN, "I");
S_MJAHR.setValue(Constants.OPTION, "BT");
S_MJAHR.setValue(Constants.LOW,map.get("S_MJAHR"));
S_MJAHR.setValue(Constants.HIGH,map.get("S_MJAHR"));
S_MATNR.appendRow();
S_MATNR.setValue(Constants.SIGN, "I");
S_MATNR.setValue(Constants.OPTION, "BT");
S_MATNR.setValue(Constants.LOW,map.get("S_MATNR"));
S_MATNR.setValue(Constants.HIGH,map.get("S_MATNR"));
func.execute(dest);//执行调用函数
/**
* MBLNR
* MJAHR
* ZEILE
* EBELN
* EBELP
* MATNR
* WERKS
* LGORT
* MENGE
* MEINS
* ERFMG
* ERFME
* BPMNG
* BPRME
*/
JCoTable maraTable = func.getTableParameterList().getTable("LT_MSEG");
// 首先检查表中是否有行
if (maraTable.getNumRows() > 0) {
// 遍历每一行
String mblnr = new String(); // 物料凭证编号
String mjahr = new String(); // 物料凭证年度
String zeile = new String(); // 物料凭证中的项目
String ebeln = new String(); // 采购订单编号
String ebelp = new String(); // 采购凭证的项目编号
String matnr = new String(); // 物料号
String werks = new String(); // 工厂
String lgort = new String(); // 库存地点
String menge = new String(); // 数量
String meins = new String(); // 基本计量单位
String erfmg = new String(); // 以输入单位计的数量
String erfme = new String(); // 条目单位
String bpmng = new String(); // 采购订单价格单位的数量
String bprme = new String(); // 订单价格单位(采购)
String RETCODE= new String();
String MESSAGE= new String();
String MATERIALDOCUMENT = new String();
String MATDOCUMENTYEAR= new String();
String tem="0";
for (int i = 0; i < maraTable.getNumRows(); i++) {
maraTable.setRow(i);
mblnr = maraTable.getString("MBLNR"); // 物料凭证编号
mjahr = maraTable.getString("MJAHR"); // 物料凭证年度
zeile = maraTable.getString("ZEILE"); // 物料凭证中的项目
ebeln = maraTable.getString("EBELN"); // 采购订单编号
matnr = maraTable.getString("MATNR"); // 物料号
werks = maraTable.getString("WERKS"); // 工厂
lgort = maraTable.getString("LGORT"); // 库存地点
menge = maraTable.getString("MENGE"); // 数量
meins = maraTable.getString("MEINS"); // 基本计量单位
erfmg = maraTable.getString("ERFMG"); // 以输入单位计的数量
erfme = maraTable.getString("ERFME"); // 条目单位
bpmng = maraTable.getString("BPMNG"); // 采购订单价格单位的数量
bprme = maraTable.getString("BPRME"); // 订单价格单位(采购)
// 处理获取到的字段值
System.out.println("物料凭证编号: " + mblnr);
System.out.println("物料凭证年度: " + mjahr);
System.out.println("物料凭证中的项目: " + zeile);
System.out.println("采购订单编号: " + ebeln);
System.out.println("采购凭证的项目编号: " + ebelp);
System.out.println("物料号: " + matnr);
System.out.println("工厂: " + werks);
System.out.println("库存地点: " + lgort);
System.out.println("数量: " + menge);
System.out.println("基本计量单位: " + meins);
System.out.println("以输入单位计的数量: " + erfmg);
System.out.println("条目单位: " + erfme);
System.out.println("采购订单价格单位的数量: " + bpmng);
System.out.println("订单价格单位(采购): " + bprme);
//需要做判断
if (map.get("poNo").equals(ebeln)&&map.get("S_MATNR").equals(matnr)){//需要判断采购单和物料
tem="1";
}else {
continue;
}
JCoFunction func2 = repository.getFunction("ZMES_MIGO_106");//105冲销
if (func2 == null) {
throw new RuntimeException("Function does not exist in SAP");
}

@ -276,7 +276,7 @@ public class WmsToWCSmissionController {
return success("仓库没有这个标识卡");
}
if (wmsOdsMateStorageNewsSn1.getUserDefined3().equals("0")){//userDefined3
return error("未105过账");
return success("未105过账");
}
return success(wmsOdsMateStorageNewsSn1);
}

@ -69,4 +69,6 @@ public interface WmsRawOrderInMapper {
WmsRawOrderIn selectWmsRawOrderInByRawOrderInIdTWO(String rawOrderInId);
String selectQcCheckTask(WmsRawOrderIn wmsRawOrderIn1);
WmsRawOrderIn selectWmsRawOrderInByRawOrderInIdThress(String id);
}

@ -281,7 +281,7 @@ public class WmsOdsMateStorageNewsSnServiceImpl implements IWmsOdsMateStorageNew
//入参是物料,仓库,库区,数量,生成标识卡,
odsProcureOrderMapper.deleteBatchPalletBycard(order.getWlCode());//更具标识卡删除
wmsOdsMateStorageNewsMapper.deleteWmsOdsMateStorageNewsBycard(order.getWlCode());
// wmsOdsMateStorageNewsMapper.deleteWmsOdsMateStorageNewsBycard(order.getWlCode());
wmsOdsMateStorageNewsSnMapper.deleteWmsOdsMateStorageNewsSnBycard(order.getWlCode());

@ -297,7 +297,7 @@ public class WmsProductPutServiceImpl implements IWmsProductPutService {
map.put("ERFME", wmsProductPut3.getUnitOfMeasure());
map.put("BATCH", wmsProductPut3.getAttr4());
map.put("STCK_TYPE", wmsProductPut1.getAttr3());
//去除空格
if (wmsProductPut3.getBatchNumber().trim().length()==24){
String HSDAT = InterceptionSJRules(wmsProductPut3.getBatchNumber());

@ -255,6 +255,70 @@
where wms_raw_order_in.raw_order_in_id = #{rawOrderInId}
and wms_raw_order_in.order_status='0'
</select>
<select id="selectWmsRawOrderInByRawOrderInIdThress" parameterType="String" resultMap="WmsRawOrderInResult">
SELECT DISTINCT
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_defined7,
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,
wms_raw_order_in_sn.user_defined2 incomeBatchNo,
ods_procure_order.ID kem,
wms_raw_order_in.active_flag
FROM
wms_raw_order_in
LEFT JOIN wms_raw_order_in_sn ON wms_raw_order_in.dn_no=wms_raw_order_in_sn.user_defined5 AND wms_raw_order_in_sn.po_no=wms_raw_order_in.po_no
AND wms_raw_order_in.material_code= wms_raw_order_in_sn.material_code
LEFT JOIN ods_procure_order ON ods_procure_order.ID= wms_raw_order_in_sn.user_defined3
where wms_raw_order_in.raw_order_in_id = #{rawOrderInId}
and wms_raw_order_in.order_status='1'
</select>
<insert id="insertWmsRawOrderIn" parameterType="WmsRawOrderIn">
insert into wms_raw_order_in
<trim prefix="(" suffix=")" suffixOverrides=",">

Loading…
Cancel
Save