原材料条码采购新增和批量收料新增时判断采购订单是否为空
master
xs 3 months ago
parent 6cc320ed93
commit cd7cf3963a

@ -185,6 +185,9 @@ public class MesPurchaseOrderServiceImpl implements IMesPurchaseOrderService {
//校验此采购订单有没有合并过
MesSaleOrderRelate querySaleOrderRelate = new MesSaleOrderRelate();
if (purchaseOrderId == null) {
throw new ServiceException("采购订单不能为空");
}
querySaleOrderRelate.setPurchaseOrderId(purchaseOrderId);
List<MesSaleOrderRelate> mesSaleOrderRelates = mesSaleOrderRelateMapper.selectMesSaleOrderRelateList(querySaleOrderRelate);
if (mesSaleOrderRelates != null && !mesSaleOrderRelates.isEmpty()) {
@ -259,7 +262,7 @@ public class MesPurchaseOrderServiceImpl implements IMesPurchaseOrderService {
if (mesSaleOrderRelatesBySale != null && !mesSaleOrderRelatesBySale.isEmpty()) {
throw new ServiceException("选择的销售订单已经合并过,不能绑定");
}
}else{
} else {
if (orderBind.getSaleOrderId() != null) {
throw new ServiceException("安全库存标识为是的不需要选择销售订单");
}
@ -317,7 +320,7 @@ public class MesPurchaseOrderServiceImpl implements IMesPurchaseOrderService {
*/
@Override
public List<MesPurchaseOrder> unbindPurchaseOrderList(MesPurchaseOrder mesPurchaseOrder) {
if(StringUtils.isNotEmpty(mesPurchaseOrder.getBomFlag()) &&mesPurchaseOrder.getBomFlag().equals("0")){
if (StringUtils.isNotEmpty(mesPurchaseOrder.getBomFlag()) && mesPurchaseOrder.getBomFlag().equals("0")) {
mesPurchaseOrder.setMaterialBomId(null);
}
return mesPurchaseOrderMapper.unbindPurchaseOrderList(mesPurchaseOrder);
@ -361,15 +364,15 @@ public class MesPurchaseOrderServiceImpl implements IMesPurchaseOrderService {
MesPurchaseOrder dbMesPurchaseOrder = mesPurchaseOrderMapper.
unbindPurchaseOrderListByPurchaseAndSaleOrderId(purchaseOrderId, mesSaleOrder.getSaleOrderId());
if (!mesPurchaseOrder.equals(dbMesPurchaseOrder)) {
throw new ServiceException("序号: " + mesPurchaseOrder.getSerialNumber() +",数据有变化,请重新更新");
throw new ServiceException("序号: " + mesPurchaseOrder.getSerialNumber() + ",数据有变化,请重新更新");
}
if (dbMesPurchaseOrder.getOrderStatus().equals(MesConstants.MES_PURCHASE_ORDER_STATUS_PURCHASE_COMPLETE)) {
throw new ServiceException("序号: " + mesPurchaseOrder.getSerialNumber() +",此采购订单已经采购完成,无需再绑定");
throw new ServiceException("序号: " + mesPurchaseOrder.getSerialNumber() + ",此采购订单已经采购完成,无需再绑定");
}
if (dbMesPurchaseOrder.getOrderStatus().equals(MesConstants.MES_PURCHASE_ORDER_STATUS_AUTO_OUTSTOCK_COMPLETE)) {
throw new ServiceException("序号: " + mesPurchaseOrder.getSerialNumber() +",此采购订单已经自动出库完成,无需再绑定");
throw new ServiceException("序号: " + mesPurchaseOrder.getSerialNumber() + ",此采购订单已经自动出库完成,无需再绑定");
}
@ -439,12 +442,12 @@ public class MesPurchaseOrderServiceImpl implements IMesPurchaseOrderService {
mesOrderBindMapper.insertMesOrderBind(orderBind);
} else {
MesOrderBind bind = bindList.get(0);
if(purchaseOrder.getUpdateAmount().compareTo(BigDecimal.ZERO)>0){
if (purchaseOrder.getUpdateAmount().compareTo(BigDecimal.ZERO) > 0) {
bind.setBindAmount(purchaseOrder.getUpdateAmount());
bind.setUpdateBy(SecurityUtils.getLoginUser() == null ? SecurityUtils.getUsername() : SecurityUtils.getLoginUser().getNickname());
bind.setUpdateTime(DateUtils.getNowDate());
mesOrderBindMapper.updateMesOrderBind(bind);
}else{
} else {
mesOrderBindMapper.deleteMesOrderBindByOrderBindId(bind.getOrderBindId());
}
@ -538,8 +541,6 @@ public class MesPurchaseOrderServiceImpl implements IMesPurchaseOrderService {
}
//查询采购订单 采购订单号不在原材料入库记录中当前日期入库的并且同一物料的采购订单,并且采购订单是采购入库完成的。
List<MesPurchaseOrder> mesPurchaseOrderList = mesPurchaseOrderMapper.selectNotRawInstockPurchaseOrderList(dateStr);
List<MesPurchaseOrder> autoStockPurchaseOrderList = new ArrayList<>();
@ -611,7 +612,6 @@ public class MesPurchaseOrderServiceImpl implements IMesPurchaseOrderService {
}
/**
* join material
*
@ -625,26 +625,25 @@ public class MesPurchaseOrderServiceImpl implements IMesPurchaseOrderService {
}
/**
*
*
*/
@Override
public void purchaseOrderOverTimeAlarm(){
public void purchaseOrderOverTimeAlarm() {
// 订单状态(1待采购2采购中3采购完成4自动出库完成)
MesPurchaseOrder queryPurchaseOrder = new MesPurchaseOrder();
queryPurchaseOrder.setPurchaseOrderClassfication(MesConstants.MES_PURCHASE_ORDER_CLASSFICATION_ERP);
queryPurchaseOrder.setOrderStatusStr(MesConstants.MES_PURCHASE_ORDER_STATUS_TOPURCHASE+","+MesConstants.MES_PURCHASE_ORDER_STATUS_PURCHASEING);
queryPurchaseOrder.setOrderStatusStr(MesConstants.MES_PURCHASE_ORDER_STATUS_TOPURCHASE + "," + MesConstants.MES_PURCHASE_ORDER_STATUS_PURCHASEING);
List<MesPurchaseOrder> purchaseOrderList = mesPurchaseOrderMapper.selectMesPurchaseOrderList(queryPurchaseOrder);
Date currentDate = new Date();
List<MesPurchaseOrder> overTimePurchaseOrderList = purchaseOrderList.stream()
.filter(mpo -> mpo.getPlanDeliveryDate()!=null && mpo.getPlanDeliveryDate().getTime() <= currentDate.getTime()).collect(Collectors.toList());
if(overTimePurchaseOrderList!=null && !overTimePurchaseOrderList.isEmpty()){
.filter(mpo -> mpo.getPlanDeliveryDate() != null && mpo.getPlanDeliveryDate().getTime() <= currentDate.getTime()).collect(Collectors.toList());
if (overTimePurchaseOrderList != null && !overTimePurchaseOrderList.isEmpty()) {
// String nickName = SecurityUtils.getLoginUser().getNickname();
// for(MesProductOrder mesProductOrder:overTimeProductOrderList){
List<SysPointRouter> sysPointRouterList = new ArrayList<>();
SysPointRouter sysPointRouter = getSysPointRouter(null, currentDate);
SysPointRouter sysPointRouter = getSysPointRouter(null, currentDate);
sysPointRouterList.add(sysPointRouter);
remoteSysCommonService.insertSysPointRouterPort(sysPointRouterList, SecurityConstants.INNER);
// }
@ -655,6 +654,7 @@ public class MesPurchaseOrderServiceImpl implements IMesPurchaseOrderService {
/**
* ,Join order_bind
*
* @param mesPurchaseOrder
* @return
*/
@ -670,7 +670,7 @@ public class MesPurchaseOrderServiceImpl implements IMesPurchaseOrderService {
sysPointRouter.setPointType(SystemConstants.SYS_ROUTER_POINT_TYPE_ALARM);
sysPointRouter.setRouterAddress("/mes/plan/purchaseOrder");
sysPointRouter.setProcessActivityId(SystemConstants.PROCESS_ACTIVITY_ID_PURCHASEORDER_OVERTIME);
if(purchaseOrderId!=null){
if (purchaseOrderId != null) {
JSONObject routerAddressDetailJson = new JSONObject();
routerAddressDetailJson.put("purchaseOrderId", purchaseOrderId);
sysPointRouter.setRouterAddressDetail(routerAddressDetailJson.toString());

Loading…
Cancel
Save