Browse Source

修改维修工单

ouyj 7 months ago
parent
commit
9ab9682bfa

+ 38 - 5
ygtx-gxt/src/main/java/com/ygtx/gxt/controller/GxtRepairOrderController.java

@@ -146,6 +146,28 @@ public class GxtRepairOrderController extends BaseController
         return toAjax(gxtRepairOrderService.pauseGxtRepairOrder(gxtRepairOrder));
     }
 
+    /**
+     * 挂起维修工单
+     */
+    @PreAuthorize("@ss.hasPermi('gxt:repairOrder:suspend')")
+    @Log(title = "维修工单", businessType = BusinessType.UPDATE)
+    @PutMapping("/suspend")
+    public AjaxResult suspend(@RequestBody GxtRepairOrder gxtRepairOrder)
+    {
+        return toAjax(gxtRepairOrderService.suspendGxtRepairOrder(gxtRepairOrder));
+    }
+
+    /**
+     * 审批挂起维修工单
+     */
+    @PreAuthorize("@ss.hasPermi('gxt:repairOrder:approve')")
+    @Log(title = "维修工单", businessType = BusinessType.UPDATE)
+    @PutMapping("/approve")
+    public AjaxResult approve(@RequestBody GxtRepairOrder gxtRepairOrder)
+    {
+        return toAjax(gxtRepairOrderService.approveSuspendGxtRepairOrder(gxtRepairOrder));
+    }
+
     /**
      * 恢复维修工单
      */
@@ -158,14 +180,25 @@ public class GxtRepairOrderController extends BaseController
     }
 
     /**
-     * 完成维修工单
+     * 维修处理完成(进入待结单状态)
+     */
+    @PreAuthorize("@ss.hasPermi('gxt:repairOrder:processDone')")
+    @Log(title = "维修工单", businessType = BusinessType.UPDATE)
+    @PutMapping("/processDone")
+    public AjaxResult processDone(@RequestBody GxtRepairOrder gxtRepairOrder)
+    {
+        return toAjax(gxtRepairOrderService.processDoneGxtRepairOrder(gxtRepairOrder));
+    }
+
+    /**
+     * 正式结单(完结工单)
      */
-    @PreAuthorize("@ss.hasPermi('gxt:repairOrder:complete')")
+    @PreAuthorize("@ss.hasPermi('gxt:repairOrder:finalize')")
     @Log(title = "维修工单", businessType = BusinessType.UPDATE)
