Browse Source

app-工作任务功能实现

liao-sea 1 year ago
parent
commit
f9329e97c2

+ 14 - 0
h5app/src/api/siteUserInfo/index.ts

@@ -0,0 +1,14 @@
+import {request} from '@/utils/request';
+
+export function getSiteUserDataList(){
+    return request<any>(
+        {
+            url: 'userInfo/getDataList',
+            method: 'get',
+            params: null,
+        },
+        {
+            isNew: true,
+        },
+    );
+}

+ 15 - 5
h5app/src/api/workTask/index.ts

@@ -3,7 +3,7 @@ import {request} from '@/utils/request';
 export function getWorkTaskList(params: any) {
     return request(
         {
-            url: 'taskAndLog/dotask/getList',
+            url: 'taskAndLog/doTask/getList',
             method: 'get',
             params: params,
         },
@@ -14,7 +14,7 @@ export function getWorkTaskList(params: any) {
 export function getWorkTaskByID(id: any) {
     return request(
         {
-            url: 'taskAndLog/dotask/getDataById',
+            url: 'taskAndLog/doTask/getDataById',
             method: 'get',
             params: {id:id},
         },
@@ -25,8 +25,8 @@ export function getWorkTaskByID(id: any) {
 export function saveWorkTask(data: any) {
     return request(
         {
-            url: 'taskAndLog/dotask/save',
-            method: 'get',
+            url: 'taskAndLog/doTask/save',
+            method: 'post',
             data: data,
         },
         { isNew: true },
@@ -36,7 +36,7 @@ export function saveWorkTask(data: any) {
 export function getMyWorkTasks(params: any) {
     return request(
         {
-            url: 'taskAndLog/dotask/getMyWorkTasks',
+            url: 'taskAndLog/doTask/getMyWorkTasks',
             method: 'get',
             params: params,
         },
@@ -44,5 +44,15 @@ export function getMyWorkTasks(params: any) {
     );
 }
 
+export function getWorkUserList(id: any) {
+    return request(
+        {
+            url: 'taskAndLog/doTask/getWorkUserList',
+            method: 'get',
+            params: {id:id},
+        },
+        { isNew: true },
+    );
+}
 
 

+ 101 - 26
h5app/src/views/pages/work/task/edit.vue

@@ -17,17 +17,20 @@
           </div>
         </ion-item>
         <ion-list>
-          <ion-item :class="[workTaskValid.dataModel.dotaskName.$error?'ion-invalid':'ion-valid']" style="margin-bottom: 10px;">
+          <ion-item :class="[workTaskValid.dataModel.doTaskName.$error?'ion-invalid':'ion-valid']"  style="margin-bottom: 10px;">
             <ion-label>任务名称<span class="danger">*</span></ion-label>
-            <ion-input name="dotaskName" id="dotaskName" style="text-align: right;" placeholder="请输入任务名称" v-model="dataModel.dotaskName" ></ion-input>
+            <ion-input name="doTaskName" id="doTaskName" style="text-align: right;" placeholder="请输入任务名称" v-model="dataModel.doTaskName" ></ion-input>
             <ion-note slot="error">任务名称不能为空</ion-note>
           </ion-item>
-          <ion-label style="padding-left:16px;">任务内容<span class="danger">*</span></ion-label>
-          <ion-item  :class="[workTaskValid.dataModel.content.$error?'ion-invalid':'ion-valid']">
-            <ion-textarea name="content" id="content" v-model="dataModel.content"  label-placement="stacked"
-                          style="text-align: right;" placeholder="请输入工作内容" rows="8"></ion-textarea>
-            <ion-note slot="error">任务内容不能为空</ion-note>
-          </ion-item>
+          <ion-item-group style="overflow: hidden;"  >
+            <ion-label style="padding-left:16px;">指派人<span class="danger">*</span></ion-label>
+            <ion-item style="width:50%;text-align: center;float:left;" v-for="(it,key) in allTaskUserList" :key="key">
+              <ion-checkbox style="margin-right:10px;" name="taskUserItem" :value="it.siteUserID" :checked="it.checked"
+                            @ionChange="selectTaskUser(it)">
+              </ion-checkbox>
+              {{ it.text }}
+            </ion-item>
+          </ion-item-group>
           <ion-item :class="[workTaskValid.dataModel.finishTime.$error?'ion-invalid':'ion-valid']">
             <ion-label>完成时间<span class="danger">*</span></ion-label>
             <ion-datetime-button datetime="finishTime"></ion-datetime-button>
@@ -40,22 +43,21 @@
             </ion-modal>
             <ion-note slot="error">完成时间不能为空</ion-note>
           </ion-item>
-          <ion-item :class="[workTaskValid.dataModel.workTypeID.$error?'ion-invalid':'ion-valid']" >
+          <ion-item :class="[workTaskValid.dataModel.workTypeID.$error?'ion-invalid':'ion-valid']"  style="margin-bottom: 10px;">
             <ion-label>任务类型<span class="danger">*</span></ion-label>
             <ion-select name="workTypeID"  id="workTypeID" okText="确定" cancelText="取消" v-model="dataModel.workTypeID"
                         interface="action-sheet" placeholder="请选择日志类型" >
-              <ion-select-option v-for=" (it,key) in taskTypeList" :key="key" :value="it.value">
+              <ion-select-option v-for=" (it,key) in taskTypeList" :key="key" :value="it.value" >
                 {{ it.name }}
               </ion-select-option>
             </ion-select>
             <ion-note slot="error">任务类型不能为空</ion-note>
           </ion-item>
-          <ion-item  mode="md"  :class="[workTaskValid.dataModel.content.$error?'ion-invalid':'ion-valid']">
-            <ion-label>指派人<span class="danger">*</span></ion-label>
-            <ion-select-option v-for=" (it,key) in siteUserList" :key="key" :value="it.value">
-              {{ it.name }}
-            </ion-select-option>
-            <ion-note slot="error">工作内容不能为空</ion-note>
+          <ion-label style="padding-left:16px;">任务内容<span class="danger">*</span></ion-label>
+          <ion-item  :class="[workTaskValid.dataModel.content.$error?'ion-invalid':'ion-valid']">
+            <ion-textarea name="content" id="content" v-model="dataModel.content"  label-placement="stacked"
+                          placeholder="请输入工作内容" rows="8"></ion-textarea>
+            <ion-note slot="error">任务内容不能为空</ion-note>
           </ion-item>
         </ion-list>
       </form>
@@ -69,21 +71,41 @@
 <script lang="ts">
 import {computed, defineComponent, reactive, ref, toRefs} from "vue";
 import {getSysDictionaryList} from '@/api/system/dictionary';
-import {getWorkTaskByID,saveWorkTask} from '@/api/workTask';
+import {getWorkTaskByID,saveWorkTask,getWorkUserList} from '@/api/workTask';
+import {getSiteUserDataList} from '@/api/siteUserInfo';
 import {useRoute, useRouter} from "vue-router";
 import {alertController, onIonViewDidEnter} from "@ionic/vue";
 import {arrowBackOutline} from 'ionicons/icons';
 import {required} from "@vuelidate/validators";
 import {useVuelidate} from "@vuelidate/core";
 
+
+interface CurDataProps{
+  siteUserID:string,
+  userName:string
+}
+
 interface workTaskModel {
-  dataModel:any
+  dataModel: {
+    doTaskUser: CurDataProps[],
+    doTaskName: null,
+    workTypeID: null,
+    content:null,
+    finishTime:null,
+  }
 }
+
 interface SelectProps {
   name: string,
   value: string
 }
 
+
+interface CheckProps {
+  text: string,
+  value: string,
+  checked: boolean
+}
 export default defineComponent({
   name: 'WorkLogEdit',
   setup() {
@@ -91,18 +113,19 @@ export default defineComponent({
     const route = useRoute();
     const editForm = ref();
     const taskTypeList=ref<SelectProps[]>([]);
+    const curTaskUserList = ref<CurDataProps[]>([]);
+    const allTaskUserList = ref<CheckProps[]>([]);
     const workTaskData = reactive<workTaskModel>({
       dataModel:{
-        siteUserID:null,
-        dotaskName: null,
+        doTaskUser: [],
+        doTaskName: null,
         workTypeID: null,
         content:null,
         finishTime:null,
     }});
     const workTaskRules = computed(()=>{
       return {dataModel:{
-          siteUserID:{required},
-          dotaskName:{required},
+          doTaskName:{required},
           workTypeID:{required},
           content:{required},
           finishTime:{required},
@@ -121,13 +144,34 @@ export default defineComponent({
       await alert.present();
     }
 
+    const selectTaskUser = (item:any)=>{
+      item.checked = !item.checked;
+      console.log("itemData",item);
+      const index:number = allTaskUserList.value.indexOf(item);
+      allTaskUserList.value[index].checked = item.checked;
+      console.log("allTaskUserList",allTaskUserList.value);
+    }
+
+
     const onSave = async function (){
       const isFormCorrect = await workTaskValid.value.$validate();
-      if(!isFormCorrect){
-        console.log("当前数据",workTaskData.dataModel);
+      if(!isFormCorrect) {
+        console.log("当前数据", workTaskData.dataModel);
         await presentAlert("请填写完整的信息!");
         return null;
       }
+      curTaskUserList.value =[];
+      allTaskUserList.value.map(item=>{
+        if(item.checked){
+          (curTaskUserList.value as any[]).push({siteUserID:item.value,name:item.text});
+        }
+      });
+      console.log("curTaskUserList",curTaskUserList.value);
+      if(curTaskUserList.value.length <= 0){
+        await presentAlert("至少选择一位指派人!");
+        return null;
+      }
+      workTaskData.dataModel.doTaskUser = curTaskUserList.value;
       saveWorkTask(workTaskData.dataModel).then(result => {
         if (result) {
           router.push("./list");
@@ -140,19 +184,47 @@ export default defineComponent({
     }
 
     const getWorkTypeList = async function(){
-      const data:any =await getSysDictionaryList("TaskType");
+      const data:any = await getSysDictionaryList("TaskType");
       taskTypeList.value = data;
       console.log("taskTypeList",taskTypeList.value);
     }
 
+    const getAllTaskUserList = async function(){
+      const data:any = await getSiteUserDataList();
+      allTaskUserList.value = data;
+    }
+
+    const getCurTaskUserList = async function(taskID:any){
+      const data:any = await  getWorkUserList(taskID);
+      curTaskUserList.value = data;
+    }
+
+    const loadCurTaskUserList = ()=>{
+      console.log("curTaskUserList",curTaskUserList.value);
+      if(allTaskUserList.value.length>0){
+          allTaskUserList.value.map(item=>{
+            if(curTaskUserList.value.length>0){
+              curTaskUserList.value.map(it=>{
+                if (item.value == it.siteUserID){
+                  item.checked = true;
+                }
+              })
+            }
+          })
+      }
+      console.log("allTaskUserList",allTaskUserList.value);
+    }
+
     const loadData = async (doTaskID: any) => {
       await getWorkTypeList();
+      await getAllTaskUserList();
+      await getCurTaskUserList(doTaskID);
+      loadCurTaskUserList();
       const reqData = await getWorkTaskByID(doTaskID);
       workTaskData.dataModel = reqData;
       console.log("初始化dataModel",workTaskData.dataModel);
     };
 
-
     const reload = (doTaskID: any) => {
       loadData(doTaskID);
     }
@@ -168,6 +240,9 @@ export default defineComponent({
       arrowBackOutline,
       editForm,
       taskTypeList,
+      curTaskUserList,
+      allTaskUserList,
+      selectTaskUser,
       onSave,
       onCancel,
       loadData,

+ 2 - 2
h5app/src/views/pages/work/task/list.vue

@@ -17,13 +17,13 @@
         <ion-button slot="end" style="height: 33px;width: 70px;margin-left: 10px;--box-shadow: none;--border-radius: 14px;">搜索</ion-button>
       </ion-item>
       <ion-list class="list-content" >
-        <ion-item v-for="(record,key) in dataList" :key="key" detail  @click="onDetail(record.dotaskID)">
+        <ion-item v-for="(record,key) in dataList" :key="key" detail  @click="onDetail(record.doTaskID)">
           <ion-avatar aria-hidden="true" slot="start">
             <img alt="" src="@/assets/icon/icon-mine-punish.png" />
           </ion-avatar>
           <ion-label>
             <h3>{{ record.workTypeName }}</h3>
-            <p>{{ record.dotaskName }}:{{record.content}}</p>
+            <p>{{ record.doTaskName }}:{{record.content}}</p>
           </ion-label>
         </ion-item>
       </ion-list>

+ 0 - 3
src/main/java/com/hz/employmentsite/controller/companyService/CompanyController.java

@@ -1,16 +1,13 @@
 package com.hz.employmentsite.controller.companyService;
 
-import com.fasterxml.jackson.databind.ser.Serializers;
 import com.github.pagehelper.PageInfo;
 import com.hz.employmentsite.filter.exception.BaseErrorEnum;
-import com.hz.employmentsite.filter.exception.BaseException;
 import com.hz.employmentsite.filter.exception.BaseResponse;
 import com.hz.employmentsite.filter.exception.RespGenerstor;
 import com.hz.employmentsite.model.PcSite;
 import com.hz.employmentsite.util.DateUtils;
 import com.hz.employmentsite.util.ExcelHelper;
 import com.hz.employmentsite.vo.companyService.AppCompanyPostVo;
-import com.hz.employmentsite.vo.taskAndLog.DotaskVo;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 import com.hz.employmentsite.services.service.companyService.CompanyService;

+ 20 - 26
src/main/java/com/hz/employmentsite/controller/taskAndLog/DotaskController.java

@@ -6,30 +6,23 @@ import com.hz.employmentsite.filter.exception.BaseException;
 import com.hz.employmentsite.filter.exception.BaseResponse;
 import com.hz.employmentsite.filter.exception.RespGenerstor;
 import com.hz.employmentsite.services.service.AccountService;
-import com.hz.employmentsite.services.service.companyService.PostService;
-import com.hz.employmentsite.services.service.taskAndLog.DoWorkService;
-import com.hz.employmentsite.services.service.taskAndLog.DotaskService;
+import com.hz.employmentsite.services.service.taskAndLog.DoTaskService;
 import com.hz.employmentsite.util.DateUtils;
 import com.hz.employmentsite.util.ExcelHelper;
 import com.hz.employmentsite.vo.taskAndLog.DoTaskUserVo;
-import com.hz.employmentsite.vo.taskAndLog.DoWorkVo;
-import com.hz.employmentsite.vo.taskAndLog.DotaskVo;
+import com.hz.employmentsite.vo.taskAndLog.DoTaskVo;
 import com.hz.employmentsite.vo.taskAndLog.SiteUserVo;
-import com.hz.employmentsite.vo.user.UserModel;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
 import javax.servlet.http.HttpServletResponse;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-import java.util.UUID;
+import java.util.*;
 
 @RestController
-@RequestMapping(value = "/api/taskAndLog/dotask")
-public class DotaskController {
+@RequestMapping(value = "/api/taskAndLog/doTask")
+public class DoTaskController {
     @Autowired
-    private DotaskService dotaskService;
+    private DoTaskService doTaskService;
 
     @Autowired
     private AccountService accountService;
@@ -45,32 +38,33 @@ public class DotaskController {
                                 @RequestParam(required = false) String finishEndTime, @RequestParam(required = false) String regionCode,
                                 @RequestParam(required = false) String streetCode, @RequestParam(required = false) String workTypeId)
     {
-        PageInfo<DotaskVo> result = dotaskService.getList(pageIndex, pageSize, name, startTime, endTime, finishStartTime, finishEndTime, regionCode, streetCode, workTypeId);
+        PageInfo<DoTaskVo> result = doTaskService.getList(pageIndex, pageSize, name, startTime, endTime, finishStartTime, finishEndTime, regionCode, streetCode, workTypeId);
         return RespGenerstor.success(result);
     }
 
     @ResponseBody
     @GetMapping("/getMyWorkTasks")
     public BaseResponse getMyTasks(@RequestParam("pageIndex") int pageIndex, @RequestParam("pageSize") int pageSize) {
-        PageInfo<DotaskVo> result = dotaskService.getMyTasks(pageIndex,pageSize,accountService.getLoginUserID());
+        PageInfo<DoTaskVo> result = doTaskService.getMyTasks(pageIndex,pageSize,accountService.getLoginUserID());
         return RespGenerstor.success(result);
     }
 
     @ResponseBody
     @GetMapping("/getDataById")
     public BaseResponse getDataById(String id) {
-        var result = dotaskService.getDataById(id);
+        var result = doTaskService.getDataById(id);
         if (result == null) {
-            result = new DotaskVo();
-            result.setDotaskID(UUID.randomUUID().toString());
+            result = new DoTaskVo();
+            result.setDoTaskID(UUID.randomUUID().toString());
+            result.doTaskUser = null;
         }
         return RespGenerstor.success(result);
     }
 
     @ResponseBody
     @PostMapping("/save")
-    public BaseResponse save(@RequestBody DotaskVo data) {
-        var result = dotaskService.save(data, accountService.getLoginUserID());
+    public BaseResponse save(@RequestBody DoTaskVo data) {
+        var result = doTaskService.save(data, accountService.getLoginUserID());
         return RespGenerstor.success(result);
     }
 
@@ -79,21 +73,21 @@ public class DotaskController {
     public BaseResponse getWorkUserList(@RequestParam(required = false) String id) {
         if (id == null)
             return null;
-        List<DoTaskUserVo> list = dotaskService.getWorkUserList(id);
+        List<DoTaskUserVo> list = doTaskService.getWorkUserList(id);
         return RespGenerstor.success(list);
     }
 
     @ResponseBody
     @GetMapping("/getUserList")
     public BaseResponse getUserList() {
-        List<SiteUserVo> list = dotaskService.getUserList();
+        List<SiteUserVo> list = doTaskService.getUserList();
         return RespGenerstor.success(list);
     }
 
     @ResponseBody
     @PostMapping("/delete")
     public BaseResponse delete(@RequestBody List<String> ids) {
-        int result = dotaskService.delete(ids);
+        int result = doTaskService.delete(ids);
         if (result <= 0)
             throw new BaseException(BaseErrorEnum.DELETE_NOT_DATA_ERROR);
         return RespGenerstor.success(result);
@@ -107,7 +101,7 @@ public class DotaskController {
                                @RequestParam(required = false) String finishEndTime, @RequestParam(required = false) String regionCode,
                                @RequestParam(required = false) String streetCode, @RequestParam(required = false) String workTypeId) throws Exception {
 
-        PageInfo<DotaskVo> result = dotaskService.getList(pageIndex, pageSize, name, startTime, endTime, finishStartTime, finishEndTime, regionCode, streetCode, workTypeId);
+        PageInfo<DoTaskVo> result = doTaskService.getList(pageIndex, pageSize, name, startTime, endTime, finishStartTime, finishEndTime, regionCode, streetCode, workTypeId);
         if (isExport == null || !isExport) {
             return RespGenerstor.success(result);
         } else {
@@ -116,11 +110,11 @@ public class DotaskController {
             data.setTitles(Arrays.asList(new String[]{"序号", "任务名称", "任务类型", "任务完成时间", "所属县区", "所属街道", "执行用户数", "下达时间", "下达人"}));
             int i = 0;
             List<List<Object>> rowDatas = new ArrayList();
-            for (DotaskVo item : result.getList()) {
+            for (DoTaskVo item : result.getList()) {
                 List<Object> row = new ArrayList();
                 ++i;
                 row.add(i);
-                row.add(item.dotaskName);
+                row.add(item.doTaskName);
                 row.add(item.workTypeName);
                 row.add(dateUtils.dateToStr(item.finishTime));
                 row.add(item.regionName);

+ 4 - 5
src/main/java/com/hz/employmentsite/mapper/cquery/DotaskCQuery.java

@@ -1,20 +1,19 @@
 package com.hz.employmentsite.mapper.cquery;
 
 import com.hz.employmentsite.vo.taskAndLog.DoTaskUserVo;
-import com.hz.employmentsite.vo.taskAndLog.DotaskVo;
+import com.hz.employmentsite.vo.taskAndLog.DoTaskVo;
 import com.hz.employmentsite.vo.taskAndLog.SiteUserVo;
 import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
-import java.util.Date;
 
-public interface DotaskCQuery {
-    List<DotaskVo> getList(@Param("id") String id,@Param("name") String name, @Param("startTime") String startTime, @Param("endTime") String endTime,
+public interface DoTaskCQuery {
+    List<DoTaskVo> getList(@Param("id") String id, @Param("name") String name, @Param("startTime") String startTime, @Param("endTime") String endTime,
                            @Param("finishStartTime") String finishStartTime, @Param("finishEndTime") String finishEndTime,
                            @Param("regionCode") String regionCode, @Param("streetCode") String streetCode,
                            @Param("workTypeId") String workTypeId);
 
-    List<DoTaskUserVo> getWorkUserList(String dotaskID);
+    List<DoTaskUserVo> getWorkUserList(String doTaskID);
 
     List<SiteUserVo> getUserList();
 

+ 49 - 57
src/main/java/com/hz/employmentsite/services/impl/taskAndLog/DotaskImpl.java

@@ -4,43 +4,42 @@ import com.github.pagehelper.PageHelper;
 import com.github.pagehelper.PageInfo;
 import com.hz.employmentsite.mapper.PcDotaskMapper;
 import com.hz.employmentsite.mapper.PcDotaskUserMapper;
-import com.hz.employmentsite.mapper.cquery.DotaskCQuery;
+import com.hz.employmentsite.mapper.cquery.DoTaskCQuery;
 import com.hz.employmentsite.model.*;
-import com.hz.employmentsite.services.service.taskAndLog.DotaskService;
+import com.hz.employmentsite.services.service.taskAndLog.DoTaskService;
 import com.hz.employmentsite.util.StringUtils;
 import com.hz.employmentsite.vo.taskAndLog.DoTaskUserVo;
-import com.hz.employmentsite.vo.taskAndLog.DotaskVo;
+import com.hz.employmentsite.vo.taskAndLog.DoTaskVo;
 import com.hz.employmentsite.vo.taskAndLog.SiteUserVo;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
-import java.sql.SQLException;
 import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
 import java.util.UUID;
 
-@Service("DotaskService")
-public class DotaskImpl implements DotaskService {
+@Service("DoTaskService")
+public class DoTaskImpl implements DoTaskService {
 
     @Autowired
-    private DotaskCQuery dotaskCQuery;
+    private DoTaskCQuery doTaskCQuery;
 
     @Autowired
     private StringUtils stringUtils;
 
     @Autowired
-    private PcDotaskMapper dotaskMapper;
+    private PcDotaskMapper doTaskMapper;
 
     @Autowired
-    private PcDotaskUserMapper dotaskUserMapper;
+    private PcDotaskUserMapper doTaskUserMapper;
 
     @Override
-    public PageInfo<DotaskVo> getList(Integer page, Integer rows, String name, String startTime, String endTime, String finishStartTime, String finishEndTime, String regionCode, String streetCode, String workTypeId) {
+    public PageInfo<DoTaskVo> getList(Integer page, Integer rows, String name, String startTime, String endTime, String finishStartTime, String finishEndTime, String regionCode, String streetCode, String workTypeId) {
         try {
             PageHelper.startPage(page, rows);
-            List<DotaskVo> list = dotaskCQuery.getList(null, name, startTime, endTime, finishStartTime, finishEndTime, regionCode, streetCode, workTypeId);
-            PageInfo<DotaskVo> result = new PageInfo(list);
+            List<DoTaskVo> list = doTaskCQuery.getList(null, name, startTime, endTime, finishStartTime, finishEndTime, regionCode, streetCode, workTypeId);
+            PageInfo<DoTaskVo> result = new PageInfo(list);
             return result;
         } catch (Exception e) {
             throw new RuntimeException("Database query exception: " + e.getMessage(), e);
@@ -48,11 +47,11 @@ public class DotaskImpl implements DotaskService {
     }
 
     @Override
-    public PageInfo<DotaskVo> getMyTasks(Integer page, Integer rows,String curUserID) {
+    public PageInfo<DoTaskVo> getMyTasks(Integer page, Integer rows, String curUserID) {
         PcDotaskUserExample exp = new PcDotaskUserExample();
         PcDotaskUserExample.Criteria cro = exp.createCriteria();
         cro.andDotaskUserIDEqualTo(curUserID);
-        var curDoTaskUserInfo = dotaskUserMapper.selectByExample(exp).stream().toList();
+        var curDoTaskUserInfo = doTaskUserMapper.selectByExample(exp).stream().toList();
         List<String> curDoTaskIDs = new ArrayList<String>();
         if (curDoTaskUserInfo.size()>0){
             curDoTaskUserInfo.forEach(item -> {
@@ -62,8 +61,8 @@ public class DotaskImpl implements DotaskService {
         try {
             if(curDoTaskIDs.size()>0){
                 PageHelper.startPage(page,rows);
-                List<DotaskVo> list = dotaskCQuery.getList(stringUtils.ListToInSql(curDoTaskIDs),null,null,null,null,null,null,null,null);
-                PageInfo<DotaskVo> result = new PageInfo(list);
+                List<DoTaskVo> list = doTaskCQuery.getList(stringUtils.ListToInSql(curDoTaskIDs),null,null,null,null,null,null,null,null);
+                PageInfo<DoTaskVo> result = new PageInfo(list);
                 return result;
             }
             return null;
@@ -73,82 +72,75 @@ public class DotaskImpl implements DotaskService {
     }
 
     @Override
-    public List<DoTaskUserVo> getWorkUserList(String dotaskID) {
-        List<DoTaskUserVo> list = dotaskCQuery.getWorkUserList(dotaskID);
+    public List<DoTaskUserVo> getWorkUserList(String doTaskID) {
+        List<DoTaskUserVo> list = doTaskCQuery.getWorkUserList(doTaskID);
         return list;
     }
 
     @Override
     public List<SiteUserVo> getUserList() {
-        List<SiteUserVo> list = dotaskCQuery.getUserList();
+        List<SiteUserVo> list = doTaskCQuery.getUserList();
         return list;
     }
 
     @Override
-    public DotaskVo getDataById(String id) {
+    public DoTaskVo getDataById(String id) {
         if (stringUtils.IsNullOrEmpty(id)) {
             return null;
         }
         List<String> ids = new ArrayList<>();
         ids.add(id);
-        return dotaskCQuery.getList(stringUtils.ListToInSql(ids), null, null, null, null, null, null, null, null).stream().findFirst().orElse(null);
+        return doTaskCQuery.getList(stringUtils.ListToInSql(ids), null, null, null, null, null, null, null, null).stream().findFirst().orElse(null);
     }
 
     @Override
-    public int save(DotaskVo data, String userId) {
+    public int save(DoTaskVo data, String userId) {
         int result = 0;
-        PcDotask dbData = dotaskMapper.selectByPrimaryKey(data.getDotaskID());
+        PcDotask dbData = doTaskMapper.selectByPrimaryKey(data.getDoTaskID());
         PcDotaskUserExample exp = new PcDotaskUserExample();
         PcDotaskUserExample.Criteria cro = exp.createCriteria();
-        cro.andDotaskIDEqualTo(data.getDotaskID());
-        PcDotaskUser taskUser = dotaskUserMapper.selectByExample(exp).stream().findFirst().orElse(null);
+        cro.andDotaskIDEqualTo(data.getDoTaskID());
+        PcDotaskUser taskUser = doTaskUserMapper.selectByExample(exp).stream().findFirst().orElse(null);
         if (dbData == null) {
             dbData = new PcDotask();
-            dbData.setDotaskID(data.getDotaskID());
+            dbData.setDotaskID(data.getDoTaskID());
             dbData.setWorkTypeID(data.getWorkTypeID());
             dbData.setContent(data.getContent());
-            dbData.setDotaskName(data.getDotaskName());
+            dbData.setDotaskName(data.getDoTaskName());
             dbData.setRegionCode(data.getRegionCode());
             dbData.setStreetCode(data.getStreetCode());
             dbData.setSiteID(data.getSiteID());
             dbData.setFinishTime(data.getFinishTime());
             dbData.setCreateTime(new Date());
             dbData.setCreateUserID(userId);
-            result = dotaskMapper.insert(dbData);
+            result = doTaskMapper.insert(dbData);
         } else {
-            dbData.setWorkTypeID(data.getWorkTypeID());
-            dbData.setContent(data.getContent());
-            dbData.setDotaskName(data.getDotaskName());
-            dbData.setRegionCode(data.getRegionCode());
-            dbData.setStreetCode(data.getStreetCode());
-            dbData.setSiteID(data.getSiteID());
-            dbData.setFinishTime(data.getFinishTime());
+            dbData.setWorkTypeID(data.workTypeID);
+            dbData.setContent(data.content);
+            dbData.setDotaskName(data.doTaskName);
+            dbData.setRegionCode(data.regionCode);
+            dbData.setStreetCode(data.streetCode);
+            dbData.setSiteID(data.siteID);
+            dbData.setFinishTime(data.finishTime);
             dbData.setModifyTime(new Date());
             dbData.setModifyUserID(userId);
-            result = dotaskMapper.updateByPrimaryKeySelective(dbData);
+            result = doTaskMapper.updateByPrimaryKeySelective(dbData);
         }
         if (result == 1) {
-            String dotaskId = dbData.getDotaskID();
-            if (taskUser == null) {
-                data.getDotaskUser().stream().forEach(x -> {
-                    PcDotaskUser user = new PcDotaskUser();
-                    user.setDotaskUserID(UUID.randomUUID().toString());
-                    user.setDotaskID(dotaskId);
-                    user.setSiteUserID(x.get("siteUserID").toString());
-                    dotaskUserMapper.insert(user);
-                });
-            } else {
+            String doTaskID = dbData.getDotaskID();
+            if (taskUser != null) {
                 PcDotaskUserExample example = new PcDotaskUserExample();
-                example.or().andDotaskIDEqualTo(data.getDotaskID());
-                dotaskUserMapper.deleteByExample(example);
-                data.getDotaskUser().stream().forEach(x -> {
-                    PcDotaskUser user = new PcDotaskUser();
-                    user.setDotaskUserID(UUID.randomUUID().toString());
-                    user.setDotaskID(dotaskId);
-                    user.setSiteUserID(x.get("siteUserID").toString());
-                    dotaskUserMapper.insert(user);
-                });
+                example.or().andDotaskIDEqualTo(data.getDoTaskID());
+                doTaskUserMapper.deleteByExample(example);
             }
+            var doTaskUsers = data.doTaskUser.stream().toList();
+            for (var curData: doTaskUsers) {
+                PcDotaskUser user = new PcDotaskUser();
+                user.setDotaskUserID(UUID.randomUUID().toString());
+                user.setDotaskID(doTaskID);
+                user.setSiteUserID(curData.siteUserID);
+                doTaskUserMapper.insert(user);
+            };
         }
         return result;
     }
@@ -160,12 +152,12 @@ public class DotaskImpl implements DotaskService {
         PcDotaskUserExample expUser = new PcDotaskUserExample();
         PcDotaskUserExample.Criteria croUser = expUser.or();
         croUser.andDotaskIDIn(ids);
-        int userRows = dotaskUserMapper.deleteByExample(expUser);
+        int userRows = doTaskUserMapper.deleteByExample(expUser);
         if (userRows > 0) {
             PcDotaskExample exp = new PcDotaskExample();
             PcDotaskExample.Criteria cro = exp.or();
             cro.andDotaskIDIn(ids);
-            result = dotaskMapper.deleteByExample(exp);
+            result = doTaskMapper.deleteByExample(exp);
         }
         return result;
     }

+ 7 - 9
src/main/java/com/hz/employmentsite/services/service/taskAndLog/DotaskService.java

@@ -2,25 +2,23 @@ package com.hz.employmentsite.services.service.taskAndLog;
 
 import com.github.pagehelper.PageInfo;
 import com.hz.employmentsite.vo.taskAndLog.DoTaskUserVo;
-import com.hz.employmentsite.vo.taskAndLog.DotaskVo;
+import com.hz.employmentsite.vo.taskAndLog.DoTaskVo;
 import com.hz.employmentsite.vo.taskAndLog.SiteUserVo;
-
-import java.util.Date;
 import java.util.List;
 
-public interface DotaskService {
-    PageInfo<DotaskVo> getList(Integer page, Integer rows, String name, String startTime, String endTime, String finishStartTime, String finishEndTime,
+public interface DoTaskService {
+    PageInfo<DoTaskVo> getList(Integer page, Integer rows, String name, String startTime, String endTime, String finishStartTime, String finishEndTime,
                                String regionCode, String streetCode, String workTypeId);
 
-    PageInfo<DotaskVo> getMyTasks(Integer page, Integer rows,String userID);
+    PageInfo<DoTaskVo> getMyTasks(Integer page, Integer rows, String userID);
 
-    List<DoTaskUserVo> getWorkUserList(String dotaskID);
+    List<DoTaskUserVo> getWorkUserList(String doTaskID);
 
     List<SiteUserVo> getUserList();
 
-    DotaskVo getDataById(String id);
+    DoTaskVo getDataById(String id);
 
-    int save(DotaskVo data,String userId);
+    int save(DoTaskVo data, String userId);
 
     int delete(List<String> ids);
 

+ 4 - 5
src/main/java/com/hz/employmentsite/vo/taskAndLog/DotaskVo.java

@@ -1,6 +1,5 @@
 package com.hz.employmentsite.vo.taskAndLog;
 
-import com.hz.employmentsite.model.PcDotaskUser;
 import lombok.Data;
 
 import java.util.Date;
@@ -8,15 +7,15 @@ import java.util.HashMap;
 import java.util.List;
 
 @Data
-public class DotaskVo {
+public class DoTaskVo {
 
-    public String dotaskID;
+    public String doTaskID;
 
     public Integer workTypeID;
 
     public String content;
 
-    public String dotaskName;
+    public String doTaskName;
 
     public Date finishTime;
 
@@ -38,6 +37,6 @@ public class DotaskVo {
 
     public String siteID;
 
-    public List<HashMap<String,Object>> dotaskUser;
+    public List<SiteUserVo> doTaskUser;
 
 }

+ 11 - 18
src/main/resources/mapping/cquery/DotaskCQuery.xml

@@ -1,21 +1,14 @@
 <?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.hz.employmentsite.mapper.cquery.DotaskCQuery">
-    <select id="getList" resultType="com.hz.employmentsite.vo.taskAndLog.DotaskVo">
-        select task.dotaskID,task.workTypeID,task.content,task.dotaskName,u.`Name` as createName,
-        task.finishTime,task.createTime,(select count(*) from pc_dotask_user du where du.DotaskID = task.DotaskID)as
-        userCount,
-        city.`name` as regionName,area.`name` as streetName,item.`Name` as workTypeName,task.regionCode,task.streetCode
-        from pc_dotask task
-        left join sys_dictionary_item item
-        on item.`Value` = task.WorkTypeID
-        left join sys_user u
-        on u.UserID = task.CreateUserID
-        left join area_code city
-        on city.`code` = task.RegionCode
-        join area_code area
-        on area.`code` = task.StreetCode
-        where item.DictionaryCode='TaskType'
+<mapper namespace="com.hz.employmentsite.mapper.cquery.DoTaskCQuery">
+    <select id="getList" resultType="com.hz.employmentsite.vo.taskAndLog.DoTaskVo">
+        select task.dotaskID,task.workTypeID,task.content,task.dotaskName,u.`Name` as createName,task.finishTime,task.createTime,
+        (select count(*) from pc_dotask_user du where du.DotaskID = task.DotaskID)as  userCount, city.`name` as regionName,
+        area.`name` as streetName,item.`Name` as workTypeName,task.regionCode,task.streetCode from pc_dotask task
+        left join sys_dictionary_item item on item.`Value` = task.WorkTypeID
+        left join sys_user u on u.UserID = task.CreateUserID
+        left join area_code city on city.`code` = task.RegionCode
+        join area_code area on area.`code` = task.StreetCode where item.DictionaryCode='TaskType'
         <if test="id != '' and id != null">
             and task.dotaskID in (${id})
         </if>
@@ -53,8 +46,8 @@
         left join pc_site_user su
         on su.SiteUserID = u.SiteUserID
         where 1 = 1
-        <if test="dotaskID!='' and dotaskID!=null">
-            and u.DotaskID = #{dotaskID}
+        <if test="doTaskID!='' and doTaskID!=null">
+            and u.DotaskID = #{doTaskID}
         </if>
 
     </select>

+ 6 - 6
vue/src/api/taskAndLog/dotask.ts

@@ -4,7 +4,7 @@ import {request} from "@/utils/request";
 export function getList(params: any) {
   return request<object>(
     {
-      url: "taskAndLog/dotask/getList",
+      url: "taskAndLog/doTask/getList",
       method: 'get',
       params: params,
     },
@@ -17,7 +17,7 @@ export function getList(params: any) {
 export function getDataById(id: any) {
   return request<object>(
     {
-      url: "taskAndLog/dotask/getDataById",
+      url: "taskAndLog/doTask/getDataById",
       method: 'get',
       params: {id},
     },
@@ -30,7 +30,7 @@ export function getDataById(id: any) {
 export function getWorkUserList(id: any) {
   return request(
     {
-      url: "taskAndLog/dotask/getWorkUserList",
+      url: "taskAndLog/doTask/getWorkUserList",
       method: 'get',
       params: {id},
     },
@@ -43,7 +43,7 @@ export function getWorkUserList(id: any) {
 export function getUserList() {
   return request(
     {
-      url: "taskAndLog/dotask/getUserList",
+      url: "taskAndLog/doTask/getUserList",
       method: 'get',
       params: {},
     },
@@ -56,7 +56,7 @@ export function getUserList() {
 export function save(data: any) {
   return request(
     {
-      url: "taskAndLog/dotask/save",
+      url: "taskAndLog/doTask/save",
       method: 'post',
       data: data
     },
@@ -71,7 +71,7 @@ export function save(data: any) {
 
 export function del(data: any) {
   return request({
-      url: 'taskAndLog/dotask/delete',
+      url: 'taskAndLog/doTask/delete',
       method: 'post',
       data: data
     },

+ 9 - 9
vue/src/views/taskAndLog/dotask/edit.vue

@@ -7,10 +7,10 @@
           <a-form-item
             label="任务名称"
             :label-col="{ span: 6 }"
-            name="dotaskName"
+            name="doTaskName"
             :rules="[{ required: true, message: '请输入任务名称!' }]"
           >
-            <a-input v-model:value="dataModel.dotaskName" placeholder=""/>
+            <a-input v-model:value="dataModel.doTaskName" placeholder=""/>
           </a-form-item>
         </a-col>
         <a-col :span="8">
@@ -102,7 +102,7 @@
                   <a-select
                     ref="select"
                     v-model:value="userData[index][column.key]"
-                    :options="siteuserList"
+                    :options="siteUserList"
                     :field-names="{ label: 'name', value: 'siteUserID' }"
                     :allow-clear="true" style="width: 200px"
                   >
@@ -157,7 +157,7 @@ export default defineComponent(
         pageSize: 99
       });
       // const router = useRouter();
-      const siteuserList = ref([]);
+      const siteUserList = ref([]);
       const regionList = ref<SelectProps['options']>();
       const streetList = ref<SelectProps['options']>();
       const taskTypeList = ref<SelectProps['options']>();
@@ -186,7 +186,7 @@ export default defineComponent(
       //获取所有的驿站人员
       const getSiteUserList = () => {
         getUserList().then(data => {
-          siteuserList.value = data;
+          siteUserList.value = data;
         })
       }
 
@@ -208,7 +208,7 @@ export default defineComponent(
       }
 
       const addUser = () => {
-        (userData.value as any[]).push({dotaskUserID: null, dotaskID: null, siteUserID: null, userName: ''});
+        (userData.value as any[]).push({siteUserID: null, name: ''});
 
       }
       const deleteUser = (record) => {
@@ -229,7 +229,7 @@ export default defineComponent(
       };
 
       const onFinish = () => {
-        formState.dataModel.dotaskUser = userData.value;
+        formState.dataModel.doTaskUser = userData.value;
         save(formState.dataModel).then(result => {
           if (result) {
             onClose(1)
@@ -248,7 +248,7 @@ export default defineComponent(
         {
           title: '序号',
           align: "center",
-          key: 'companyID',
+          key: 'doTaskID',
           width: 120,
           customRender: item => `${searchParams.pageSize * (searchParams.pageIndex - 1) + item.index + 1}`
         },
@@ -280,7 +280,7 @@ export default defineComponent(
         userData,
         streetList,
         taskTypeList,
-        siteuserList,
+        siteUserList,
         getSiteUserList,
         loadUserData,
         changeCity,

+ 3 - 3
vue/src/views/taskAndLog/dotask/index.vue

@@ -93,7 +93,7 @@
                :loading="formState.loading"
                @change="handleTableChange"
                :row-selection="{ selectedRowKeys: formState.selectedRowKeys, onChange: onSelectChange}"
-               :row-key="(record)=>record.dotaskID"
+               :row-key="(record)=>record.doTaskID"
                bordered>
         <template #bodyCell="{ column, text, record }">
           <template v-if="column.key === 'operation'">
@@ -151,7 +151,7 @@ export default defineComponent({
         key: 'institutionID',
         customRender: item => `${searchParams.pageSize * (searchParams.pageIndex - 1) + item.index + 1}`
       },
-      {title: '任务名称', dataIndex: 'dotaskName', key: 'dotaskName', align: "center"},
+      {title: '任务名称', dataIndex: 'doTaskName', key: 'doTaskName', align: "center"},
       {title: '任务类型', dataIndex: 'workTypeName', key: 'workTypeName', width: 120, align: "center"},
       {
         title: '任务完成时间', dataIndex: 'finishTime', key: 'finishTime', align: "center", customRender: (item) => {
@@ -186,7 +186,7 @@ export default defineComponent({
       tabsViewStore.addTabByPath('/taskAndLog/dotask/add', null);
     };
     const onEdit = (item: any) => {
-      tabsViewStore.addTabByPath('/taskAndLog/dotask/edit', { id: item.dotaskID });
+      tabsViewStore.addTabByPath('/taskAndLog/dotask/edit', { id: item.doTaskID });
     };
 
     get('system/area/getCityList',{}).then(data=>{