This commit is contained in:
许允枞 2025-02-19 18:02:39 +08:00
parent 11973d88e2
commit bbaeff1b19
12 changed files with 169 additions and 88 deletions

View File

@ -22,8 +22,8 @@ public class WorkReportSaveReqVO {
private String reportTopic; private String reportTopic;
@Schema(description = "汇报时间") @Schema(description = "汇报时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") @JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8")
private LocalDateTime reportTime; private Date reportTime;
@Schema(description = "汇报内容") @Schema(description = "汇报内容")
private String reportContent; private String reportContent;

View File

@ -57,6 +57,8 @@ public class InspectionInfo extends TenantBaseDO
//车子状态 新车 旧车等 //车子状态 新车 旧车等
private String carStatus; private String carStatus;
private String carIdNo; private String carIdNo;
// 车辆注册时间
private Date carRegisterDate;
/** 0不通过1通过 */ /** 0不通过1通过 */
@Excel(name = "0不通过1通过") @Excel(name = "0不通过1通过")
private String isPass; private String isPass;

View File

@ -0,0 +1,32 @@
package cn.iocoder.yudao.module.inspection.query;
import lombok.Data;
/**
* @Description: 查询订单信息
* @Author: 86187
* @Date: 2025/02/17 11:31
* @Version: 1.0
*/
@Data
public class OrderBydateQuery {
/**
* 开始时间
*/
private String startTime;
/**
* 结束时间
*/
private String endTime;
/**
* 状态
*/
private String chooseStatus;
/**
* 车龄
*/
private String carAge;
}

View File

@ -114,7 +114,9 @@ public class InspectionStaffServiceImpl extends ServiceImpl<InspectionStaffMappe
//查询文件夹 //查询文件夹
InspectionStaff staff1 = this.getOne(Wrappers.<InspectionStaff>lambdaQuery().eq(InspectionStaff::getUserId, inspectionStaffVo.getUserId())); InspectionStaff staff1 = this.getOne(Wrappers.<InspectionStaff>lambdaQuery().eq(InspectionStaff::getUserId, inspectionStaffVo.getUserId()));
addFile(inspectionStaffVo.getFileList(), inspectionStaffVo.getNickname(), staff1.getFolderId(), staff1.getUserId()); if (CollUtil.isNotEmpty(inspectionStaffVo.getFileList())) {
addFile(inspectionStaffVo.getFileList(), inspectionStaffVo.getNickname(), staff1.getFolderId(), staff1.getUserId());
}
return true; return true;
} }

View File

@ -24,4 +24,9 @@ public class InspectionOrderExportVo {
* 工作人员名称 * 工作人员名称
*/ */
private String workName; private String workName;
/**
* 项目id
*/
private String projectId;
} }

View File

@ -170,6 +170,18 @@ public class OrderInfo extends TenantBaseDO {
@TableField(exist = false) @TableField(exist = false)
private Double inspectionTime; private Double inspectionTime;
@TableField(exist = false)
private Long orderId;
/**
* 车龄(查询时使用)
*/
@TableField(exist = false)
private Integer carAge;
@TableField(exist = false)
private Integer nextCarAge;
} }

View File

