refactor(int-core): 重构库存记录同步逻辑
- 修改了 inventoryRecordMapper.getByType 方法的调用,增加了第二个参数 - 优化了库存记录处理流程,移除了冗余代码 - 新增了 updateCallErp 方法,用于更新调用 ERP 后的库存记录状态 - 在处理物料消耗报工和批次完工入库报工时,增加了 isSap 字段的设置
This commit is contained in:
parent
e74a3c2c96
commit
5be9f518a1
@ -68,7 +68,7 @@ public class CopyShopOrderStatisticTransController {
|
||||
@SysLog("生产管理报工平台-工单报工")
|
||||
@PostMapping("/callErp")
|
||||
public R callErp() {
|
||||
R<List<InventoryRecord>> byType = inventoryRecordMapper.getByType("0");
|
||||
R<List<InventoryRecord>> byType = inventoryRecordMapper.getByType("0", "1");
|
||||
List<InventoryRecord> inventoryRecordList = byType.getData();
|
||||
// if (inventoryRecordList.size() == 0){
|
||||
// return R.failed("没有需要同步的库存数据");
|
||||
@ -81,6 +81,13 @@ public class CopyShopOrderStatisticTransController {
|
||||
newList.add(inventoryRecord);
|
||||
}
|
||||
|
||||
// R<List<InventoryRecord>> listR = inventoryRecordMapper.selectBySyncStatus();
|
||||
// List<InventoryRecord> inventoryRecords = listR.getData();
|
||||
// for (InventoryRecord inventoryRecord : inventoryRecords) {
|
||||
//
|
||||
// processInventoryRecord(inventoryRecord, site);
|
||||
// }
|
||||
|
||||
|
||||
//========================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================
|
||||
|
||||
@ -110,7 +117,7 @@ public class CopyShopOrderStatisticTransController {
|
||||
invokeRequest.setRetry(false);
|
||||
TenantContextHolder.setTenantId(site);
|
||||
invokeResponse = inventoryRecordService.call(invokeRequest);
|
||||
invokeResponse = updateLotComplete(invokeResponse.getObjectResponse(), newList, invokeResponse);
|
||||
invokeResponse = updateCallErp(invokeResponse.getObjectResponse(), newList, invokeResponse);
|
||||
|
||||
}
|
||||
} catch (Exception e) {
|
||||
@ -123,12 +130,12 @@ public class CopyShopOrderStatisticTransController {
|
||||
if ("E".equals(invokeResponse.getResult())) {
|
||||
return R.failed(invokeResponse.getMessageContent());
|
||||
} else {
|
||||
R<List<InventoryRecord>> listR = inventoryRecordMapper.selectBySyncStatus();
|
||||
List<InventoryRecord> inventoryRecords = listR.getData();
|
||||
for (InventoryRecord inventoryRecord : inventoryRecords) {
|
||||
|
||||
processInventoryRecord(inventoryRecord, site);
|
||||
}
|
||||
// R<List<InventoryRecord>> listR = inventoryRecordMapper.selectBySyncStatus();
|
||||
// List<InventoryRecord> inventoryRecords = listR.getData();
|
||||
// for (InventoryRecord inventoryRecord : inventoryRecords) {
|
||||
//
|
||||
// processInventoryRecord(inventoryRecord, site);
|
||||
// }
|
||||
|
||||
return R.ok();
|
||||
}
|
||||
@ -274,7 +281,7 @@ public class CopyShopOrderStatisticTransController {
|
||||
@SysLog("生产管理报工平台-物料消耗报工")
|
||||
@PostMapping("/callErpMaterial")
|
||||
public R callErpMaterial() {
|
||||
R<List<InventoryRecord>> byType = inventoryRecordMapper.getByType("1");
|
||||
R<List<InventoryRecord>> byType = inventoryRecordMapper.getByType("1","0");
|
||||
List<InventoryRecord> inventoryRecords = byType.getData();
|
||||
// if (inventoryRecords.size() == 0){
|
||||
// return R.failed("没有需要同步的库存数据");
|
||||
@ -379,6 +386,7 @@ public class CopyShopOrderStatisticTransController {
|
||||
targetObj.setSyncVoucherNo(mblnr);
|
||||
targetObj.setCreator(SecurityUtils.getUserName());
|
||||
targetObj.setDateCreate(LocalDateTime.now());
|
||||
targetObj.setIsSap("1");
|
||||
R r = inventoryRecordMapper.apiUpdateById(targetObj);
|
||||
r.getMsg();
|
||||
}
|
||||
@ -420,7 +428,7 @@ public class CopyShopOrderStatisticTransController {
|
||||
@SysLog("生产管理报工平台-批次完工入库报工")
|
||||
@PostMapping("/callErpLot")
|
||||
public R callErpLot() {
|
||||
R<List<InventoryRecord>> byType = inventoryRecordMapper.getByType("0");
|
||||
R<List<InventoryRecord>> byType = inventoryRecordMapper.getByType("0","0");
|
||||
List<InventoryRecord> inventoryRecords = byType.getData();
|
||||
// if (inventoryRecords.size() == 0){
|
||||
// return R.failed("没有需要同步的库存数据");
|
||||
@ -517,6 +525,36 @@ public class CopyShopOrderStatisticTransController {
|
||||
}
|
||||
}
|
||||
|
||||
public InvokeResponse updateCallErp(JSONObject jsonObject, List<InventoryRecord> srcList, InvokeResponse invokeResponse) {
|
||||
JSONObject bodyJson = jsonObject.getJSONObject("RESPONSE_BODY");
|
||||
JSONObject outJson = bodyJson.getJSONObject("ES_OUTPUT");
|
||||
String rmzhl = outJson.getString("RMZHL");
|
||||
String rueck = outJson.getString("RUECK");
|
||||
String result = outJson.getString("MSGTY");
|
||||
String message = outJson.getString("MSGTX");
|
||||
String msgNo = outJson.getString("MSGNO");
|
||||
String mblnr = outJson.getString("MBLNR");
|
||||
String msgid = outJson.getString("MSGID");// 物料凭证编号
|
||||
for (InventoryRecord targetObj : srcList) {
|
||||
targetObj.setSyncTicketLine(rmzhl);
|
||||
targetObj.setSyncTicketNo(rueck);
|
||||
targetObj.setSyncStatus(result);
|
||||
targetObj.setSyncMessageText(message);
|
||||
targetObj.setSyncMessageNo(msgNo);
|
||||
targetObj.setSyncVoucherNo(mblnr);
|
||||
targetObj.setSyncSubmitter(SecurityUtils.getUserName());
|
||||
targetObj.setCreator(SecurityUtils.getUserName());
|
||||
targetObj.setDateCreate(LocalDateTime.now());
|
||||
targetObj.setSyncMessageRemark(msgid);
|
||||
targetObj.setIsSap("2");
|
||||
R r = inventoryRecordMapper.apiUpdateById(targetObj);
|
||||
r.getMsg();
|
||||
}
|
||||
invokeResponse.setResult(result);
|
||||
invokeResponse.setMessageContent(message);
|
||||
return invokeResponse;
|
||||
}
|
||||
|
||||
public InvokeResponse updateLotComplete(JSONObject jsonObject, List<InventoryRecord> srcList, InvokeResponse invokeResponse) {
|
||||
JSONObject bodyJson = jsonObject.getJSONObject("RESPONSE_BODY");
|
||||
JSONObject outJson = bodyJson.getJSONObject("ES_OUTPUT");
|
||||
@ -538,6 +576,7 @@ public class CopyShopOrderStatisticTransController {
|
||||
targetObj.setCreator(SecurityUtils.getUserName());
|
||||
targetObj.setDateCreate(LocalDateTime.now());
|
||||
targetObj.setSyncMessageRemark(msgid);
|
||||
targetObj.setIsSap("1");
|
||||
R r = inventoryRecordMapper.apiUpdateById(targetObj);
|
||||
r.getMsg();
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user