|
|
@@ -61,6 +61,7 @@ public class GxtRepairOrderServiceImpl implements IGxtRepairOrderService
|
|
|
@Transactional
|
|
|
public int insertGxtRepairOrder(GxtRepairOrder gxtRepairOrder)
|
|
|
{
|
|
|
+ gxtRepairOrder.setCreateBy(SecurityUtils.getUsername());
|
|
|
gxtRepairOrder.setCreateTime(DateUtils.getNowDate());
|
|
|
int result = gxtRepairOrderMapper.insertGxtRepairOrder(gxtRepairOrder);
|
|
|
|
|
|
@@ -69,13 +70,21 @@ public class GxtRepairOrderServiceImpl implements IGxtRepairOrderService
|
|
|
GxtRepairOrderFlow flow = new GxtRepairOrderFlow();
|
|
|
flow.setOrderId(gxtRepairOrder.getId());
|
|
|
flow.setOrderCode(gxtRepairOrder.getWorkOrderProjectNo());
|
|
|
- flow.setActionType("create");
|
|
|
+ if("draft".equals(gxtRepairOrder.getWorkOrderStatus())){
|
|
|
+ flow.setActionType("create");
|
|
|
+ }else if("to_assign".equals(gxtRepairOrder.getWorkOrderStatus())){
|
|
|
+ flow.setActionType("create_to_assign");
|
|
|
+ }
|
|
|
flow.setFromStatus(null);
|
|
|
flow.setToStatus(gxtRepairOrder.getWorkOrderStatus());
|
|
|
flow.setOperatorId(SecurityUtils.getUserId());
|
|
|
flow.setOperatorName(SecurityUtils.getUsername());
|
|
|
flow.setActionTime(DateUtils.getNowDate());
|
|
|
- flow.setActionRemark("创建维修工单");
|
|
|
+ if("draft".equals(gxtRepairOrder.getWorkOrderStatus())){
|
|
|
+ flow.setActionRemark("创建维修工单");
|
|
|
+ }else if("to_assign".equals(gxtRepairOrder.getWorkOrderStatus())){
|
|
|
+ flow.setActionRemark("创建并下发维修工单");
|
|
|
+ }
|
|
|
gxtRepairOrderFlowService.insertGxtRepairOrderFlow(flow);
|
|
|
}
|
|
|
|
|
|
@@ -93,25 +102,29 @@ public class GxtRepairOrderServiceImpl implements IGxtRepairOrderService
|
|
|
public int updateGxtRepairOrder(GxtRepairOrder gxtRepairOrder)
|
|
|
{
|
|
|
GxtRepairOrder oldOrder = gxtRepairOrderMapper.selectGxtRepairOrderById(gxtRepairOrder.getId());
|
|
|
+ gxtRepairOrder.setUpdateBy(SecurityUtils.getUsername());
|
|
|
gxtRepairOrder.setUpdateTime(DateUtils.getNowDate());
|
|
|
int result = gxtRepairOrderMapper.updateGxtRepairOrder(gxtRepairOrder);
|
|
|
|
|
|
// 如果工单状态发生变化,记录流转信息
|
|
|
- if (result > 0 && oldOrder != null &&
|
|
|
+ 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");
|
|
|
+ if("to_assign".equals(gxtRepairOrder.getWorkOrderStatus())){
|
|
|
+ flow.setActionType("to_assign");
|
|
|
+ }
|
|
|
flow.setFromStatus(oldOrder.getWorkOrderStatus());
|
|
|
flow.setToStatus(gxtRepairOrder.getWorkOrderStatus());
|
|
|
flow.setOperatorId(SecurityUtils.getUserId());
|
|
|
flow.setOperatorName(SecurityUtils.getUsername());
|
|
|
flow.setActionTime(DateUtils.getNowDate());
|
|
|
- flow.setActionRemark("更新维修工单状态");
|
|
|
+ if("to_assign".equals(gxtRepairOrder.getWorkOrderStatus())){
|
|
|
+ flow.setActionRemark("下发维修工单");
|
|
|
+ }
|
|
|
gxtRepairOrderFlowService.insertGxtRepairOrderFlow(flow);
|
|
|
}
|
|
|
-
|
|
|
return result;
|
|
|
}
|
|
|
|
|
|
@@ -146,9 +159,15 @@ public class GxtRepairOrderServiceImpl implements IGxtRepairOrderService
|
|
|
* @return 结果
|
|
|
*/
|
|
|
@Override
|
|
|
+ @Transactional
|
|
|
public int assignGxtRepairOrder(GxtRepairOrder gxtRepairOrder)
|
|
|
{
|
|
|
GxtRepairOrder oldOrder = gxtRepairOrderMapper.selectGxtRepairOrderById(gxtRepairOrder.getId());
|
|
|
+ gxtRepairOrder.setWorkOrderStatus("assigned");
|
|
|
+ gxtRepairOrder.setAssignTime(DateUtils.getNowDate());
|
|
|
+ gxtRepairOrder.setAssignUserId(SecurityUtils.getUserId());
|
|
|
+ gxtRepairOrder.setAssignUserName(SecurityUtils.getLoginUser().getUser().getNickName());
|
|
|
+ gxtRepairOrder.setUpdateBy(SecurityUtils.getUsername());
|
|
|
gxtRepairOrder.setUpdateTime(DateUtils.getNowDate());
|
|
|
int result = gxtRepairOrderMapper.updateGxtRepairOrder(gxtRepairOrder);
|
|
|
|
|
|
@@ -177,9 +196,11 @@ public class GxtRepairOrderServiceImpl implements IGxtRepairOrderService
|
|
|
* @return 结果
|
|
|
*/
|
|
|
@Override
|
|
|
+ @Transactional
|
|
|
public int acceptGxtRepairOrder(GxtRepairOrder gxtRepairOrder)
|
|
|
{
|
|
|
GxtRepairOrder oldOrder = gxtRepairOrderMapper.selectGxtRepairOrderById(gxtRepairOrder.getId());
|
|
|
+ gxtRepairOrder.setUpdateBy(SecurityUtils.getUsername());
|
|
|
gxtRepairOrder.setUpdateTime(DateUtils.getNowDate());
|
|
|
int result = gxtRepairOrderMapper.updateGxtRepairOrder(gxtRepairOrder);
|
|
|
|
|
|
@@ -208,9 +229,11 @@ public class GxtRepairOrderServiceImpl implements IGxtRepairOrderService
|
|
|
* @return 结果
|
|
|
*/
|
|
|
@Override
|
|
|
+ @Transactional
|
|
|
public int startGxtRepairOrder(GxtRepairOrder gxtRepairOrder)
|
|
|
{
|
|
|
GxtRepairOrder oldOrder = gxtRepairOrderMapper.selectGxtRepairOrderById(gxtRepairOrder.getId());
|
|
|
+ gxtRepairOrder.setUpdateBy(SecurityUtils.getUsername());
|
|
|
gxtRepairOrder.setUpdateTime(DateUtils.getNowDate());
|
|
|
int result = gxtRepairOrderMapper.updateGxtRepairOrder(gxtRepairOrder);
|
|
|
|
|
|
@@ -239,9 +262,11 @@ public class GxtRepairOrderServiceImpl implements IGxtRepairOrderService
|
|
|
* @return 结果
|
|
|
*/
|
|
|
@Override
|
|
|
+ @Transactional
|
|
|
public int pauseGxtRepairOrder(GxtRepairOrder gxtRepairOrder)
|
|
|
{
|
|
|
GxtRepairOrder oldOrder = gxtRepairOrderMapper.selectGxtRepairOrderById(gxtRepairOrder.getId());
|
|
|
+ gxtRepairOrder.setUpdateBy(SecurityUtils.getUsername());
|
|
|
gxtRepairOrder.setUpdateTime(DateUtils.getNowDate());
|
|
|
int result = gxtRepairOrderMapper.updateGxtRepairOrder(gxtRepairOrder);
|
|
|
|
|
|
@@ -270,9 +295,11 @@ public class GxtRepairOrderServiceImpl implements IGxtRepairOrderService
|
|
|
* @return 结果
|
|
|
*/
|
|
|
@Override
|
|
|
+ @Transactional
|
|
|
public int resumeGxtRepairOrder(GxtRepairOrder gxtRepairOrder)
|
|
|
{
|
|
|
GxtRepairOrder oldOrder = gxtRepairOrderMapper.selectGxtRepairOrderById(gxtRepairOrder.getId());
|
|
|
+ gxtRepairOrder.setUpdateBy(SecurityUtils.getUsername());
|
|
|
gxtRepairOrder.setUpdateTime(DateUtils.getNowDate());
|
|
|
int result = gxtRepairOrderMapper.updateGxtRepairOrder(gxtRepairOrder);
|
|
|
|
|
|
@@ -281,13 +308,13 @@ public class GxtRepairOrderServiceImpl implements IGxtRepairOrderService
|
|
|
GxtRepairOrderFlow flow = new GxtRepairOrderFlow();
|
|
|
flow.setOrderId(gxtRepairOrder.getId());
|
|
|
flow.setOrderCode(gxtRepairOrder.getWorkOrderProjectNo());
|
|
|
- flow.setActionType("restart");
|
|
|
+ flow.setActionType("resume");
|
|
|
flow.setFromStatus(oldOrder.getWorkOrderStatus());
|
|
|
flow.setToStatus(gxtRepairOrder.getWorkOrderStatus());
|
|
|
flow.setOperatorId(SecurityUtils.getUserId());
|
|
|
flow.setOperatorName(SecurityUtils.getUsername());
|
|
|
flow.setActionTime(DateUtils.getNowDate());
|
|
|
- flow.setActionRemark("恢复处理维修工单");
|
|
|
+ flow.setActionRemark("恢复处理工单");
|
|
|
gxtRepairOrderFlowService.insertGxtRepairOrderFlow(flow);
|
|
|
}
|
|
|
|
|
|
@@ -295,30 +322,33 @@ public class GxtRepairOrderServiceImpl implements IGxtRepairOrderService
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
- * 完成维修工单
|
|
|
+ * 维修处理完成(进入待结单状态)
|
|
|
*
|
|
|
* @param gxtRepairOrder 维修工单
|
|
|
* @return 结果
|
|
|
*/
|
|
|
@Override
|
|
|
- public int completeGxtRepairOrder(GxtRepairOrder gxtRepairOrder)
|
|
|
+ @Transactional
|
|
|
+ public int processDoneGxtRepairOrder(GxtRepairOrder gxtRepairOrder)
|
|
|
{
|
|
|
GxtRepairOrder oldOrder = gxtRepairOrderMapper.selectGxtRepairOrderById(gxtRepairOrder.getId());
|
|
|
+ gxtRepairOrder.setUpdateBy(SecurityUtils.getUsername());
|
|
|
gxtRepairOrder.setUpdateTime(DateUtils.getNowDate());
|
|
|
+ gxtRepairOrder.setWorkOrderStatus("to_be_finalized");
|
|
|
int result = gxtRepairOrderMapper.updateGxtRepairOrder(gxtRepairOrder);
|
|
|
|
|
|
- // 记录完成流转信息
|
|
|
+ // 记录处理完成流转信息
|
|
|
if (result > 0) {
|
|
|
GxtRepairOrderFlow flow = new GxtRepairOrderFlow();
|
|
|
flow.setOrderId(gxtRepairOrder.getId());
|
|
|
flow.setOrderCode(gxtRepairOrder.getWorkOrderProjectNo());
|
|
|
- flow.setActionType("complete");
|
|
|
+ flow.setActionType("处理完成");
|
|
|
flow.setFromStatus(oldOrder.getWorkOrderStatus());
|
|
|
- flow.setToStatus(gxtRepairOrder.getWorkOrderStatus());
|
|
|
+ flow.setToStatus("to_be_finalized");
|
|
|
flow.setOperatorId(SecurityUtils.getUserId());
|
|
|
flow.setOperatorName(SecurityUtils.getUsername());
|
|
|
flow.setActionTime(DateUtils.getNowDate());
|
|
|
- flow.setActionRemark("完成维修工单");
|
|
|
+ flow.setActionRemark("维修处理完成,等待结单");
|
|
|
gxtRepairOrderFlowService.insertGxtRepairOrderFlow(flow);
|
|
|
}
|
|
|
|
|
|
@@ -332,9 +362,11 @@ public class GxtRepairOrderServiceImpl implements IGxtRepairOrderService
|
|
|
* @return 结果
|
|
|
*/
|
|
|
@Override
|
|
|
+ @Transactional
|
|
|
public int ratingGxtRepairOrder(GxtRepairOrder gxtRepairOrder)
|
|
|
{
|
|
|
GxtRepairOrder oldOrder = gxtRepairOrderMapper.selectGxtRepairOrderById(gxtRepairOrder.getId());
|
|
|
+ gxtRepairOrder.setUpdateBy(SecurityUtils.getUsername());
|
|
|
gxtRepairOrder.setUpdateTime(DateUtils.getNowDate());
|
|
|
int result = gxtRepairOrderMapper.updateGxtRepairOrder(gxtRepairOrder);
|
|
|
|
|
|
@@ -355,4 +387,114 @@ public class GxtRepairOrderServiceImpl implements IGxtRepairOrderService
|
|
|
|
|
|
return result;
|
|
|
}
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 挂起维修工单
|
|
|
+ *
|
|
|
+ * @param gxtRepairOrder 维修工单
|
|
|
+ * @return 结果
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ @Transactional
|
|
|
+ public int suspendGxtRepairOrder(GxtRepairOrder gxtRepairOrder)
|
|
|
+ {
|
|
|
+ GxtRepairOrder oldOrder = gxtRepairOrderMapper.selectGxtRepairOrderById(gxtRepairOrder.getId());
|
|
|
+ gxtRepairOrder.setUpdateBy(SecurityUtils.getUsername());
|
|
|
+ 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("挂起申请");
|
|
|
+ flow.setFromStatus(oldOrder.getWorkOrderStatus());
|
|
|
+ flow.setToStatus(gxtRepairOrder.getWorkOrderStatus());
|
|
|
+ flow.setOperatorId(SecurityUtils.getUserId());
|
|
|
+ flow.setOperatorName(SecurityUtils.getUsername());
|
|
|
+ flow.setActionTime(DateUtils.getNowDate());
|
|
|
+ flow.setActionRemark("申请挂起维修工单: " + gxtRepairOrder.getSuspendDescription());
|
|
|
+ gxtRepairOrderFlowService.insertGxtRepairOrderFlow(flow);
|
|
|
+ }
|
|
|
+
|
|
|
+ return result;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 审批挂起维修工单
|
|
|
+ *
|
|
|
+ * @param gxtRepairOrder 维修工单
|
|
|
+ * @return 结果
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ @Transactional
|
|
|
+ public int approveSuspendGxtRepairOrder(GxtRepairOrder gxtRepairOrder)
|
|
|
+ {
|
|
|
+ GxtRepairOrder oldOrder = gxtRepairOrderMapper.selectGxtRepairOrderById(gxtRepairOrder.getId());
|
|
|
+ gxtRepairOrder.setUpdateBy(SecurityUtils.getUsername());
|
|
|
+ gxtRepairOrder.setUpdateTime(DateUtils.getNowDate());
|
|
|
+ int result = gxtRepairOrderMapper.updateGxtRepairOrder(gxtRepairOrder);
|
|
|
+
|
|
|
+ // 记录审批流转信息
|
|
|
+ if (result > 0) {
|
|
|
+ GxtRepairOrderFlow flow = new GxtRepairOrderFlow();
|
|
|
+ flow.setOrderId(gxtRepairOrder.getId());
|
|
|
+ flow.setOrderCode(gxtRepairOrder.getWorkOrderProjectNo());
|
|
|
+ // 根据审批结果设置操作类型
|
|
|
+ String actionType = "审批";
|
|
|
+ if ("rejected".equals(gxtRepairOrder.getApprovalStatus())) {
|
|
|
+ actionType = "驳回";
|
|
|
+ }
|
|
|
+ flow.setActionType(actionType);
|
|
|
+ flow.setFromStatus(oldOrder.getWorkOrderStatus());
|
|
|
+ flow.setToStatus(gxtRepairOrder.getWorkOrderStatus());
|
|
|
+ flow.setOperatorId(SecurityUtils.getUserId());
|
|
|
+ flow.setOperatorName(SecurityUtils.getUsername());
|
|
|
+ flow.setActionTime(DateUtils.getNowDate());
|
|
|
+ String actionRemark = "审批挂起申请";
|
|
|
+ if ("suspended".equals(gxtRepairOrder.getWorkOrderStatus())) {
|
|
|
+ actionRemark = "挂起申请审批通过";
|
|
|
+ } else if ("accepted".equals(gxtRepairOrder.getWorkOrderStatus())) {
|
|
|
+ actionRemark = "挂起申请被驳回";
|
|
|
+ }
|
|
|
+ flow.setActionRemark(actionRemark);
|
|
|
+ gxtRepairOrderFlowService.insertGxtRepairOrderFlow(flow);
|
|
|
+ }
|
|
|
+
|
|
|
+ return result;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 正式结单(完结工单)
|
|
|
+ *
|
|
|
+ * @param gxtRepairOrder 维修工单
|
|
|
+ * @return 结果
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ @Transactional
|
|
|
+ public int finalizeGxtRepairOrder(GxtRepairOrder gxtRepairOrder)
|
|
|
+ {
|
|
|
+ GxtRepairOrder oldOrder = gxtRepairOrderMapper.selectGxtRepairOrderById(gxtRepairOrder.getId());
|
|
|
+ gxtRepairOrder.setUpdateBy(SecurityUtils.getUsername());
|
|
|
+ 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("finalize");
|
|
|
+ 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;
|
|
|
+ }
|
|
|
}
|