|
@@ -30,6 +30,7 @@ import com.fjhx.wms.service.arrival.ArrivalStockRecordsDetailsService;
|
|
|
import com.fjhx.wms.service.arrival.ArrivalStockRecordsService;
|
|
|
import com.fjhx.wms.service.stock.*;
|
|
|
import com.fjhx.wms.service.warehouse.WarehouseService;
|
|
|
+import com.ruoyi.common.core.domain.BasePo;
|
|
|
import com.ruoyi.common.exception.ServiceException;
|
|
|
import com.ruoyi.common.utils.SecurityUtils;
|
|
|
import com.ruoyi.common.utils.wrapper.IWrapper;
|
|
@@ -39,10 +40,7 @@ import org.springframework.stereotype.Service;
|
|
|
|
|
|
import javax.servlet.http.HttpServletResponse;
|
|
|
import java.math.BigDecimal;
|
|
|
-import java.util.ArrayList;
|
|
|
-import java.util.List;
|
|
|
-import java.util.Map;
|
|
|
-import java.util.Objects;
|
|
|
+import java.util.*;
|
|
|
import java.util.function.Function;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
@@ -343,21 +341,39 @@ public class StockJournalDetailsServiceImpl extends ServiceImpl<StockJournalDeta
|
|
|
ArrivalStockRecordsDetails arrivalStockRecordsDetails = arrivalStockRecordsDetailsService.getOne(q -> q
|
|
|
.eq(ArrivalStockRecordsDetails::getBusinessDetailsId, stockWaitDetailsId)
|
|
|
);
|
|
|
- ArrivalStockRecords arrivalStockRecords = arrivalStockRecordsService.getById(arrivalStockRecordsDetails.getArrivalStockRecordsId());
|
|
|
- if (arrivalStockRecordsDetails.getQuantity().compareTo(arrivalStockRecordsDetails.getQualityQuantity()) <= 0) {
|
|
|
- //完全质检
|
|
|
- arrivalStockRecords.setQualityStatus(2);
|
|
|
- } else {
|
|
|
- //部分质检
|
|
|
- arrivalStockRecords.setQualityStatus(1);
|
|
|
- }
|
|
|
- arrivalStockRecordsService.updateById(arrivalStockRecords);
|
|
|
+ updateArrivalStockRecordsStatus(arrivalStockRecordsDetails.getArrivalStockRecordsId());
|
|
|
|
|
|
|
|
|
stockJournalDetails.setQuantity(dto.getQuantity());
|
|
|
this.updateById(stockJournalDetails);
|
|
|
}
|
|
|
|
|
|
+ private void updateArrivalStockRecordsStatus(Long arrivalStockRecordsId) {
|
|
|
+ //更新待出库记录状态
|
|
|
+ int statusFlag = 0;
|
|
|
+ List<ArrivalStockRecordsDetails> arrivalStockRecordsDetails = arrivalStockRecordsDetailsService.list(q -> q.eq(ArrivalStockRecordsDetails::getArrivalStockRecordsId, arrivalStockRecordsId));
|
|
|
+ for (ArrivalStockRecordsDetails stockRecordsDetails : arrivalStockRecordsDetails) {
|
|
|
+ //计算已经完全质检的数量
|
|
|
+ BigDecimal qualityQuantity1 = ObjectUtil.isEmpty(stockRecordsDetails.getQualityQuantity()) ? BigDecimal.ZERO : stockRecordsDetails.getQualityQuantity();
|
|
|
+ if (qualityQuantity1.compareTo(stockRecordsDetails.getQuantity()) >= 0) {
|
|
|
+ statusFlag++;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ Integer qualityStatus;
|
|
|
+ if (statusFlag == arrivalStockRecordsDetails.size()) {
|
|
|
+ qualityStatus = 2;//质检完成
|
|
|
+ } else {
|
|
|
+ qualityStatus = 1;//部分质检
|
|
|
+ }
|
|
|
+ arrivalStockRecordsService.update(q -> q
|
|
|
+ .eq(ArrivalStockRecords::getId, arrivalStockRecordsId)
|
|
|
+ .set(ArrivalStockRecords::getQualityStatus, qualityStatus)
|
|
|
+ .set(BasePo::getUpdateUser, SecurityUtils.getUserId())
|
|
|
+ .set(BasePo::getUpdateTime, new Date())
|
|
|
+ );
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
/**
|
|
|
* 出入库流水Excel导出
|
|
|
*/
|