| | |
| | | package com.dy.pipIrrApp.workOrder; |
| | | |
| | | import com.dy.common.webUtil.QueryResultVo; |
| | | import com.dy.pipIrrApp.workOrder.qo.QoWorkOrder; |
| | | import com.dy.pipIrrGlobal.daoOp.OpeProcessingResultMapper; |
| | | import com.dy.pipIrrGlobal.daoOp.OpeWorkOrderMapper; |
| | | import com.dy.pipIrrGlobal.pojoOp.OpeProcessingResult; |
| | | import com.dy.pipIrrGlobal.pojoOp.OpeWorkOrder; |
| | | import com.dy.pipIrrGlobal.voOp.VoWorkOrder; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.apache.dubbo.common.utils.PojoUtils; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | /** |
| | | * @author ZhuBaoMin |
| | |
| | | @Slf4j |
| | | @Service |
| | | public class WorkOrderSv { |
| | | @Autowired |
| | | private OpeWorkOrderMapper opeWorkOrderMapper; |
| | | |
| | | @Autowired |
| | | private OpeProcessingResultMapper opeProcessingResultMapper; |
| | | |
| | | /** |
| | | * 添加工单记录 |
| | | * @param po |
| | | * @return |
| | | */ |
| | | public Long insertWorkOrder(OpeWorkOrder po) { |
| | | po.setDispatchTime(new Date()); |
| | | po.setState((byte) 1); |
| | | po.setRejectTimes(0); |
| | | po.setDeleted(0L); |
| | | |
| | | opeWorkOrderMapper.insert(po); |
| | | return po.getId(); |
| | | } |
| | | |
| | | /** |
| | | * 获取指定派单人的指定未删除工单,删除工单前判断使用使用 |
| | | * @param dispatcherId |
| | | * @param workOrderId |
| | | * @return |
| | | */ |
| | | public OpeWorkOrder getWorkOrder(Long dispatcherId, Long workOrderId) { |
| | | return opeWorkOrderMapper.getWorkOrder(dispatcherId, workOrderId); |
| | | } |
| | | |
| | | /** |
| | | * 逻辑删除一个未删除的工单 |
| | | * @param workOrderId |
| | | * @return |
| | | */ |
| | | public Integer deleteWorkOrder(Long workOrderId) { |
| | | return opeWorkOrderMapper.deleteWorkOrder(workOrderId); |
| | | } |
| | | |
| | | /** |
| | | * 根据指定条件获取工单 |
| | | * @param qo |
| | | * @return |
| | | */ |
| | | public QueryResultVo<List<VoWorkOrder>> getWorkOrders(QoWorkOrder qo) { |
| | | qo.completionTime() ; |
| | | |
| | | Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(qo); |
| | | Long itemTotal = opeWorkOrderMapper.getWorkOrdersCount(params); |
| | | |
| | | QueryResultVo<List<VoWorkOrder>> rsVo = new QueryResultVo<>() ; |
| | | rsVo.pageSize = qo.pageSize ; |
| | | rsVo.pageCurr = qo.pageCurr ; |
| | | |
| | | rsVo.calculateAndSet(itemTotal, params); |
| | | rsVo.obj = opeWorkOrderMapper.getWorkOrders(params); |
| | | return rsVo ; |
| | | } |
| | | |
| | | /** |
| | | * 根据工单主键获取工单视图对象 |
| | | * @param workOrderId |
| | | * @return |
| | | */ |
| | | public VoWorkOrder getWorkOrderById(Long workOrderId) { |
| | | return opeWorkOrderMapper.getWorkOrderById(workOrderId); |
| | | } |
| | | |
| | | /** |
| | | * 根据workOrderId获取未删除的处理结果数量,添加结果上报前判断使用 |
| | | * @param workOrderId |
| | | * @return |
| | | */ |
| | | public Boolean hasValidProcessingResult(Long workOrderId) { |
| | | if (opeProcessingResultMapper.getValidResultCount(workOrderId) == 0) { |
| | | return false; |
| | | } |
| | | return true; |
| | | } |
| | | |
| | | /** |
| | | * 上报工单处理结果 |
| | | * @param po |
| | | * @return |
| | | */ |
| | | public Long insertProcessingResult(OpeProcessingResult po) { |
| | | po.setReportTime(new Date()); |
| | | po.setState((byte)1); |
| | | po.setDeleted(0L); |
| | | opeProcessingResultMapper.insert(po); |
| | | return po.getId(); |
| | | } |
| | | } |