parent
ac55f5d5f3
commit
672f4132ca
|
|
@ -201,6 +201,11 @@ public class Constants
|
||||||
*/
|
*/
|
||||||
public static final String TB_PRO_MONTH_TABLE = "tb_pro_month_table";
|
public static final String TB_PRO_MONTH_TABLE = "tb_pro_month_table";
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 分包商信息表
|
||||||
|
*/
|
||||||
|
public static final String QUESTION_RECORD = "question_record";
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,110 @@
|
||||||
|
package com.bonus.bmw.controller;
|
||||||
|
|
||||||
|
import com.bonus.bmw.domain.dto.QuestionRecordDto;
|
||||||
|
import com.bonus.bmw.service.QuestionRecordService;
|
||||||
|
import com.bonus.common.core.utils.encryption.Sm4Utils;
|
||||||
|
import com.bonus.common.core.utils.json.FastJsonHelper;
|
||||||
|
import com.bonus.common.core.web.controller.BaseController;
|
||||||
|
import com.bonus.common.core.web.domain.AjaxResult;
|
||||||
|
import com.bonus.common.core.web.page.TableDataInfo;
|
||||||
|
import com.bonus.common.log.annotation.SysLog;
|
||||||
|
import com.bonus.common.log.enums.OperaType;
|
||||||
|
import com.bonus.common.security.annotation.InnerAuth;
|
||||||
|
import com.bonus.common.security.annotation.RequiresPermissions;
|
||||||
|
import com.bonus.common.security.annotation.RequiresPermissionsOrInnerAuth;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.springframework.validation.annotation.Validated;
|
||||||
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
import org.springframework.web.multipart.MultipartFile;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* app部分接口
|
||||||
|
* @author fly
|
||||||
|
* @date 2025/8/23
|
||||||
|
*/
|
||||||
|
@Slf4j
|
||||||
|
@RestController
|
||||||
|
@RequestMapping("/question")
|
||||||
|
public class QuestionRecordController extends BaseController {
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private QuestionRecordService service;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询列表
|
||||||
|
* @param o
|
||||||
|
* @return
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@RequiresPermissionsOrInnerAuth(innerAuth = @InnerAuth(isUser = false), requiresPermissions = @RequiresPermissions("worker:question:list"))
|
||||||
|
@GetMapping("/list")
|
||||||
|
@SysLog(title = "问题记录列表", businessType = OperaType.QUERY, logType = 0, module = "问题记录列表", details = "问题记录列表")
|
||||||
|
public TableDataInfo list(QuestionRecordDto o) {
|
||||||
|
try {
|
||||||
|
startPage();
|
||||||
|
List<QuestionRecordDto> list = service.selectQuestionRecordList(o);
|
||||||
|
return getDataTable(list);
|
||||||
|
} catch (Exception e) {
|
||||||
|
logger.error(e.toString(), e);
|
||||||
|
}
|
||||||
|
return getDataTableError(new ArrayList<>());
|
||||||
|
}
|
||||||
|
|
||||||
|
@RequiresPermissionsOrInnerAuth(innerAuth = @InnerAuth, requiresPermissions = @RequiresPermissions("worker:question:insert"))
|
||||||
|
@PostMapping("/insert")
|
||||||
|
@SysLog(title = "新增问题记录", businessType = OperaType.UPDATE, logType = 0, module = "新增问题记录", details = "新增问题记录")
|
||||||
|
public AjaxResult exit(@RequestParam(value = "files",required = false) MultipartFile[] files, @RequestParam(value = "params")String params) {
|
||||||
|
try {
|
||||||
|
params= Sm4Utils.decrypt(params);
|
||||||
|
QuestionRecordDto o = FastJsonHelper.jsonStrToBean(params, QuestionRecordDto.class);
|
||||||
|
//先将数据对应关系处理还
|
||||||
|
return service.insert(o,files);
|
||||||
|
} catch (Exception e) {
|
||||||
|
logger.error(e.toString(), e);
|
||||||
|
}
|
||||||
|
return error("系统异常,请联系管理员");
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 删除分包商
|
||||||
|
*/
|
||||||
|
@RequiresPermissionsOrInnerAuth(innerAuth = @InnerAuth, requiresPermissions = @RequiresPermissions("worker:question:del"))
|
||||||
|
@PostMapping("/del")
|
||||||
|
@SysLog(title = "删除问题记录", businessType = OperaType.UPDATE, logType = 0, module = "删除问题记录")
|
||||||
|
public AjaxResult del(@Validated @RequestBody QuestionRecordDto o) {
|
||||||
|
try {
|
||||||
|
int res = service.del(o);
|
||||||
|
if (res>0){
|
||||||
|
return toAjax(res);
|
||||||
|
}else {
|
||||||
|
return error("删除失败");
|
||||||
|
}
|
||||||
|
|
||||||
|
} catch (Exception e) {
|
||||||
|
logger.error(e.toString(), e);
|
||||||
|
}
|
||||||
|
return error("系统异常,请联系管理员");
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 删除分包商
|
||||||
|
*/
|
||||||
|
@RequiresPermissionsOrInnerAuth(innerAuth = @InnerAuth, requiresPermissions = @RequiresPermissions("worker:question:deal"))
|
||||||
|
@PostMapping("/deal")
|
||||||
|
@SysLog(title = "处理问题", businessType = OperaType.UPDATE, logType = 0, module = "处理问题")
|
||||||
|
public AjaxResult deal(@Validated @RequestBody QuestionRecordDto o) {
|
||||||
|
try {
|
||||||
|
return service.deal(o);
|
||||||
|
} catch (Exception e) {
|
||||||
|
logger.error(e.toString(), e);
|
||||||
|
}
|
||||||
|
return error("系统异常,请联系管理员");
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,77 @@
|
||||||
|
package com.bonus.bmw.domain.dto;
|
||||||
|
|
||||||
|
import com.bonus.system.api.model.UploadFileVo;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 人员基础信息表
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class QuestionRecordDto {
|
||||||
|
/**
|
||||||
|
* 编号
|
||||||
|
*/
|
||||||
|
private Integer id;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 模块
|
||||||
|
*/
|
||||||
|
private String module;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 详情
|
||||||
|
*/
|
||||||
|
private String content;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 状态
|
||||||
|
*/
|
||||||
|
private String status;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 提出人
|
||||||
|
*/
|
||||||
|
private String submitter;
|
||||||
|
/**
|
||||||
|
* 处理人
|
||||||
|
*/
|
||||||
|
private String handler;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 详情
|
||||||
|
*/
|
||||||
|
private String remark;
|
||||||
|
/**
|
||||||
|
* 处理时间
|
||||||
|
*/
|
||||||
|
private String updateTime;
|
||||||
|
/**
|
||||||
|
* 修改人id
|
||||||
|
*/
|
||||||
|
private Integer updateId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 创建时间
|
||||||
|
*/
|
||||||
|
private String createTime;
|
||||||
|
/**
|
||||||
|
* 创建人id
|
||||||
|
*/
|
||||||
|
private Integer createId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 文件列表
|
||||||
|
*/
|
||||||
|
List<UploadFileVo> file;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 删除文件id集合
|
||||||
|
*/
|
||||||
|
List<String> fileIdList;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,17 @@
|
||||||
|
package com.bonus.bmw.mapper;
|
||||||
|
|
||||||
|
import com.bonus.bmw.domain.dto.QuestionRecordDto;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
public interface QuestionRecordMapper {
|
||||||
|
|
||||||
|
|
||||||
|
List<QuestionRecordDto> selectQuestionRecordList(QuestionRecordDto o);
|
||||||
|
|
||||||
|
int insert(QuestionRecordDto o);
|
||||||
|
|
||||||
|
int del(QuestionRecordDto o);
|
||||||
|
|
||||||
|
int deal(QuestionRecordDto o);
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,18 @@
|
||||||
|
package com.bonus.bmw.service;
|
||||||
|
|
||||||
|
import com.bonus.bmw.domain.dto.QuestionRecordDto;
|
||||||
|
import com.bonus.common.core.web.domain.AjaxResult;
|
||||||
|
import org.springframework.web.multipart.MultipartFile;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
public interface QuestionRecordService {
|
||||||
|
|
||||||
|
List<QuestionRecordDto> selectQuestionRecordList(QuestionRecordDto o);
|
||||||
|
|
||||||
|
AjaxResult insert(QuestionRecordDto o, MultipartFile[] files);
|
||||||
|
|
||||||
|
int del(QuestionRecordDto o);
|
||||||
|
|
||||||
|
AjaxResult deal(QuestionRecordDto o);
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,75 @@
|
||||||
|
package com.bonus.bmw.service.impl;
|
||||||
|
|
||||||
|
import cn.hutool.core.date.DateUtil;
|
||||||
|
import com.bonus.bmw.domain.dto.QuestionRecordDto;
|
||||||
|
import com.bonus.bmw.mapper.QuestionRecordMapper;
|
||||||
|
import com.bonus.bmw.service.QuestionRecordService;
|
||||||
|
import com.bonus.common.core.constant.Constants;
|
||||||
|
import com.bonus.common.core.web.domain.AjaxResult;
|
||||||
|
import com.bonus.common.security.utils.SecurityUtils;
|
||||||
|
import com.bonus.system.api.model.UploadFileVo;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
import org.springframework.web.multipart.MultipartFile;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
|
import java.util.Arrays;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author 马三炮
|
||||||
|
* @date 2025/8/14
|
||||||
|
*/
|
||||||
|
@Service
|
||||||
|
@Slf4j
|
||||||
|
public class QuestionRecordServiceImpl implements QuestionRecordService {
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private QuestionRecordMapper mapper;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private FileUploadUtils fileUploadUtils;
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<QuestionRecordDto> selectQuestionRecordList(QuestionRecordDto o) {
|
||||||
|
List<QuestionRecordDto> list = mapper.selectQuestionRecordList(o);
|
||||||
|
if (!list.isEmpty()){
|
||||||
|
for (QuestionRecordDto bean:list) {
|
||||||
|
List<UploadFileVo> contractFile = fileUploadUtils.getFileList("", bean.getId().toString(), Constants.QUESTION_RECORD, "");
|
||||||
|
bean.setFile(contractFile);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return list;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public AjaxResult insert(QuestionRecordDto o, MultipartFile[] files) {
|
||||||
|
o.setCreateId(Math.toIntExact(SecurityUtils.getLoginUser().getUserid()));
|
||||||
|
int insert = mapper.insert(o);
|
||||||
|
if (insert > 0) {
|
||||||
|
String[] sourceType = new String[files.length];
|
||||||
|
Arrays.fill(sourceType, "1");
|
||||||
|
fileUploadUtils.uploadFile(files, Constants.QUESTION_RECORD, o.getId().toString(), sourceType, "", "");
|
||||||
|
}
|
||||||
|
|
||||||
|
return insert > 0 ? AjaxResult.success() : AjaxResult.error();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int del(QuestionRecordDto o) {
|
||||||
|
int res = mapper.del(o);
|
||||||
|
//删除合同图片 删除minio文件
|
||||||
|
fileUploadUtils.delFileListById("", o.getId().toString(), Constants.QUESTION_RECORD,"");
|
||||||
|
return res;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public AjaxResult deal(QuestionRecordDto o) {
|
||||||
|
o.setUpdateTime(DateUtil.now());
|
||||||
|
o.setUpdateId(Math.toIntExact(SecurityUtils.getLoginUser().getUserid()));
|
||||||
|
int res = mapper.deal(o);
|
||||||
|
return res > 0 ? AjaxResult.success() : AjaxResult.error();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -73,7 +73,7 @@
|
||||||
psc.sub_company_name as subComName
|
psc.sub_company_name as subComName
|
||||||
from pm_sub ps
|
from pm_sub ps
|
||||||
left join pm_sub_company psc on ps.sub_com_id = psc.id
|
left join pm_sub_company psc on ps.sub_com_id = psc.id
|
||||||
where is_active='1'
|
where ps.is_active='1'
|
||||||
<if test="subComId!= null " >
|
<if test="subComId!= null " >
|
||||||
and ps.sub_com_id=#{subComId}
|
and ps.sub_com_id=#{subComId}
|
||||||
</if>
|
</if>
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue