|
|
|
@ -4,6 +4,7 @@ import com.alibaba.fastjson2.JSONArray;
|
|
|
|
|
import com.baomidou.dynamic.datasource.annotation.DS;
|
|
|
|
|
import com.op.common.core.context.SecurityContextHolder;
|
|
|
|
|
import com.op.common.core.domain.R;
|
|
|
|
|
import com.op.common.core.exception.ServiceException;
|
|
|
|
|
import com.op.common.core.utils.DateUtils;
|
|
|
|
|
import com.op.common.core.utils.bean.BeanUtils;
|
|
|
|
|
import com.op.common.core.utils.uuid.IdUtils;
|
|
|
|
@ -801,6 +802,58 @@ public class ProOrderWorkorderServiceImpl implements IProOrderWorkorderService {
|
|
|
|
|
return success(reversalWorkOrderList);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 删除白坯工单
|
|
|
|
|
* @param whiteWorkOrder
|
|
|
|
|
*/
|
|
|
|
|
@Override
|
|
|
|
|
@DS("#header.poolName")
|
|
|
|
|
@Transactional
|
|
|
|
|
public void deleteWhiteWorkorderByWorkOrder(List<ProOrderWorkorder> whiteWorkOrder) {
|
|
|
|
|
// 检验-湿料计划下发不允许删除
|
|
|
|
|
for (ProOrderWorkorder data : whiteWorkOrder) {
|
|
|
|
|
ProWetMaterialPlan plan = proWetMaterialPlanMapper.selectProWetMaterialPlanByWorkId(data.getWorkorderId());
|
|
|
|
|
if (plan != null) {
|
|
|
|
|
if (plan.getSyncFlag().equals("Y")) {
|
|
|
|
|
throw new ServiceException("工单下湿料计划已下发,不允许删除!");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 删除逻辑
|
|
|
|
|
for (ProOrderWorkorder data : whiteWorkOrder) {
|
|
|
|
|
// 删除工单
|
|
|
|
|
proOrderWorkorderMapper.deleteProOrderWorkorderByWorkorderId(data.getWorkorderId());
|
|
|
|
|
// 获得对应订单和母订单
|
|
|
|
|
ProOrder childOrder = proOrderMapper.selectProOrderByOrderCode(data.getOrderCode());
|
|
|
|
|
ProOrder parentOrder = proOrderMapper.selectProOrderByOrderCode(childOrder.getParentOrder());
|
|
|
|
|
// 处理订单信息
|
|
|
|
|
childOrder.setQuantitySplit(childOrder.getQuantitySplit()-data.getQuantitySplit());
|
|
|
|
|
childOrder.setQuantity(childOrder.getQuantity()-data.getQuantitySplit());
|
|
|
|
|
childOrder.setUpdateBy(SecurityContextHolder.getUserName());
|
|
|
|
|
childOrder.setUpdateTime(DateUtils.getNowDate());
|
|
|
|
|
|
|
|
|
|
parentOrder.setQuantity(parentOrder.getQuantity()-data.getQuantitySplit());
|
|
|
|
|
parentOrder.setQuantitySplit(parentOrder.getQuantitySplit()-data.getQuantitySplit());
|
|
|
|
|
parentOrder.setUpdateBy(SecurityContextHolder.getUserName());
|
|
|
|
|
parentOrder.setUpdateTime(DateUtils.getNowDate());
|
|
|
|
|
parentOrder.setStatus("o1");
|
|
|
|
|
|
|
|
|
|
// 更新至数据库
|
|
|
|
|
proOrderMapper.updateProOrder(childOrder);
|
|
|
|
|
proOrderMapper.updateProOrder(parentOrder);
|
|
|
|
|
// 将级联所有白坯订单状态改为拆分中
|
|
|
|
|
proOrderMapper.updateOrderStatusByOrderCode(parentOrder.getOrderCode());
|
|
|
|
|
|
|
|
|
|
// 删除湿料计划中的湿料详情
|
|
|
|
|
proWetMaterialPlanDetailMapper.deleteProWetMaterialPlanDetailByWorkId(data.getWorkorderId());
|
|
|
|
|
|
|
|
|
|
// 删除对应批次此信息
|
|
|
|
|
proOrderWorkorderBatchMapper.deleteProOrderWorkorderBatchByWorkorderId(data.getWorkorderId());
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 格式化工单信息(递归处理)
|
|
|
|
|
*
|
|
|
|
|