parent
5fd7f67f7c
commit
708814967e
@ -1,96 +1,159 @@
|
|||||||
package com.hw.mes.service.impl;
|
package com.hw.mes.service.impl;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
import java.util.Date;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
import com.hw.common.core.constant.MesConstants;
|
||||||
|
import com.hw.common.core.exception.ServiceException;
|
||||||
import com.hw.common.core.utils.DateUtils;
|
import com.hw.common.core.utils.DateUtils;
|
||||||
|
import com.hw.common.core.utils.StringUtils;
|
||||||
|
import com.hw.common.security.utils.SecurityUtils;
|
||||||
|
import com.hw.mes.domain.MesOrderBind;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import com.hw.mes.mapper.MesPurchaseOrderMapper;
|
import com.hw.mes.mapper.MesPurchaseOrderMapper;
|
||||||
import com.hw.mes.domain.MesPurchaseOrder;
|
import com.hw.mes.domain.MesPurchaseOrder;
|
||||||
import com.hw.mes.service.IMesPurchaseOrderService;
|
import com.hw.mes.service.IMesPurchaseOrderService;
|
||||||
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 采购订单信息Service业务层处理
|
* 采购订单信息Service业务层处理
|
||||||
*
|
*
|
||||||
* @author Yinq
|
* @author Yinq
|
||||||
* @date 2024-02-19
|
* @date 2024-02-19
|
||||||
*/
|
*/
|
||||||
@Service
|
@Service
|
||||||
public class MesPurchaseOrderServiceImpl implements IMesPurchaseOrderService
|
public class MesPurchaseOrderServiceImpl implements IMesPurchaseOrderService {
|
||||||
{
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private MesPurchaseOrderMapper mesPurchaseOrderMapper;
|
private MesPurchaseOrderMapper mesPurchaseOrderMapper;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询采购订单信息
|
* 查询采购订单信息
|
||||||
*
|
*
|
||||||
* @param purchaseOrderId 采购订单信息主键
|
* @param purchaseOrderId 采购订单信息主键
|
||||||
* @return 采购订单信息
|
* @return 采购订单信息
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public MesPurchaseOrder selectMesPurchaseOrderByPurchaseOrderId(Long purchaseOrderId)
|
public MesPurchaseOrder selectMesPurchaseOrderByPurchaseOrderId(Long purchaseOrderId) {
|
||||||
{
|
|
||||||
return mesPurchaseOrderMapper.selectMesPurchaseOrderByPurchaseOrderId(purchaseOrderId);
|
return mesPurchaseOrderMapper.selectMesPurchaseOrderByPurchaseOrderId(purchaseOrderId);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询采购订单信息列表
|
* 查询采购订单信息列表
|
||||||
*
|
*
|
||||||
* @param mesPurchaseOrder 采购订单信息
|
* @param mesPurchaseOrder 采购订单信息
|
||||||
* @return 采购订单信息
|
* @return 采购订单信息
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public List<MesPurchaseOrder> selectMesPurchaseOrderList(MesPurchaseOrder mesPurchaseOrder)
|
public List<MesPurchaseOrder> selectMesPurchaseOrderList(MesPurchaseOrder mesPurchaseOrder) {
|
||||||
{
|
|
||||||
return mesPurchaseOrderMapper.selectMesPurchaseOrderList(mesPurchaseOrder);
|
return mesPurchaseOrderMapper.selectMesPurchaseOrderList(mesPurchaseOrder);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 新增采购订单信息
|
* 新增采购订单信息
|
||||||
*
|
*
|
||||||
* @param mesPurchaseOrder 采购订单信息
|
* @param mesPurchaseOrder 采购订单信息
|
||||||
* @return 结果
|
* @return 结果
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public int insertMesPurchaseOrder(MesPurchaseOrder mesPurchaseOrder)
|
public int insertMesPurchaseOrder(MesPurchaseOrder mesPurchaseOrder) {
|
||||||
{
|
|
||||||
mesPurchaseOrder.setCreateTime(DateUtils.getNowDate());
|
mesPurchaseOrder.setCreateTime(DateUtils.getNowDate());
|
||||||
return mesPurchaseOrderMapper.insertMesPurchaseOrder(mesPurchaseOrder);
|
return mesPurchaseOrderMapper.insertMesPurchaseOrder(mesPurchaseOrder);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 修改采购订单信息
|
* 修改采购订单信息
|
||||||
*
|
*
|
||||||
* @param mesPurchaseOrder 采购订单信息
|
* @param mesPurchaseOrder 采购订单信息
|
||||||
* @return 结果
|
* @return 结果
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public int updateMesPurchaseOrder(MesPurchaseOrder mesPurchaseOrder)
|
public int updateMesPurchaseOrder(MesPurchaseOrder mesPurchaseOrder) {
|
||||||
{
|
|
||||||
mesPurchaseOrder.setUpdateTime(DateUtils.getNowDate());
|
mesPurchaseOrder.setUpdateTime(DateUtils.getNowDate());
|
||||||
return mesPurchaseOrderMapper.updateMesPurchaseOrder(mesPurchaseOrder);
|
return mesPurchaseOrderMapper.updateMesPurchaseOrder(mesPurchaseOrder);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 批量删除采购订单信息
|
* 批量删除采购订单信息
|
||||||
*
|
*
|
||||||
* @param purchaseOrderIds 需要删除的采购订单信息主键
|
* @param purchaseOrderIds 需要删除的采购订单信息主键
|
||||||
* @return 结果
|
* @return 结果
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public int deleteMesPurchaseOrderByPurchaseOrderIds(Long[] purchaseOrderIds)
|
public int deleteMesPurchaseOrderByPurchaseOrderIds(Long[] purchaseOrderIds) {
|
||||||
{
|
|
||||||
return mesPurchaseOrderMapper.deleteMesPurchaseOrderByPurchaseOrderIds(purchaseOrderIds);
|
return mesPurchaseOrderMapper.deleteMesPurchaseOrderByPurchaseOrderIds(purchaseOrderIds);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 删除采购订单信息信息
|
* 删除采购订单信息信息
|
||||||
*
|
*
|
||||||
* @param purchaseOrderId 采购订单信息主键
|
* @param purchaseOrderId 采购订单信息主键
|
||||||
* @return 结果
|
* @return 结果
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public int deleteMesPurchaseOrderByPurchaseOrderId(Long purchaseOrderId)
|
public int deleteMesPurchaseOrderByPurchaseOrderId(Long purchaseOrderId) {
|
||||||
{
|
|
||||||
return mesPurchaseOrderMapper.deleteMesPurchaseOrderByPurchaseOrderId(purchaseOrderId);
|
return mesPurchaseOrderMapper.deleteMesPurchaseOrderByPurchaseOrderId(purchaseOrderId);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 绑定采购订单信息
|
||||||
|
*
|
||||||
|
* @param mesPurchaseOrder 采购订单信息
|
||||||
|
* @return 结果
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
@Transactional
|
||||||
|
public int bindOrder(MesPurchaseOrder mesPurchaseOrder) {
|
||||||
|
mesPurchaseOrderMapper.deleteMesOrderBindByPurchaseOrderId(mesPurchaseOrder.getPurchaseOrderId());
|
||||||
|
|
||||||
|
Date currentDate = new Date();
|
||||||
|
String userName = SecurityUtils.getUsername();
|
||||||
|
Long purchaseOrderId = mesPurchaseOrder.getPurchaseOrderId();
|
||||||
|
Long erpMaterialId = mesPurchaseOrder.getMaterialId();
|
||||||
|
String materialCode = mesPurchaseOrder.getMaterialCode();
|
||||||
|
String materialName = mesPurchaseOrder.getMaterialName();
|
||||||
|
String poNo = mesPurchaseOrder.getPoNo();
|
||||||
|
BigDecimal orderAmount = mesPurchaseOrder.getOrderAmount();
|
||||||
|
List<MesOrderBind> orderBinds = mesPurchaseOrder.getMesOrderBindList();
|
||||||
|
BigDecimal totalBindAmount = BigDecimal.ZERO;
|
||||||
|
for (MesOrderBind orderBind : orderBinds) {
|
||||||
|
if (StringUtils.isEmpty(orderBind.getSafeFlag())) {
|
||||||
|
throw new ServiceException("请全部选择安全标识");
|
||||||
|
}
|
||||||
|
if (orderBind.getSafeFlag().equals(MesConstants.MES_ORDER_BIND_SAFE_FLAG_NO)
|
||||||
|
&& orderBind.getSaleOrderId() == null) {
|
||||||
|
throw new ServiceException("安全库存标识为否的请选择销售订单");
|
||||||
|
}
|
||||||
|
|
||||||
|
if (orderBind.getSafeFlag().equals(MesConstants.MES_ORDER_BIND_SAFE_FLAG_YES)
|
||||||
|
&& orderBind.getSaleOrderId() != null) {
|
||||||
|
throw new ServiceException("安全库存标识为是的不需要选择销售订单");
|
||||||
|
}
|
||||||
|
|
||||||
|
BigDecimal bindAmount = orderBind.getBindAmount() == null ?
|
||||||
|
BigDecimal.ZERO : orderBind.getBindAmount();
|
||||||
|
if (bindAmount.compareTo(BigDecimal.ZERO) <= 0) {
|
||||||
|
throw new ServiceException("绑定数量需大于0");
|
||||||
|
}
|
||||||
|
orderBind.setPurchaseOrderId(purchaseOrderId);
|
||||||
|
orderBind.setCreateTime(currentDate);
|
||||||
|
orderBind.setCreateBy(userName);
|
||||||
|
|
||||||
|
orderBind.setMaterialId(erpMaterialId);
|
||||||
|
orderBind.setMaterialCode(materialCode);
|
||||||
|
orderBind.setMaterialName(materialName);
|
||||||
|
orderBind.setPoNo(poNo);
|
||||||
|
|
||||||
|
totalBindAmount = totalBindAmount.add(bindAmount);
|
||||||
|
}
|
||||||
|
if (totalBindAmount.compareTo(orderAmount) > 0) {
|
||||||
|
throw new ServiceException("总绑定数量" + totalBindAmount + "不能大于订单计划数量" + orderAmount);
|
||||||
|
}
|
||||||
|
|
||||||
|
return mesPurchaseOrderMapper.batchMesOrderBind(orderBinds);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue