Quellcode durchsuchen

维修工单后台

elis vor 2 Jahren
Ursprung
Commit
5843a3d486
20 geänderte Dateien mit 241 neuen und 108 gelöschten Zeilen
  1. 18 0
      naqwzsjtj/naqwzsjtj/src/api/repair.js
  2. 1 1
      naqwzsjtj/naqwzsjtj/src/router/index.js
  3. 54 41
      naqwzsjtj/naqwzsjtj/src/views/repair/RepairWorker.vue
  4. 12 9
      naqwzsjtj/naqwzsjtj/src/views/repair/WorkOrder.vue
  5. 1 0
      naqwzsjtj/naqwzsjtj/src/views/repair/components/WorkerDialog.vue
  6. 11 2
      nngkxxdp/src/main/java/com/example/nngkxxdp/program/controller/SRepairController.java
  7. 11 6
      nngkxxdp/src/main/java/com/example/nngkxxdp/program/controller/SWorkerController.java
  8. 2 1
      nngkxxdp/src/main/java/com/example/nngkxxdp/program/dao/AppletUserDao.java
  9. 1 1
      nngkxxdp/src/main/java/com/example/nngkxxdp/program/dao/SRepairDao.java
  10. 2 0
      nngkxxdp/src/main/java/com/example/nngkxxdp/program/dao/SWorkerDao.java
  11. 39 0
      nngkxxdp/src/main/java/com/example/nngkxxdp/program/entity/DTO/RepairDTO.java
  12. 2 0
      nngkxxdp/src/main/java/com/example/nngkxxdp/program/entity/vo/WorkerPageVo.java
  13. 17 3
      nngkxxdp/src/main/java/com/example/nngkxxdp/program/service/Impl/SRepairServiceImpl.java
  14. 11 3
      nngkxxdp/src/main/java/com/example/nngkxxdp/program/service/Impl/SWorkerServiceImpl.java
  15. 5 2
      nngkxxdp/src/main/java/com/example/nngkxxdp/program/service/SRepairService.java
  16. 3 1
      nngkxxdp/src/main/java/com/example/nngkxxdp/program/service/SWorkerService.java
  17. 1 0
      nngkxxdp/src/main/java/com/example/nngkxxdp/util/ConstStr.java
  18. 2 2
      nngkxxdp/src/main/resources/mapper/AppletUserDao.xml
  19. 35 14
      nngkxxdp/src/main/resources/mapper/SRepairDao.xml
  20. 13 22
      nngkxxdp/src/main/resources/mapper/SWorkerDao.xml

+ 18 - 0
naqwzsjtj/naqwzsjtj/src/api/repair.js

@@ -13,5 +13,23 @@ export default {
   },
   canteenPage(data) {
     return request.get('canteen/page', data)
+  },
+  queryByRepair(data){
+    return request.get('repair/queryByPage',data)
+  },
+  getFoodPicByPicId(data) {
+    return request.get('food/getFoodPicByPicId', data)
+  },
+  setAssign(data){
+    return request.get("repair/setAssign",data)
+  },
+  getWxUser(data){
+    return request.get("repair/getUserName",data)
+  },
+  removeOrder(data){
+    return request.get("repair/deleteById",data)
+  },
+  removeWorker(data){
+    return request.get("worker/deleteById",data)
   }
 }

+ 1 - 1
naqwzsjtj/naqwzsjtj/src/router/index.js