-    @PutMapping("/complete")
-    public AjaxResult complete(@RequestBody GxtRepairOrder gxtRepairOrder)
+    @PutMapping("/finalize")
+    public AjaxResult finalize(@RequestBody GxtRepairOrder gxtRepairOrder)
     {
-        return toAjax(gxtRepairOrderService.completeGxtRepairOrder(gxtRepairOrder));
+        return toAjax(gxtRepairOrderService.finalizeGxtRepairOrder(gxtRepairOrder));
     }
 
     /**

+ 104 - 0
ygtx-gxt/src/main/java/com/ygtx/gxt/controller/GxtRepairOrderPersonController.java

@@ -0,0 +1,104 @@
+package com.ygtx.gxt.controller;
+
+import java.util.List;
+import javax.servlet.http.HttpServletResponse;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.DeleteMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+import com.ygtx.common.annotation.Log;
+import com.ygtx.common.core.controller.BaseController;
+import com.ygtx.common.core.domain.AjaxResult;
+import com.ygtx.common.enums.BusinessType;
+import com.ygtx.gxt.domain.GxtRepairOrderPerson;
+import com.ygtx.gxt.service.IGxtRepairOrderPersonService;
+import com.ygtx.common.utils.poi.ExcelUtil;
+import com.ygtx.common.core.page.TableDataInfo;
+
+/**
+ * 维修工单工作组员名单Controller
+ * 
+ * @author ouyj
+ * @date 2025-11-01
+ */
+@RestController
+@RequestMapping("/gxt/repairOrderPerson")
+public class GxtRepairOrderPersonController extends BaseController
+{
+    @Autowired
+    private IGxtRepairOrderPersonService gxtRepairOrderPersonService;
+
+    /**
+     * 查询维修工单工作组员名单列表
+     */
+    @PreAuthorize("@ss.hasPermi('gxt:repairOrderPerson:list')")
+    @GetMapping("/list")
+    public TableDataInfo list(GxtRepairOrderPerson gxtRepairOrderPerson)
+    {
+        startPage();
+        List<GxtRepairOrderPerson> list = gxtRepairOrderPersonService.selectGxtRepairOrderPersonList(gxtRepairOrderPerson);
+        return getDataTable(list);
+    }
+
+    /**
+     * 导出维修工单工作组员名单列表
+     */
+    @PreAuthorize("@ss.hasPermi('gxt:repairOrderPerson:export')")
+    @Log(title = "维修工单工作组员名单", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(HttpServletResponse response, GxtRepairOrderPerson gxtRepairOrderPerson)
+    {
+        List<GxtRepairOrderPerson> list = gxtRepairOrderPersonService.selectGxtRepairOrderPersonList(gxtRepairOrderPerson);
+        ExcelUtil<GxtRepairOrderPerson> util = new ExcelUtil<GxtRepairOrderPerson>(GxtRepairOrderPerson.class);
+        util.exportExcel(response, list, "维修工单工作组员名单数据");
+    }
+
+    /**
+     * 获取维修工单工作组员名单详细信息
+     */
+    @PreAuthorize("@ss.hasPermi('gxt:repairOrderPerson:query')")
+    @GetMapping(value = "/{id}")
+    public AjaxResult getInfo(@PathVariable("id") Long id)
+    {
+        return success(gxtRepairOrderPersonService.selectGxtRepairOrderPersonById(id));
+    }
+
+    /**
+     * 新增维修工单工作组员名单
+     */
+    @PreAuthorize("@ss.hasPermi('gxt:repairOrderPerson:add')")
+    @Log(title = "维修工单工作组员名单", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody GxtRepairOrderPerson gxtRepairOrderPerson)
+    {
+        return toAjax(gxtRepairOrderPersonService.insertGxtRepairOrderPerson(gxtRepairOrderPerson));
+    }
+
+    /**
+     * 修改维修工单工作组员名单
+     */
+    @PreAuthorize("@ss.hasPermi('gxt:repairOrderPerson:edit')")
+    @Log(title = "维修工单工作组员名单", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody GxtRepairOrderPerson gxtRepairOrderPerson)
+    {
+        return toAjax(gxtRepairOrderPersonService.updateGxtRepairOrderPerson(gxtRepairOrderPerson));
+    }
+
+    /**
+     * 删除维修工单工作组员名单
+     */
+    @PreAuthorize("@ss.hasPermi('gxt:repairOrderPerson:remove')")
+    @Log(title = "维修工单工作组员名单", businessType = BusinessType.DELETE)
+	@DeleteMapping("/{ids}")
+    public AjaxResult remove(@PathVariable Long[] ids)
+    {
+        return toAjax(gxtRepairOrderPersonService.deleteGxtRepairOrderPersonByIds(ids));
+    }
+}

+ 86 - 4
ygtx-gxt/src/main/java/com/ygtx/gxt/domain/GxtRepairOrder.java

@@ -25,7 +25,7 @@ public class GxtRepairOrder extends BaseEntity
     @Excel(name = "工单编码")
     private String workOrderProjectNo;
 
-    /** 工单状态:draft-草稿,to_assign-待派单,assigned-已派单,accepted-已接单,processing-处理中,paused-暂停中,to_approve-待审批,suspended-已挂起,completed-已完成 */
+    /** 工单状态:draft-草稿,to_assign-待派单,assigned-待接单,accepted-已接单,processing-处理中,paused-暂停中,to_approve-待审批,suspended-已挂起,to_be_finalized-待结单,completed-已完成 */
     @Excel(name = "工单状态")
     private String workOrderStatus;
 
@@ -114,8 +114,8 @@ public class GxtRepairOrder extends BaseEntity
     @Excel(name = "工作组成员姓名")
     private String workGroupMemberName;
 
-    /** 维内容 */
-    @Excel(name = "维内容")
+    /** 维内容 */
+    @Excel(name = "维内容")
     private String content;
 
     /** 预计工时(小时) */
@@ -144,6 +144,27 @@ public class GxtRepairOrder extends BaseEntity
     @Excel(name = "故障条纹")
     private String faultBarcode;
 
+    /** 挂起原因 */
+    private String suspendReason;
+
+    /** 挂起说明 */
+    private String suspendDescription;
+
+    /** 审批状态 */
+    private String approvalStatus;
+
+    /** 驳回原因 */
+    private String rejectionReason;
+
+    /** 结单说明 */
+    private String finalizationRemark;
+
+    /** 关联维保工单 */
+    private String relatedOrderCode;
+
+    /** 维保内容 */
+    private String relatedOrderContent;
+
     public void setId(Long id) 
     {
         this.id = id;
@@ -468,6 +489,62 @@ public class GxtRepairOrder extends BaseEntity
         this.faultBarcode = faultBarcode;
     }
 
+    public String getSuspendReason() {
+        return suspendReason;
+    }
+
+    public void setSuspendReason(String suspendReason) {
+        this.suspendReason = suspendReason;
+    }
+
+    public String getSuspendDescription() {
+        return suspendDescription;
+    }
+
+    public void setSuspendDescription(String suspendDescription) {
+        this.suspendDescription = suspendDescription;
+    }
+
+    public String getApprovalStatus() {
+        return approvalStatus;
+    }
+
+    public void setApprovalStatus(String approvalStatus) {
+        this.approvalStatus = approvalStatus;
+    }
+
+    public String getRejectionReason() {
+        return rejectionReason;
+    }
+
+    public void setRejectionReason(String rejectionReason) {
+        this.rejectionReason = rejectionReason;
+    }
+
+    public String getFinalizationRemark() {
+        return finalizationRemark;
+    }
+
+    public void setFinalizationRemark(String finalizationRemark) {
+        this.finalizationRemark = finalizationRemark;
+    }
+
+    public String getRelatedOrderCode() {
+        return relatedOrderCode;
+    }
+
+    public void setRelatedOrderCode(String relatedOrderCode) {
+        this.relatedOrderCode = relatedOrderCode;
+    }
+
+    public String getRelatedOrderContent() {
+        return relatedOrderContent;
+    }
+
+    public void setRelatedOrderContent(String relatedOrderContent) {
+        this.relatedOrderContent = relatedOrderContent;
+    }
+
     @Override
     public String toString() {
         return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
@@ -506,6 +583,11 @@ public class GxtRepairOrder extends BaseEntity
             .append("priorityType", getPriorityType())
             .append("score", getScore())
             .append("reviewContent", getReviewContent())
+            .append("suspendReason", getSuspendReason())
+            .append("suspendDescription", getSuspendDescription())
+            .append("approvalStatus", getApprovalStatus())
+            .append("rejectionReason", getRejectionReason())
+            .append("finalizationRemark", getFinalizationRemark())
             .toString();
     }
-}
+}

