|
@@ -10,12 +10,14 @@ import com.fjhx.constants.StatusConstant;
|
|
|
import com.fjhx.entity.abnormal.AbnormalInfo;
|
|
|
import com.fjhx.entity.quality.QualityDetails;
|
|
|
import com.fjhx.entity.quality.QualityInfo;
|
|
|
+import com.fjhx.entity.quality.QualityRecords;
|
|
|
import com.fjhx.entity.stock.Stock;
|
|
|
import com.fjhx.enums.stock.QualityStatusEnum;
|
|
|
import com.fjhx.mapper.quality.QualityDetailsMapper;
|
|
|
import com.fjhx.service.abnormal.AbnormalInfoService;
|
|
|
import com.fjhx.service.quality.QualityDetailsService;
|
|
|
import com.fjhx.service.quality.QualityInfoService;
|
|
|
+import com.fjhx.service.quality.QualityRecordsService;
|
|
|
import com.fjhx.service.stock.StockService;
|
|
|
import org.springblade.core.log.exception.ServiceException;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
@@ -48,6 +50,8 @@ public class QualityDetailsServiceImpl extends ServiceImpl<QualityDetailsMapper,
|
|
|
|
|
|
@Autowired
|
|
|
private AbnormalInfoService abnormalInfoService;
|
|
|
+ @Autowired
|
|
|
+ private QualityRecordsService qualityRecordsService;
|
|
|
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
@Override
|
|
@@ -73,7 +77,27 @@ public class QualityDetailsServiceImpl extends ServiceImpl<QualityDetailsMapper,
|
|
|
// 质检结果标记
|
|
|
boolean resultTypeFlag = true;
|
|
|
|
|
|
+ List<QualityRecords> qualityRecordsList = new ArrayList<>();
|
|
|
+ List<AbnormalInfo> abnormalInfoList = new ArrayList<>();
|
|
|
+
|
|
|
for (QualityDetails qualityDetails : qualityDetailsList) {
|
|
|
+ //如果存在不合格产品就创建质检记录和异常记录
|
|
|
+ QualityRecords qualityRecords = new QualityRecords();
|
|
|
+ qualityRecords.setId(IdWorker.getId());
|
|
|
+ qualityRecords.setQualityDetailsId(qualityDetails.getId());
|
|
|
+ qualityRecords.setTotalQuantity(qualityDetails.getTotalQuantity());
|
|
|
+ qualityRecords.setQualifiedQuantity(qualityDetails.getQualifiedQuantity());
|
|
|
+ qualityRecords.setDisqualificationQuantity(qualityDetails.getDisqualificationQuantity());
|
|
|
+ qualityRecordsList.add(qualityRecords);
|
|
|
+ if(qualityDetails.getDisqualificationQuantity().compareTo(BigDecimal.ZERO)>0) {
|
|
|
+ AbnormalInfo abnormalInfo = new AbnormalInfo();
|
|
|
+ abnormalInfo.setId(IdWorker.getId());
|
|
|
+ abnormalInfo.setType(10);
|
|
|
+ abnormalInfo.setLinkId(qualityRecords.getId());
|
|
|
+ abnormalInfo.setTitle("质检存在不合格");
|
|
|
+ abnormalInfoList.add(abnormalInfo);
|
|
|
+ }
|
|
|
+
|
|
|
QualityDetails oldQualityDetails = oldMap.get(qualityDetails.getId());
|
|
|
Long productInfoId = oldQualityDetails.getProductInfoId();
|
|
|
|
|
@@ -90,11 +114,11 @@ public class QualityDetailsServiceImpl extends ServiceImpl<QualityDetailsMapper,
|
|
|
|
|
|
// 合格数量
|
|
|
BigDecimal qualifiedQuantity = qualityDetails.getQualifiedQuantity();
|
|
|
- Assert.isTrue(qualifiedQuantity.compareTo(BigDecimal.ZERO)>=0,"输入的合格数量不能小于0");
|
|
|
// 不合格数量
|
|
|
BigDecimal disqualificationQuantity = qualityDetails.getDisqualificationQuantity();
|
|
|
- Assert.isTrue(disqualificationQuantity.compareTo(BigDecimal.ZERO)>=0,"输入的不合格数量不能小于0");
|
|
|
- Assert.isFalse(qualifiedQuantity.add(disqualificationQuantity).compareTo(BigDecimal.ZERO)==0,"合格数量加不合格数量不能为零");
|
|
|
+ Assert.isTrue(qualifiedQuantity.compareTo(BigDecimal.ZERO) >= 0, "输入的合格数量不能小于0");
|
|
|
+ Assert.isTrue(disqualificationQuantity.compareTo(BigDecimal.ZERO) >= 0, "输入的不合格数量不能小于0");
|
|
|
+ Assert.isFalse(qualifiedQuantity.add(disqualificationQuantity).compareTo(BigDecimal.ZERO) < 0, "合格数量加不合格数量不能小于0");
|
|
|
// 判断合格数量加不合格数量是否大于总数量
|
|
|
BigDecimal newQualifiedQuantity = oldQualityDetails.getQualifiedQuantity().add(qualifiedQuantity);
|
|
|
BigDecimal newDisqualificationQuantity = oldQualityDetails.getDisqualificationQuantity().add(disqualificationQuantity);
|
|
@@ -125,14 +149,14 @@ public class QualityDetailsServiceImpl extends ServiceImpl<QualityDetailsMapper,
|
|
|
}
|
|
|
|
|
|
//质检存在不合格 记录异常数据
|
|
|
- if(disqualificationQuantityMap.size()>0){
|
|
|
- AbnormalInfo abnormalInfo = new AbnormalInfo();
|
|
|
- abnormalInfo.setId(IdWorker.getId());
|
|
|
- abnormalInfo.setType(10);
|
|
|
- abnormalInfo.setLinkId(qualityInfoId);
|
|
|
- abnormalInfo.setTitle("质检存在不合格");
|
|
|
- abnormalInfoService.save(abnormalInfo);
|
|
|
- }
|
|
|
+// if (disqualificationQuantityMap.size() > 0) {
|
|
|
+// AbnormalInfo abnormalInfo = new AbnormalInfo();
|
|
|
+// abnormalInfo.setId(IdWorker.getId());
|
|
|
+// abnormalInfo.setType(10);
|
|
|
+// abnormalInfo.setLinkId(qualityInfoId);
|
|
|
+// abnormalInfo.setTitle("质检存在不合格");
|
|
|
+// abnormalInfoService.save(abnormalInfo);
|
|
|
+// }
|
|
|
|
|
|
// 修改质检未完成状态
|
|
|
QualityInfo qualityInfo = new QualityInfo();
|
|
@@ -180,6 +204,9 @@ public class QualityDetailsServiceImpl extends ServiceImpl<QualityDetailsMapper,
|
|
|
stockService.updateBatchById(stockList);
|
|
|
|
|
|
updateBatchById(qualityDetailsList);
|
|
|
+
|
|
|
+ abnormalInfoService.saveBatch(abnormalInfoList);
|
|
|
+ qualityRecordsService.saveBatch(qualityRecordsList);
|
|
|
}
|
|
|
|
|
|
}
|