@@ -233,7 +233,7 @@ export const constantRoutes = [{
         component: RepairWorker,
         name: 'RepairWorker',
         meta: {
-          title: '工人管理'
+          title: '权限用户管理'
         }
       }, {
         path: 'work',

+ 54 - 41
naqwzsjtj/naqwzsjtj/src/views/repair/RepairWorker.vue

@@ -6,7 +6,7 @@
         <el-button type="primary" class="add" @click="openAddWork">新增</el-button>
       </div>
       <div style="display: flex">
-        <el-input v-model.trim="query.nameOrNumb" clearable placeholder="请输入工人名称或手机号"
+        <el-input v-model.trim="query.nameOrNumb" clearable placeholder="请输入姓名或手机号"
           style="margin: 0 10px; width: 200px" />
         <el-button type="primary" class="search" @click="searchData">搜索</el-button>
         <el-button type="primary" class="search" @click="reset" style="margin-left: 5px">重置</el-button>
@@ -24,15 +24,14 @@
         </template>
       </el-table-column>
       <el-table-column prop="name" label="姓名" :show-overflow-tooltip="true" min-width="160" />
-      <el-table-column prop="region" :show-overflow-tooltip="true" label="负责区域" />
       <el-table-column prop="phoneNum" :show-overflow-tooltip="true" label="联系电话" />
-      <el-table-column prop="status" :show-overflow-tooltip="true" label="当前状态" :formatter = "statusFormat" />
+      <el-table-column prop="role" :show-overflow-tooltip="true" label="角色" :formatter = "statusFormat" />
       <el-table-column prop="createTime" :show-overflow-tooltip="true" label="创建时间" width="160" />
       <el-table-column prop="updateTime" :show-overflow-tooltip="true" label="更新时间" width="160" />
       <el-table-column label="操作" width="140">
         <template slot-scope="scope">
-          <el-button class="but" type="primary" @click="openModifyWorkDialog(scope.row)">
-            编辑</el-button>
+<!--          <el-button class="but" type="primary" @click="openModifyWorkDialog(scope.row)">-->
+<!--            编辑</el-button>-->
           <el-button class="but" type="danger" @click="handleDelete(scope.row.id, scope.$index)">删除
           </el-button>
         </template>
@@ -54,23 +53,26 @@
           <el-row>
             <el-col :span="22">
               <el-form-item class="input-star" label="姓名" prop="name">
-                <el-input v-model="postManagement.name" placeholder="请输入工人姓名">
+                <el-input v-model="postManagement.name" placeholder="请输入姓名">
                 </el-input>
               </el-form-item>
             </el-col>
           </el-row>
           <el-row>
             <el-col :span="22">
-              <el-form-item class="input-star" label="负责区域" prop="region">
-                <el-input v-model="postManagement.region" maxlength="32" placeholder="请输入工人负责区域">
-                </el-input>
+              <el-form-item class="input-star" label="角色" prop="region">
+                <el-select v-model="postManagement.role" placeholder="请选择用户角色">
+                  <el-option label="政府工作人员" value="0"></el-option>
+                  <el-option label="食堂管理员" value="1"></el-option>
+                  <el-option label="维修工人" value="2"></el-option>
+                </el-select>
               </el-form-item>
             </el-col>
           </el-row>
           <el-row>
             <el-col :span="16">
               <el-form-item class="input-star" label="联系电话" prop="phoneNum">
-                <el-input v-model="postManagement.phoneNum" placeholder="请输入工人电话" maxlength="12">
+                <el-input v-model="postManagement.phoneNum" placeholder="请输入用户电话" maxlength="12">
                 </el-input>
               </el-form-item>
             </el-col>
@@ -116,12 +118,14 @@
         //新增/编辑食堂界面
         workDialog: false,
         //新增/编辑食堂标题
-        workTitle: "新增工人",
+        workTitle: "新增权限用户",
         // 新增/编辑表单
         postManagement: {
           name: "",
+          role:"",
           region: "",
           phoneNum: "",
+          wxUserId:"",
         },
         // 分页
         sorts: {
@@ -156,8 +160,10 @@
             params
           },
         ).then(res => {
-          if (res.data){
-            this.add = res.data
+          console.log(res);
+          if (res.statusText==="ok"||res.data!==""){
+            this.postManagement.wxUserId = res.data
+            this.add = true
             this.$message.success('检索成功!用户存在。');
           }else {
             this.$message.error("检索失败,请使用该手机号登录微信小程序后重试!")
@@ -166,14 +172,14 @@
         });
       },
       statusFormat(data){
-        console.log(data.status);
-        switch (data.status){
+        console.log(data.role);
+        switch (data.role){
           case 0:
-            return "在职"
+            return "政府工作人员"
           case 1:
-            return "请假"
-          case -1:
-            return "离职"
+            return "食堂管理员"
+          case 2:
+            return "维修工人"
         }
       },
 
@@ -191,7 +197,7 @@
           region: "",
           phoneNum: "",
         };
-        this.workTitle = "新增工人";
+        this.workTitle = "新增权限用户";
         this.workDialog = true;
       },
       // 监听文件上传改变
@@ -224,17 +230,17 @@
           return;
         }
         if (
-          !this.postManagement.region ||
-          this.postManagement.region< 1
+          !this.postManagement.role
         ) {
-          this.$message.error("请输入地区!");
+          this.$message.error("请选择用户角色!");
           return;
         }
 
         let params = new FormData()
         params.append("name",this.postManagement.name)
         params.append("phoneNum",this.postManagement.phoneNum)