+ 117 - 0
ygtx-gxt/src/main/java/com/ygtx/gxt/domain/GxtRepairOrderPerson.java

@@ -0,0 +1,117 @@
+package com.ygtx.gxt.domain;
+
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+import com.ygtx.common.annotation.Excel;
+import com.ygtx.common.core.domain.BaseEntity;
+
+/**
+ * 维修工单工作组员名单对象 gxt_repair_order_person
+ * 
+ * @author ouyj
+ * @date 2025-11-01
+ */
+public class GxtRepairOrderPerson extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+    /** $column.columnComment */
+    private Long id;
+
+    /** 用户ID */
+    @Excel(name = "用户ID")
+    private Long userId;
+
+    /** 姓名 */
+    @Excel(name = "姓名")
+    private String nickName;
+
+    /** 工单ID */
+    @Excel(name = "工单ID")
+    private Long orderId;
+
+    /** 工单编号 */
+    @Excel(name = "工单编号")
+    private String orderCode;
+
+    /** 状态 */
+    @Excel(name = "状态")
+    private Integer status;
+
+    public void setId(Long id) 
+    {
+        this.id = id;
+    }
+
+    public Long getId() 
+    {
+        return id;
+    }
+
+    public void setUserId(Long userId) 
+    {
+        this.userId = userId;
+    }
+
+    public Long getUserId() 
+    {
+        return userId;
+    }
+
+    public void setNickName(String nickName) 
+    {
+        this.nickName = nickName;
+    }
+
+    public String getNickName() 
+    {
+        return nickName;
+    }
+
+    public void setOrderId(Long orderId) 
+    {
+        this.orderId = orderId;
+    }
+
+    public Long getOrderId() 
+    {
+        return orderId;
+    }
+
+    public void setOrderCode(String orderCode) 
+    {
+        this.orderCode = orderCode;
+    }
+
+    public String getOrderCode() 
+    {
+        return orderCode;
+    }
+
+    public void setStatus(Integer status) 
+    {
+        this.status = status;
+    }
+
+    public Integer getStatus() 
+    {
+        return status;
+    }
+
+    @Override
+    public String toString() {
+        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
+            .append("id", getId())
+            .append("userId", getUserId())
+            .append("nickName", getNickName())
+            .append("orderId", getOrderId())
+            .append("orderCode", getOrderCode())
+            .append("status", getStatus())
+            .append("createBy", getCreateBy())
+            .append("createTime", getCreateTime())
+            .append("updateBy", getUpdateBy())
+            .append("updateTime", getUpdateTime())
+            .append("remark", getRemark())
+            .toString();
+    }
+}

+ 61 - 0
ygtx-gxt/src/main/java/com/ygtx/gxt/mapper/GxtRepairOrderPersonMapper.java