@ -98,11 +98,11 @@ public class OrderInfoServiceImpl extends ServiceImpl<OrderInfoMapper, OrderInfo
} }
LambdaUpdateWrapper<OrderInfo> wrapper = new LambdaUpdateWrapper<>(); LambdaUpdateWrapper<OrderInfo> wrapper = new LambdaUpdateWrapper<>();
wrapper.eq(OrderInfo::getId, orderId) wrapper.eq(OrderInfo::getId, orderId)
.set(OrderInfo::getCommentTime,new Date()) .set(OrderInfo::getCommentTime, new Date())
.set(OrderInfo::getCommentStar, starLevel).set(OrderInfo::getCommentDesc, reviewStr) .set(OrderInfo::getCommentStar, starLevel).set(OrderInfo::getCommentDesc, reviewStr)
.set(OrderInfo::getOrderStatus, "3"); .set(OrderInfo::getOrderStatus, "3");
this.update(wrapper); this.update(wrapper);
orderInfoDetailService.save(new OrderInfoDetail(orderInfo.getId(),"评论订单",new Date(),0L,"1")); orderInfoDetailService.save(new OrderInfoDetail(orderInfo.getId(), "评论订单", new Date(), 0L, "1"));
//计算当前店铺评分 //计算当前店铺评分
if (ObjectUtil.isNotEmpty(orderInfo.getPartnerId())) { if (ObjectUtil.isNotEmpty(orderInfo.getPartnerId())) {
Double score = baseMapper.avgPartnerScore(orderInfo.getPartnerId()); Double score = baseMapper.avgPartnerScore(orderInfo.getPartnerId());
@ -111,71 +111,72 @@ public class OrderInfoServiceImpl extends ServiceImpl<OrderInfoMapper, OrderInfo
partnerService.updateById(partner); partnerService.updateById(partner);
} }
} }
@Override @Override
public IPage<OrderInfo> orderListApp(Page<OrderInfo> page,String status, String title, String type) { public IPage<OrderInfo> orderListApp(Page<OrderInfo> page, String status, String title, String type) {
LoginUser user = SecurityFrameworkUtils.getLoginUser(); LoginUser user = SecurityFrameworkUtils.getLoginUser();
return baseMapper.orderListApp(page,user.getId(), status, title, type); return baseMapper.orderListApp(page, user.getId(), status, title, type);
} }
@Override @Override
public List<InspectionInfo> workOrder(Long partnerId, String carNum, String goodsTitle, String customerSource, String payType, String startTime, Long roleId, String endTime) { public List<InspectionInfo> workOrder(Long partnerId, String carNum, String goodsTitle, String customerSource, String payType, String startTime, Long roleId, String endTime) {
if (StringUtils.isNotEmpty(startTime)){ if (StringUtils.isNotEmpty(startTime)) {
startTime = startTime+" 00:00:00"; startTime = startTime + " 00:00:00";
} }
if (StringUtils.isNotEmpty(endTime)){ if (StringUtils.isNotEmpty(endTime)) {
endTime = endTime+" 23:59:59"; endTime = endTime + " 23:59:59";
} }
return iInspectionInfoService.workOrder(partnerId,carNum,goodsTitle, customerSource, payType, startTime, roleId,endTime); return iInspectionInfoService.workOrder(partnerId, carNum, goodsTitle, customerSource, payType, startTime, roleId, endTime);
} }
@Override @Override
public IPage<InspectionInfo> pageWorkOrder(Long partnerId, String carNum, String goodsTitle, String customerSource, String payType, String startTime, Long roleId, String endTime, Page<InspectionInfo> page) { public IPage<InspectionInfo> pageWorkOrder(Long partnerId, String carNum, String goodsTitle, String customerSource, String payType, String startTime, Long roleId, String endTime, Page<InspectionInfo> page) {
if (StringUtils.isNotEmpty(startTime)){ if (StringUtils.isNotEmpty(startTime)) {
startTime = startTime+" 00:00:00"; startTime = startTime + " 00:00:00";
} }
if (StringUtils.isNotEmpty(endTime)){ if (StringUtils.isNotEmpty(endTime)) {
endTime = endTime+" 23:59:59"; endTime = endTime + " 23:59:59";
} }
return iInspectionInfoService.pageWorkOrder(partnerId,carNum,goodsTitle, customerSource, payType, startTime, roleId,endTime,page); return iInspectionInfoService.pageWorkOrder(partnerId, carNum, goodsTitle, customerSource, payType, startTime, roleId, endTime, page);
} }
@Override @Override
public Map<String, Object> workOrderData(Long partnerId, String carNum, String goodsTitle, String customerSource, String payType, String startTime, Long roleId, String endTime) { public Map<String, Object> workOrderData(Long partnerId, String carNum, String goodsTitle, String customerSource, String payType, String startTime, Long roleId, String endTime) {
if (StringUtils.isNotEmpty(startTime)){ if (StringUtils.isNotEmpty(startTime)) {
startTime = startTime+" 00:00:00"; startTime = startTime + " 00:00:00";
} }
if (StringUtils.isNotEmpty(endTime)){ if (StringUtils.isNotEmpty(endTime)) {
endTime = endTime+" 23:59:59"; endTime = endTime + " 23:59:59";
} }
return iInspectionInfoService.workOrderData(partnerId,carNum,goodsTitle, customerSource, payType, startTime, roleId,endTime); return iInspectionInfoService.workOrderData(partnerId, carNum, goodsTitle, customerSource, payType, startTime, roleId, endTime);
} }
@Override @Override
public List<InspectionInfo> delworkOrder(Long partnerId, String carNum, String goodsTitle, String customerSource, String payType, String startTime, Long roleId, String endTime) { public List<InspectionInfo> delworkOrder(Long partnerId, String carNum, String goodsTitle, String customerSource, String payType, String startTime, Long roleId, String endTime) {
if (StringUtils.isNotEmpty(startTime)){ if (StringUtils.isNotEmpty(startTime)) {
startTime = startTime+" 00:00:00"; startTime = startTime + " 00:00:00";
} }
if (StringUtils.isNotEmpty(endTime)){ if (StringUtils.isNotEmpty(endTime)) {
endTime = endTime+" 23:59:59"; endTime = endTime + " 23:59:59";
} }
return iInspectionInfoService.delworkOrder(partnerId,carNum,goodsTitle, customerSource, payType, startTime, roleId,endTime); return iInspectionInfoService.delworkOrder(partnerId, carNum, goodsTitle, customerSource, payType, startTime, roleId, endTime);
} }
@Override @Override
public IPage<InspectionInfo> pageDelworkOrder(Long partnerId, String carNum, String goodsTitle, String customerSource, String payType, String startTime, Long roleId, String endTime, Page<InspectionInfo> page) { public IPage<InspectionInfo> pageDelworkOrder(Long partnerId, String carNum, String goodsTitle, String customerSource, String payType, String startTime, Long roleId, String endTime, Page<InspectionInfo> page) {
if (StringUtils.isNotEmpty(startTime)){ if (StringUtils.isNotEmpty(startTime)) {
startTime = startTime+" 00:00:00"; startTime = startTime + " 00:00:00";
} }
if (StringUtils.isNotEmpty(endTime)){ if (StringUtils.isNotEmpty(endTime)) {
endTime = endTime+" 23:59:59"; endTime = endTime + " 23:59:59";
} }
return iInspectionInfoService.pageDelWorkOrder(partnerId,carNum,goodsTitle, customerSource, payType, startTime, roleId,endTime,page); return iInspectionInfoService.pageDelWorkOrder(partnerId, carNum, goodsTitle, customerSource, payType, startTime, roleId, endTime, page);
} }
@Override @Override
public IPage<OrderInfo> orderListSystem(Page<OrderInfo> page,OrderInfo orderInfo) { public IPage<OrderInfo> orderListSystem(Page<OrderInfo> page, OrderInfo orderInfo) {
return baseMapper.orderListSystem(page,orderInfo); return baseMapper.orderListSystem(page, orderInfo);
} }
/** /**
@ -189,7 +190,10 @@ public class OrderInfoServiceImpl extends ServiceImpl<OrderInfoMapper, OrderInfo
**/ **/
@Override @Override
public IPage<OrderInfo> queryListPage(OrderInfo orderInfo, Page<OrderInfo> page) { public IPage<OrderInfo> queryListPage(OrderInfo orderInfo, Page<OrderInfo> page) {
return baseMapper.pageOrderListSystem(orderInfo,page); if (ObjectUtil.isNotNull(orderInfo.getCarAge())) {
orderInfo.setNextCarAge(orderInfo.getCarAge() + 1);
}
return baseMapper.pageOrderListSystem(orderInfo, page);
} }
@ -212,7 +216,7 @@ public class OrderInfoServiceImpl extends ServiceImpl<OrderInfoMapper, OrderInfo
throw new Exception("请输入买单金额!"); throw new Exception("请输入买单金额!");
} }
if (StringUtils.isNotEmpty(orderInfo.getPayType())&&orderInfo.getPayType().equals("sz")){ if (StringUtils.isNotEmpty(orderInfo.getPayType()) && orderInfo.getPayType().equals("sz")) {
Set<Long> userRoleIdListByUserId = permissionService.getUserRoleIdListByUserId(user.getId()); Set<Long> userRoleIdListByUserId = permissionService.getUserRoleIdListByUserId(user.getId());
List<RoleDO> roleList = roleService.getRoleList(userRoleIdListByUserId); List<RoleDO> roleList = roleService.getRoleList(userRoleIdListByUserId);
boolean flag = false; boolean flag = false;
@ -222,7 +226,7 @@ public class OrderInfoServiceImpl extends ServiceImpl<OrderInfoMapper, OrderInfo
break; break;
} }
} }
if (!flag){ if (!flag) {
throw new Exception("您不是代办 请不要选择赊账!"); throw new Exception("您不是代办 请不要选择赊账!");
} }
} }
@ -312,15 +316,15 @@ public class OrderInfoServiceImpl extends ServiceImpl<OrderInfoMapper, OrderInfo
} }
this.save(createOrder); this.save(createOrder);
//追加订单明细记录 //追加订单明细记录
OrderInfoDetail detail =new OrderInfoDetail(createOrder.getId(),"创建订单",new Date(),0L,"0"); OrderInfoDetail detail = new OrderInfoDetail(createOrder.getId(), "创建订单", new Date(), 0L, "0");
orderInfoDetailService.save(detail); orderInfoDetailService.save(detail);
if (ObjectUtil.isNotEmpty(orderInfo.getAppointmentId())){ if (ObjectUtil.isNotEmpty(orderInfo.getAppointmentId())) {
//处理预约记录 //处理预约记录
orderInfo.setId(createOrder.getId()); orderInfo.setId(createOrder.getId());
this.dealAppointment(orderInfo); this.dealAppointment(orderInfo);
} }
if (ObjectUtil.isNotEmpty(orderInfo.getPickCarId())){ if (ObjectUtil.isNotEmpty(orderInfo.getPickCarId())) {
//处理上门取车服务 //处理上门取车服务
orderInfo.setId(createOrder.getId()); orderInfo.setId(createOrder.getId());
this.dealPickCar(orderInfo); this.dealPickCar(orderInfo);
@ -362,14 +366,14 @@ public class OrderInfoServiceImpl extends ServiceImpl<OrderInfoMapper, OrderInfo
createOrder.setPayType("balance"); createOrder.setPayType("balance");
this.updateById(createOrder); this.updateById(createOrder);
//追加订单明细记录 //追加订单明细记录
orderInfoDetailService.save(new OrderInfoDetail(createOrder.getId(),"支付成功",new Date(),createOrder.getPayMoney(),"0")); orderInfoDetailService.save(new OrderInfoDetail(createOrder.getId(), "支付成功", new Date(), createOrder.getPayMoney(), "0"));
//店铺销量+1 //店铺销量+1
if (goods.getLong("partnerId") != null) { if (goods.getLong("partnerId") != null) {
partnerService.addSalesNum(goods.getLong("partnerId")); partnerService.addSalesNum(goods.getLong("partnerId"));
} }
return 11111111L; return 11111111L;
} else if (StringUtils.isNotEmpty(createOrder.getPayType())&&createOrder.getPayType().equals("sz")){ } else if (StringUtils.isNotEmpty(createOrder.getPayType()) && createOrder.getPayType().equals("sz")) {
//赊账的情况 //赊账的情况
//支付方式为余额支付 //支付方式为余额支付
createOrder.setPayType("sz"); createOrder.setPayType("sz");
@ -437,24 +441,24 @@ public class OrderInfoServiceImpl extends ServiceImpl<OrderInfoMapper, OrderInfo
res.put("skuName", skuInfo.getSkuName()); res.put("skuName", skuInfo.getSkuName());
priceFen = skuInfo.getPrice(); priceFen = skuInfo.getPrice();
try { try {
if (roleKeys.contains("jcdb")){ if (roleKeys.contains("jcdb")) {
//先判断是否为代办 //先判断是否为代办
priceFen=skuInfo.getDbPrice(); priceFen = skuInfo.getDbPrice();
}else if (roleKeys.contains("jcdwgly")){ } else if (roleKeys.contains("jcdwgly")) {
//单位管理员 //单位管理员
priceFen=skuInfo.getDwPrice(); priceFen = skuInfo.getDwPrice();
}else if (roleKeys.contains("jcworker")||roleKeys.contains("jcshop")){ } else if (roleKeys.contains("jcworker") || roleKeys.contains("jcshop")) {
//检测工人 //检测工人
//判断是否为当前店铺的工人 //判断是否为当前店铺的工人
LambdaQueryWrapper<PartnerWorker> queryWrapper1 =new LambdaQueryWrapper<>(); LambdaQueryWrapper<PartnerWorker> queryWrapper1 = new LambdaQueryWrapper<>();
queryWrapper1.eq(PartnerWorker::getUserId,userId).eq(PartnerWorker::getPartnerId,shopInspectionGoods.getPartnerId()).last("limit 1"); queryWrapper1.eq(PartnerWorker::getUserId, userId).eq(PartnerWorker::getPartnerId, shopInspectionGoods.getPartnerId()).last("limit 1");
PartnerWorker one = workerService.getOne(queryWrapper1); PartnerWorker one = workerService.getOne(queryWrapper1);
if (ObjectUtils.isNotEmpty(one)){ if (ObjectUtils.isNotEmpty(one)) {
priceFen=skuInfo.getYgPrice(); priceFen = skuInfo.getYgPrice();
} }
} }
}catch (Exception e){ } catch (Exception e) {
log.error(e.getMessage()); log.error(e.getMessage());
} }
} else { } else {
@ -484,8 +488,7 @@ public class OrderInfoServiceImpl extends ServiceImpl<OrderInfoMapper, OrderInfo
if (StringUtils.isEmpty(shopInspectionGoods.getIsAttend()) || shopInspectionGoods.getIsAttend().equals("0") || shopInspectionGoods.getIsSpecial() == 1 || ObjectUtils.isEmpty(userLevel) || 0 == userLevel) { if (StringUtils.isEmpty(shopInspectionGoods.getIsAttend()) || shopInspectionGoods.getIsAttend().equals("0") || shopInspectionGoods.getIsSpecial() == 1 || ObjectUtils.isEmpty(userLevel) || 0 == userLevel) {
//直接计算原价 //直接计算原价
realPrice = priceFen; realPrice = priceFen;
} } else if (userLevel == 1) {
else if (userLevel == 1) {
//白银会员 //白银会员
//获取会员的优惠折扣 //获取会员的优惠折扣
BigDecimal inspectionPlatinum = shopConfig.getInspectionSilver(); BigDecimal inspectionPlatinum = shopConfig.getInspectionSilver();
@ -508,9 +511,9 @@ public class OrderInfoServiceImpl extends ServiceImpl<OrderInfoMapper, OrderInfo
} }
reduceMoney = priceFen - realPrice; reduceMoney = priceFen - realPrice;
//追加汽车上门取车服务费用 //追加汽车上门取车服务费用
if (ObjectUtil.isNotEmpty(orderInfo.getPickCarId())){ if (ObjectUtil.isNotEmpty(orderInfo.getPickCarId())) {
JSONObject jsonObject = pickCarDetail(orderInfo.getPickCarId()); JSONObject jsonObject = pickCarDetail(orderInfo.getPickCarId());
realPrice = realPrice +jsonObject.getLong("pickCarPrice"); realPrice = realPrice + jsonObject.getLong("pickCarPrice");
} }
res.put("payMoney", realPrice); res.put("payMoney", realPrice);
} else if (orderInfo.getGoodsType().equals("qx")) { } else if (orderInfo.getGoodsType().equals("qx")) {
@ -610,8 +613,8 @@ public class OrderInfoServiceImpl extends ServiceImpl<OrderInfoMapper, OrderInfo
return buff.toString(); return buff.toString();
} }
private void dealAppointment(OrderInfo orderInfo){ private void dealAppointment(OrderInfo orderInfo) {
if (orderInfo.getGoodsType().equals("jc")){ if (orderInfo.getGoodsType().equals("jc")) {
InspectionAppointment appointment = appointmentService.getById(orderInfo.getAppointmentId()); InspectionAppointment appointment = appointmentService.getById(orderInfo.getAppointmentId());
appointment.setOrderId(orderInfo.getId()); appointment.setOrderId(orderInfo.getId());
appointmentService.updateById(appointment); appointmentService.updateById(appointment);
@ -637,21 +640,23 @@ public class OrderInfoServiceImpl extends ServiceImpl<OrderInfoMapper, OrderInfo
} }
} }
private void dealPickCar(OrderInfo orderInfo){
if (orderInfo.getGoodsType().equals("jc")){ private void dealPickCar(OrderInfo orderInfo) {
if (orderInfo.getGoodsType().equals("jc")) {
InspectionPickCar pickCarInfo = pickCarService.getById(orderInfo.getPickCarId()); InspectionPickCar pickCarInfo = pickCarService.getById(orderInfo.getPickCarId());
pickCarInfo.setOrderId(orderInfo.getId()); pickCarInfo.setOrderId(orderInfo.getId());
pickCarService.updateById(pickCarInfo); pickCarService.updateById(pickCarInfo);
//追加订单明细记录 //追加订单明细记录
orderInfoDetailService.save(new OrderInfoDetail(orderInfo.getId(),"上门取车费用",new Date(),pickCarInfo.getNeedPrice(),"1")); orderInfoDetailService.save(new OrderInfoDetail(orderInfo.getId(), "上门取车费用", new Date(), pickCarInfo.getNeedPrice(), "1"));
} }
} }
@Override @Override
public JSONObject pickCarDetail(Long pickCarId) { public JSONObject pickCarDetail(Long pickCarId) {
JSONObject res =new JSONObject(); JSONObject res = new JSONObject();
InspectionPickCar pickCar = pickCarService.getById(pickCarId); InspectionPickCar pickCar = pickCarService.getById(pickCarId);
res.put("pickCarPrice",Optional.ofNullable(pickCar.getNeedPrice()).orElse(0L)); res.put("pickCarPrice", Optional.ofNullable(pickCar.getNeedPrice()).orElse(0L));
return res; return res;
} }
@ -716,17 +721,17 @@ public class OrderInfoServiceImpl extends ServiceImpl<OrderInfoMapper, OrderInfo
shopCoupon.setCouponStatus("0"); shopCoupon.setCouponStatus("0");
shopCouponService.updateShopCoupon(shopCoupon); shopCouponService.updateShopCoupon(shopCoupon);
} }
LambdaUpdateWrapper<InspectionAppointment> queryWrapper =new LambdaUpdateWrapper<>(); LambdaUpdateWrapper<InspectionAppointment> queryWrapper = new LambdaUpdateWrapper<>();
queryWrapper.set(InspectionAppointment::getOrderId,null).eq(InspectionAppointment::getOrderId,orderId); queryWrapper.set(InspectionAppointment::getOrderId, null).eq(InspectionAppointment::getOrderId, orderId);
appointmentService.update(queryWrapper); appointmentService.update(queryWrapper);
} }
@Override @Override
public IPage<OrderInfo> orderList(Page<OrderInfo> page,String status, String title) { public IPage<OrderInfo> orderList(Page<OrderInfo> page, String status, String title) {
LoginUser user = SecurityFrameworkUtils.getLoginUser(); LoginUser user = SecurityFrameworkUtils.getLoginUser();
return baseMapper.orderList(page,user.getId(), status, title); return baseMapper.orderList(page, user.getId(), status, title);
} }
/** /**
@ -796,7 +801,7 @@ public class OrderInfoServiceImpl extends ServiceImpl<OrderInfoMapper, OrderInfo
if (orderInfo != null && "1".equals(orderInfo.getOrderStatus())) { if (orderInfo != null && "1".equals(orderInfo.getOrderStatus())) {
ShopMallPartners shopMallPartners = shopMallPartnersService.selectShopMallPartnersByUserId(sysUser.getId(),"sc"); ShopMallPartners shopMallPartners = shopMallPartnersService.selectShopMallPartnersByUserId(sysUser.getId(), "sc");
if (!Objects.equals(orderInfo.getPartnerId(), shopMallPartners.getPartnerId())) { if (!Objects.equals(orderInfo.getPartnerId(), shopMallPartners.getPartnerId())) {
return "非本店铺核销码"; return "非本店铺核销码";
} }
@ -814,15 +819,15 @@ public class OrderInfoServiceImpl extends ServiceImpl<OrderInfoMapper, OrderInfo
@Override @Override
public IPage<OrderInfo> validationListWx(Page<OrderInfo> page) { public IPage<OrderInfo> validationListWx(Page<OrderInfo> page) {
return baseMapper.validationListWx(page,SecurityFrameworkUtils.getLoginUserId()); return baseMapper.validationListWx(page, SecurityFrameworkUtils.getLoginUserId());
} }
// pc端核销记录 商城 // pc端核销记录 商城
@Override @Override
public IPage<OrderInfo> validationListPc(Page<OrderInfo> page) { public IPage<OrderInfo> validationListPc(Page<OrderInfo> page) {
ShopMallPartners shopMallPartners = shopMallPartnersService.selectShopMallPartnersByUserId(SecurityFrameworkUtils.getLoginUserId(),"sc"); ShopMallPartners shopMallPartners = shopMallPartnersService.selectShopMallPartnersByUserId(SecurityFrameworkUtils.getLoginUserId(), "sc");
Long partnerId = shopMallPartners.getPartnerId(); Long partnerId = shopMallPartners.getPartnerId();
return baseMapper.validationListPc(page,partnerId); return baseMapper.validationListPc(page, partnerId);
} }
@Override @Override
@ -840,13 +845,13 @@ public class OrderInfoServiceImpl extends ServiceImpl<OrderInfoMapper, OrderInfo
} }
@Override @Override
public IPage<commentVo> getCommentOrderList(Page<commentVo> page, Long partnerId) { public IPage<commentVo> getCommentOrderList(Page<commentVo> page, Long partnerId) {
return baseMapper.getCommentOrderList(page,partnerId); return baseMapper.getCommentOrderList(page, partnerId);
} }
@Override @Override
public IPage<OrderInfo> orderListPc(Page<OrderInfo> page, OrderInfo orderInfo) { public IPage<OrderInfo> orderListPc(Page<OrderInfo> page, OrderInfo orderInfo) {
return baseMapper.orderListPc(page,orderInfo); return baseMapper.orderListPc(page, orderInfo);
} }
@Override @Override
@ -880,9 +885,9 @@ public class OrderInfoServiceImpl extends ServiceImpl<OrderInfoMapper, OrderInfo
} }
}); });
// 查询所有检测项目 // 查询所有检测项目 动态添加到excel表头
List<DlInspectionProject> projectList = dlInspectionProjectService.list(Wrappers.<DlInspectionProject>lambdaQuery() List<DlInspectionProject> projectList = dlInspectionProjectService.list(Wrappers.<DlInspectionProject>lambdaQuery()
.orderBy(true, true,DlInspectionProject::getSort)); .orderBy(true, true, DlInspectionProject::getSort));
// 动态构建表头 // 动态构建表头
List<List<String>> head = new ArrayList<>(); List<List<String>> head = new ArrayList<>();
@ -900,15 +905,15 @@ public class OrderInfoServiceImpl extends ServiceImpl<OrderInfoMapper, OrderInfo
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()));
}
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<Long> orderIds = orderInfoIPage.stream().map(OrderInfo::getId).collect(Collectors.toList());
@ -932,21 +937,31 @@ public class OrderInfoServiceImpl extends ServiceImpl<OrderInfoMapper, OrderInfo
row.add(item.getWorkerPhone()); row.add(item.getWorkerPhone());
row.add(item.getGoodsTitle()); row.add(item.getGoodsTitle());
row.add(item.getCarStatus()); row.add(item.getCarStatus());
// 动态列数据
//获取所有orderId = item.orderId的数据
List<InspectionOrderExportVo> projecttList = projectWorkerNames.stream().filter(i -> i.getOrderId().equals(item.getOrderId())).collect(Collectors.toList());
for (DlInspectionProject dlInspectionProject : projectList) {
boolean flag = false;
for (InspectionOrderExportVo project : projecttList) {
if (dlInspectionProject.getId().equals(project.getProjectId())) {
flag = true;
row.add(project.getWorkName());
}
}
if (!flag) {
row.add("");
}
}
row.add(item.getStartTime()); row.add(item.getStartTime());
row.add(item.getEndTime()); row.add(item.getEndTime());
row.add(item.getInspectionTime()); row.add(item.getInspectionTime());
row.add(item.getPayType()); row.add(item.getPayType());
row.add(item.getPayMoneyStr()); row.add(item.getPayMoneyStr());
// 动态列数据
for (InspectionOrderExportVo project : projectWorkerNames) {
row.add(item.getDynamicColumns().get(project.getWorkName()));
}
data.add(row); data.add(row);
} }
// 导出 Excel // 导出 Excel
EasyExcel.write(response.getOutputStream()) EasyExcel.write(response.getOutputStream())
.head(head) // 设置动态表头 .head(head) // 设置动态表头

View File

@ -35,6 +35,7 @@ public class OrderInfoExportVo {
private String inspectionTime; private String inspectionTime;
private String payType; private String payType;
private Long payMoneyStr; private Long payMoneyStr;
private Long orderId;
// 动态列数据 // 动态列数据
private Map<String, Object> dynamicColumns = new HashMap<>(); private Map<String, Object> dynamicColumns = new HashMap<>();

View File

@ -31,7 +31,8 @@
iw.id AS nodeId, iw.id AS nodeId,
ip.project_name, ip.project_name,
iw.deal_user_name AS workName, iw.deal_user_name AS workName,
iw.deal_user_id iw.deal_user_id,
ip.id as projectId
FROM FROM
inspection_work_node iw inspection_work_node iw
JOIN JOIN

View File

@ -267,6 +267,7 @@
oi.pay_money / 100 as payMoneyStr, oi.pay_money / 100 as payMoneyStr,
info.start_time, info.start_time,
info.end_time, info.end_time,
info.id as orderId,
-- end_time 减去 start_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 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
@ -279,7 +280,7 @@
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},'%')
@ -305,6 +306,10 @@
<if test="entity.endTime!=null "> <if test="entity.endTime!=null ">
and oi.pay_time <![CDATA[<=]]> #{entity.endTime} and oi.pay_time <![CDATA[<=]]> #{entity.endTime}
</if> </if>
<if test="entity.carAge != null">
AND car_register_date BETWEEN DATE_SUB(CURDATE(), INTERVAL #{nextCarAge} YEAR)
AND DATE_SUB(CURDATE(), INTERVAL #{entity.carAge} YEAR)
</if>
<if test="entity.partnerId!=null "> <if test="entity.partnerId!=null ">
and oi.partner_id = #{entity.partnerId} and oi.partner_id = #{entity.partnerId}
</if> </if>

View File

@ -58,5 +58,9 @@ public class UserDTO {
* 用户状态 * 用户状态
*/ */
private Integer status; private Integer status;
/**
* 角色名称 多个角色以逗号隔开
*/
private String roleNames;
} }