-        params.append("region",this.postManagement.region)
+        params.append("role",this.postManagement.role)
+        params.append("wxUserId",this.postManagement.wxUserId)
         if (this.workTitle == "编辑工人") {
           params.append("id", this.postManagement.id);
           // api
@@ -268,6 +274,7 @@
               // this.$message.error(r.data.msg);
             });
         }
+        this.getData();
       },
       //切换列表条数
       handleSizeChange(pageSize) {
@@ -304,6 +311,7 @@
       },
       //删除
       handleDelete(id, index) {
+        console.log(id);
         this.$confirm("您确定要删除该数据吗?", "提示", {
             cancelButtonClass: "btn-custom-cancel",
             confirmButtonText: "确定",
@@ -311,23 +319,28 @@
             type: "warning",
           })
           .then(() => {
-            let fd = new FormData();
-            fd.append("id", id);
-            // api.deleteCanteenById(fd).then((res) => {
-            //   if (res.data.result) {
-            //     this.$message({
-            //       type: "success",
-            //       message: "删除成功!",
-            //     });
-            //     this.tableData.splice(index, 1);
-            //     this.getData();
-            //   } else {
-            //     this.$message({
-            //       type: "info",
-            //       message: res.data.msg,
-            //     });
-            //   }
-            // });
+            let params = {
+              "id": id
+            }
+            Repair.removeWorker({
+              params
+            }
+            ).then((res) => {
+              console.log(res);
+              if (res.data) {
+                this.$message({
+                  type: "success",
+                  message: "删除成功!",
+                });
+                this.tableData.splice(index, 1);
+                this.getData();
+              } else {
+                this.$message({
+                  type: "info",
+                  message: "删除失败",
+                });
+              }
+            });
           })
           .catch(() => {
             this.$message({

+ 12 - 9
naqwzsjtj/naqwzsjtj/src/views/repair/WorkOrder.vue

@@ -26,7 +26,7 @@
       <el-table-column prop="status" :show-overflow-tooltip="true" :formatter = "statusFormat" label="状态" />
       <el-table-column prop="maintenanceAddress" :show-overflow-tooltip="true" label="维修地址" />
       <el-table-column prop="appointmentTime" :show-overflow-tooltip="true" label="预约上门时间" />
-      <el-table-column prop="workerId" :show-overflow-tooltip="true" :formatter = "getUserName" label="负责人" />
+      <el-table-column prop="workerName" :show-overflow-tooltip="true" label="负责人" />
 <!--      <el-table-column prop="workerDescription" :show-overflow-tooltip="true" label="维修反馈" />-->
 <!--      <el-table-column prop="resultPic" :show-overflow-tooltip="true" label="维修确认单" />-->
       <el-table-column prop="createTime" :show-overflow-tooltip="true" label="创建时间" width="160" />
@@ -98,7 +98,7 @@
           <el-row>
             <el-col :span="12">
               <el-form-item label="维修负责人">
-                <el-input v-model="postManagement.userDescription" :readonly="true"></el-input>
+                <el-input v-model="postManagement.workerName" :readonly="true"></el-input>
               </el-form-item>
             </el-col>
           </el-row>
@@ -106,7 +106,7 @@
             <el-col :span="24">
               <el-form-item label="维修反馈">
                 <el-input type="textarea"
-                          :autosize="{ minRows: 2, maxRows: 4}" v-model="postManagement.userDescription" :readonly="true"></el-input>
+                          :autosize="{ minRows: 2, maxRows: 4}" v-model="postManagement.workerDescription" :readonly="true"></el-input>
               </el-form-item>
             </el-col>
           </el-row>
@@ -171,7 +171,8 @@
           page: 1,
           limit: 10,
         },
-        tableDataOne:{}
+        tableDataOne:{},
+        workTitle:""
       }
     },
     methods: {
@@ -198,12 +199,13 @@
         })
         this.assignDialog = false;
       },