@@ -0,0 +1,61 @@
+package com.ygtx.gxt.mapper;
+
+import java.util.List;
+import com.ygtx.gxt.domain.GxtRepairOrderPerson;
+
+/**
+ * 维修工单工作组员名单Mapper接口
+ * 
+ * @author ouyj
+ * @date 2025-11-01
+ */
+public interface GxtRepairOrderPersonMapper 
+{
+    /**
+     * 查询维修工单工作组员名单
+     * 
+     * @param id 维修工单工作组员名单主键
+     * @return 维修工单工作组员名单
+     */
+    public GxtRepairOrderPerson selectGxtRepairOrderPersonById(Long id);
+
+    /**
+     * 查询维修工单工作组员名单列表
+     * 
+     * @param gxtRepairOrderPerson 维修工单工作组员名单
+     * @return 维修工单工作组员名单集合
+     */
+    public List<GxtRepairOrderPerson> selectGxtRepairOrderPersonList(GxtRepairOrderPerson gxtRepairOrderPerson);
+
+    /**
+     * 新增维修工单工作组员名单
+     * 
+     * @param gxtRepairOrderPerson 维修工单工作组员名单
+     * @return 结果
+     */
+    public int insertGxtRepairOrderPerson(GxtRepairOrderPerson gxtRepairOrderPerson);
+
+    /**
+     * 修改维修工单工作组员名单
+     * 
+     * @param gxtRepairOrderPerson 维修工单工作组员名单
+     * @return 结果
+     */
+    public int updateGxtRepairOrderPerson(GxtRepairOrderPerson gxtRepairOrderPerson);
+
+    /**
+     * 删除维修工单工作组员名单
+     * 
+     * @param id 维修工单工作组员名单主键
+     * @return 结果
+     */
+    public int deleteGxtRepairOrderPersonById(Long id);
+
+    /**
+     * 批量删除维修工单工作组员名单
+     * 
+     * @param ids 需要删除的数据主键集合
+     * @return 结果
+     */
+    public int deleteGxtRepairOrderPersonByIds(Long[] ids);
+}

+ 61 - 0
ygtx-gxt/src/main/java/com/ygtx/gxt/service/IGxtRepairOrderPersonService.java

@@ -0,0 +1,61 @@
+package com.ygtx.gxt.service;
+
+import java.util.List;
+import com.ygtx.gxt.domain.GxtRepairOrderPerson;
+
+/**
+ * 维修工单工作组员名单Service接口
+ * 
+ * @author ouyj
+ * @date 2025-11-01
+ */
+public interface IGxtRepairOrderPersonService 
+{
+    /**
+     * 查询维修工单工作组员名单
+     * 
+     * @param id 维修工单工作组员名单主键
+     * @return 维修工单工作组员名单
+     */
+    public GxtRepairOrderPerson selectGxtRepairOrderPersonById(Long id);
+
+    /**
+     * 查询维修工单工作组员名单列表
+     * 
+     * @param gxtRepairOrderPerson 维修工单工作组员名单
+     * @return 维修工单工作组员名单集合
+     */
+    public List<GxtRepairOrderPerson> selectGxtRepairOrderPersonList(GxtRepairOrderPerson gxtRepairOrderPerson);
+
+    /**
+     * 新增维修工单工作组员名单
+     * 
+     * @param gxtRepairOrderPerson 维修工单工作组员名单
+     * @return 结果
+     */
+    public int insertGxtRepairOrderPerson(GxtRepairOrderPerson gxtRepairOrderPerson);
+
+    /**
+     * 修改维修工单工作组员名单
+     * 
+     * @param gxtRepairOrderPerson 维修工单工作组员名单
+     * @return 结果
+     */
+    public int updateGxtRepairOrderPerson(GxtRepairOrderPerson gxtRepairOrderPerson);
+
+    /**
+     * 批量删除维修工单工作组员名单
+     * 
+     * @param ids 需要删除的维修工单工作组员名单主键集合
+     * @return 结果
+     */
+    public int deleteGxtRepairOrderPersonByIds(Long[] ids);
+
+    /**
+     * 删除维修工单工作组员名单信息
+     * 
+     * @param id 维修工单工作组员名单主键
+     * @return 结果
+     */
+    public int deleteGxtRepairOrderPersonById(Long id);
+}

+ 27 - 2
ygtx-gxt/src/main/java/com/ygtx/gxt/service/IGxtRepairOrderService.java

@@ -2,6 +2,7 @@ package com.ygtx.gxt.service;
 
 import java.util.List;
 import com.ygtx.gxt.domain.GxtRepairOrder;
