@ -3,12 +3,18 @@ package com.win.module.wms.service.purchasereceiptRecord;
import com.win.framework.common.pojo.CustomConditions ;
import com.win.framework.common.pojo.PageResult ;
import com.win.module.wms.controller.purchasereceiptRecord.vo.PurchasereceiptRecordDetailPageReqVO ;
import com.win.module.wms.dal.dataobject.balance.BalanceDO ;
import com.win.module.wms.dal.dataobject.businesstype.BusinesstypeDO ;
import com.win.module.wms.dal.dataobject.purchasereceiptRecord.PurchasereceiptRecordDetailDO ;
import com.win.module.wms.dal.mysql.balance.BalanceMapper ;
import com.win.module.wms.dal.mysql.purchasereceiptRecord.PurchasereceiptRecordDetailMapper ;
import com.win.module.wms.util.JobUtils ;
import org.springframework.stereotype.Service ;
import org.springframework.validation.annotation.Validated ;
import javax.annotation.Resource ;
import java.util.ArrayList ;
import java.util.Arrays ;
import java.util.List ;
/ * *
@ -22,6 +28,10 @@ public class PurchasereceiptRecordDetailServiceImpl implements PurchasereceiptRe
@Resource
private PurchasereceiptRecordDetailMapper purchasereceiptRecordDetailMapper ;
@Resource
private BalanceMapper balanceMapper ;
@Resource
private JobUtils jobUtils ;
@Override
public PageResult < PurchasereceiptRecordDetailDO > getPurchasereceiptRecordDetailSenior ( CustomConditions conditions ) {
@ -35,7 +45,23 @@ public class PurchasereceiptRecordDetailServiceImpl implements PurchasereceiptRe
@Override
public List < PurchasereceiptRecordDetailDO > selectList ( Long masterId ) {
return purchasereceiptRecordDetailMapper . selectList ( masterId ) ;
//查询from_locating_code
List < PurchasereceiptRecordDetailDO > purchasereceiptRecordDetailDOList = purchasereceiptRecordDetailMapper . selectList ( masterId ) ;
List < PurchasereceiptRecordDetailDO > resultList = new ArrayList < > ( ) ;
for ( PurchasereceiptRecordDetailDO purchasereceiptRecordDetailDO : purchasereceiptRecordDetailDOList ) {
BusinesstypeDO businesstypeDO = jobUtils . selectDocumentSettingFromBusinessType ( "PurchaseReturnRequest" ) ;
List < String > inventoryStatusList = Arrays . asList ( businesstypeDO . getOutInventoryStatuses ( ) . split ( "," ) ) ;
List < String > locationTypeList = Arrays . asList ( businesstypeDO . getOutLocationTypes ( ) . split ( "," ) ) ;
List < BalanceDO > balanceDOList = balanceMapper . getBalanceListByLocationTypes ( purchasereceiptRecordDetailDO . getToPackingNumber ( ) , purchasereceiptRecordDetailDO . getItemCode ( ) , purchasereceiptRecordDetailDO . getToBatch ( ) , inventoryStatusList , locationTypeList ) ;
if ( balanceDOList . isEmpty ( ) ) {
continue ;
}
BalanceDO balanceDO = balanceDOList . get ( 0 ) ;
purchasereceiptRecordDetailDO . setFromLocationCode ( balanceDO . getLocationCode ( ) ) ;
purchasereceiptRecordDetailDO . setInventoryStatus ( balanceDO . getInventoryStatus ( ) ) ;
resultList . add ( purchasereceiptRecordDetailDO ) ;
}
return resultList ;
}
}