View File

@ -21,7 +21,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</select> </select>
<select id="selectListByRoleId" resultType="cn.iocoder.yudao.module.system.api.user.dto.UserDTO" <select id="selectListByRoleId" resultType="cn.iocoder.yudao.module.system.api.user.dto.UserDTO"
parameterType="cn.iocoder.yudao.module.system.controller.admin.permission.vo.role.RolePageReqVO"> parameterType="cn.iocoder.yudao.module.system.controller.admin.permission.vo.role.RolePageReqVO">
select distinct su.* select distinct su.*,GROUP_CONCAT(DISTINCT sr2.name SEPARATOR ',') AS roleNames
from system_users su from system_users su
left join system_user_role sr on su.id = sr.user_id left join system_user_role sr on su.id = sr.user_id
left join system_role sr2 on sr.role_id = sr2.id left join system_role sr2 on sr.role_id = sr2.id
@ -34,6 +34,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
and (su.nickname like CONCAT('%',#{role.nickname},'%') OR su.username like CONCAT('%',#{role.nickname},'%')) and (su.nickname like CONCAT('%',#{role.nickname},'%') OR su.username like CONCAT('%',#{role.nickname},'%'))
</if> </if>
</where> </where>
group by su.id
order by su.nickname
</select> </select>
<select id="userCodes" resultType="cn.iocoder.yudao.module.system.api.user.dto.UserRoleDTO"> <select id="userCodes" resultType="cn.iocoder.yudao.module.system.api.user.dto.UserRoleDTO">
SELECT SELECT