+import com.ygtx.gxt.domain.GxtWorkOrder;
 
 /**
  * 维修工单Service接口
@@ -100,12 +101,12 @@ public interface IGxtRepairOrderService
     public int resumeGxtRepairOrder(GxtRepairOrder gxtRepairOrder);
     
     /**
-     * 完成维修工单
+     * 维修处理完成(进入待结单状态)
      * 
      * @param gxtRepairOrder 维修工单
      * @return 结果
      */
-    public int completeGxtRepairOrder(GxtRepairOrder gxtRepairOrder);
+    public int processDoneGxtRepairOrder(GxtRepairOrder gxtRepairOrder);
     
     /**
      * 评分维修工单
@@ -114,4 +115,28 @@ public interface IGxtRepairOrderService
      * @return 结果
      */
     public int ratingGxtRepairOrder(GxtRepairOrder gxtRepairOrder);
+    
+    /**
+     * 挂起维修工单
+     * 
+     * @param gxtRepairOrder 维修工单
+     * @return 结果
+     */
+    public int suspendGxtRepairOrder(GxtRepairOrder gxtRepairOrder);
+    
+    /**
+     * 审批挂起维修工单
+     * 
+     * @param gxtRepairOrder 维修工单
+     * @return 结果
+     */
+    public int approveSuspendGxtRepairOrder(GxtRepairOrder gxtRepairOrder);
+    
+    /**
+     * 正式结单(完结工单)
+     * 
+     * @param gxtRepairOrder 维修工单
+     * @return 结果
+     */
+    public int finalizeGxtRepairOrder(GxtRepairOrder gxtRepairOrder);
 }

+ 96 - 0
ygtx-gxt/src/main/java/com/ygtx/gxt/service/impl/GxtRepairOrderPersonServiceImpl.java

@@ -0,0 +1,96 @@
+package com.ygtx.gxt.service.impl;
+
+import java.util.List;
+import com.ygtx.common.utils.DateUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import com.ygtx.gxt.mapper.GxtRepairOrderPersonMapper;
+import com.ygtx.gxt.domain.GxtRepairOrderPerson;
+import com.ygtx.gxt.service.IGxtRepairOrderPersonService;
+
+/**
+ * 维修工单工作组员名单Service业务层处理
+ * 
+ * @author ouyj
+ * @date 2025-11-01
+ */
+@Service
+public class GxtRepairOrderPersonServiceImpl implements IGxtRepairOrderPersonService 
+{
+    @Autowired
+    private GxtRepairOrderPersonMapper gxtRepairOrderPersonMapper;
+
+    /**
+     * 查询维修工单工作组员名单
+     * 
+     * @param id 维修工单工作组员名单主键
+     * @return 维修工单工作组员名单
+     */
+    @Override
+    public GxtRepairOrderPerson selectGxtRepairOrderPersonById(Long id)
+    {
+        return gxtRepairOrderPersonMapper.selectGxtRepairOrderPersonById(id);
+    }
+
+    /**
+     * 查询维修工单工作组员名单列表
+     * 
+     * @param gxtRepairOrderPerson 维修工单工作组员名单
+     * @return 维修工单工作组员名单
+     */
+    @Override
+    public List<GxtRepairOrderPerson> selectGxtRepairOrderPersonList(GxtRepairOrderPerson gxtRepairOrderPerson)
+    {
+        return gxtRepairOrderPersonMapper.selectGxtRepairOrderPersonList(gxtRepairOrderPerson);
+    }
+
+    /**
+     * 新增维修工单工作组员名单
+     * 
+     * @param gxtRepairOrderPerson 维修工单工作组员名单
+     * @return 结果
+     */
+    @Override
+    public int insertGxtRepairOrderPerson(GxtRepairOrderPerson gxtRepairOrderPerson)
+    {
+        gxtRepairOrderPerson.setCreateTime(DateUtils.getNowDate());
+        return gxtRepairOrderPersonMapper.insertGxtRepairOrderPerson(gxtRepairOrderPerson);
+    }
+
+    /**
+     * 修改维修工单工作组员名单
+     * 
+     * @param gxtRepairOrderPerson 维修工单工作组员名单
+     * @return 结果
+     */
+    @Override
+    public int updateGxtRepairOrderPerson(GxtRepairOrderPerson gxtRepairOrderPerson)
+    {
+        gxtRepairOrderPerson.setUpdateTime(DateUtils.getNowDate());
+        return gxtRepairOrderPersonMapper.updateGxtRepairOrderPerson(gxtRepairOrderPerson);
+    }
+
+    /**
+     * 批量删除维修工单工作组员名单
+     * 
+     * @param ids 需要删除的维修工单工作组员名单主键
+     * @return 结果
+     */
+    @Override
+    public int deleteGxtRepairOrderPersonByIds(Long[] ids)
+    {
+        return gxtRepairOrderPersonMapper.deleteGxtRepairOrderPersonByIds(ids);
+    }
+
+    /**
+     * 删除维修工单工作组员名单信息
+     * 
+     * @param id 维修工单工作组员名单主键
+     * @return 结果
+     */
+    @Override
+    public int deleteGxtRepairOrderPersonById(Long id)
+    {
+        return gxtRepairOrderPersonMapper.deleteGxtRepairOrderPersonById(id);
+    }
+}

