diff --git a/nflg_project_dev/nflg-technology/src/main/java/com/nflg/product/technology/mapper/master/ProcessRouteTaskProcessesMapper.java b/nflg_project_dev/nflg-technology/src/main/java/com/nflg/product/technology/mapper/master/ProcessRouteTaskProcessesMapper.java
index e75f5d3f..832e0b30 100644
--- a/nflg_project_dev/nflg-technology/src/main/java/com/nflg/product/technology/mapper/master/ProcessRouteTaskProcessesMapper.java
+++ b/nflg_project_dev/nflg-technology/src/main/java/com/nflg/product/technology/mapper/master/ProcessRouteTaskProcessesMapper.java
@@ -1,11 +1,10 @@
package com.nflg.product.technology.mapper.master;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.nflg.product.technology.pojo.dto.WorkingHourDTO;
import com.nflg.product.technology.pojo.entity.ProcessRouteTaskProcessesEntity;
-import java.math.BigDecimal;
-import java.util.Map;
-import java.util.Set;
+import java.util.List;
/**
*
@@ -17,7 +16,5 @@ import java.util.Set;
*/
public interface ProcessRouteTaskProcessesMapper extends BaseMapper {
- Map getWorkingHours(Set materialNos);
-
- Map getWorkingHour(String materialNo);
+ List getWorkingHour(String materialNo);
}
diff --git a/nflg_project_dev/nflg-technology/src/main/java/com/nflg/product/technology/pojo/dto/WorkingHourDTO.java b/nflg_project_dev/nflg-technology/src/main/java/com/nflg/product/technology/pojo/dto/WorkingHourDTO.java
new file mode 100644
index 00000000..8b9c5cde
--- /dev/null
+++ b/nflg_project_dev/nflg-technology/src/main/java/com/nflg/product/technology/pojo/dto/WorkingHourDTO.java
@@ -0,0 +1,13 @@
+package com.nflg.product.technology.pojo.dto;
+
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+@Data
+public class WorkingHourDTO {
+
+ private String materialWork;
+
+ private BigDecimal workHours = BigDecimal.ZERO;
+}
diff --git a/nflg_project_dev/nflg-technology/src/main/java/com/nflg/product/technology/service/BomCostCalculateService.java b/nflg_project_dev/nflg-technology/src/main/java/com/nflg/product/technology/service/BomCostCalculateService.java
index 7fe28e07..94d36883 100644
--- a/nflg_project_dev/nflg-technology/src/main/java/com/nflg/product/technology/service/BomCostCalculateService.java
+++ b/nflg_project_dev/nflg-technology/src/main/java/com/nflg/product/technology/service/BomCostCalculateService.java
@@ -8,6 +8,7 @@ import com.nflg.product.technology.pojo.BomCostCalculateConfig;
import com.nflg.product.technology.pojo.dto.EBomCostCacheDTO;
import com.nflg.product.technology.pojo.dto.EBomDTO;
import com.nflg.product.technology.pojo.dto.ProductionCostDTO;
+import com.nflg.product.technology.pojo.dto.WorkingHourDTO;
import com.nflg.product.technology.pojo.entity.EBomChildEntity;
import com.nflg.product.technology.pojo.entity.EBomParentEntity;
import com.nflg.product.technology.pojo.entity.PaintCostConfigEntity;
@@ -93,7 +94,7 @@ public class BomCostCalculateService {
.filter(d -> StrUtil.equals(d.getParentMaterialNo(), dto.getMaterialNo()))
.collect(Collectors.toList());
if (StrUtil.isBlank(cdata)) {
- Map workingHours = processRouteTaskProcessesService.getWorkingHour(dto.getMaterialNo());
+ List workingHours = processRouteTaskProcessesService.getWorkingHour(dto.getMaterialNo());
EBomCostCacheDTO cdto = new EBomCostCacheDTO();
cdto.setMaterialNo(dto.getMaterialNo());
cdto.setCategoryCode(dto.getMaterialCategoryCode());
@@ -171,7 +172,7 @@ public class BomCostCalculateService {
}
}
- private List calculateProductionCosts(EBomDTO d, BomCostCalculateConfig config, Map workHours) {
+ private List calculateProductionCosts(EBomDTO d, BomCostCalculateConfig config, List workHours) {
List productionCosts = new ArrayList<>();
BigDecimal hourlyWages;
BigDecimal benefit;
@@ -210,7 +211,7 @@ public class BomCostCalculateService {
}
}
- private BigDecimal calculateWorkshopOfficeExpenses(EBomDTO dto, BomCostCalculateConfig config, Map workHours) {
+ private BigDecimal calculateWorkshopOfficeExpenses(EBomDTO dto, BomCostCalculateConfig config, List workHours) {
BigDecimal cost = BigDecimal.ZERO;
for (VirtualWorkingItemVO vw : config.getVirtualWorkings()) {
cost = cost.add(vw.getWorkshopOfficeFee().multiply(getGsForWorkingType(dto, workHours, vw)));
@@ -218,7 +219,7 @@ public class BomCostCalculateService {
return cost;
}
- private BigDecimal calculateAuxiliaryDepartmentExpenses(EBomDTO dto, BomCostCalculateConfig config, Map workHours) {
+ private BigDecimal calculateAuxiliaryDepartmentExpenses(EBomDTO dto, BomCostCalculateConfig config, List workHours) {
BigDecimal cost = BigDecimal.ZERO;
for (VirtualWorkingItemVO vw : config.getVirtualWorkings()) {
cost = cost.add(vw.getAssistantFee().multiply(getGsForWorkingType(dto, workHours, vw)));
@@ -226,7 +227,7 @@ public class BomCostCalculateService {
return cost;
}
- private BigDecimal calculateAuxiliaryDepartmentLaborCost(EBomDTO dto, BomCostCalculateConfig config, Map workHours) {
+ private BigDecimal calculateAuxiliaryDepartmentLaborCost(EBomDTO dto, BomCostCalculateConfig config, List workHours) {
BigDecimal cost = BigDecimal.ZERO;
for (VirtualWorkingItemVO vw : config.getVirtualWorkings()) {
cost = cost.add(vw.getAssistantLaborFee().multiply(getGsForWorkingType(dto, workHours, vw)));
@@ -234,7 +235,7 @@ public class BomCostCalculateService {
return cost;
}
- private BigDecimal calculateWorkshopManagementLaborCost(EBomDTO dto, BomCostCalculateConfig config, Map workHours) {
+ private BigDecimal calculateWorkshopManagementLaborCost(EBomDTO dto, BomCostCalculateConfig config, List workHours) {
BigDecimal cost = BigDecimal.ZERO;
for (VirtualWorkingItemVO vw : config.getVirtualWorkings()) {
cost = cost.add(vw.getWorkshopLaborFee().multiply(getGsForWorkingType(dto, workHours, vw)));
@@ -242,7 +243,7 @@ public class BomCostCalculateService {
return cost;
}
- private BigDecimal calculateDepreciationCost(EBomDTO dto, BomCostCalculateConfig config, Map workHours) {
+ private BigDecimal calculateDepreciationCost(EBomDTO dto, BomCostCalculateConfig config, List workHours) {
BigDecimal cost = BigDecimal.ZERO;
for (VirtualWorkingItemVO vw : config.getVirtualWorkings()) {
cost = cost.add(vw.getEquipmentDepreciationFee().multiply(getGsForWorkingType(dto, workHours, vw)));
@@ -250,7 +251,7 @@ public class BomCostCalculateService {
return cost;
}
- private BigDecimal calculateHydropowerCost(EBomDTO dto, BomCostCalculateConfig config, Map workHours) {
+ private BigDecimal calculateHydropowerCost(EBomDTO dto, BomCostCalculateConfig config, List workHours) {
BigDecimal cost = BigDecimal.ZERO;
for (VirtualWorkingItemVO vw : config.getVirtualWorkings()) {
cost = cost.add(vw.getConsumablesFee().multiply(getGsForWorkingType(dto, workHours, vw)));
@@ -258,19 +259,24 @@ public class BomCostCalculateService {
return cost;
}
- private BigDecimal getGsForWorkingType(EBomDTO dto, Map workHours, VirtualWorkingItemVO vw) {
- return workHours.getOrDefault(dto.getMaterialNo() + '-' + vw.getWorkingTypeName(), BigDecimal.ZERO);
+ private BigDecimal getGsForWorkingType(EBomDTO dto, List workHours, VirtualWorkingItemVO vw) {
+ String key = dto.getMaterialNo() + '-' + StrUtil.trim(vw.getWorkingTypeName());
+ return workHours.stream()
+ .filter(wh -> wh.getMaterialWork().equals(key))
+ .findFirst()
+ .orElse(new WorkingHourDTO())
+ .getWorkHours();
}
- private BigDecimal calculateWelfareExpenses(EBomDTO dto, BomCostCalculateConfig config, Map workHours) {
+ private BigDecimal calculateWelfareExpenses(EBomDTO dto, BomCostCalculateConfig config, List workHours) {
return getTGS(dto, config, workHours).multiply(Optional.ofNullable(config.getManday().getBenefit()).orElse(BigDecimal.ZERO));
}
- private BigDecimal calculatePieceRateSalary(EBomDTO dto, BomCostCalculateConfig config, Map workHours) {
+ private BigDecimal calculatePieceRateSalary(EBomDTO dto, BomCostCalculateConfig config, List workHours) {
return getTGS(dto, config, workHours).multiply(Optional.ofNullable(config.getManday().getHourlyWages()).orElse(BigDecimal.ZERO));
}
- private BigDecimal getTGS(EBomDTO dto, BomCostCalculateConfig config, Map workHours) {
+ private BigDecimal getTGS(EBomDTO dto, BomCostCalculateConfig config, List workHours) {
BigDecimal gs = BigDecimal.ZERO;
for (VirtualWorkingItemVO vw : config.getVirtualWorkings()) {
gs = gs.add(getGsForWorkingType(dto, workHours, vw));
diff --git a/nflg_project_dev/nflg-technology/src/main/java/com/nflg/product/technology/service/ProcessRouteTaskProcessesService.java b/nflg_project_dev/nflg-technology/src/main/java/com/nflg/product/technology/service/ProcessRouteTaskProcessesService.java
index 48d3a080..7f0d6fdb 100644
--- a/nflg_project_dev/nflg-technology/src/main/java/com/nflg/product/technology/service/ProcessRouteTaskProcessesService.java
+++ b/nflg_project_dev/nflg-technology/src/main/java/com/nflg/product/technology/service/ProcessRouteTaskProcessesService.java
@@ -2,14 +2,13 @@ package com.nflg.product.technology.service;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.nflg.product.technology.mapper.master.ProcessRouteTaskProcessesMapper;
+import com.nflg.product.technology.pojo.dto.WorkingHourDTO;
import com.nflg.product.technology.pojo.entity.ProcessRouteTaskProcessesEntity;
import org.springframework.stereotype.Service;
-import java.math.BigDecimal;
-import java.util.HashMap;
-import java.util.Map;
+import java.util.Collections;
+import java.util.List;
import java.util.Optional;
-import java.util.Set;
/**
*
@@ -22,11 +21,7 @@ import java.util.Set;
@Service
public class ProcessRouteTaskProcessesService extends ServiceImpl {
- public Map getWorkingHours(Set materialNos) {
- return Optional.ofNullable(this.baseMapper.getWorkingHours(materialNos)).orElse(new HashMap<>());
- }
-
- public Map getWorkingHour(String materialNo) {
- return Optional.ofNullable(this.baseMapper.getWorkingHour(materialNo)).orElse(new HashMap<>());
+ public List getWorkingHour(String materialNo) {
+ return Optional.ofNullable(this.baseMapper.getWorkingHour(materialNo)).orElse(Collections.emptyList());
}
}
diff --git a/nflg_project_dev/nflg-technology/src/main/resources/bootstrap-dev.yaml b/nflg_project_dev/nflg-technology/src/main/resources/bootstrap-dev.yaml
index 5d58a6b2..4dc1edd1 100644
--- a/nflg_project_dev/nflg-technology/src/main/resources/bootstrap-dev.yaml
+++ b/nflg_project_dev/nflg-technology/src/main/resources/bootstrap-dev.yaml
@@ -2,7 +2,7 @@ nacos:
server-addr: 192.168.0.194:8848
spring:
redis:
- database: 2
+ database: 3
host: 192.168.0.194
password:
port: 6379
@@ -11,8 +11,8 @@ spring:
lettuce:
pool:
max-wait: -1ms
- max-active: 8
- max-idle: 8
+ max-active: 100
+ max-idle: 100
min-idle: 0
logging:
config: classpath:logback-sit.xml
\ No newline at end of file
diff --git a/nflg_project_dev/nflg-technology/src/main/resources/mapper/master/ProcessRouteTaskProcessesMapper.xml b/nflg_project_dev/nflg-technology/src/main/resources/mapper/master/ProcessRouteTaskProcessesMapper.xml
index 4c230766..d9414d3c 100644
--- a/nflg_project_dev/nflg-technology/src/main/resources/mapper/master/ProcessRouteTaskProcessesMapper.xml
+++ b/nflg_project_dev/nflg-technology/src/main/resources/mapper/master/ProcessRouteTaskProcessesMapper.xml
@@ -2,24 +2,7 @@
-
-