-      getUserName(data){
+      async getUserName(data){
         let params =  {
           workerId:data.workerId
         }
-          // ...
-        return 0
+        await Repair.getWxUser({params}).then(r=>{
+          return r.data.data
+        })
       },
       //切换列表条数
       handleSizeChange(pageSize) {
@@ -270,10 +272,11 @@
           let params = {
             "id": id
           }
-          api.removeEvaluation({
+          Repair.removeOrder({
             params
           }).then(res => {
-            if (res.data.result) {
+            console.log(res);
+            if (res.data) {
               this.$message({
                 type: 'success',
                 message: '删除成功!'

+ 1 - 0
naqwzsjtj/naqwzsjtj/src/views/repair/components/WorkerDialog.vue

@@ -89,6 +89,7 @@ export default {
     // 获取列表数据
     getData() {
       let params = {
+        role : 2,
         phoneNum:this.query.nameOrNumb,
         page:this.sorts.page-1,
         size:this.sorts.limit

+ 11 - 2
nngkxxdp/src/main/java/com/example/nngkxxdp/program/controller/SRepairController.java

@@ -31,6 +31,7 @@ public class SRepairController {
      */
     
     private final SRepairService sRepairService;
+
     public SRepairController(SRepairService sRepairService) {
         this.sRepairService = sRepairService;
     }
@@ -96,10 +97,18 @@ public class SRepairController {
      * @param id 主键
      * @return 删除是否成功
      */
-    @DeleteMapping
-    public ResponseEntity<Boolean> deleteById(Integer id) {
+    @GetMapping("deleteById")
+    public ResponseEntity<Boolean> deleteById(String id) {
         return ResponseEntity.ok(this.sRepairService.deleteById(id));
     }
 
+    @GetMapping("getUserName")
+    public Map<String,Object> getUserName(String workerId){
+        if (StrUtil.isEmpty(workerId)){
+            return SendUtil.send(false, ConstStr.REQUEST_WRONGPARAMS);
+        }
+        return this.sRepairService.getUserName(workerId);
+    }
+
 }
 

+ 11 - 6
nngkxxdp/src/main/java/com/example/nngkxxdp/program/controller/SWorkerController.java

@@ -3,8 +3,10 @@ package com.example.nngkxxdp.program.controller;
 
 import cn.hutool.core.util.ObjectUtil;
 import cn.hutool.core.util.StrUtil;
+import com.example.nngkxxdp.program.dao.SRepairDao;
 import com.example.nngkxxdp.program.entity.SWorker;
 import com.example.nngkxxdp.program.entity.vo.WorkerPageVo;
+import com.example.nngkxxdp.program.service.SRepairService;
 import com.example.nngkxxdp.program.service.SWorkerService;
 import com.example.nngkxxdp.util.ConstStr;
 import com.example.nngkxxdp.util.SendUtil;
@@ -33,12 +35,13 @@ public class SWorkerController {
      */
     
     private final SWorkerService sWorkerService;
+    private final SRepairService sRepairService;
 
 
     @GetMapping("/hasWxUser")
-    public ResponseEntity<Boolean> hasWxUser(String phoneNum){
+    public ResponseEntity<String> hasWxUser(String phoneNum){
         if (StringUtil.isBlank(phoneNum)){
-            return ResponseEntity.ok(false);
+            return ResponseEntity.ok("");
         }
         return ResponseEntity.ok(sWorkerService.hasWxUser(phoneNum));
     }
@@ -52,8 +55,10 @@ public class SWorkerController {
     public ResponseEntity<Page<SWorker>> queryByPage(WorkerPageVo sWorker) {
         SWorker sWorker1 = new SWorker();
         if (ObjectUtil.isNotEmpty(sWorker.getPhoneNum())){
+            sWorker1.setName(sWorker.getPhoneNum());
             sWorker1.setPhoneNum(sWorker.getPhoneNum());
         }
+        sWorker1.setRole(sWorker.getRole());
         return ResponseEntity.ok(
                 this.sWorkerService.queryByPage(
                         sWorker1, PageRequest.of(sWorker.getPage(),sWorker.getSize()))
@@ -81,11 +86,11 @@ public class SWorkerController {
      */
     @PostMapping("add")
     public Map<String,Object> add(SWorker sWorker) {
-        if (StrUtil.hasEmpty(sWorker.getName(),sWorker.getPhoneNum(),sWorker.getRegion())){
+        if (ObjectUtil.hasEmpty(sWorker.getName(),sWorker.getPhoneNum(),sWorker.getRole(),sWorker.getWxUserId())){
             return SendUtil.send(false, ConstStr.REQUEST_WRONGPARAMS);
         }
-        if (!this.sWorkerService.findUser(sWorker.getPhoneNum())){
-            return SendUtil.send(false, ConstStr.NOT_ONE_USER);
+        if (this.sWorkerService.checkUserRepeats(sWorker.getPhoneNum(), sWorker.getRole())){
+            SendUtil.send(false, ConstStr.ROLE_REPEAT);
         }
         return SendUtil.send(true,this.sWorkerService.insert(sWorker));
     }
@@ -107,7 +112,7 @@ public class SWorkerController {
      * @param id 主键
      * @return 删除是否成功
      */
-    @DeleteMapping
+    @GetMapping("deleteById")
     public ResponseEntity<Boolean> deleteById(String id) {
         return ResponseEntity.ok(this.sWorkerService.deleteById(id));
     }

+ 2 - 1
nngkxxdp/src/main/java/com/example/nngkxxdp/program/dao/AppletUserDao.java

@@ -43,5 +43,6 @@ public interface AppletUserDao {
      */
     String queryUserHlToken(String userId);
 
-    Integer findUser(@Param("phoneNum") String phoneNum);
+    String findUser(@Param("phoneNum") String phoneNum);
+
 }

+ 1 - 1
nngkxxdp/src/main/java/com/example/nngkxxdp/program/dao/SRepairDao.java

@@ -81,7 +81,7 @@ public interface SRepairDao {
      * @param id 主键
      * @return 影响行数
      */
-    int deleteById(Integer id);
+    int deleteById(String id);
 
     List<SRepair> getMyOrder(Integer page,Integer limit,String userId,List<Integer> status);
 

+ 2 - 0
nngkxxdp/src/main/java/com/example/nngkxxdp/program/dao/SWorkerDao.java

@@ -83,5 +83,7 @@ public interface SWorkerDao {
     int deleteById(String id);
 
     Integer findUser(String phoneNum);
+
+    Integer checkUserRepeats(String phoneNum, Integer role);
 }
 

+ 39 - 0
nngkxxdp/src/main/java/com/example/nngkxxdp/program/entity/DTO/RepairDTO.java

@@ -0,0 +1,39 @@
+package com.example.nngkxxdp.program.entity.DTO;
+
+import lombok.Data;
+
+import java.util.Date;
+
+@Data
+public class RepairDTO {
+
+    private String id;
+
+    private Integer repairType;
+
+    private String userDescription;
+
+    private String repairPic;
+
+    private String phoneNum;
+
+    private Integer status;
+
+    private String workerDescription;
+
+    private String workerId;
+
+    private String workerName;
+
+    private String resultPic;
+
+    private Date createTime;
+
+    private Date updateTime;
+
+    private String userId;
+
+    private Date appointmentTime;
+
+    private String maintenanceAddress;
+}

+ 2 - 0
nngkxxdp/src/main/java/com/example/nngkxxdp/program/entity/vo/WorkerPageVo.java

@@ -11,6 +11,8 @@ public class WorkerPageVo {
 
     private String phoneNum;
 
+    private Integer role;
+
     private Integer page;
 
     private Integer size;

+ 17 - 3
nngkxxdp/src/main/java/com/example/nngkxxdp/program/service/Impl/SRepairServiceImpl.java

@@ -7,6 +7,7 @@ import cn.hutool.core.util.ObjectUtil;
 import com.example.nngkxxdp.dao.FileDao;
 import com.example.nngkxxdp.entity.SFile;
 import com.example.nngkxxdp.program.dao.SRepairDao;
+import com.example.nngkxxdp.program.dao.SWorkerDao;
 import com.example.nngkxxdp.program.entity.SRepair;
 import com.example.nngkxxdp.program.entity.SWorker;
 import com.example.nngkxxdp.program.service.SRepairService;
@@ -41,12 +42,14 @@ public class SRepairServiceImpl implements SRepairService {
     private final FileDao fileDao;
     @Value("${file.location}")
     private String location;
-
+    private final SWorkerDao sWorkerDao;
     private final SWorkerService sWorkerService;
     
-    public SRepairServiceImpl(SRepairDao sRepairDao, FileDao fileDao, SWorkerService sWorkerService) {
+    public SRepairServiceImpl(SRepairDao sRepairDao, FileDao fileDao, SWorkerDao sWorkerDao, SWorkerService sWorkerService) {
         this.sRepairDao = sRepairDao;
         this.fileDao = fileDao;
+        this.sWorkerDao = sWorkerDao;
+
         this.sWorkerService = sWorkerService;
     }
     /**
@@ -104,7 +107,7 @@ public class SRepairServiceImpl implements SRepairService {
      * @return 是否成功
      */
     @Override
-    public boolean deleteById(Integer id) {
+    public boolean deleteById(String id) {
         return this.sRepairDao.deleteById(id) > 0;
     }
 
@@ -256,4 +259,15 @@ public class SRepairServiceImpl implements SRepairService {
         int update = sRepairDao.update(sRepair);
         return SendUtil.send(true,"",update > 0);
     }
+
+    @Override
+    public Map<String, Object> getUserName(String workerId) {
+        SWorker sWorker = sWorkerDao.queryById(workerId);
+        return SendUtil.send(true,"",sWorker.getName());
+    }
+
+    @Override
+    public boolean userHasOrder(String workerId) {
+        return false;
+    }
 }

+ 11 - 3
nngkxxdp/src/main/java/com/example/nngkxxdp/program/service/Impl/SWorkerServiceImpl.java

@@ -3,6 +3,7 @@ package com.example.nngkxxdp.program.service.Impl;
 
 import cn.hutool.core.lang.UUID;
 import cn.hutool.core.util.ObjectUtil;
+import cn.hutool.core.util.StrUtil;
 import com.example.nngkxxdp.program.dao.AppletUserDao;
 import com.example.nngkxxdp.program.dao.SWorkerDao;
 import com.example.nngkxxdp.program.entity.SWorker;
@@ -52,6 +53,7 @@ public class SWorkerServiceImpl implements SWorkerService {
      */
     @Override
     public Page<SWorker> queryByPage(SWorker sWorker, PageRequest pageRequest) {
+        System.out.println(sWorker.toString());
         long total = this.sWorkerDao.count(sWorker);
         if (ObjectUtil.isEmpty(sWorker)){
             sWorker = new SWorker();
@@ -97,9 +99,9 @@ public class SWorkerServiceImpl implements SWorkerService {
     }
 
     @Override
-    public boolean hasWxUser(String phoneNum) {
-        Integer count = appletUserDao.findUser(phoneNum);
-        return  count>0;
+    public String hasWxUser(String phoneNum) {
+        String user = appletUserDao.findUser(phoneNum);
+        return StrUtil.isEmpty(user)?"":user;
     }
 
     @Override
@@ -111,5 +113,11 @@ public class SWorkerServiceImpl implements SWorkerService {
         return false;
     }
 
+    @Override
+    public boolean checkUserRepeats(String phoneNum, Integer role) {
+        Integer integer = sWorkerDao.checkUserRepeats(phoneNum, role);
+        return integer > 0;
+    }
+
 
 }

+ 5 - 2
nngkxxdp/src/main/java/com/example/nngkxxdp/program/service/SRepairService.java

@@ -7,7 +7,6 @@ import org.springframework.data.domain.PageRequest;
 import org.springframework.web.multipart.MultipartFile;
 
 import java.io.IOException;
-import java.util.List;
 import java.util.Map;
 
 /**
@@ -57,7 +56,7 @@ public interface SRepairService {
      * @param id 主键
      * @return 是否成功
      */
-    boolean deleteById(Integer id);
+    boolean deleteById(String id);
 
     Map<String, Object> addEvaluation(MultipartFile[] files, SRepair sRepair) throws IOException;
 
@@ -69,4 +68,8 @@ public interface SRepairService {
 
 
     Map<String, Object> setAssign(String workerId, String repairId);
+
+    Map<String, Object> getUserName(String workerId);
+
+    boolean userHasOrder(String workerId);
 }

+ 3 - 1
nngkxxdp/src/main/java/com/example/nngkxxdp/program/service/SWorkerService.java

@@ -60,7 +60,9 @@ public interface SWorkerService {
      */
     boolean deleteById(String id);
 
-    boolean hasWxUser(String phoneNum);
+    String hasWxUser(String phoneNum);
 
     boolean findUser(String phoneNum);
+
+    boolean checkUserRepeats(String phoneNum, Integer role);
 }

+ 1 - 0
nngkxxdp/src/main/java/com/example/nngkxxdp/util/ConstStr.java

@@ -104,6 +104,7 @@ public class ConstStr {
     public final static String NOTEXIST_USER = "没有此用户";
     public final static String DATETIME_ERROR = "时间格式有误";
     public static final String PASS_COMPLEXITY_ERROR = "密码必须包含大写字母,小写字母,数字";
+    public static final String ROLE_REPEAT = "已有该权限用户,新增失败!";
 
     /**
      * 逻辑删除,0未删除,1已删除

+ 2 - 2
nngkxxdp/src/main/resources/mapper/AppletUserDao.xml

@@ -103,8 +103,8 @@
         from  applet_user
         where id = #{userId}
     </select>
-    <select id="findUser" resultType="int">
-        select count(*) from applet_user
+    <select id="findUser" resultType="string">
+        select id from applet_user
         where phone=#{phoneNum}
     </select>
 </mapper>

+ 35 - 14
nngkxxdp/src/main/resources/mapper/SRepairDao.xml

@@ -18,7 +18,24 @@
         <result property="userId" column="user_id" jdbcType="VARCHAR"/>
         <result property="appointmentTime" column="appointment_time" jdbcType="TIMESTAMP"/>
         <result property="maintenanceAddress" column="maintenance_address" jdbcType="VARCHAR"/>
+    </resultMap>
 
+    <resultMap type="com.example.nngkxxdp.program.entity.DTO.RepairDTO" id="SRepairDTOMap">
+        <result property="id" column="id" jdbcType="VARCHAR"/>
+        <result property="repairType" column="repair_type" jdbcType="INTEGER"/>
+        <result property="userDescription" column="user_description" jdbcType="VARCHAR"/>
+        <result property="repairPic" column="repair_pic" jdbcType="VARCHAR"/>
+        <result property="phoneNum" column="phone_num" jdbcType="INTEGER"/>
+        <result property="status" column="status" jdbcType="INTEGER"/>
+        <result property="workerDescription" column="worker_description" jdbcType="VARCHAR"/>
+        <result property="resultPic" column="result_pic" jdbcType="VARCHAR"/>
+        <result property="workerId" column="worker_id" jdbcType="INTEGER"/>
+        <result property="workerName" column="name" jdbcType="INTEGER"/>
+        <result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
+        <result property="updateTime" column="update_time" jdbcType="TIMESTAMP"/>
+        <result property="userId" column="user_id" jdbcType="VARCHAR"/>
+        <result property="appointmentTime" column="appointment_time" jdbcType="TIMESTAMP"/>
+        <result property="maintenanceAddress" column="maintenance_address" jdbcType="VARCHAR"/>
     </resultMap>
 
     <!--查询单个-->
@@ -30,42 +47,46 @@
     </select>
 
     <!--查询指定行数据-->
-    <select id="queryAllByLimit" resultMap="SRepairMap">
+    <select id="queryAllByLimit" resultMap="SRepairDTOMap">
         select
-          id, repair_type, user_description, repair_pic, phone_num, status, worker_description, result_pic, worker_id, create_time, update_time,user_id,appointment_time,maintenance_address
-        from s_repair
+            sr.id, sr.repair_type, sr.user_description, sr.repair_pic,
+            sr.phone_num, sr.status, sr.worker_description, sr.result_pic,
+            sr.worker_id, sr.create_time, sr.update_time,sr.user_id,sr.appointment_time,
+            sr.maintenance_address,sw.name
+        from s_repair sr
+        left join s_worker sw on sr.worker_id = sw.id
         <where>
             <if test="sRepair.repairType != null">
-                and repair_type = #{sRepair.repairType}
+                and sr.repair_type = #{sRepair.repairType}
             </if>
             <if test="sRepair.userDescription != null and sRepair.userDescription != ''">
-                and user_description = #{sRepair.userDescription}
+                and sr.user_description = #{sRepair.userDescription}
             </if>
             <if test="sRepair.repairPic != null and sRepair.repairPic != ''">
-                and repair_pic = #{sRepair.repairPic}
+                and sr.repair_pic = #{sRepair.repairPic}
             </if>
             <if test="sRepair.phoneNum != null">
-                and phone_num = #{sRepair.phoneNum}
+                and sr.phone_num = #{sRepair.phoneNum}
             </if>
             <if test="sRepair.status != null">
-                and status = #{sRepair.status}
+                and sr.status = #{sRepair.status}
             </if>
             <if test="sRepair.workerDescription != null and sRepair.workerDescription != ''">
-                and worker_description = #{sRepair.workerDescription}
+                and sr.worker_description = #{sRepair.workerDescription}
             </if>
             <if test="sRepair.resultPic != null and sRepair.resultPic != ''">
-                and result_pic = #{sRepair.resultPic}
+                and sr.result_pic = #{sRepair.resultPic}
             </if>
             <if test="sRepair.workerId != null">
-                and worker_id = #{sRepair.workerId}
+                and sr.worker_id = #{sRepair.workerId}
             </if>
             <if test="sRepair.createTime != null">
-                and create_time = #{sRepair.createTime}
+                and sr.create_time = #{sRepair.createTime}
             </if>
             <if test="sRepair.updateTime != null">
-                and update_time = #{sRepair.updateTime}
+                and sr.update_time = #{sRepair.updateTime}
             </if>
-                and is_del = 0
+                and sr.is_del = 0
         </where>
         limit #{pageable.offset}, #{pageable.pageSize}
     </select>

+ 13 - 22
nngkxxdp/src/main/resources/mapper/SWorkerDao.xml

@@ -12,7 +12,7 @@
         <result property="updateTime" column="update_time" jdbcType="TIMESTAMP"/>
         <result property="isDel" column="is_del" jdbcType="INTEGER"/>
         <result property="wxUserId" column="wx_user_id" jdbcType="VARCHAR"/>
-        <result property="role" column="is_del" jdbcType="INTEGER"/>
+        <result property="role" column="role" jdbcType="INTEGER"/>
     </resultMap>
 
     <!--查询单个-->
@@ -26,20 +26,14 @@
     <!--查询指定行数据-->
     <select id="queryAllByLimit" resultMap="SWorkerMap">
         select
-          id, name, region, phone_num, status, create_time, update_time, is_del
+          id, name, phone_num, role, create_time, update_time
         from s_worker
         <where>
             <if test="sWorker.name != null and sWorker.name != ''">
-                and name = #{sWorker.name}
+                and (name like concat('%',#{sWorker.name,jdbcType=VARCHAR},'%') or phone_num like concat('%',#{sWorker.phoneNum,jdbcType=VARCHAR},'%'))
             </if>
-            <if test="sWorker.region != null and sWorker.region != ''">
-                and region = #{sWorker.region}
-            </if>
-            <if test="sWorker.phoneNum != null and sWorker.phoneNum != ''">
-                and phone_num like '%#{sWorker.phoneNum}%'
-            </if>
-            <if test="sWorker.status != null">
-                and status = #{sWorker.status}
+            <if test="sWorker.role != null">
+                and role = #{sWorker.role}
             </if>
             and is_del = 0
         </where>
@@ -54,24 +48,18 @@
         <where>
             and is_del = 0
             <if test="name != null and name != ''">
-                and name = #{name}
-            </if>
-            <if test="region != null and region != ''">
-                and region = #{region}
+                and (name like concat('%',#{name,jdbcType=VARCHAR},'%') or phone_num = concat('%',#{phoneNum,jdbcType=VARCHAR},'%'))
             </if>
-            <if test="phoneNum != null">
-                and phone_num = #{phoneNum}
-            </if>
-            <if test="status != null">
-                and status = #{status}
+            <if test="role != null">
+                and role = #{role}
             </if>
         </where>
     </select>
 
     <!--新增所有列-->
     <insert id="insert" keyProperty="id" useGeneratedKeys="true">
-        insert into s_worker(id,name, region, phone_num, status, create_time, update_time, is_del)
-        values (#{id},#{name}, #{region}, #{phoneNum}, #{status}, Now(), Now(), 0)
+        insert into s_worker(id,name, region, phone_num, status, create_time, update_time, is_del,wx_user_id,role)
+        values (#{id},#{name}, #{region}, #{phoneNum}, #{status}, Now(), Now(), 0,#{wxUserId},#{role})
     </insert>
 
     <insert id="insertBatch" keyProperty="id" useGeneratedKeys="true">
@@ -134,6 +122,9 @@
     <select id="findUser" resultType="int">
         select count(*) from s_worker where phone_num = #{phoneNum}
     </select>
+    <select id="checkUserRepeats" resultType="int">
+        select count(*) from s_worker where phone_num = #{phoneNum} and role = #{role}
+    </select>
 
 </mapper>