PDA盘点修改进度不显示问题,状态显示问题
This commit is contained in:
+19
-10
@@ -25,6 +25,7 @@ import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.util.CollectionUtils;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.math.RoundingMode;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
@@ -175,19 +176,23 @@ public class InvestigationManageDomainService {
|
||||
investigationManagePO.setInvestigationMaterialQuantity(totalInvestigetionMaterialQuantity);
|
||||
investigationManagePO.setMaterialQuantity(investigetionStorageList.size());
|
||||
investigationManagePO.setInvestigetionStorageList(investigetionStorageList);
|
||||
// 计算盘点进度 = 已盘组数 / 总组数
|
||||
if (investigetionStorageList.size() > 0) {
|
||||
investigationManagePO.setInvestigationProgress(
|
||||
new BigDecimal(totalInvestigetionMaterialQuantity).divide(new BigDecimal(investigetionStorageList.size()), 4, RoundingMode.HALF_UP)
|
||||
);
|
||||
} else {
|
||||
investigationManagePO.setInvestigationProgress(BigDecimal.ZERO);
|
||||
}
|
||||
return investigationManagePO;
|
||||
}
|
||||
|
||||
/**
|
||||
* 按物料盘点 获取盘点单详细信息
|
||||
*/
|
||||
public InvestigationManagePO getInfoByMaterial(Long investigationManageId) {
|
||||
InvestigationManagePO investigationManagePO = investigationManageService.getInfoByInvestigationManageId(investigationManageId);
|
||||
InvestigetionManageDetailDO investigetionManageDetailDO = new InvestigetionManageDetailDO();
|
||||
investigetionManageDetailDO.setInvestigationNumber(investigationManagePO.getInvestigationNumber());
|
||||
List<InvestigetionManageDetailPO> investigetionManageDetailPOList = iInvestigetionManageDetailService.queryList(investigetionManageDetailDO);
|
||||
Map<Long, List<InvestigetionManageDetailPO>> investigetionManageDetailPOMap = investigetionManageDetailPOList.stream().collect(Collectors.groupingBy(InvestigetionManageDetailPO::getStorageLocationId));
|
||||
int totalInvestigetionMaterialQuantity = 0;//盘点单按物料分组 统计已拣货进度
|
||||
Map<Long, List<InvestigetionManageDetailPO>> investigetionManageDetailPOMap = investigetionManageDetailPOList.stream().collect(Collectors.groupingBy(InvestigetionManageDetailPO::getMaterialBaseInfoId));
|
||||
int totalInvestigetionMaterialQuantity = 0;//盘点单按物料分组 统计已盘点进度
|
||||
List<InvestigetionMaterialPO> investigetionMaterialList = new ArrayList<>();
|
||||
for (Map.Entry<Long, List<InvestigetionManageDetailPO>> map : investigetionManageDetailPOMap.entrySet()) {
|
||||
List<InvestigetionManageDetailPO> investigationManageDetailPOListByMaterial = map.getValue();
|
||||
@@ -232,6 +237,14 @@ public class InvestigationManageDomainService {
|
||||
investigationManagePO.setInvestigationMaterialQuantity(totalInvestigetionMaterialQuantity);
|
||||
investigationManagePO.setMaterialQuantity(investigetionMaterialList.size());
|
||||
investigationManagePO.setInvestigetionMaterialList(investigetionMaterialList);
|
||||
// 计算盘点进度 = 已盘组数 / 总组数
|
||||
if (investigetionMaterialList.size() > 0) {
|
||||
investigationManagePO.setInvestigationProgress(
|
||||
new BigDecimal(totalInvestigetionMaterialQuantity).divide(new BigDecimal(investigetionMaterialList.size()), 4, RoundingMode.HALF_UP)
|
||||
);
|
||||
} else {
|
||||
investigationManagePO.setInvestigationProgress(BigDecimal.ZERO);
|
||||
}
|
||||
return investigationManagePO;
|
||||
}
|
||||
|
||||
@@ -324,16 +337,12 @@ public class InvestigationManageDomainService {
|
||||
private Integer judgeInvestigationQuantityByMaterial(BigDecimal investigationQuantity, BigDecimal quantity) {
|
||||
//1-待盘点 2-盘亏 3-正常 4-盘盈
|
||||
if (investigationQuantity.compareTo(BigDecimal.ZERO) == 0) {
|
||||
//待盘点
|
||||
return 1;
|
||||
} else if (investigationQuantity.compareTo(quantity) < 0) {
|
||||
//盘亏
|
||||
return 2;
|
||||
} else if (investigationQuantity.compareTo(quantity) == 0) {
|
||||
//正常
|
||||
return 3;
|
||||
} else {
|
||||
//盘盈
|
||||
return 4;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user