|
|
|
|
@ -4,15 +4,21 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
|
|
import com.github.yulichang.toolkit.JoinWrappers;
|
|
|
|
|
import com.github.yulichang.wrapper.MPJLambdaWrapper;
|
|
|
|
|
import lombok.RequiredArgsConstructor;
|
|
|
|
|
import org.dromara.common.core.utils.DateUtils;
|
|
|
|
|
import org.dromara.common.core.utils.MapstructUtils;
|
|
|
|
|
import org.dromara.common.core.utils.StringUtils;
|
|
|
|
|
import org.dromara.common.mybatis.core.page.PageQuery;
|
|
|
|
|
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
|
|
|
|
import org.dromara.common.satoken.utils.LoginHelper;
|
|
|
|
|
import org.dromara.wms.domain.WmsBaseProduct;
|
|
|
|
|
import org.dromara.wms.domain.WmsInventoryDetails;
|
|
|
|
|
import org.dromara.wms.domain.WmsInventoryLedger;
|
|
|
|
|
import org.dromara.wms.domain.WmsSampleDisposalRecord;
|
|
|
|
|
import org.dromara.wms.domain.bo.WmsSampleDisposalRecordBo;
|
|
|
|
|
import org.dromara.wms.domain.vo.WmsSampleDisposalRecordVo;
|
|
|
|
|
import org.dromara.wms.mapper.WmsInventoryLedgerMapper;
|
|
|
|
|
import org.dromara.wms.mapper.WmsSampleDisposalRecordMapper;
|
|
|
|
|
import org.dromara.wms.service.IWmsInventoryDetailsService;
|
|
|
|
|
import org.dromara.wms.service.IWmsSampleDisposalRecordService;
|
|
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
|
|
|
|
@ -31,6 +37,8 @@ import java.util.Map;
|
|
|
|
|
public class WmsSampleDisposalRecordServiceImpl implements IWmsSampleDisposalRecordService {
|
|
|
|
|
|
|
|
|
|
private final WmsSampleDisposalRecordMapper baseMapper;
|
|
|
|
|
private final IWmsInventoryDetailsService inventoryDetailsService;
|
|
|
|
|
private final WmsInventoryLedgerMapper wmsInventoryLedgerMapper;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 查询样品处置记录
|
|
|
|
|
@ -91,10 +99,34 @@ public class WmsSampleDisposalRecordServiceImpl implements IWmsSampleDisposalRec
|
|
|
|
|
@Override
|
|
|
|
|
public Boolean insertByBo(WmsSampleDisposalRecordBo bo) {
|
|
|
|
|
WmsSampleDisposalRecord add = MapstructUtils.convert(bo, WmsSampleDisposalRecord.class);
|
|
|
|
|
validEntityBeforeSave(add);
|
|
|
|
|
boolean flag = baseMapper.insert(add) > 0;
|
|
|
|
|
if (flag) {
|
|
|
|
|
bo.setSampleRecordId(add.getSampleRecordId());
|
|
|
|
|
// bo.setSampleRecordId(add.getSampleRecordId());
|
|
|
|
|
if (add.getDisposalType().equals("0")) {
|
|
|
|
|
WmsInventoryDetails inventoryDetails = inventoryDetailsService.selectDetailsById(bo.getInventoryDetailsId());
|
|
|
|
|
Double inventoryAmount = 0.0;
|
|
|
|
|
if (inventoryDetails != null) {//不直接操作数据库的情况下都有库存详情
|
|
|
|
|
inventoryAmount = inventoryDetails.getInventoryAmount();
|
|
|
|
|
inventoryDetails.setInventoryAmount(inventoryAmount + bo.getDisposalQty());
|
|
|
|
|
inventoryDetails.setUpdateBy(LoginHelper.getUserId());
|
|
|
|
|
inventoryDetails.setUpdateTime(DateUtils.getNowDate());
|
|
|
|
|
inventoryDetailsService.workAddUpdateInventory(inventoryDetails);
|
|
|
|
|
}else {
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//库存变动
|
|
|
|
|
WmsInventoryLedger wmsInventoryLedger = new WmsInventoryLedger();
|
|
|
|
|
wmsInventoryLedger.setWarehouseId(bo.getWarehouseId());
|
|
|
|
|
wmsInventoryLedger.setBatchNumber(bo.getBatchNumber());
|
|
|
|
|
wmsInventoryLedger.setMaterielId(bo.getMaterielId());
|
|
|
|
|
wmsInventoryLedger.setChangeType("5");//变动类型
|
|
|
|
|
wmsInventoryLedger.setLedgerState("1");
|
|
|
|
|
wmsInventoryLedger.setChangeAmount(bo.getDisposalQty());
|
|
|
|
|
wmsInventoryLedger.setInventoryAmount(inventoryAmount);
|
|
|
|
|
wmsInventoryLedgerMapper.insert(wmsInventoryLedger);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
return flag;
|
|
|
|
|
}
|
|
|
|
|
@ -108,16 +140,9 @@ public class WmsSampleDisposalRecordServiceImpl implements IWmsSampleDisposalRec
|
|
|
|
|
@Override
|
|
|
|
|
public Boolean updateByBo(WmsSampleDisposalRecordBo bo) {
|
|
|
|
|
WmsSampleDisposalRecord update = MapstructUtils.convert(bo, WmsSampleDisposalRecord.class);
|
|
|
|
|
validEntityBeforeSave(update);
|
|
|
|
|
return baseMapper.updateById(update) > 0;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 保存前的数据校验
|
|
|
|
|
*/
|
|
|
|
|
private void validEntityBeforeSave(WmsSampleDisposalRecord entity) {
|
|
|
|
|
//TODO 做一些数据校验,如唯一约束
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 校验并批量删除样品处置记录信息
|
|
|
|
|
@ -128,9 +153,7 @@ public class WmsSampleDisposalRecordServiceImpl implements IWmsSampleDisposalRec
|
|
|
|
|
*/
|
|
|
|
|
@Override
|
|
|
|
|
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
|
|
|
|
|
if (isValid) {
|
|
|
|
|
//TODO 做一些业务上的校验,判断是否需要校验
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return baseMapper.deleteByIds(ids) > 0;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|