预约单改造;
This commit is contained in:
+56
-8
@@ -4,6 +4,8 @@ import com.alibaba.fastjson.JSON;
|
||||
import com.alibaba.fastjson.TypeReference;
|
||||
import com.alibaba.fastjson2.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.fasterxml.jackson.core.JsonProcessingException;
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import com.mhd.common.core.domain.po.UserPo;
|
||||
import com.mhd.common.core.exception.ServiceException;
|
||||
import com.mhd.common.core.enums.DictCode;
|
||||
@@ -54,13 +56,7 @@ import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.io.InputStream;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.Date;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
@@ -158,6 +154,8 @@ public class MaterialBaseInfoApplicationService {
|
||||
}
|
||||
}
|
||||
}
|
||||
materialBaseInfoDO.setOrgId(String.valueOf(materialBaseInfoDO.getOrganizationId()));
|
||||
materialBaseInfoDO.setOrganizationId(null);
|
||||
List<MaterialBaseInfoPO> materialBaseInfoPOS = materialBaseInfoDomainService.queryList(materialBaseInfoDO);
|
||||
for (MaterialBaseInfoPO materialBaseInfoPO : materialBaseInfoPOS) {
|
||||
//物料商品规则
|
||||
@@ -557,6 +555,31 @@ public class MaterialBaseInfoApplicationService {
|
||||
MaterialBaseInfo matched = findExistingMaterialByShipper(row);
|
||||
if (matched != null) {
|
||||
row.setShipperId(matched.getShipperId());
|
||||
Long shipperId = matched.getShipperId();
|
||||
String customerCodeNcJson = materialBaseInfoMapper.getCustomerCodeNcJson(shipperId.toString());
|
||||
if (customerCodeNcJson != null && !customerCodeNcJson.isEmpty()) {
|
||||
ObjectMapper objectMapper = new ObjectMapper();
|
||||
List<Map<String, Object>> listNc = null;
|
||||
try {
|
||||
listNc = objectMapper.readValue(
|
||||
customerCodeNcJson,
|
||||
new com.fasterxml.jackson.core.type.TypeReference<List<Map<String, Object>>>() {}
|
||||
);
|
||||
String codeStr = "";
|
||||
if (listNc != null && listNc.size() > 0) {
|
||||
// 方式1:Stream拼接,逗号分隔
|
||||
codeStr = listNc.stream()
|
||||
.map(map -> map.get("code"))
|
||||
.filter(Objects::nonNull) // 过滤code为空
|
||||
.map(Object::toString)
|
||||
.collect(Collectors.joining(","));
|
||||
row.setOrgId(codeStr);
|
||||
}
|
||||
// codeStr 就是拼接好的字符串
|
||||
} catch (JsonProcessingException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
}
|
||||
if (StringUtils.isBlank(row.getShipperCode())) {
|
||||
row.setShipperCode(matched.getShipperCode());
|
||||
}
|
||||
@@ -798,6 +821,31 @@ public class MaterialBaseInfoApplicationService {
|
||||
return;
|
||||
}
|
||||
row.setShipperId(userPo.getUserId());
|
||||
Long shipperId = userPo.getUserId();
|
||||
String customerCodeNcJson = materialBaseInfoMapper.getCustomerCodeNcJson(shipperId.toString());
|
||||
if (customerCodeNcJson != null && !customerCodeNcJson.isEmpty()) {
|
||||
ObjectMapper objectMapper = new ObjectMapper();
|
||||
List<Map<String, Object>> listNc = null;
|
||||
try {
|
||||
listNc = objectMapper.readValue(
|
||||
customerCodeNcJson,
|
||||
new com.fasterxml.jackson.core.type.TypeReference<List<Map<String, Object>>>() {}
|
||||
);
|
||||
String codeStr = "";
|
||||
if (listNc != null && listNc.size() > 0) {
|
||||
// 方式1:Stream拼接,逗号分隔
|
||||
codeStr = listNc.stream()
|
||||
.map(map -> map.get("code"))
|
||||
.filter(Objects::nonNull) // 过滤code为空
|
||||
.map(Object::toString)
|
||||
.collect(Collectors.joining(","));
|
||||
row.setOrgId(codeStr);
|
||||
}
|
||||
// codeStr 就是拼接好的字符串
|
||||
} catch (JsonProcessingException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
}
|
||||
if (!isValidOrgId(row.getOrganizationId()) && isValidOrgId(userPo.getOrganizationId())) {
|
||||
row.setOrganizationId(userPo.getOrganizationId());
|
||||
}
|
||||
@@ -1266,4 +1314,4 @@ public class MaterialBaseInfoApplicationService {
|
||||
return tableDataInfo;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
+13
-10
@@ -845,7 +845,10 @@ public class StockOutOrderApplicationService {
|
||||
public Boolean execution(String outOrderNumber){
|
||||
//Boolean execution = stockOutOrderDomainService.execution(outOrderNumber);
|
||||
StockOutOrderDO stockOutOrderDO = new StockOutOrderDO();
|
||||
stockOutOrderDO.setOutOrderNumber(outOrderNumber);
|
||||
// stockOutOrderDO.setOutOrderNumber(outOrderNumber);
|
||||
List<String> numbers = new ArrayList<>();
|
||||
numbers.add(outOrderNumber);
|
||||
stockOutOrderDO.setOutOrderNumbers(numbers);
|
||||
Boolean b = omsAutoAssign(stockOutOrderDO);
|
||||
return b;
|
||||
}
|
||||
@@ -963,20 +966,20 @@ public class StockOutOrderApplicationService {
|
||||
List<OutMaterialDetailDO> materialDetailList = cn.hutool.core.bean.BeanUtil.copyToList(outMaterialDetailList, OutMaterialDetailDO.class);
|
||||
List<OutMaterialDetailDO> materialDetailList2 = new ArrayList<>();
|
||||
for (OutMaterialDetailDO detail : materialDetailList) {
|
||||
String batchRefNo = detail.getBatchRefNo();
|
||||
String sheetRefNo = detail.getSheetRefNo();
|
||||
String boxPalletNo = detail.getBoxPalletNo();
|
||||
// String batchRefNo = detail.getBatchRefNo();
|
||||
// String sheetRefNo = detail.getSheetRefNo();
|
||||
// String boxPalletNo = detail.getBoxPalletNo();
|
||||
Long materialBaseInfoId = detail.getMaterialBaseInfoId();
|
||||
Long warehouseId = detail.getWarehouseId();
|
||||
List<MaterialInventory> materialInventories = materialInventoryMapper.selectList(new QueryWrapper<MaterialInventory>().lambda()
|
||||
.eq(MaterialInventory::getBatchRefNo, batchRefNo)
|
||||
.eq(MaterialInventory::getSheetRefNo, sheetRefNo)
|
||||
.eq(MaterialInventory::getBoxPalletNo, boxPalletNo)
|
||||
// .eq(MaterialInventory::getBatchRefNo, batchRefNo)
|
||||
// .eq(MaterialInventory::getSheetRefNo, sheetRefNo)
|
||||
// .eq(MaterialInventory::getBoxPalletNo, boxPalletNo)
|
||||
.eq(MaterialInventory::getWarehouseId, warehouseId)
|
||||
.eq(MaterialInventory::getMaterialBaseInfoId, materialBaseInfoId));
|
||||
if (materialInventories == null || materialInventories.isEmpty()) {
|
||||
throw new ServiceException("库存不存在:" + batchRefNo + " " + sheetRefNo + " " + boxPalletNo);
|
||||
}
|
||||
// if (materialInventories == null || materialInventories.isEmpty()) {
|
||||
// throw new ServiceException("库存不存在:" + batchRefNo + " " + sheetRefNo + " " + boxPalletNo);
|
||||
// }
|
||||
|
||||
BigDecimal remainingQuantity = detail.getQuantity(); // 计划数量
|
||||
for (MaterialInventory materialInventory : materialInventories) {
|
||||
|
||||
+6
@@ -44,4 +44,10 @@ public interface IHandoverTaskOrderService extends IService<HandoverTaskOrder>
|
||||
boolean taskDistribution(HandoverTaskOrderDO handoverTaskOrderDO);
|
||||
|
||||
public void updateOmsOrder(String orderNumber, Integer status);
|
||||
|
||||
public void updateOmsExecutionOrder(String orderNumber, Integer status);
|
||||
|
||||
public Integer getExecutionRkCount(String orderNumber);
|
||||
|
||||
public String getBusinessOrdernumber(String orderNumber);
|
||||
}
|
||||
+5
@@ -23,4 +23,9 @@ public interface HandoverTaskOrderMapper extends BaseMapper<HandoverTaskOrder>
|
||||
|
||||
public void updateOmsOrder(@Param("orderNumber") String orderNumber, @Param("status") Integer status);
|
||||
|
||||
public void updateOmsExecutionOrder(@Param("orderNumber") String orderNumber, @Param("status") Integer status);
|
||||
|
||||
public Integer getExecutionRkCount(@Param("orderNumber") String orderNumber);
|
||||
|
||||
public String getBusinessOrdernumber(@Param("orderNumber") String orderNumber);
|
||||
}
|
||||
+15
@@ -94,6 +94,21 @@ public class HandoverTaskOrderImpl extends ServiceImpl<HandoverTaskOrderMapper,
|
||||
handoverTaskOrderMapper.updateOmsOrder(orderNumber, status);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateOmsExecutionOrder(String orderNumber, Integer status) {
|
||||
handoverTaskOrderMapper.updateOmsExecutionOrder(orderNumber, status);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Integer getExecutionRkCount(String orderNumber) {
|
||||
return handoverTaskOrderMapper.getExecutionRkCount(orderNumber);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getBusinessOrdernumber(String orderNumber) {
|
||||
return handoverTaskOrderMapper.getBusinessOrdernumber(orderNumber);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean taskDistribution(HandoverTaskOrderDO handoverTaskOrderDO) {
|
||||
LoginUser loginUser = SecurityUtils.getLoginUser();
|
||||
|
||||
+8
-1
@@ -312,7 +312,14 @@ public class HandoverTaskOrderDomainService {
|
||||
private void pushOms(Long handoverTaskOrderId) {
|
||||
HandoverTaskOrder handoverTaskOrder = handoverTaskOrderService.getById(handoverTaskOrderId);
|
||||
if (handoverTaskOrder != null) {
|
||||
handoverTaskOrderService.updateOmsOrder(handoverTaskOrder.getOrderNumber(),4);
|
||||
handoverTaskOrderService.updateOmsExecutionOrder(handoverTaskOrder.getOrderNumber(),4);
|
||||
Integer executionRkCount = handoverTaskOrderService.getExecutionRkCount(handoverTaskOrder.getOrderNumber());
|
||||
String businessOrdernumber = handoverTaskOrderService.getBusinessOrdernumber(handoverTaskOrder.getOrderNumber());
|
||||
if (executionRkCount != null && executionRkCount > 0) {
|
||||
if (businessOrdernumber != null) handoverTaskOrderService.updateOmsOrder(businessOrdernumber,5);
|
||||
} else {
|
||||
if (businessOrdernumber != null) handoverTaskOrderService.updateOmsOrder(businessOrdernumber,4);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -237,4 +237,7 @@ public class MaterialBaseInfo extends BaseVOEntity {
|
||||
@ApiModelProperty(name = "单位")
|
||||
private String unit;
|
||||
|
||||
@ApiModelProperty(name = "组织(多个用,分开)")
|
||||
private String orgId;
|
||||
|
||||
}
|
||||
+2
-1
@@ -25,4 +25,5 @@ public interface MaterialBaseInfoMapper extends BaseMapper<MaterialBaseInfo>
|
||||
|
||||
List<MaterialBaseInfoPO> selectBatchByIds(@Param("materialBaseInfoIds") List<Long> materialBaseInfoIds);
|
||||
|
||||
}
|
||||
String getCustomerCodeNcJson(@Param("actualInvoiceCustomerId") String actualInvoiceCustomerId);
|
||||
}
|
||||
+3
@@ -286,4 +286,7 @@ public class MaterialBaseInfoPO extends BaseVOEntity {
|
||||
|
||||
@ApiModelProperty(name = "单位")
|
||||
private String unit;
|
||||
|
||||
@ApiModelProperty(name = "组织(多个用,分开)")
|
||||
private String orgId;
|
||||
}
|
||||
+3
@@ -259,4 +259,7 @@ public class MaterialBaseInfoDO extends BaseVOEntity {
|
||||
|
||||
@ApiModelProperty(name = "单位")
|
||||
private String unit;
|
||||
|
||||
@ApiModelProperty(name = "组织(多个用,分开)")
|
||||
private String orgId;
|
||||
}
|
||||
+6
-1
@@ -49,9 +49,14 @@ public interface IStockShelfOrderService extends IService<StockShelfOrder>
|
||||
*/
|
||||
public StockShelfOrderPO getInfo(Long shelfOrderId);
|
||||
|
||||
|
||||
public void updateOmsOrder(String orderNumber, Integer status, BigDecimal shelvesQuantity);
|
||||
|
||||
public Integer getExecutionCount(String orderNumber);
|
||||
|
||||
public String getBusinessOrderNumber(String orderNumber);
|
||||
|
||||
public void updateOmsExecutionOrder(String orderNumber, Integer status, BigDecimal shelvesQuantity);
|
||||
|
||||
public void updateOmsReserveOrder(String orderNumber, BigDecimal shelvesQuantity);
|
||||
|
||||
public void updateOmsDocument(BigDecimal shelvesQuantity, BigDecimal totalNetWeight, String omsInMaterialDetail);
|
||||
|
||||
+6
@@ -24,6 +24,12 @@ public interface StockShelfOrderMapper extends BaseMapper<StockShelfOrder>
|
||||
|
||||
public void updateOmsOrder(@Param("orderNumber") String orderNumber, @Param("status") Integer status, @Param("shelvesQuantity") BigDecimal shelvesQuantity);
|
||||
|
||||
public Integer getExecutionCount(@Param("orderNumber") String orderNumber);
|
||||
|
||||
public String getBusinessOrderNumber(@Param("orderNumber") String orderNumber);
|
||||
|
||||
public void updateOmsExecutionOrder(@Param("orderNumber") String orderNumber, @Param("status") Integer status, @Param("shelvesQuantity") BigDecimal shelvesQuantity);
|
||||
|
||||
public void updateOmsReserveOrder(@Param("orderNumber") String orderNumber, @Param("shelvesQuantity") BigDecimal shelvesQuantity);
|
||||
|
||||
void updateOmsDocument(@Param("shelvesQuantity") BigDecimal shelvesQuantity, @Param("totalNetWeight") BigDecimal totalNetWeight, @Param("omsInMaterialDetail") String omsInMaterialDetail);
|
||||
|
||||
+15
@@ -115,6 +115,21 @@ public class StockShelfOrderImpl extends ServiceImpl<StockShelfOrderMapper, Stoc
|
||||
stockShelfOrderMapper.updateOmsOrder(orderNumber, status,shelvesQuantity);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Integer getExecutionCount(String orderNumber) {
|
||||
return stockShelfOrderMapper.getExecutionCount(orderNumber);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getBusinessOrderNumber(String orderNumber) {
|
||||
return stockShelfOrderMapper.getBusinessOrderNumber(orderNumber);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateOmsExecutionOrder(String orderNumber, Integer status,BigDecimal shelvesQuantity) {
|
||||
stockShelfOrderMapper.updateOmsExecutionOrder(orderNumber, status,shelvesQuantity);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateOmsReserveOrder(String orderNumber, BigDecimal shelvesQuantity) {
|
||||
stockShelfOrderMapper.updateOmsReserveOrder(orderNumber, shelvesQuantity);
|
||||
|
||||
+12
-2
@@ -863,9 +863,19 @@ public class StockShelfOrderDomainService {
|
||||
markShelfTypeStockInTaskOrderOnComplete(stockShelfOrderPO.getShelfOrderNumber(), loginUser, userRealNameComplete);
|
||||
//推送业务数据到BMS系统
|
||||
// pushSyncBmsDomainService.pushInShelfOrder(stockShelfOrderPO.getInOrderNumber());
|
||||
stockShelfOrderService.updateOmsOrder(stockShelfOrderPO.getInOrderNumber(), 4,
|
||||
|
||||
stockShelfOrderService.updateOmsExecutionOrder(stockShelfOrderPO.getInOrderNumber(), 4,
|
||||
shelvesQuantity == null ? null : shelvesQuantity);
|
||||
stockShelfOrderService.updateOmsReserveOrder(stockShelfOrderPO.getInOrderNumber(),
|
||||
Integer executionCount = stockShelfOrderService.getExecutionCount(stockShelfOrderPO.getInOrderNumber());
|
||||
String businessOrderNumber = stockShelfOrderService.getBusinessOrderNumber(stockShelfOrderPO.getInOrderNumber());
|
||||
if (executionCount != null && executionCount > 0) {
|
||||
if (businessOrderNumber != null) stockShelfOrderService.updateOmsOrder(businessOrderNumber, 5,
|
||||
shelvesQuantity == null ? null : shelvesQuantity);
|
||||
} else {
|
||||
if (businessOrderNumber != null) stockShelfOrderService.updateOmsOrder(businessOrderNumber, 4,
|
||||
shelvesQuantity == null ? null : shelvesQuantity);
|
||||
}
|
||||
if (businessOrderNumber != null) stockShelfOrderService.updateOmsReserveOrder(businessOrderNumber,
|
||||
shelvesQuantity == null ? null : shelvesQuantity);
|
||||
return true;
|
||||
}
|
||||
|
||||
+3
@@ -311,4 +311,7 @@ public class MaterialBaseInfoDTO extends BaseVOEntity {
|
||||
|
||||
@ApiModelProperty(name = "单位")
|
||||
private String unit;
|
||||
|
||||
@ApiModelProperty(name = "组织(多个用,分开)")
|
||||
private String orgId;
|
||||
}
|
||||
Reference in New Issue
Block a user