|
|
|
@ -4,6 +4,7 @@ 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.exception.ServiceException;
|
|
|
|
|
import org.dromara.common.core.utils.MapstructUtils;
|
|
|
|
|
import org.dromara.common.core.utils.StringUtils;
|
|
|
|
|
import org.dromara.common.mybatis.core.page.PageQuery;
|
|
|
|
@ -12,7 +13,9 @@ import org.dromara.common.satoken.utils.LoginHelper;
|
|
|
|
|
import org.dromara.wms.domain.BaseMaterialCategory;
|
|
|
|
|
import org.dromara.wms.domain.BaseSupplierInfo;
|
|
|
|
|
import org.dromara.wms.domain.WmsPurchaseOrder;
|
|
|
|
|
import org.dromara.wms.domain.WmsPurchaseOrderDetail;
|
|
|
|
|
import org.dromara.wms.domain.bo.WmsPurchaseOrderBo;
|
|
|
|
|
import org.dromara.wms.domain.bo.WmsPurchaseOrderDetailBo;
|
|
|
|
|
import org.dromara.wms.domain.vo.WmsPurchaseOrderVo;
|
|
|
|
|
import org.dromara.wms.mapper.BaseMaterialInfoMapper;
|
|
|
|
|
import org.dromara.wms.mapper.WmsPurchaseOrderMapper;
|
|
|
|
@ -20,6 +23,7 @@ import org.dromara.wms.service.IWmsPurchaseOrderDetailService;
|
|
|
|
|
import org.dromara.wms.service.IWmsPurchaseOrderService;
|
|
|
|
|
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.Collection;
|
|
|
|
@ -120,22 +124,9 @@ public class WmsPurchaseOrderServiceImpl implements IWmsPurchaseOrderService {
|
|
|
|
|
@Override
|
|
|
|
|
public WmsPurchaseOrder insertByBo(WmsPurchaseOrderBo bo) {
|
|
|
|
|
String username = LoginHelper.getUsername();
|
|
|
|
|
Date date = new Date();
|
|
|
|
|
SimpleDateFormat format = new SimpleDateFormat("yyyyMMddHHssmm");
|
|
|
|
|
String orderDate = format.format(date);
|
|
|
|
|
String order = "PUR";
|
|
|
|
|
String orderLast="";
|
|
|
|
|
Integer value = nextSequence();
|
|
|
|
|
if (value.toString().length()==4){
|
|
|
|
|
sequence.set(1);
|
|
|
|
|
orderLast = generateOrder(sequence.get());
|
|
|
|
|
}else {
|
|
|
|
|
orderLast = generateOrder(value);
|
|
|
|
|
}
|
|
|
|
|
String purOrder = order + orderDate + orderLast;
|
|
|
|
|
WmsPurchaseOrder add = MapstructUtils.convert(bo, WmsPurchaseOrder.class);
|
|
|
|
|
validEntityBeforeSave(add);
|
|
|
|
|
add.setPoNo(purOrder);
|
|
|
|
|
add.setPoNo(this.getPurOrder());
|
|
|
|
|
add.setCreateBy(username);
|
|
|
|
|
boolean flag = baseMapper.insert(add) > 0;
|
|
|
|
|
if (flag) {
|
|
|
|
@ -153,6 +144,27 @@ public class WmsPurchaseOrderServiceImpl implements IWmsPurchaseOrderService {
|
|
|
|
|
return value.toString();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 获取采购编号
|
|
|
|
|
* @return
|
|
|
|
|
*/
|
|
|
|
|
public String getPurOrder(){
|
|
|
|
|
Date date = new Date();
|
|
|
|
|
SimpleDateFormat format = new SimpleDateFormat("yyyyMMddHHssmm");
|
|
|
|
|
String orderDate = format.format(date);
|
|
|
|
|
String order = "PUR";
|
|
|
|
|
String orderLast="";
|
|
|
|
|
Integer value = nextSequence();
|
|
|
|
|
if (value.toString().length()==4){
|
|
|
|
|
sequence.set(1);
|
|
|
|
|
orderLast = generateOrder(sequence.get());
|
|
|
|
|
}else {
|
|
|
|
|
orderLast = generateOrder(value);
|
|
|
|
|
}
|
|
|
|
|
String purOrder = order + orderDate + orderLast;
|
|
|
|
|
return purOrder;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 修改采购订单
|
|
|
|
|
*
|
|
|
|
@ -189,4 +201,30 @@ public class WmsPurchaseOrderServiceImpl implements IWmsPurchaseOrderService {
|
|
|
|
|
}
|
|
|
|
|
return baseMapper.deleteByIds(ids) > 0;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* ERP同步新增采购订单
|
|
|
|
|
* @param bos
|
|
|
|
|
* @return
|
|
|
|
|
*/
|
|
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
|
|
@Override
|
|
|
|
|
public Boolean erpSyncPurchaseOrder(List<WmsPurchaseOrderBo> bos) {
|
|
|
|
|
for (WmsPurchaseOrderBo bo : bos) {
|
|
|
|
|
bo.setPoNo(this.getPurOrder());
|
|
|
|
|
bo.setPoStatus("1");
|
|
|
|
|
bo.setPoType("2");
|
|
|
|
|
List<WmsPurchaseOrderDetailBo> purchaseOrderDetailBoList = bo.getPurchaseOrderDetailBoList();
|
|
|
|
|
if (purchaseOrderDetailBoList.isEmpty()) {
|
|
|
|
|
throw new ServiceException("此采购订单无物料!");
|
|
|
|
|
}
|
|
|
|
|
for (WmsPurchaseOrderDetailBo detailBo : purchaseOrderDetailBoList) {
|
|
|
|
|
detailBo.setPoNo(bo.getPoNo());
|
|
|
|
|
}
|
|
|
|
|
wmsPurchaseOrderDetailService.insertByBo(purchaseOrderDetailBoList);
|
|
|
|
|
}
|
|
|
|
|
return null;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|