opt:优化生产入库单回传
This commit is contained in:
@@ -113,32 +113,36 @@ public class SyncReceiptProcessHandler implements ClassProcess {
|
|||||||
private void handleBillEntity(String formType, JSONObject formData) {
|
private void handleBillEntity(String formType, JSONObject formData) {
|
||||||
JSONArray fEntityArray = formData.getJSONObject("Model").getJSONArray("FEntity");
|
JSONArray fEntityArray = formData.getJSONObject("Model").getJSONArray("FEntity");
|
||||||
//判断生产入库的手工录入与MRP生成方式需回传不同的源单信息
|
//判断生产入库的手工录入与MRP生成方式需回传不同的源单信息
|
||||||
if ("0".equals(formData.getString("FSrcEntryId")) && "RECEIPT_PRD".equals(formType)) {
|
if ("RECEIPT_PRD".equals(formType)) {
|
||||||
//查询工序汇报单
|
|
||||||
ErpQuery reportQuery = new ErpQuery();
|
|
||||||
reportQuery.setFilterString("FMoNumber ='" + formData.getString("moNumber") + "'");
|
|
||||||
reportQuery.setOrderString("FId desc");
|
|
||||||
reportQuery.setFormId("SFC_OperationReport");
|
|
||||||
JSONArray jsonArray = erpServiceUtils.queryBills(reportQuery);
|
|
||||||
for (int i = 0; i < fEntityArray.size(); i++) {
|
for (int i = 0; i < fEntityArray.size(); i++) {
|
||||||
JSONObject fEntity = fEntityArray.getJSONObject(i);
|
JSONObject fEntity = fEntityArray.getJSONObject(i);
|
||||||
if (fEntity.containsKey("FSrcEntryId")) {
|
if ("0".equals(fEntity.getString("FSrcEntryId"))) {
|
||||||
fEntity.remove("FSrcEntryId");
|
//查询工序汇报单
|
||||||
}
|
ErpQuery reportQuery = new ErpQuery();
|
||||||
Map<String, Object> linkedMap = new LinkedHashMap<>();
|
reportQuery.setFilterString("FMoNumber ='" + fEntity.getString("FMoBillNo") + "'");
|
||||||
for (String key : fEntity.keySet()) {
|
reportQuery.setOrderString("FId desc");
|
||||||
linkedMap.put(key, fEntity.get(key));
|
reportQuery.setFormId("SFC_OperationReport");
|
||||||
}
|
JSONArray jsonArray = erpServiceUtils.queryBills(reportQuery);
|
||||||
Map<String, Object> tempMap = new LinkedHashMap<>();
|
JSONArray optRptEntry = jsonArray.getJSONObject(0).getJSONArray("OptRptEntry");
|
||||||
for (Map.Entry<String, Object> entry : linkedMap.entrySet()) {
|
if (fEntity.containsKey("FSrcEntryId")) {
|
||||||
tempMap.put(entry.getKey(), entry.getValue());
|
//增加源单分录id
|
||||||
if ("FMoEntryId".equals(entry.getKey())) {
|
fEntity.put("FSrcEntryId", optRptEntry.getJSONObject(0).getString("SrcEntryId"));
|
||||||
//源单编号为工序汇报单号
|
|
||||||
tempMap.put("FSrcBillNo", jsonArray.getJSONObject(0).getString("BillNo"));
|
|
||||||
}
|
}
|
||||||
|
Map<String, Object> linkedMap = new LinkedHashMap<>();
|
||||||
|
for (String key : fEntity.keySet()) {
|
||||||
|
linkedMap.put(key, fEntity.get(key));
|
||||||
|
}
|
||||||
|
Map<String, Object> tempMap = new LinkedHashMap<>();
|
||||||
|
for (Map.Entry<String, Object> entry : linkedMap.entrySet()) {
|
||||||
|
tempMap.put(entry.getKey(), entry.getValue());
|
||||||
|
if ("FMoEntryId".equals(entry.getKey())) {
|
||||||
|
//源单编号为工序汇报单号
|
||||||
|
tempMap.put("FSrcBillNo", jsonArray.getJSONObject(0).getString("BillNo"));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
fEntity.clear();
|
||||||
|
fEntity.putAll(tempMap);
|
||||||
}
|
}
|
||||||
fEntity.clear();
|
|
||||||
fEntity.putAll(tempMap);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//判断生产领料单的批次与辅助单位
|
//判断生产领料单的批次与辅助单位
|
||||||
|
|||||||
@@ -463,12 +463,12 @@ public class PdaIOService {
|
|||||||
.orElse(null);
|
.orElse(null);
|
||||||
if (entity != null) {
|
if (entity != null) {
|
||||||
moEntryId = entity.getString("Id");
|
moEntryId = entity.getString("Id");
|
||||||
stockOrgId = JSON.parseObject(entity.getString("StockInOrgId")).getString("FNumber");
|
stockOrgId = JSON.parseObject(entity.getString("StockInOrgId")).getString("Number");
|
||||||
ownerIdHead_Id = JSON.parseObject(entity.getString("InStockOwnerId")).getString("FNumber");
|
ownerIdHead_Id = JSON.parseObject(entity.getString("InStockOwnerId")).getString("Number");
|
||||||
workShopId1 = JSON.parseObject(entity.getString("WorkShopID")).getString("FNumber");
|
workShopId1 = JSON.parseObject(entity.getString("WorkShopID")).getString("Number");
|
||||||
qty = new BigDecimal(entity.getString("Qty"));
|
qty = new BigDecimal(entity.getString("Qty"));
|
||||||
ownerId_Id = JSON.parseObject(entity.getString("InStockOwnerId")).getString("FNumber");
|
ownerId_Id = JSON.parseObject(entity.getString("InStockOwnerId")).getString("Number");
|
||||||
keeperId = JSON.parseObject(entity.getString("InStockOwnerId")).getString("FNumber");
|
keeperId = JSON.parseObject(entity.getString("InStockOwnerId")).getString("Number");
|
||||||
srcBillNo = entity.getString("SaleOrderEntryId");
|
srcBillNo = entity.getString("SaleOrderEntryId");
|
||||||
//tofix 目前都入料箱库
|
//tofix 目前都入料箱库
|
||||||
stockId = "25";
|
stockId = "25";
|
||||||
@@ -492,7 +492,7 @@ public class PdaIOService {
|
|||||||
result.setInStockType("1");
|
result.setInStockType("1");
|
||||||
result.setOwnerTypeId(StringUtils.isBlank(dataList.get(13).toString()) ? "BD_OwnerOrg" : dataList.get(13).toString());
|
result.setOwnerTypeId(StringUtils.isBlank(dataList.get(13).toString()) ? "BD_OwnerOrg" : dataList.get(13).toString());
|
||||||
result.setOwnerId_Id(ownerId_Id);
|
result.setOwnerId_Id(ownerId_Id);
|
||||||
result.setStockStatusId("10000");
|
result.setStockStatusId("KCZT01_SYS");
|
||||||
result.setStockId(stockId);
|
result.setStockId(stockId);
|
||||||
result.setKeeperId(keeperId);
|
result.setKeeperId(keeperId);
|
||||||
result.setKeeperTypeId("BD_KeeperOrg");
|
result.setKeeperTypeId("BD_KeeperOrg");
|
||||||
|
|||||||
@@ -49,7 +49,7 @@ public class PdaInIOService {
|
|||||||
if (StringUtils.isBlank(mst.getMaterial_code())) {
|
if (StringUtils.isBlank(mst.getMaterial_code())) {
|
||||||
throw new BadRequestException("操作失败,物料信息不存在!");
|
throw new BadRequestException("操作失败,物料信息不存在!");
|
||||||
}
|
}
|
||||||
Assert.noNullElements(new Object[]{mst.getStor_code(), mst.getQty(), mst.getMaterial_code(), mst.getBar_code(), materialId, mst.getQty(), mst.getSingle_weight(), mst.getStockOrgId()}, "入库失败:请求参数不全");
|
Assert.noNullElements(new Object[]{mst.getStor_code(), mst.getQty(), mst.getMaterial_code(), mst.getBar_code(), materialId, mst.getQty()}, "入库失败:请求参数不全");
|
||||||
MaterGroupDto groupDto = new MaterGroupDto();
|
MaterGroupDto groupDto = new MaterGroupDto();
|
||||||
groupDto.setStor_code(mst.getStor_code());
|
groupDto.setStor_code(mst.getStor_code());
|
||||||
String form_type;
|
String form_type;
|
||||||
|
|||||||
@@ -195,10 +195,9 @@ public class PmFormDataServiceImpl extends ServiceImpl<PmFormDataMapper, PmFormD
|
|||||||
if (!CollectionUtils.isEmpty(pmFormDataDtos)) {
|
if (!CollectionUtils.isEmpty(pmFormDataDtos)) {
|
||||||
handleFormDatas(pmFormDataDtos);
|
handleFormDatas(pmFormDataDtos);
|
||||||
} else {
|
} else {
|
||||||
//根据单据编号同步ERP用料清单单据
|
//根据单据编号同步ERP单据
|
||||||
if ("PRD_PPBOM".equals(query.getForm_type())) {
|
List<SyncFormMapping> list = iSyncFormMappingService.list(new LambdaQueryWrapper<SyncFormMapping>().eq(SyncFormMapping::getForm_type, query.getForm_type()));
|
||||||
List<SyncFormMapping> list = iSyncFormMappingService.list(new LambdaQueryWrapper<SyncFormMapping>().eq(SyncFormMapping::getForm_type, "PRD_PPBOM"));
|
JSONArray mappingJson = list.get(0).getMapping_json();
|
||||||
JSONArray mappingJson = list.get(0).getMapping_json();
|
|
||||||
String mappingString = JSON.toJSONString(mappingJson);
|
String mappingString = JSON.toJSONString(mappingJson);
|
||||||
syncErpBillsScheduleService.syncData(mappingString, list.get(0).getForm_type(), list.get(0).getDtl_split(), query.getCode());
|
syncErpBillsScheduleService.syncData(mappingString, list.get(0).getForm_type(), list.get(0).getDtl_split(), query.getCode());
|
||||||
List<PmFormDataDto> pmFormData = this.baseMapper.queryTree2(query);
|
List<PmFormDataDto> pmFormData = this.baseMapper.queryTree2(query);
|
||||||
@@ -210,7 +209,6 @@ public class PmFormDataServiceImpl extends ServiceImpl<PmFormDataMapper, PmFormD
|
|||||||
dtoPage.setTotal(pmFormData.size());
|
dtoPage.setTotal(pmFormData.size());
|
||||||
return dtoPage;
|
return dtoPage;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
com.baomidou.mybatisplus.extension.plugins.pagination.Page<PmFormDataDto> dtoPage = new com.baomidou.mybatisplus.extension.plugins.pagination.Page<>(page.getPages(), page.getPageSize(), page.getTotal());
|
com.baomidou.mybatisplus.extension.plugins.pagination.Page<PmFormDataDto> dtoPage = new com.baomidou.mybatisplus.extension.plugins.pagination.Page<>(page.getPages(), page.getPageSize(), page.getTotal());
|
||||||
dtoPage.setRecords(pmFormDataDtos);
|
dtoPage.setRecords(pmFormDataDtos);
|
||||||
return dtoPage;
|
return dtoPage;
|
||||||
|
|||||||
Reference in New Issue
Block a user