update 添加ERP同步新增采购订单

master
yinq 5 days ago
parent 86822599dc
commit 761c3aa057

@ -115,4 +115,16 @@ public class WmsPurchaseOrderController extends BaseController {
return R.ok(list);
}
/**
* ERP
* @param bos
* @return
*/
@RepeatSubmit()
@PostMapping("erpSyncPurchaseOrder")
public R<Boolean> erpSyncPurchaseOrder(@RequestBody List<WmsPurchaseOrderBo> bos) {
return R.ok(wmsPurchaseOrderService.erpSyncPurchaseOrder(bos));
}
}

@ -10,7 +10,9 @@ import lombok.Data;
import lombok.EqualsAndHashCode;
import jakarta.validation.constraints.*;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import java.util.List;
import org.dromara.wms.domain.WmsPurchaseOrderDetail;
/**
* wms_purchase_order
@ -90,5 +92,10 @@ public class WmsPurchaseOrderBo extends BaseEntity {
*/
private String auditComments;
/**
*
*/
private List<WmsPurchaseOrderDetailBo> purchaseOrderDetailBoList;
}

@ -66,4 +66,12 @@ public interface IWmsPurchaseOrderService {
* @return
*/
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
/**
* ERP
* @param bos
* @return
*/
Boolean erpSyncPurchaseOrder(List<WmsPurchaseOrderBo> bos);
}

@ -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;
}
}

Loading…
Cancel
Save