+ 156 - 14
ygtx-gxt/src/main/java/com/ygtx/gxt/service/impl/GxtRepairOrderServiceImpl.java

@@ -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;
+    }
 }

+ 36 - 1
ygtx-gxt/src/main/resources/mapper/gxt/GxtRepairOrderMapper.xml

@@ -43,10 +43,17 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="maintenanceType"    column="maintenance_type"    />
         <result property="occurTime"    column="occur_time"    />
         <result property="faultBarcode"    column="fault_barcode"    />
+        <result property="suspendReason"    column="suspend_reason"    />
+        <result property="suspendDescription"    column="suspend_description"    />
+        <result property="approvalStatus"    column="approval_status"    />
+        <result property="rejectionReason"    column="rejection_reason"    />
+        <result property="finalizationRemark"    column="finalization_remark"    />
+        <result property="relatedOrderCode"    column="related_order_code"    />
+        <result property="relatedOrderContent"    column="related_order_content"    />
     </resultMap>
 
     <sql id="selectGxtRepairOrderVo">
-        select id, work_order_project_no, work_order_status, gxt_center_id, gxt_center, pcs_station_id, pcs_station_name, pcs_device_id, pcs_device_name, brand, model, fault_code, fault_desc, assign_time, assign_user_id, assign_user_name, accept_time, accept_user_id, accept_user_name, real_start_time, real_end_time, team_leader_id, team_leader_name, work_group_member_id, work_group_member_name, create_by, create_time, update_by, update_time, remark, content, plan_hour, priority_type, score, review_content, maintenance_type, occur_time, fault_barcode from gxt_repair_order
+        select id, work_order_project_no, work_order_status, gxt_center_id, gxt_center, pcs_station_id, pcs_station_name, pcs_device_id, pcs_device_name, brand, model, fault_code, fault_desc, assign_time, assign_user_id, assign_user_name, accept_time, accept_user_id, accept_user_name, real_start_time, real_end_time, team_leader_id, team_leader_name, work_group_member_id, work_group_member_name, create_by, create_time, update_by, update_time, remark, content, plan_hour, priority_type, score, review_content, maintenance_type, occur_time, fault_barcode, suspend_reason, suspend_description, approval_status, rejection_reason, finalization_remark, related_order_code, related_order_content from gxt_repair_order
     </sql>
 
     <select id="selectGxtRepairOrderList" parameterType="GxtRepairOrder" resultMap="GxtRepairOrderResult">
@@ -84,6 +91,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="maintenanceType != null  and maintenanceType != ''"> and maintenance_type = #{maintenanceType}</if>
             <if test="occurTime != null "> and occur_time = #{occurTime}</if>
             <if test="faultBarcode != null  and faultBarcode != ''"> and fault_barcode = #{faultBarcode}</if>
+            <if test="suspendReason != null  and suspendReason != ''"> and suspend_reason = #{suspendReason}</if>
+            <if test="suspendDescription != null  and suspendDescription != ''"> and suspend_description = #{suspendDescription}</if>
+            <if test="approvalStatus != null  and approvalStatus != ''"> and approval_status = #{approvalStatus}</if>
+            <if test="rejectionReason != null  and rejectionReason != ''"> and rejection_reason = #{rejectionReason}</if>
+            <if test="finalizationRemark != null  and finalizationRemark != ''"> and finalization_remark = #{finalizationRemark}</if>
+            <if test="relatedOrderCode != null  and relatedOrderCode != ''"> and related_order_code = #{relatedOrderCode}</if>
+            <if test="relatedOrderContent != null  and relatedOrderContent != ''"> and related_order_content = #{relatedOrderContent}</if>
         </where>
     </select>
     
@@ -132,6 +146,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="maintenanceType != null">maintenance_type,</if>
             <if test="occurTime != null">occur_time,</if>
             <if test="faultBarcode != null">fault_barcode,</if>
