opt:优化生产入库单回传
This commit is contained in:
@@ -113,32 +113,36 @@ public class SyncReceiptProcessHandler implements ClassProcess {
|
||||
private void handleBillEntity(String formType, JSONObject formData) {
|
||||
JSONArray fEntityArray = formData.getJSONObject("Model").getJSONArray("FEntity");
|
||||
//判断生产入库的手工录入与MRP生成方式需回传不同的源单信息
|
||||
if ("0".equals(formData.getString("FSrcEntryId")) && "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);
|
||||
if ("RECEIPT_PRD".equals(formType)) {
|
||||
for (int i = 0; i < fEntityArray.size(); i++) {
|
||||
JSONObject fEntity = fEntityArray.getJSONObject(i);
|
||||
if (fEntity.containsKey("FSrcEntryId")) {
|
||||
fEntity.remove("FSrcEntryId");
|
||||
}
|
||||
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"));
|
||||
if ("0".equals(fEntity.getString("FSrcEntryId"))) {
|
||||
//查询工序汇报单
|
||||
ErpQuery reportQuery = new ErpQuery();
|
||||
reportQuery.setFilterString("FMoNumber ='" + fEntity.getString("FMoBillNo") + "'");
|
||||
reportQuery.setOrderString("FId desc");
|
||||
reportQuery.setFormId("SFC_OperationReport");
|
||||
JSONArray jsonArray = erpServiceUtils.queryBills(reportQuery);
|
||||
JSONArray optRptEntry = jsonArray.getJSONObject(0).getJSONArray("OptRptEntry");
|
||||
if (fEntity.containsKey("FSrcEntryId")) {
|
||||
//增加源单分录id
|
||||
fEntity.put("FSrcEntryId", optRptEntry.getJSONObject(0).getString("SrcEntryId"));
|
||||
}
|
||||
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);
|
||||
if (entity != null) {
|
||||
moEntryId = entity.getString("Id");
|
||||
stockOrgId = JSON.parseObject(entity.getString("StockInOrgId")).getString("FNumber");
|
||||
ownerIdHead_Id = JSON.parseObject(entity.getString("InStockOwnerId")).getString("FNumber");
|
||||
workShopId1 = JSON.parseObject(entity.getString("WorkShopID")).getString("FNumber");
|
||||
stockOrgId = JSON.parseObject(entity.getString("StockInOrgId")).getString("Number");
|
||||
ownerIdHead_Id = JSON.parseObject(entity.getString("InStockOwnerId")).getString("Number");
|
||||
workShopId1 = JSON.parseObject(entity.getString("WorkShopID")).getString("Number");
|
||||
qty = new BigDecimal(entity.getString("Qty"));
|
||||
ownerId_Id = JSON.parseObject(entity.getString("InStockOwnerId")).getString("FNumber");
|
||||
keeperId = JSON.parseObject(entity.getString("InStockOwnerId")).getString("FNumber");
|
||||
ownerId_Id = JSON.parseObject(entity.getString("InStockOwnerId")).getString("Number");
|
||||
keeperId = JSON.parseObject(entity.getString("InStockOwnerId")).getString("Number");
|
||||
srcBillNo = entity.getString("SaleOrderEntryId");
|
||||
//tofix 目前都入料箱库
|
||||
stockId = "25";
|
||||
@@ -492,7 +492,7 @@ public class PdaIOService {
|
||||
result.setInStockType("1");
|
||||
result.setOwnerTypeId(StringUtils.isBlank(dataList.get(13).toString()) ? "BD_OwnerOrg" : dataList.get(13).toString());
|
||||
result.setOwnerId_Id(ownerId_Id);
|
||||
result.setStockStatusId("10000");
|
||||
result.setStockStatusId("KCZT01_SYS");
|
||||
result.setStockId(stockId);
|
||||
result.setKeeperId(keeperId);
|
||||
result.setKeeperTypeId("BD_KeeperOrg");
|
||||
|
||||
@@ -49,7 +49,7 @@ public class PdaInIOService {
|
||||
if (StringUtils.isBlank(mst.getMaterial_code())) {
|
||||
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();
|
||||
groupDto.setStor_code(mst.getStor_code());
|
||||
String form_type;
|
||||
|
||||
@@ -195,10 +195,9 @@ public class PmFormDataServiceImpl extends ServiceImpl<PmFormDataMapper, PmFormD
|
||||
if (!CollectionUtils.isEmpty(pmFormDataDtos)) {
|
||||
handleFormDatas(pmFormDataDtos);
|
||||
} else {
|
||||
//根据单据编号同步ERP用料清单单据
|
||||
if ("PRD_PPBOM".equals(query.getForm_type())) {
|
||||
List<SyncFormMapping> list = iSyncFormMappingService.list(new LambdaQueryWrapper<SyncFormMapping>().eq(SyncFormMapping::getForm_type, "PRD_PPBOM"));
|
||||
JSONArray mappingJson = list.get(0).getMapping_json();
|
||||
//根据单据编号同步ERP单据
|
||||
List<SyncFormMapping> list = iSyncFormMappingService.list(new LambdaQueryWrapper<SyncFormMapping>().eq(SyncFormMapping::getForm_type, query.getForm_type()));
|
||||
JSONArray mappingJson = list.get(0).getMapping_json();
|
||||
String mappingString = JSON.toJSONString(mappingJson);
|
||||
syncErpBillsScheduleService.syncData(mappingString, list.get(0).getForm_type(), list.get(0).getDtl_split(), query.getCode());
|
||||
List<PmFormDataDto> pmFormData = this.baseMapper.queryTree2(query);
|
||||
@@ -210,7 +209,6 @@ public class PmFormDataServiceImpl extends ServiceImpl<PmFormDataMapper, PmFormD
|
||||
dtoPage.setTotal(pmFormData.size());
|
||||
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());
|
||||
dtoPage.setRecords(pmFormDataDtos);
|
||||
return dtoPage;
|
||||
|
||||
Reference in New Issue
Block a user