更新
This commit is contained in:
parent
b88a1b13d5
commit
11973d88e2
@ -1,26 +1,32 @@
|
|||||||
package cn.iocoder.yudao.module.inspection.controller;
|
package cn.iocoder.yudao.module.inspection.controller;
|
||||||
|
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.util.Arrays;
|
||||||
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
import javax.servlet.http.HttpServletResponse;
|
import javax.servlet.http.HttpServletResponse;
|
||||||
|
|
||||||
import cn.hutool.core.util.ObjectUtil;
|
import cn.hutool.core.util.ObjectUtil;
|
||||||
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
|
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
|
||||||
|
import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils;
|
||||||
import cn.iocoder.yudao.module.inspection.service.AppInspectionPartnerService;
|
import cn.iocoder.yudao.module.inspection.service.AppInspectionPartnerService;
|
||||||
|
import cn.iocoder.yudao.module.inspection.vo.InspectionEqInfoImportVo;
|
||||||
|
import cn.iocoder.yudao.module.inspection.vo.StaffImportExcelVO;
|
||||||
import cn.iocoder.yudao.module.shop.entity.ShopMallPartners;
|
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.util.ExcelUtil;
|
import cn.iocoder.yudao.util.ExcelUtil;
|
||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.web.bind.annotation.GetMapping;
|
import org.springframework.web.bind.annotation.*;
|
||||||
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 cn.iocoder.yudao.module.core.controller.BaseController;
|
import cn.iocoder.yudao.module.core.controller.BaseController;
|
||||||
import cn.iocoder.yudao.module.inspection.entity.InspectionEquInfo;
|
import cn.iocoder.yudao.module.inspection.entity.InspectionEquInfo;
|
||||||
import cn.iocoder.yudao.module.inspection.service.IInspectionEquInfoService;
|
import cn.iocoder.yudao.module.inspection.service.IInspectionEquInfoService;
|
||||||
|
import org.springframework.web.multipart.MultipartFile;
|
||||||
|
|
||||||
|
import static cn.iocoder.yudao.framework.excel.core.util.ExcelUtils.exportBlankTemplate;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* equInfoController
|
* equInfoController
|
||||||
@ -30,25 +36,26 @@ import cn.iocoder.yudao.module.inspection.service.IInspectionEquInfoService;
|
|||||||
*/
|
*/
|
||||||
@RestController
|
@RestController
|
||||||
@RequestMapping("/admin-api/system/equInfo")
|
@RequestMapping("/admin-api/system/equInfo")
|
||||||
public class InspectionEquInfoController extends BaseController
|
public class InspectionEquInfoController extends BaseController {
|
||||||
{
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private IInspectionEquInfoService inspectionEquInfoService;
|
private IInspectionEquInfoService inspectionEquInfoService;
|
||||||
@Autowired
|
@Autowired
|
||||||
private AppInspectionPartnerService partnerService;
|
private AppInspectionPartnerService partnerService;
|
||||||
|
@Autowired
|
||||||
|
private DictDataApi dictDataApi;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询equInfo列表
|
* 查询equInfo列表
|
||||||
*/
|
*/
|
||||||
@GetMapping("/list")
|
@GetMapping("/list")
|
||||||
public CommonResult list(Integer pageNum,Integer pageSize,InspectionEquInfo inspectionEquInfo) throws Exception {
|
public CommonResult list(Integer pageNum, Integer pageSize, InspectionEquInfo inspectionEquInfo) throws Exception {
|
||||||
|
|
||||||
Page page =new Page(pageNum,pageSize);
|
Page page = new Page(pageNum, pageSize);
|
||||||
if (ObjectUtil.isNull(inspectionEquInfo.getPartnerId())) {
|
if (ObjectUtil.isNull(inspectionEquInfo.getPartnerId())) {
|
||||||
ShopMallPartners partners = partnerService.shopInfoByUserId();
|
ShopMallPartners partners = partnerService.shopInfoByUserId();
|
||||||
inspectionEquInfo.setPartnerId(partners.getPartnerId());
|
inspectionEquInfo.setPartnerId(partners.getPartnerId());
|
||||||
}
|
}
|
||||||
IPage<InspectionEquInfo> list = inspectionEquInfoService.selectInspectionEquInfoList(page,inspectionEquInfo);
|
IPage<InspectionEquInfo> list = inspectionEquInfoService.selectInspectionEquInfoList(page, inspectionEquInfo);
|
||||||
return success(list);
|
return success(list);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -56,10 +63,9 @@ public class InspectionEquInfoController extends BaseController
|
|||||||
* 导出equInfo列表
|
* 导出equInfo列表
|
||||||
*/
|
*/
|
||||||
@PostMapping("/export")
|
@PostMapping("/export")
|
||||||
public void export(HttpServletResponse response, InspectionEquInfo inspectionEquInfo)
|
public void export(HttpServletResponse response, InspectionEquInfo inspectionEquInfo) {
|
||||||
{
|
Page page = new Page(1, 100000);
|
||||||
Page page =new Page(1,100000);
|
IPage<InspectionEquInfo> list = inspectionEquInfoService.selectInspectionEquInfoList(page, inspectionEquInfo);
|
||||||
IPage<InspectionEquInfo> list = inspectionEquInfoService.selectInspectionEquInfoList(page,inspectionEquInfo);
|
|
||||||
ExcelUtil<InspectionEquInfo> util = new ExcelUtil<InspectionEquInfo>(InspectionEquInfo.class);
|
ExcelUtil<InspectionEquInfo> util = new ExcelUtil<InspectionEquInfo>(InspectionEquInfo.class);
|
||||||
util.exportExcel(response, list.getRecords(), "equInfo数据");
|
util.exportExcel(response, list.getRecords(), "equInfo数据");
|
||||||
}
|
}
|
||||||
@ -68,8 +74,7 @@ public class InspectionEquInfoController extends BaseController
|
|||||||
* 获取equInfo详细信息
|
* 获取equInfo详细信息
|
||||||
*/
|
*/
|
||||||
@GetMapping(value = "/{id}")
|
@GetMapping(value = "/{id}")
|
||||||
public CommonResult getInfo(@PathVariable("id") Long id)
|
public CommonResult getInfo(@PathVariable("id") Long id) {
|
||||||
{
|
|
||||||
return success(inspectionEquInfoService.selectInspectionEquInfoById(id));
|
return success(inspectionEquInfoService.selectInspectionEquInfoById(id));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -90,7 +95,7 @@ public class InspectionEquInfoController extends BaseController
|
|||||||
public CommonResult edit(@RequestBody InspectionEquInfo inspectionEquInfo) throws Exception {
|
public CommonResult edit(@RequestBody InspectionEquInfo inspectionEquInfo) throws Exception {
|
||||||
ShopMallPartners partners = partnerService.shopInfo();
|
ShopMallPartners partners = partnerService.shopInfo();
|
||||||
InspectionEquInfo inspectionEquInfo1 = inspectionEquInfoService.selectInspectionEquInfoById(inspectionEquInfo.getId());
|
InspectionEquInfo inspectionEquInfo1 = inspectionEquInfoService.selectInspectionEquInfoById(inspectionEquInfo.getId());
|
||||||
if (!partners.getPartnerId().equals(inspectionEquInfo1.getPartnerId())){
|
if (!partners.getPartnerId().equals(inspectionEquInfo1.getPartnerId())) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
return toAjax(inspectionEquInfoService.updateInspectionEquInfo(inspectionEquInfo));
|
return toAjax(inspectionEquInfoService.updateInspectionEquInfo(inspectionEquInfo));
|
||||||
@ -99,13 +104,63 @@ public class InspectionEquInfoController extends BaseController
|
|||||||
/**
|
/**
|
||||||
* 删除equInfo
|
* 删除equInfo
|
||||||
*/
|
*/
|
||||||
@DeleteMapping("/{id}")
|
@DeleteMapping("/{id}")
|
||||||
public CommonResult remove(@PathVariable Long id) throws Exception {
|
public CommonResult remove(@PathVariable Long id) throws Exception {
|
||||||
ShopMallPartners partners = partnerService.shopInfo();
|
ShopMallPartners partners = partnerService.shopInfo();
|
||||||
InspectionEquInfo inspectionEquInfo1 = inspectionEquInfoService.selectInspectionEquInfoById(id);
|
InspectionEquInfo inspectionEquInfo1 = inspectionEquInfoService.selectInspectionEquInfoById(id);
|
||||||
if (!partners.getPartnerId().equals(inspectionEquInfo1.getPartnerId())){
|
if (!partners.getPartnerId().equals(inspectionEquInfo1.getPartnerId())) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
return toAjax(inspectionEquInfoService.deleteInspectionEquInfoById(id));
|
return toAjax(inspectionEquInfoService.deleteInspectionEquInfoById(id));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 导入模板
|
||||||
|
*
|
||||||
|
* @param response 响应
|
||||||
|
* @throws IOException IOException
|
||||||
|
*/
|
||||||
|
@PostMapping("/importTemplate")
|
||||||
|
public void importTemplate(HttpServletResponse response) throws IOException {
|
||||||
|
// 表头
|
||||||
|
String[] head = {"设备名称", "设备类型", "型号", "出厂编号", "校准日期", "复校日期", "证书编号", "制造商", "校准单位", "电话", "地址", "邮编", "电子邮箱"};
|
||||||
|
|
||||||
|
// 下拉框列及选项:列索引 -> 下拉框选项
|
||||||
|
Map<Integer, String[]> dropdownColumns = new HashMap<>();
|
||||||
|
|
||||||
|
// 查询设备类型
|
||||||
|
List<DictDataRespDTO> eqType = dictDataApi.getDictDataList("ins_equ_type");
|
||||||
|
if (eqType != null && !eqType.isEmpty()) {
|
||||||
|
String[] array1 = eqType.stream()
|
||||||
|
.map(DictDataRespDTO::getLabel)
|
||||||
|
.toArray(String[]::new);
|
||||||
|
dropdownColumns.put(1, array1); // 设备类型列
|
||||||
|
}
|
||||||
|
|
||||||
|
// 示例数据(此处为自定义示例行,可根据实际需求修改)
|
||||||
|
List<List<String>> exampleDataList = Arrays.asList(
|
||||||
|
Arrays.asList("示例设备", "请在下拉框中选择", "示例型号", "示例出厂编号", "2023/1/1", "2023/12/31", "123456", "示例制造商", "示例校准单位", "1234567890", "示例地址", "12345", "example@email.com")
|
||||||
|
);
|
||||||
|
|
||||||
|
// 调用方法导出空白模板
|
||||||
|
exportBlankTemplate(response, "eq_template.xlsx", "设备信息", head, dropdownColumns, true, null, null);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 导入设备信息
|
||||||
|
*
|
||||||
|
* @param file 文件
|
||||||
|
* @return 导入结果
|
||||||
|
*/
|
||||||
|
@PostMapping("/importEquipment")
|
||||||
|
public CommonResult<Map<String, Object>> importEquipment(@RequestParam("file") MultipartFile file) {
|
||||||
|
try {
|
||||||
|
List<InspectionEqInfoImportVo> list = ExcelUtils.read(file, InspectionEqInfoImportVo.class);
|
||||||
|
return success(inspectionEquInfoService.importStaff(list));
|
||||||
|
} catch (Exception e) {
|
||||||
|
throw new RuntimeException(e.getMessage());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -58,9 +58,9 @@ public class InspectionStaffController extends BaseController {
|
|||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
@GetMapping("/list")
|
@GetMapping("/list")
|
||||||
public CommonResult list(InspectionStaffQuery query,
|
public CommonResult<?> list(InspectionStaffQuery query,
|
||||||
@RequestParam(value = "pageNo", required = false, defaultValue = "1") Integer pageNum,
|
@RequestParam(value = "pageNo", required = false, defaultValue = "1") Integer pageNum,
|
||||||
@RequestParam(value = "pageSize", required = false, defaultValue = "10") Integer pageSize) {
|
@RequestParam(value = "pageSize", required = false, defaultValue = "10") Integer pageSize) {
|
||||||
Page<InspectionStaffSaveVo> page = new Page<>(pageNum, pageSize);
|
Page<InspectionStaffSaveVo> page = new Page<>(pageNum, pageSize);
|
||||||
IPage<InspectionStaffSaveVo> list = inspectionStaffService.getList(page, query);
|
IPage<InspectionStaffSaveVo> list = inspectionStaffService.getList(page, query);
|
||||||
return success(list);
|
return success(list);
|
||||||
@ -73,7 +73,7 @@ public class InspectionStaffController extends BaseController {
|
|||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
@GetMapping("/get")
|
@GetMapping("/get")
|
||||||
public CommonResult get(Long id) {
|
public CommonResult<?> get(Long id) {
|
||||||
return success(inspectionStaffService.get(id));
|
return success(inspectionStaffService.get(id));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -84,7 +84,7 @@ public class InspectionStaffController extends BaseController {
|
|||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
@PostMapping("/save")
|
@PostMapping("/save")
|
||||||
public CommonResult save(@RequestBody InspectionStaffSaveVo inspectionStaff) {
|
public CommonResult<?> save(@RequestBody InspectionStaffSaveVo inspectionStaff) {
|
||||||
//校验
|
//校验
|
||||||
verify(inspectionStaff);
|
verify(inspectionStaff);
|
||||||
return success(inspectionStaffService.saveInspectionStaff(inspectionStaff));
|
return success(inspectionStaffService.saveInspectionStaff(inspectionStaff));
|
||||||
@ -97,7 +97,7 @@ public class InspectionStaffController extends BaseController {
|
|||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
@PutMapping("/update")
|
@PutMapping("/update")
|
||||||
public CommonResult update(@RequestBody InspectionStaffSaveVo inspectionStaff) {
|
public CommonResult<?> update(@RequestBody InspectionStaffSaveVo inspectionStaff) {
|
||||||
Assert.notNull(inspectionStaff.getUserId(), "员工id不能为空");
|
Assert.notNull(inspectionStaff.getUserId(), "员工id不能为空");
|
||||||
//校验
|
//校验
|
||||||
verify(inspectionStaff);
|
verify(inspectionStaff);
|
||||||
@ -112,23 +112,7 @@ public class InspectionStaffController extends BaseController {
|
|||||||
*/
|
*/
|
||||||
@GetMapping("/get-import-template")
|
@GetMapping("/get-import-template")
|
||||||
public void importTemplate(HttpServletResponse response) throws IOException {
|
public void importTemplate(HttpServletResponse response) throws IOException {
|
||||||
Map<Integer, String> headerMap = new HashMap<>();
|
String[] head = {"部门名称", "员工姓名", "岗位", "身份证号码", "居住地址", "学历", "毕业院校", "电话号码", "短号", "入职时间", "试用期", "社保购买日期", "紧急联系人", "紧急联系人电话", "驾驶证类型", "备注"};
|
||||||
headerMap.put(0, "部门名称");
|
|
||||||
headerMap.put(1, "员工姓名");
|
|
||||||
headerMap.put(2, "岗位");
|
|
||||||
headerMap.put(3, "身份证号码");
|
|
||||||
headerMap.put(4, "居住地址");
|
|
||||||
headerMap.put(5, "学历");
|
|
||||||
headerMap.put(6, "毕业院校");
|
|
||||||
headerMap.put(7, "电话号码");
|
|
||||||
headerMap.put(8, "短号");
|
|
||||||
headerMap.put(9, "入职时间");
|
|
||||||
headerMap.put(10, "试用期");
|
|
||||||
headerMap.put(11, "社保购买日期");
|
|
||||||
headerMap.put(12, "紧急联系人");
|
|
||||||
headerMap.put(13, "紧急联系人电话");
|
|
||||||
headerMap.put(14, "驾驶证类型");
|
|
||||||
headerMap.put(15, "备注");
|
|
||||||
|
|
||||||
// 下拉框列及选项:列索引 -> 下拉框选项
|
// 下拉框列及选项:列索引 -> 下拉框选项
|
||||||
Map<Integer, String[]> dropdownColumns = new HashMap<>();
|
Map<Integer, String[]> dropdownColumns = new HashMap<>();
|
||||||
@ -151,16 +135,14 @@ public class InspectionStaffController extends BaseController {
|
|||||||
|
|
||||||
dropdownColumns.put(2, roles);
|
dropdownColumns.put(2, roles);
|
||||||
|
|
||||||
int[] dateColumns = {9, 10, 11};
|
|
||||||
|
|
||||||
List<List<String>> exampleDataList = Arrays.asList(
|
List<List<String>> exampleDataList = Arrays.asList(
|
||||||
Arrays.asList("测试部门", "测试员工","岗位时下拉框选择","xxxxxxxxxxxxxxxxx","居住地","学历是下拉框","xxx学校","手机号","短号","2023/5/2(日期格式)","2023/5/2(日期格式)","2023/5/2(日期格式","紧急联系人","xxxxxxxx","A1,C1(有多个驾驶证类型使用逗号分割)","备注")
|
Arrays.asList("测试部门", "测试员工", "岗位时下拉框选择", "xxxxxxxxxxxxxxxxx", "居住地", "学历是下拉框", "xxx学校", "手机号", "短号", "2023/5/2(日期格式)", "2023/5/2(日期格式)", "2023/5/2(日期格式", "紧急联系人", "xxxxxxxx", "A1,C1(有多个驾驶证类型使用逗号分割)", "备注")
|
||||||
);
|
);
|
||||||
|
|
||||||
List<Integer> textColumns = Collections.singletonList(3);
|
List<Integer> textColumns = Collections.singletonList(3);
|
||||||
|
|
||||||
// 导出空白模板到Excel
|
// 导出空白模板到Excel
|
||||||
exportBlankTemplate(response, "staff_template.xlsx", "员工信息", headerMap, dropdownColumns, dateColumns, true, exampleDataList,textColumns);
|
exportBlankTemplate(response, "staff_template.xlsx", "员工信息", head, dropdownColumns, true, exampleDataList, textColumns);
|
||||||
}
|
}
|
||||||
|
|
||||||
@GetMapping("/export")
|
@GetMapping("/export")
|
||||||
@ -177,7 +159,7 @@ public class InspectionStaffController extends BaseController {
|
|||||||
* 导入
|
* 导入
|
||||||
*/
|
*/
|
||||||
@PostMapping("/import")
|
@PostMapping("/import")
|
||||||
public CommonResult importUser(@RequestParam("file") MultipartFile file) {
|
public CommonResult<?> importUser(@RequestParam("file") MultipartFile file) {
|
||||||
try {
|
try {
|
||||||
List<StaffImportExcelVO> list = ExcelUtils.read(file, StaffImportExcelVO.class);
|
List<StaffImportExcelVO> list = ExcelUtils.read(file, StaffImportExcelVO.class);
|
||||||
Map<String, Object> map = inspectionStaffService.importStaff(list);
|
Map<String, Object> map = inspectionStaffService.importStaff(list);
|
||||||
|
@ -9,6 +9,8 @@ import cn.iocoder.yudao.module.inspection.entity.InspectionEquInfo;
|
|||||||
import cn.iocoder.yudao.module.inspection.entity.InspectionFile;
|
import cn.iocoder.yudao.module.inspection.entity.InspectionFile;
|
||||||
import cn.iocoder.yudao.module.inspection.service.IInspectionEquInfoService;
|
import cn.iocoder.yudao.module.inspection.service.IInspectionEquInfoService;
|
||||||
import cn.iocoder.yudao.module.inspection.service.IInspectionFileService;
|
import cn.iocoder.yudao.module.inspection.service.IInspectionFileService;
|
||||||
|
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.PermissionApi;
|
||||||
import cn.iocoder.yudao.module.system.api.permission.RoleApi;
|
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.api.permission.dto.RoleReqDTO;
|
||||||
@ -53,6 +55,9 @@ public class InspectionUtilController {
|
|||||||
@Resource
|
@Resource
|
||||||
private WorkReportService workReportService;
|
private WorkReportService workReportService;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private DictDataApi dictDataApi;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 根据用户取出当前用户的角色,只针对检测
|
* 根据用户取出当前用户的角色,只针对检测
|
||||||
*
|
*
|
||||||
@ -99,10 +104,24 @@ public class InspectionUtilController {
|
|||||||
map.put("equ", equs.getTotal());
|
map.put("equ", equs.getTotal());
|
||||||
long fileCount = fileService.count(new LambdaQueryWrapper<InspectionFile>().eq(InspectionFile::getType, "2"));
|
long fileCount = fileService.count(new LambdaQueryWrapper<InspectionFile>().eq(InspectionFile::getType, "2"));
|
||||||
map.put("file", fileCount);
|
map.put("file", fileCount);
|
||||||
|
|
||||||
//查询汇报数量
|
//查询汇报数量
|
||||||
WorkReportPageReqVO workReportPageReqVO = new WorkReportPageReqVO();
|
WorkReportPageReqVO workReportPageReqVO = new WorkReportPageReqVO();
|
||||||
workReportPageReqVO.setUserId(SecurityFrameworkUtils.getLoginUserId());
|
workReportPageReqVO.setUserId(SecurityFrameworkUtils.getLoginUserId());
|
||||||
workReportPageReqVO.setServicePackageId("jiance");
|
workReportPageReqVO.setServicePackageId("jiance");
|
||||||
|
//根据dictType查询角色
|
||||||
|
List<DictDataRespDTO> roleList = dictDataApi.getDictDataList("ins_high_rise");
|
||||||
|
//公司高层角色code集合
|
||||||
|
List<String> codes = roleList.stream().map(DictDataRespDTO::getValue).collect(Collectors.toList());
|
||||||
|
|
||||||
|
Map<Long, List<String>> longListMap = permissionApi.roleCodesByUserIds(Collections.singletonList(SecurityFrameworkUtils.getLoginUserId()));
|
||||||
|
List<String> roleKey = longListMap.get(SecurityFrameworkUtils.getLoginUserId());
|
||||||
|
|
||||||
|
//判断当前登陆人的角色是否是公司高层
|
||||||
|
boolean isCompanyLeader = roleKey != null && roleKey.stream().anyMatch(codes::contains);
|
||||||
|
if (isCompanyLeader) {
|
||||||
|
workReportPageReqVO.setUserId(null);
|
||||||
|
}
|
||||||
Long reportCount = workReportService.queryReportCount(workReportPageReqVO);
|
Long reportCount = workReportService.queryReportCount(workReportPageReqVO);
|
||||||
map.put("report", reportCount);
|
map.put("report", reportCount);
|
||||||
return success(map);
|
return success(map);
|
||||||
|
@ -762,6 +762,18 @@ public class PartnerOwnController extends BaseController {
|
|||||||
return success(partnerList.staticsTable5(partners.getPartnerId(), startTime, endTime));
|
return success(partnerList.staticsTable5(partners.getPartnerId(), startTime, endTime));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询检测类型统计
|
||||||
|
*
|
||||||
|
* @param startTime 开始时间
|
||||||
|
* @param endTime 结束时间
|
||||||
|
* @return 结果
|
||||||
|
*/
|
||||||
|
@GetMapping("/queryInspectionSkuList")
|
||||||
|
public CommonResult<?> queryInspectionSkuList(String startTime, String endTime) {
|
||||||
|
return success(partnerList.queryInspectionSkuList(startTime, endTime));
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 根据inspection_info的id查有的项目名称
|
* 根据inspection_info的id查有的项目名称
|
||||||
*
|
*
|
||||||
@ -797,16 +809,27 @@ public class PartnerOwnController extends BaseController {
|
|||||||
/**
|
/**
|
||||||
* 分类计数
|
* 分类计数
|
||||||
*
|
*
|
||||||
|
* @param startTime 开始时间
|
||||||
|
* @param endTime 结束时间
|
||||||
|
* @param chooseStatus 状态
|
||||||
* @author 小李
|
* @author 小李
|
||||||
* @date 17:14 2024/12/16
|
* @date 17:14 2024/12/16
|
||||||
* @param startTime 开始时间
|
**/
|
||||||
* @param endTime 结束时间
|
|
||||||
* @param chooseStatus 状态
|
|
||||||
**/
|
|
||||||
@GetMapping("/getTypeCount")
|
@GetMapping("/getTypeCount")
|
||||||
public CommonResult<?> getTypeCount(@RequestParam(value = "startTime", required = false) String startTime,
|
public CommonResult<?> getTypeCount(@RequestParam(value = "startTime", required = false) String startTime,
|
||||||
@RequestParam(value = "endTime", required = false) String endTime,
|
@RequestParam(value = "endTime", required = false) String endTime,
|
||||||
@RequestParam(value = "chooseStatus", required = false) String chooseStatus){
|
@RequestParam(value = "chooseStatus", required = false) String chooseStatus) {
|
||||||
return success(partnerList.getTypeCount(startTime, endTime, chooseStatus));
|
return success(partnerList.getTypeCount(startTime, endTime, chooseStatus));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取员工统计
|
||||||
|
*
|
||||||
|
* @param dlInspectionProject 项目
|
||||||
|
* @return 结果
|
||||||
|
*/
|
||||||
|
@PostMapping("/getStaffCount")
|
||||||
|
public CommonResult<?> getStaffCount(@RequestBody DlInspectionProject dlInspectionProject) {
|
||||||
|
return success(partnerList.getStaffCount(dlInspectionProject));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -4,15 +4,20 @@ import java.util.ArrayList;
|
|||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
import java.util.concurrent.TimeUnit;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
|
import cn.hutool.core.bean.BeanUtil;
|
||||||
import cn.hutool.core.util.ObjectUtil;
|
import cn.hutool.core.util.ObjectUtil;
|
||||||
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
|
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
|
||||||
|
import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils;
|
||||||
import cn.iocoder.yudao.framework.security.core.LoginUser;
|
import cn.iocoder.yudao.framework.security.core.LoginUser;
|
||||||
import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils;
|
import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils;
|
||||||
import cn.iocoder.yudao.module.core.text.Convert;
|
import cn.iocoder.yudao.module.core.text.Convert;
|
||||||
import cn.iocoder.yudao.module.core.text.ServletUtils;
|
import cn.iocoder.yudao.module.core.text.ServletUtils;
|
||||||
import cn.iocoder.yudao.module.partner.service.IPartnerWorkerService;
|
import cn.iocoder.yudao.module.partner.service.IPartnerWorkerService;
|
||||||
import cn.iocoder.yudao.module.payment.service.OrderInfoService;
|
import cn.iocoder.yudao.module.payment.service.OrderInfoService;
|
||||||
|
import cn.iocoder.yudao.module.payment.vo.OrderInfoExportVo;
|
||||||
import cn.iocoder.yudao.module.system.dal.dataobject.permission.RoleDO;
|
import cn.iocoder.yudao.module.system.dal.dataobject.permission.RoleDO;
|
||||||
import cn.iocoder.yudao.module.system.service.permission.PermissionService;
|
import cn.iocoder.yudao.module.system.service.permission.PermissionService;
|
||||||
import cn.iocoder.yudao.module.system.service.permission.RoleService;
|
import cn.iocoder.yudao.module.system.service.permission.RoleService;
|
||||||
@ -32,6 +37,8 @@ import cn.iocoder.yudao.module.core.controller.BaseController;
|
|||||||
import cn.iocoder.yudao.module.inspection.entity.ShopInspectionGoods;
|
import cn.iocoder.yudao.module.inspection.entity.ShopInspectionGoods;
|
||||||
import cn.iocoder.yudao.module.inspection.service.IShopInspectionGoodsService;
|
import cn.iocoder.yudao.module.inspection.service.IShopInspectionGoodsService;
|
||||||
|
|
||||||
|
import javax.servlet.http.HttpServletResponse;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 检测商品Controller
|
* 检测商品Controller
|
||||||
@ -41,8 +48,7 @@ import cn.iocoder.yudao.module.inspection.service.IShopInspectionGoodsService;
|
|||||||
*/
|
*/
|
||||||
@RestController
|
@RestController
|
||||||
@RequestMapping("/admin-api/system/inspectionGoods")
|
@RequestMapping("/admin-api/system/inspectionGoods")
|
||||||
public class ShopInspectionGoodsController extends BaseController
|
public class ShopInspectionGoodsController extends BaseController {
|
||||||
{
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private IShopInspectionGoodsService shopInspectionGoodsService;
|
private IShopInspectionGoodsService shopInspectionGoodsService;
|
||||||
@Autowired
|
@Autowired
|
||||||
@ -63,11 +69,10 @@ public class ShopInspectionGoodsController extends BaseController
|
|||||||
// @PreAuthorize("@ss.hasPermi('system:inspectionGoods:list')")
|
// @PreAuthorize("@ss.hasPermi('system:inspectionGoods:list')")
|
||||||
@GetMapping("/listSystem")
|
@GetMapping("/listSystem")
|
||||||
public CommonResult listSystem(ShopInspectionGoods shopInspectionGoods,
|
public CommonResult listSystem(ShopInspectionGoods shopInspectionGoods,
|
||||||
@RequestParam(value = "pageNum" ,required = false ,defaultValue = "1") Integer pageNum,
|
@RequestParam(value = "pageNum", required = false, defaultValue = "1") Integer pageNum,
|
||||||
@RequestParam(value ="pageSize" ,required = false ,defaultValue = "10") Integer pageSize)
|
@RequestParam(value = "pageSize", required = false, defaultValue = "10") Integer pageSize) {
|
||||||
{
|
|
||||||
Page<ShopInspectionGoods> page = new Page<>(pageNum, pageSize);
|
Page<ShopInspectionGoods> page = new Page<>(pageNum, pageSize);
|
||||||
IPage<ShopInspectionGoods> list = shopInspectionGoodsService.listSystem(page,shopInspectionGoods);
|
IPage<ShopInspectionGoods> list = shopInspectionGoodsService.listSystem(page, shopInspectionGoods);
|
||||||
return success(list);
|
return success(list);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -76,12 +81,12 @@ public class ShopInspectionGoodsController extends BaseController
|
|||||||
*/
|
*/
|
||||||
@GetMapping("/listPartnerGoods")
|
@GetMapping("/listPartnerGoods")
|
||||||
public CommonResult listPartnerGoods(ShopInspectionGoods shopInspectionGoods,
|
public CommonResult listPartnerGoods(ShopInspectionGoods shopInspectionGoods,
|
||||||
@RequestParam(value = "pageNum" ,required = false ,defaultValue = "1") Integer pageNum,
|
@RequestParam(value = "pageNum", required = false, defaultValue = "1") Integer pageNum,
|
||||||
@RequestParam(value ="pageSize" ,required = false ,defaultValue = "10") Integer pageSize) throws Exception {
|
@RequestParam(value = "pageSize", required = false, defaultValue = "10") Integer pageSize) throws Exception {
|
||||||
ShopMallPartners one = appInspectionPartnerService.shopInfoByUserId();
|
ShopMallPartners one = appInspectionPartnerService.shopInfoByUserId();
|
||||||
shopInspectionGoods.setPartnerId(one.getPartnerId().intValue());
|
shopInspectionGoods.setPartnerId(one.getPartnerId().intValue());
|
||||||
Page<ShopInspectionGoods> page = new Page<>(pageNum, pageSize);
|
Page<ShopInspectionGoods> page = new Page<>(pageNum, pageSize);
|
||||||
IPage<ShopInspectionGoods> list = shopInspectionGoodsService.listPartnerGoods(page,shopInspectionGoods);
|
IPage<ShopInspectionGoods> list = shopInspectionGoodsService.listPartnerGoods(page, shopInspectionGoods);
|
||||||
return success(list);
|
return success(list);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -92,7 +97,7 @@ public class ShopInspectionGoodsController extends BaseController
|
|||||||
*/
|
*/
|
||||||
@GetMapping("/categoryList")
|
@GetMapping("/categoryList")
|
||||||
public CommonResult categoryList() throws Exception {
|
public CommonResult categoryList() throws Exception {
|
||||||
return success( shopInspectionGoodsService.categoryList());
|
return success(shopInspectionGoodsService.categoryList());
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -107,7 +112,6 @@ public class ShopInspectionGoodsController extends BaseController
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 商品详细信息
|
* 商品详细信息
|
||||||
*/
|
*/
|
||||||
@ -122,7 +126,7 @@ public class ShopInspectionGoodsController extends BaseController
|
|||||||
// throw new Exception("您不是商户");
|
// throw new Exception("您不是商户");
|
||||||
// }
|
// }
|
||||||
|
|
||||||
return success(appInspectionPartnerService.goodsDetail(goodsId));
|
return success(appInspectionPartnerService.goodsDetail(goodsId));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -131,45 +135,47 @@ public class ShopInspectionGoodsController extends BaseController
|
|||||||
@PostMapping("/partnerEditGoods")
|
@PostMapping("/partnerEditGoods")
|
||||||
public CommonResult partnerEditGoods(@RequestBody ShopInspectionGoods goods) throws Exception {
|
public CommonResult partnerEditGoods(@RequestBody ShopInspectionGoods goods) throws Exception {
|
||||||
LoginUser loginUser = SecurityFrameworkUtils.getLoginUser();
|
LoginUser loginUser = SecurityFrameworkUtils.getLoginUser();
|
||||||
LambdaQueryWrapper<ShopMallPartners> queryWrapper =new LambdaQueryWrapper<>();
|
LambdaQueryWrapper<ShopMallPartners> queryWrapper = new LambdaQueryWrapper<>();
|
||||||
queryWrapper.eq(ShopMallPartners::getUserId,loginUser.getId()).eq(ShopMallPartners::getType,"jc").last("limit 1");
|
queryWrapper.eq(ShopMallPartners::getUserId, loginUser.getId()).eq(ShopMallPartners::getType, "jc").last("limit 1");
|
||||||
ShopMallPartners one = appInspectionPartnerService.getOne(queryWrapper);
|
ShopMallPartners one = appInspectionPartnerService.getOne(queryWrapper);
|
||||||
if (ObjectUtils.isEmpty(one)){
|
if (ObjectUtils.isEmpty(one)) {
|
||||||
throw new Exception("您不是商户");
|
throw new Exception("您不是商户");
|
||||||
}
|
}
|
||||||
goods.setPartnerId(one.getPartnerId().intValue());
|
goods.setPartnerId(one.getPartnerId().intValue());
|
||||||
appInspectionPartnerService.editGoods(goods);
|
appInspectionPartnerService.editGoods(goods);
|
||||||
return success();
|
return success();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 上下架
|
* 上下架
|
||||||
*/
|
*/
|
||||||
@PostMapping("/partnerChangeListing")
|
@PostMapping("/partnerChangeListing")
|
||||||
public CommonResult partnerChangeListing(Long goodsId) throws Exception {
|
public CommonResult partnerChangeListing(Long goodsId) throws Exception {
|
||||||
LoginUser loginUser = SecurityFrameworkUtils.getLoginUser();
|
LoginUser loginUser = SecurityFrameworkUtils.getLoginUser();
|
||||||
LambdaQueryWrapper<ShopMallPartners> queryWrapper =new LambdaQueryWrapper<>();
|
LambdaQueryWrapper<ShopMallPartners> queryWrapper = new LambdaQueryWrapper<>();
|
||||||
queryWrapper.eq(ShopMallPartners::getUserId,loginUser.getId()).eq(ShopMallPartners::getType,"jc").last("limit 1");
|
queryWrapper.eq(ShopMallPartners::getUserId, loginUser.getId()).eq(ShopMallPartners::getType, "jc").last("limit 1");
|
||||||
ShopMallPartners one = appInspectionPartnerService.getOne(queryWrapper);
|
ShopMallPartners one = appInspectionPartnerService.getOne(queryWrapper);
|
||||||
if (ObjectUtils.isEmpty(one)){
|
if (ObjectUtils.isEmpty(one)) {
|
||||||
throw new Exception("您不是商户");
|
throw new Exception("您不是商户");
|
||||||
}
|
}
|
||||||
appInspectionPartnerService.changeListing(goodsId);
|
appInspectionPartnerService.changeListing(goodsId);
|
||||||
return success();
|
return success();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 删除商品
|
* 删除商品
|
||||||
*/
|
*/
|
||||||
@PostMapping("/partnerDelGoods")
|
@PostMapping("/partnerDelGoods")
|
||||||
public CommonResult partnerDelGoods(Long goodsId) throws Exception {
|
public CommonResult partnerDelGoods(Long goodsId) throws Exception {
|
||||||
LoginUser loginUser = SecurityFrameworkUtils.getLoginUser();
|
LoginUser loginUser = SecurityFrameworkUtils.getLoginUser();
|
||||||
LambdaQueryWrapper<ShopMallPartners> queryWrapper =new LambdaQueryWrapper<>();
|
LambdaQueryWrapper<ShopMallPartners> queryWrapper = new LambdaQueryWrapper<>();
|
||||||
queryWrapper.eq(ShopMallPartners::getUserId,loginUser.getId()).eq(ShopMallPartners::getType,"jc").last("limit 1");
|
queryWrapper.eq(ShopMallPartners::getUserId, loginUser.getId()).eq(ShopMallPartners::getType, "jc").last("limit 1");
|
||||||
ShopMallPartners one = appInspectionPartnerService.getOne(queryWrapper);
|
ShopMallPartners one = appInspectionPartnerService.getOne(queryWrapper);
|
||||||
if (ObjectUtils.isEmpty(one)){
|
if (ObjectUtils.isEmpty(one)) {
|
||||||
throw new Exception("您不是商户");
|
throw new Exception("您不是商户");
|
||||||
}
|
}
|
||||||
appInspectionPartnerService.delGoods(goodsId);
|
appInspectionPartnerService.delGoods(goodsId);
|
||||||
return success();
|
return success();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -184,19 +190,20 @@ public class ShopInspectionGoodsController extends BaseController
|
|||||||
List<RoleDO> roleList = roleService.getRoleList(userRoleIdListByUserId);
|
List<RoleDO> roleList = roleService.getRoleList(userRoleIdListByUserId);
|
||||||
List<String> roles = roleList.stream().map(RoleDO::getCode).collect(Collectors.toList());
|
List<String> roles = roleList.stream().map(RoleDO::getCode).collect(Collectors.toList());
|
||||||
|
|
||||||
ShopMallPartners partner = new ShopMallPartners();
|
ShopMallPartners partner = new ShopMallPartners();
|
||||||
if (roles.contains("jcshop")){
|
if (roles.contains("jcshop")) {
|
||||||
LambdaQueryWrapper<ShopMallPartners> queryWrapper =new LambdaQueryWrapper<>();
|
LambdaQueryWrapper<ShopMallPartners> queryWrapper = new LambdaQueryWrapper<>();
|
||||||
queryWrapper.orderByAsc(ShopMallPartners::getPartnerId).eq(ShopMallPartners::getType,"jc").eq(ShopMallPartners::getIsBanned,"0").last("limit 1");
|
queryWrapper.orderByAsc(ShopMallPartners::getPartnerId).eq(ShopMallPartners::getType, "jc").eq(ShopMallPartners::getIsBanned, "0").last("limit 1");
|
||||||
partner = appInspectionPartnerService.getOne(queryWrapper);
|
partner = appInspectionPartnerService.getOne(queryWrapper);
|
||||||
if (ObjectUtil.isEmpty(partner)){
|
if (ObjectUtil.isEmpty(partner)) {
|
||||||
return error();
|
return error();
|
||||||
}
|
}
|
||||||
}else if (roles.contains("jcworker")){
|
} else if (roles.contains("jcworker")) {
|
||||||
LambdaQueryWrapper<PartnerWorker> queryWrapperWork =new LambdaQueryWrapper<>();
|
LambdaQueryWrapper<PartnerWorker> queryWrapperWork = new LambdaQueryWrapper<>();
|
||||||
queryWrapperWork.eq(PartnerWorker::getUserId,user.getId());
|
queryWrapperWork.eq(PartnerWorker::getUserId, user.getId());
|
||||||
|
queryWrapperWork.last("limit 1");
|
||||||
PartnerWorker worker = partnerWorkerService.getOne(queryWrapperWork);
|
PartnerWorker worker = partnerWorkerService.getOne(queryWrapperWork);
|
||||||
if (ObjectUtil.isEmpty(worker)){
|
if (ObjectUtil.isEmpty(worker)) {
|
||||||
return error();
|
return error();
|
||||||
}
|
}
|
||||||
partner.setPartnerId(worker.getPartnerId());
|
partner.setPartnerId(worker.getPartnerId());
|
||||||
@ -204,17 +211,58 @@ public class ShopInspectionGoodsController extends BaseController
|
|||||||
shopInspectionOrder.setPartnerId(partner.getPartnerId());
|
shopInspectionOrder.setPartnerId(partner.getPartnerId());
|
||||||
shopInspectionOrder.setValidationTime(new Date());
|
shopInspectionOrder.setValidationTime(new Date());
|
||||||
Page<OrderInfo> page = new Page<>(pageNo, pageSize);
|
Page<OrderInfo> page = new Page<>(pageNo, pageSize);
|
||||||
return CommonResult.success(orderInfoService.queryListPage(shopInspectionOrder,page));
|
return CommonResult.success(orderInfoService.queryListPage(shopInspectionOrder, page));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 导出检测订单列表
|
||||||
|
*
|
||||||
|
* @param response
|
||||||
|
* @param shopInspectionOrder
|
||||||
|
* @param pageNo
|
||||||
|
* @param pageSize
|
||||||
|
* @throws Exception
|
||||||
|
*/
|
||||||
|
@PostMapping("/exportPartnerOrderListSystem")
|
||||||
|
public void exportPartnerOrderListSystem(HttpServletResponse response,
|
||||||
|
OrderInfo shopInspectionOrder,
|
||||||
|
@RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
|
||||||
|
@RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize) throws Exception {
|
||||||
|
LoginUser user = SecurityFrameworkUtils.getLoginUser();
|
||||||
|
Set<Long> userRoleIdListByUserId = permissionService.getUserRoleIdListByUserId(user.getId());
|
||||||
|
List<RoleDO> roleList = roleService.getRoleList(userRoleIdListByUserId);
|
||||||
|
List<String> roles = roleList.stream().map(RoleDO::getCode).collect(Collectors.toList());
|
||||||
|
|
||||||
|
ShopMallPartners partner = new ShopMallPartners();
|
||||||
|
if (roles.contains("jcshop")) {
|
||||||
|
LambdaQueryWrapper<ShopMallPartners> queryWrapper = new LambdaQueryWrapper<>();
|
||||||
|
queryWrapper.orderByAsc(ShopMallPartners::getPartnerId).eq(ShopMallPartners::getType, "jc").eq(ShopMallPartners::getIsBanned, "0").last("limit 1");
|
||||||
|
partner = appInspectionPartnerService.getOne(queryWrapper);
|
||||||
|
if (ObjectUtil.isEmpty(partner)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
} else if (roles.contains("jcworker")) {
|
||||||
|
LambdaQueryWrapper<PartnerWorker> queryWrapperWork = new LambdaQueryWrapper<>();
|
||||||
|
queryWrapperWork.eq(PartnerWorker::getUserId, user.getId());
|
||||||
|
queryWrapperWork.last("limit 1");
|
||||||
|
PartnerWorker worker = partnerWorkerService.getOne(queryWrapperWork);
|
||||||
|
if (ObjectUtil.isEmpty(worker)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
partner.setPartnerId(worker.getPartnerId());
|
||||||
|
}
|
||||||
|
shopInspectionOrder.setPartnerId(partner.getPartnerId());
|
||||||
|
shopInspectionOrder.setValidationTime(new Date());
|
||||||
|
Page<OrderInfo> page = new Page<>(pageNo, pageSize);
|
||||||
|
orderInfoService.exportExcel(response, shopInspectionOrder, page);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取检测商品详细信息
|
* 获取检测商品详细信息
|
||||||
*/
|
*/
|
||||||
@GetMapping(value = "/getByIdSystem")
|
@GetMapping(value = "/getByIdSystem")
|
||||||
public CommonResult getByIdSystem(@RequestParam("id") Long id)
|
public CommonResult getByIdSystem(@RequestParam("id") Long id) {
|
||||||
{
|
|
||||||
return success(shopInspectionGoodsService.selectShopInspectionGoodsById(id));
|
return success(shopInspectionGoodsService.selectShopInspectionGoodsById(id));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -223,8 +271,7 @@ public class ShopInspectionGoodsController extends BaseController
|
|||||||
*/
|
*/
|
||||||
// @PreAuthorize("@ss.hasPermi('system:inspectionGoods:add')")
|
// @PreAuthorize("@ss.hasPermi('system:inspectionGoods:add')")
|
||||||
@PostMapping("/add")
|
@PostMapping("/add")
|
||||||
public CommonResult add(@RequestBody ShopInspectionGoods shopInspectionGoods)
|
public CommonResult add(@RequestBody ShopInspectionGoods shopInspectionGoods) {
|
||||||
{
|
|
||||||
shopInspectionGoods.setIsListing("1");
|
shopInspectionGoods.setIsListing("1");
|
||||||
return toAjax(shopInspectionGoodsService.insertShopInspectionGoods(shopInspectionGoods));
|
return toAjax(shopInspectionGoodsService.insertShopInspectionGoods(shopInspectionGoods));
|
||||||
}
|
}
|
||||||
@ -234,8 +281,7 @@ public class ShopInspectionGoodsController extends BaseController
|
|||||||
*/
|
*/
|
||||||
// @PreAuthorize("@ss.hasPermi('system:inspectionGoods:edit')")
|
// @PreAuthorize("@ss.hasPermi('system:inspectionGoods:edit')")
|
||||||
@PostMapping("/edit")
|
@PostMapping("/edit")
|
||||||
public CommonResult edit(@RequestBody ShopInspectionGoods shopInspectionGoods)
|
public CommonResult edit(@RequestBody ShopInspectionGoods shopInspectionGoods) {
|
||||||
{
|
|
||||||
return toAjax(shopInspectionGoodsService.updateShopInspectionGoods(shopInspectionGoods));
|
return toAjax(shopInspectionGoodsService.updateShopInspectionGoods(shopInspectionGoods));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -244,8 +290,7 @@ public class ShopInspectionGoodsController extends BaseController
|
|||||||
*/
|
*/
|
||||||
// @PreAuthorize("@ss.hasPermi('system:inspectionGoods:edit')")
|
// @PreAuthorize("@ss.hasPermi('system:inspectionGoods:edit')")
|
||||||
@PostMapping("/examine")
|
@PostMapping("/examine")
|
||||||
public CommonResult examine(@RequestBody ShopInspectionGoods shopInspectionGoods)
|
public CommonResult examine(@RequestBody ShopInspectionGoods shopInspectionGoods) {
|
||||||
{
|
|
||||||
return toAjax(shopInspectionGoodsService.examine(shopInspectionGoods));
|
return toAjax(shopInspectionGoodsService.examine(shopInspectionGoods));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -254,26 +299,24 @@ public class ShopInspectionGoodsController extends BaseController
|
|||||||
*/
|
*/
|
||||||
// @PreAuthorize("@ss.hasPermi('system:inspectionGoods:remove')")
|
// @PreAuthorize("@ss.hasPermi('system:inspectionGoods:remove')")
|
||||||
@PostMapping("/del")
|
@PostMapping("/del")
|
||||||
public CommonResult remove(@RequestParam("idList") Long[] ids)
|
public CommonResult remove(@RequestParam("idList") Long[] ids) {
|
||||||
{
|
|
||||||
return toAjax(shopInspectionGoodsService.deleteShopInspectionGoodsByIds(ids));
|
return toAjax(shopInspectionGoodsService.deleteShopInspectionGoodsByIds(ids));
|
||||||
}
|
}
|
||||||
|
|
||||||
@GetMapping("/listWx")
|
@GetMapping("/listWx")
|
||||||
public CommonResult listWx(ShopInspectionGoods shopInspectionGoods,
|
public CommonResult listWx(ShopInspectionGoods shopInspectionGoods,
|
||||||
@RequestParam(value = "pageNum" ,required = false ,defaultValue = "1") Integer pageNum,
|
@RequestParam(value = "pageNum", required = false, defaultValue = "1") Integer pageNum,
|
||||||
@RequestParam(value ="pageSize" ,required = false ,defaultValue = "10") Integer pageSize)
|
@RequestParam(value = "pageSize", required = false, defaultValue = "10") Integer pageSize) {
|
||||||
{
|
|
||||||
Page<ShopInspectionGoods> page = new Page<>(pageNum, pageSize);
|
Page<ShopInspectionGoods> page = new Page<>(pageNum, pageSize);
|
||||||
IPage<ShopInspectionGoods> list = shopInspectionGoodsService.selectShopInspectionGoodsListWx(page,shopInspectionGoods);
|
IPage<ShopInspectionGoods> list = shopInspectionGoodsService.selectShopInspectionGoodsListWx(page, shopInspectionGoods);
|
||||||
return success(list);
|
return success(list);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取检测商品详细信息
|
* 获取检测商品详细信息
|
||||||
*/
|
*/
|
||||||
@GetMapping(value = "/{id}")
|
@GetMapping(value = "/{id}")
|
||||||
public CommonResult getInfo(@PathVariable("id") Long id)
|
public CommonResult getInfo(@PathVariable("id") Long id) {
|
||||||
{
|
|
||||||
return success(shopInspectionGoodsService.selectShopInspectionGoodsById(id));
|
return success(shopInspectionGoodsService.selectShopInspectionGoodsById(id));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -73,6 +73,24 @@ public class InspectionEquInfo extends TenantBaseDO
|
|||||||
*/
|
*/
|
||||||
private Long folderId;
|
private Long folderId;
|
||||||
|
|
||||||
|
/** 检测证书编号 */
|
||||||
|
private String certificateNumber;
|
||||||
|
|
||||||
|
/** 制造商 */
|
||||||
|
private String manufacturer;
|
||||||
|
|
||||||
|
/** 电话 */
|
||||||
|
private String mobile;
|
||||||
|
|
||||||
|
/** 地址 */
|
||||||
|
private String address;
|
||||||
|
|
||||||
|
/** 邮编 */
|
||||||
|
private String postcode;
|
||||||
|
|
||||||
|
/** 邮箱 */
|
||||||
|
private String email;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 文件集合
|
* 文件集合
|
||||||
*/
|
*/
|
||||||
|
@ -14,76 +14,125 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
|
|||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import org.apache.ibatis.annotations.Mapper;
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
import org.apache.ibatis.annotations.Param;
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
@Mapper
|
@Mapper
|
||||||
public interface AppInspectionPartnerMapper extends BaseMapper<ShopMallPartners> {
|
public interface AppInspectionPartnerMapper extends BaseMapper<ShopMallPartners> {
|
||||||
ShopMallPartners selectById(@Param("id") Long id);
|
ShopMallPartners selectById(@Param("id") Long id);
|
||||||
|
|
||||||
ShopMallPartners selectByIdNew();
|
ShopMallPartners selectByIdNew();
|
||||||
|
|
||||||
IPage<PartnerListVo> partnerList(Page<PartnerListVo> page, @Param("vo") PartnerListQuery partnerListQuery);
|
IPage<PartnerListVo> partnerList(Page<PartnerListVo> page, @Param("vo") PartnerListQuery partnerListQuery);
|
||||||
|
|
||||||
PartnerListVo shopDetail(PartnerListQuery partnerListQuery);
|
PartnerListVo shopDetail(PartnerListQuery partnerListQuery);
|
||||||
|
|
||||||
void addSalesNum(@Param("partnerId") Long partnerId);
|
void addSalesNum(@Param("partnerId") Long partnerId);
|
||||||
StatisticsInfo workNum(@Param("partnerId") Long partnerId,@Param("timeStr") String timeStr);
|
|
||||||
Integer srlNum(@Param("partnerId") Long partnerId,@Param("timeStr") String timeStr);
|
StatisticsInfo workNum(@Param("partnerId") Long partnerId, @Param("timeStr") String timeStr);
|
||||||
Integer hgNum(@Param("partnerId") Long partnerId,@Param("timeStr") String timeStr);
|
|
||||||
|
Integer srlNum(@Param("partnerId") Long partnerId, @Param("timeStr") String timeStr);
|
||||||
|
|
||||||
|
Integer hgNum(@Param("partnerId") Long partnerId, @Param("timeStr") String timeStr);
|
||||||
|
|
||||||
//订单数量接口
|
//订单数量接口
|
||||||
StatisticsInfo orderNum(@Param("partnerId") Long partnerId,@Param("timeStr") String timeStr);
|
StatisticsInfo orderNum(@Param("partnerId") Long partnerId, @Param("timeStr") String timeStr);
|
||||||
Integer allAmount(@Param("partnerId") Long partnerId);
|
|
||||||
Integer todayAmount(@Param("partnerId") Long partnerId,@Param("timeStr") String timeStr);
|
Integer allAmount(@Param("partnerId") Long partnerId);
|
||||||
List<HotGoodsVo> hotGoodsList(@Param("partnerId") Long partnerId,@Param("dateStr")String dateStr);
|
|
||||||
List<HotGoodsVo> newHotGoodsList(@Param("dateStr")String dateStr);
|
Integer todayAmount(@Param("partnerId") Long partnerId, @Param("timeStr") String timeStr);
|
||||||
IPage<GoodsVo> manageGoodsList(Page<GoodsVo> page,@Param("partnerId") Long partnerId, @Param("isListing")String isListing,@Param("goodsTitle") String goodsTitle);
|
|
||||||
IPage<OrderAppDetail> orderList(Page<OrderAppDetail> page,@Param("partnerId") Long partnerId, @Param("phoneNum") String phoneNum,@Param("title") String title);
|
List<HotGoodsVo> hotGoodsList(@Param("partnerId") Long partnerId, @Param("dateStr") String dateStr);
|
||||||
List<PartnerWorker> getWorkList(@Param("partnerId")Long partnerId, @Param("postId") Long postId, @Param("workName") String workName, @Param("phoneNum")String phoneNum);
|
|
||||||
IPage<PartnerWorker> pageWorkList(@Param("partnerId")Long partnerId, @Param("postId") Long postId, @Param("workName") String workName, @Param("phoneNum")String phoneNum,Page<LabelRespVO> page);
|
List<HotGoodsVo> newHotGoodsList(@Param("dateStr") String dateStr);
|
||||||
IPage<InspectionInfo> inspectionList(Page<InspectionInfo> page,@Param("partnerId")Long partnerId, @Param("status") String status, @Param("carNum")String carNum);
|
|
||||||
List<InspectionInfo> workerInspectionList(@Param("workerId")Long workerId,@Param("status") String status, @Param("searchValue")String searchValue);
|
IPage<GoodsVo> manageGoodsList(Page<GoodsVo> page, @Param("partnerId") Long partnerId, @Param("isListing") String isListing, @Param("goodsTitle") String goodsTitle);
|
||||||
IPage<OrderInfo> validationList(Page<OrderInfo> page, @Param("partnerId") Long partnerId, @Param("searchValue") String searchValue);
|
|
||||||
IPage<InspectionPickCar> getPickCarList(Page page,@Param("partnerId") Long partnerId, @Param("phoneNum") String phoneNum, @Param("pickStatus") String pickStatus);
|
IPage<OrderAppDetail> orderList(Page<OrderAppDetail> page, @Param("partnerId") Long partnerId, @Param("phoneNum") String phoneNum, @Param("title") String title);
|
||||||
IPage<InspectionPickCar> getPickCarListOfWorker(Page<InspectionPickCar> page,@Param("workerId") Long workerId, @Param("phoneNum") String phoneNum);
|
|
||||||
|
List<PartnerWorker> getWorkList(@Param("partnerId") Long partnerId, @Param("postId") Long postId, @Param("workName") String workName, @Param("phoneNum") String phoneNum);
|
||||||
|
|
||||||
|
IPage<PartnerWorker> pageWorkList(@Param("partnerId") Long partnerId, @Param("postId") Long postId, @Param("workName") String workName, @Param("phoneNum") String phoneNum, Page<LabelRespVO> page);
|
||||||
|
|
||||||
|
IPage<InspectionInfo> inspectionList(Page<InspectionInfo> page, @Param("partnerId") Long partnerId, @Param("status") String status, @Param("carNum") String carNum);
|
||||||
|
|
||||||
|
List<InspectionInfo> workerInspectionList(@Param("workerId") Long workerId, @Param("status") String status, @Param("searchValue") String searchValue);
|
||||||
|
|
||||||
|
IPage<OrderInfo> validationList(Page<OrderInfo> page, @Param("partnerId") Long partnerId, @Param("searchValue") String searchValue);
|
||||||
|
|
||||||
|
IPage<InspectionPickCar> getPickCarList(Page page, @Param("partnerId") Long partnerId, @Param("phoneNum") String phoneNum, @Param("pickStatus") String pickStatus);
|
||||||
|
|
||||||
|
IPage<InspectionPickCar> getPickCarListOfWorker(Page<InspectionPickCar> page, @Param("workerId") Long workerId, @Param("phoneNum") String phoneNum);
|
||||||
|
|
||||||
|
List<OrderInfo> chartInfoAmount(@Param("startTime") String startTime, @Param("endTime") String endTime, @Param("partnerId") Long partnerId);
|
||||||
|
|
||||||
|
List<OrderInfo> newChartInfoAmount(@Param("startTime") String startTime, @Param("endTime") String endTime);
|
||||||
|
|
||||||
|
List<OrderInfo> chartInfoNum(@Param("startTime") String startTime, @Param("endTime") String endTime, @Param("partnerId") Long partnerId);
|
||||||
|
|
||||||
|
List<OrderInfo> newChartInfoNum(@Param("startTime") String startTime, @Param("endTime") String endTime);
|
||||||
|
|
||||||
|
List<Map<String, String>> chartInfoRatio(@Param("startTime") String startTime, @Param("endTime") String endTime, @Param("partnerId") Long partnerId);
|
||||||
|
|
||||||
|
List<Map<String, String>> newChartInfoRatio(@Param("startTime") String startTime, @Param("endTime") String endTime);
|
||||||
|
|
||||||
List<OrderInfo> chartInfoAmount(@Param("startTime") String startTime,@Param("endTime")String endTime,@Param("partnerId")Long partnerId);
|
|
||||||
List<OrderInfo> newChartInfoAmount(@Param("startTime") String startTime,@Param("endTime")String endTime);
|
|
||||||
List<OrderInfo> chartInfoNum(@Param("startTime") String startTime,@Param("endTime")String endTime,@Param("partnerId")Long partnerId);
|
|
||||||
List<OrderInfo> newChartInfoNum(@Param("startTime") String startTime,@Param("endTime")String endTime);
|
|
||||||
List<Map<String,String>> chartInfoRatio(@Param("startTime") String startTime, @Param("endTime")String endTime, @Param("partnerId")Long partnerId);
|
|
||||||
List<Map<String,String>> newChartInfoRatio(@Param("startTime") String startTime, @Param("endTime")String endTime);
|
|
||||||
List<ShopInspectionCategory> partnerCategoryList(@Param("partnerId") Long partnerId);
|
List<ShopInspectionCategory> partnerCategoryList(@Param("partnerId") Long partnerId);
|
||||||
OrderInfo chartLineInspectionAmount(@Param("partnerId") Long partnerId,@Param("dateStr") String dateStr);
|
|
||||||
|
OrderInfo chartLineInspectionAmount(@Param("partnerId") Long partnerId, @Param("dateStr") String dateStr);
|
||||||
|
|
||||||
OrderInfo newChartLineInspectionAmount(@Param("dateStr") String dateStr);
|
OrderInfo newChartLineInspectionAmount(@Param("dateStr") String dateStr);
|
||||||
Map<String,Double> staticsTable1(@Param("partnerId") Long partnerId,@Param("startTime") String startTime,@Param("endTime") String endTime);
|
|
||||||
Map<String,Double> newStaticsTable1(@Param("startTime") String startTime,@Param("endTime") String endTime);
|
Map<String, Double> staticsTable1(@Param("partnerId") Long partnerId, @Param("startTime") String startTime, @Param("endTime") String endTime);
|
||||||
Map<String,Integer> staticsTable2(@Param("partnerId") Long partnerId,@Param("startTime") String startTime,@Param("endTime") String endTime);
|
|
||||||
Map<String,Integer> newStaticsTable2(@Param("startTime") String startTime,@Param("endTime") String endTime);
|
Map<String, Double> newStaticsTable1(@Param("startTime") String startTime, @Param("endTime") String endTime);
|
||||||
List<Map<String,Object>> staticsTable3(@Param("partnerId") Long partnerId,@Param("startTime") String startTime,@Param("endTime") String endTime);
|
|
||||||
List<Map<String,Object>> newStaticsTable3(@Param("startTime") String startTime,@Param("endTime") String endTime);
|
Map<String, Integer> staticsTable2(@Param("partnerId") Long partnerId, @Param("startTime") String startTime, @Param("endTime") String endTime);
|
||||||
List<Map<String,Object>> staticsTable3Detail(@Param("partnerId") Long partnerId,@Param("startTime") String startTime,@Param("endTime") String endTime,@Param("remark") String remark);
|
|
||||||
List<Map<String,Object>> staticsTable4(@Param("partnerId") Long partnerId,@Param("startTime") String startTime,@Param("endTime") String endTime);
|
Map<String, Integer> newStaticsTable2(@Param("startTime") String startTime, @Param("endTime") String endTime);
|
||||||
List<Map<String,Object>> staticsTable5(@Param("partnerId") Long partnerId,@Param("startTime") String startTime,@Param("endTime") String endTime);
|
|
||||||
Long dhjNum(@Param("partnerId") Long partnerId,@Param("dateStr") String dateStr);
|
List<Map<String, Object>> staticsTable3(@Param("partnerId") Long partnerId, @Param("startTime") String startTime, @Param("endTime") String endTime);
|
||||||
Long getAppointNum(@Param("partnerId") Long partnerId,@Param("formDate") String formDate);
|
|
||||||
Long getPickNum(@Param("partnerId") Long partnerId,@Param("formDate") String formDate);
|
List<Map<String, Object>> newStaticsTable3(@Param("startTime") String startTime, @Param("endTime") String endTime);
|
||||||
|
|
||||||
|
List<Map<String, Object>> staticsTable3Detail(@Param("partnerId") Long partnerId, @Param("startTime") String startTime, @Param("endTime") String endTime, @Param("remark") String remark);
|
||||||
|
|
||||||
|
List<Map<String, Object>> staticsTable4(@Param("partnerId") Long partnerId, @Param("startTime") String startTime, @Param("endTime") String endTime);
|
||||||
|
|
||||||
|
List<Map<String, Object>> staticsTable5(@Param("partnerId") Long partnerId, @Param("startTime") String startTime, @Param("endTime") String endTime);
|
||||||
|
|
||||||
|
Long dhjNum(@Param("partnerId") Long partnerId, @Param("dateStr") String dateStr);
|
||||||
|
|
||||||
|
Long getAppointNum(@Param("partnerId") Long partnerId, @Param("formDate") String formDate);
|
||||||
|
|
||||||
|
Long getPickNum(@Param("partnerId") Long partnerId, @Param("formDate") String formDate);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 根据时间查订单
|
* 根据时间查订单
|
||||||
*
|
*
|
||||||
|
* @param startTime 开始时间 非必传
|
||||||
|
* @param endTime 结束时间 非必传
|
||||||
* @author 小李
|
* @author 小李
|
||||||
* @date 14:39 2024/12/12
|
* @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);
|
IPage<OrderTable> getOrderByDate(@Param("startTime") String startTime, @Param("endTime") String endTime, @Param("chooseStatus") String chooseStatus, Page<OrderTable> page);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 分类计数
|
* 分类计数
|
||||||
*
|
*
|
||||||
|
* @param startTime 开始时间
|
||||||
|
* @param endTime 结束时间
|
||||||
|
* @param chooseStatus 状态
|
||||||
* @author 小李
|
* @author 小李
|
||||||
* @date 17:14 2024/12/16
|
* @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);
|
List<Map<String, Long>> getTypeCount(@Param("startTime") String startTime, @Param("endTime") String endTime, @Param("chooseStatus") String chooseStatus);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取检测类型统计
|
||||||
|
*
|
||||||
|
* @param startTime 开始时间
|
||||||
|
* @param endTime 结束时间
|
||||||
|
*/
|
||||||
|
List<Map<String, Object>> queryInspectionSkuList(@Param("startTime") String startTime, @Param("endTime") String endTime);
|
||||||
}
|
}
|
||||||
|
@ -3,11 +3,14 @@ package cn.iocoder.yudao.module.inspection.mapper;
|
|||||||
import cn.iocoder.yudao.module.inspection.entity.DlInspectionProject;
|
import cn.iocoder.yudao.module.inspection.entity.DlInspectionProject;
|
||||||
import cn.iocoder.yudao.module.inspection.vo.DlInspectionProjectPageReqVO;
|
import cn.iocoder.yudao.module.inspection.vo.DlInspectionProjectPageReqVO;
|
||||||
import cn.iocoder.yudao.module.inspection.vo.DlInspectionProjectRespVO;
|
import cn.iocoder.yudao.module.inspection.vo.DlInspectionProjectRespVO;
|
||||||
|
import cn.iocoder.yudao.module.inspection.vo.InspectionOrderExportVo;
|
||||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
import org.apache.ibatis.annotations.Mapper;
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
import org.apache.ibatis.annotations.Param;
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 检测项目 Mapper
|
* 检测项目 Mapper
|
||||||
*
|
*
|
||||||
@ -16,4 +19,6 @@ import org.apache.ibatis.annotations.Param;
|
|||||||
@Mapper
|
@Mapper
|
||||||
public interface DlInspectionProjectMapper extends BaseMapper<DlInspectionProject> {
|
public interface DlInspectionProjectMapper extends BaseMapper<DlInspectionProject> {
|
||||||
IPage<DlInspectionProjectRespVO> selectListPage(@Param("page") IPage page,@Param("entity") DlInspectionProjectPageReqVO pageReqVO);
|
IPage<DlInspectionProjectRespVO> selectListPage(@Param("page") IPage page,@Param("entity") DlInspectionProjectPageReqVO pageReqVO);
|
||||||
|
|
||||||
|
List<InspectionOrderExportVo> queryProjectWorkerName(@Param("orderIds") List<Long> orderIds);
|
||||||
}
|
}
|
@ -1,5 +1,6 @@
|
|||||||
package cn.iocoder.yudao.module.inspection.mapper;
|
package cn.iocoder.yudao.module.inspection.mapper;
|
||||||
|
|
||||||
|
import cn.iocoder.yudao.module.inspection.entity.DlInspectionProject;
|
||||||
import cn.iocoder.yudao.module.inspection.entity.InspectionWorkNode;
|
import cn.iocoder.yudao.module.inspection.entity.InspectionWorkNode;
|
||||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
@ -37,4 +38,6 @@ public interface InspectionWorkNodeMapper extends BaseMapper<InspectionWorkNode>
|
|||||||
* @param workNodes
|
* @param workNodes
|
||||||
*/
|
*/
|
||||||
void recheck(@Param("list") List<InspectionWorkNode> workNodes, @Param("status") String status);
|
void recheck(@Param("list") List<InspectionWorkNode> workNodes, @Param("status") String status);
|
||||||
|
|
||||||
|
List<Map<String, Object>> getStaffCount(DlInspectionProject dlInspectionProject);
|
||||||
}
|
}
|
||||||
|
@ -23,121 +23,195 @@ import java.util.Map;
|
|||||||
|
|
||||||
|
|
||||||
public interface AppInspectionPartnerService extends IService<ShopMallPartners> {
|
public interface AppInspectionPartnerService extends IService<ShopMallPartners> {
|
||||||
IPage<PartnerListVo> partnerList(Page<PartnerListVo> page, PartnerListQuery partnerListQuery);
|
IPage<PartnerListVo> partnerList(Page<PartnerListVo> page, PartnerListQuery partnerListQuery);
|
||||||
List<ShopInspectionCategory> categoryList(Long partnerId);
|
|
||||||
PartnerListVo shopDetail(PartnerListQuery partnerListQuery);
|
|
||||||
void addSalesNum(Long partnerId);
|
|
||||||
ShopMallPartners shopInfo() throws Exception;
|
|
||||||
|
|
||||||
/**
|
List<ShopInspectionCategory> categoryList(Long partnerId);
|
||||||
* 重写shopInfo()方法
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
ShopMallPartners shopInfoByUserId() throws Exception;
|
|
||||||
|
|
||||||
JSONObject getAppointAndPickNum() throws Exception;
|
PartnerListVo shopDetail(PartnerListQuery partnerListQuery);
|
||||||
|
|
||||||
void startOrEnd(Long partnerId);
|
void addSalesNum(Long partnerId);
|
||||||
StatisticsInfo statisticsInfo(Long partnerId);
|
|
||||||
JSONObject chartInfoAmount(Long partnerId,String unit);
|
|
||||||
JSONObject newChartInfoAmount(String unit);
|
|
||||||
JSONObject chartLineInspectionNum(Long partnerId,String unit);
|
|
||||||
JSONObject newChartLineInspectionNum(String unit);
|
|
||||||
JSONObject chartLineInspectionAmount(Long partnerId,String unit);
|
|
||||||
|
|
||||||
JSONObject chartInfoNum(Long partnerId,String unit);
|
ShopMallPartners shopInfo() throws Exception;
|
||||||
JSONObject newChartInfoNum(String unit);
|
|
||||||
JSONObject chartInfoRatio(Long partnerId, String unit);
|
|
||||||
JSONObject newChartInfoRatio(String unit);
|
|
||||||
List<OrderInfo> orderInfo(Long partnerId);
|
|
||||||
List<HotGoodsVo> hotGoodsList(Long partnerId);
|
|
||||||
List<HotGoodsVo> newHotGoodsList();
|
|
||||||
void addGoods(ShopInspectionGoods goods) throws Exception;
|
|
||||||
IPage<GoodsVo> goodsList(Page<GoodsVo> page,Long partnerId, String isListing, String goodsTitle);
|
|
||||||
List<JSONObject> canUseGoods(Long partnerId);
|
|
||||||
ShopInspectionGoods goodsDetail(Long goodsId);
|
|
||||||
void editGoods(ShopInspectionGoods goods) throws Exception;
|
|
||||||
void editSkuPrice(ShopInspectionGoods goods) throws Exception;
|
|
||||||
|
|
||||||
void changeListing(Long goodsId) throws Exception;
|
/**
|
||||||
void delGoods(Long goodsId) throws Exception;
|
* 重写shopInfo()方法
|
||||||
void editPartnerInfo(ShopMallPartners partners);
|
*/
|
||||||
PartnerVo getPartnerInfo(Long partnerId);
|
ShopMallPartners shopInfoByUserId() throws Exception;
|
||||||
PartnerBalance accountInfo(Long partnerId);
|
|
||||||
IPage<PartnerBalanceDetail> accountDetail(Page<PartnerBalanceDetail> page,Long partnerId, Integer pageNum, Integer pageSize);
|
|
||||||
IPage<OrderAppDetail> orderList(Page<OrderAppDetail> page,Long partnerId,String phoneNum, String title);
|
|
||||||
OrderAppDetail orderDetail(Long partnerId,Long orderId);
|
|
||||||
Long orderDetailByCode(Long partnerId,String code) throws Exception;
|
|
||||||
void takeOut(Long partnerId,Long orderId,Long workId,String carNum) throws Exception;
|
|
||||||
void addWorker(Long partnerId,String realName,String phoneNum,Long postId) throws Exception;
|
|
||||||
List<PartnerWorker> getWorkList(Long partnerId, Long postId, String workName, String phoneNum);
|
|
||||||
|
|
||||||
IPage<PartnerWorker> pageWorkList(Long partnerId, Long postId, String workName, String phoneNum, Page<LabelRespVO> page);
|
JSONObject getAppointAndPickNum() throws Exception;
|
||||||
|
|
||||||
void delWorker(Long partnerId,Long workId);
|
void startOrEnd(Long partnerId);
|
||||||
|
|
||||||
IPage<InspectionInfo> inspectionList(Page<InspectionInfo> page,Long partnerId, String status, String carNum);
|
StatisticsInfo statisticsInfo(Long partnerId);
|
||||||
InspectionInfoVo inspectionDetail(Long inspectionInfoId);
|
|
||||||
|
|
||||||
List<InspectionInfo> workerInspectionList(Long partnerId,String status,String searchValue);
|
JSONObject chartInfoAmount(Long partnerId, String unit);
|
||||||
void addStepInfo(InspectionStepInfo stepInfo);
|
|
||||||
void stopInspection(InspectionInfo info) throws Exception;
|
|
||||||
void makeCertOk(Long inspectionId);
|
|
||||||
IPage<InspectionAppointment> getAppointmentList(Page<InspectionAppointment> page,Long partnerId,String phoneNum);
|
|
||||||
IPage<OrderInfo> validationList(Page<OrderInfo> page,Long partnerId,String searchValue);
|
|
||||||
void sendCoupon(ShopCouponTemplate template) throws Exception;
|
|
||||||
IPage<ShopCouponTemplate> listCoupon(Page<ShopCouponTemplate> page,Long partnerId,String searchValue);
|
|
||||||
void delCoupon(Long partnerId,Long id);
|
|
||||||
void designatePickCarWorker(Long pickCarId,Long workerId);
|
|
||||||
IPage<InspectionPickCar> getPickCarList(Page page,Long partnerId, String phoneNum,String pickStatus);
|
|
||||||
InspectionPickCar getPickCarDetail(Long dataId);
|
|
||||||
IPage<InspectionPickCar> getPickCarListOfWorker(Page<InspectionPickCar> page,Long workerId, String phoneNum);
|
|
||||||
JSONObject vehicleLicenseOCR(String imagePath) throws Exception;
|
|
||||||
void offlineCharging(InspectionInfoVo infoVo);
|
|
||||||
String workOrderView(Long inspectionId);
|
|
||||||
List<PostDO> inspectionPostInfo();
|
|
||||||
Map<String,Double> staticsTable1(Long partnerId, String startTime, String endTime);
|
|
||||||
Map<String,Double> newStaticsTable1(String startTime, String endTime);
|
|
||||||
Map<String,Integer> staticsTable2(Long partnerId, String startTime, String endTime);
|
|
||||||
Map<String,Integer> newStaticsTable2(String startTime, String endTime);
|
|
||||||
List<Map<String,Object>> staticsTable3(Long partnerId, String startTime, String endTime);
|
|
||||||
List<Map<String,Object>> newStaticsTable3(String startTime, String endTime);
|
|
||||||
List<Map<String,Object>> staticsTable3Detail(Long partnerId, String startTime, String endTime,String remark);
|
|
||||||
|
|
||||||
List<Map<String,Object>> staticsTable4(Long partnerId, String startTime, String endTime);
|
JSONObject newChartInfoAmount(String unit);
|
||||||
List<Map<String,Object>> staticsTable5(Long partnerId, String startTime, String endTime);
|
|
||||||
|
JSONObject chartLineInspectionNum(Long partnerId, String unit);
|
||||||
|
|
||||||
|
JSONObject newChartLineInspectionNum(String unit);
|
||||||
|
|
||||||
|
JSONObject chartLineInspectionAmount(Long partnerId, String unit);
|
||||||
|
|
||||||
|
JSONObject chartInfoNum(Long partnerId, String unit);
|
||||||
|
|
||||||
|
JSONObject newChartInfoNum(String unit);
|
||||||
|
|
||||||
|
JSONObject chartInfoRatio(Long partnerId, String unit);
|
||||||
|
|
||||||
|
JSONObject newChartInfoRatio(String unit);
|
||||||
|
|
||||||
|
List<OrderInfo> orderInfo(Long partnerId);
|
||||||
|
|
||||||
|
List<HotGoodsVo> hotGoodsList(Long partnerId);
|
||||||
|
|
||||||
|
List<HotGoodsVo> newHotGoodsList();
|
||||||
|
|
||||||
|
void addGoods(ShopInspectionGoods goods) throws Exception;
|
||||||
|
|
||||||
|
IPage<GoodsVo> goodsList(Page<GoodsVo> page, Long partnerId, String isListing, String goodsTitle);
|
||||||
|
|
||||||
|
List<JSONObject> canUseGoods(Long partnerId);
|
||||||
|
|
||||||
|
ShopInspectionGoods goodsDetail(Long goodsId);
|
||||||
|
|
||||||
|
void editGoods(ShopInspectionGoods goods) throws Exception;
|
||||||
|
|
||||||
|
void editSkuPrice(ShopInspectionGoods goods) throws Exception;
|
||||||
|
|
||||||
|
void changeListing(Long goodsId) throws Exception;
|
||||||
|
|
||||||
|
void delGoods(Long goodsId) throws Exception;
|
||||||
|
|
||||||
|
void editPartnerInfo(ShopMallPartners partners);
|
||||||
|
|
||||||
|
PartnerVo getPartnerInfo(Long partnerId);
|
||||||
|
|
||||||
|
PartnerBalance accountInfo(Long partnerId);
|
||||||
|
|
||||||
|
IPage<PartnerBalanceDetail> accountDetail(Page<PartnerBalanceDetail> page, Long partnerId, Integer pageNum, Integer pageSize);
|
||||||
|
|
||||||
|
IPage<OrderAppDetail> orderList(Page<OrderAppDetail> page, Long partnerId, String phoneNum, String title);
|
||||||
|
|
||||||
|
OrderAppDetail orderDetail(Long partnerId, Long orderId);
|
||||||
|
|
||||||
|
Long orderDetailByCode(Long partnerId, String code) throws Exception;
|
||||||
|
|
||||||
|
void takeOut(Long partnerId, Long orderId, Long workId, String carNum) throws Exception;
|
||||||
|
|
||||||
|
void addWorker(Long partnerId, String realName, String phoneNum, Long postId) throws Exception;
|
||||||
|
|
||||||
|
List<PartnerWorker> getWorkList(Long partnerId, Long postId, String workName, String phoneNum);
|
||||||
|
|
||||||
|
IPage<PartnerWorker> pageWorkList(Long partnerId, Long postId, String workName, String phoneNum, Page<LabelRespVO> page);
|
||||||
|
|
||||||
|
void delWorker(Long partnerId, Long workId);
|
||||||
|
|
||||||
|
IPage<InspectionInfo> inspectionList(Page<InspectionInfo> page, Long partnerId, String status, String carNum);
|
||||||
|
|
||||||
|
InspectionInfoVo inspectionDetail(Long inspectionInfoId);
|
||||||
|
|
||||||
|
List<InspectionInfo> workerInspectionList(Long partnerId, String status, String searchValue);
|
||||||
|
|
||||||
|
void addStepInfo(InspectionStepInfo stepInfo);
|
||||||
|
|
||||||
|
void stopInspection(InspectionInfo info) throws Exception;
|
||||||
|
|
||||||
|
void makeCertOk(Long inspectionId);
|
||||||
|
|
||||||
|
IPage<InspectionAppointment> getAppointmentList(Page<InspectionAppointment> page, Long partnerId, String phoneNum);
|
||||||
|
|
||||||
|
IPage<OrderInfo> validationList(Page<OrderInfo> page, Long partnerId, String searchValue);
|
||||||
|
|
||||||
|
void sendCoupon(ShopCouponTemplate template) throws Exception;
|
||||||
|
|
||||||
|
IPage<ShopCouponTemplate> listCoupon(Page<ShopCouponTemplate> page, Long partnerId, String searchValue);
|
||||||
|
|
||||||
|
void delCoupon(Long partnerId, Long id);
|
||||||
|
|
||||||
|
void designatePickCarWorker(Long pickCarId, Long workerId);
|
||||||
|
|
||||||
|
IPage<InspectionPickCar> getPickCarList(Page page, Long partnerId, String phoneNum, String pickStatus);
|
||||||
|
|
||||||
|
InspectionPickCar getPickCarDetail(Long dataId);
|
||||||
|
|
||||||
|
IPage<InspectionPickCar> getPickCarListOfWorker(Page<InspectionPickCar> page, Long workerId, String phoneNum);
|
||||||
|
|
||||||
|
JSONObject vehicleLicenseOCR(String imagePath) throws Exception;
|
||||||
|
|
||||||
|
void offlineCharging(InspectionInfoVo infoVo);
|
||||||
|
|
||||||
|
String workOrderView(Long inspectionId);
|
||||||
|
|
||||||
|
List<PostDO> inspectionPostInfo();
|
||||||
|
|
||||||
|
Map<String, Double> staticsTable1(Long partnerId, String startTime, String endTime);
|
||||||
|
|
||||||
|
Map<String, Double> newStaticsTable1(String startTime, String endTime);
|
||||||
|
|
||||||
|
Map<String, Integer> staticsTable2(Long partnerId, String startTime, String endTime);
|
||||||
|
|
||||||
|
Map<String, Integer> newStaticsTable2(String startTime, String endTime);
|
||||||
|
|
||||||
|
List<Map<String, Object>> staticsTable3(Long partnerId, String startTime, String endTime);
|
||||||
|
|
||||||
|
List<Map<String, Object>> newStaticsTable3(String startTime, String endTime);
|
||||||
|
|
||||||
|
List<Map<String, Object>> staticsTable3Detail(Long partnerId, String startTime, String endTime, String remark);
|
||||||
|
|
||||||
|
List<Map<String, Object>> staticsTable4(Long partnerId, String startTime, String endTime);
|
||||||
|
|
||||||
|
List<Map<String, Object>> staticsTable5(Long partnerId, String startTime, String endTime);
|
||||||
|
|
||||||
|
|
||||||
//新检测金额折线图
|
//新检测金额折线图
|
||||||
JSONObject newChartLineInspectionAmount(String unit);
|
JSONObject newChartLineInspectionAmount(String unit);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 根据inspection_info的id查有的项目名称
|
* 根据inspection_info的id查有的项目名称
|
||||||
*
|
*
|
||||||
* @author 小李
|
* @param ids inspection_info的id
|
||||||
* @date 14:52 2024/12/10
|
* @author 小李
|
||||||
* @param ids inspection_info的id
|
* @date 14:52 2024/12/10
|
||||||
**/
|
**/
|
||||||
Map<Long, String> getProjectByIds(Long[] ids);
|
Map<Long, String> getProjectByIds(Long[] ids);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 根据时间查订单
|
* 根据时间查订单
|
||||||
*
|
*
|
||||||
* @author 小李
|
* @param startTime 开始时间 非必传
|
||||||
* @date 14:39 2024/12/12
|
* @param endTime 结束时间 非必传
|
||||||
* @param startTime 开始时间 非必传
|
* @author 小李
|
||||||
* @param endTime 结束时间 非必传
|
* @date 14:39 2024/12/12
|
||||||
**/
|
**/
|
||||||
IPage<OrderTable> getOrderByDate(String startTime, String endTime, String chooseStatus, Page<OrderTable> page);
|
IPage<OrderTable> getOrderByDate(String startTime, String endTime, String chooseStatus, Page<OrderTable> page);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 分类计数
|
* 分类计数
|
||||||
*
|
*
|
||||||
* @author 小李
|
* @param startTime 开始时间
|
||||||
* @date 17:14 2024/12/16
|
* @param endTime 结束时间
|
||||||
* @param startTime 开始时间
|
* @param chooseStatus 状态
|
||||||
* @param endTime 结束时间
|
* @author 小李
|
||||||
* @param chooseStatus 状态
|
* @date 17:14 2024/12/16
|
||||||
**/
|
**/
|
||||||
Map<String, Long> getTypeCount(String startTime, String endTime, String chooseStatus);
|
Map<String, Long> getTypeCount(String startTime, String endTime, String chooseStatus);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询检测类型统计
|
||||||
|
*
|
||||||
|
* @param startTime 开始时间
|
||||||
|
* @param endTime 结束时间
|
||||||
|
* @return 结果
|
||||||
|
*/
|
||||||
|
List<Map<String, Object>> queryInspectionSkuList(String startTime, String endTime);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询员工统计
|
||||||
|
*
|
||||||
|
* @param dlInspectionProject 项目信息
|
||||||
|
* @return 结果
|
||||||
|
*/
|
||||||
|
List<Map<String, Object>> getStaffCount(DlInspectionProject dlInspectionProject);
|
||||||
}
|
}
|
||||||
|
@ -4,10 +4,13 @@ import cn.iocoder.yudao.module.inspection.entity.DlInspectionProject;
|
|||||||
import cn.iocoder.yudao.module.inspection.vo.DlInspectionProjectPageReqVO;
|
import cn.iocoder.yudao.module.inspection.vo.DlInspectionProjectPageReqVO;
|
||||||
import cn.iocoder.yudao.module.inspection.vo.DlInspectionProjectRespVO;
|
import cn.iocoder.yudao.module.inspection.vo.DlInspectionProjectRespVO;
|
||||||
import cn.iocoder.yudao.module.inspection.vo.DlInspectionProjectSaveReqVO;
|
import cn.iocoder.yudao.module.inspection.vo.DlInspectionProjectSaveReqVO;
|
||||||
|
import cn.iocoder.yudao.module.inspection.vo.InspectionOrderExportVo;
|
||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
import com.baomidou.mybatisplus.extension.service.IService;
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
|
||||||
import javax.validation.Valid;
|
import javax.validation.Valid;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 检测项目 Service 接口
|
* 检测项目 Service 接口
|
||||||
@ -33,6 +36,7 @@ public interface DlInspectionProjectService extends IService<DlInspectionProject
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 更新排序
|
* 更新排序
|
||||||
|
*
|
||||||
* @param updateReqVO
|
* @param updateReqVO
|
||||||
*/
|
*/
|
||||||
void updateSort(DlInspectionProjectSaveReqVO updateReqVO);
|
void updateSort(DlInspectionProjectSaveReqVO updateReqVO);
|
||||||
@ -60,4 +64,11 @@ public interface DlInspectionProjectService extends IService<DlInspectionProject
|
|||||||
*/
|
*/
|
||||||
IPage<DlInspectionProjectRespVO> getDlInspectionProjectPage(IPage page, DlInspectionProjectPageReqVO pageReqVO);
|
IPage<DlInspectionProjectRespVO> getDlInspectionProjectPage(IPage page, DlInspectionProjectPageReqVO pageReqVO);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询项目对应的检测员名称
|
||||||
|
*
|
||||||
|
* @param orderIds 订单id集合
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
List<InspectionOrderExportVo> queryProjectWorkerName(List<Long> orderIds);
|
||||||
}
|
}
|
@ -1,7 +1,9 @@
|
|||||||
package cn.iocoder.yudao.module.inspection.service;
|
package cn.iocoder.yudao.module.inspection.service;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
import cn.iocoder.yudao.module.inspection.vo.InspectionEqInfoImportVo;
|
||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import com.baomidou.mybatisplus.extension.service.IService;
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
@ -13,8 +15,7 @@ import cn.iocoder.yudao.module.inspection.entity.InspectionEquInfo;
|
|||||||
* @author zcy
|
* @author zcy
|
||||||
* @date 2023-10-13
|
* @date 2023-10-13
|
||||||
*/
|
*/
|
||||||
public interface IInspectionEquInfoService extends IService<InspectionEquInfo>
|
public interface IInspectionEquInfoService extends IService<InspectionEquInfo> {
|
||||||
{
|
|
||||||
/**
|
/**
|
||||||
* 查询equInfo
|
* 查询equInfo
|
||||||
*
|
*
|
||||||
@ -29,7 +30,7 @@ public interface IInspectionEquInfoService extends IService<InspectionEquInfo>
|
|||||||
* @param inspectionEquInfo equInfo
|
* @param inspectionEquInfo equInfo
|
||||||
* @return equInfo集合
|
* @return equInfo集合
|
||||||
*/
|
*/
|
||||||
public IPage<InspectionEquInfo> selectInspectionEquInfoList(Page page,InspectionEquInfo inspectionEquInfo);
|
public IPage<InspectionEquInfo> selectInspectionEquInfoList(Page page, InspectionEquInfo inspectionEquInfo);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 新增equInfo
|
* 新增equInfo
|
||||||
@ -62,4 +63,12 @@ public interface IInspectionEquInfoService extends IService<InspectionEquInfo>
|
|||||||
* @return 结果
|
* @return 结果
|
||||||
*/
|
*/
|
||||||
public int deleteInspectionEquInfoById(Long id);
|
public int deleteInspectionEquInfoById(Long id);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 导入设备信息
|
||||||
|
*
|
||||||
|
* @param list 设备信息集合
|
||||||
|
* @return 结果
|
||||||
|
*/
|
||||||
|
Map<String, Object> importStaff(List<InspectionEqInfoImportVo> list);
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
package cn.iocoder.yudao.module.inspection.service;
|
package cn.iocoder.yudao.module.inspection.service;
|
||||||
|
|
||||||
|
import cn.iocoder.yudao.module.inspection.entity.DlInspectionProject;
|
||||||
import cn.iocoder.yudao.module.inspection.entity.InspectionWorkNode;
|
import cn.iocoder.yudao.module.inspection.entity.InspectionWorkNode;
|
||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
import com.baomidou.mybatisplus.extension.service.IService;
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
@ -18,6 +19,7 @@ import java.util.Map;
|
|||||||
public interface IInspectionWorkNodeService extends IService<InspectionWorkNode> {
|
public interface IInspectionWorkNodeService extends IService<InspectionWorkNode> {
|
||||||
/**
|
/**
|
||||||
* 员工接单
|
* 员工接单
|
||||||
|
*
|
||||||
* @param inspectionId
|
* @param inspectionId
|
||||||
* @param workNodeId
|
* @param workNodeId
|
||||||
*/
|
*/
|
||||||
@ -25,6 +27,7 @@ public interface IInspectionWorkNodeService extends IService<InspectionWorkNode>
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 员工取消接单
|
* 员工取消接单
|
||||||
|
*
|
||||||
* @param inspectionId
|
* @param inspectionId
|
||||||
* @param workNodeId
|
* @param workNodeId
|
||||||
*/
|
*/
|
||||||
@ -32,12 +35,14 @@ public interface IInspectionWorkNodeService extends IService<InspectionWorkNode>
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 更新流程图片 步骤信息
|
* 更新流程图片 步骤信息
|
||||||
|
*
|
||||||
* @param inspectionWorkNode
|
* @param inspectionWorkNode
|
||||||
*/
|
*/
|
||||||
void updateImageAndStep(InspectionWorkNode inspectionWorkNode);
|
void updateImageAndStep(InspectionWorkNode inspectionWorkNode);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 根据检测id获取流程信息
|
* 根据检测id获取流程信息
|
||||||
|
*
|
||||||
* @param inspectionId
|
* @param inspectionId
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
@ -47,6 +52,7 @@ public interface IInspectionWorkNodeService extends IService<InspectionWorkNode>
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 分页查询提成
|
* 分页查询提成
|
||||||
|
*
|
||||||
* @param page
|
* @param page
|
||||||
* @param inspectionWorkNode
|
* @param inspectionWorkNode
|
||||||
* @return
|
* @return
|
||||||
@ -57,7 +63,16 @@ public interface IInspectionWorkNodeService extends IService<InspectionWorkNode>
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 重新检测
|
* 重新检测
|
||||||
|
*
|
||||||
* @param workNodes
|
* @param workNodes
|
||||||
*/
|
*/
|
||||||
void recheck(InspectionWorkNode workNodes);
|
void recheck(InspectionWorkNode workNodes);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取员工统计排序
|
||||||
|
*
|
||||||
|
* @param dlInspectionProject
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
List<Map<String, Object>> getStaffCount(DlInspectionProject dlInspectionProject);
|
||||||
}
|
}
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -12,6 +12,7 @@ import cn.iocoder.yudao.module.inspection.service.ProjectRoyaltyService;
|
|||||||
import cn.iocoder.yudao.module.inspection.vo.DlInspectionProjectPageReqVO;
|
import cn.iocoder.yudao.module.inspection.vo.DlInspectionProjectPageReqVO;
|
||||||
import cn.iocoder.yudao.module.inspection.vo.DlInspectionProjectRespVO;
|
import cn.iocoder.yudao.module.inspection.vo.DlInspectionProjectRespVO;
|
||||||
import cn.iocoder.yudao.module.inspection.vo.DlInspectionProjectSaveReqVO;
|
import cn.iocoder.yudao.module.inspection.vo.DlInspectionProjectSaveReqVO;
|
||||||
|
import cn.iocoder.yudao.module.inspection.vo.InspectionOrderExportVo;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
@ -116,4 +117,15 @@ public class DlInspectionProjectServiceImpl extends ServiceImpl<DlInspectionProj
|
|||||||
return baseMapper.selectListPage(page, pageReqVO);
|
return baseMapper.selectListPage(page, pageReqVO);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询项目对应的检测员名称
|
||||||
|
*
|
||||||
|
* @param orderIds 订单id集合
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public List<InspectionOrderExportVo> queryProjectWorkerName(List<Long> orderIds) {
|
||||||
|
return baseMapper.queryProjectWorkerName(orderIds);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
@ -3,13 +3,21 @@ package cn.iocoder.yudao.module.inspection.service.impl;
|
|||||||
import java.util.*;
|
import java.util.*;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
|
import cn.hutool.core.bean.BeanUtil;
|
||||||
import cn.hutool.core.collection.CollUtil;
|
import cn.hutool.core.collection.CollUtil;
|
||||||
|
import cn.hutool.core.lang.Validator;
|
||||||
import cn.hutool.core.util.ObjectUtil;
|
import cn.hutool.core.util.ObjectUtil;
|
||||||
|
import cn.hutool.core.util.StrUtil;
|
||||||
import cn.iocoder.yudao.module.constant.InspectionConstants;
|
import cn.iocoder.yudao.module.constant.InspectionConstants;
|
||||||
import cn.iocoder.yudao.module.infra.dal.dataobject.file.FileDO;
|
import cn.iocoder.yudao.module.infra.dal.dataobject.file.FileDO;
|
||||||
import cn.iocoder.yudao.module.inspection.entity.InspectionFile;
|
import cn.iocoder.yudao.module.inspection.entity.InspectionFile;
|
||||||
import cn.iocoder.yudao.module.inspection.entity.InspectionStaff;
|
import cn.iocoder.yudao.module.inspection.entity.InspectionStaff;
|
||||||
import cn.iocoder.yudao.module.inspection.service.IInspectionFileService;
|
import cn.iocoder.yudao.module.inspection.service.IInspectionFileService;
|
||||||
|
import cn.iocoder.yudao.module.inspection.vo.ImportEquipmentVo;
|
||||||
|
import cn.iocoder.yudao.module.inspection.vo.InspectionEqInfoImportVo;
|
||||||
|
import cn.iocoder.yudao.module.inspection.vo.StaffImportExcelVO;
|
||||||
|
import cn.iocoder.yudao.module.system.api.dict.DictDataApi;
|
||||||
|
import cn.iocoder.yudao.module.system.api.dict.dto.DictDataRespDTO;
|
||||||
import com.baomidou.dynamic.datasource.annotation.DSTransactional;
|
import com.baomidou.dynamic.datasource.annotation.DSTransactional;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
@ -41,6 +49,9 @@ public class InspectionEquInfoServiceImpl extends ServiceImpl<InspectionEquInfoM
|
|||||||
@Autowired
|
@Autowired
|
||||||
private IInspectionFileService inspectionFileService;
|
private IInspectionFileService inspectionFileService;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private DictDataApi dictDataApi;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询equInfo
|
* 查询equInfo
|
||||||
*
|
*
|
||||||
@ -183,6 +194,123 @@ public class InspectionEquInfoServiceImpl extends ServiceImpl<InspectionEquInfoM
|
|||||||
return baseMapper.deleteById(id);
|
return baseMapper.deleteById(id);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 导入设备信息
|
||||||
|
*
|
||||||
|
* @param list 设备信息集合
|
||||||
|
* @return 结果
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public Map<String, Object> importStaff(List<InspectionEqInfoImportVo> list) {
|
||||||
|
if (CollUtil.isEmpty(list)) {
|
||||||
|
throw new RuntimeException("导入数据为空");
|
||||||
|
}
|
||||||
|
Map<String, Object> resultMap = new HashMap<>();
|
||||||
|
|
||||||
|
// 校验导入信息
|
||||||
|
ImportEquipmentVo importEquipmentVo = validImportEquipment(list);
|
||||||
|
// 保存信息
|
||||||
|
int saveNum = saveImportStaff(importEquipmentVo.getSuccessList());
|
||||||
|
resultMap.put("successList", importEquipmentVo.getSuccessList());
|
||||||
|
resultMap.put("failList", importEquipmentVo.getFailList());
|
||||||
|
return resultMap;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 保存导入的设备信息
|
||||||
|
*
|
||||||
|
* @param successList 设备信息集合
|
||||||
|
* @return 结果
|
||||||
|
*/
|
||||||
|
private int saveImportStaff(List<InspectionEqInfoImportVo> successList) {
|
||||||
|
// 批量保存设备信息
|
||||||
|
List<InspectionEquInfo> inspectionEquInfos = BeanUtil.copyToList(successList, InspectionEquInfo.class);
|
||||||
|
this.saveBatch(inspectionEquInfos);
|
||||||
|
|
||||||
|
List<WarnMessage> warnMessages = new ArrayList<>();
|
||||||
|
for (InspectionEquInfo inspectionEqInfoImportVo : inspectionEquInfos) {
|
||||||
|
if (ObjectUtil.isNotEmpty(inspectionEqInfoImportVo.getNextCheckTime())) {
|
||||||
|
//同时处理提醒信息
|
||||||
|
WarnMessage warnMessage = new WarnMessage();
|
||||||
|
warnMessage.setTitle("设备检测即将到期");
|
||||||
|
warnMessage.setContent("名为:" + inspectionEqInfoImportVo.getEquName() + "的设备即将到设定的检测时间,请及时处理相关事项!");
|
||||||
|
warnMessage.setIsRead("0");
|
||||||
|
warnMessage.setPartnerId(inspectionEqInfoImportVo.getPartnerId());
|
||||||
|
warnMessage.setType("equ");
|
||||||
|
warnMessage.setObjectId(inspectionEqInfoImportVo.getId());
|
||||||
|
// 创建Calendar对象
|
||||||
|
Calendar calendar = Calendar.getInstance();
|
||||||
|
calendar.setTime(inspectionEqInfoImportVo.getNextCheckTime());
|
||||||
|
calendar.add(Calendar.MONTH, -1);
|
||||||
|
Date newDate = calendar.getTime();
|
||||||
|
warnMessage.setWarnTime(newDate);
|
||||||
|
|
||||||
|
warnMessages.add(warnMessage);
|
||||||
|
}
|
||||||
|
//批量保存提醒信息
|
||||||
|
if (CollUtil.isNotEmpty(warnMessages)) {
|
||||||
|
messageService.saveBatch(warnMessages);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 验证导入的设备信息
|
||||||
|
*
|
||||||
|
* @param list 设备信息集合
|
||||||
|
* @return 结果
|
||||||
|
*/
|
||||||
|
private ImportEquipmentVo validImportEquipment(List<InspectionEqInfoImportVo> list) {
|
||||||
|
List<InspectionEqInfoImportVo> successList = new ArrayList<>();
|
||||||
|
List<InspectionEqInfoImportVo> failList = new ArrayList<>();
|
||||||
|
|
||||||
|
//查询设备类别
|
||||||
|
// 查询设备类型
|
||||||
|
List<DictDataRespDTO> eqType = dictDataApi.getDictDataList("ins_equ_type");
|
||||||
|
Map<String, String> typeMap = eqType.stream().collect(Collectors.toMap(DictDataRespDTO::getLabel, DictDataRespDTO::getValue));
|
||||||
|
|
||||||
|
//去除示例数据
|
||||||
|
if ("示例设备".equals(list.get(0).getEquName())) {
|
||||||
|
list.remove(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
for (InspectionEqInfoImportVo inspectionEqInfoImportVo : list) {
|
||||||
|
//判断设备名称是否为空
|
||||||
|
if (ObjectUtil.isEmpty(inspectionEqInfoImportVo.getEquName())) {
|
||||||
|
inspectionEqInfoImportVo.setReason("设备名称不能为空");
|
||||||
|
failList.add(inspectionEqInfoImportVo);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
// 判断设备类别是否为空
|
||||||
|
if (ObjectUtil.isEmpty(inspectionEqInfoImportVo.getType())) {
|
||||||
|
inspectionEqInfoImportVo.setReason(inspectionEqInfoImportVo.getEquName() + "设备类别不能为空");
|
||||||
|
failList.add(inspectionEqInfoImportVo);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
if (ObjectUtil.isEmpty(typeMap.get(inspectionEqInfoImportVo.getType()))) {
|
||||||
|
inspectionEqInfoImportVo.setReason(inspectionEqInfoImportVo.getEquName() + "请在下拉框中选择设备类型");
|
||||||
|
failList.add(inspectionEqInfoImportVo);
|
||||||
|
continue;
|
||||||
|
}else {
|
||||||
|
inspectionEqInfoImportVo.setType(typeMap.get(inspectionEqInfoImportVo.getType()));
|
||||||
|
}
|
||||||
|
// 如果邮箱不为空判断是否正确
|
||||||
|
if (ObjectUtil.isNotEmpty(inspectionEqInfoImportVo.getEmail())) {
|
||||||
|
if (!Validator.isEmail(inspectionEqInfoImportVo.getEmail())) {
|
||||||
|
inspectionEqInfoImportVo.setReason(inspectionEqInfoImportVo.getEquName() + "的邮箱格式不正确");
|
||||||
|
failList.add(inspectionEqInfoImportVo);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
successList.add(inspectionEqInfoImportVo);
|
||||||
|
}
|
||||||
|
ImportEquipmentVo importEquipmentVo = new ImportEquipmentVo();
|
||||||
|
importEquipmentVo.setSuccessList(successList);
|
||||||
|
importEquipmentVo.setFailList(failList);
|
||||||
|
return importEquipmentVo;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 添加设备附件
|
* 添加设备附件
|
||||||
*
|
*
|
||||||
|
@ -194,7 +194,7 @@ public class InspectionStaffServiceImpl extends ServiceImpl<InspectionStaffMappe
|
|||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public Map<String, Object> importStaff(List<StaffImportExcelVO> list) {
|
public Map<String, Object> importStaff(List<StaffImportExcelVO> list) {
|
||||||
if (ObjectUtil.isEmpty(list)) {
|
if (CollUtil.isEmpty(list)) {
|
||||||
throw new RuntimeException("导入数据为空");
|
throw new RuntimeException("导入数据为空");
|
||||||
}
|
}
|
||||||
Map<String, Object> resultMap = new HashMap<>();
|
Map<String, Object> resultMap = new HashMap<>();
|
||||||
|
@ -405,6 +405,17 @@ public class InspectionWorkNodeServiceImpl extends ServiceImpl<InspectionWorkNod
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取员工统计排序
|
||||||
|
*
|
||||||
|
* @param dlInspectionProject
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public List<Map<String, Object>> getStaffCount(DlInspectionProject dlInspectionProject) {
|
||||||
|
return baseMapper.getStaffCount(dlInspectionProject);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 判断传入的 InspectionWorkNode 对象是否在集合中有后续项目
|
* 判断传入的 InspectionWorkNode 对象是否在集合中有后续项目
|
||||||
*
|
*
|
||||||
|
@ -0,0 +1,24 @@
|
|||||||
|
package cn.iocoder.yudao.module.inspection.vo;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Description: 导入设备返回对象
|
||||||
|
* @Author: 86187
|
||||||
|
* @Date: 2025/02/13 11:46
|
||||||
|
* @Version: 1.0
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class ImportEquipmentVo {
|
||||||
|
/**
|
||||||
|
* 导入成功的集合
|
||||||
|
*/
|
||||||
|
private List<InspectionEqInfoImportVo> successList;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 导入失败的集合
|
||||||
|
*/
|
||||||
|
private List<InspectionEqInfoImportVo> failList;
|
||||||
|
}
|
@ -1,16 +1,22 @@
|
|||||||
package cn.iocoder.yudao.module.inspection.vo;
|
package cn.iocoder.yudao.module.inspection.vo;
|
||||||
|
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Builder;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @Description: 导入实习生返回对象
|
* @Description: 导入检测员工返回对象
|
||||||
* @Author: 86187
|
* @Author: 86187
|
||||||
* @Date: 2025/02/13 11:46
|
* @Date: 2025/02/13 11:46
|
||||||
* @Version: 1.0
|
* @Version: 1.0
|
||||||
*/
|
*/
|
||||||
@Data
|
@Data
|
||||||
|
@Builder
|
||||||
|
@AllArgsConstructor
|
||||||
|
@NoArgsConstructor
|
||||||
public class ImportStaffVo {
|
public class ImportStaffVo {
|
||||||
/**
|
/**
|
||||||
* 导入成功的集合
|
* 导入成功的集合
|
||||||
|
@ -0,0 +1,119 @@
|
|||||||
|
package cn.iocoder.yudao.module.inspection.vo;
|
||||||
|
|
||||||
|
import cn.iocoder.yudao.module.infra.dal.dataobject.file.FileDO;
|
||||||
|
import com.alibaba.excel.annotation.ExcelIgnore;
|
||||||
|
import com.alibaba.excel.annotation.ExcelProperty;
|
||||||
|
import com.baomidou.mybatisplus.annotation.IdType;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableField;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableId;
|
||||||
|
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.experimental.Accessors;
|
||||||
|
|
||||||
|
import java.util.Date;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Description: 设备导入类
|
||||||
|
* @Author: 86187
|
||||||
|
* @Date: 2025/02/14 9:13
|
||||||
|
* @Version: 1.0
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@Accessors(chain = false) // 禁用链式调用
|
||||||
|
public class InspectionEqInfoImportVo {
|
||||||
|
/**
|
||||||
|
* 设备名称
|
||||||
|
*/
|
||||||
|
@ExcelProperty(value = "设备名称", index = 0)
|
||||||
|
private String equName;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 设备类别(字典:ins_equ_type)
|
||||||
|
*/
|
||||||
|
@ExcelProperty(value = "设备类型", index = 1)
|
||||||
|
private String type;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 设备型号
|
||||||
|
*/
|
||||||
|
@ExcelProperty(value = "型号", index = 2)
|
||||||
|
private String equModel;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 设备编号
|
||||||
|
*/
|
||||||
|
@ExcelProperty(value = "出厂编号", index = 3)
|
||||||
|
private String equNumber;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 有效期
|
||||||
|
*/
|
||||||
|
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||||
|
@ExcelProperty(value = "校准日期", index = 4)
|
||||||
|
private Date validTime;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 下次检定时间
|
||||||
|
*/
|
||||||
|
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||||
|
@ExcelProperty(value = "复校日期", index = 5)
|
||||||
|
private Date nextCheckTime;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 检测证书编号
|
||||||
|
*/
|
||||||
|
@ExcelProperty(value = "证书编号", index = 6)
|
||||||
|
private String certificateNumber;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 制造商
|
||||||
|
*/
|
||||||
|
@ExcelProperty(value = "制造商", index = 7)
|
||||||
|
private String manufacturer;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 上次检定单位
|
||||||
|
*/
|
||||||
|
@ExcelProperty(value = "校准单位", index = 8)
|
||||||
|
private String lastUnit;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 电话
|
||||||
|
*/
|
||||||
|
@ExcelProperty(value = "电话", index = 9)
|
||||||
|
private String mobile;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 地址
|
||||||
|
*/
|
||||||
|
@ExcelProperty(value = "地址", index = 10)
|
||||||
|
private String address;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 邮编
|
||||||
|
*/
|
||||||
|
@ExcelProperty(value = "邮编", index = 11)
|
||||||
|
private String postcode;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 邮箱
|
||||||
|
*/
|
||||||
|
@ExcelProperty(value = "电子邮箱", index = 12)
|
||||||
|
private String email;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 设备检定周期
|
||||||
|
*/
|
||||||
|
// @ExcelProperty(value = "设备检定周期", index = 13)
|
||||||
|
@ExcelIgnore
|
||||||
|
private String equZq;
|
||||||
|
|
||||||
|
@ExcelIgnore
|
||||||
|
private Long id;
|
||||||
|
|
||||||
|
@ExcelIgnore
|
||||||
|
private String reason;
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,27 @@
|
|||||||
|
package cn.iocoder.yudao.module.inspection.vo;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Description: 查询数据库
|
||||||
|
* @Author: 86187
|
||||||
|
* @Date: 2025/02/15 17:11
|
||||||
|
* @Version: 1.0
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class InspectionOrderExportVo {
|
||||||
|
/**
|
||||||
|
* 项目名称
|
||||||
|
*/
|
||||||
|
private String projectName;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 订单编号
|
||||||
|
*/
|
||||||
|
private Long orderId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 工作人员名称
|
||||||
|
*/
|
||||||
|
private String workName;
|
||||||
|
}
|
@ -1,6 +1,8 @@
|
|||||||
package cn.iocoder.yudao.module.payment.entity;
|
package cn.iocoder.yudao.module.payment.entity;
|
||||||
|
|
||||||
import cn.iocoder.yudao.framework.tenant.core.db.TenantBaseDO;
|
import cn.iocoder.yudao.framework.tenant.core.db.TenantBaseDO;
|
||||||
|
import com.alibaba.excel.annotation.ExcelIgnore;
|
||||||
|
import com.alibaba.excel.annotation.ExcelProperty;
|
||||||
import com.baomidou.mybatisplus.annotation.TableField;
|
import com.baomidou.mybatisplus.annotation.TableField;
|
||||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
@ -17,13 +19,17 @@ import java.util.Date;
|
|||||||
@Data
|
@Data
|
||||||
public class OrderInfo extends TenantBaseDO {
|
public class OrderInfo extends TenantBaseDO {
|
||||||
//订单id
|
//订单id
|
||||||
|
@ExcelIgnore
|
||||||
private Long id;
|
private Long id;
|
||||||
|
@ExcelIgnore
|
||||||
private String transactionId;
|
private String transactionId;
|
||||||
//订单号
|
//订单号
|
||||||
|
@ExcelProperty(index = 0, value = "订单号")
|
||||||
private String orderNo;
|
private String orderNo;
|
||||||
//商品id
|
//商品id
|
||||||
private Long goodsId;
|
private Long goodsId;
|
||||||
//商品名称
|
//商品名称
|
||||||
|
@ExcelProperty(index = 11, value = "商品名称")
|
||||||
private String goodsTitle;
|
private String goodsTitle;
|
||||||
private String goodsType;
|
private String goodsType;
|
||||||
private Long skuId;
|
private Long skuId;
|
||||||
@ -31,8 +37,10 @@ public class OrderInfo extends TenantBaseDO {
|
|||||||
//用户id
|
//用户id
|
||||||
private Long userId;
|
private Long userId;
|
||||||
//用户姓名
|
//用户姓名
|
||||||
|
@ExcelProperty(index = 1, value = "客户姓名")
|
||||||
private String realName;
|
private String realName;
|
||||||
//用户手机号
|
//用户手机号
|
||||||
|
@ExcelProperty(index = 2, value = "联系方式")
|
||||||
private String phonenumber;
|
private String phonenumber;
|
||||||
//商品原价 分
|
//商品原价 分
|
||||||
private Long goodsPrice;
|
private Long goodsPrice;
|
||||||
@ -124,14 +132,44 @@ public class OrderInfo extends TenantBaseDO {
|
|||||||
private String isPickCar;
|
private String isPickCar;
|
||||||
private String remark;
|
private String remark;
|
||||||
//车牌号
|
//车牌号
|
||||||
|
@ExcelProperty(index = 3, value = "车牌号")
|
||||||
private String carNo;
|
private String carNo;
|
||||||
//车辆品牌型号
|
//车辆品牌型号
|
||||||
|
@ExcelProperty(index = 4, value = "品牌类型")
|
||||||
private String carModel;
|
private String carModel;
|
||||||
//车辆性质 非营运 营运等
|
//车辆性质 非营运 营运等
|
||||||
|
@ExcelProperty(index = 8, value = "使用性质")
|
||||||
private String carNature;
|
private String carNature;
|
||||||
//车架号
|
//车架号
|
||||||
|
@ExcelProperty(index = 5, value = "车架号")
|
||||||
private String carIdNo;
|
private String carIdNo;
|
||||||
|
|
||||||
|
@ExcelProperty(index = 6, value = "住址")
|
||||||
|
@TableField(exist = false)
|
||||||
|
private String userAddress;
|
||||||
|
|
||||||
|
@ExcelProperty(index = 7, value = "单位")
|
||||||
|
@TableField(exist = false)
|
||||||
|
private String unitName;
|
||||||
|
|
||||||
|
@ExcelProperty(index = 9, value = "来源")
|
||||||
|
@TableField(exist = false)
|
||||||
|
private String customerName;
|
||||||
|
|
||||||
|
@ExcelProperty(index = 10, value = "代办人电话")
|
||||||
|
@TableField(exist = false)
|
||||||
|
private String phone;
|
||||||
|
|
||||||
|
@ExcelProperty(index = 12, value = "新旧车")
|
||||||
|
@TableField(exist = false)
|
||||||
|
private String carStatus;
|
||||||
|
|
||||||
|
@TableField(exist = false)
|
||||||
|
private Long payMoneyStr;
|
||||||
|
|
||||||
|
@TableField(exist = false)
|
||||||
|
private Double inspectionTime;
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -12,6 +12,8 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|||||||
import com.baomidou.mybatisplus.extension.service.IService;
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
import org.springframework.data.repository.query.Param;
|
import org.springframework.data.repository.query.Param;
|
||||||
|
|
||||||
|
import javax.servlet.http.HttpServletResponse;
|
||||||
|
import java.io.IOException;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
@ -81,5 +83,13 @@ public interface OrderInfoService extends IService<OrderInfo> {
|
|||||||
IPage<OrderInfo> orderListPc(Page<OrderInfo> page,OrderInfo orderInfo);
|
IPage<OrderInfo> orderListPc(Page<OrderInfo> page,OrderInfo orderInfo);
|
||||||
|
|
||||||
OrderInfo getOrderByOrderNo(String orderNo);
|
OrderInfo getOrderByOrderNo(String orderNo);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 导出订单
|
||||||
|
* @param response 响应
|
||||||
|
* @param shopInspectionOrder 订单
|
||||||
|
* @param page 分页
|
||||||
|
*/
|
||||||
|
void exportExcel(HttpServletResponse response, OrderInfo shopInspectionOrder, Page<OrderInfo> page) throws IOException;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,10 +1,13 @@
|
|||||||
package cn.iocoder.yudao.module.payment.service.impl;
|
package cn.iocoder.yudao.module.payment.service.impl;
|
||||||
|
|
||||||
|
import cn.hutool.core.bean.BeanUtil;
|
||||||
import cn.hutool.core.util.ObjectUtil;
|
import cn.hutool.core.util.ObjectUtil;
|
||||||
|
import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils;
|
||||||
import cn.iocoder.yudao.framework.security.core.LoginUser;
|
import cn.iocoder.yudao.framework.security.core.LoginUser;
|
||||||
import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils;
|
import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils;
|
||||||
import cn.iocoder.yudao.module.inspection.entity.*;
|
import cn.iocoder.yudao.module.inspection.entity.*;
|
||||||
import cn.iocoder.yudao.module.inspection.service.*;
|
import cn.iocoder.yudao.module.inspection.service.*;
|
||||||
|
import cn.iocoder.yudao.module.inspection.vo.InspectionOrderExportVo;
|
||||||
import cn.iocoder.yudao.module.partner.entity.PartnerWorker;
|
import cn.iocoder.yudao.module.partner.entity.PartnerWorker;
|
||||||
import cn.iocoder.yudao.module.partner.service.IPartnerWorkerService;
|
import cn.iocoder.yudao.module.partner.service.IPartnerWorkerService;
|
||||||
import cn.iocoder.yudao.module.payment.entity.OrderInfo;
|
import cn.iocoder.yudao.module.payment.entity.OrderInfo;
|
||||||
@ -13,6 +16,7 @@ import cn.iocoder.yudao.module.payment.entity.commentVo;
|
|||||||
import cn.iocoder.yudao.module.payment.mapper.OrderInfoMapper;
|
import cn.iocoder.yudao.module.payment.mapper.OrderInfoMapper;
|
||||||
import cn.iocoder.yudao.module.payment.service.IOrderInfoDetailService;
|
import cn.iocoder.yudao.module.payment.service.IOrderInfoDetailService;
|
||||||
import cn.iocoder.yudao.module.payment.service.OrderInfoService;
|
import cn.iocoder.yudao.module.payment.service.OrderInfoService;
|
||||||
|
import cn.iocoder.yudao.module.payment.vo.OrderInfoExportVo;
|
||||||
import cn.iocoder.yudao.module.shop.entity.*;
|
import cn.iocoder.yudao.module.shop.entity.*;
|
||||||
import cn.iocoder.yudao.module.shop.service.*;
|
import cn.iocoder.yudao.module.shop.service.*;
|
||||||
import cn.iocoder.yudao.module.system.dal.dataobject.permission.RoleDO;
|
import cn.iocoder.yudao.module.system.dal.dataobject.permission.RoleDO;
|
||||||
@ -21,10 +25,12 @@ import cn.iocoder.yudao.module.system.service.permission.PermissionService;
|
|||||||
import cn.iocoder.yudao.module.system.service.permission.RoleService;
|
import cn.iocoder.yudao.module.system.service.permission.RoleService;
|
||||||
import cn.iocoder.yudao.module.system.service.user.AdminUserService;
|
import cn.iocoder.yudao.module.system.service.user.AdminUserService;
|
||||||
import cn.iocoder.yudao.util.StringUtils;
|
import cn.iocoder.yudao.util.StringUtils;
|
||||||
|
import com.alibaba.excel.EasyExcel;
|
||||||
import com.alibaba.fastjson.JSONObject;
|
import com.alibaba.fastjson.JSONObject;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import org.apache.commons.lang3.ObjectUtils;
|
import org.apache.commons.lang3.ObjectUtils;
|
||||||
@ -32,8 +38,11 @@ import org.springframework.beans.factory.annotation.Autowired;
|
|||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
|
import javax.servlet.http.HttpServletResponse;
|
||||||
|
import java.io.IOException;
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
|
import java.util.concurrent.TimeUnit;
|
||||||
import java.util.concurrent.locks.Lock;
|
import java.util.concurrent.locks.Lock;
|
||||||
import java.util.concurrent.locks.ReentrantLock;
|
import java.util.concurrent.locks.ReentrantLock;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
@ -78,6 +87,8 @@ public class OrderInfoServiceImpl extends ServiceImpl<OrderInfoMapper, OrderInfo
|
|||||||
private IShopRepairGoodsService repairGoodsService;
|
private IShopRepairGoodsService repairGoodsService;
|
||||||
@Autowired
|
@Autowired
|
||||||
private IShopMallPartnersService shopMallPartnersService;
|
private IShopMallPartnersService shopMallPartnersService;
|
||||||
|
@Autowired
|
||||||
|
private DlInspectionProjectService dlInspectionProjectService;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void reviewOrder(String orderId, Integer starLevel, String reviewStr) throws Exception {
|
public void reviewOrder(String orderId, Integer starLevel, String reviewStr) throws Exception {
|
||||||
@ -845,5 +856,103 @@ public class OrderInfoServiceImpl extends ServiceImpl<OrderInfoMapper, OrderInfo
|
|||||||
return this.getOne(queryWrapper);
|
return this.getOne(queryWrapper);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 导出订单
|
||||||
|
*
|
||||||
|
* @param response 响应
|
||||||
|
* @param shopInspectionOrder 订单
|
||||||
|
* @param page 分页
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public void exportExcel(HttpServletResponse response, OrderInfo shopInspectionOrder, Page<OrderInfo> page) throws IOException {
|
||||||
|
// 查询订单数据
|
||||||
|
List<OrderInfo> orderInfoIPage = queryListPage(shopInspectionOrder, page).getRecords();
|
||||||
|
List<OrderInfoExportVo> objects = BeanUtil.copyToList(orderInfoIPage, OrderInfoExportVo.class);
|
||||||
|
|
||||||
|
// 计算检测时长
|
||||||
|
objects.forEach(item -> {
|
||||||
|
if (ObjectUtil.isNotEmpty(item.getStartTime()) && ObjectUtil.isNotEmpty(item.getEndTime())) {
|
||||||
|
long diff = item.getEndTime().getTime() - item.getStartTime().getTime();
|
||||||
|
long hours = TimeUnit.MILLISECONDS.toHours(diff);
|
||||||
|
long minutes = TimeUnit.MILLISECONDS.toMinutes(diff) % 60;
|
||||||
|
String inspectionTime = String.format("%d小时%d分", hours, minutes);
|
||||||
|
item.setInspectionTime(inspectionTime);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
// 查询所有检测项目
|
||||||
|
List<DlInspectionProject> projectList = dlInspectionProjectService.list(Wrappers.<DlInspectionProject>lambdaQuery()
|
||||||
|
.orderBy(true, true,DlInspectionProject::getSort));
|
||||||
|
|
||||||
|
// 动态构建表头
|
||||||
|
List<List<String>> head = new ArrayList<>();
|
||||||
|
// 固定列
|
||||||
|
head.add(Collections.singletonList("订单号"));
|
||||||
|
head.add(Collections.singletonList("客户姓名"));
|
||||||
|
head.add(Collections.singletonList("联系方式"));
|
||||||
|
head.add(Collections.singletonList("车牌号"));
|
||||||
|
head.add(Collections.singletonList("品牌类型"));
|
||||||
|
head.add(Collections.singletonList("车架号"));
|
||||||
|
head.add(Collections.singletonList("住址"));
|
||||||
|
head.add(Collections.singletonList("单位"));
|
||||||
|
head.add(Collections.singletonList("使用性质"));
|
||||||
|
head.add(Collections.singletonList("来源"));
|
||||||
|
head.add(Collections.singletonList("代办人电话"));
|
||||||
|
head.add(Collections.singletonList("商品名称"));
|
||||||
|
head.add(Collections.singletonList("新旧车"));
|
||||||
|
head.add(Collections.singletonList("开始时间"));
|
||||||
|
head.add(Collections.singletonList("结束时间"));
|
||||||
|
head.add(Collections.singletonList("检测时长"));
|
||||||
|
head.add(Collections.singletonList("支付方式"));
|
||||||
|
head.add(Collections.singletonList("金额"));
|
||||||
|
// 动态列(检测项目)
|
||||||
|
for (DlInspectionProject project : projectList) {
|
||||||
|
head.add(Collections.singletonList(project.getProjectName()));
|
||||||
|
}
|
||||||
|
|
||||||
|
List<Long> orderIds = orderInfoIPage.stream().map(OrderInfo::getId).collect(Collectors.toList());
|
||||||
|
|
||||||
|
List<InspectionOrderExportVo> projectWorkerNames = dlInspectionProjectService.queryProjectWorkerName(orderIds);
|
||||||
|
|
||||||
|
// 动态构建数据
|
||||||
|
List<List<Object>> data = new ArrayList<>();
|
||||||
|
for (OrderInfoExportVo item : objects) {
|
||||||
|
List<Object> row = new ArrayList<>();
|
||||||
|
// 固定列数据
|
||||||
|
row.add(item.getOrderNo());
|
||||||
|
row.add(item.getRealName());
|
||||||
|
row.add(item.getPhonenumber());
|
||||||
|
row.add(item.getCarNo());
|
||||||
|
row.add(item.getCarModel());
|
||||||
|
row.add(item.getCarIdNo());
|
||||||
|
row.add(item.getUserAddress());
|
||||||
|
row.add(item.getUnitName());
|
||||||
|
row.add(item.getCarNature());
|
||||||
|
row.add(item.getCustomerName());
|
||||||
|
row.add(item.getWorkerPhone());
|
||||||
|
row.add(item.getGoodsTitle());
|
||||||
|
row.add(item.getCarStatus());
|
||||||
|
row.add(item.getStartTime());
|
||||||
|
row.add(item.getEndTime());
|
||||||
|
row.add(item.getInspectionTime());
|
||||||
|
row.add(item.getPayType());
|
||||||
|
row.add(item.getPayMoneyStr());
|
||||||
|
// 动态列数据
|
||||||
|
for (InspectionOrderExportVo project : projectWorkerNames) {
|
||||||
|
row.add(item.getDynamicColumns().get(project.getWorkName()));
|
||||||
|
}
|
||||||
|
data.add(row);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// 导出 Excel
|
||||||
|
EasyExcel.write(response.getOutputStream())
|
||||||
|
.head(head) // 设置动态表头
|
||||||
|
.sheet("检测商品信息")
|
||||||
|
.doWrite(data); // 写入数据
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -0,0 +1,41 @@
|
|||||||
|
package cn.iocoder.yudao.module.payment.vo;
|
||||||
|
|
||||||
|
import com.alibaba.excel.annotation.ExcelProperty;
|
||||||
|
import com.alibaba.excel.annotation.write.style.ColumnWidth;
|
||||||
|
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.util.Date;
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Description: 导出订单
|
||||||
|
* @Author: 86187
|
||||||
|
* @Date: 2025/02/15 10:49
|
||||||
|
* @Version: 1.0
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class OrderInfoExportVo {
|
||||||
|
private String orderNo;
|
||||||
|
private String realName;
|
||||||
|
private String phonenumber;
|
||||||
|
private String carNo;
|
||||||
|
private String carModel;
|
||||||
|
private String carIdNo;
|
||||||
|
private String userAddress;
|
||||||
|
private String unitName;
|
||||||
|
private String carNature;
|
||||||
|
private String customerName;
|
||||||
|
private String workerPhone;
|
||||||
|
private String goodsTitle;
|
||||||
|
private String carStatus;
|
||||||
|
private Date startTime;
|
||||||
|
private Date endTime;
|
||||||
|
private String inspectionTime;
|
||||||
|
private String payType;
|
||||||
|
private Long payMoneyStr;
|
||||||
|
|
||||||
|
// 动态列数据
|
||||||
|
private Map<String, Object> dynamicColumns = new HashMap<>();
|
||||||
|
}
|
@ -95,7 +95,7 @@
|
|||||||
inspection_project_royalty AS royalty
|
inspection_project_royalty AS royalty
|
||||||
ON node.project_id = royalty.project_id and orders.goods_id = royalty.goods_id
|
ON node.project_id = royalty.project_id and orders.goods_id = royalty.goods_id
|
||||||
<where>
|
<where>
|
||||||
node.status = '2' AND info.status = '1'
|
node.status = '2' AND info.status = '1' and node.deleted = 0
|
||||||
<if test="inspectionWorkNode.createTime != null">
|
<if test="inspectionWorkNode.createTime != null">
|
||||||
AND node.create_time = #{inspectionWorkNode.createTime}
|
AND node.create_time = #{inspectionWorkNode.createTime}
|
||||||
</if>
|
</if>
|
||||||
@ -115,7 +115,32 @@
|
|||||||
AND node.create_time BETWEEN #{inspectionWorkNode.rescueStart} AND #{inspectionWorkNode.rescueEnd}
|
AND node.create_time BETWEEN #{inspectionWorkNode.rescueStart} AND #{inspectionWorkNode.rescueEnd}
|
||||||
</if>
|
</if>
|
||||||
</where>
|
</where>
|
||||||
|
group by node.deal_user_id
|
||||||
ORDER BY
|
ORDER BY
|
||||||
node.create_time DESC;
|
node.create_time DESC;
|
||||||
</select>
|
</select>
|
||||||
|
<select id="getStaffCount" resultType="java.util.Map"
|
||||||
|
parameterType="cn.iocoder.yudao.module.inspection.entity.DlInspectionProject">
|
||||||
|
SELECT iwn.deal_user_id, -- 处理人员ID
|
||||||
|
su.nickname, -- 处理人员名称
|
||||||
|
COUNT(iwn.deal_user_id) AS orderCount, -- 统计每个员工接单的数量
|
||||||
|
SUM(IFNULL(royalty.royalty_amount, 0) / 100) AS royaltyAmount -- 计算每个员工的总佣金
|
||||||
|
FROM inspection_work_node iwn
|
||||||
|
LEFT JOIN inspection_project AS proj -- Assuming this is the table for project details
|
||||||
|
ON iwn.project_id = proj.id
|
||||||
|
LEFT JOIN system_users su ON su.id = iwn.deal_user_id
|
||||||
|
LEFT JOIN inspection_info AS info ON iwn.inspection_info_id = info.id
|
||||||
|
LEFT JOIN order_info orders ON info.inspection_order_id = orders.id
|
||||||
|
LEFT JOIN inspection_project_royalty AS royalty ON iwn.project_id = royalty.project_id
|
||||||
|
AND orders.goods_id = royalty.goods_id
|
||||||
|
|
||||||
|
WHERE iwn.deleted = 0 -- 排除已删除的数据
|
||||||
|
AND iwn.deal_user_id IS NOT NULL -- 排除 deal_user_id 为 NULL 的记录
|
||||||
|
AND iwn.`status` = 2
|
||||||
|
AND info.`status` = 1
|
||||||
|
|
||||||
|
GROUP BY iwn.deal_user_id -- 根据处理人员ID和名称进行分组
|
||||||
|
|
||||||
|
ORDER BY orderCount DESC; -- 根据接单数量进行降序排序
|
||||||
|
</select>
|
||||||
</mapper>
|
</mapper>
|
||||||
|
@ -217,7 +217,7 @@ where sig.partner_id =#{partnerId}
|
|||||||
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
|
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
|
from
|
||||||
inspection_info info
|
inspection_info info
|
||||||
LEFT JOIN inspection_step_info step ON info.id = st ep.inspection_info_id
|
LEFT JOIN inspection_step_info step ON info.id = step.inspection_info_id
|
||||||
INNER JOIN system_users su on su.id = info.user_id
|
INNER JOIN system_users su on su.id = info.user_id
|
||||||
INNER JOIN order_info oi on oi.id = info.inspection_order_id
|
INNER JOIN order_info oi on oi.id = info.inspection_order_id
|
||||||
WHERE info.status = #{status} and info.partner_id = #{partnerId}
|
WHERE info.status = #{status} and info.partner_id = #{partnerId}
|
||||||
@ -649,4 +649,19 @@ FROM
|
|||||||
) t2
|
) t2
|
||||||
GROUP BY t2.type
|
GROUP BY t2.type
|
||||||
</select>
|
</select>
|
||||||
|
<select id="queryInspectionSkuList" resultType="java.util.Map">
|
||||||
|
SELECT
|
||||||
|
sku_name AS skuName,
|
||||||
|
COUNT(*) AS orderCount
|
||||||
|
FROM
|
||||||
|
order_info
|
||||||
|
<where>
|
||||||
|
sku_name IN ('年审', '上户', '双燃料', '非定检', '其他检测')
|
||||||
|
<if test="startTime != null">
|
||||||
|
AND create_time BETWEEN #{startTime} AND #{endTime}
|
||||||
|
</if>
|
||||||
|
</where>
|
||||||
|
GROUP BY
|
||||||
|
sku_name;
|
||||||
|
</select>
|
||||||
</mapper>
|
</mapper>
|
||||||
|
@ -25,4 +25,31 @@
|
|||||||
</where>
|
</where>
|
||||||
ORDER BY sort
|
ORDER BY sort
|
||||||
</select>
|
</select>
|
||||||
|
<select id="queryProjectWorkerName" resultType="cn.iocoder.yudao.module.inspection.vo.InspectionOrderExportVo">
|
||||||
|
SELECT
|
||||||
|
iw.inspection_info_id orderId,
|
||||||
|
iw.id AS nodeId,
|
||||||
|
ip.project_name,
|
||||||
|
iw.deal_user_name AS workName,
|
||||||
|
iw.deal_user_id
|
||||||
|
FROM
|
||||||
|
inspection_work_node iw
|
||||||
|
JOIN
|
||||||
|
inspection_project ip ON iw.project_id = ip.id
|
||||||
|
WHERE
|
||||||
|
iw.inspection_info_id IN (
|
||||||
|
SELECT
|
||||||
|
ii.id
|
||||||
|
FROM
|
||||||
|
inspection_info ii
|
||||||
|
WHERE
|
||||||
|
ii.inspection_order_id IN (
|
||||||
|
<foreach collection="orderIds" item="orderId" separator=",">
|
||||||
|
#{orderId}
|
||||||
|
</foreach>
|
||||||
|
)
|
||||||
|
)
|
||||||
|
ORDER BY
|
||||||
|
iw.inspection_info_id, iw.order_num;
|
||||||
|
</select>
|
||||||
</mapper>
|
</mapper>
|
@ -54,6 +54,7 @@
|
|||||||
oi.comment_desc,
|
oi.comment_desc,
|
||||||
oi.comment_star,
|
oi.comment_star,
|
||||||
suc.car_no
|
suc.car_no
|
||||||
|
-- oi.pay_money
|
||||||
FROM
|
FROM
|
||||||
`order_info` oi
|
`order_info` oi
|
||||||
LEFT JOIN system_users su ON su.id = oi.user_id
|
LEFT JOIN system_users su ON su.id = oi.user_id
|
||||||
@ -253,17 +254,32 @@
|
|||||||
oi.order_status,
|
oi.order_status,
|
||||||
oi.comment_desc,
|
oi.comment_desc,
|
||||||
oi.comment_star,
|
oi.comment_star,
|
||||||
suc.car_no
|
-- suc.car_no,
|
||||||
|
info.car_num as carNo,
|
||||||
|
info.car_model,
|
||||||
|
info.car_id_no,
|
||||||
|
info.user_address,
|
||||||
|
info.unit_name,
|
||||||
|
info.car_nature,
|
||||||
|
info.customer_source as customerName,
|
||||||
|
info.worker_phone,
|
||||||
|
info.car_status,
|
||||||
|
oi.pay_money / 100 as payMoneyStr,
|
||||||
|
info.start_time,
|
||||||
|
info.end_time,
|
||||||
|
-- end_time 减去 start_time
|
||||||
|
DATE_FORMAT(info.end_time, '%Y-%m-%d %H:%i:%s') - DATE_FORMAT(info.start_time, '%Y-%m-%d %H:%i:%s') as inspectionTime
|
||||||
FROM
|
FROM
|
||||||
`order_info` oi
|
`order_info` oi
|
||||||
LEFT JOIN system_users su ON su.id = oi.user_id
|
LEFT JOIN system_users su ON su.id = oi.user_id
|
||||||
left join shop_user_car suc on suc.car_id = oi.user_car_id
|
left join shop_user_car suc on suc.car_id = oi.user_car_id
|
||||||
|
LEFT JOIN inspection_info info on info.inspection_order_id = oi.id
|
||||||
where 1=1
|
where 1=1
|
||||||
<if test="entity.orderStatus!=null and entity.orderStatus!='' ">
|
<if test="entity.orderStatus!=null and entity.orderStatus!='' ">
|
||||||
and oi.order_status = #{entity.orderStatus}
|
and oi.order_status = #{entity.orderStatus}
|
||||||
</if>
|
</if>
|
||||||
<if test="entity.validationTime!=null">
|
<if test="entity.validationTime!=null">
|
||||||
and oi.validation_time is not null
|
-- and oi.validation_time is not null
|
||||||
</if>
|
</if>
|
||||||
<if test="entity.realName!=null and entity.realName!='' ">
|
<if test="entity.realName!=null and entity.realName!='' ">
|
||||||
and oi.real_name like concat('%',#{entity.realName},'%')
|
and oi.real_name like concat('%',#{entity.realName},'%')
|
||||||
|
@ -89,108 +89,90 @@ public class ExcelUtils {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 导出空白模板Excel,并为指定列添加下拉框和日期时间格式验证
|
* 导出空白模板Excel,并为指定列添加下拉框和日期时间格式验证,同时支持自定义示例数据。
|
||||||
*
|
*
|
||||||
* @param response HttpServletResponse
|
* @param response HttpServletResponse,用于将生成的Excel文件写入响应流。
|
||||||
* @param fileName 文件名
|
* @param fileName 导出的Excel文件名。
|
||||||
* @param sheetName 工作表名称
|
* @param sheetName 工作表名称。
|
||||||
* @param headerMap 表头字段映射(列索引 -> 列名称)
|
* @param headerArray 表头字段数组(每个元素代表一列的表头名称)。
|
||||||
* @param dropdownColumns 带下拉框的列及选项(列索引 -> 下拉框选项数组)
|
* @param dropdownColumns 带下拉框的列及选项(列索引 -> 下拉框选项数组)。
|
||||||
* @param dateTimeColumns 需要验证日期时间格式的列(列索引)
|
* @param isMultiSelect 是否允许多选的下拉框选项。
|
||||||
* @param isMultiSelect 是否允许多选
|
* @param exampleDataList 自定义的示例数据(每个元素是一个包含多列数据的List)。
|
||||||
* @throws IOException
|
* @param textColumns 需要设置为文本格式的列索引列表。
|
||||||
|
* @throws IOException 如果在写入文件或操作Excel时发生错误。
|
||||||
*/
|
*/
|
||||||
public static void exportBlankTemplate(HttpServletResponse response, String fileName, String sheetName,
|
public static void exportBlankTemplate(HttpServletResponse response, String fileName, String sheetName,
|
||||||
Map<Integer, String> headerMap,
|
String[] headerArray, // 接收一个字符串数组作为表头
|
||||||
Map<Integer, String[]> dropdownColumns,
|
Map<Integer, String[]> dropdownColumns,
|
||||||
int[] dateTimeColumns,
|
|
||||||
boolean isMultiSelect,
|
boolean isMultiSelect,
|
||||||
List<List<String>> exampleDataList,
|
List<List<String>> exampleDataList,
|
||||||
List<Integer> textColumns) throws IOException {
|
List<Integer> textColumns) throws IOException {
|
||||||
|
|
||||||
|
// 创建工作簿对象,支持xlsx格式
|
||||||
Workbook workbook = new XSSFWorkbook();
|
Workbook workbook = new XSSFWorkbook();
|
||||||
|
// 创建一个工作表
|
||||||
Sheet sheet = workbook.createSheet(sheetName);
|
Sheet sheet = workbook.createSheet(sheetName);
|
||||||
|
|
||||||
// 创建表头
|
// 创建表头
|
||||||
Row headerRow = sheet.createRow(0);
|
Row headerRow = sheet.createRow(0);
|
||||||
for (Map.Entry<Integer, String> entry : headerMap.entrySet()) {
|
for (int i = 0; i < headerArray.length; i++) {
|
||||||
headerRow.createCell(entry.getKey()).setCellValue(entry.getValue());
|
// 根据传入的表头数组动态创建每一列的表头
|
||||||
|
headerRow.createCell(i).setCellValue(headerArray[i]); // 使用数组来填充表头
|
||||||
}
|
}
|
||||||
|
|
||||||
// 创建一个 CellStyle 对象,用于设置文本格式
|
|
||||||
CellStyle textCellStyle = workbook.createCellStyle();
|
|
||||||
DataFormat dataFormat = workbook.createDataFormat();
|
|
||||||
textCellStyle.setDataFormat(dataFormat.getFormat("@")); // "@" 表示文本格式
|
|
||||||
|
|
||||||
// 为每个需要文本格式的列设置整个列的文本格式
|
|
||||||
for (Integer columnIndex : textColumns) {
|
if (textColumns != null) {
|
||||||
setColumnTextFormat(sheet, columnIndex, textCellStyle);
|
// 创建一个 CellStyle 对象,用于设置文本格式
|
||||||
|
CellStyle textCellStyle = workbook.createCellStyle();
|
||||||
|
DataFormat dataFormat = workbook.createDataFormat();
|
||||||
|
textCellStyle.setDataFormat(dataFormat.getFormat("@")); // "@" 表示文本格式
|
||||||
|
// 为每个需要文本格式的列设置整个列的文本格式
|
||||||
|
for (Integer columnIndex : textColumns) {
|
||||||
|
// 调用辅助方法,设置特定列的单元格为文本格式
|
||||||
|
setColumnTextFormat(sheet, columnIndex, textCellStyle);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// 添加多行自定义示例数据
|
if (exampleDataList != null) {
|
||||||
for (int i = 0; i < exampleDataList.size(); i++) {
|
// 添加多行自定义示例数据
|
||||||
List<String> exampleData = exampleDataList.get(i);
|
for (int i = 0; i < exampleDataList.size(); i++) {
|
||||||
Row exampleRow = sheet.createRow(i + 1); // 示例数据从第二行开始
|
// 获取每一行的示例数据
|
||||||
for (int j = 0; j < exampleData.size(); j++) {
|
List<String> exampleData = exampleDataList.get(i);
|
||||||
Cell cell = exampleRow.createCell(j);
|
// 在表格中创建新的一行
|
||||||
cell.setCellValue(exampleData.get(j));
|
Row exampleRow = sheet.createRow(i + 1); // 示例数据从第二行开始
|
||||||
|
for (int j = 0; j < exampleData.size(); j++) {
|
||||||
// 如果当前列索引在 textColumns 列表中,则设置为文本格式
|
// 在每一列添加数据
|
||||||
if (textColumns.contains(j)) {
|
Cell cell = exampleRow.createCell(j);
|
||||||
cell.setCellStyle(textCellStyle);
|
cell.setCellValue(exampleData.get(j));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// 添加下拉框到指定列
|
// 添加下拉框到指定列
|
||||||
if (dropdownColumns != null) {
|
if (dropdownColumns != null) {
|
||||||
|
// 遍历所有需要添加下拉框的列
|
||||||
for (Map.Entry<Integer, String[]> entry : dropdownColumns.entrySet()) {
|
for (Map.Entry<Integer, String[]> entry : dropdownColumns.entrySet()) {
|
||||||
|
// 调用辅助方法添加下拉框
|
||||||
addDropdownValidation(sheet, entry.getKey(), entry.getValue(), isMultiSelect);
|
addDropdownValidation(sheet, entry.getKey(), entry.getValue(), isMultiSelect);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// 添加日期时间格式验证到指定列
|
|
||||||
if (dateTimeColumns != null) {
|
|
||||||
for (int columnIndex : dateTimeColumns) {
|
|
||||||
addDateTimeValidation(sheet, columnIndex);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// 设置响应头,指示浏览器下载文件
|
// 设置响应头,指示浏览器下载文件
|
||||||
response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
|
response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
|
||||||
response.setHeader("Content-Disposition", "attachment; filename=" + URLEncoder.encode(fileName, StandardCharsets.UTF_8.name()) + ".xlsx");
|
response.setHeader("Content-Disposition", "attachment; filename=" + URLEncoder.encode(fileName, StandardCharsets.UTF_8.name()) + ".xlsx");
|
||||||
|
|
||||||
// 将 Excel 文件写入输出流
|
// 将生成的 Excel 文件写入到输出流
|
||||||
try (ServletOutputStream out = response.getOutputStream()) {
|
try (ServletOutputStream out = response.getOutputStream()) {
|
||||||
workbook.write(out);
|
workbook.write(out); // 写入文件
|
||||||
out.flush();
|
out.flush(); // 刷新输出流
|
||||||
} finally {
|
} finally {
|
||||||
|
// 关闭工作簿对象,释放资源
|
||||||
workbook.close();
|
workbook.close();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 为指定列添加日期时间格式验证
|
|
||||||
*
|
|
||||||
* @param sheet 工作表
|
|
||||||
* @param columnIndex 需要验证日期时间格式的列索引
|
|
||||||
*/
|
|
||||||
private static void addDateTimeValidation(Sheet sheet, int columnIndex) {
|
|
||||||
// 使用 Excel 的数据验证机制为指定列添加日期时间格式验证
|
|
||||||
DataValidationHelper validationHelper = sheet.getDataValidationHelper();
|
|
||||||
DataValidationConstraint constraint = validationHelper.createCustomConstraint(
|
|
||||||
"AND(ISNUMBER(" + CellReference.convertNumToColString(columnIndex) + "1), TEXT(" + CellReference.convertNumToColString(columnIndex) + "1, \"yyyy-mm-dd hh:mm:ss\")= " +
|
|
||||||
"\"yyyy-mm-dd\")");
|
|
||||||
|
|
||||||
CellRangeAddressList addressList = new CellRangeAddressList(1, sheet.getPhysicalNumberOfRows(), columnIndex, columnIndex);
|
|
||||||
DataValidation validation = validationHelper.createValidation(constraint, addressList);
|
|
||||||
|
|
||||||
sheet.addValidationData(validation);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// 修改下拉框验证方法,支持多选功能
|
// 修改下拉框验证方法,支持多选功能
|
||||||
private static void addDropdownValidation(Sheet sheet, int column, String[] options, boolean isMultiSelect) {
|
private static void addDropdownValidation(Sheet sheet, int column, String[] options, boolean isMultiSelect) {
|
||||||
DataValidationHelper validationHelper = sheet.getDataValidationHelper();
|
DataValidationHelper validationHelper = sheet.getDataValidationHelper();
|
||||||
|
Loading…
Reference in New Issue
Block a user