+            <if test="suspendReason != null">suspend_reason,</if>
+            <if test="suspendDescription != null">suspend_description,</if>
+            <if test="approvalStatus != null">approval_status,</if>
+            <if test="rejectionReason != null">rejection_reason,</if>
+            <if test="finalizationRemark != null">finalization_remark,</if>
+            <if test="relatedOrderCode != null">related_order_code,</if>
+            <if test="relatedOrderContent != null">related_order_content,</if>
          </trim>
         <trim prefix="values (" suffix=")" suffixOverrides=",">
             <if test="workOrderProjectNo != null and workOrderProjectNo != ''">#{workOrderProjectNo},</if>
@@ -171,6 +192,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="maintenanceType != null">#{maintenanceType},</if>
             <if test="occurTime != null">#{occurTime},</if>
             <if test="faultBarcode != null">#{faultBarcode},</if>
+            <if test="suspendReason != null">#{suspendReason},</if>
+            <if test="suspendDescription != null">#{suspendDescription},</if>
+            <if test="approvalStatus != null">#{approvalStatus},</if>
+            <if test="rejectionReason != null">#{rejectionReason},</if>
+            <if test="finalizationRemark != null">#{finalizationRemark},</if>
+            <if test="relatedOrderCode != null">#{relatedOrderCode},</if>
+            <if test="relatedOrderContent != null">#{relatedOrderContent},</if>
          </trim>
     </insert>
 
@@ -214,6 +242,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="maintenanceType != null">maintenance_type = #{maintenanceType},</if>
             <if test="occurTime != null">occur_time = #{occurTime},</if>
             <if test="faultBarcode != null">fault_barcode = #{faultBarcode},</if>
+            <if test="suspendReason != null">suspend_reason = #{suspendReason},</if>
+            <if test="suspendDescription != null">suspend_description = #{suspendDescription},</if>
+            <if test="approvalStatus != null">approval_status = #{approvalStatus},</if>
+            <if test="rejectionReason != null">rejection_reason = #{rejectionReason},</if>
+            <if test="finalizationRemark != null">finalization_remark = #{finalizationRemark},</if>
+            <if test="relatedOrderCode != null">related_order_code = #{relatedOrderCode},</if>
+            <if test="relatedOrderContent != null">related_order_content = #{relatedOrderContent},</if>
         </trim>
         where id = #{id}
     </update>

+ 96 - 0
ygtx-gxt/src/main/resources/mapper/gxt/GxtRepairOrderPersonMapper.xml

@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ygtx.gxt.mapper.GxtRepairOrderPersonMapper">
+    
+    <resultMap type="GxtRepairOrderPerson" id="GxtRepairOrderPersonResult">
+        <result property="id"    column="id"    />
+        <result property="userId"    column="user_id"    />
+        <result property="nickName"    column="nick_name"    />
+        <result property="orderId"    column="order_id"    />
+        <result property="orderCode"    column="order_code"    />
+        <result property="status"    column="status"    />
+        <result property="createBy"    column="create_by"    />
+        <result property="createTime"    column="create_time"    />
+        <result property="updateBy"    column="update_by"    />
+        <result property="updateTime"    column="update_time"    />
+        <result property="remark"    column="remark"    />
+    </resultMap>
+
+    <sql id="selectGxtRepairOrderPersonVo">
+        select id, user_id, nick_name, order_id, order_code, status, create_by, create_time, update_by, update_time, remark from gxt_repair_order_person
+    </sql>
+
+    <select id="selectGxtRepairOrderPersonList" parameterType="GxtRepairOrderPerson" resultMap="GxtRepairOrderPersonResult">
+        <include refid="selectGxtRepairOrderPersonVo"/>
+        <where>  
+            <if test="userId != null "> and user_id = #{userId}</if>
+            <if test="nickName != null  and nickName != ''"> and nick_name like concat('%', #{nickName}, '%')</if>
+            <if test="orderId != null "> and order_id = #{orderId}</if>
+            <if test="orderCode != null  and orderCode != ''"> and order_code = #{orderCode}</if>
+            <if test="status != null "> and status = #{status}</if>
+        </where>
+    </select>
+    
+    <select id="selectGxtRepairOrderPersonById" parameterType="Long" resultMap="GxtRepairOrderPersonResult">
+        <include refid="selectGxtRepairOrderPersonVo"/>
+        where id = #{id}
+    </select>
+
+    <insert id="insertGxtRepairOrderPerson" parameterType="GxtRepairOrderPerson" useGeneratedKeys="true" keyProperty="id">
+        insert into gxt_repair_order_person
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="userId != null">user_id,</if>
+            <if test="nickName != null">nick_name,</if>
+            <if test="orderId != null">order_id,</if>
+            <if test="orderCode != null">order_code,</if>
+            <if test="status != null">status,</if>
+            <if test="createBy != null">create_by,</if>
+            <if test="createTime != null">create_time,</if>
+            <if test="updateBy != null">update_by,</if>
+            <if test="updateTime != null">update_time,</if>
+            <if test="remark != null">remark,</if>
+         </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="userId != null">#{userId},</if>
+            <if test="nickName != null">#{nickName},</if>
+            <if test="orderId != null">#{orderId},</if>
+            <if test="orderCode != null">#{orderCode},</if>
+            <if test="status != null">#{status},</if>
+            <if test="createBy != null">#{createBy},</if>
+            <if test="createTime != null">#{createTime},</if>
+            <if test="updateBy != null">#{updateBy},</if>
+            <if test="updateTime != null">#{updateTime},</if>
+            <if test="remark != null">#{remark},</if>
+         </trim>
+    </insert>
+
+    <update id="updateGxtRepairOrderPerson" parameterType="GxtRepairOrderPerson">
+        update gxt_repair_order_person
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="userId != null">user_id = #{userId},</if>
+            <if test="nickName != null">nick_name = #{nickName},</if>
+            <if test="orderId != null">order_id = #{orderId},</if>
+            <if test="orderCode != null">order_code = #{orderCode},</if>
+            <if test="status != null">status = #{status},</if>
+            <if test="createBy != null">create_by = #{createBy},</if>
+            <if test="createTime != null">create_time = #{createTime},</if>
+            <if test="updateBy != null">update_by = #{updateBy},</if>
+            <if test="updateTime != null">update_time = #{updateTime},</if>
+            <if test="remark != null">remark = #{remark},</if>
+        </trim>
+        where id = #{id}
+    </update>
+
+    <delete id="deleteGxtRepairOrderPersonById" parameterType="Long">
+        delete from gxt_repair_order_person where id = #{id}
+    </delete>
+
+    <delete id="deleteGxtRepairOrderPersonByIds" parameterType="String">
+        delete from gxt_repair_order_person where id in 
+        <foreach item="id" collection="array" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </delete>
+</mapper>

+ 33 - 4
ygtx-ui/src/api/gxt/repairOrder.js

@@ -1,4 +1,5 @@
 import request from '@/utils/request'
+import { listGxtOrder } from '@/api/gxt/gxtOrder'
 
 // 查询维修工单列表
 export function listRepairOrder(query) {
@@ -70,6 +71,24 @@ export function startRepairOrder(data) {
   })
 }
 
+// 挂起维修工单
+export function suspendRepairOrder(data) {
+  return request({
+    url: '/gxt/repairOrder/suspend',
+    method: 'put',
+    data: data
+  })
+}
+
+// 审批挂起维修工单
+export function approveSuspendRepairOrder(data) {
+  return request({
+    url: '/gxt/repairOrder/approve',
+    method: 'put',
+    data: data
+  })
+}
+
 // 暂停维修工单
 export function pauseRepairOrder(data) {
   return request({
@@ -88,10 +107,19 @@ export function resumeRepairOrder(data) {
   })
 }
 
-// 完成维修工单
-export function completeRepairOrder(data) {
+// 维修工单处理完成(进入待结单状态)
+export function processDoneRepairOrder(data) {
+  return request({
+    url: '/gxt/repairOrder/processDone',
+    method: 'put',
+    data: data
+  })
+}
+
+// 正式结单(完结工单)
+export function finalizeRepairOrder(data) {
   return request({
-    url: '/gxt/repairOrder/complete',
+    url: '/gxt/repairOrder/finalize',
     method: 'put',
     data: data
   })
@@ -104,4 +132,5 @@ export function ratingRepairOrder(data) {
     method: 'put',
     data: data
   })
-}
+}
+

+ 44 - 0
ygtx-ui/src/api/gxt/repairOrderPerson.js

@@ -0,0 +1,44 @@
+import request from '@/utils/request'
+
+// 查询维修工单工作组员名单列表
+export function listRepairOrderPerson(query) {
+  return request({
+    url: '/gxt/repairOrderPerson/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询维修工单工作组员名单详细
+export function getRepairOrderPerson(id) {
+  return request({
+    url: '/gxt/repairOrderPerson/' + id,
+    method: 'get'
+  })
+}
+
+// 新增维修工单工作组员名单
+export function addRepairOrderPerson(data) {
+  return request({
+    url: '/gxt/repairOrderPerson',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改维修工单工作组员名单
+export function updateRepairOrderPerson(data) {
+  return request({
+    url: '/gxt/repairOrderPerson',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除维修工单工作组员名单
+export function delRepairOrderPerson(id) {
+  return request({
+    url: '/gxt/repairOrderPerson/' + id,
+    method: 'delete'
+  })
+}

File diff suppressed because it is too large
+ 453 - 295
ygtx-ui/src/views/gxt/repairOrder/index.vue


Some files were not shown because too many files changed in this diff