TaskTempController.java 5.09 KB
package vion.controller;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import lombok.extern.slf4j.Slf4j;
import org.bouncycastle.util.test.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import vion.Global;
import vion.enums.ResultEnum;
import vion.model.File;
import vion.model.TaskTemp;
import vion.service.IFileSerrvice;
import vion.service.ITaskTempSerrvice;
import vion.utils.ResultUtil;
import vion.vo.TaskTempVO;

import java.util.Date;
import java.util.List;

@RestController
@RequestMapping(Global.BASE_URL)
@Slf4j
public class TaskTempController {

    @Autowired
    private ITaskTempSerrvice taskTempSerrvice;
    @Autowired
    private IFileSerrvice fileSerrvice;

    @GetMapping("/taskTemps")
    @ResponseBody
    public Object getTaskTempList(@RequestParam(name = "store_name",required=false)String store_name,
                                  @RequestParam(name = "store_id",required=false)Integer store_id,
                                  @RequestParam(name = "startdate",required=false)Date startdate,
                                  @RequestParam(name = "enddate",required=false)Date enddate,
                                  @RequestParam(name = "status",required=false)Integer status,
                                  @RequestParam(name = "pageNum")Integer pageNum,
                                  @RequestParam(name = "pageSize")Integer pageSize){

        //pageNum当前页,pageSize每页条数
        PageHelper.startPage(pageNum,pageSize);

        QueryWrapper<TaskTemp> wrapper=new QueryWrapper<>();
        if(store_id!=null)
            wrapper.eq("store_id",store_id);
        if(store_name!=null)
            wrapper.eq("store_name",store_name);
        if(status!=null)
            wrapper.eq("status",status);
        if(startdate!=null)
            wrapper.ge("repair_date",startdate);
        if(enddate!=null)
            wrapper.le("repair_date",enddate);

        List<TaskTemp> taskTempList= taskTempSerrvice.list(wrapper);
        PageInfo pageInfo=new PageInfo(taskTempList,10);

        if (pageInfo != null) {
            return ResultUtil.success(pageInfo);
        } else {
            return ResultUtil.error(ResultEnum.SELECT_ERROR);
        }
    }

    @GetMapping("/taskTemp")
    @ResponseBody
    public Object getTaskTempByID(@RequestParam(name = "id")Integer id){

        TaskTemp work_orderTemp = taskTempSerrvice.getById(id);

        if (work_orderTemp != null) {
            return ResultUtil.success(work_orderTemp);
        } else {
            return ResultUtil.error(ResultEnum.SELECT_ERROR);
        }
    }

    @PostMapping("/taskTemps")
    @ResponseBody
    public Object saveOrUpdateTaskTemp(@RequestBody TaskTempVO data) {

        try {
            TaskTemp taskTemp=new TaskTemp();
            taskTemp.setStoreName(data.getStore_name());
            taskTemp.setRepairPeople(data.getRepair_people());
            taskTemp.setRepairPhone(data.getRepair_phone());
            taskTemp.setRepairDate(data.getRepair_date());
            taskTemp.setFaultDescription(data.getFault_description());

            //TaskTemp workOrder= taskTempDao.addTaskTemp(taskTemp);
            TaskTemp saveTaskTemp= taskTempSerrvice.saveAndReturn(taskTemp);

           if(saveTaskTemp!=null){
               //添加文件附件
               File file=new File();
               file.setStoreId(0);//新增预处理订单还没有门店ID
               file.setSourceId(saveTaskTemp.getId());
               file.setSourceType(2);//1项目、2工单预处理,3工单操作,4巡检
               file.setName(data.getFilename());
               file.setUrl(data.getFileurl());
               file.setType(1);
              // fileDao.addFile(file);
               fileSerrvice.save(file);
           }

            return ResultUtil.success();
        }catch (Exception e) {
            return ResultUtil.error(ResultEnum.SELECT_ERROR);
        }
    }

    @PostMapping("/updateTaskTempStatus")
    @ResponseBody
    public Object updateStoreStage(@RequestBody TaskTemp taskTemp) {

            //更新预处理工单状态
            UpdateWrapper updateWrapper=new UpdateWrapper();
            updateWrapper.eq("id", taskTemp.getId());
            updateWrapper.set("status",2);//状态(1待确认、2已确认)
            updateWrapper.set("operator",taskTemp.getOperator());
            updateWrapper.set("store_id",taskTemp.getStoreId());
            updateWrapper.set("modify_time",new Date());
            boolean result= taskTempSerrvice.update(updateWrapper);

            //根据预处理工单跟新附件的门店ID
            fileSerrvice.lambdaUpdate()
                    .setSql("store_id="+taskTemp.getStoreId())
                    .eq(File::getSourceId,taskTemp.getId())
                    .update();
        if(result){
            return ResultUtil.success();
        }else {
            return ResultUtil.error(ResultEnum.SELECT_ERROR);
        }
    }
}