Merge remote-tracking branch 'origin/dev' into dev
This commit is contained in:
commit
29aa2a2a4a
@ -32,14 +32,12 @@ public class PropertyPosController {
|
||||
|
||||
@PostMapping("/create")
|
||||
@Operation(summary = "创建企业管理-资产存放位置")
|
||||
@PreAuthorize("@ss.hasPermission('company:property-pos:create')")
|
||||
public CommonResult<String> createPropertyPos(@RequestBody PropertyPosReqVO createReqVO) {
|
||||
return success(propertyPosService.createPropertyPos(createReqVO));
|
||||
}
|
||||
|
||||
@PutMapping("/update")
|
||||
@Operation(summary = "更新企业管理-资产存放位置")
|
||||
@PreAuthorize("@ss.hasPermission('company:property-pos:update')")
|
||||
public CommonResult<Boolean> updatePropertyPos(@RequestBody PropertyPosReqVO updateReqVO) {
|
||||
propertyPosService.updatePropertyPos(updateReqVO);
|
||||
return success(true);
|
||||
@ -48,7 +46,6 @@ public class PropertyPosController {
|
||||
@DeleteMapping("/delete")
|
||||
@Operation(summary = "删除企业管理-资产存放位置")
|
||||
@Parameter(name = "id", description = "编号", required = true)
|
||||
@PreAuthorize("@ss.hasPermission('company:property-pos:delete')")
|
||||
public CommonResult<Boolean> deletePropertyPos(@RequestParam("id") String id) {
|
||||
propertyPosService.deletePropertyPos(id);
|
||||
return success(true);
|
||||
@ -57,7 +54,6 @@ public class PropertyPosController {
|
||||
@GetMapping("/get")
|
||||
@Operation(summary = "获得企业管理-资产存放位置")
|
||||
@Parameter(name = "id", description = "编号", required = true, example = "1024")
|
||||
@PreAuthorize("@ss.hasPermission('company:property-pos:query')")
|
||||
public CommonResult<PropertyPosRespVO> getPropertyPos(@RequestParam("id") String id) {
|
||||
PropertyPos propertyPos = propertyPosService.getPropertyPos(id);
|
||||
return success(BeanUtils.toBean(propertyPos, PropertyPosRespVO.class));
|
||||
@ -65,7 +61,6 @@ public class PropertyPosController {
|
||||
|
||||
@GetMapping("/page")
|
||||
@Operation(summary = "获得企业管理-资产存放位置分页")
|
||||
@PreAuthorize("@ss.hasPermission('company:property-pos:query')")
|
||||
public CommonResult<IPage<?>> getPropertyPosPage(PropertyPosReqVO pageReqVO,
|
||||
@RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
|
||||
@RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize) {
|
||||
@ -81,7 +76,6 @@ public class PropertyPosController {
|
||||
**/
|
||||
@GetMapping("/list")
|
||||
@Operation(summary = "获得企业管理-资产存放位置列表")
|
||||
@PreAuthorize("@ss.hasPermission('company:property-pos:query')")
|
||||
public CommonResult<List<?>> getPropertyPosList() {
|
||||
return success(propertyPosService.list());
|
||||
}
|
||||
@ -94,7 +88,6 @@ public class PropertyPosController {
|
||||
**/
|
||||
@GetMapping("/listByCorpId")
|
||||
@Operation(summary = "获得企业管理-资产存放位置列表")
|
||||
@PreAuthorize("@ss.hasPermission('company:property-deal:query')")
|
||||
public CommonResult<List<PropertyPos>> getPositionByCorpId(String id){
|
||||
return success(propertyPosService.list(new LambdaQueryWrapper<PropertyPos>().eq(PropertyPos::getCorpId, id)));
|
||||
}
|
||||
|
@ -1,5 +1,6 @@
|
||||
package cn.iocoder.yudao.module.staff.controller.admin;
|
||||
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog;
|
||||
@ -15,6 +16,8 @@ import cn.iocoder.yudao.module.staff.vo.CompanyStaffReqVO;
|
||||
import cn.iocoder.yudao.module.staff.vo.CompanyStaffRespVO;
|
||||
import cn.iocoder.yudao.module.staff.vo.StaffLoginBody;
|
||||
import cn.iocoder.yudao.module.system.api.permission.dto.RoleReqDTO;
|
||||
import cn.iocoder.yudao.module.system.api.user.AdminUserApi;
|
||||
import cn.iocoder.yudao.module.system.api.user.dto.AdminUserRespDTO;
|
||||
import cn.iocoder.yudao.module.system.controller.admin.auth.vo.AuthLoginReqVO;
|
||||
import cn.iocoder.yudao.module.system.dal.dataobject.user.AdminUserDO;
|
||||
import cn.iocoder.yudao.module.system.service.auth.AdminAuthService;
|
||||
@ -40,6 +43,7 @@ import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.EXPORT;
|
||||
import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception0;
|
||||
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.error;
|
||||
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
|
||||
|
||||
@ -63,6 +67,8 @@ public class CompanyStaffController {
|
||||
private AdminAuthService loginService;
|
||||
@Autowired
|
||||
private ApiAppLoginService apiAppLoginService;
|
||||
@Resource
|
||||
private AdminUserApi adminUserApi;
|
||||
|
||||
/**
|
||||
* 分页查询
|
||||
@ -98,6 +104,19 @@ public class CompanyStaffController {
|
||||
return CommonResult.ok();
|
||||
}
|
||||
|
||||
/**
|
||||
* 创建、修改员工信息,在角色和用户已经存在的情况下用
|
||||
*
|
||||
* @author 小李
|
||||
* @date 17:26 2024/12/19
|
||||
* @param staffRespVO 信息
|
||||
**/
|
||||
@PostMapping("/updateByExistUser")
|
||||
public CommonResult<?> updateByExistUser(@RequestBody CompanyStaffRespVO staffRespVO){
|
||||
staffService.updateByExistUser(staffRespVO);
|
||||
return CommonResult.ok();
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改员工
|
||||
*
|
||||
@ -326,4 +345,25 @@ public class CompanyStaffController {
|
||||
return error(2_002_000_005,e.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据用户ID获取信息
|
||||
*
|
||||
* @author 小李
|
||||
* @date 15:12 2024/12/18
|
||||
* @param id 用户ID
|
||||
**/
|
||||
@GetMapping("/getByUserId")
|
||||
public CommonResult<?> getByUserId(@RequestParam("id")Long id){
|
||||
Map<String, Object> map = new HashMap<>();
|
||||
List<CompanyStaff> list = staffService.list(new LambdaQueryWrapper<CompanyStaff>().eq(CompanyStaff::getUserId, id));
|
||||
if (CollUtil.isNotEmpty(list)){
|
||||
map.put("staff", list.get(0));
|
||||
}
|
||||
AdminUserRespDTO user = adminUserApi.getUser(id);
|
||||
if (ObjectUtil.isNotEmpty(user)){
|
||||
map.put("user", user);
|
||||
}
|
||||
return success(map);
|
||||
}
|
||||
}
|
||||
|
@ -16,6 +16,7 @@ import lombok.EqualsAndHashCode;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
@ -110,4 +111,23 @@ public class CompanyStaff extends TenantBaseDO {
|
||||
@TableField(exist = false)
|
||||
@ExcelProperty("员工角色")
|
||||
private String roleNames;
|
||||
|
||||
/** 身份证号 */
|
||||
@ExcelProperty("身份证号")
|
||||
private String IdNumber;
|
||||
|
||||
/** 转正时间 */
|
||||
@JsonFormat(pattern="yyyy-MM-dd",timezone="GMT+8")
|
||||
@DateTimeFormat(pattern="yyyy-MM-dd")
|
||||
@ExcelProperty("转正时间")
|
||||
private Date formalDate;
|
||||
|
||||
/** 购买保险时间 */
|
||||
@JsonFormat(pattern="yyyy-MM-dd",timezone="GMT+8")
|
||||
@DateTimeFormat(pattern="yyyy-MM-dd")
|
||||
@ExcelProperty("购买保险时间")
|
||||
private Date safeDate;
|
||||
|
||||
/** 附件的名称们,手动填写,逗号分隔,没有也要占位,和下面的urls对应 */
|
||||
private String fileNames;
|
||||
}
|
||||
|
@ -139,4 +139,14 @@ public interface CompanyStaffService extends IService<CompanyStaff> {
|
||||
* @return cn.iocoder.yudao.module.staff.entity.CompanyStaff
|
||||
**/
|
||||
CompanyStaffRespVO getMyAdviser(Long tenantId,String sysCode);
|
||||
|
||||
/**
|
||||
* 创建、修改员工信息,在角色和用户已经存在的情况下用
|
||||
*
|
||||
* @author 小李
|
||||
* @date 17:26 2024/12/19
|
||||
* @param staffRespVO 信息
|
||||
**/
|
||||
void updateByExistUser(CompanyStaffRespVO staffRespVO);
|
||||
|
||||
}
|
||||
|
@ -3,7 +3,9 @@ package cn.iocoder.yudao.module.staff.service.impl;
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import cn.hutool.core.collection.CollectionUtil;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.hutool.log.Log;
|
||||
import cn.iocoder.yudao.common.*;
|
||||
import cn.iocoder.yudao.framework.security.core.LoginUser;
|
||||
import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils;
|
||||
import cn.iocoder.yudao.framework.tenant.core.aop.TenantIgnore;
|
||||
import cn.iocoder.yudao.framework.tenant.core.util.TenantUtils;
|
||||
@ -685,4 +687,45 @@ public class CompanyStaffServiceImpl extends ServiceImpl<CompanyStaffMapper, Com
|
||||
// 啥也不是
|
||||
return "";
|
||||
}
|
||||
|
||||
/**
|
||||
* 创建、修改员工信息,在角色和用户已经存在的情况下用
|
||||
*
|
||||
* @author 小李
|
||||
* @date 17:26 2024/12/19
|
||||
* @param staffRespVO 信息
|
||||
**/
|
||||
@Override
|
||||
public void updateByExistUser(CompanyStaffRespVO staffRespVO){
|
||||
if (ObjectUtil.isEmpty(staffRespVO.getId())){
|
||||
AdminUserRespDTO loginUser = getLoginUser();
|
||||
// 设置新增员工部门
|
||||
staffRespVO.setDeptId(loginUser.getDeptId());
|
||||
// 1 获取当前登录用户的企业信息给添加的员工
|
||||
DeptRespDTO loginDept = getLoginDept(loginUser.getDeptId());
|
||||
staffRespVO.setCorpId(loginDept.getCorpId());
|
||||
// 2 生成唯一推广码
|
||||
String uniqueCode = uniqueCodeService.createUniqueCode();
|
||||
if (!ObjectUtil.isNotEmpty(uniqueCode)) {
|
||||
throw exception(CommonErrorCodeConstants.UNIQUE_CODE_CREATE_REPEAT);
|
||||
}
|
||||
staffRespVO.setUniqueCode(uniqueCode);
|
||||
// 3 保存员工信息到数据库
|
||||
baseMapper.insert(staffRespVO);
|
||||
}else {
|
||||
AdminUserRespDTO user = adminUserApi.getUser(staffRespVO.getUserId());
|
||||
AdminUserRespDTO newUser = new AdminUserRespDTO();
|
||||
newUser.setId(user.getId());
|
||||
if (!user.getUsername().equals(staffRespVO.getTel())){
|
||||
newUser.setUsername(staffRespVO.getTel());
|
||||
}
|
||||
if (!user.getNickname().equals(staffRespVO.getName())){
|
||||
newUser.setNickname(staffRespVO.getName());
|
||||
}
|
||||
if (ObjectUtil.isNotEmpty(newUser.getUsername()) || ObjectUtil.isNotEmpty(newUser.getNickname())){
|
||||
adminUserApi.updateUser(newUser);
|
||||
}
|
||||
baseMapper.updateById(staffRespVO);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -0,0 +1,107 @@
|
||||
package cn.iocoder.yudao.common;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
|
||||
/**
|
||||
* 检测相关和角色和其对应的权重
|
||||
*
|
||||
* 权重分配如下:
|
||||
* 检测业务管理员
|
||||
* 检测站老板
|
||||
* 检测官方
|
||||
* 检测商户
|
||||
* 经销商
|
||||
* 合作商
|
||||
* 引车员
|
||||
* 环检员
|
||||
* 外检员
|
||||
* 外检底检
|
||||
* 一审
|
||||
* 环检预审
|
||||
* 检测用户
|
||||
* @author 小李
|
||||
* @date 15:39 2024/12/15
|
||||
**/
|
||||
@AllArgsConstructor
|
||||
@Getter
|
||||
public enum InspectionRoleCommon {
|
||||
|
||||
/** 检测业务管理员 */
|
||||
JIANCE("jiance", 1),
|
||||
|
||||
/** 站长 */
|
||||
JCZZ("jczz", 1),
|
||||
|
||||
/** 检测站老板 */
|
||||
JCBOSS("jcboss", 1),
|
||||
|
||||
/** 检测官方 */
|
||||
JCGF("jcgf", 2),
|
||||
|
||||
/** 检测商户 */
|
||||
JCSHOP("jcshop", 2),
|
||||
|
||||
/** 经销商 */
|
||||
DEALERS("dealers", 2),
|
||||
|
||||
/** 合作商 */
|
||||
PARTNERS("partners", 2),
|
||||
|
||||
/** 引车员 */
|
||||
JCYCY("jcycy", 3),
|
||||
|
||||
/** 环检员 */
|
||||
JCHJY("jchjy", 4),
|
||||
|
||||
/** 外检员 */
|
||||
JCWJY("jcwjy", 4),
|
||||
|
||||
/** 外检底检 */
|
||||
JCWJDJ("jcwjdj", 4),
|
||||
|
||||
/** 一审 */
|
||||
JCYSZZ("jcyszz", 4),
|
||||
|
||||
/** 环检预审 */
|
||||
JCHJYS("jchjys", 4),
|
||||
|
||||
/** 检测用户 */
|
||||
JCYH("jcyh", 4),
|
||||
|
||||
/** 安检外检 */
|
||||
JCAJWJ("jcajwj", 4),
|
||||
|
||||
/** 收费登录 */
|
||||
JCSFDL("jcsfdl", 4),
|
||||
|
||||
/** 环检外检 */
|
||||
JCHJWJ("jchjwj", 4),
|
||||
|
||||
/** 底盘检测 */
|
||||
JCDPJC("jcdpjc", 4),
|
||||
|
||||
/** 环检操作 */
|
||||
JCHJCZ("jchjcz", 4),
|
||||
|
||||
/** 检测总检 */
|
||||
JCZJ("jczj", 4),
|
||||
|
||||
/** 检测资料管理员 */
|
||||
JCZLGLY("jczlgly", 4),
|
||||
|
||||
/** 安全检验员 */
|
||||
AQJYY("aqjyy", 4),
|
||||
|
||||
/** 授权签字人 */
|
||||
JCSQQZR("jcsqqzr", 4),
|
||||
|
||||
/** 检测员工 */
|
||||
JCWORKER("jcworker", 4);
|
||||
|
||||
/** 角色Code */
|
||||
private final String code;
|
||||
|
||||
/** 角色权重 */
|
||||
private final Integer weight;
|
||||
}
|
@ -164,6 +164,12 @@ public class AppNewsController extends BaseController {
|
||||
inspectionNews.setPublishUnit(partners.getPartnerName());
|
||||
}
|
||||
|
||||
if (ObjectUtil.isEmpty(inspectionNews.getType()) || inspectionNews.getType().equals("null")){
|
||||
if (ObjectUtil.isNotEmpty(inspectionNews.getIfShow())){
|
||||
inspectionNews.setType(inspectionNews.getIfShow().equals("01") ? "staff" : "user");
|
||||
}
|
||||
}
|
||||
|
||||
//判断是否为当前登录用户创建的
|
||||
return toAjax(inspectionNewsService.insertInspectionNews(inspectionNews));
|
||||
}
|
||||
@ -314,5 +320,4 @@ public class AppNewsController extends BaseController {
|
||||
IPage<InspectionNews> news = inspectionNewsService.msgList(page,partnerId);
|
||||
return success(news);
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -1,5 +1,6 @@
|
||||
package cn.iocoder.yudao.module.inspection.controller;
|
||||
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
|
||||
import cn.iocoder.yudao.module.core.controller.BaseController;
|
||||
import cn.iocoder.yudao.module.inspection.entity.InspectionFile;
|
||||
@ -7,12 +8,14 @@ import cn.iocoder.yudao.module.inspection.service.AppInspectionPartnerService;
|
||||
import cn.iocoder.yudao.module.inspection.service.IInspectionFileService;
|
||||
import cn.iocoder.yudao.module.shop.entity.ShopMallPartners;
|
||||
import cn.iocoder.yudao.util.ExcelUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* inspectionFileController
|
||||
@ -105,4 +108,36 @@ public class InspectionFileController extends BaseController
|
||||
}
|
||||
return toAjax(inspectionFileService.deleteInspectionFileById(id));
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据id统计数量
|
||||
*
|
||||
* @author 小李
|
||||
* @date 14:30 2024/12/14
|
||||
* @param ids ids
|
||||
**/
|
||||
@GetMapping("/getCountByIds")
|
||||
public CommonResult<?> getCountByIds(@RequestParam(value = "ids" ,required = false) List<Long> ids) {
|
||||
if (CollUtil.isEmpty(ids)){
|
||||
return null;
|
||||
}
|
||||
return success(inspectionFileService.getCountByIds(ids));
|
||||
}
|
||||
|
||||
/**
|
||||
* 得到使用说明
|
||||
*
|
||||
* @author 小李
|
||||
* @date 12:31 2024/12/17
|
||||
**/
|
||||
@GetMapping("/getPresent")
|
||||
public CommonResult<?> getPresent(){
|
||||
List<InspectionFile> files = inspectionFileService.list(new LambdaQueryWrapper<InspectionFile>().eq(InspectionFile::getFileName, "使用说明"));
|
||||
if (CollUtil.isEmpty(files)){
|
||||
return null;
|
||||
}
|
||||
InspectionFile inspectionFile = files.get(0);
|
||||
return success(inspectionFile);
|
||||
|
||||
}
|
||||
}
|
||||
|
@ -275,6 +275,32 @@ public class InspectionInfoController extends BaseController {
|
||||
public CommonResult isExamine(){
|
||||
return success(inspectionInfoService.isExamine());
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取某个工单针对当前操作用户,某个状态的项目们
|
||||
*
|
||||
* @author 小李
|
||||
* @date 10:48 2024/12/11
|
||||
* @param id 工单ID
|
||||
* @param status 状态
|
||||
* @param flag 状态字段是否生效,默认生效
|
||||
**/
|
||||
@GetMapping("/getWorkNodeByIdAndNow")
|
||||
public CommonResult<?> getWorkNodeByIdAndNow(Long id, String status, @RequestParam(value = "flag", defaultValue = "true") Boolean flag){
|
||||
return success(inspectionInfoService.getWorkNodeByIdAndNow(id, status, flag));
|
||||
}
|
||||
|
||||
/**
|
||||
* 判断是否可以修改引车员
|
||||
*
|
||||
* @author 小李
|
||||
* @date 15:22 2024/12/11
|
||||
* @param id 工单ID
|
||||
**/
|
||||
@GetMapping("/judgeUpdateLeadMan")
|
||||
public CommonResult<?> judgeUpdateLeadMan(Long id){
|
||||
return success(inspectionInfoService.judgeUpdateLeadMan(id));
|
||||
}
|
||||
/**
|
||||
* 判断当前登陆人是否有重检、重审、退办理的权限(app)
|
||||
* @return
|
||||
@ -333,4 +359,15 @@ public class InspectionInfoController extends BaseController {
|
||||
String name = inspectionInfoService.easyPoiExport("template/word/四川省超标排放汽车维护修理告知书.docx", str, map, request, response);
|
||||
return CommonResult.success(name);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获得不同状态的数据的数量
|
||||
*
|
||||
* @author 小李
|
||||
* @date 16:22 2024/12/18
|
||||
**/
|
||||
@GetMapping("/getCountByType")
|
||||
public CommonResult<?> getCountByType(@RequestParam("partnerId")Integer partnerId){
|
||||
return success(inspectionInfoService.getCountByType(partnerId));
|
||||
}
|
||||
}
|
||||
|
@ -1,11 +1,18 @@
|
||||
package cn.iocoder.yudao.module.inspection.controller;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
|
||||
import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils;
|
||||
import cn.iocoder.yudao.module.inspection.entity.InspectionNews;
|
||||
import cn.iocoder.yudao.module.inspection.service.IInspectionNewsService;
|
||||
import cn.iocoder.yudao.module.shop.entity.ShopMallPartners;
|
||||
import cn.iocoder.yudao.module.system.api.dict.DictDataApi;
|
||||
import cn.iocoder.yudao.module.system.api.dict.dto.DictDataRespDTO;
|
||||
import cn.iocoder.yudao.module.system.api.permission.PermissionApi;
|
||||
import cn.iocoder.yudao.module.system.api.permission.RoleApi;
|
||||
import cn.iocoder.yudao.module.system.api.permission.dto.RoleReqDTO;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
@ -13,6 +20,8 @@ import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import cn.iocoder.yudao.module.core.controller.BaseController;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
|
||||
/**
|
||||
* 【请填写功能名称】Controller
|
||||
*
|
||||
@ -26,6 +35,15 @@ public class InspectionNewsController extends BaseController
|
||||
@Autowired
|
||||
private IInspectionNewsService inspectionNewsService;
|
||||
|
||||
@Resource
|
||||
private DictDataApi dataApi;
|
||||
|
||||
@Resource
|
||||
private PermissionApi permissionApi;
|
||||
|
||||
@Resource
|
||||
private RoleApi roleApi;
|
||||
|
||||
/**
|
||||
* 查询【请填写功能名称】列表
|
||||
*/
|
||||
@ -63,4 +81,22 @@ public class InspectionNewsController extends BaseController
|
||||
{
|
||||
return toAjax(inspectionNewsService.deleteInspectionNewsByIds(ids));
|
||||
}
|
||||
|
||||
/**
|
||||
* 验证当前登录用户是否可以发布通知
|
||||
*
|
||||
* @author 小李
|
||||
* @date 16:00 2024/12/18
|
||||
**/
|
||||
@GetMapping("/ifSend")
|
||||
public CommonResult<?> ifSend(){
|
||||
List<DictDataRespDTO> dataList = dataApi.getDictDataList("ins_send_news");
|
||||
List<String> values = dataList.stream().map(DictDataRespDTO::getValue).collect(Collectors.toList());
|
||||
List<Long> roleIds = permissionApi.getRoleIdsByUserId(SecurityFrameworkUtils.getLoginUserId());
|
||||
List<RoleReqDTO> roles = roleApi.getRoleList();
|
||||
List<RoleReqDTO> role = roles.stream().filter(item -> roleIds.contains(item.getId())).collect(Collectors.toList());
|
||||
List<String> codes = role.stream().map(RoleReqDTO::getCode).collect(Collectors.toList());
|
||||
List<String> collect = codes.stream().filter(values::contains).collect(Collectors.toList());
|
||||
return success(!collect.isEmpty());
|
||||
}
|
||||
}
|
||||
|
@ -0,0 +1,139 @@
|
||||
package cn.iocoder.yudao.module.inspection.controller;
|
||||
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.iocoder.yudao.common.InspectionRoleCommon;
|
||||
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
|
||||
import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils;
|
||||
import cn.iocoder.yudao.module.inspection.entity.InspectionEquInfo;
|
||||
import cn.iocoder.yudao.module.inspection.entity.InspectionFile;
|
||||
import cn.iocoder.yudao.module.inspection.service.IInspectionEquInfoService;
|
||||
import cn.iocoder.yudao.module.inspection.service.IInspectionFileService;
|
||||
import cn.iocoder.yudao.module.system.api.permission.PermissionApi;
|
||||
import cn.iocoder.yudao.module.system.api.permission.RoleApi;
|
||||
import cn.iocoder.yudao.module.system.api.permission.dto.RoleReqDTO;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
|
||||
|
||||
/**
|
||||
* 检测用的工具Controller
|
||||
*
|
||||
* @author 小李
|
||||
* @date 15:36 2024/12/15
|
||||
**/
|
||||
@RestController
|
||||
@RequestMapping("/admin-api/inspection/util")
|
||||
public class InspectionUtilController {
|
||||
|
||||
@Resource
|
||||
private PermissionApi permissionApi;
|
||||
|
||||
@Resource
|
||||
private RoleApi roleApi;
|
||||
|
||||
@Resource
|
||||
private IInspectionEquInfoService equInfoService;
|
||||
|
||||
@Resource
|
||||
private IInspectionFileService fileService;
|
||||
|
||||
/**
|
||||
* 根据用户取出当前用户的角色,只针对检测
|
||||
*
|
||||
* @author 小李
|
||||
* @date 15:15 2024/12/15
|
||||
**/
|
||||
@GetMapping("/getRoleName")
|
||||
public CommonResult<?> getRoleName() {
|
||||
String name = "未知岗位";
|
||||
List<Long> roleIdsByUserId = permissionApi.getRoleIdsByUserId(SecurityFrameworkUtils.getLoginUserId());
|
||||
if (CollUtil.isEmpty(roleIdsByUserId)) {
|
||||
return success(name);
|
||||
}
|
||||
List<RoleReqDTO> roleList = roleApi.getRoleList();
|
||||
List<RoleReqDTO> roles = roleList.stream().filter(item -> roleIdsByUserId.contains(item.getId())).collect(Collectors.toList());
|
||||
List<InspectionRoleCommon> roleCommons = Arrays.asList(InspectionRoleCommon.values());
|
||||
List<String> codes = roleCommons.stream().map(InspectionRoleCommon::getCode).collect(Collectors.toList());
|
||||
List<RoleReqDTO> inspectionRoles = roles.stream().filter(item -> codes.contains(item.getCode())).collect(Collectors.toList());
|
||||
if (CollUtil.isEmpty(inspectionRoles)) {
|
||||
return success(name);
|
||||
}
|
||||
Integer index = Integer.MAX_VALUE;
|
||||
for (RoleReqDTO inspectionRole : inspectionRoles) {
|
||||
InspectionRoleCommon inspectionRoleCommon = InspectionRoleCommon.valueOf(inspectionRole.getCode().toUpperCase());
|
||||
if (ObjectUtil.isEmpty(inspectionRoleCommon)) {
|
||||
continue;
|
||||
}
|
||||
Integer weight = inspectionRoleCommon.getWeight();
|
||||
if (weight < index) {
|
||||
index = weight;
|
||||
name = inspectionRole.getName();
|
||||
}
|
||||
}
|
||||
return success(name);
|
||||
}
|
||||
|
||||
@GetMapping("/getTypeCount")
|
||||
public CommonResult<?> getTypeCount(@RequestParam("partnerId") Long partnerId) {
|
||||
Map<String, Long> map = new HashMap<>();
|
||||
Long staffCount = roleApi.selectListByRoleId();
|
||||
map.put("staff", staffCount);
|
||||
Page<InspectionEquInfo> page = new Page<>(1, 1000);
|
||||
IPage<InspectionEquInfo> equs = equInfoService.selectInspectionEquInfoList(page, new InspectionEquInfo());
|
||||
map.put("equ", equs.getTotal());
|
||||
long fileCount = fileService.count(new LambdaQueryWrapper<InspectionFile>().eq(InspectionFile::getType, "2"));
|
||||
map.put("file", fileCount);
|
||||
return success(map);
|
||||
}
|
||||
|
||||
@GetMapping("/getRoleNameByIds")
|
||||
public CommonResult<?> getRoleNameByIds(@RequestParam("ids") List<Long> ids) {
|
||||
Map<Long, List<Long>> idToRoleIds = ids.stream().collect(Collectors.toMap(id -> id, id -> permissionApi.getRoleIdsByUserId(id)));
|
||||
if (CollUtil.isEmpty(idToRoleIds)){
|
||||
return null;
|
||||
}
|
||||
List<RoleReqDTO> roleList = roleApi.getRoleList();
|
||||
List<InspectionRoleCommon> roleCommons = Arrays.asList(InspectionRoleCommon.values());
|
||||
List<String> codes = roleCommons.stream().map(InspectionRoleCommon::getCode).collect(Collectors.toList());
|
||||
return success(idToRoleIds.entrySet().stream().collect(Collectors.toMap(
|
||||
Map.Entry::getKey,
|
||||
item -> {
|
||||
String name = "未知岗位";
|
||||
if (CollUtil.isEmpty(item.getValue())){
|
||||
return name;
|
||||
}
|
||||
List<RoleReqDTO> roles = roleList.stream().filter(i -> item.getValue().contains(i.getId())).collect(Collectors.toList());
|
||||
if (CollUtil.isEmpty(roles)) {
|
||||
return name;
|
||||
}
|
||||
List<RoleReqDTO> inspectionRoles = roles.stream().filter(i -> codes.contains(i.getCode())).collect(Collectors.toList());
|
||||
if (CollUtil.isEmpty(inspectionRoles)){
|
||||
return name;
|
||||
}
|
||||
Integer index = Integer.MAX_VALUE;
|
||||
for (RoleReqDTO inspectionRole : inspectionRoles) {
|
||||
InspectionRoleCommon inspectionRoleCommon = InspectionRoleCommon.valueOf(inspectionRole.getCode().toUpperCase());
|
||||
if (ObjectUtil.isEmpty(inspectionRoleCommon)) {
|
||||
continue;
|
||||
}
|
||||
Integer weight = inspectionRoleCommon.getWeight();
|
||||
if (weight < index) {
|
||||
index = weight;
|
||||
name = inspectionRole.getName();
|
||||
}
|
||||
}
|
||||
return name;
|
||||
})));
|
||||
}
|
||||
}
|
@ -5,7 +5,7 @@ import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
|
||||
import cn.iocoder.yudao.framework.security.core.LoginUser;
|
||||
import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils;
|
||||
import cn.iocoder.yudao.module.inspection.vo.SysDictData;
|
||||
import cn.iocoder.yudao.module.inspection.vo.*;
|
||||
import cn.iocoder.yudao.module.label.vo.LabelRespVO;
|
||||
import cn.iocoder.yudao.module.partner.entity.PartnerBalanceDetail;
|
||||
import cn.iocoder.yudao.module.partner.entity.PartnerWorker;
|
||||
@ -29,21 +29,19 @@ import com.github.pagehelper.PageHelper;
|
||||
import cn.iocoder.yudao.module.core.controller.BaseController;
|
||||
import cn.iocoder.yudao.module.inspection.entity.*;
|
||||
import cn.iocoder.yudao.module.inspection.service.AppInspectionPartnerService;
|
||||
import cn.iocoder.yudao.module.inspection.vo.GoodsVo;
|
||||
import cn.iocoder.yudao.module.inspection.vo.InspectionInfoVo;
|
||||
import cn.iocoder.yudao.module.inspection.vo.OrderAppDetail;
|
||||
import cn.iocoder.yudao.module.shop.entity.ShopCouponTemplate;
|
||||
import cn.iocoder.yudao.module.shop.entity.ShopMallPartners;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@RestController
|
||||
@RequestMapping("/admin-api/partnerOwn/partner")
|
||||
public class PartnerOwnController extends BaseController {
|
||||
public class PartnerOwnController extends BaseController {
|
||||
@Autowired
|
||||
private AppInspectionPartnerService partnerList;
|
||||
@Autowired
|
||||
@ -60,12 +58,12 @@ public class PartnerOwnController extends BaseController {
|
||||
*/
|
||||
@GetMapping("/shopInfo")
|
||||
public CommonResult shopInfo() throws Exception {
|
||||
return success(partnerList.shopInfo());
|
||||
return success(partnerList.shopInfo());
|
||||
}
|
||||
|
||||
@GetMapping("/shopInfoByUserId")
|
||||
public CommonResult shopInfoByUserId() throws Exception {
|
||||
return success(partnerList.shopInfoByUserId());
|
||||
return success(partnerList.shopInfoByUserId());
|
||||
}
|
||||
|
||||
/**
|
||||
@ -73,7 +71,7 @@ public class PartnerOwnController extends BaseController {
|
||||
*/
|
||||
@GetMapping("/getAppointAndPickNum")
|
||||
public CommonResult getAppointAndPickNum() throws Exception {
|
||||
return success(partnerList.getAppointAndPickNum());
|
||||
return success(partnerList.getAppointAndPickNum());
|
||||
}
|
||||
|
||||
|
||||
@ -81,127 +79,126 @@ public class PartnerOwnController extends BaseController {
|
||||
* 开始或者停止营业
|
||||
*/
|
||||
@PostMapping("/startOrEnd")
|
||||
public CommonResult startOrEnd(Long partnerId)
|
||||
{
|
||||
public CommonResult startOrEnd(Long partnerId) {
|
||||
partnerList.startOrEnd(partnerId);
|
||||
return success();
|
||||
return success();
|
||||
}
|
||||
|
||||
/**
|
||||
* 首页 顶部数据统计
|
||||
*/
|
||||
@GetMapping("/statisticsInfo")
|
||||
public CommonResult statisticsInfo()
|
||||
{
|
||||
return success(partnerList.statisticsInfo(null));
|
||||
public CommonResult statisticsInfo() {
|
||||
return success(partnerList.statisticsInfo(null));
|
||||
}
|
||||
|
||||
/**
|
||||
* 检测线图
|
||||
*/
|
||||
@GetMapping("/chartInfoAmount")
|
||||
public CommonResult chartInfoAmount(Long partnerId,String unit)
|
||||
{
|
||||
return success(partnerList.chartInfoAmount(partnerId, unit));
|
||||
public CommonResult chartInfoAmount(Long partnerId, String unit) {
|
||||
return success(partnerList.chartInfoAmount(partnerId, unit));
|
||||
}
|
||||
|
||||
/**
|
||||
* 新检测线图
|
||||
*/
|
||||
@GetMapping("/newChartInfoAmount")
|
||||
public CommonResult newChartInfoAmount(String unit)
|
||||
{
|
||||
return success(partnerList.newChartInfoAmount(unit));
|
||||
public CommonResult newChartInfoAmount(String unit) {
|
||||
return success(partnerList.newChartInfoAmount(unit));
|
||||
}
|
||||
/**staticsTable1
|
||||
|
||||
/**
|
||||
* staticsTable1
|
||||
* 检测数量折线图
|
||||
*/
|
||||
@GetMapping("/chartLineInspectionNum")
|
||||
public CommonResult chartLineInspectionNum(Long partnerId,String unit)
|
||||
{
|
||||
return success(partnerList.chartLineInspectionNum(partnerId, unit));
|
||||
public CommonResult chartLineInspectionNum(Long partnerId, String unit) {
|
||||
return success(partnerList.chartLineInspectionNum(partnerId, unit));
|
||||
}
|
||||
/**staticsTable1
|
||||
|
||||
/**
|
||||
* staticsTable1
|
||||
* 新检测数量折线图
|
||||
*/
|
||||
@GetMapping("/newChartLineInspectionNum")
|
||||
public CommonResult newChartLineInspectionNum(String unit)
|
||||
{
|
||||
return success(partnerList.newChartLineInspectionNum(unit));
|
||||
public CommonResult newChartLineInspectionNum(String unit) {
|
||||
return success(partnerList.newChartLineInspectionNum(unit));
|
||||
}
|
||||
|
||||
/**
|
||||
* 检测金额折线图
|
||||
*/
|
||||
@GetMapping("/chartLineInspectionAmount")
|
||||
public CommonResult chartLineInspectionAmount(Long partnerId,String unit)
|
||||
{
|
||||
return success(partnerList.chartLineInspectionAmount(partnerId, unit));
|
||||
public CommonResult chartLineInspectionAmount(Long partnerId, String unit) {
|
||||
return success(partnerList.chartLineInspectionAmount(partnerId, unit));
|
||||
}
|
||||
|
||||
/**
|
||||
* 新检测金额折线图
|
||||
*/
|
||||
@GetMapping("/newChartLineInspectionAmount")
|
||||
public CommonResult newChartLineInspectionAmount(String unit)
|
||||
{
|
||||
return success(partnerList.newChartLineInspectionAmount(unit));
|
||||
public CommonResult newChartLineInspectionAmount(String unit) {
|
||||
return success(partnerList.newChartLineInspectionAmount(unit));
|
||||
}
|
||||
|
||||
/**
|
||||
* 检测线图
|
||||
*/
|
||||
@GetMapping("/chartInfoNum")
|
||||
public CommonResult chartInfoNum(Long partnerId,String unit)
|
||||
{
|
||||
return success(partnerList.chartInfoNum(partnerId, unit));
|
||||
public CommonResult chartInfoNum(Long partnerId, String unit) {
|
||||
return success(partnerList.chartInfoNum(partnerId, unit));
|
||||
}
|
||||
|
||||
/**
|
||||
* 新检测线图
|
||||
*/
|
||||
@GetMapping("/newChartInfoNum")
|
||||
public CommonResult newChartInfoNum(String unit)
|
||||
{
|
||||
return success(partnerList.newChartInfoNum( unit));
|
||||
public CommonResult newChartInfoNum(String unit) {
|
||||
return success(partnerList.newChartInfoNum(unit));
|
||||
}
|
||||
|
||||
/**
|
||||
* 检测线图
|
||||
*/
|
||||
@GetMapping("/chartInfoRatio")
|
||||
public CommonResult chartInfoRatio(Long partnerId,String unit) throws Exception {
|
||||
public CommonResult chartInfoRatio(Long partnerId, String unit) throws Exception {
|
||||
if (ObjectUtil.isNull(partnerId)) {
|
||||
partnerId = partnerList.shopInfoByUserId().getPartnerId();
|
||||
}
|
||||
return success(partnerList.chartInfoRatio(partnerId, unit));
|
||||
return success(partnerList.chartInfoRatio(partnerId, unit));
|
||||
}
|
||||
|
||||
/**
|
||||
* 新检测线图
|
||||
*/
|
||||
@GetMapping("/newChartInfoRatio")
|
||||
public CommonResult newChartInfoRatio(String unit)
|
||||
{
|
||||
return success(partnerList.newChartInfoRatio(unit));
|
||||
public CommonResult newChartInfoRatio(String unit) {
|
||||
return success(partnerList.newChartInfoRatio(unit));
|
||||
}
|
||||
|
||||
/**
|
||||
* 首页 订单信息
|
||||
*/
|
||||
@GetMapping("/orderInfo")
|
||||
public CommonResult orderInfo(Long partnerId)
|
||||
{
|
||||
return success(partnerList.orderInfo(partnerId));
|
||||
public CommonResult orderInfo(Long partnerId) {
|
||||
return success(partnerList.orderInfo(partnerId));
|
||||
}
|
||||
|
||||
/**
|
||||
* 热销商品列表
|
||||
*/
|
||||
@GetMapping("/hotGoodsList")
|
||||
public CommonResult hotGoodsList(Long partnerId)
|
||||
{
|
||||
return success(partnerList.hotGoodsList(partnerId));
|
||||
public CommonResult hotGoodsList(Long partnerId) {
|
||||
return success(partnerList.hotGoodsList(partnerId));
|
||||
}
|
||||
|
||||
/**
|
||||
* 热销商品列表
|
||||
*/
|
||||
@GetMapping("/newHotGoodsList")
|
||||
public CommonResult newHotGoodsList()
|
||||
{
|
||||
return success(partnerList.newHotGoodsList());
|
||||
public CommonResult newHotGoodsList() {
|
||||
return success(partnerList.newHotGoodsList());
|
||||
}
|
||||
|
||||
|
||||
@ -211,57 +208,56 @@ public class PartnerOwnController extends BaseController {
|
||||
* @return 所有数据
|
||||
*/
|
||||
@GetMapping("/categoryList")
|
||||
public CommonResult categoryList(Long partnerId)
|
||||
{
|
||||
public CommonResult categoryList(Long partnerId) {
|
||||
|
||||
return success( partnerList.categoryList(partnerId));
|
||||
return success(partnerList.categoryList(partnerId));
|
||||
}
|
||||
|
||||
/**
|
||||
* 发布商品
|
||||
*/
|
||||
@PostMapping("/addGoods")
|
||||
public CommonResult addGoods(@RequestBody ShopInspectionGoods goods) throws Exception {
|
||||
partnerList.addGoods(goods);
|
||||
return success();
|
||||
return success();
|
||||
}
|
||||
|
||||
/**
|
||||
* 商品管理列表
|
||||
*/
|
||||
@GetMapping("/goodsList")
|
||||
public CommonResult goodsList(Long partnerId,String isListing,String goodsTitle,
|
||||
@RequestParam(value = "pageNum" ,required = false ,defaultValue = "1") Integer pageNum,
|
||||
@RequestParam(value ="pageSize" ,required = false ,defaultValue = "10") Integer pageSize)
|
||||
{
|
||||
public CommonResult goodsList(Long partnerId, String isListing, String goodsTitle,
|
||||
@RequestParam(value = "pageNum", required = false, defaultValue = "1") Integer pageNum,
|
||||
@RequestParam(value = "pageSize", required = false, defaultValue = "10") Integer pageSize) {
|
||||
LoginUser user = SecurityFrameworkUtils.getLoginUser();
|
||||
ShopMallPartners partners = partnerList.getById(partnerId);
|
||||
if (!partners.getUserId().equals(user.getId())){
|
||||
if (!partners.getUserId().equals(user.getId())) {
|
||||
return null;
|
||||
}
|
||||
Page<GoodsVo> page = new Page<>(pageNum, pageSize);
|
||||
IPage<GoodsVo> list = partnerList.goodsList(page,partnerId, isListing, goodsTitle);
|
||||
IPage<GoodsVo> list = partnerList.goodsList(page, partnerId, isListing, goodsTitle);
|
||||
return success(list);
|
||||
}
|
||||
|
||||
/**
|
||||
* 商品管理列表
|
||||
*/
|
||||
@GetMapping("/canUsegoods")
|
||||
public CommonResult canUseGoods(Long partnerId)
|
||||
{
|
||||
public CommonResult canUseGoods(Long partnerId) {
|
||||
LoginUser user = SecurityFrameworkUtils.getLoginUser();
|
||||
ShopMallPartners partners = partnerList.getById(partnerId);
|
||||
if (!partners.getUserId().equals(user.getId())){
|
||||
if (!partners.getUserId().equals(user.getId())) {
|
||||
return null;
|
||||
}
|
||||
return success(partnerList.canUseGoods(partnerId));
|
||||
}
|
||||
|
||||
/**
|
||||
* 商品详细信息
|
||||
*/
|
||||
@GetMapping("/goodsDetail")
|
||||
public CommonResult goodsDetail(Long goodsId)
|
||||
{
|
||||
return success(partnerList.goodsDetail(goodsId));
|
||||
public CommonResult goodsDetail(Long goodsId) {
|
||||
return success(partnerList.goodsDetail(goodsId));
|
||||
}
|
||||
|
||||
/**
|
||||
@ -270,55 +266,56 @@ public class PartnerOwnController extends BaseController {
|
||||
@PostMapping("/editGoods")
|
||||
public CommonResult editGoods(@RequestBody ShopInspectionGoods goods) throws Exception {
|
||||
partnerList.editGoods(goods);
|
||||
return success();
|
||||
return success();
|
||||
}
|
||||
|
||||
@PostMapping("/editSkuPrice")
|
||||
public CommonResult editSkuPrice(@RequestBody ShopInspectionGoods goods) throws Exception {
|
||||
partnerList.editSkuPrice(goods);
|
||||
return success();
|
||||
return success();
|
||||
}
|
||||
|
||||
/**
|
||||
* 上下架
|
||||
*/
|
||||
@PostMapping("/changeListing")
|
||||
public CommonResult changeListing(Long goodsId) throws Exception {
|
||||
partnerList.changeListing(goodsId);
|
||||
return success();
|
||||
return success();
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除商品
|
||||
*/
|
||||
@PostMapping("/delGoods")
|
||||
public CommonResult delGoods(Long goodsId) throws Exception {
|
||||
partnerList.delGoods(goodsId);
|
||||
return success();
|
||||
return success();
|
||||
}
|
||||
|
||||
/**
|
||||
* 管理店铺信息
|
||||
*/
|
||||
@PostMapping("/getPartnerInfo")
|
||||
public CommonResult getPartnerInfo(Long partnerId)
|
||||
{
|
||||
return success(partnerList.getPartnerInfo(partnerId));
|
||||
public CommonResult getPartnerInfo(Long partnerId) {
|
||||
return success(partnerList.getPartnerInfo(partnerId));
|
||||
}
|
||||
|
||||
/**
|
||||
* 管理店铺信息
|
||||
*/
|
||||
@PostMapping("/editPartnerInfo")
|
||||
public CommonResult editPartnerInfo(@RequestBody ShopMallPartners partners)
|
||||
{
|
||||
public CommonResult editPartnerInfo(@RequestBody ShopMallPartners partners) {
|
||||
partnerList.editPartnerInfo(partners);
|
||||
return success();
|
||||
return success();
|
||||
}
|
||||
|
||||
/**
|
||||
* 店铺账户信息
|
||||
*/
|
||||
@GetMapping("/accountInfo")
|
||||
public CommonResult accountInfo(Long partnerId)
|
||||
{
|
||||
return success(partnerList.accountInfo(partnerId));
|
||||
public CommonResult accountInfo(Long partnerId) {
|
||||
return success(partnerList.accountInfo(partnerId));
|
||||
}
|
||||
|
||||
/**
|
||||
@ -326,69 +323,69 @@ public class PartnerOwnController extends BaseController {
|
||||
*/
|
||||
@GetMapping("/accountDetail")
|
||||
public CommonResult accountDetail(Long partnerId,
|
||||
@RequestParam(value = "pageNum" ,required = false ,defaultValue = "1") Integer pageNum,
|
||||
@RequestParam(value ="pageSize" ,required = false ,defaultValue = "10") Integer pageSize)
|
||||
{
|
||||
@RequestParam(value = "pageNum", required = false, defaultValue = "1") Integer pageNum,
|
||||
@RequestParam(value = "pageSize", required = false, defaultValue = "10") Integer pageSize) {
|
||||
Page<PartnerBalanceDetail> page = new Page<>(pageNum, pageSize);
|
||||
IPage<PartnerBalanceDetail> details = partnerList.accountDetail(page,partnerId,pageNum,pageSize);
|
||||
IPage<PartnerBalanceDetail> details = partnerList.accountDetail(page, partnerId, pageNum, pageSize);
|
||||
return success(details);
|
||||
}
|
||||
|
||||
/**
|
||||
* 当前店铺的订单信息
|
||||
*/
|
||||
@GetMapping("/orderList")
|
||||
public CommonResult orderList(Long partnerId,String phoneNum, String title,
|
||||
@RequestParam(value = "pageNum" ,required = false ,defaultValue = "1") Integer pageNum,
|
||||
@RequestParam(value ="pageSize" ,required = false ,defaultValue = "10") Integer pageSize)
|
||||
{
|
||||
public CommonResult orderList(Long partnerId, String phoneNum, String title,
|
||||
@RequestParam(value = "pageNum", required = false, defaultValue = "1") Integer pageNum,
|
||||
@RequestParam(value = "pageSize", required = false, defaultValue = "10") Integer pageSize) {
|
||||
LoginUser user = SecurityFrameworkUtils.getLoginUser();
|
||||
ShopMallPartners partnersTmp = partnerList.getById(partnerId);
|
||||
if (!partnersTmp.getUserId().equals(user.getId())){
|
||||
if (!partnersTmp.getUserId().equals(user.getId())) {
|
||||
return null;
|
||||
}
|
||||
Page<OrderAppDetail> page = new Page<>(pageNum, pageSize);
|
||||
IPage<OrderAppDetail> orderInfos = partnerList.orderList(page,partnerId,phoneNum, title);
|
||||
IPage<OrderAppDetail> orderInfos = partnerList.orderList(page, partnerId, phoneNum, title);
|
||||
return success(orderInfos);
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过核销码获取订单信息
|
||||
*/
|
||||
@GetMapping("/orderDetailByCode")
|
||||
public CommonResult orderDetailByCode(Long partnerId,String code) throws Exception {
|
||||
Long orderId = partnerList.orderDetailByCode(partnerId,code);
|
||||
return success(orderId);
|
||||
public CommonResult orderDetailByCode(Long partnerId, String code) throws Exception {
|
||||
Long orderId = partnerList.orderDetailByCode(partnerId, code);
|
||||
return success(orderId);
|
||||
}
|
||||
|
||||
/**
|
||||
* 当前的订单信息
|
||||
*/
|
||||
@GetMapping("/orderDetail")
|
||||
public CommonResult orderDetail(Long partnerId, Long orderId)
|
||||
{
|
||||
OrderAppDetail orderInfos = partnerList.orderDetail(partnerId,orderId);
|
||||
return success(orderInfos);
|
||||
public CommonResult orderDetail(Long partnerId, Long orderId) {
|
||||
OrderAppDetail orderInfos = partnerList.orderDetail(partnerId, orderId);
|
||||
return success(orderInfos);
|
||||
}
|
||||
|
||||
/**
|
||||
* 店铺核销功能
|
||||
*/
|
||||
@PostMapping("/takeOut")
|
||||
public CommonResult takeOut(Long partnerId,Long orderId,Long workId,String carNum) throws Exception {
|
||||
partnerList.takeOut(partnerId,orderId,workId,carNum);
|
||||
return success();
|
||||
public CommonResult takeOut(Long partnerId, Long orderId, Long workId, String carNum) throws Exception {
|
||||
partnerList.takeOut(partnerId, orderId, workId, carNum);
|
||||
return success();
|
||||
}
|
||||
@PostMapping("/addWorker")
|
||||
public CommonResult addWorker(Long partnerId,String realName,String phoneNum,Long postId) throws Exception {
|
||||
|
||||
partnerList.addWorker(partnerId,realName,phoneNum,postId);
|
||||
return success();
|
||||
@PostMapping("/addWorker")
|
||||
public CommonResult addWorker(Long partnerId, String realName, String phoneNum, Long postId) throws Exception {
|
||||
|
||||
partnerList.addWorker(partnerId, realName, phoneNum, postId);
|
||||
return success();
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取员工信息
|
||||
*/
|
||||
@GetMapping("/getWorkList")
|
||||
public CommonResult<IPage<?>> getWorkList(Long partnerId, String workName, String phoneNum, Long postId, Integer pageNum, Integer pageSize)
|
||||
{
|
||||
public CommonResult<IPage<?>> getWorkList(Long partnerId, String workName, String phoneNum, Long postId, Integer pageNum, Integer pageSize) {
|
||||
LoginUser user = SecurityFrameworkUtils.getLoginUser();
|
||||
// ShopMallPartners partnersTmp = partnerList.getById(partnerId);
|
||||
// if (!partnersTmp.getUserId().equals(user.getId())){
|
||||
@ -406,23 +403,23 @@ public class PartnerOwnController extends BaseController {
|
||||
}
|
||||
|
||||
@PostMapping("/delWorker")
|
||||
public CommonResult delWorker(Long partnerId,String workIdStr) {
|
||||
public CommonResult delWorker(Long partnerId, String workIdStr) {
|
||||
String[] workIds = workIdStr.split(",");
|
||||
for (String workId : workIds) {
|
||||
partnerList.delWorker(partnerId,Long.parseLong(workId));
|
||||
partnerList.delWorker(partnerId, Long.parseLong(workId));
|
||||
}
|
||||
return success();
|
||||
return success();
|
||||
}
|
||||
|
||||
//获取检测的数据
|
||||
@GetMapping("/inspectionList")
|
||||
public CommonResult inspectionList(Long partnerId,String status,String carNum,Integer pageSize,Integer pageNum) throws Exception {
|
||||
public CommonResult inspectionList(Long partnerId, String status, String carNum, Integer pageSize, Integer pageNum) throws Exception {
|
||||
ShopMallPartners partners = partnerList.shopInfo();
|
||||
if (!partnerId.equals(partners.getPartnerId())){
|
||||
if (!partnerId.equals(partners.getPartnerId())) {
|
||||
return null;
|
||||
}
|
||||
Page<InspectionInfo> page = new Page<>(pageNum,pageSize);
|
||||
IPage<InspectionInfo> inspectionInfos = partnerList.inspectionList(page,partnerId, status, carNum);
|
||||
Page<InspectionInfo> page = new Page<>(pageNum, pageSize);
|
||||
IPage<InspectionInfo> inspectionInfos = partnerList.inspectionList(page, partnerId, status, carNum);
|
||||
return success(inspectionInfos);
|
||||
}
|
||||
|
||||
@ -434,59 +431,63 @@ public class PartnerOwnController extends BaseController {
|
||||
|
||||
//获取检测的数据
|
||||
@GetMapping("/workerInspectionList")
|
||||
public CommonResult workerInspectionList(Long partnerId,String status,String searchValue,Integer pageSize,Integer pageNum) {
|
||||
public CommonResult workerInspectionList(Long partnerId, String status, String searchValue, Integer pageSize, Integer pageNum) {
|
||||
LoginUser user = SecurityFrameworkUtils.getLoginUser();
|
||||
LambdaQueryWrapper<PartnerWorker> queryWrapper =new LambdaQueryWrapper<>();
|
||||
queryWrapper.eq(PartnerWorker::getUserId,user.getId()).eq(PartnerWorker::getPartnerId,partnerId);
|
||||
LambdaQueryWrapper<PartnerWorker> queryWrapper = new LambdaQueryWrapper<>();
|
||||
queryWrapper.eq(PartnerWorker::getUserId, user.getId()).eq(PartnerWorker::getPartnerId, partnerId);
|
||||
PartnerWorker worker = partnerWorkerService.getOne(queryWrapper);
|
||||
if (ObjectUtil.isEmpty(worker)){
|
||||
if (ObjectUtil.isEmpty(worker)) {
|
||||
return null;
|
||||
}
|
||||
Page<InspectionInfo> page = new Page<>(pageNum,pageSize);
|
||||
IPage<InspectionInfo> inspectionInfos = partnerList.inspectionList(page,partnerId, status, searchValue);
|
||||
Page<InspectionInfo> page = new Page<>(pageNum, pageSize);
|
||||
IPage<InspectionInfo> inspectionInfos = partnerList.inspectionList(page, partnerId, status, searchValue);
|
||||
return success(inspectionInfos);
|
||||
}
|
||||
|
||||
//增加检测步骤信息
|
||||
@PostMapping("/addStepInfo")
|
||||
public CommonResult addStepInfo(@RequestBody InspectionStepInfo stepInfo) {
|
||||
partnerList.addStepInfo(stepInfo);
|
||||
return success();
|
||||
}
|
||||
|
||||
//增加检测结果
|
||||
@PostMapping("/stopInspection")
|
||||
public CommonResult editInspection(@RequestBody InspectionInfo info) throws Exception {
|
||||
partnerList.stopInspection(info);
|
||||
return success();
|
||||
}
|
||||
|
||||
//完成制证
|
||||
@PostMapping("/makeCertOk")
|
||||
public CommonResult makeCertOk(Long inspectionId) {
|
||||
partnerList.makeCertOk(inspectionId);
|
||||
return success();
|
||||
}
|
||||
|
||||
//获取到店预约的数据
|
||||
@GetMapping("/getAppointmentList")
|
||||
public CommonResult getAppointmentList(Long partnerId,String phoneNum,Integer pageSize,Integer pageNum) {
|
||||
public CommonResult getAppointmentList(Long partnerId, String phoneNum, Integer pageSize, Integer pageNum) {
|
||||
// LoginUser user = SecurityFrameworkUtils.getLoginUser();
|
||||
// ShopMallPartners partnersTmp = partnerList.getById(partnerId);
|
||||
// if (!partnersTmp.getUserId().equals(user.getId())){
|
||||
// return null;
|
||||
// }
|
||||
Page<InspectionAppointment> page = new Page<>(pageNum,pageSize);
|
||||
IPage<InspectionAppointment> appointments = partnerList.getAppointmentList(page,partnerId,phoneNum);
|
||||
Page<InspectionAppointment> page = new Page<>(pageNum, pageSize);
|
||||
IPage<InspectionAppointment> appointments = partnerList.getAppointmentList(page, partnerId, phoneNum);
|
||||
return success(appointments);
|
||||
}
|
||||
|
||||
//获取上门取车数据
|
||||
@GetMapping("/getPickCarList")
|
||||
public CommonResult getPickCarList(Long partnerId,String phoneNum,String pickStatus,Integer pageSize,Integer pageNum) {
|
||||
public CommonResult getPickCarList(Long partnerId, String phoneNum, String pickStatus, Integer pageSize, Integer pageNum) {
|
||||
LoginUser user = SecurityFrameworkUtils.getLoginUser();
|
||||
// ShopMallPartners partnersTmp = partnerList.getById(partnerId);
|
||||
// if (!partnersTmp.getUserId().equals(user.getId())){
|
||||
// return null;
|
||||
// }
|
||||
Page<InspectionPickCar> page = new Page<>(pageNum,pageSize);
|
||||
IPage<InspectionPickCar> pickCarList = partnerList.getPickCarList(page,partnerId,phoneNum,pickStatus);
|
||||
Page<InspectionPickCar> page = new Page<>(pageNum, pageSize);
|
||||
IPage<InspectionPickCar> pickCarList = partnerList.getPickCarList(page, partnerId, phoneNum, pickStatus);
|
||||
return success(pickCarList);
|
||||
}
|
||||
|
||||
@ -499,16 +500,16 @@ public class PartnerOwnController extends BaseController {
|
||||
|
||||
// 核销记录By核销人Id
|
||||
@GetMapping("/validationList")
|
||||
public CommonResult validationList(Long partnerId,String searchValue,
|
||||
@RequestParam(value = "pageNum" ,required = false ,defaultValue = "1") Integer pageNum,
|
||||
@RequestParam(value ="pageSize" ,required = false ,defaultValue = "10") Integer pageSize) {
|
||||
public CommonResult validationList(Long partnerId, String searchValue,
|
||||
@RequestParam(value = "pageNum", required = false, defaultValue = "1") Integer pageNum,
|
||||
@RequestParam(value = "pageSize", required = false, defaultValue = "10") Integer pageSize) {
|
||||
LoginUser user = SecurityFrameworkUtils.getLoginUser();
|
||||
ShopMallPartners partnersTmp = partnerList.getById(partnerId);
|
||||
if (!partnersTmp.getUserId().equals(user.getId())){
|
||||
if (!partnersTmp.getUserId().equals(user.getId())) {
|
||||
return null;
|
||||
}
|
||||
Page<OrderInfo> page = new Page<>(pageNum, pageSize);
|
||||
IPage<OrderInfo> orderInfos = partnerList.validationList(page,partnerId,searchValue);
|
||||
IPage<OrderInfo> orderInfos = partnerList.validationList(page, partnerId, searchValue);
|
||||
return success(orderInfos);
|
||||
}
|
||||
|
||||
@ -521,37 +522,38 @@ public class PartnerOwnController extends BaseController {
|
||||
|
||||
//优惠券列表
|
||||
@GetMapping("/listCoupon")
|
||||
public CommonResult listCoupon(Long partnerId,String searchValue,
|
||||
@RequestParam(value = "pageNum" ,required = false ,defaultValue = "1") Integer pageNum,
|
||||
@RequestParam(value ="pageSize" ,required = false ,defaultValue = "10") Integer pageSize){
|
||||
public CommonResult listCoupon(Long partnerId, String searchValue,
|
||||
@RequestParam(value = "pageNum", required = false, defaultValue = "1") Integer pageNum,
|
||||
@RequestParam(value = "pageSize", required = false, defaultValue = "10") Integer pageSize) {
|
||||
LoginUser user = SecurityFrameworkUtils.getLoginUser();
|
||||
ShopMallPartners partnersTmp = partnerList.getById(partnerId);
|
||||
if (!partnersTmp.getUserId().equals(user.getId())){
|
||||
if (!partnersTmp.getUserId().equals(user.getId())) {
|
||||
return success(new ArrayList<>());
|
||||
}
|
||||
Page<ShopCouponTemplate> page = new Page<>(pageNum, pageSize);
|
||||
IPage<ShopCouponTemplate> shopCouponTemplates = partnerList.listCoupon(page,partnerId, searchValue);
|
||||
IPage<ShopCouponTemplate> shopCouponTemplates = partnerList.listCoupon(page, partnerId, searchValue);
|
||||
return success(shopCouponTemplates);
|
||||
}
|
||||
|
||||
//删除优惠券
|
||||
@PostMapping("/delCoupon")
|
||||
public CommonResult delCoupon(Long partnerId,Long id){
|
||||
partnerList.delCoupon(partnerId,id);
|
||||
public CommonResult delCoupon(Long partnerId, Long id) {
|
||||
partnerList.delCoupon(partnerId, id);
|
||||
return success();
|
||||
}
|
||||
|
||||
//指派工人上门取车
|
||||
@PostMapping("/designatePickCarWorker")
|
||||
public CommonResult designatePickCarWorker(Long pickCarId,Long workerId){
|
||||
partnerList.designatePickCarWorker(pickCarId,workerId);
|
||||
public CommonResult designatePickCarWorker(Long pickCarId, Long workerId) {
|
||||
partnerList.designatePickCarWorker(pickCarId, workerId);
|
||||
return success();
|
||||
}
|
||||
|
||||
//获取上门取车数据
|
||||
@GetMapping("/getPickCarListOfWorker")
|
||||
public CommonResult getPickCarListOfWorker(Long partnerId,String phoneNum,
|
||||
@RequestParam(value = "pageNum" ,required = false ,defaultValue = "1") Integer pageNum,
|
||||
@RequestParam(value ="pageSize" ,required = false ,defaultValue = "10") Integer pageSize) {
|
||||
public CommonResult getPickCarListOfWorker(Long partnerId, String phoneNum,
|
||||
@RequestParam(value = "pageNum", required = false, defaultValue = "1") Integer pageNum,
|
||||
@RequestParam(value = "pageSize", required = false, defaultValue = "10") Integer pageSize) {
|
||||
LoginUser user = SecurityFrameworkUtils.getLoginUser();
|
||||
// .eq(PartnerWorker::getUserId,user.getId())
|
||||
// LambdaQueryWrapper<PartnerWorker> queryWrapper =new LambdaQueryWrapper<>();
|
||||
@ -561,7 +563,7 @@ public class PartnerOwnController extends BaseController {
|
||||
// return null;
|
||||
// }
|
||||
Page<InspectionPickCar> page = new Page<>(pageNum, pageSize);
|
||||
IPage<InspectionPickCar> pickCarList = partnerList.getPickCarListOfWorker(page,user.getId(),phoneNum);
|
||||
IPage<InspectionPickCar> pickCarList = partnerList.getPickCarListOfWorker(page, user.getId(), phoneNum);
|
||||
return success(pickCarList);
|
||||
}
|
||||
|
||||
@ -569,22 +571,22 @@ public class PartnerOwnController extends BaseController {
|
||||
@GetMapping("/getCustomerSource")
|
||||
public CommonResult getCustomerSource(String searchValue) throws Exception {
|
||||
ShopMallPartners partners = partnerList.shopInfoByUserId();
|
||||
String dictStr = "customer_source-"+partners.getPartnerId();
|
||||
String dictStr = "customer_source-" + partners.getPartnerId();
|
||||
DictTypeDO sysDictType = dictTypeService.getDictType(dictStr);
|
||||
if (ObjectUtil.isEmpty(sysDictType)){
|
||||
if (ObjectUtil.isEmpty(sysDictType)) {
|
||||
//初始化
|
||||
DictTypeSaveReqVO save = new DictTypeSaveReqVO();
|
||||
save.setName("客户来源-"+partners.getPartnerName());
|
||||
save.setName("客户来源-" + partners.getPartnerName());
|
||||
save.setStatus(0);
|
||||
save.setType(dictStr);
|
||||
dictTypeService.createDictType(save);
|
||||
}
|
||||
List<DictDataDO> dataList = dictDataService.getDictDataListByDictType(dictStr);
|
||||
if (CollectionUtil.isEmpty(dataList)){
|
||||
dataList =new ArrayList<>();
|
||||
if (CollectionUtil.isEmpty(dataList)) {
|
||||
dataList = new ArrayList<>();
|
||||
}
|
||||
if (StringUtils.isNotEmpty(searchValue)){
|
||||
dataList = dataList.stream().filter(it->{
|
||||
if (StringUtils.isNotEmpty(searchValue)) {
|
||||
dataList = dataList.stream().filter(it -> {
|
||||
return it.getLabel().contains(searchValue);
|
||||
}).collect(Collectors.toList());
|
||||
}
|
||||
@ -595,7 +597,7 @@ public class PartnerOwnController extends BaseController {
|
||||
@PostMapping("/addCustomerSource")
|
||||
public CommonResult addCustomerSource(@RequestBody SysDictData dictData) throws Exception {
|
||||
ShopMallPartners partners = partnerList.shopInfo();
|
||||
String dictStr = "customer_source-"+partners.getPartnerId();
|
||||
String dictStr = "customer_source-" + partners.getPartnerId();
|
||||
DictTypeDO sysDictType = dictTypeService.getDictType(dictStr);
|
||||
|
||||
DictDataSaveReqVO dictSave = new DictDataSaveReqVO();
|
||||
@ -611,52 +613,51 @@ public class PartnerOwnController extends BaseController {
|
||||
|
||||
//新增客户来源
|
||||
@PostMapping("/delCustomerSource")
|
||||
public CommonResult delCustomerSource(Long dictId){
|
||||
public CommonResult delCustomerSource(Long dictId) {
|
||||
dictDataService.deleteDictData(dictId);
|
||||
return success();
|
||||
}
|
||||
|
||||
//批量删除客户来源
|
||||
@PostMapping("/delCustomerSourceBatch")
|
||||
public CommonResult delCustomerSourceBatch(@RequestBody List<Long> dictIds){
|
||||
public CommonResult delCustomerSourceBatch(@RequestBody List<Long> dictIds) {
|
||||
dictDataService.deleteDictDataBatch(dictIds);
|
||||
return success();
|
||||
}
|
||||
|
||||
@PostMapping("/vehicleLicenseOCR")
|
||||
public CommonResult vehicleLicenseOCR(String imagePath) throws Exception
|
||||
{
|
||||
public CommonResult vehicleLicenseOCR(String imagePath) throws Exception {
|
||||
return success(partnerList.vehicleLicenseOCR(imagePath));
|
||||
}
|
||||
|
||||
//线下收费
|
||||
@PostMapping("/offlineCharging")
|
||||
public CommonResult offlineCharging(@RequestBody InspectionInfoVo infoVo)
|
||||
{
|
||||
public CommonResult offlineCharging(@RequestBody InspectionInfoVo infoVo) {
|
||||
partnerList.offlineCharging(infoVo);
|
||||
return success();
|
||||
}
|
||||
|
||||
|
||||
|
||||
//获取收款账号
|
||||
@GetMapping("/getBankAccountList")
|
||||
public CommonResult getBankAccountList(String searchValue) throws Exception {
|
||||
ShopMallPartners partners = partnerList.shopInfoByUserId();
|
||||
String dictStr = "partner_bankList-"+partners.getPartnerId();
|
||||
String dictStr = "partner_bankList-" + partners.getPartnerId();
|
||||
DictTypeDO sysDictType = dictTypeService.getDictType(dictStr);
|
||||
if (ObjectUtil.isEmpty(sysDictType)){
|
||||
if (ObjectUtil.isEmpty(sysDictType)) {
|
||||
//初始化
|
||||
DictTypeSaveReqVO sysDictTypeSave =new DictTypeSaveReqVO();
|
||||
sysDictTypeSave.setName("收款账户-"+partners.getPartnerName());
|
||||
DictTypeSaveReqVO sysDictTypeSave = new DictTypeSaveReqVO();
|
||||
sysDictTypeSave.setName("收款账户-" + partners.getPartnerName());
|
||||
sysDictTypeSave.setStatus(0);
|
||||
sysDictTypeSave.setType(dictStr);
|
||||
dictTypeService.createDictType(sysDictTypeSave);
|
||||
}
|
||||
List<DictDataDO> dataList = dictDataService.getDictDataListByDictType(dictStr);
|
||||
if (CollectionUtil.isEmpty(dataList)){
|
||||
dataList =new ArrayList<>();
|
||||
if (CollectionUtil.isEmpty(dataList)) {
|
||||
dataList = new ArrayList<>();
|
||||
}
|
||||
if (StringUtils.isNotEmpty(searchValue)){
|
||||
dataList = dataList.stream().filter(it->{
|
||||
if (StringUtils.isNotEmpty(searchValue)) {
|
||||
dataList = dataList.stream().filter(it -> {
|
||||
return it.getLabel().contains(searchValue);
|
||||
}).collect(Collectors.toList());
|
||||
}
|
||||
@ -667,7 +668,7 @@ public class PartnerOwnController extends BaseController {
|
||||
@PostMapping("/addBankAccount")
|
||||
public CommonResult addBankAccount(@RequestBody SysDictData dictData) throws Exception {
|
||||
ShopMallPartners partners = partnerList.shopInfo();
|
||||
String dictStr = "partner_bankList-"+partners.getPartnerId();
|
||||
String dictStr = "partner_bankList-" + partners.getPartnerId();
|
||||
DictTypeDO sysDictType = dictTypeService.getDictType(dictStr);
|
||||
|
||||
DictDataSaveReqVO dictSave = new DictDataSaveReqVO();
|
||||
@ -684,74 +685,128 @@ public class PartnerOwnController extends BaseController {
|
||||
|
||||
//删除银行卡账户
|
||||
@PostMapping("/delBankAccount")
|
||||
public CommonResult delBankAccount(Long dictId){
|
||||
public CommonResult delBankAccount(Long dictId) {
|
||||
dictDataService.deleteDictData(dictId);
|
||||
return success();
|
||||
}
|
||||
|
||||
//工单预览
|
||||
@GetMapping("/workOrderView")
|
||||
public CommonResult workOrderView(Long inspectionId){
|
||||
public CommonResult workOrderView(Long inspectionId) {
|
||||
return success(partnerList.workOrderView(inspectionId));
|
||||
}
|
||||
|
||||
//岗位信息
|
||||
@GetMapping("/inspectionPostInfo")
|
||||
public CommonResult inspectionPostInfo(){
|
||||
public CommonResult inspectionPostInfo() {
|
||||
return success(partnerList.inspectionPostInfo());
|
||||
}
|
||||
|
||||
//统计表格1
|
||||
@GetMapping("/staticsTable1")
|
||||
public CommonResult staticsTable1(String startTime,String endTime) throws Exception {
|
||||
public CommonResult staticsTable1(String startTime, String endTime) throws Exception {
|
||||
ShopMallPartners partners = partnerList.shopInfo();
|
||||
return success(partnerList.staticsTable1(partners.getPartnerId(),startTime,endTime));
|
||||
return success(partnerList.staticsTable1(partners.getPartnerId(), startTime, endTime));
|
||||
}
|
||||
|
||||
//统计表格1
|
||||
@GetMapping("/newStaticsTable1")
|
||||
public CommonResult newStaticsTable1(String startTime,String endTime) throws Exception {
|
||||
return success(partnerList.newStaticsTable1(startTime,endTime));
|
||||
public CommonResult newStaticsTable1(String startTime, String endTime) throws Exception {
|
||||
return success(partnerList.newStaticsTable1(startTime, endTime));
|
||||
}
|
||||
|
||||
//统计表格2
|
||||
@GetMapping("/staticsTable2")
|
||||
public CommonResult staticsTable2(String startTime,String endTime) throws Exception {
|
||||
public CommonResult staticsTable2(String startTime, String endTime) throws Exception {
|
||||
ShopMallPartners partners = partnerList.shopInfo();
|
||||
return success(partnerList.staticsTable2(partners.getPartnerId(),startTime,endTime));
|
||||
}
|
||||
//新统计表格2
|
||||
@GetMapping("/newStaticsTable2")
|
||||
public CommonResult newStaticsTable2(String startTime,String endTime) throws Exception {
|
||||
return success(partnerList.newStaticsTable2(startTime,endTime));
|
||||
}
|
||||
//统计表格3
|
||||
@GetMapping("/staticsTable3")
|
||||
public CommonResult staticsTable3(String startTime,String endTime) throws Exception {
|
||||
ShopMallPartners partners = partnerList.shopInfo();
|
||||
return success(partnerList.staticsTable3(partners.getPartnerId(),startTime,endTime));
|
||||
}
|
||||
//新统计表格3
|
||||
@GetMapping("/newStaticsTable3")
|
||||
public CommonResult newStaticsTable3(String startTime,String endTime) throws Exception {
|
||||
return success(partnerList.newStaticsTable3(startTime,endTime));
|
||||
}
|
||||
//统计表格3
|
||||
@GetMapping("/staticsTable3Detail")
|
||||
public CommonResult staticsTable3Detail(String startTime,String endTime,String remark) throws Exception {
|
||||
ShopMallPartners partners = partnerList.shopInfo();
|
||||
return success(partnerList.staticsTable3Detail(partners.getPartnerId(),startTime,endTime,remark));
|
||||
}
|
||||
//统计表格4
|
||||
@GetMapping("/staticsTable4")
|
||||
public CommonResult staticsTable4(String startTime,String endTime) throws Exception {
|
||||
ShopMallPartners partners = partnerList.shopInfo();
|
||||
return success(partnerList.staticsTable4(partners.getPartnerId(),startTime,endTime));
|
||||
}
|
||||
//统计表格5
|
||||
@GetMapping("/staticsTable5")
|
||||
public CommonResult staticsTable5(String startTime,String endTime) throws Exception {
|
||||
ShopMallPartners partners = partnerList.shopInfo();
|
||||
return success(partnerList.staticsTable5(partners.getPartnerId(),startTime,endTime));
|
||||
return success(partnerList.staticsTable2(partners.getPartnerId(), startTime, endTime));
|
||||
}
|
||||
|
||||
//新统计表格2
|
||||
@GetMapping("/newStaticsTable2")
|
||||
public CommonResult newStaticsTable2(String startTime, String endTime) throws Exception {
|
||||
return success(partnerList.newStaticsTable2(startTime, endTime));
|
||||
}
|
||||
|
||||
//统计表格3
|
||||
@GetMapping("/staticsTable3")
|
||||
public CommonResult staticsTable3(String startTime, String endTime) throws Exception {
|
||||
ShopMallPartners partners = partnerList.shopInfo();
|
||||
return success(partnerList.staticsTable3(partners.getPartnerId(), startTime, endTime));
|
||||
}
|
||||
|
||||
//新统计表格3
|
||||
@GetMapping("/newStaticsTable3")
|
||||
public CommonResult newStaticsTable3(String startTime, String endTime) throws Exception {
|
||||
return success(partnerList.newStaticsTable3(startTime, endTime));
|
||||
}
|
||||
|
||||
//统计表格3
|
||||
@GetMapping("/staticsTable3Detail")
|
||||
public CommonResult staticsTable3Detail(String startTime, String endTime, String remark) throws Exception {
|
||||
ShopMallPartners partners = partnerList.shopInfo();
|
||||
return success(partnerList.staticsTable3Detail(partners.getPartnerId(), startTime, endTime, remark));
|
||||
}
|
||||
|
||||
//统计表格4
|
||||
@GetMapping("/staticsTable4")
|
||||
public CommonResult staticsTable4(String startTime, String endTime) throws Exception {
|
||||
ShopMallPartners partners = partnerList.shopInfo();
|
||||
return success(partnerList.staticsTable4(partners.getPartnerId(), startTime, endTime));
|
||||
}
|
||||
|
||||
//统计表格5
|
||||
@GetMapping("/staticsTable5")
|
||||
public CommonResult staticsTable5(String startTime, String endTime) throws Exception {
|
||||
ShopMallPartners partners = partnerList.shopInfo();
|
||||
return success(partnerList.staticsTable5(partners.getPartnerId(), startTime, endTime));
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据inspection_info的id查有的项目名称
|
||||
*
|
||||
* @param ids inspection_info的id
|
||||
* @author 小李
|
||||
* @date 14:52 2024/12/10
|
||||
**/
|
||||
@GetMapping("/getProjectByIds")
|
||||
public CommonResult<?> getProjectByIds(Long[] ids) {
|
||||
return success(partnerList.getProjectByIds(ids));
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据时间查订单
|
||||
*
|
||||
* @param startTime 开始时间 非必传
|
||||
* @param endTime 结束时间 非必传
|
||||
* @param pageNum 页码
|
||||
* @param pageSize 条数
|
||||
* @author 小李
|
||||
* @date 14:39 2024/12/12
|
||||
**/
|
||||
@GetMapping("/getOrderByDate")
|
||||
public CommonResult<?> getOrderByDate(@RequestParam(value = "startTime", required = false) String startTime,
|
||||
@RequestParam(value = "endTime", required = false) String endTime,
|
||||
@RequestParam(value = "chooseStatus", required = false) String chooseStatus,
|
||||
@RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum,
|
||||
@RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize) {
|
||||
Page<OrderTable> page = new Page<>(pageNum, pageSize);
|
||||
return success(partnerList.getOrderByDate(startTime, endTime, chooseStatus, page));
|
||||
}
|
||||
|
||||
/**
|
||||
* 分类计数
|
||||
*
|
||||
* @author 小李
|
||||
* @date 17:14 2024/12/16
|
||||
* @param startTime 开始时间
|
||||
* @param endTime 结束时间
|
||||
* @param chooseStatus 状态
|
||||
**/
|
||||
@GetMapping("/getTypeCount")
|
||||
public CommonResult<?> getTypeCount(@RequestParam(value = "startTime", required = false) String startTime,
|
||||
@RequestParam(value = "endTime", required = false) String endTime,
|
||||
@RequestParam(value = "chooseStatus", required = false) String chooseStatus){
|
||||
return success(partnerList.getTypeCount(startTime, endTime, chooseStatus));
|
||||
}
|
||||
}
|
||||
|
@ -113,13 +113,14 @@ public class ShopInspectionGoodsController extends BaseController
|
||||
*/
|
||||
@GetMapping("/partnerGoodsDetail")
|
||||
public CommonResult partnerGoodsDetail(Long goodsId) throws Exception {
|
||||
LoginUser loginUser = SecurityFrameworkUtils.getLoginUser();
|
||||
LambdaQueryWrapper<ShopMallPartners> queryWrapper =new LambdaQueryWrapper<>();
|
||||
queryWrapper.eq(ShopMallPartners::getUserId,loginUser.getId()).eq(ShopMallPartners::getType,"jc").last("limit 1");
|
||||
ShopMallPartners one = appInspectionPartnerService.getOne(queryWrapper);
|
||||
if (ObjectUtils.isEmpty(one)){
|
||||
throw new Exception("您不是商户");
|
||||
}
|
||||
// 暂时注掉
|
||||
// LoginUser loginUser = SecurityFrameworkUtils.getLoginUser();
|
||||
// LambdaQueryWrapper<ShopMallPartners> queryWrapper =new LambdaQueryWrapper<>();
|
||||
// queryWrapper.eq(ShopMallPartners::getUserId,loginUser.getId()).eq(ShopMallPartners::getType,"jc").last("limit 1");
|
||||
// ShopMallPartners one = appInspectionPartnerService.getOne(queryWrapper);
|
||||
// if (ObjectUtils.isEmpty(one)){
|
||||
// throw new Exception("您不是商户");
|
||||
// }
|
||||
|
||||
return success(appInspectionPartnerService.goodsDetail(goodsId));
|
||||
}
|
||||
|
@ -5,16 +5,12 @@ import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
|
||||
import cn.iocoder.yudao.util.ExcelUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.DeleteMapping;
|
||||
import org.springframework.web.bind.annotation.PathVariable;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import cn.iocoder.yudao.module.core.controller.BaseController;
|
||||
import cn.iocoder.yudao.module.inspection.entity.WarnMessage;
|
||||
import cn.iocoder.yudao.module.inspection.service.IWarnMessageService;
|
||||
@ -27,8 +23,7 @@ import cn.iocoder.yudao.module.inspection.service.IWarnMessageService;
|
||||
*/
|
||||
@RestController
|
||||
@RequestMapping("/admin-api/warnMsg/warnMsg")
|
||||
public class WarnMessageController extends BaseController
|
||||
{
|
||||
public class WarnMessageController extends BaseController {
|
||||
@Autowired
|
||||
private IWarnMessageService warnMessageService;
|
||||
|
||||
@ -42,11 +37,12 @@ public class WarnMessageController extends BaseController
|
||||
}
|
||||
|
||||
@GetMapping("/pageList")
|
||||
public CommonResult pageList(WarnMessage warnMessage,Integer pageNo,Integer pageSize) throws Exception {
|
||||
Page page =new Page(pageNo,pageSize);
|
||||
IPage<WarnMessage> list = warnMessageService.pageList(page,warnMessage);
|
||||
public CommonResult pageList(WarnMessage warnMessage, Integer pageNo, Integer pageSize) throws Exception {
|
||||
Page page = new Page(pageNo, pageSize);
|
||||
IPage<WarnMessage> list = warnMessageService.pageList(page, warnMessage);
|
||||
return success(list);
|
||||
}
|
||||
|
||||
@PostMapping("/export")
|
||||
public void export(HttpServletResponse response, WarnMessage warnMessage) throws Exception {
|
||||
List<WarnMessage> list = warnMessageService.selectWarnMessageList(warnMessage);
|
||||
@ -58,29 +54,56 @@ public class WarnMessageController extends BaseController
|
||||
* 获取warnMsg详细信息
|
||||
*/
|
||||
@GetMapping(value = "/{id}")
|
||||
public CommonResult getInfo(@PathVariable("id") Long id)
|
||||
{
|
||||
public CommonResult getInfo(@PathVariable("id") Long id) {
|
||||
WarnMessage warnMessage = new WarnMessage();
|
||||
warnMessage.setId(id);
|
||||
warnMessage.setIsRead("1");
|
||||
warnMessageService.updateById(warnMessage);
|
||||
return success(warnMessageService.selectWarnMessageById(id));
|
||||
}
|
||||
|
||||
|
||||
@PostMapping("/add")
|
||||
public CommonResult add(@RequestBody WarnMessage warnMessage)
|
||||
{
|
||||
public CommonResult add(@RequestBody WarnMessage warnMessage) {
|
||||
return toAjax(warnMessageService.insertWarnMessage(warnMessage));
|
||||
}
|
||||
|
||||
|
||||
@PostMapping("/edit")
|
||||
public CommonResult edit(@RequestBody WarnMessage warnMessage)
|
||||
{
|
||||
public CommonResult edit(@RequestBody WarnMessage warnMessage) {
|
||||
return toAjax(warnMessageService.updateWarnMessage(warnMessage));
|
||||
}
|
||||
|
||||
|
||||
@DeleteMapping("/{ids}")
|
||||
public CommonResult remove(@PathVariable Long[] ids)
|
||||
{
|
||||
@DeleteMapping("/{ids}")
|
||||
public CommonResult remove(@PathVariable Long[] ids) {
|
||||
return toAjax(warnMessageService.deleteWarnMessageByIds(ids));
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取未读的提醒数量
|
||||
*
|
||||
* @author 小李
|
||||
* @date 14:33 2024/12/16
|
||||
**/
|
||||
@GetMapping("/getCount")
|
||||
public CommonResult<?> getCount() {
|
||||
long count = warnMessageService.count(new LambdaQueryWrapper<WarnMessage>().eq(WarnMessage::getIsRead, "0"));
|
||||
return success(count);
|
||||
}
|
||||
|
||||
/**
|
||||
* 已读全部
|
||||
*
|
||||
* @author 小李
|
||||
* @date 15:57 2024/12/16
|
||||
**/
|
||||
@GetMapping("/readAll")
|
||||
public CommonResult<?> readAll() {
|
||||
warnMessageService.update(new LambdaUpdateWrapper<WarnMessage>()
|
||||
.set(WarnMessage::getIsRead, "1")
|
||||
.eq(WarnMessage::getIsRead, "0")
|
||||
);
|
||||
return CommonResult.ok();
|
||||
}
|
||||
}
|
||||
|
@ -62,4 +62,7 @@ public class InspectionEquInfo extends TenantBaseDO
|
||||
@TableField(exist = false)
|
||||
private Map<String,Object> params;
|
||||
|
||||
/** 设备类别(字典:ins_equ_type) */
|
||||
private String type;
|
||||
|
||||
}
|
||||
|
@ -56,4 +56,8 @@ public class InspectionNews extends TenantBaseDO
|
||||
@TableField(exist = false)
|
||||
private String isRead;
|
||||
|
||||
/** 设置可见 */
|
||||
@TableField(exist = false)
|
||||
private String ifShow;
|
||||
|
||||
}
|
||||
|
@ -37,6 +37,7 @@ public class InspectionStepInfo extends Model<InspectionStepInfo> {
|
||||
//创建人id
|
||||
private Integer creator;
|
||||
//更新时间
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
|
||||
private Date updateTime;
|
||||
//更新人id
|
||||
private Integer updater;
|
||||
|
@ -66,10 +66,24 @@ public interface AppInspectionPartnerMapper extends BaseMapper<ShopMallPartners>
|
||||
Long getAppointNum(@Param("partnerId") Long partnerId,@Param("formDate") String formDate);
|
||||
Long getPickNum(@Param("partnerId") Long partnerId,@Param("formDate") String formDate);
|
||||
|
||||
/**
|
||||
* 根据时间查订单
|
||||
*
|
||||
* @author 小李
|
||||
* @date 14:39 2024/12/12
|
||||
* @param startTime 开始时间 非必传
|
||||
* @param endTime 结束时间 非必传
|
||||
**/
|
||||
IPage<OrderTable> getOrderByDate(@Param("startTime") String startTime, @Param("endTime") String endTime, @Param("chooseStatus") String chooseStatus, Page<OrderTable> page);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 分类计数
|
||||
*
|
||||
* @author 小李
|
||||
* @date 17:14 2024/12/16
|
||||
* @param startTime 开始时间
|
||||
* @param endTime 结束时间
|
||||
* @param chooseStatus 状态
|
||||
**/
|
||||
List<Map<String, Long>> getTypeCount(@Param("startTime") String startTime, @Param("endTime") String endTime, @Param("chooseStatus") String chooseStatus);
|
||||
}
|
||||
|
@ -81,6 +81,6 @@ public interface InspectionNewsMapper extends BaseMapper<InspectionNews>
|
||||
void addReadNum(Long id);
|
||||
IPage<InspectionNews> collectionNews(Page<InspectionNews> page, @Param("userId") Long userId,@Param("newsName")String newsName);
|
||||
Integer newMsgNum(@Param("partnerId") Long partnerId);
|
||||
IPage<InspectionNews> msgList(Page<InspectionNews> page, @Param("partnerId") Long partnerId);
|
||||
IPage<InspectionNews> msgList(Page<InspectionNews> page, @Param("ifShow") String ifShow);
|
||||
List<String> listGfClass(@Param("type") String type);
|
||||
}
|
||||
|
@ -36,5 +36,5 @@ public interface InspectionWorkNodeMapper extends BaseMapper<InspectionWorkNode>
|
||||
* 批量修改检测状态
|
||||
* @param workNodes
|
||||
*/
|
||||
void recheck(@Param("list") List<InspectionWorkNode> workNodes);
|
||||
void recheck(@Param("list") List<InspectionWorkNode> workNodes, @Param("status") String status);
|
||||
}
|
||||
|
@ -16,6 +16,8 @@ import cn.iocoder.yudao.module.inspection.query.PartnerListQuery;
|
||||
import cn.iocoder.yudao.module.inspection.vo.*;
|
||||
import cn.iocoder.yudao.module.shop.entity.ShopCouponTemplate;
|
||||
import cn.iocoder.yudao.module.shop.entity.ShopMallPartners;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
@ -108,4 +110,34 @@ public interface AppInspectionPartnerService extends IService<ShopMallPartners>
|
||||
|
||||
//新检测金额折线图
|
||||
JSONObject newChartLineInspectionAmount(String unit);
|
||||
|
||||
/**
|
||||
* 根据inspection_info的id查有的项目名称
|
||||
*
|
||||
* @author 小李
|
||||
* @date 14:52 2024/12/10
|
||||
* @param ids inspection_info的id
|
||||
**/
|
||||
Map<Long, String> getProjectByIds(Long[] ids);
|
||||
|
||||
/**
|
||||
* 根据时间查订单
|
||||
*
|
||||
* @author 小李
|
||||
* @date 14:39 2024/12/12
|
||||
* @param startTime 开始时间 非必传
|
||||
* @param endTime 结束时间 非必传
|
||||
**/
|
||||
IPage<OrderTable> getOrderByDate(String startTime, String endTime, String chooseStatus, Page<OrderTable> page);
|
||||
|
||||
/**
|
||||
* 分类计数
|
||||
*
|
||||
* @author 小李
|
||||
* @date 17:14 2024/12/16
|
||||
* @param startTime 开始时间
|
||||
* @param endTime 结束时间
|
||||
* @param chooseStatus 状态
|
||||
**/
|
||||
Map<String, Long> getTypeCount(String startTime, String endTime, String chooseStatus);
|
||||
}
|
||||
|
@ -5,6 +5,9 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* inspectionFileService接口
|
||||
*
|
||||
@ -63,4 +66,13 @@ public interface IInspectionFileService extends IService<InspectionFile>
|
||||
* @return 分页结果
|
||||
*/
|
||||
IPage<InspectionFile> selectInspectionFileList(Page<InspectionFile> page, InspectionFile inspectionFile);
|
||||
|
||||
/**
|
||||
* 根据id统计数量
|
||||
*
|
||||
* @author 小李
|
||||
* @date 14:30 2024/12/14
|
||||
* @param ids ids
|
||||
**/
|
||||
Map<Long, Long> getCountByIds(List<Long> ids);
|
||||
}
|
||||
|
@ -113,6 +113,25 @@ public interface IInspectionInfoService extends IService<InspectionInfo>
|
||||
*/
|
||||
Boolean isExamine();
|
||||
|
||||
/**
|
||||
* 获取某个工单针对当前操作用户,某个状态的项目们
|
||||
*
|
||||
* @author 小李
|
||||
* @date 10:48 2024/12/11
|
||||
* @param id 工单ID
|
||||
* @param status 状态
|
||||
**/
|
||||
Map<String, String> getWorkNodeByIdAndNow(Long id, String status, Boolean flag);
|
||||
|
||||
/**
|
||||
* 判断是否可以修改引车员
|
||||
*
|
||||
* @author 小李
|
||||
* @date 15:22 2024/12/11
|
||||
* @param id 工单ID
|
||||
**/
|
||||
Boolean judgeUpdateLeadMan(Long id);
|
||||
|
||||
/**
|
||||
* 获取当前登陆人的角色列表
|
||||
* @return
|
||||
@ -120,4 +139,12 @@ public interface IInspectionInfoService extends IService<InspectionInfo>
|
||||
List<RoleDO> getRoleList();
|
||||
|
||||
String easyPoiExport(String templatePath, String filename, Map<String, Object> data, HttpServletRequest request, HttpServletResponse response);
|
||||
|
||||
/**
|
||||
* 获得不同状态的数据的数量
|
||||
*
|
||||
* @author 小李
|
||||
* @date 16:22 2024/12/18
|
||||
**/
|
||||
Map<String, Long> getCountByType(Integer partnerId);
|
||||
}
|
||||
|
@ -1,5 +1,6 @@
|
||||
package cn.iocoder.yudao.module.inspection.service.impl;
|
||||
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import cn.hutool.core.collection.CollectionUtil;
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
@ -62,6 +63,8 @@ import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.time.LocalDate;
|
||||
import java.time.LocalDateTime;
|
||||
@ -124,6 +127,8 @@ public class AppInspectionPartnerServiceImpl extends ServiceImpl<AppInspectionPa
|
||||
private IInspectionWorkNodeService inspectionWorkNodeService;
|
||||
@Autowired
|
||||
private IShopMallPartnersService partnersService;
|
||||
@Resource
|
||||
private DlInspectionProjectService projectService;
|
||||
|
||||
@Override
|
||||
public IPage<PartnerListVo> partnerList(Page<PartnerListVo> page, PartnerListQuery partnerListQuery) {
|
||||
@ -136,11 +141,12 @@ public class AppInspectionPartnerServiceImpl extends ServiceImpl<AppInspectionPa
|
||||
|
||||
@Override
|
||||
public List<ShopInspectionCategory> categoryList(Long partnerId) {
|
||||
LoginUser user = SecurityFrameworkUtils.getLoginUser();
|
||||
ShopMallPartners partners = baseMapper.selectById(partnerId);
|
||||
if (!partners.getUserId().equals(user.getId())){
|
||||
return null;
|
||||
}
|
||||
// 暂时去掉
|
||||
// LoginUser user = SecurityFrameworkUtils.getLoginUser();
|
||||
// ShopMallPartners partners = baseMapper.selectById(partnerId);
|
||||
// if (!partners.getUserId().equals(user.getId())){
|
||||
// return null;
|
||||
// }
|
||||
List<ShopInspectionCategory> shopInspectionCategories = baseMapper.partnerCategoryList(partnerId);
|
||||
for (ShopInspectionCategory shopInspectionCategory : shopInspectionCategories) {
|
||||
LambdaQueryWrapper<InspectionCategoryTemplate> templateLambdaQueryWrapper =new LambdaQueryWrapper<>();
|
||||
@ -1077,11 +1083,12 @@ public class AppInspectionPartnerServiceImpl extends ServiceImpl<AppInspectionPa
|
||||
@Override
|
||||
public ShopInspectionGoods goodsDetail(Long goodsId) {
|
||||
ShopInspectionGoods goods = goodsService.getById(goodsId);
|
||||
LoginUser user = SecurityFrameworkUtils.getLoginUser();
|
||||
ShopMallPartners partners = baseMapper.selectById(goods.getPartnerId());
|
||||
if (!partners.getUserId().equals(user.getId())){
|
||||
return null;
|
||||
}
|
||||
// 暂时注掉
|
||||
// LoginUser user = SecurityFrameworkUtils.getLoginUser();
|
||||
// ShopMallPartners partners = baseMapper.selectById(goods.getPartnerId());
|
||||
// if (!partners.getUserId().equals(user.getId())){
|
||||
// return null;
|
||||
// }
|
||||
LambdaQueryWrapper<InspectionGoodsSku> queryWrapper =new LambdaQueryWrapper<>();
|
||||
queryWrapper.eq(InspectionGoodsSku::getGoodsId,goodsId);
|
||||
List<InspectionGoodsSku> list = skuService.list(queryWrapper);
|
||||
@ -1458,6 +1465,7 @@ public class AppInspectionPartnerServiceImpl extends ServiceImpl<AppInspectionPa
|
||||
public InspectionInfoVo inspectionDetail(Long inspectionInfoId) {
|
||||
InspectionInfo info = inspectionInfoService.getById(inspectionInfoId);
|
||||
OrderInfo order = orderService.getById(info.getInspectionOrderId());
|
||||
InspectionGoodsSku sku = skuService.getById(order.getSkuId());
|
||||
AdminUserDO buyUser = userService.getUser(info.getUserId());
|
||||
AdminUserDO worker = userService.getUser(info.getWorkId());
|
||||
InspectionInfoVo res =new InspectionInfoVo();
|
||||
@ -1485,7 +1493,7 @@ public class AppInspectionPartnerServiceImpl extends ServiceImpl<AppInspectionPa
|
||||
res.setStatus(info.getStatus());
|
||||
res.setGoodsId(order.getGoodsId());
|
||||
res.setGoodsPrice(order.getGoodsPrice());
|
||||
res.setGoodsName(order.getGoodsTitle());
|
||||
res.setGoodsName(sku.getSkuName());
|
||||
res.setIsOnline(order.getIsOnline());
|
||||
res.setIsRetrial(info.getIsRetrial());
|
||||
res.setIsPass(info.getIsPass());
|
||||
@ -1898,4 +1906,79 @@ public class AppInspectionPartnerServiceImpl extends ServiceImpl<AppInspectionPa
|
||||
return res;
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据inspection_info的id查有的项目名称
|
||||
*
|
||||
* @author 小李
|
||||
* @date 14:52 2024/12/10
|
||||
* @param ids inspection_info的id
|
||||
**/
|
||||
@Override
|
||||
public Map<Long, String> getProjectByIds(Long[] ids){
|
||||
List<InspectionWorkNode> inspectionWorkNodes = inspectionWorkNodeService.
|
||||
list(new LambdaQueryWrapper<InspectionWorkNode>()
|
||||
.in(InspectionWorkNode::getInspectionInfoId, Arrays.asList(ids)));
|
||||
if (ObjectUtil.isEmpty(inspectionWorkNodes)){
|
||||
return null;
|
||||
}
|
||||
List<String> projectIds = inspectionWorkNodes.stream().map(InspectionWorkNode::getProjectId).collect(Collectors.toList());
|
||||
if (CollUtil.isEmpty(projectIds)){
|
||||
return null;
|
||||
}
|
||||
List<DlInspectionProject> projects = projectService.listByIds(projectIds);
|
||||
if (CollUtil.isEmpty(projects)){
|
||||
return null;
|
||||
}
|
||||
Map<String, String> projectMap = projects.stream().collect(Collectors.toMap(DlInspectionProject::getId, DlInspectionProject::getProjectName));
|
||||
Map<Long, String> result = new HashMap<>();
|
||||
Map<Long, List<String>> map = inspectionWorkNodes.stream().collect(Collectors
|
||||
.groupingBy(InspectionWorkNode::getInspectionInfoId,
|
||||
Collectors.mapping(InspectionWorkNode::getProjectId, Collectors.toList())));
|
||||
for (Long id : ids) {
|
||||
List<String> values = map.get(id);
|
||||
String names = values.stream().filter(projectMap::containsKey).map(projectMap::get).collect(Collectors.joining(","));
|
||||
result.put(id, names);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据时间查订单
|
||||
*
|
||||
* @author 小李
|
||||
* @date 14:39 2024/12/12
|
||||
* @param startTime 开始时间 非必传
|
||||
* @param endTime 结束时间 非必传
|
||||
**/
|
||||
@Override
|
||||
public IPage<OrderTable> getOrderByDate(String startTime, String endTime, String chooseStatus, Page<OrderTable> page){
|
||||
if (StringUtils.isEmpty(startTime)){
|
||||
startTime = DateUtil.format(new Date(), "yyyy-MM-dd");
|
||||
endTime = DateUtil.format(new Date(), "yyyy-MM-dd");
|
||||
}
|
||||
startTime = startTime + " 00:00:00";
|
||||
endTime = endTime + " 23:59:59";
|
||||
return baseMapper.getOrderByDate(startTime, endTime, chooseStatus, page);
|
||||
}
|
||||
|
||||
/**
|
||||
* 分类计数
|
||||
*
|
||||
* @author 小李
|
||||
* @date 17:14 2024/12/16
|
||||
* @param startTime 开始时间
|
||||
* @param endTime 结束时间
|
||||
* @param chooseStatus 状态
|
||||
**/
|
||||
@Override
|
||||
public Map<String, Long> getTypeCount(String startTime, String endTime, String chooseStatus){
|
||||
if (StringUtils.isEmpty(startTime)){
|
||||
startTime = DateUtil.format(new Date(), "yyyy-MM-dd");
|
||||
endTime = DateUtil.format(new Date(), "yyyy-MM-dd");
|
||||
}
|
||||
startTime = startTime + " 00:00:00";
|
||||
endTime = endTime + " 23:59:59";
|
||||
List<Map<String, Long>> typeCount = baseMapper.getTypeCount(startTime, endTime, chooseStatus);
|
||||
return typeCount.stream().collect(Collectors.toMap(map -> String.valueOf(map.get("type")), map -> map.get("count")));
|
||||
}
|
||||
}
|
||||
|
@ -4,8 +4,11 @@ import java.util.Arrays;
|
||||
import java.util.Calendar;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import com.baomidou.dynamic.datasource.annotation.DSTransactional;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
@ -13,6 +16,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import cn.iocoder.yudao.util.DateUtils;
|
||||
import cn.iocoder.yudao.module.inspection.entity.WarnMessage;
|
||||
import cn.iocoder.yudao.module.inspection.service.IWarnMessageService;
|
||||
import io.prometheus.client.CollectorRegistry;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import cn.iocoder.yudao.module.inspection.mapper.InspectionEquInfoMapper;
|
||||
@ -30,6 +34,7 @@ public class InspectionEquInfoServiceImpl extends ServiceImpl<InspectionEquInfoM
|
||||
{
|
||||
@Autowired
|
||||
private IWarnMessageService messageService;
|
||||
private CollectorRegistry collectorRegistry;
|
||||
|
||||
/**
|
||||
* 查询equInfo
|
||||
@ -92,14 +97,16 @@ public class InspectionEquInfoServiceImpl extends ServiceImpl<InspectionEquInfoM
|
||||
* @return 结果
|
||||
*/
|
||||
@Override
|
||||
@DSTransactional
|
||||
public int updateInspectionEquInfo(InspectionEquInfo inspectionEquInfo)
|
||||
{
|
||||
LambdaQueryWrapper<WarnMessage> queryWrapper =new LambdaQueryWrapper<>();
|
||||
queryWrapper.eq(WarnMessage::getType,"equ").eq(WarnMessage::getObjectId,inspectionEquInfo.getId());
|
||||
WarnMessage one = messageService.getOne(queryWrapper);
|
||||
if (ObjectUtil.isNotEmpty(one)){
|
||||
List<WarnMessage> list = messageService.list(queryWrapper);
|
||||
if (CollUtil.isNotEmpty(list)){
|
||||
//更新处理
|
||||
messageService.removeById(one.getId());
|
||||
List<Long> ids = list.stream().map(WarnMessage::getId).collect(Collectors.toList());
|
||||
messageService.removeBatchByIds(ids);
|
||||
}
|
||||
if (ObjectUtil.isNotEmpty(inspectionEquInfo.getNextCheckTime())){
|
||||
//同时处理提醒信息
|
||||
|
@ -16,6 +16,8 @@ import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* inspectionFileService业务层处理
|
||||
@ -160,12 +162,32 @@ public class InspectionFileServiceImpl extends ServiceImpl<InspectionFileMapper,
|
||||
@Override
|
||||
public IPage<InspectionFile> selectInspectionFileList(Page<InspectionFile> page, InspectionFile inspectionFile) {
|
||||
// 创建一个空的 QueryWrapper
|
||||
QueryWrapper<InspectionFile> queryWrapper = new QueryWrapper<>();
|
||||
LambdaQueryWrapper<InspectionFile> queryWrapper = new LambdaQueryWrapper<>();
|
||||
if (ObjectUtil.isNotEmpty(inspectionFile.getFatherId())) {
|
||||
queryWrapper.eq("father_id", inspectionFile.getFatherId());
|
||||
queryWrapper.eq(InspectionFile::getFatherId, inspectionFile.getFatherId());
|
||||
}
|
||||
queryWrapper.orderByAsc(InspectionFile::getType);
|
||||
queryWrapper.orderByDesc(InspectionFile::getCreateTime);
|
||||
if (ObjectUtil.isNotEmpty(inspectionFile.getFileName())){
|
||||
queryWrapper.like(InspectionFile::getFileName, inspectionFile.getFileName());
|
||||
}
|
||||
|
||||
// 直接调用 MyBatis-Plus 的 page 方法进行分页查询
|
||||
return this.page(page, queryWrapper); // 返回符合条件的分页查询结果
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据id统计数量
|
||||
*
|
||||
* @author 小李
|
||||
* @date 14:30 2024/12/14
|
||||
* @param ids ids
|
||||
**/
|
||||
@Override
|
||||
public Map<Long, Long> getCountByIds(List<Long> ids){
|
||||
List<InspectionFile> inspectionFiles = baseMapper.selectList(new LambdaQueryWrapper<InspectionFile>().in(InspectionFile::getFatherId, ids));
|
||||
return inspectionFiles.stream().collect(Collectors.groupingBy(
|
||||
InspectionFile::getFatherId,
|
||||
Collectors.counting()
|
||||
));
|
||||
}
|
||||
}
|
||||
|
@ -8,13 +8,12 @@ import java.net.URLEncoder;
|
||||
import java.time.LocalDateTime;
|
||||
import java.time.ZoneId;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.*;
|
||||
import java.util.concurrent.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import cn.afterturn.easypoi.word.WordExportUtil;
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import cn.hutool.core.collection.CollectionUtil;
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
@ -73,6 +72,7 @@ import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
import static cn.iocoder.yudao.framework.common.config.CommonStr.USER_TYPE_CUS;
|
||||
import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception0;
|
||||
|
||||
/**
|
||||
* 【请填写功能名称】Service业务层处理
|
||||
@ -115,6 +115,9 @@ public class InspectionInfoServiceImpl extends ServiceImpl<InspectionInfoMapper,
|
||||
private InspectionSocket inspectionSocket;
|
||||
@Resource
|
||||
private RoleMapper roleMapper;
|
||||
@Resource
|
||||
@Lazy
|
||||
private DlInspectionProjectService projectService;
|
||||
@Autowired
|
||||
private FileService fileService;
|
||||
|
||||
@ -211,11 +214,11 @@ public class InspectionInfoServiceImpl extends ServiceImpl<InspectionInfoMapper,
|
||||
}
|
||||
inspectionInfo.setCategoryId(goods.getGoodsCategoryId());
|
||||
|
||||
if (ObjectUtil.isNotNull(inspectionInfo.getAdditionalRecording()) && inspectionInfo.getAdditionalRecording() == 1){
|
||||
if (ObjectUtil.isNotNull(inspectionInfo.getAdditionalRecording()) && inspectionInfo.getAdditionalRecording() == 1) {
|
||||
inspectionInfo.setStatus("1");
|
||||
inspectionInfo.setIsPass("1");
|
||||
inspectionInfo.setEndTime(inspectionInfo.getStartTime());
|
||||
}else {
|
||||
} else {
|
||||
inspectionInfo.setStatus("0");
|
||||
}
|
||||
inspectionInfo.setWorkId(workerUser.getId());
|
||||
@ -336,7 +339,7 @@ public class InspectionInfoServiceImpl extends ServiceImpl<InspectionInfoMapper,
|
||||
// Integer roleId = inspectionWorkNodes.get(0).getRoleId();
|
||||
List<Integer> roleIds = new ArrayList<>();
|
||||
/*获取所有的角色id*/
|
||||
if(CollUtil.isNotEmpty(inspectionWorkNodes)){
|
||||
if (CollUtil.isNotEmpty(inspectionWorkNodes)) {
|
||||
roleIds = inspectionWorkNodes.stream().map(inspectionWorkNode -> inspectionWorkNode.getRoleId()).collect(Collectors.toList());
|
||||
}
|
||||
//根据角色id获取所有用户
|
||||
@ -574,6 +577,78 @@ public class InspectionInfoServiceImpl extends ServiceImpl<InspectionInfoMapper,
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取某个工单针对当前操作用户,某个状态的项目们
|
||||
*
|
||||
* @param id 工单ID
|
||||
* @param status 状态
|
||||
* @author 小李
|
||||
* @date 10:48 2024/12/11
|
||||
**/
|
||||
@Override
|
||||
public Map<String, String> getWorkNodeByIdAndNow(Long id, String status, Boolean flag) {
|
||||
Long userId = SecurityFrameworkUtils.getLoginUserId();
|
||||
List<UserRoleDO> roles = roleService.getByUserId(userId);
|
||||
if (CollUtil.isEmpty(roles)) {
|
||||
throw exception0(500, "查询角色为空");
|
||||
}
|
||||
List<Long> roleIds = roles.stream().map(UserRoleDO::getRoleId).collect(Collectors.toList());
|
||||
LambdaQueryWrapper<InspectionWorkNode> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.eq(InspectionWorkNode::getInspectionInfoId, id);
|
||||
if (flag) {
|
||||
wrapper.eq(InspectionWorkNode::getStatus, status);
|
||||
}
|
||||
InspectionInfo inspectionInfo = baseMapper.selectById(id);
|
||||
if (ObjectUtil.isEmpty(inspectionInfo.getLeadManId()) || !inspectionInfo.getLeadManId().equals(userId)) {
|
||||
wrapper.in(InspectionWorkNode::getRoleId, roleIds);
|
||||
}
|
||||
List<InspectionWorkNode> workNodes = workNodeService.list(wrapper);
|
||||
if (CollUtil.isEmpty(workNodes)) {
|
||||
throw exception0(500, "没有项目需要操作");
|
||||
}
|
||||
List<String> projectIds = workNodes.stream().map(InspectionWorkNode::getProjectId).collect(Collectors.toList());
|
||||
if (CollUtil.isEmpty(projectIds)) {
|
||||
throw exception0(500, "没有项目需要操作");
|
||||
}
|
||||
List<DlInspectionProject> projects = projectService.listByIds(projectIds);
|
||||
if (CollUtil.isEmpty(projects)) {
|
||||
throw exception0(500, "没有项目需要操作");
|
||||
}
|
||||
Map<String, String> map = projects.stream().collect(Collectors.toMap(DlInspectionProject::getId, DlInspectionProject::getProjectName));
|
||||
Map<String, String> result = new HashMap<>();
|
||||
workNodes.forEach(item -> {
|
||||
result.put(item.getId(), map.get(item.getProjectId()));
|
||||
});
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* 判断是否可以修改引车员
|
||||
*
|
||||
* @param id 工单ID
|
||||
* @author 小李
|
||||
* @date 15:22 2024/12/11
|
||||
**/
|
||||
@Override
|
||||
public Boolean judgeUpdateLeadMan(Long id) {
|
||||
boolean result = true;
|
||||
InspectionInfo inspectionInfo = baseMapper.selectById(id);
|
||||
if (!inspectionInfo.getStatus().equals("2")) {
|
||||
result = false;
|
||||
}
|
||||
if (!result) {
|
||||
List<InspectionWorkNode> list = workNodeService.list(new LambdaQueryWrapper<InspectionWorkNode>().eq(InspectionWorkNode::getInspectionInfoId, id));
|
||||
Set<String> status = list.stream().map(InspectionWorkNode::getStatus).collect(Collectors.toSet());
|
||||
if (status.contains("3")) {
|
||||
result = true;
|
||||
}
|
||||
}
|
||||
if (result) {
|
||||
result = inspectionInfo.getCreator().equals(SecurityFrameworkUtils.getLoginUserId() + "");
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取当前登陆人的角色列表
|
||||
*
|
||||
@ -590,6 +665,7 @@ public class InspectionInfoServiceImpl extends ServiceImpl<InspectionInfoMapper,
|
||||
|
||||
/**
|
||||
* EasyPoi 替换数据 导出 word
|
||||
*
|
||||
* @param templatePath word模板地址
|
||||
* @param filename 文件名称
|
||||
* @param data 替换参数
|
||||
@ -618,10 +694,71 @@ public class InspectionInfoServiceImpl extends ServiceImpl<InspectionInfoMapper,
|
||||
}
|
||||
return filename;
|
||||
}
|
||||
|
||||
public static MultipartFile convertXWPFDocumentToMultipartFile(XWPFDocument document, String filename) throws IOException {
|
||||
ByteArrayOutputStream bos = new ByteArrayOutputStream();
|
||||
document.write(bos);
|
||||
byte[] bytes = bos.toByteArray();
|
||||
return new MockMultipartFile(filename, filename, "application/vnd.openxmlformats-officedocument.wordprocessingml.document", bytes);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获得不同状态的数据的数量
|
||||
*
|
||||
* @author 小李
|
||||
* @date 16:22 2024/12/18
|
||||
**/
|
||||
@Override
|
||||
public Map<String, Long> getCountByType(Integer partnerId) {
|
||||
// 创建线程池
|
||||
ExecutorService executor = Executors.newFixedThreadPool(6);
|
||||
|
||||
try {
|
||||
InspectionInfo inspectionInfo = new InspectionInfo();
|
||||
inspectionInfo.setPartnerId(partnerId.longValue());
|
||||
|
||||
// 获取当前登录人
|
||||
LoginUser loginUser = SecurityFrameworkUtils.getLoginUser();
|
||||
// 获取当前登陆人的角色
|
||||
List<UserRoleDO> byUserId = roleService.getByUserId(loginUser.getId());
|
||||
inspectionInfo.setLeadManId(loginUser.getId());
|
||||
List<Long> roleIds = byUserId.stream().map(UserRoleDO::getRoleId).collect(Collectors.toList());
|
||||
if (!"1".equals(inspectionInfo.getStatus())) {
|
||||
// 进行中 已完成
|
||||
inspectionInfo.setDealUserId(loginUser.getId());
|
||||
}
|
||||
|
||||
Map<String, Long> result = new ConcurrentHashMap<>(); // 使用ConcurrentHashMap以确保线程安全
|
||||
|
||||
// 定义一个数组来保存所有的CompletableFuture
|
||||
CompletableFuture<Void>[] futures = new CompletableFuture[6];
|
||||
|
||||
for (int i = 0; i < 6; i++) {
|
||||
final String status = String.valueOf(i);
|
||||
|
||||
// 复制一份inspectionInfo对象,避免多线程修改同一个对象导致的问题
|
||||
InspectionInfo infoCopy = BeanUtil.toBean(inspectionInfo, InspectionInfo.class);
|
||||
infoCopy.setStatus(status);
|
||||
|
||||
// 为每个任务创建一个新的Page对象
|
||||
Page<InspectionInfo> page = new Page<>(1, 10);
|
||||
|
||||
futures[i] = CompletableFuture.runAsync(() -> {
|
||||
IPage<InspectionInfo> iPage = baseMapper.selectByUser(page, roleIds, infoCopy);
|
||||
result.put(status, iPage.getTotal());
|
||||
}, executor);
|
||||
}
|
||||
|
||||
// 等待所有任务完成
|
||||
CompletableFuture.allOf(futures).join();
|
||||
|
||||
return result;
|
||||
|
||||
} catch (Exception e) {
|
||||
throw new RuntimeException("Failed to execute tasks in parallel", e);
|
||||
} finally {
|
||||
// 关闭线程池
|
||||
executor.shutdown();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -4,10 +4,15 @@ import java.time.LocalDateTime;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import cn.iocoder.yudao.framework.security.core.LoginUser;
|
||||
import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils;
|
||||
import cn.iocoder.yudao.framework.tenant.core.aop.TenantIgnore;
|
||||
import cn.iocoder.yudao.module.system.api.permission.PermissionApi;
|
||||
import cn.iocoder.yudao.module.system.api.permission.RoleApi;
|
||||
import cn.iocoder.yudao.module.system.api.permission.dto.RoleReqDTO;
|
||||
import cn.iocoder.yudao.module.system.dal.dataobject.user.AdminUserDO;
|
||||
import cn.iocoder.yudao.module.system.service.user.AdminUserService;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
@ -28,6 +33,8 @@ import cn.iocoder.yudao.module.inspection.utils.HtmlFilter;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
|
||||
/**
|
||||
* 【请填写功能名称】Service业务层处理
|
||||
*
|
||||
@ -44,6 +51,10 @@ public class InspectionNewsServiceImpl extends ServiceImpl<InspectionNewsMapper,
|
||||
private AdminUserService userService;
|
||||
@Autowired
|
||||
private IInspectionNewsCommentService commentService;
|
||||
@Resource
|
||||
private PermissionApi permissionApi;
|
||||
@Resource
|
||||
private RoleApi roleApi;
|
||||
|
||||
/**
|
||||
* 查询【请填写功能名称】
|
||||
@ -106,7 +117,7 @@ public class InspectionNewsServiceImpl extends ServiceImpl<InspectionNewsMapper,
|
||||
public int insertInspectionNews(InspectionNews inspectionNews)
|
||||
{
|
||||
|
||||
return baseMapper.insertInspectionNews(inspectionNews);
|
||||
return baseMapper.insert(inspectionNews);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -266,9 +277,27 @@ public class InspectionNewsServiceImpl extends ServiceImpl<InspectionNewsMapper,
|
||||
}
|
||||
|
||||
@Override
|
||||
@TenantIgnore
|
||||
// @TenantIgnore
|
||||
public IPage<InspectionNews> msgList(Page<InspectionNews> page, Long partnerId) {
|
||||
IPage<InspectionNews> news = baseMapper.msgList(page, partnerId);
|
||||
List<Long> roleIdsByUserId = permissionApi.getRoleIdsByUserId(SecurityFrameworkUtils.getLoginUserId());
|
||||
List<RoleReqDTO> roleList = roleApi.getRoleList();
|
||||
List<RoleReqDTO> collect = roleList.stream().filter(item -> roleIdsByUserId.contains(item.getId())).collect(Collectors.toList());
|
||||
String ifShow = "";
|
||||
if (CollUtil.isNotEmpty(collect)){
|
||||
List<String> collect1 = collect.stream().map(RoleReqDTO::getCode).collect(Collectors.toList());
|
||||
// 检测用户
|
||||
if (collect1.contains("jcyh")){
|
||||
ifShow = "user";
|
||||
}
|
||||
// else if (collect1.contains("jcgf") || collect1.contains("jcshop") || collect1.contains("dealers") || collect1.contains("partners")){
|
||||
// // 检测官方 检测商户 经销商 合作商
|
||||
// ifShow = "";
|
||||
// }
|
||||
else {
|
||||
ifShow = "staff";
|
||||
}
|
||||
}
|
||||
IPage<InspectionNews> news = baseMapper.msgList(page, ifShow);
|
||||
news.getRecords().forEach(it->{
|
||||
it.setNewsContent(HtmlFilter.dealFunction(it.getNewsContent()));
|
||||
});
|
||||
|
@ -28,9 +28,8 @@ import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
@ -80,7 +79,7 @@ public class InspectionWorkNodeServiceImpl extends ServiceImpl<InspectionWorkNod
|
||||
throw new RuntimeException("流程不存在");
|
||||
}
|
||||
//判断当前流程是否已被接单
|
||||
if (!workNode.getStatus().equals("0")) {
|
||||
if (!workNode.getStatus().equals("0") && !workNode.getStatus().equals("3")) {
|
||||
throw new RuntimeException("当前流程已被接单");
|
||||
}
|
||||
//修改流程相关信息
|
||||
@ -90,6 +89,21 @@ public class InspectionWorkNodeServiceImpl extends ServiceImpl<InspectionWorkNod
|
||||
//更新
|
||||
this.updateById(workNode);
|
||||
|
||||
// 插入步骤信息
|
||||
InspectionStepInfo inspectionStepInfo = new InspectionStepInfo();
|
||||
inspectionStepInfo.setInspectionInfoId(inspectionId);
|
||||
DlInspectionProject project = inspectionProjectService.getOne(new LambdaQueryWrapper<DlInspectionProject>()
|
||||
.eq(DlInspectionProject::getId, workNode.getProjectId()));
|
||||
if (ObjectUtil.isNotNull(project)) {
|
||||
inspectionStepInfo.setTitle(project.getProjectName());
|
||||
} else {
|
||||
inspectionStepInfo.setTitle("检测项目");
|
||||
}
|
||||
inspectionStepInfo.setCreateTime(DateUtil.date());
|
||||
inspectionStepInfo.setCreator(Integer.parseInt(SecurityFrameworkUtils.getLoginUserId() + ""));
|
||||
inspectionStepInfo.setWorkNodeId(workNodeId);
|
||||
inspectionStepService.save(inspectionStepInfo);
|
||||
|
||||
//查询用户 信息
|
||||
//修改工单表中当前施工人
|
||||
// inspectionInfo.setWorkId(workerUser.getId());
|
||||
@ -143,6 +157,16 @@ public class InspectionWorkNodeServiceImpl extends ServiceImpl<InspectionWorkNod
|
||||
// 更新流程
|
||||
// this.updateById(workNode);
|
||||
baseMapper.cancelAnOrder(workNode);
|
||||
|
||||
// 删除步骤信息
|
||||
DlInspectionProject project = inspectionProjectService.getOne(new LambdaQueryWrapper<DlInspectionProject>()
|
||||
.eq(DlInspectionProject::getId, workNode.getProjectId()));
|
||||
inspectionStepService.remove(new LambdaQueryWrapper<InspectionStepInfo>()
|
||||
.and(i ->
|
||||
i.eq(InspectionStepInfo::getInspectionInfoId, inspectionId)
|
||||
.eq(InspectionStepInfo::getWorkNodeId, workNodeId)
|
||||
.eq(InspectionStepInfo::getTitle, project.getProjectName())
|
||||
));
|
||||
}
|
||||
|
||||
/**
|
||||
@ -179,40 +203,52 @@ public class InspectionWorkNodeServiceImpl extends ServiceImpl<InspectionWorkNod
|
||||
LambdaQueryWrapper<InspectionWorkNode> queryWrapper = new LambdaQueryWrapper<>();
|
||||
queryWrapper.eq(InspectionWorkNode::getInspectionInfoId, workNode.getInspectionInfoId());
|
||||
//是否还有进行中或者待开始的状态
|
||||
queryWrapper.in(InspectionWorkNode::getStatus, "0","1");
|
||||
queryWrapper.in(InspectionWorkNode::getStatus, "0", "1");
|
||||
List<InspectionWorkNode> inspectionWorkNodes = this.list(queryWrapper);
|
||||
boolean flag = true;
|
||||
//判断是否是最后一个流程
|
||||
if (inspectionWorkNodes.size() == 1 && inspectionWorkNodes.get(0).getId().equals(workNode.getId())){
|
||||
if (inspectionWorkNodes.size() == 1 && inspectionWorkNodes.get(0).getId().equals(workNode.getId())) {
|
||||
flag = false;
|
||||
}
|
||||
|
||||
|
||||
// 插入步骤信息
|
||||
InspectionStepInfo inspectionStepInfo = new InspectionStepInfo();
|
||||
inspectionStepInfo.setInspectionInfoId(Integer.parseInt(String.valueOf(workNode.getInspectionInfoId())));
|
||||
|
||||
//根据projectId查询项目名称
|
||||
// 更新或插入步骤信息
|
||||
DlInspectionProject project = inspectionProjectService.getOne(new LambdaQueryWrapper<DlInspectionProject>()
|
||||
.eq(DlInspectionProject::getId, workNode.getProjectId()));
|
||||
String stepTitle = "";
|
||||
if (ObjectUtil.isNotNull(project)) {
|
||||
inspectionStepInfo.setTitle(project.getProjectName());
|
||||
List<InspectionStepInfo> stepInfos = inspectionStepService.list(new LambdaQueryWrapper<InspectionStepInfo>()
|
||||
.and(i -> i.eq(InspectionStepInfo::getInspectionInfoId, workNode.getInspectionInfoId())
|
||||
.eq(InspectionStepInfo::getWorkNodeId, workNode.getId())
|
||||
.eq(InspectionStepInfo::getTitle, ObjectUtil.isNotEmpty(project) ? project.getProjectName() : workNode.getProjectName())
|
||||
));
|
||||
InspectionStepInfo stepInfo = new InspectionStepInfo();
|
||||
if (CollUtil.isNotEmpty(stepInfos)){
|
||||
List<InspectionStepInfo> sorted = stepInfos.stream()
|
||||
.sorted(Comparator.comparing(InspectionStepInfo::getCreateTime).reversed()).collect(Collectors.toList());
|
||||
stepInfo = sorted.get(0);
|
||||
}
|
||||
if (ObjectUtil.isNotEmpty(stepInfo)) {
|
||||
stepInfo.setUpdateTime(DateUtil.date());
|
||||
stepInfo.setUpdater(Integer.parseInt(SecurityFrameworkUtils.getLoginUserId() + ""));
|
||||
} else {
|
||||
inspectionStepInfo.setTitle("项目检测完成");
|
||||
stepInfo.setInspectionInfoId(Integer.parseInt(String.valueOf(workNode.getInspectionInfoId())));
|
||||
if (ObjectUtil.isNotNull(project)) {
|
||||
stepInfo.setTitle(project.getProjectName());
|
||||
} else {
|
||||
stepInfo.setTitle("项目检测完成");
|
||||
}
|
||||
stepInfo.setWorkNodeId(workNode.getId());
|
||||
stepInfo.setCreateTime(DateUtil.date());
|
||||
stepInfo.setCreator(Integer.parseInt(String.valueOf(loginUser.getId())));
|
||||
stepInfo.setUpdater(Integer.parseInt(String.valueOf(loginUser.getId())));
|
||||
stepInfo.setUpdateTime(DateUtil.date());
|
||||
}
|
||||
if (ObjectUtil.isNotEmpty(inspectionWorkNode.getRemark())) {
|
||||
inspectionStepInfo.setContent(inspectionWorkNode.getRemark());
|
||||
stepInfo.setContent(inspectionWorkNode.getRemark());
|
||||
}
|
||||
if (ObjectUtil.isNotEmpty(inspectionWorkNode.getDealImages())) {
|
||||
inspectionStepInfo.setImages(inspectionWorkNode.getDealImages());
|
||||
stepInfo.setImages(inspectionWorkNode.getDealImages());
|
||||
}
|
||||
inspectionStepInfo.setWorkNodeId(workNode.getId());
|
||||
inspectionStepInfo.setCreateTime(DateUtil.date());
|
||||
inspectionStepInfo.setCreator(Integer.parseInt(String.valueOf(loginUser.getId())));
|
||||
inspectionStepService.save(inspectionStepInfo);
|
||||
inspectionStepService.saveOrUpdate(stepInfo);
|
||||
if (!flag) {
|
||||
stepTitle = "检测结束";
|
||||
//设置工单状态为已完成
|
||||
inspectionInfo.setStatus("1");
|
||||
//设置工单通过
|
||||
@ -223,12 +259,12 @@ public class InspectionWorkNodeServiceImpl extends ServiceImpl<InspectionWorkNod
|
||||
inspectionInfo.setMakeCert("1");
|
||||
|
||||
//步骤结束
|
||||
inspectionStepInfo = new InspectionStepInfo();
|
||||
inspectionStepInfo.setInspectionInfoId(Integer.parseInt(String.valueOf(workNode.getInspectionInfoId())));
|
||||
inspectionStepInfo.setTitle(stepTitle);
|
||||
inspectionStepInfo.setCreateTime(DateUtil.date());
|
||||
inspectionStepInfo.setCreator(Integer.parseInt(String.valueOf(loginUser.getId())));
|
||||
inspectionStepService.save(inspectionStepInfo);
|
||||
stepInfo = new InspectionStepInfo();
|
||||
stepInfo.setInspectionInfoId(Integer.parseInt(String.valueOf(workNode.getInspectionInfoId())));
|
||||
stepInfo.setTitle("检测结束");
|
||||
stepInfo.setCreateTime(DateUtil.date());
|
||||
stepInfo.setCreator(Integer.parseInt(String.valueOf(loginUser.getId())));
|
||||
inspectionStepService.save(stepInfo);
|
||||
}
|
||||
// else {
|
||||
// //修改工单表当前流程
|
||||
@ -314,7 +350,11 @@ public class InspectionWorkNodeServiceImpl extends ServiceImpl<InspectionWorkNod
|
||||
//获取当前登陆人
|
||||
LoginUser loginUser = SecurityFrameworkUtils.getLoginUser();
|
||||
//将传递过来的流程节点全部改为未进行
|
||||
baseMapper.recheck(workNodes.getWorkNodes());
|
||||
String status = "0";
|
||||
if (CollUtil.isNotEmpty(workNodes.getWorkNodes()) && ObjectUtil.isNotEmpty(workNodes.getWorkNodes().get(0).getStatus())){
|
||||
status = workNodes.getWorkNodes().get(0).getStatus();
|
||||
}
|
||||
baseMapper.recheck(workNodes.getWorkNodes(), status);
|
||||
//将检测工单设置为重审
|
||||
InspectionInfo info = inspectionInfoService.getById(workNodes.getInspectionInfoId());
|
||||
info.setIsRetrial("1");
|
||||
@ -345,7 +385,7 @@ public class InspectionWorkNodeServiceImpl extends ServiceImpl<InspectionWorkNod
|
||||
|
||||
List<Integer> roleIds = new ArrayList<>();
|
||||
/*获取所有的角色id*/
|
||||
if(CollUtil.isNotEmpty(workNodes.getWorkNodes())){
|
||||
if (CollUtil.isNotEmpty(workNodes.getWorkNodes())) {
|
||||
roleIds = workNodes.getWorkNodes().stream().map(inspectionWorkNode -> inspectionWorkNode.getRoleId()).collect(Collectors.toList());
|
||||
}
|
||||
//根据角色id获取所有用户
|
||||
@ -431,7 +471,7 @@ public class InspectionWorkNodeServiceImpl extends ServiceImpl<InspectionWorkNod
|
||||
*
|
||||
* @param inspectionWorkNode
|
||||
*/
|
||||
public void retrial(InspectionWorkNode inspectionWorkNode){
|
||||
public void retrial(InspectionWorkNode inspectionWorkNode) {
|
||||
LoginUser loginUser = SecurityFrameworkUtils.getLoginUser();
|
||||
//通过流程节点id查询流程
|
||||
InspectionWorkNode workNode = this.getById(inspectionWorkNode.getId());
|
||||
@ -454,7 +494,7 @@ public class InspectionWorkNodeServiceImpl extends ServiceImpl<InspectionWorkNod
|
||||
Integer roleId = workNode.getRoleId();
|
||||
List<UserDTO> listByUserId = roleService.getListByUserId(roleId);
|
||||
List<Long> ids = listByUserId.stream().map(UserDTO::getId).collect(Collectors.toList());
|
||||
if (ObjectUtil.isNotNull(info.getLeadManId())){
|
||||
if (ObjectUtil.isNotNull(info.getLeadManId())) {
|
||||
ids.add(info.getLeadManId());
|
||||
}
|
||||
sendSocketMessage(ids);
|
||||
|
@ -0,0 +1,34 @@
|
||||
package cn.iocoder.yudao.module.inspection.vo;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* 用于当日订单详情
|
||||
*
|
||||
* @author 小李
|
||||
* @date 14:41 2024/12/12
|
||||
**/
|
||||
@Data
|
||||
public class OrderTable {
|
||||
|
||||
/** 工单ID */
|
||||
private Long id;
|
||||
|
||||
/** 车牌号 */
|
||||
private String carNum;
|
||||
|
||||
/** 检测类型 */
|
||||
private String type;
|
||||
|
||||
/** 检测状态 */
|
||||
private String status;
|
||||
|
||||
/** 检测结果 */
|
||||
private String result;
|
||||
|
||||
/** 是否支付 */
|
||||
private String pay;
|
||||
|
||||
/** 支付方式 */
|
||||
private String payType;
|
||||
}
|
@ -8,7 +8,7 @@
|
||||
</update>
|
||||
<update id="recheck">
|
||||
UPDATE inspection_work_node
|
||||
SET status = '0', deal_user_id = null, deal_user_name = null, deal_images = null, remark = null,type = null
|
||||
SET status = #{status}, deal_user_id = null, deal_user_name = null, deal_images = null, remark = null,type = null
|
||||
WHERE id in (
|
||||
<foreach collection="list" item="item" separator=",">
|
||||
#{item.id}
|
||||
|
@ -213,7 +213,8 @@ where sig.partner_id =#{partnerId}
|
||||
<select id="inspectionList" resultType="cn.iocoder.yudao.module.inspection.entity.InspectionInfo">
|
||||
SELECT
|
||||
info.id,info.worker_name,info.worker_phone,info.worker_avatar,info.`status`,info.is_pass,info.start_time,info.end_time,step.title as lastTitle,
|
||||
su.nickname buyName,su.mobile as buyPhone,oi.order_no as orderNo,oi.pay_money+oi.balance as realPayMoney,oi.goods_title as goodsName,info.car_num,info.is_retrial
|
||||
su.nickname buyName,su.mobile as buyPhone,oi.order_no as orderNo,oi.pay_money+oi.balance as realPayMoney,oi.goods_title as goodsName,info.car_num,info.is_retrial,
|
||||
info.customer_source as customerSource, info.other_phone as otherPhone,oi.sku_id as skuId, oi.sku_name as skuName,oi.goods_price as goodsPrice
|
||||
from
|
||||
inspection_info info
|
||||
LEFT JOIN inspection_step_info step ON info.id = step.inspection_info_id
|
||||
@ -345,8 +346,10 @@ FROM
|
||||
FROM
|
||||
shop_inspection_category cate
|
||||
INNER JOIN inspection_category_template template on template.category_id = cate.id
|
||||
left JOIN shop_inspection_goods goods ON goods.goods_category_id = cate.id and goods.partner_id = #{partnerId}
|
||||
where goods.id is null
|
||||
<if test="partnerId == null">
|
||||
left JOIN shop_inspection_goods goods ON goods.goods_category_id = cate.id and goods.partner_id = #{partnerId}
|
||||
where goods.id is null
|
||||
</if>
|
||||
group by cate.id
|
||||
ORDER BY cate.order_num
|
||||
|
||||
@ -524,4 +527,126 @@ FROM
|
||||
</if>
|
||||
order by pw.create_time desc
|
||||
</select>
|
||||
|
||||
<select id="getOrderByDate" resultType="cn.iocoder.yudao.module.inspection.vo.OrderTable">
|
||||
SELECT t.id,
|
||||
t.carNum,
|
||||
t.type,
|
||||
t.pay,
|
||||
t.payType,
|
||||
CASE
|
||||
WHEN t.status = '已完成' AND t.is_pass = 0 THEN '不合格'
|
||||
WHEN t.status = '已完成' AND t.is_pass = 1 THEN '合格'
|
||||
WHEN t.status = '已完成' THEN '未知'
|
||||
ELSE ''
|
||||
END AS result,
|
||||
t.status
|
||||
FROM (SELECT ii.id,
|
||||
ii.car_num AS carNum,
|
||||
oi.sku_name AS type,
|
||||
oi.pay_type as payType,
|
||||
CASE
|
||||
WHEN oi.pay_type IS NULL THEN '未支付'
|
||||
ELSE '已支付'
|
||||
END AS pay,
|
||||
CASE
|
||||
WHEN oi.pay_type IS NOT NULL THEN '已完成'
|
||||
WHEN has_status_0_or_null THEN '检测中'
|
||||
WHEN (ii.status = 0 OR ii.status = 2) AND has_status_1 THEN '检测中'
|
||||
WHEN (COALESCE(max_iwn_status, 0) = 2 OR ii.status = 1) THEN '已完成'
|
||||
WHEN (ii.status = 0 OR ii.status = 2) AND COALESCE(max_iwn_status, 0) = 0 THEN '待检测'
|
||||
ELSE '未知状态' -- 这是为了处理任何未预期的情况
|
||||
END AS status,
|
||||
ii.is_pass,
|
||||
COALESCE(max_iwn_status, 0) AS max_iwn_status,
|
||||
oi.create_time
|
||||
FROM order_info oi
|
||||
INNER JOIN
|
||||
inspection_info ii
|
||||
ON
|
||||
oi.id = ii.inspection_order_id
|
||||
LEFT JOIN (SELECT inspection_info_id,
|
||||
MAX(COALESCE(status, 0)) AS max_iwn_status,
|
||||
MAX(CASE WHEN COALESCE(status, 0) = 1 THEN 1 ELSE 0 END) AS has_status_1,
|
||||
MAX(CASE WHEN COALESCE(status, 0) = 0 THEN 1 ELSE 0 END) AS has_status_0_or_null
|
||||
FROM inspection_work_node
|
||||
GROUP BY inspection_info_id) iwn_agg
|
||||
ON
|
||||
ii.id = iwn_agg.inspection_info_id
|
||||
WHERE oi.create_time BETWEEN #{startTime} AND #{endTime}
|
||||
AND oi.deleted = '0') t
|
||||
<where>
|
||||
<choose>
|
||||
<when test="chooseStatus == '2'.toString()">
|
||||
t.status = '检测中'
|
||||
</when>
|
||||
<when test="chooseStatus == '3'.toString()">
|
||||
t.status = '已完成'
|
||||
</when>
|
||||
</choose>
|
||||
</where>
|
||||
ORDER BY t.create_time DESC
|
||||
</select>
|
||||
|
||||
<select id="getTypeCount" resultType="java.util.Map">
|
||||
SELECT t2.type as type, COUNT(*) as count FROM (
|
||||
SELECT t.id,
|
||||
t.carNum,
|
||||
t.type,
|
||||
t.pay,
|
||||
t.payType,
|
||||
CASE
|
||||
WHEN t.status = '已完成' AND t.is_pass = 0 THEN '不合格'
|
||||
WHEN t.status = '已完成' AND t.is_pass = 1 THEN '合格'
|
||||
WHEN t.status = '已完成' THEN '未知'
|
||||
ELSE ''
|
||||
END AS result,
|
||||
t.status
|
||||
FROM (SELECT ii.id,
|
||||
ii.car_num AS carNum,
|
||||
oi.sku_name AS type,
|
||||
oi.pay_type as payType,
|
||||
CASE
|
||||
WHEN oi.pay_type IS NULL THEN '未支付'
|
||||
ELSE '已支付'
|
||||
END AS pay,
|
||||
CASE
|
||||
WHEN oi.pay_type IS NOT NULL THEN '已完成'
|
||||
WHEN has_status_0_or_null THEN '检测中'
|
||||
WHEN (ii.status = 0 OR ii.status = 2) AND has_status_1 THEN '检测中'
|
||||
WHEN (COALESCE(max_iwn_status, 0) = 2 OR ii.status = 1) THEN '已完成'
|
||||
WHEN (ii.status = 0 OR ii.status = 2) AND COALESCE(max_iwn_status, 0) = 0 THEN '待检测'
|
||||
ELSE '未知状态' -- 这是为了处理任何未预期的情况
|
||||
END AS status,
|
||||
ii.is_pass,
|
||||
COALESCE(max_iwn_status, 0) AS max_iwn_status,
|
||||
oi.create_time
|
||||
FROM order_info oi
|
||||
INNER JOIN
|
||||
inspection_info ii
|
||||
ON
|
||||
oi.id = ii.inspection_order_id
|
||||
LEFT JOIN (SELECT inspection_info_id,
|
||||
MAX(COALESCE(status, 0)) AS max_iwn_status,
|
||||
MAX(CASE WHEN COALESCE(status, 0) = 1 THEN 1 ELSE 0 END) AS has_status_1,
|
||||
MAX(CASE WHEN COALESCE(status, 0) = 0 THEN 1 ELSE 0 END) AS has_status_0_or_null
|
||||
FROM inspection_work_node
|
||||
GROUP BY inspection_info_id) iwn_agg
|
||||
ON
|
||||
ii.id = iwn_agg.inspection_info_id
|
||||
WHERE oi.create_time BETWEEN #{startTime} AND #{endTime}
|
||||
AND oi.deleted = '0') t
|
||||
<where>
|
||||
<choose>
|
||||
<when test="chooseStatus == '2'.toString()">
|
||||
t.status = '检测中'
|
||||
</when>
|
||||
<when test="chooseStatus == '3'.toString()">
|
||||
t.status = '已完成'
|
||||
</when>
|
||||
</choose>
|
||||
</where>
|
||||
) t2
|
||||
GROUP BY t2.type
|
||||
</select>
|
||||
</mapper>
|
||||
|
@ -8,13 +8,24 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
|
||||
|
||||
<select id="selectInspectionEquInfoList" parameterType="cn.iocoder.yudao.module.inspection.entity.InspectionEquInfo" resultType="cn.iocoder.yudao.module.inspection.entity.InspectionEquInfo">
|
||||
select * from inspection_equ_info
|
||||
select * from inspection_equ_info
|
||||
<where>
|
||||
<if test="inspectionEquInfo.equName != null and inspectionEquInfo.equName != ''"> and equ_name like concat('%', #{inspectionEquInfo.equName}, '%')</if>
|
||||
<if test="inspectionEquInfo.equModel != null and inspectionEquInfo.equModel != ''"> and equ_model like concat('%', #{inspectionEquInfo.equModel}, '%')</if>
|
||||
<if test="inspectionEquInfo.equNumber != null and inspectionEquInfo.equNumber != ''"> and equ_number like concat('%', #{inspectionEquInfo.equNumber}, '%')</if>
|
||||
<if test="inspectionEquInfo.equName != null and inspectionEquInfo.equName != ''">and equ_name like
|
||||
concat('%', #{inspectionEquInfo.equName}, '%')
|
||||
</if>
|
||||
<if test="inspectionEquInfo.equModel != null and inspectionEquInfo.equModel != ''">and equ_model like
|
||||
concat('%', #{inspectionEquInfo.equModel}, '%')
|
||||
</if>
|
||||
<if test="inspectionEquInfo.equNumber != null and inspectionEquInfo.equNumber != ''">and equ_number like
|
||||
concat('%', #{inspectionEquInfo.equNumber}, '%')
|
||||
</if>
|
||||
<if test="inspectionEquInfo.params.beginNextCheckTime != null and inspectionEquInfo.params.beginNextCheckTime != '' and params.endNextCheckTime != null and params.endNextCheckTime != ''">
|
||||
and next_check_time between #{inspectionEquInfo.params.beginNextCheckTime} and #{inspectionEquInfo.params.endNextCheckTime}</if>
|
||||
and next_check_time between #{inspectionEquInfo.params.beginNextCheckTime} and
|
||||
#{inspectionEquInfo.params.endNextCheckTime}
|
||||
</if>
|
||||
<if test="inspectionEquInfo.type != null and inspectionEquInfo.type != ''">
|
||||
and `type` = #{inspectionEquInfo.type}
|
||||
</if>
|
||||
</where>
|
||||
</select>
|
||||
|
||||
|
@ -269,56 +269,144 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
order by ins.start_time desc
|
||||
</select>
|
||||
<select id="selectByUser" resultType="cn.iocoder.yudao.module.inspection.entity.InspectionInfo">
|
||||
SELECT
|
||||
SELECT *
|
||||
FROM (
|
||||
SELECT
|
||||
ii.*,
|
||||
iwn.id AS workNodeId,
|
||||
iwn.status AS workNodeStatus,
|
||||
oi.order_no AS orderNo,
|
||||
oi.phonenumber AS buyPhone,
|
||||
oi.goods_title as goodsTitle,
|
||||
oi.sku_name as skuName,
|
||||
ip.project_name AS projectName,
|
||||
su.nickname AS leadManName
|
||||
FROM
|
||||
su.nickname AS leadManName,
|
||||
ROW_NUMBER() OVER (PARTITION BY ii.id ORDER BY iwn.update_time DESC) as rn -- 根据需要调整排序逻辑
|
||||
FROM
|
||||
inspection_info ii
|
||||
LEFT JOIN
|
||||
LEFT JOIN
|
||||
inspection_work_node iwn ON ii.id = iwn.inspection_info_id
|
||||
LEFT JOIN
|
||||
LEFT JOIN
|
||||
order_info oi ON ii.inspection_order_id = oi.id
|
||||
LEFT JOIN
|
||||
LEFT JOIN
|
||||
inspection_project ip ON iwn.project_id = ip.id
|
||||
LEFT JOIN
|
||||
LEFT JOIN
|
||||
system_users su ON ii.lead_man_id = su.id
|
||||
<where>
|
||||
<!-- 车牌号模糊查询 -->
|
||||
<if test="inspectionInfo.carNum != null">
|
||||
AND ii.car_num LIKE CONCAT('%', #{inspectionInfo.carNum}, '%')
|
||||
</if>
|
||||
<!-- 待接受 -->
|
||||
<if test="inspectionInfo.status == 1">
|
||||
AND <!-- 工单负责人或角色ID匹配 -->
|
||||
(ii.lead_man_id = #{inspectionInfo.leadManId}
|
||||
OR iwn.role_id IN
|
||||
<foreach collection="roleIds" item="roleId" open="(" separator="," close=")">
|
||||
#{roleId}
|
||||
</foreach>)
|
||||
AND ii.status = '0'
|
||||
AND iwn.status = '0'
|
||||
-- AND ii.now_order_num = iwn.order_num
|
||||
ORDER BY ii.create_time DESC
|
||||
</if>
|
||||
<!-- 进行中 -->
|
||||
<if test="inspectionInfo.status == 2">
|
||||
AND ii.status = '0'
|
||||
AND iwn.status = '1'
|
||||
AND iwn.deal_user_id = #{inspectionInfo.dealUserId}
|
||||
ORDER BY iwn.update_time DESC
|
||||
</if>
|
||||
<!-- 已完成 -->
|
||||
<if test="inspectionInfo.status == 3">
|
||||
AND iwn.status = '2'
|
||||
AND iwn.deal_user_id = #{inspectionInfo.dealUserId}
|
||||
ORDER BY iwn.update_time DESC
|
||||
</if>
|
||||
</where>
|
||||
</select>
|
||||
|
||||
<!-- 车牌号模糊查询 -->
|
||||
<if test="inspectionInfo.carNum != null">
|
||||
AND ii.car_num LIKE CONCAT('%', #{inspectionInfo.carNum}, '%')
|
||||
</if>
|
||||
<!-- 待支付 -->
|
||||
<if test="inspectionInfo.status == '0'.toString()">
|
||||
AND (oi.pay_time is null)
|
||||
ORDER BY iwn.update_time DESC
|
||||
</if>
|
||||
<!-- 待接受(待检测) -->
|
||||
<if test="inspectionInfo.status == 1">
|
||||
AND <!-- 工单负责人或角色ID匹配 -->
|
||||
(ii.lead_man_id = #{inspectionInfo.leadManId}
|
||||
OR iwn.role_id IN
|
||||
<foreach collection="roleIds" item="roleId" open="(" separator="," close=")">
|
||||
#{roleId}
|
||||
</foreach>)
|
||||
AND ii.status = '0'
|
||||
AND iwn.status = '0'
|
||||
-- AND ii.now_order_num = iwn.order_num
|
||||
ORDER BY ii.create_time DESC
|
||||
</if>
|
||||
<!-- 进行中(检测中) -->
|
||||
<if test="inspectionInfo.status == 2">
|
||||
AND (ii.status = '0' OR ii.status = '2')
|
||||
AND iwn.status = '1'
|
||||
AND iwn.deal_user_id = #{inspectionInfo.dealUserId}
|
||||
ORDER BY iwn.update_time DESC
|
||||
</if>
|
||||
<!-- 待重检 -->
|
||||
<if test="inspectionInfo.status == 3">
|
||||
AND <!-- 工单负责人或角色ID匹配 -->
|
||||
(ii.lead_man_id = #{inspectionInfo.leadManId}
|
||||
OR iwn.role_id IN
|
||||
<foreach collection="roleIds" item="roleId" open="(" separator="," close=")">
|
||||
#{roleId}
|
||||
</foreach>)
|
||||
AND ii.status = '2'
|
||||
-- AND iwn.status = '1'
|
||||
-- AND ii.now_order_num = iwn.order_num
|
||||
ORDER BY ii.update_time DESC
|
||||
</if>
|
||||
<!-- 待复检 -->
|
||||
<if test="inspectionInfo.status == 4">
|
||||
AND <!-- 工单负责人或角色ID匹配 -->
|
||||
(ii.lead_man_id = #{inspectionInfo.leadManId}
|
||||
OR iwn.role_id IN
|
||||
<foreach collection="roleIds" item="roleId" open="(" separator="," close=")">
|
||||
#{roleId}
|
||||
</foreach>)
|
||||
-- AND ii.status = '2'
|
||||
AND iwn.status = '3'
|
||||
-- AND ii.now_order_num = iwn.order_num
|
||||
ORDER BY ii.update_time DESC
|
||||
</if>
|
||||
<!-- 已完成 -->
|
||||
<if test="inspectionInfo.status == 5">
|
||||
AND iwn.status = '2'
|
||||
AND iwn.deal_user_id = #{inspectionInfo.dealUserId}
|
||||
ORDER BY iwn.update_time DESC
|
||||
</if>
|
||||
</where>
|
||||
) AS subquery
|
||||
WHERE rn = 1;
|
||||
<!-- 之前的查询,修改为了一个工单只出现一条,不分项目 -->
|
||||
<!-- SELECT-->
|
||||
<!-- ii.*,-->
|
||||
<!-- iwn.id AS workNodeId,-->
|
||||
<!-- iwn.status AS workNodeStatus,-->
|
||||
<!-- oi.order_no AS orderNo,-->
|
||||
<!-- oi.phonenumber AS buyPhone,-->
|
||||
<!-- ip.project_name AS projectName,-->
|
||||
<!-- su.nickname AS leadManName-->
|
||||
<!-- FROM-->
|
||||
<!-- inspection_info ii-->
|
||||
<!-- LEFT JOIN-->
|
||||
<!-- inspection_work_node iwn ON ii.id = iwn.inspection_info_id-->
|
||||
<!-- LEFT JOIN-->
|
||||
<!-- order_info oi ON ii.inspection_order_id = oi.id-->
|
||||
<!-- LEFT JOIN-->
|
||||
<!-- inspection_project ip ON iwn.project_id = ip.id-->
|
||||
<!-- LEFT JOIN-->
|
||||
<!-- system_users su ON ii.lead_man_id = su.id-->
|
||||
<!-- <where>-->
|
||||
<!-- <!– 车牌号模糊查询 –>-->
|
||||
<!-- <if test="inspectionInfo.carNum != null">-->
|
||||
<!-- AND ii.car_num LIKE CONCAT('%', #{inspectionInfo.carNum}, '%')-->
|
||||
<!-- </if>-->
|
||||
<!-- <!– 待接受 –>-->
|
||||
<!-- <if test="inspectionInfo.status == 1">-->
|
||||
<!-- AND <!– 工单负责人或角色ID匹配 –>-->
|
||||
<!-- (ii.lead_man_id = #{inspectionInfo.leadManId}-->
|
||||
<!-- OR iwn.role_id IN-->
|
||||
<!-- <foreach collection="roleIds" item="roleId" open="(" separator="," close=")">-->
|
||||
<!-- #{roleId}-->
|
||||
<!-- </foreach>)-->
|
||||
<!-- AND ii.status = '0'-->
|
||||
<!-- AND iwn.status = '0'-->
|
||||
<!-- -- AND ii.now_order_num = iwn.order_num-->
|
||||
<!-- ORDER BY ii.create_time DESC-->
|
||||
<!-- </if>-->
|
||||
<!-- <!– 进行中 –>-->
|
||||
<!-- <if test="inspectionInfo.status == 2">-->
|
||||
<!-- AND ii.status = '0'-->
|
||||
<!-- AND iwn.status = '1'-->
|
||||
<!-- AND iwn.deal_user_id = #{inspectionInfo.dealUserId}-->
|
||||
<!-- ORDER BY iwn.update_time DESC-->
|
||||
<!-- </if>-->
|
||||
<!-- <!– 已完成 –>-->
|
||||
<!-- <if test="inspectionInfo.status == 3">-->
|
||||
<!-- AND iwn.status = '2'-->
|
||||
<!-- AND iwn.deal_user_id = #{inspectionInfo.dealUserId}-->
|
||||
<!-- ORDER BY iwn.update_time DESC-->
|
||||
<!-- </if>-->
|
||||
<!-- </where>-->
|
||||
</select>
|
||||
</mapper>
|
||||
|
@ -167,8 +167,14 @@
|
||||
news.*,IF(ina.id is null,0,1) as isRead
|
||||
FROM
|
||||
inspection_news news
|
||||
left JOIN inspection_news_association ina ON ina.news_id = news.id and ina.user_id = #{partnerId} and ina.type = 'read'
|
||||
WHERE news.category = 'jcztz' or news.category = 'zflm'
|
||||
left JOIN inspection_news_association ina ON ina.news_id = news.id and ina.type = 'read'
|
||||
WHERE news.category = 'zflm'
|
||||
<if test="ifShow != null and ifShow != ''">
|
||||
or news.category = 'jcztz'
|
||||
or news.type = #{ifShow}
|
||||
or news.type = 'null'
|
||||
</if>
|
||||
group by news.id
|
||||
order by isRead,news.create_time desc
|
||||
</select>
|
||||
<select id="listGfClass" resultType="java.lang.String">
|
||||
|
@ -51,13 +51,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
INNER JOIN shop_mall_partners smp ON smp.partner_id = sig.partner_id AND smp.is_banned = '0'
|
||||
INNER JOIN shop_inspection_category sic ON sic.id = sig.goods_category_id
|
||||
<where>
|
||||
|
||||
and sig.deleted = '0' and smp.deleted = '0' and sic.deleted = '0'
|
||||
<if test="vo.id != null "> and sig.id = #{vo.id}</if>
|
||||
<if test="vo.title != null and title != ''"> and sig.title like concat('%', #{vo.title}, '%')</if>
|
||||
<if test="vo.title != null and vo.title != ''"> and sig.title like concat('%', #{vo.title}, '%')</if>
|
||||
<if test="vo.goodsCategoryId!= null "> and sig.goods_category_id = #{vo.goodsCategoryId}</if>
|
||||
<if test="vo.partnerName!= null "> and smp.partner_name like concat('%',#{vo.partnerName},'%')</if>
|
||||
<if test="vo.partnerId!= null "> and sig.partner_id = #{vo.partnerId}</if>
|
||||
<if test="vo.isListing != null and vo.isListing != ''">and sig.is_listing = #{vo.isListing}</if>
|
||||
</where>
|
||||
ORDER BY FIELD(sig.listing_status,1,2,3,0), create_time desc
|
||||
ORDER BY sig.is_listing, sig.create_time desc
|
||||
</select>
|
||||
</mapper>
|
||||
|
@ -8,7 +8,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
<select id="selectWarnMessageList" resultType="cn.iocoder.yudao.module.inspection.entity.WarnMessage">
|
||||
select * from warn_message
|
||||
<where>
|
||||
and warn_time <![CDATA[<=]]> NOW()
|
||||
and warn_time <![CDATA[<=]]> NOW() and deleted = '0'
|
||||
<if test="title != null and title != ''"> and title = #{title}</if>
|
||||
<if test="partnerId != null "> and partner_id = #{partnerId}</if>
|
||||
<if test="isRead != null and isRead != ''"> and is_read = #{isRead}</if>
|
||||
@ -27,6 +27,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
<if test="warnMessage.title != null and warnMessage.title != ''"> and title = #{warnMessage.title}</if>
|
||||
<if test="warnMessage.partnerId != null "> and partner_id = #{warnMessage.partnerId}</if>
|
||||
<if test="warnMessage.isRead != null and warnMessage.isRead != ''"> and is_read = #{warnMessage.isRead}</if>
|
||||
and deleted = '0'
|
||||
</where>
|
||||
order by create_time desc
|
||||
</select>
|
||||
|
@ -45,6 +45,12 @@ public class DriveSchoolSwiperController extends BaseController
|
||||
@GetMapping("/pclist")
|
||||
@PermitAll
|
||||
public CommonResult pclist(DriveSchoolSwiper driveSchoolSwiper) {
|
||||
if(driveSchoolSwiper.getPageNum() == null) {
|
||||
driveSchoolSwiper.setPageNum(1);
|
||||
}
|
||||
if(driveSchoolSwiper.getPageSize() == null) {
|
||||
driveSchoolSwiper.setPageSize(100);
|
||||
}
|
||||
Page<DriveSchoolSwiper> page = new Page<>(driveSchoolSwiper.getPageNum(), driveSchoolSwiper.getPageSize());
|
||||
IPage<DriveSchoolSwiper> driveSchoolSeparateIPage = driveSchoolSwiperService.selectDriveSchoolSwiperPclist(driveSchoolSwiper, page);
|
||||
|
||||
|
@ -8,7 +8,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.springframework.data.repository.query.Param;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
|
@ -99,9 +99,9 @@ public class DriveSchoolPayServiceImpl implements DriveSchoolPayService
|
||||
IPage<DriveSchoolPay> driveSchoolPayIPage = driveSchoolPayMapper.stuList(driveSchoolPay, page);
|
||||
List<DriveSchoolPay> driveSchoolPays = driveSchoolPayIPage.getRecords();
|
||||
|
||||
ArrayList<DriveSchoolPay> collect = driveSchoolPays.stream().collect(Collectors.collectingAndThen(Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(DriveSchoolPay::getIdentity))), ArrayList::new));
|
||||
// ArrayList<DriveSchoolPay> collect = driveSchoolPays.stream().collect(Collectors.collectingAndThen(Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(DriveSchoolPay::getIdentity))), ArrayList::new));
|
||||
|
||||
for (DriveSchoolPay schoolPay : collect) {
|
||||
for (DriveSchoolPay schoolPay : driveSchoolPays) {
|
||||
Long userId = schoolPay.getUserId();
|
||||
AdminUserRespDTO sysUser = userApi.getUser(userId);
|
||||
//SysUser sysUser = sysUserMapper.selectUserById(userId);
|
||||
@ -110,8 +110,8 @@ public class DriveSchoolPayServiceImpl implements DriveSchoolPayService
|
||||
}
|
||||
}
|
||||
//根据时间倒序排序
|
||||
collect.sort(Comparator.comparing(DriveSchoolPay::getCreateTime).reversed());
|
||||
driveSchoolPayIPage.setRecords(collect);
|
||||
driveSchoolPays.sort(Comparator.comparing(DriveSchoolPay::getCreateTime).reversed());
|
||||
driveSchoolPayIPage.setRecords(driveSchoolPays);
|
||||
return driveSchoolPayIPage;
|
||||
}
|
||||
|
||||
|
@ -111,23 +111,23 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
FROM drive_school_swiper
|
||||
<where>
|
||||
deleted = 0
|
||||
<if test="driveSchoolSwiper != null">
|
||||
<if test="driveSchoolSwiper.swiperName != null and driveSchoolSwiper.swiperName != ''">
|
||||
AND swiper_name LIKE CONCAT('%', #{driveSchoolSwiper.swiperName}, '%')
|
||||
|
||||
<if test="entity.swiperName != null and entity.swiperName != ''">
|
||||
AND swiper_name LIKE CONCAT('%', #{entity.swiperName}, '%')
|
||||
</if>
|
||||
<if test="driveSchoolSwiper.swiperPicture != null and driveSchoolSwiper.swiperPicture != ''">
|
||||
AND swiper_picture = #{driveSchoolSwiper.swiperPicture}
|
||||
<if test="entity.swiperPicture != null and entity.swiperPicture != ''">
|
||||
AND swiper_picture = #{entity.swiperPicture}
|
||||
</if>
|
||||
<if test="driveSchoolSwiper.jumpUrl != null and driveSchoolSwiper.jumpUrl != ''">
|
||||
AND jump_url = #{driveSchoolSwiper.jumpUrl}
|
||||
<if test="entity.jumpUrl != null and entity.jumpUrl != ''">
|
||||
AND jump_url = #{entity.jumpUrl}
|
||||
</if>
|
||||
<if test="driveSchoolSwiper.deptId != null">
|
||||
AND dept_id = #{driveSchoolSwiper.deptId}
|
||||
<if test="entity.deptId != null">
|
||||
AND dept_id = #{entity.deptId}
|
||||
</if>
|
||||
<if test="driveSchoolSwiper.listOrder != null">
|
||||
AND list_order = #{driveSchoolSwiper.listOrder}
|
||||
<if test="entity.listOrder != null">
|
||||
AND list_order = #{entity.listOrder}
|
||||
</if>
|
||||
</if>
|
||||
|
||||
|
||||
</where>
|
||||
ORDER BY list_order ASC
|
||||
|
@ -80,7 +80,7 @@ public enum RecordTypeEnum {
|
||||
/** 删除工单 */
|
||||
SCGG("scgg", "删除工单"),
|
||||
|
||||
/** 删除工单 */
|
||||
/** 交车 */
|
||||
JC("jc", "交车"),
|
||||
|
||||
/** 内返派工 */
|
||||
|
@ -19,18 +19,14 @@ public enum TicketsStatusEnum {
|
||||
* 施工中
|
||||
*/
|
||||
WORKING("05","施工中"),
|
||||
/**
|
||||
* 未结账
|
||||
*/
|
||||
NO_PAY("01","未结账"),
|
||||
/**
|
||||
* 待通知客户取车
|
||||
*/
|
||||
WAITING_NOTICE("07","待通知客户取车"),
|
||||
/**
|
||||
* 已交车
|
||||
* 未结账
|
||||
*/
|
||||
OVER("08","已交车"),
|
||||
NO_PAY("01","未结账"),
|
||||
/**
|
||||
* 挂单/记账
|
||||
*/
|
||||
@ -39,6 +35,10 @@ public enum TicketsStatusEnum {
|
||||
* 已结账
|
||||
*/
|
||||
CHECK_OUT("02","已结账"),
|
||||
/**
|
||||
* 已交车
|
||||
*/
|
||||
OVER("08","已交车"),
|
||||
/**
|
||||
* 已作废
|
||||
*/
|
||||
|
@ -8,6 +8,8 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 针对表【dl_repair_tickets(维修工单表)】的数据库操作Mapper
|
||||
*
|
||||
@ -43,15 +45,16 @@ public interface DlRepairTicketsMapper extends BaseMapper<DlRepairTickets> {
|
||||
**/
|
||||
IPage<DlRepairTickets> getPageTypeAll(@Param("map") DlRepairTicketsReqVO repairTicketsReqVO, Page<DlRepairTickets> page);
|
||||
|
||||
|
||||
/**
|
||||
* 根据条件查询指定工单数量
|
||||
* @author vinjor-M
|
||||
* @date 15:46 2024/11/18
|
||||
* @param dayDate 某一天日期
|
||||
* @param recordCode 操作记录code
|
||||
* @param recordCode 操作记录code
|
||||
* @return java.lang.Long
|
||||
**/
|
||||
Long selectCountByParams(@Param("nowDate")String dayDate, @Param("recordCode")String recordCode, @Param("startTime")String startTime, @Param("endTime")String endTime);
|
||||
**/
|
||||
List<String> selectTicketIdByParams(@Param("nowDate")String dayDate, @Param("recordCode")String recordCode, @Param("startTime")String startTime, @Param("endTime")String endTime);
|
||||
}
|
||||
|
||||
|
||||
|
@ -173,7 +173,7 @@ public interface DlRepairTicketsService extends IService<DlRepairTickets> {
|
||||
* @date 11:30 2024/10/24
|
||||
* @return java.util.Map<java.lang.String,java.lang.Integer>
|
||||
**/
|
||||
Map<String,Long> getBossNum(String selectType,String startDate,String endDate);
|
||||
Map<String,Object> getBossNum(String selectType,String startDate,String endDate);
|
||||
|
||||
/**
|
||||
* 服务顾问通知客户取车
|
||||
|
@ -978,6 +978,12 @@ public class DlRepairTicketsServiceImpl extends ServiceImpl<DlRepairTicketsMappe
|
||||
@Override
|
||||
public IPage<DlRepairTickets> getPageType(DlRepairTicketsReqVO repairTicketsReqVO, Page<DlRepairTickets> page) {
|
||||
String userRoleCode = getUserRole();
|
||||
if(null!=repairTicketsReqVO.getIdList() && repairTicketsReqVO.getIdList().size()>0){
|
||||
//根据id集和查询
|
||||
DlRepairTicketsReqVO queryObj = new DlRepairTicketsReqVO();
|
||||
queryObj.setIdList(repairTicketsReqVO.getIdList());
|
||||
return baseMapper.getPageTypeAll(queryObj, page);
|
||||
}
|
||||
if (userRoleCode.equals(RepairRoleEnum.ADMIN.getCode())) {
|
||||
//维修管理员看所有数据
|
||||
} else if (userRoleCode.equals(RepairRoleEnum.WAREHOUSE.getCode())) {
|
||||
@ -1024,7 +1030,57 @@ public class DlRepairTicketsServiceImpl extends ServiceImpl<DlRepairTicketsMappe
|
||||
//查待处理
|
||||
return baseMapper.getPageType(repairTicketsReqVO, page);
|
||||
} else {
|
||||
//查所有
|
||||
//查所有,
|
||||
if(("jinchang".equals(repairTicketsReqVO.getTicketsStatus()) ||
|
||||
"yijungong".equals(repairTicketsReqVO.getTicketsStatus()) ||
|
||||
"yijiaoche".equals(repairTicketsReqVO.getTicketsStatus())) && StringUtils.isNotEmpty(repairTicketsReqVO.getStartDate())){
|
||||
//如果是查询进场、已竣工、已交车三个状态,同时选了时间范围的,需要单独处理
|
||||
String startDate = repairTicketsReqVO.getStartDate()+" 00:00:00";
|
||||
String endDate = repairTicketsReqVO.getEndDate()+" 23:59:59";
|
||||
List<String> idList = new ArrayList<>();
|
||||
if("yijungong".equals(repairTicketsReqVO.getTicketsStatus())){
|
||||
//已竣工
|
||||
idList = repairTicketsMapper.selectTicketIdByParams(null,RecordTypeEnum.ZJ.getCode(),startDate,endDate);
|
||||
}else if("yijiaoche".equals(repairTicketsReqVO.getTicketsStatus())){
|
||||
//已交车
|
||||
idList = repairTicketsMapper.selectTicketIdByParams(null,RecordTypeEnum.JC.getCode(),startDate,endDate);
|
||||
}else {
|
||||
//进厂
|
||||
repairTicketsReqVO.setStartDate(startDate);
|
||||
repairTicketsReqVO.setEndDate(endDate);
|
||||
}
|
||||
if(null!=idList && !idList.isEmpty()){
|
||||
repairTicketsReqVO.setIdList(idList);
|
||||
//时间查询条件置空
|
||||
repairTicketsReqVO.setStartDate(null);
|
||||
repairTicketsReqVO.setEndDate(null);
|
||||
}
|
||||
}else {
|
||||
//否则查询时间不生效,按维修状态查
|
||||
List<String> statusList = new ArrayList<>();
|
||||
if("weixiuzhong".equals(repairTicketsReqVO.getTicketsStatus())){
|
||||
//维修中
|
||||
statusList.add(TicketsStatusEnum.WORKING.getCode());
|
||||
}else if("weijiesuan".equals(repairTicketsReqVO.getTicketsStatus())){
|
||||
//未结算
|
||||
statusList = Arrays.asList("04","05","07","01");
|
||||
}else if("zaichang".equals(repairTicketsReqVO.getTicketsStatus())){
|
||||
//在厂
|
||||
statusList = Arrays.asList("04","05","07","01","06","02");
|
||||
}else if("jinchang".equals(repairTicketsReqVO.getTicketsStatus())){
|
||||
//进厂
|
||||
statusList.add(TicketsStatusEnum.NO_WORK.getCode());
|
||||
}else if("yijungong".equals(repairTicketsReqVO.getTicketsStatus())){
|
||||
//已竣工
|
||||
statusList.add(TicketsStatusEnum.WAITING_NOTICE.getCode());
|
||||
}else if("yijiaoche".equals(repairTicketsReqVO.getTicketsStatus())){
|
||||
//已交车
|
||||
statusList.add(TicketsStatusEnum.OVER.getCode());
|
||||
}
|
||||
if(!statusList.isEmpty()){
|
||||
repairTicketsReqVO.setStatusList(statusList);
|
||||
}
|
||||
}
|
||||
return baseMapper.getPageTypeAll(repairTicketsReqVO, page);
|
||||
}
|
||||
}
|
||||
@ -1550,54 +1606,86 @@ public class DlRepairTicketsServiceImpl extends ServiceImpl<DlRepairTicketsMappe
|
||||
* @date 11:30 2024/10/24
|
||||
**/
|
||||
@Override
|
||||
public Map<String, Long> getBossNum(String selectType,String startDate,String endDate) {
|
||||
Map<String, Long> rtnMap = new HashMap<>();
|
||||
public Map<String, Object> getBossNum(String selectType,String startDate,String endDate) {
|
||||
Map<String, Object> rtnMap = new HashMap<>();
|
||||
//维修中---当前这一时刻
|
||||
long workingNum = 0;
|
||||
List<String> workingIdList = new ArrayList<>();
|
||||
//在厂数--当前这一时刻
|
||||
long inCompanyNum = 0;
|
||||
List<String> inCompanyIdList = new ArrayList<>();
|
||||
//进场数
|
||||
long newOrderNum=0;
|
||||
List<String> newOrderIdList = new ArrayList<>();
|
||||
//已完成
|
||||
long overNum=0;
|
||||
List<String> overIdList = new ArrayList<>();
|
||||
//已交车
|
||||
long giveCusNum=0;
|
||||
List<String> giveCusIdList = new ArrayList<>();
|
||||
//未结算
|
||||
long noPayNum=0;
|
||||
List<String> noPayIdList = new ArrayList<>();
|
||||
List<DlRepairTickets> repairTickets = this.list();
|
||||
if (!repairTickets.isEmpty()) {
|
||||
workingNum = repairTickets.stream().filter(item -> TicketsStatusEnum.WORKING.getCode().equals(item.getTicketsStatus())).count();
|
||||
inCompanyNum = repairTickets.stream().filter(item -> TicketsStatusEnum.NO_PAY.getCode().equals(item.getTicketsStatus())).count();
|
||||
workingIdList = repairTickets.stream().filter(item -> TicketsStatusEnum.WORKING.getCode().equals(item.getTicketsStatus())).map(DlRepairTickets::getId).collect(Collectors.toList());
|
||||
workingNum = workingIdList.size();
|
||||
//只要没交车都算在厂
|
||||
List<String> inCompanyCodeList = Arrays.asList("04","05","07","01","06","02");
|
||||
inCompanyIdList = repairTickets.stream().filter(item -> inCompanyCodeList.contains(item.getTicketsStatus())).map(DlRepairTickets::getId).collect(Collectors.toList());
|
||||
inCompanyNum = inCompanyIdList.size();
|
||||
//只要没结算,都是未结算
|
||||
List<String> noPayCodeList = Arrays.asList("04","05","07","01");
|
||||
noPayIdList = repairTickets.stream().filter(item -> noPayCodeList.contains(item.getTicketsStatus())).map(DlRepairTickets::getId).collect(Collectors.toList());
|
||||
noPayNum = noPayIdList.size();
|
||||
LocalDateTime currentTime = LocalDateTime.now();
|
||||
if("today".equals(selectType)){
|
||||
String nowDayStr = DateUtil.formatDate(new Date());
|
||||
//查当日进厂数、已完成、已交车
|
||||
newOrderNum = repairTickets.stream().filter(item -> item.getCreateTime().toLocalDate().equals(currentTime.toLocalDate())).count();
|
||||
newOrderIdList = repairTickets.stream().filter(item -> item.getCreateTime().toLocalDate().equals(currentTime.toLocalDate())).map(DlRepairTickets::getId).collect(Collectors.toList());
|
||||
newOrderNum = newOrderIdList.size();
|
||||
//查当日已完成的(总检完成的)
|
||||
overNum = repairTicketsMapper.selectCountByParams(nowDayStr,RecordTypeEnum.ZJ.getCode(),null,null);
|
||||
//查当日已交车的(已结算的)
|
||||
giveCusNum = repairTicketsMapper.selectCountByParams(nowDayStr,RecordTypeEnum.JS.getCode(),null,null);
|
||||
overIdList = repairTicketsMapper.selectTicketIdByParams(nowDayStr,RecordTypeEnum.ZJ.getCode(),null,null);
|
||||
overNum = overIdList.size();
|
||||
//查当日已交车的
|
||||
giveCusIdList = repairTicketsMapper.selectTicketIdByParams(nowDayStr,RecordTypeEnum.JC.getCode(),null,null);
|
||||
giveCusNum = giveCusIdList.size();
|
||||
}else if("all".equals(selectType)){
|
||||
//查累计进厂数、已完成、已交车
|
||||
newOrderIdList = repairTickets.stream().map(DlRepairTickets::getId).collect(Collectors.toList());
|
||||
newOrderNum = repairTickets.size();
|
||||
//查累计已完成的(总检完成的)
|
||||
overNum = repairTicketsMapper.selectCountByParams(null,RecordTypeEnum.ZJ.getCode(),null,null);
|
||||
overIdList = repairTicketsMapper.selectTicketIdByParams(null,RecordTypeEnum.ZJ.getCode(),null,null);
|
||||
overNum = overIdList.size();
|
||||
//查累计已交车的(已结算的)
|
||||
giveCusNum = repairTicketsMapper.selectCountByParams(null,RecordTypeEnum.JS.getCode(),null,null);
|
||||
giveCusIdList = repairTicketsMapper.selectTicketIdByParams(null,RecordTypeEnum.JC.getCode(),null,null);
|
||||
giveCusNum = giveCusIdList.size();
|
||||
}else {
|
||||
//查某个时间范围内进厂数、已完成、已交车
|
||||
LocalDateTime startTime = LocalDateTime.parse(startDate+" 00:00:00", DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
|
||||
LocalDateTime endTime = LocalDateTime.parse(endDate+" 23:59:59", DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
|
||||
newOrderNum = repairTickets.stream().filter(item -> item.getCreateTime().isAfter(startTime) && item.getCreateTime().isBefore(endTime)).count();
|
||||
newOrderIdList = repairTickets.stream().filter(item -> item.getCreateTime().isAfter(startTime) && item.getCreateTime().isBefore(endTime)).map(DlRepairTickets::getId).collect(Collectors.toList());
|
||||
newOrderNum = newOrderIdList.size();
|
||||
//查某区间范围内已完成的(总检完成的)
|
||||
overNum = repairTicketsMapper.selectCountByParams(null,RecordTypeEnum.ZJ.getCode(), startDate+" 00:00:00", endDate+" 23:59:59");
|
||||
//查某区间范围内已交车的(已结算的)
|
||||
giveCusNum = repairTicketsMapper.selectCountByParams(null,RecordTypeEnum.JS.getCode(), startDate+" 00:00:00", endDate+" 23:59:59");
|
||||
overIdList = repairTicketsMapper.selectTicketIdByParams(null,RecordTypeEnum.ZJ.getCode(), startDate+" 00:00:00", endDate+" 23:59:59");
|
||||
overNum = overIdList.size();
|
||||
//查某区间范围内已交车的
|
||||
giveCusIdList = repairTicketsMapper.selectTicketIdByParams(null,RecordTypeEnum.JC.getCode(), startDate+" 00:00:00", endDate+" 23:59:59");
|
||||
giveCusNum = giveCusIdList.size();
|
||||
}
|
||||
}
|
||||
rtnMap.put("workingNum", workingNum);
|
||||
rtnMap.put("workingIdList", workingIdList);
|
||||
rtnMap.put("inCompanyNum", inCompanyNum);
|
||||
rtnMap.put("inCompanyIdList", inCompanyIdList);
|
||||
rtnMap.put("newOrderNum", newOrderNum);
|
||||
rtnMap.put("newOrderIdList", newOrderIdList);
|
||||
rtnMap.put("overNum", overNum);
|
||||
rtnMap.put("overIdList", overIdList);
|
||||
rtnMap.put("giveCusNum", giveCusNum);
|
||||
rtnMap.put("giveCusIdList", giveCusIdList);
|
||||
rtnMap.put("noPayNum", noPayNum);
|
||||
rtnMap.put("noPayIdList", noPayIdList);
|
||||
return rtnMap;
|
||||
}
|
||||
|
||||
|
@ -42,4 +42,14 @@ public class DlRepairTicketsReqVO extends DlRepairTickets {
|
||||
|
||||
/** 客户来源 */
|
||||
private String cusFrom;
|
||||
|
||||
/** 查询开始日期 */
|
||||
private String startDate;
|
||||
/** 查询结束日期 */
|
||||
private String endDate;
|
||||
|
||||
/** 工单状态集和 */
|
||||
private List<String> statusList;
|
||||
/** 工单id集和 */
|
||||
private List<String> idList;
|
||||
}
|
||||
|
@ -369,11 +369,28 @@
|
||||
)
|
||||
</if>
|
||||
<if test="map.searchTimeArray != null and map.searchTimeArray.length > 0">
|
||||
and drt.create_time between #{map.searchTimeArray[0]} and #{map.searchTimeArray[1]}
|
||||
and (drt.create_time between #{map.searchTimeArray[0]} and #{map.searchTimeArray[1]})
|
||||
</if>
|
||||
<if test="map.startDate != null and map.startDate != ''">
|
||||
and (drt.create_time >= #{map.startDate} and drt.create_time <= #{map.endDate})
|
||||
</if>
|
||||
<if test="map.repairType !=null and map.repairType !=''">
|
||||
AND (drt.repair_type=#{map.repairType})
|
||||
</if>
|
||||
<if test="map.statusList !=null and map.statusList.size > 0">
|
||||
AND (drt.tickets_status IN
|
||||
<foreach collection="map.statusList" item="item" index="index" open="(" close=")" separator=",">
|
||||
#{item}
|
||||
</foreach>
|
||||
)
|
||||
</if>
|
||||
<if test="map.idList !=null and map.idList.size > 0">
|
||||
AND (drt.id IN
|
||||
<foreach collection="map.idList" item="item" index="index" open="(" close=")" separator=",">
|
||||
#{item}
|
||||
</foreach>
|
||||
)
|
||||
</if>
|
||||
<if test="map.cusFrom != null and map.cusFrom!=''">
|
||||
<choose>
|
||||
<when test="map.cusFrom == '06'">
|
||||
@ -405,9 +422,10 @@
|
||||
GROUP BY drt.id
|
||||
order by drt.update_time desc
|
||||
</select>
|
||||
<select id="selectCountByParams" resultType="java.lang.Long">
|
||||
|
||||
<select id="selectTicketIdByParams" resultType="java.lang.String">
|
||||
SELECT
|
||||
COUNT(DISTINCT drt.id)
|
||||
DISTINCT drt.id
|
||||
FROM
|
||||
dl_repair_tickets drt
|
||||
LEFT JOIN dl_repair_records drr ON drt.id = drr.ticket_id
|
||||
|
@ -193,7 +193,6 @@ public class SysLoginController {
|
||||
return success(loginService.login(authLoginReqVO));
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 汽修小程序登录方法
|
||||
*
|
||||
|
@ -40,4 +40,11 @@ public interface RoleApi {
|
||||
**/
|
||||
List<UserDTO> selectUserListByRoleCode(Long tenantId,String code);
|
||||
|
||||
/**
|
||||
* 通过角色id查询角色
|
||||
*
|
||||
* @author 小李
|
||||
* @date 13:21 2024/12/17
|
||||
**/
|
||||
Long selectListByRoleId();
|
||||
}
|
||||
|
@ -162,4 +162,13 @@ public interface AdminUserApi {
|
||||
**/
|
||||
void setOpenId(Long userId,String openId);
|
||||
|
||||
/**
|
||||
* 更新用户信息,慎用!
|
||||
*
|
||||
* @author 小李
|
||||
* @date 11:47 2024/12/20
|
||||
* @param newUser 新用户信息
|
||||
**/
|
||||
void updateUser(AdminUserRespDTO newUser);
|
||||
|
||||
}
|
||||
|
@ -3,8 +3,10 @@ package cn.iocoder.yudao.module.system.api.permission;
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import cn.iocoder.yudao.module.system.api.permission.dto.RoleReqDTO;
|
||||
import cn.iocoder.yudao.module.system.api.user.dto.UserDTO;
|
||||
import cn.iocoder.yudao.module.system.controller.admin.permission.vo.role.RolePageReqVO;
|
||||
import cn.iocoder.yudao.module.system.dal.dataobject.permission.RoleDO;
|
||||
import cn.iocoder.yudao.module.system.service.permission.RoleService;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
@ -64,4 +66,19 @@ public class RoleApiImpl implements RoleApi {
|
||||
public List<UserDTO> selectUserListByRoleCode(Long tenantId,String code) {
|
||||
return roleService.selectByRoleCode(tenantId,code);
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过角色id查询角色
|
||||
*
|
||||
* @author 小李
|
||||
* @date 13:21 2024/12/17
|
||||
**/
|
||||
@Override
|
||||
public Long selectListByRoleId(){
|
||||
RolePageReqVO rolePageReqVO = new RolePageReqVO();
|
||||
rolePageReqVO.setPageNo(1);
|
||||
rolePageReqVO.setPageSize(1000);
|
||||
IPage<UserDTO> userDTOIPage = roleService.selectListByRoleId(rolePageReqVO);
|
||||
return userDTOIPage.getTotal();
|
||||
}
|
||||
}
|
||||
|
@ -195,4 +195,17 @@ public class AdminUserApiImpl implements AdminUserApi {
|
||||
userService.setOpenId(userId, openId);
|
||||
}
|
||||
|
||||
/**
|
||||
* 更新用户信息,慎用!
|
||||
*
|
||||
* @author 小李
|
||||
* @date 11:47 2024/12/20
|
||||
* @param newUser 新用户信息
|
||||
**/
|
||||
@Override
|
||||
public void updateUser(AdminUserRespDTO newUser){
|
||||
AdminUserDO bean = BeanUtil.toBean(newUser, AdminUserDO.class);
|
||||
userService.updateById(bean);
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -117,7 +117,7 @@ public class AuthController {
|
||||
if (loginBody.getTypes().equals("3") && !roleNames.contains("教练")){
|
||||
return error(new ErrorCode(2_002_000_005, "当前登录用户未分配教练角色"));
|
||||
}
|
||||
if (loginBody.getTypes().equals("2") && !roleNames.contains("驾校管理员")){
|
||||
if (loginBody.getTypes().equals("2") && !roleNames.contains("驾校业务管理员")){
|
||||
return error(new ErrorCode(2_002_000_005, "当前登录用户未分配驾校管理员角色"));
|
||||
}
|
||||
|
||||
|
@ -40,6 +40,7 @@ import org.springframework.util.StringUtils;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import static cn.iocoder.yudao.framework.common.config.CommonStr.SUPER_ADMIN_ID;
|
||||
import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
|
||||
@ -349,8 +350,10 @@ public class RoleServiceImpl implements RoleService {
|
||||
*/
|
||||
@Override
|
||||
public List<RoleDO> pageByQuery(RoleDO roleDO) {
|
||||
return roleMapper.selectList(new LambdaQueryWrapper<RoleDO>()
|
||||
//去年检测用户
|
||||
List<RoleDO> roleDOS = roleMapper.selectList(new LambdaQueryWrapper<RoleDO>()
|
||||
.eq(RoleDO::getServicePackageId, roleDO.getServicePackageId()));
|
||||
return roleDOS.stream().filter(item -> !item.getCode().equals("jcyh")).collect(Collectors.toList());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -26,7 +26,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
left join system_user_role sr on su.id = sr.user_id
|
||||
left join system_role sr2 on sr.role_id = sr2.id
|
||||
<where>
|
||||
su.deleted = 0 and sr2.service_package_id = 'jiance'
|
||||
su.deleted = 0 and sr2.service_package_id = 'jiance' and sr2.code != 'jcyh'
|
||||
<if test="role.roleId != null">
|
||||
and sr.role_id = #{role.roleId}
|
||||
</if>
|
||||
|
@ -303,6 +303,9 @@ yudao:
|
||||
- /app-api/** #小程序端接口,不区分租户
|
||||
- /repair/tickets/print/**
|
||||
- /admin-api/repair/tickets/print/**
|
||||
- /admin-api/jx/auth/**
|
||||
- /admin-api/jx/**
|
||||
- /admin-api/jx/auth/getAppInfo
|
||||
ignore-tables:
|
||||
- system_tenant
|
||||
- system_tenant_package
|
||||
|
Loading…
Reference in New Issue
Block a user