Преглед изворни кода

增加批量关单;取消删除员工的在途工单限制;工单除最后4个状态都增加关单按钮;移动端修改

wanxl пре 1 година
родитељ
комит
8310f3b2ef

+ 28 - 2
src/main/java/com/repair/controller/RepairRecordController.java

@@ -876,6 +876,9 @@ public class RepairRecordController implements RepairRecordControllerAPI {
             case 4://待审核
                 result = repairRecordService.queryExamineOrderList(currentPage, pageCount, userId, user.getSchoolId());
                 break;
+            case 5://待支付、待确认
+                result = repairRecordService.queryRepairOrderList(currentPage, pageCount, userId, dateNow, user.getSchoolId());
+                break;
             default:
                 break;
         }
@@ -4241,8 +4244,28 @@ public class RepairRecordController implements RepairRecordControllerAPI {
             return CommonResult.fail("订单不存在,关单失败!");
         }
 
-        //待接单才能关单
-        if (recordData.getMaintenanceState() != eRecordStatu.Dispatch.getValue()) {
+        RepairUser repairUser=repairUserService.getRepairById(Integer.parseInt(userId));
+
+        //郭师傅和后勤不限状态都能关单
+        if(repairUser!=null&&(repairUser.getUserZzid()==2||repairUser.getUserZzid()==3)){
+            //已关闭
+            if (recordData.getMaintenanceState() == eRecordStatu.Closed.getValue()) {
+                return CommonResult.fail("工单已关闭");
+            }
+            //已取消
+            if (recordData.getMaintenanceState() == eRecordStatu.Canceled.getValue()) {
+                return CommonResult.fail("工单已取消");
+            }
+            //已完成
+            if (recordData.getMaintenanceState() == eRecordStatu.Finished.getValue()) {
+                return CommonResult.fail("工单已完成");
+            }
+            //已转线下
+            if (recordData.getMaintenanceState() == eRecordStatu.Offline.getValue()) {
+                return CommonResult.fail("工单已转线下");
+            }
+        }else if (recordData.getMaintenanceState() != eRecordStatu.Dispatch.getValue()) {
+            //待接单才能关单--维修师傅
             return CommonResult.fail("待接单状态的工单才能关闭");
         }
 
@@ -4893,6 +4916,9 @@ public class RepairRecordController implements RepairRecordControllerAPI {
             case 8:
                 result = repairRecordService.queryTeamWorkOffline(currentPage, pageCount, schoolId);
                 break;
+            case 9:
+                result = repairRecordService.queryTeamWorkPay(currentPage, pageCount, schoolId);
+                break;
             default:
                 break;
         }

+ 3 - 0
src/main/java/com/repair/mapper/RepairRecordMapper.java

@@ -2,6 +2,7 @@ package com.repair.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.repair.model.pojo.RepairRecord;
 import com.repair.model.vo.*;
 import org.apache.ibatis.annotations.Param;
@@ -59,6 +60,8 @@ public interface RepairRecordMapper extends BaseMapper<RepairRecord> {
 
     IPage<RepairTechnicianVo> queryTeamWorkOffline(IPage<RepairTechnicianVo> page,@Param("schoolId") Integer schoolId);
 
+    IPage<RepairTechnicianVo> queryTeamWorkPay(Page<RepairTechnicianVo> page, @Param("schoolId")Integer schoolId);
+
     List<ReportExportVo> queryNotTimeoutReportExport(String stateStr, String keyWord, String startTime, String endTime, Integer schoolId);
 
     List<ReportExportVo> queryTimeoutReportExport(String keyWord, String startTime, String endTime, Integer schoolId);

+ 5 - 0
src/main/java/com/repair/model/vo/MaintenanceTechnicianVo.java

@@ -21,6 +21,11 @@ public class MaintenanceTechnicianVo {
     private int maintenanceCount;
 
     /**
+     * 待支付
+     */
+//    private int stayPayCount;
+
+    /**
      * 已超时
      */
    // private int timeoutCount;//待取消

+ 5 - 0
src/main/java/com/repair/model/vo/TeamWorkCountVo.java

@@ -50,4 +50,9 @@ public class TeamWorkCountVo {
      * 转线下
      */
     private int offlineCount;
+
+    /**
+     * 转线下
+     */
+    private int stayPayCount;
 }

+ 2 - 0
src/main/java/com/repair/services/RepairRecordService.java

@@ -69,6 +69,8 @@ public interface RepairRecordService extends IService<RepairRecord> {
 
     PageUtils<RepairTechnicianVo> queryTeamWorkOffline(int currentPage, int pageCount, Integer schoolId);
 
+    PageUtils<RepairTechnicianVo> queryTeamWorkPay(int currentPage, int pageCount, Integer schoolId);
+
     List<ReportExportVo> queryNotTimeoutReportExport(String stateStr, String keyWord, String startTime, String endTime, Integer schoolId);
 
     RepairRecord queryRepairByRecordno(String recordNo);

+ 9 - 0
src/main/java/com/repair/services/impl/RepairRecordServiceImpl.java

@@ -244,6 +244,15 @@ public class RepairRecordServiceImpl extends ServiceImpl<RepairRecordMapper, Rep
     }
 
     @Override
+    public PageUtils<RepairTechnicianVo> queryTeamWorkPay(int currentPage, int pageCount, Integer schoolId) {
+        Page<RepairTechnicianVo> page = new Page<>();
+        page.setCurrent(currentPage);
+        page.setSize(pageCount);
+        IPage<RepairTechnicianVo> result = repairRecordMapper.queryTeamWorkPay(page, schoolId);
+        return new PageUtils(result);
+    }
+
+    @Override
     public RepairRecord queryRepairByRecordno(String recordNo) {
         QueryWrapper<RepairRecord> queryWrapper = new QueryWrapper<>();
         queryWrapper.eq("record_no", recordNo);

+ 2 - 1
src/main/java/com/repair/services/impl/RepairShiftSettingsServiceImpl.java

@@ -82,7 +82,8 @@ public class RepairShiftSettingsServiceImpl extends ServiceImpl<RepairShiftSetti
     public List<RepairShiftSettings> getRepairsByShiftIds(List<String> shiftIds, String dateNow) {
         QueryWrapper<RepairShiftSettings> queryWrapper = new QueryWrapper();
         queryWrapper.in("id", shiftIds);
-        queryWrapper.gt("end_time", dateNow);
+        //取消下班时间限制
+//        queryWrapper.gt("end_time", dateNow);
         queryWrapper.orderByDesc("end_time");
         List<RepairShiftSettings> result = repairShiftSettingsMapper.selectList(queryWrapper);
         return result;

+ 13 - 0
src/main/resources/mapper/repair/RepairRecordMapper.xml

@@ -647,6 +647,7 @@
        <!-- <result property="timeoutCount" column="timeout_count"/>-->
         <result property="closedCount" column="closed_count"/>
         <result property="offlineCount" column="offline_count"/>
+        <result property="stayPayCount" column="stayPayCount"/>
     </resultMap>
 
     <select id="queryTeamWorkCount" resultType="com.repair.model.vo.TeamWorkCountVo" resultMap="teamWorkOrderMap">
@@ -680,6 +681,8 @@
         where rr7.deleted = 0 and rr7.school_id = #{schoolId} and rr7.maintenance_state = 7) as finished_count,
         (select Count(*) from repair_record rr9
         where rr9.deleted = 0 and rr9.school_id = #{schoolId} and rr9.maintenance_state = 3) as logistics_count,
+        (select Count(*) from repair_record rr9
+         where rr9.deleted = 0 and rr9.school_id = #{schoolId} and rr9.maintenance_state = 4) as stayPayCount,
         (SELECT count(*) as cs FROM (
         select rdr.users_id as user_id,rr.maintenance_state,rr.article_id,rr.id,rr.record_no,rr.report_time,rr.user_name,rr.user_phone,rr.area_id as area_name,rr.address,rr.description,rr.image,rr.maintenancer_name,rr.maintenancer_phone,rr.price  from repair_record rr
         inner join repair_dispatch_record rdr on rdr.deleted = 0 and rdr.record_id = rr.id and rdr.is_lose_efficacy = 0
@@ -763,6 +766,16 @@
         order by rr.report_time DESC
     </select>
 
+    <!--待处理/待支付-->
+    <select id="queryTeamWorkPay" resultType="com.repair.model.vo.RepairTechnicianVo"
+            resultMap="repairRecordTechnicianDataMap">
+        select rr.voice,rr.voice_length,rr.finish_voice,rr.finish_voice_length,rr.id,rr.record_no,rr.report_time,rr.user_name,rr.user_phone,rr.area_id as area_name,rr.address,rat.name as article_name ,rr.description,rr.image,'待支付' as state,rr.maintenancer_name,rr.maintenancer_phone,rr.price,rr.user_class
+        from repair_record rr
+                 left join repair_article_type rat on rat.deleted = 0 and rat.id = rr.article_id
+        where rr.deleted = 0 and rr.school_id = #{schoolId} and rr.maintenance_state = 4
+        order by rr.report_time DESC
+    </select>
+
     <!--已超时-->
     <select id="queryTeamWorkTimeout" resultType="com.repair.model.vo.RepairTechnicianVo"
             resultMap="repairRecordTechnicianDataMap">