|
|
|
@ -1,8 +1,10 @@
|
|
|
|
|
package org.dromara.wms.service.impl;
|
|
|
|
|
|
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
|
|
|
|
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
|
|
|
|
|
import com.github.yulichang.toolkit.JoinWrappers;
|
|
|
|
|
import com.github.yulichang.wrapper.MPJLambdaWrapper;
|
|
|
|
|
import org.checkerframework.checker.units.qual.A;
|
|
|
|
|
import org.dromara.common.core.utils.MapstructUtils;
|
|
|
|
|
import org.dromara.common.core.utils.StringUtils;
|
|
|
|
|
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
|
|
|
@ -19,8 +21,12 @@ import org.dromara.wms.domain.bo.WmsConfigurationBo;
|
|
|
|
|
import org.dromara.wms.domain.bo.WmsInstockOrderBo;
|
|
|
|
|
import org.dromara.wms.domain.vo.WmsInstockOrderVo;
|
|
|
|
|
import org.dromara.wms.mapper.WmsInstockOrderMapper;
|
|
|
|
|
import org.dromara.wms.service.IWmsConfigurationService;
|
|
|
|
|
import org.dromara.wms.service.IWmsInstockDetailService;
|
|
|
|
|
import org.dromara.wms.service.IWmsInstockOrderService;
|
|
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
|
|
|
|
import java.text.SimpleDateFormat;
|
|
|
|
|
import java.util.Date;
|
|
|
|
@ -40,7 +46,11 @@ import java.util.concurrent.atomic.AtomicLong;
|
|
|
|
|
@Service
|
|
|
|
|
public class WmsInstockOrderServiceImpl implements IWmsInstockOrderService {
|
|
|
|
|
private static final AtomicInteger sequence = new AtomicInteger(999);
|
|
|
|
|
private static final String auditPass = "1";
|
|
|
|
|
private final WmsInstockOrderMapper baseMapper;
|
|
|
|
|
@Autowired
|
|
|
|
|
private IWmsInstockDetailService wmsInstockDetailService;
|
|
|
|
|
|
|
|
|
|
public static Integer nextSequence() {
|
|
|
|
|
return sequence.incrementAndGet();
|
|
|
|
|
}
|
|
|
|
@ -134,7 +144,7 @@ public class WmsInstockOrderServiceImpl implements IWmsInstockOrderService {
|
|
|
|
|
public WmsInstockOrderVo insertByBo(WmsInstockOrderBo bo) {
|
|
|
|
|
String username = LoginHelper.getUsername();
|
|
|
|
|
Date date = new Date();
|
|
|
|
|
SimpleDateFormat format = new SimpleDateFormat("yyyyMMddHHssmm");
|
|
|
|
|
SimpleDateFormat format = new SimpleDateFormat("yyyyMMdd");
|
|
|
|
|
String orderDate = format.format(date);
|
|
|
|
|
String order = "IN";
|
|
|
|
|
String orderLast="";
|
|
|
|
@ -147,6 +157,14 @@ public class WmsInstockOrderServiceImpl implements IWmsInstockOrderService {
|
|
|
|
|
}
|
|
|
|
|
String inStockOrder = order + orderDate + orderLast;
|
|
|
|
|
WmsInstockOrder add = MapstructUtils.convert(bo, WmsInstockOrder.class);
|
|
|
|
|
List<WmsConfiguration> unAuditConfigurationList = baseMapper.selectUnAuditByConfiguration(bo.getWarehouseId());
|
|
|
|
|
if (CollectionUtils.isNotEmpty(unAuditConfigurationList)){
|
|
|
|
|
add.setAuditStatus(auditPass);
|
|
|
|
|
}
|
|
|
|
|
List<WmsConfiguration> configurationList = baseMapper.selectAuditByConfiguration(bo.getWarehouseId());
|
|
|
|
|
if (CollectionUtils.isNotEmpty(configurationList)){
|
|
|
|
|
add.setAuditBy(configurationList.get(0).getAuditBy());
|
|
|
|
|
}
|
|
|
|
|
validEntityBeforeSave(add);
|
|
|
|
|
add.setInstockCode(inStockOrder);
|
|
|
|
|
add.setCreateBy(username);
|
|
|
|
@ -194,6 +212,20 @@ public class WmsInstockOrderServiceImpl implements IWmsInstockOrderService {
|
|
|
|
|
//TODO 做一些数据校验,如唯一约束
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public Integer approveInstockOrder(WmsInstockOrderBo bo) {
|
|
|
|
|
String username = LoginHelper.getUsername();
|
|
|
|
|
if (!username.equals(bo.getAuditBy())){
|
|
|
|
|
return 0;
|
|
|
|
|
}
|
|
|
|
|
WmsInstockOrder update = MapstructUtils.convert(bo, WmsInstockOrder.class);
|
|
|
|
|
validEntityBeforeSave(update);
|
|
|
|
|
update.setUpdateBy(username);
|
|
|
|
|
update.setAuditTime(new Date());
|
|
|
|
|
int rows = baseMapper.updateInstock(update);
|
|
|
|
|
return rows;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 校验并批量删除入库单信息
|
|
|
|
|
*
|
|
|
|
@ -202,12 +234,15 @@ public class WmsInstockOrderServiceImpl implements IWmsInstockOrderService {
|
|
|
|
|
* @return 是否删除成功
|
|
|
|
|
*/
|
|
|
|
|
@Override
|
|
|
|
|
@Transactional
|
|
|
|
|
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
|
|
|
|
|
if(isValid){
|
|
|
|
|
//TODO 做一些业务上的校验,判断是否需要校验
|
|
|
|
|
}
|
|
|
|
|
LambdaUpdateWrapper<WmsInstockOrder> wrapper = new LambdaUpdateWrapper<>();
|
|
|
|
|
wrapper.in(WmsInstockOrder::getInstockId,ids);
|
|
|
|
|
return baseMapper.delete(wrapper)>0;
|
|
|
|
|
int delete = baseMapper.delete(wrapper);
|
|
|
|
|
int count = wmsInstockDetailService.deleteByInstockId(ids);
|
|
|
|
|
return delete>0;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|