|
|
@@ -7,6 +7,10 @@ import org.springframework.stereotype.Service;
|
|
|
import com.ygtx.gxt.mapper.GxtRepairOrderMapper;
|
|
|
import com.ygtx.gxt.domain.GxtRepairOrder;
|
|
|
import com.ygtx.gxt.service.IGxtRepairOrderService;
|
|
|
+import com.ygtx.gxt.service.IGxtRepairOrderFlowService;
|
|
|
+import com.ygtx.gxt.domain.GxtRepairOrderFlow;
|
|
|
+import com.ygtx.common.utils.SecurityUtils;
|
|
|
+import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
/**
|
|
|
* 维修工单Service业务层处理
|
|
|
@@ -19,6 +23,9 @@ public class GxtRepairOrderServiceImpl implements IGxtRepairOrderService
|
|
|
{
|
|
|
@Autowired
|
|
|
private GxtRepairOrderMapper gxtRepairOrderMapper;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private IGxtRepairOrderFlowService gxtRepairOrderFlowService;
|
|
|
|
|
|
/**
|
|
|
* 查询维修工单
|
|
|
@@ -51,10 +58,28 @@ public class GxtRepairOrderServiceImpl implements IGxtRepairOrderService
|
|
|
* @return 结果
|
|
|
*/
|
|
|
@Override
|
|
|
+ @Transactional
|
|
|
public int insertGxtRepairOrder(GxtRepairOrder gxtRepairOrder)
|
|
|
{
|
|
|
gxtRepairOrder.setCreateTime(DateUtils.getNowDate());
|
|
|
- return gxtRepairOrderMapper.insertGxtRepairOrder(gxtRepairOrder);
|
|
|
+ int result = gxtRepairOrderMapper.insertGxtRepairOrder(gxtRepairOrder);
|
|
|
+
|
|
|
+ // 记录工单创建流转信息
|
|
|
+ if (result > 0) {
|
|
|
+ GxtRepairOrderFlow flow = new GxtRepairOrderFlow();
|
|
|
+ flow.setOrderId(gxtRepairOrder.getId());
|
|
|
+ flow.setOrderCode(gxtRepairOrder.getWorkOrderProjectNo());
|
|
|
+ flow.setActionType("create");
|
|
|
+ flow.setFromStatus(null);
|
|
|
+ flow.setToStatus(gxtRepairOrder.getWorkOrderStatus());
|
|
|
+ flow.setOperatorId(SecurityUtils.getUserId());
|
|
|
+ flow.setOperatorName(SecurityUtils.getUsername());
|
|
|
+ flow.setActionTime(DateUtils.getNowDate());
|
|
|
+ flow.setActionRemark("创建维修工单");
|
|
|
+ gxtRepairOrderFlowService.insertGxtRepairOrderFlow(flow);
|
|
|
+ }
|
|
|
+
|
|
|
+ return result;
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
@@ -64,10 +89,30 @@ public class GxtRepairOrderServiceImpl implements IGxtRepairOrderService
|
|
|
* @return 结果
|
|
|
*/
|
|
|
@Override
|
|
|
+ @Transactional
|
|
|
public int updateGxtRepairOrder(GxtRepairOrder gxtRepairOrder)
|
|
|
{
|
|
|
+ GxtRepairOrder oldOrder = gxtRepairOrderMapper.selectGxtRepairOrderById(gxtRepairOrder.getId());
|
|
|
gxtRepairOrder.setUpdateTime(DateUtils.getNowDate());
|
|
|
- return gxtRepairOrderMapper.updateGxtRepairOrder(gxtRepairOrder);
|
|
|
+ int result = gxtRepairOrderMapper.updateGxtRepairOrder(gxtRepairOrder);
|
|
|
+
|
|
|
+ // 如果工单状态发生变化,记录流转信息
|
|
|
+ if (result > 0 && oldOrder != null &&
|
|
|
+ !oldOrder.getWorkOrderStatus().equals(gxtRepairOrder.getWorkOrderStatus())) {
|
|
|
+ GxtRepairOrderFlow flow = new GxtRepairOrderFlow();
|
|
|
+ flow.setOrderId(gxtRepairOrder.getId());
|
|
|
+ flow.setOrderCode(gxtRepairOrder.getWorkOrderProjectNo());
|
|
|
+ flow.setActionType("update");
|
|
|
+ flow.setFromStatus(oldOrder.getWorkOrderStatus());
|
|
|
+ flow.setToStatus(gxtRepairOrder.getWorkOrderStatus());
|
|
|
+ flow.setOperatorId(SecurityUtils.getUserId());
|
|
|
+ flow.setOperatorName(SecurityUtils.getUsername());
|
|
|
+ flow.setActionTime(DateUtils.getNowDate());
|
|
|
+ flow.setActionRemark("更新维修工单状态");
|
|
|
+ gxtRepairOrderFlowService.insertGxtRepairOrderFlow(flow);
|
|
|
+ }
|
|
|
+
|
|
|
+ return result;
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
@@ -93,4 +138,221 @@ public class GxtRepairOrderServiceImpl implements IGxtRepairOrderService
|
|
|
{
|
|
|
return gxtRepairOrderMapper.deleteGxtRepairOrderById(id);
|
|
|
}
|
|
|
-}
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 派单维修工单
|
|
|
+ *
|
|
|
+ * @param gxtRepairOrder 维修工单
|
|
|
+ * @return 结果
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public int assignGxtRepairOrder(GxtRepairOrder gxtRepairOrder)
|
|
|
+ {
|
|
|
+ GxtRepairOrder oldOrder = gxtRepairOrderMapper.selectGxtRepairOrderById(gxtRepairOrder.getId());
|
|
|
+ gxtRepairOrder.setUpdateTime(DateUtils.getNowDate());
|
|
|
+ int result = gxtRepairOrderMapper.updateGxtRepairOrder(gxtRepairOrder);
|
|
|
+
|
|
|
+ // 记录派单流转信息
|
|
|
+ if (result > 0) {
|
|
|
+ GxtRepairOrderFlow flow = new GxtRepairOrderFlow();
|
|
|
+ flow.setOrderId(gxtRepairOrder.getId());
|
|
|
+ flow.setOrderCode(gxtRepairOrder.getWorkOrderProjectNo());
|
|
|
+ flow.setActionType("assign");
|
|
|
+ flow.setFromStatus(oldOrder.getWorkOrderStatus());
|
|
|
+ flow.setToStatus(gxtRepairOrder.getWorkOrderStatus());
|
|
|
+ flow.setOperatorId(SecurityUtils.getUserId());
|
|
|
+ flow.setOperatorName(SecurityUtils.getUsername());
|
|
|
+ flow.setActionTime(DateUtils.getNowDate());
|
|
|
+ flow.setActionRemark("派发维修工单");
|
|
|
+ gxtRepairOrderFlowService.insertGxtRepairOrderFlow(flow);
|
|
|
+ }
|
|
|
+
|
|
|
+ return result;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 接单维修工单
|
|
|
+ *
|
|
|
+ * @param gxtRepairOrder 维修工单
|
|
|
+ * @return 结果
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public int acceptGxtRepairOrder(GxtRepairOrder gxtRepairOrder)
|
|
|
+ {
|
|
|
+ GxtRepairOrder oldOrder = gxtRepairOrderMapper.selectGxtRepairOrderById(gxtRepairOrder.getId());
|
|
|
+ gxtRepairOrder.setUpdateTime(DateUtils.getNowDate());
|
|
|
+ int result = gxtRepairOrderMapper.updateGxtRepairOrder(gxtRepairOrder);
|
|
|
+
|
|
|
+ // 记录接单流转信息
|
|
|
+ if (result > 0) {
|
|
|
+ GxtRepairOrderFlow flow = new GxtRepairOrderFlow();
|
|
|
+ flow.setOrderId(gxtRepairOrder.getId());
|
|
|
+ flow.setOrderCode(gxtRepairOrder.getWorkOrderProjectNo());
|
|
|
+ flow.setActionType("accept");
|
|
|
+ flow.setFromStatus(oldOrder.getWorkOrderStatus());
|
|
|
+ flow.setToStatus(gxtRepairOrder.getWorkOrderStatus());
|
|
|
+ flow.setOperatorId(SecurityUtils.getUserId());
|
|
|
+ flow.setOperatorName(SecurityUtils.getUsername());
|
|
|
+ flow.setActionTime(DateUtils.getNowDate());
|
|
|
+ flow.setActionRemark("接收维修工单");
|
|
|
+ gxtRepairOrderFlowService.insertGxtRepairOrderFlow(flow);
|
|
|
+ }
|
|
|
+
|
|
|
+ return result;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 开始维修工单
|
|
|
+ *
|
|
|
+ * @param gxtRepairOrder 维修工单
|
|
|
+ * @return 结果
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public int startGxtRepairOrder(GxtRepairOrder gxtRepairOrder)
|
|
|
+ {
|
|
|
+ GxtRepairOrder oldOrder = gxtRepairOrderMapper.selectGxtRepairOrderById(gxtRepairOrder.getId());
|
|
|
+ gxtRepairOrder.setUpdateTime(DateUtils.getNowDate());
|
|
|
+ int result = gxtRepairOrderMapper.updateGxtRepairOrder(gxtRepairOrder);
|
|
|
+
|
|
|
+ // 记录开始流转信息
|
|
|
+ if (result > 0) {
|
|
|
+ GxtRepairOrderFlow flow = new GxtRepairOrderFlow();
|
|
|
+ flow.setOrderId(gxtRepairOrder.getId());
|
|
|
+ flow.setOrderCode(gxtRepairOrder.getWorkOrderProjectNo());
|
|
|
+ flow.setActionType("process");
|
|
|
+ flow.setFromStatus(oldOrder.getWorkOrderStatus());
|
|
|
+ flow.setToStatus(gxtRepairOrder.getWorkOrderStatus());
|
|
|
+ flow.setOperatorId(SecurityUtils.getUserId());
|
|
|
+ flow.setOperatorName(SecurityUtils.getUsername());
|
|
|
+ flow.setActionTime(DateUtils.getNowDate());
|
|
|
+ flow.setActionRemark("开始处理维修工单");
|
|
|
+ gxtRepairOrderFlowService.insertGxtRepairOrderFlow(flow);
|
|
|
+ }
|
|
|
+
|
|
|
+ return result;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 暂停维修工单
|
|
|
+ *
|
|
|
+ * @param gxtRepairOrder 维修工单
|
|
|
+ * @return 结果
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public int pauseGxtRepairOrder(GxtRepairOrder gxtRepairOrder)
|
|
|
+ {
|
|
|
+ GxtRepairOrder oldOrder = gxtRepairOrderMapper.selectGxtRepairOrderById(gxtRepairOrder.getId());
|
|
|
+ gxtRepairOrder.setUpdateTime(DateUtils.getNowDate());
|
|
|
+ int result = gxtRepairOrderMapper.updateGxtRepairOrder(gxtRepairOrder);
|
|
|
+
|
|
|
+ // 记录暂停流转信息
|
|
|
+ if (result > 0) {
|
|
|
+ GxtRepairOrderFlow flow = new GxtRepairOrderFlow();
|
|
|
+ flow.setOrderId(gxtRepairOrder.getId());
|
|
|
+ flow.setOrderCode(gxtRepairOrder.getWorkOrderProjectNo());
|
|
|
+ flow.setActionType("pause");
|
|
|
+ flow.setFromStatus(oldOrder.getWorkOrderStatus());
|
|
|
+ flow.setToStatus(gxtRepairOrder.getWorkOrderStatus());
|
|
|
+ flow.setOperatorId(SecurityUtils.getUserId());
|
|
|
+ flow.setOperatorName(SecurityUtils.getUsername());
|
|
|
+ flow.setActionTime(DateUtils.getNowDate());
|
|
|
+ flow.setActionRemark("暂停处理维修工单");
|
|
|
+ gxtRepairOrderFlowService.insertGxtRepairOrderFlow(flow);
|
|
|
+ }
|
|
|
+
|
|
|
+ return result;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 恢复维修工单
|
|
|
+ *
|
|
|
+ * @param gxtRepairOrder 维修工单
|
|
|
+ * @return 结果
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public int resumeGxtRepairOrder(GxtRepairOrder gxtRepairOrder)
|
|
|
+ {
|
|
|
+ GxtRepairOrder oldOrder = gxtRepairOrderMapper.selectGxtRepairOrderById(gxtRepairOrder.getId());
|
|
|
+ gxtRepairOrder.setUpdateTime(DateUtils.getNowDate());
|
|
|
+ int result = gxtRepairOrderMapper.updateGxtRepairOrder(gxtRepairOrder);
|
|
|
+
|
|
|
+ // 记录恢复流转信息
|
|
|
+ if (result > 0) {
|
|
|
+ GxtRepairOrderFlow flow = new GxtRepairOrderFlow();
|
|
|
+ flow.setOrderId(gxtRepairOrder.getId());
|
|
|
+ flow.setOrderCode(gxtRepairOrder.getWorkOrderProjectNo());
|
|
|
+ flow.setActionType("restart");
|
|
|
+ flow.setFromStatus(oldOrder.getWorkOrderStatus());
|
|
|
+ flow.setToStatus(gxtRepairOrder.getWorkOrderStatus());
|
|
|
+ flow.setOperatorId(SecurityUtils.getUserId());
|
|
|
+ flow.setOperatorName(SecurityUtils.getUsername());
|
|
|
+ flow.setActionTime(DateUtils.getNowDate());
|
|
|
+ flow.setActionRemark("恢复处理维修工单");
|
|
|
+ gxtRepairOrderFlowService.insertGxtRepairOrderFlow(flow);
|
|
|
+ }
|
|
|
+
|
|
|
+ return result;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 完成维修工单
|
|
|
+ *
|
|
|
+ * @param gxtRepairOrder 维修工单
|
|
|
+ * @return 结果
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public int completeGxtRepairOrder(GxtRepairOrder gxtRepairOrder)
|
|
|
+ {
|
|
|
+ GxtRepairOrder oldOrder = gxtRepairOrderMapper.selectGxtRepairOrderById(gxtRepairOrder.getId());
|
|
|
+ gxtRepairOrder.setUpdateTime(DateUtils.getNowDate());
|
|
|
+ int result = gxtRepairOrderMapper.updateGxtRepairOrder(gxtRepairOrder);
|
|
|
+
|
|
|
+ // 记录完成流转信息
|
|
|
+ if (result > 0) {
|
|
|
+ GxtRepairOrderFlow flow = new GxtRepairOrderFlow();
|
|
|
+ flow.setOrderId(gxtRepairOrder.getId());
|
|
|
+ flow.setOrderCode(gxtRepairOrder.getWorkOrderProjectNo());
|
|
|
+ flow.setActionType("complete");
|
|
|
+ flow.setFromStatus(oldOrder.getWorkOrderStatus());
|
|
|
+ flow.setToStatus(gxtRepairOrder.getWorkOrderStatus());
|
|
|
+ flow.setOperatorId(SecurityUtils.getUserId());
|
|
|
+ flow.setOperatorName(SecurityUtils.getUsername());
|
|
|
+ flow.setActionTime(DateUtils.getNowDate());
|
|
|
+ flow.setActionRemark("完成维修工单");
|
|
|
+ gxtRepairOrderFlowService.insertGxtRepairOrderFlow(flow);
|
|
|
+ }
|
|
|
+
|
|
|
+ return result;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 评分维修工单
|
|
|
+ *
|
|
|
+ * @param gxtRepairOrder 维修工单
|
|
|
+ * @return 结果
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public int ratingGxtRepairOrder(GxtRepairOrder gxtRepairOrder)
|
|
|
+ {
|
|
|
+ GxtRepairOrder oldOrder = gxtRepairOrderMapper.selectGxtRepairOrderById(gxtRepairOrder.getId());
|
|
|
+ gxtRepairOrder.setUpdateTime(DateUtils.getNowDate());
|
|
|
+ int result = gxtRepairOrderMapper.updateGxtRepairOrder(gxtRepairOrder);
|
|
|
+
|
|
|
+ // 记录评分流转信息
|
|
|
+ if (result > 0) {
|
|
|
+ GxtRepairOrderFlow flow = new GxtRepairOrderFlow();
|
|
|
+ flow.setOrderId(gxtRepairOrder.getId());
|
|
|
+ flow.setOrderCode(gxtRepairOrder.getWorkOrderProjectNo());
|
|
|
+ flow.setActionType("rating");
|
|
|
+ flow.setFromStatus(oldOrder.getWorkOrderStatus());
|
|
|
+ flow.setToStatus(gxtRepairOrder.getWorkOrderStatus());
|
|
|
+ flow.setOperatorId(SecurityUtils.getUserId());
|
|
|
+ flow.setOperatorName(SecurityUtils.getUsername());
|
|
|
+ flow.setActionTime(DateUtils.getNowDate());
|
|
|
+ flow.setActionRemark("对维修工单进行评分");
|
|
|
+ gxtRepairOrderFlowService.insertGxtRepairOrderFlow(flow);
|
|
|
+ }
|
|
|
+
|
|
|
+ return result;
|
|
|
+ }
|
|
|
+}
|