| | |
| | | import com.aps.common.core.utils.DateUtils; |
| | | import com.aps.common.core.utils.StringUtils; |
| | | import com.aps.common.core.utils.uuid.IdUtils; |
| | | import com.aps.common.security.utils.SecurityUtils; |
| | | import com.aps.core.domain.ApsWeldSeam; |
| | | import com.aps.core.domain.ApsWeldSeamStatistics; |
| | | import com.aps.core.domain.ApsWeldSeamTemp; |
| | |
| | | import org.springframework.beans.BeanUtils; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | |
| | | import java.util.List; |
| | | |
| | |
| | | return apsWeldSeamMapper.deleteApsWeldSeamById(id); |
| | | } |
| | | |
| | | @Transactional |
| | | @Override |
| | | public int confirmWeldSeam(ApsWeldSeamTemp apsWeldSeamTemp) { |
| | | //查询临时表数据 |
| | |
| | | if (count == apsWeldSeamTemps.size()) { |
| | | apsWeldSeamTempMapper.deleteApsWeldSeamTempByIds(ids); |
| | | } |
| | | /*删除旧数据*/ |
| | | apsWeldSeamStatisticsMapper.removeLastBatch(); |
| | | //插入焊缝统计表 |
| | | List<ApsWeldSeamStatistics> apsWeldSeamStatistics = apsWeldSeamMapper.weldSeamStat(apsWeldSeamTemps); |
| | | for (int i = 0; i < apsWeldSeamStatistics.size(); i++) { |
| | | |
| | | List<Long> years = apsWeldSeamStatistics.stream().map(ApsWeldSeamStatistics::getYear).distinct().toList(); |
| | | List<Long> months = apsWeldSeamStatistics.stream().map(ApsWeldSeamStatistics::getMonth).distinct().toList(); |
| | | List<String> bases = apsWeldSeamStatistics.stream().map(ApsWeldSeamStatistics::getProductionBase).distinct().toList(); |
| | | |
| | | for (Long year : years) { |
| | | for (Long month : months) { |
| | | for (String basis : bases) { |
| | | List<ApsWeldSeamStatistics> list = apsWeldSeamStatistics.stream() |
| | | .filter(x -> x.getYear().equals(year) && x.getMonth().equals(month) && x.getProductionBase().equals(basis)).toList(); |
| | | |
| | | long gasOrderRequirement = list.stream().filter(x -> x.getWorkOrderType().equals("0") && x.getClassification().equals("0")) |
| | | .mapToLong(ApsWeldSeamStatistics::getTotal).sum(); |
| | | long gasPredictionRequirement = list.stream().filter(x -> x.getWorkOrderType().equals("1") && x.getClassification().equals("0")) |
| | | .mapToLong(ApsWeldSeamStatistics::getTotal).sum(); |
| | | long pipingOrderRequirement = list.stream().filter(x -> x.getWorkOrderType().equals("0") && x.getClassification().equals("1")) |
| | | .mapToLong(ApsWeldSeamStatistics::getTotal).sum(); |
| | | long pipingPredictionRequirement = list.stream().filter(x -> x.getWorkOrderType().equals("1") && x.getClassification().equals("1")) |
| | | .mapToLong(ApsWeldSeamStatistics::getTotal).sum(); |
| | | |
| | | ApsWeldSeamStatistics seamStatistics = new ApsWeldSeamStatistics(); |
| | | seamStatistics.setId(IdUtils.fastSimpleUUID()); |
| | | seamStatistics.setYear(year); |
| | | seamStatistics.setMonth(month); |
| | | seamStatistics.setProductionBase(basis); |
| | | seamStatistics.setPipingOrderRequirement(pipingOrderRequirement); |
| | | seamStatistics.setPipingPredictionRequirement(pipingPredictionRequirement); |
| | | seamStatistics.setGasOrderRequirement(gasOrderRequirement); |
| | | seamStatistics.setGasPredictionRequirement(gasPredictionRequirement); |
| | | seamStatistics.setTotal(gasOrderRequirement + gasPredictionRequirement + pipingOrderRequirement + pipingPredictionRequirement); |
| | | seamStatistics.setCreateTime(DateUtils.getNowDate()); |
| | | seamStatistics.setCreateBy(SecurityUtils.getUsername()); |
| | | apsWeldSeamStatisticsMapper.insertApsWeldSeamStatistics(seamStatistics); |
| | | } |
| | | } |
| | | |
| | | } |
| | | |
| | | |
| | | /*for (int i = 0; i < apsWeldSeamStatistics.size(); i++) { |
| | | List<ApsWeldSeamStatistics> apsWeldSeamStatistics1 = apsWeldSeamStatisticsMapper.selectApsWeldSeamStatisticsList(apsWeldSeamStatistics.get(i)); |
| | | if (apsWeldSeamStatistics1.size() > 0) { |
| | | |
| | | ApsWeldSeamStatistics apsWeldSeamStatistics2 = apsWeldSeamStatistics1.get(0); |
| | | |
| | | apsWeldSeamStatistics2.setPipingOrderRequirement(apsWeldSeamStatistics.get(i).getPipingOrderRequirement()); |
| | | apsWeldSeamStatistics2.setGasOrderRequirement(apsWeldSeamStatistics.get(i).getGasOrderRequirement()); |
| | | apsWeldSeamStatistics2.setPipingPredictionRequirement(apsWeldSeamStatistics.get(i).getPipingPredictionRequirement()); |
| | | apsWeldSeamStatistics2.setGasPredictionRequirement(apsWeldSeamStatistics.get(i).getGasPredictionRequirement()); |
| | | |
| | | //预留紧急订单产出是否为空 |
| | | if (apsWeldSeamStatistics2.getReserveEmergencyOrderOutput() != null) { |
| | | apsWeldSeamStatistics2.setTotal(apsWeldSeamStatistics2.getPipingOrderRequirement() + apsWeldSeamStatistics2.getPipingPredictionRequirement() + apsWeldSeamStatistics2.getGasOrderRequirement() + apsWeldSeamStatistics2.getGasPredictionRequirement() + apsWeldSeamStatistics2.getReserveEmergencyOrderOutput()); |
| | |
| | | apsWeldSeamStatisticsMapper.insertApsWeldSeamStatistics(apsWeldSeamStatistics.get(i)); |
| | | } |
| | | |
| | | } |
| | | }*/ |
| | | return 1; |
| | | } |
| | | } |