This commit is contained in:
PQZ 2024-10-23 17:59:27 +08:00
commit f28590ed0f
24 changed files with 232 additions and 93 deletions

View File

@ -187,6 +187,14 @@ public class PartnerOwnController extends BaseController {
{ {
return success(partnerList.hotGoodsList(partnerId)); return success(partnerList.hotGoodsList(partnerId));
} }
/**
* 热销商品列表
*/
@GetMapping("/newHotGoodsList")
public CommonResult newHotGoodsList()
{
return success(partnerList.newHotGoodsList());
}
/** /**

View File

@ -20,6 +20,7 @@ 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();
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);
@ -32,6 +33,7 @@ public interface AppInspectionPartnerMapper extends BaseMapper<ShopMallPartners>
Integer allAmount(@Param("partnerId") Long partnerId); Integer allAmount(@Param("partnerId") Long partnerId);
Integer todayAmount(@Param("partnerId") Long partnerId,@Param("timeStr") String timeStr); Integer todayAmount(@Param("partnerId") Long partnerId,@Param("timeStr") String timeStr);
List<HotGoodsVo> hotGoodsList(@Param("partnerId") Long partnerId,@Param("dateStr")String dateStr); List<HotGoodsVo> hotGoodsList(@Param("partnerId") Long partnerId,@Param("dateStr")String dateStr);
List<HotGoodsVo> newHotGoodsList(@Param("dateStr")String dateStr);
IPage<GoodsVo> manageGoodsList(Page<GoodsVo> page,@Param("partnerId") Long partnerId, @Param("isListing")String isListing,@Param("goodsTitle") String goodsTitle); 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); IPage<OrderAppDetail> orderList(Page<OrderAppDetail> page,@Param("partnerId") Long partnerId, @Param("phoneNum") String phoneNum,@Param("title") String title);
List<PartnerWorker> getWorkList(@Param("partnerId")Long partnerId, @Param("postId") Long postId, @Param("workName") String workName, @Param("phoneNum")String phoneNum); List<PartnerWorker> getWorkList(@Param("partnerId")Long partnerId, @Param("postId") Long postId, @Param("workName") String workName, @Param("phoneNum")String phoneNum);

View File

@ -49,6 +49,7 @@ public interface AppInspectionPartnerService extends IService<ShopMallPartners>
JSONObject newChartInfoRatio(String unit); JSONObject newChartInfoRatio(String unit);
List<OrderInfo> orderInfo(Long partnerId); List<OrderInfo> orderInfo(Long partnerId);
List<HotGoodsVo> hotGoodsList(Long partnerId); List<HotGoodsVo> hotGoodsList(Long partnerId);
List<HotGoodsVo> newHotGoodsList();
void addGoods(ShopInspectionGoods goods) throws Exception; void addGoods(ShopInspectionGoods goods) throws Exception;
IPage<GoodsVo> goodsList(Page<GoodsVo> page,Long partnerId, String isListing, String goodsTitle); IPage<GoodsVo> goodsList(Page<GoodsVo> page,Long partnerId, String isListing, String goodsTitle);
List<JSONObject> canUseGoods(Long partnerId); List<JSONObject> canUseGoods(Long partnerId);

View File

@ -983,6 +983,11 @@ public class AppInspectionPartnerServiceImpl extends ServiceImpl<AppInspectionPa
String dateStr = DateUtil.format(new Date(), "yyyy-MM-dd"); String dateStr = DateUtil.format(new Date(), "yyyy-MM-dd");
return baseMapper.hotGoodsList(partnerId,dateStr); return baseMapper.hotGoodsList(partnerId,dateStr);
} }
@Override
public List<HotGoodsVo> newHotGoodsList() {
String dateStr = DateUtil.format(new Date(), "yyyy-MM-dd");
return baseMapper.newHotGoodsList(dateStr);
}
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)

View File

@ -6,6 +6,9 @@
<select id="selectById" resultType="cn.iocoder.yudao.module.shop.entity.ShopMallPartners" > <select id="selectById" resultType="cn.iocoder.yudao.module.shop.entity.ShopMallPartners" >
select * from shop_mall_partners where partner_id = #{id} select * from shop_mall_partners where partner_id = #{id}
</select> </select>
<select id="selectByIdNew" resultType="cn.iocoder.yudao.module.shop.entity.ShopMallPartners" >
select * from shop_mall_partners
</select>
<select id="partnerList" parameterType="cn.iocoder.yudao.module.inspection.query.PartnerListQuery" resultType="cn.iocoder.yudao.module.inspection.vo.PartnerListVo"> <select id="partnerList" parameterType="cn.iocoder.yudao.module.inspection.query.PartnerListQuery" resultType="cn.iocoder.yudao.module.inspection.vo.PartnerListVo">
SELECT SELECT
smp.partner_logo, smp.partner_logo,
@ -143,6 +146,20 @@ GROUP BY
goods.id goods.id
order by salesNum desc order by salesNum desc
</select> </select>
<select id="newHotGoodsList" resultType="cn.iocoder.yudao.module.inspection.vo.HotGoodsVo">
SELECT
goods.title AS goodsName,
SUM( case when (ii.`status`='1' and ii.is_pass = '1') or (ii.`status`='0') then oi.goods_price else 0 end ) AS salesAmount,
SUM( case when (ii.`status`='1' and ii.is_pass = '1') or (ii.`status`='0') then 1 else 0 end ) AS salesNum
FROM
order_info oi
left join shop_inspection_goods goods on goods.id = oi.goods_id
left JOIN inspection_info ii on oi.id = ii.inspection_order_id
WHERE validation_time is not null and validation_time like concat(#{dateStr},'%')
GROUP BY
goods.id
order by salesNum desc
</select>
<select id="manageGoodsList" resultType="cn.iocoder.yudao.module.inspection.vo.GoodsVo"> <select id="manageGoodsList" resultType="cn.iocoder.yudao.module.inspection.vo.GoodsVo">
SELECT SELECT
sig.id as goodsId,sig.title as goodsTitle,sig.image as goodsImage,sig.price,count(oi.id) as salesNum,sig.listing_status,sig.reject_reason sig.id as goodsId,sig.title as goodsTitle,sig.image as goodsImage,sig.price,count(oi.id) as salesNum,sig.listing_status,sig.reject_reason
@ -411,7 +428,7 @@ FROM
FROM FROM
order_info oi order_info oi
INNER JOIN inspection_info ii on oi.id = ii.inspection_order_id INNER JOIN inspection_info ii on oi.id = ii.inspection_order_id
left join system_dict_data sdd on sdd.value = ii.customer_source and sdd.dict_type = concat('customer_source-',#{partnerId}) left join system_dict_data sdd on sdd.value = ii.customer_source
WHERE ii.create_time BETWEEN #{startTime} and #{endTime} WHERE ii.create_time BETWEEN #{startTime} and #{endTime}
GROUP BY sdd.remark GROUP BY sdd.remark
having count(1)>0 having count(1)>0

View File

@ -267,44 +267,13 @@ public class DriveSchoolInfoServiceImpl implements IDriveSchoolInfoService
*/ */
@Override @Override
public DriveSchoolInfoVO getSchoolInfoByDeptId(Long deptId) { public DriveSchoolInfoVO getSchoolInfoByDeptId(Long deptId) {
// 记录deptId
System.out.println("Dept ID: " + deptId);
// 获取教练id
Long jlId = 0L;
// 根据当前用户的手机号获取教练信息
Long userId = SecurityFrameworkUtils.getLoginUserId();
AdminUserRespDTO sysUser = userApi.getUser(userId);
String phonenumber = sysUser.getMobile();
System.out.println("当前用户手机号: " + phonenumber);
// 获取教练信息
DriveSchoolCoach driveSchoolCoach = driveSchoolCoachMapper.selectByPhonenumber(phonenumber);
if (driveSchoolCoach != null) {
jlId = driveSchoolCoach.getId();
System.out.println("教练ID: " + jlId);
} else {
System.err.println("未找到手机号为 " + phonenumber + " 的教练信息");
// 可以选择抛出异常或返回默认值
}
// 获取驾校信息 // 获取驾校信息
DriveSchoolInfoVO schoolInfoByDeptId = driveSchoolInfoMapper.getSchoolInfoByDeptId(deptId); DriveSchoolInfoVO schoolInfoByDeptId = driveSchoolInfoMapper.getSchoolInfoByDeptId(deptId);
if (schoolInfoByDeptId != null) {
schoolInfoByDeptId.setJlId(jlId);
} else {
System.err.println("未找到部门 ID 为 " + deptId + " 的驾校信息");
throw new RuntimeException("未找到指定部门的驾校信息");
}
return schoolInfoByDeptId; return schoolInfoByDeptId;
} }
@Override @Override
public List<PayVo> findSelfSchoolData() { public List<PayVo> findSelfSchoolData() {
@ -319,15 +288,6 @@ public class DriveSchoolInfoServiceImpl implements IDriveSchoolInfoService
return payVoList; return payVoList;
} }
/*@Override
public DriveSchoolInfo selectDriveSchoolInfoAppletById(Long id) {
DriveSchoolInfo driveSchoolInfo = driveSchoolInfoMapper.selectDriveSchoolInfoById(id);
double lat = driveSchoolInfo1.getLat().doubleValue();
double lgt = driveSchoolInfo1.getLgt().doubleValue();
double distance = calculateDistance(driveSchoolInfo.getLat().doubleValue(), driveSchoolInfo.getLgt().doubleValue(), lat, lgt);
driveSchoolInfo1.setDistance(distance/1000);
return null;
}*/
/** /**
* 计算两个经纬度之间的距离 * 计算两个经纬度之间的距离

View File

@ -152,7 +152,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<select id="getSchoolInfoByDeptId" parameterType="Long" resultMap="DriveSchoolInfoVOResult"> <select id="getSchoolInfoByDeptId" parameterType="Long" resultMap="DriveSchoolInfoVOResult">
<include refid="selectDriveSchoolInfoVo"/> <include refid="selectDriveSchoolInfoVo"/>
where deleted = 0 and dept_id = #{deptId} where deleted = 0
</select> </select>

View File

@ -128,6 +128,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
AND list_order = #{driveSchoolSwiper.listOrder} AND list_order = #{driveSchoolSwiper.listOrder}
</if> </if>
</if> </if>
</where> </where>
ORDER BY list_order ASC ORDER BY list_order ASC
</select> </select>

View File

@ -10,7 +10,6 @@ import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import org.springframework.format.annotation.DateTimeFormat; import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.Date; import java.util.Date;
@ -112,4 +111,10 @@ public class DlRepairSo extends TenantBaseDO {
/** 关联的配件申请单的id(dl_ticket_wares表的ID) */ /** 关联的配件申请单的id(dl_ticket_wares表的ID) */
private String twId; private String twId;
/**
* 车牌号
*/
@TableField(exist = false)
private String licenseNumber;
} }

View File

@ -1,7 +1,9 @@
package cn.iocoder.yudao.module.stockOperate.entity; package cn.iocoder.yudao.module.stockOperate.entity;
import cn.iocoder.yudao.framework.tenant.core.db.TenantBaseDO; import cn.iocoder.yudao.framework.tenant.core.db.TenantBaseDO;
import cn.iocoder.yudao.module.project.entity.RepairWares;
import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data; import lombok.Data;
@ -67,4 +69,15 @@ public class DlRepairSoi extends TenantBaseDO {
* 备注 * 备注
*/ */
private String remark; private String remark;
/**
* 配件信息
*/
@TableField(exist = false)
private RepairWares wares;
/**
* 配件类型名称
*/
@TableField(exist = false)
private String typeName;
} }

View File

@ -38,11 +38,11 @@ import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.Iterator; import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Objects; import java.util.Map;
import java.util.function.Function;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
@ -171,6 +171,7 @@ public class DlRepairSoServiceImpl extends ServiceImpl<DlRepairSoMapper, DlRepai
public void voidRepairSo(DlRepairSoReqVO repairSoReqVO) { public void voidRepairSo(DlRepairSoReqVO repairSoReqVO) {
baseMapper.updateById(repairSoReqVO); baseMapper.updateById(repairSoReqVO);
// 下面的代码是因为这个接口还有地方在用
// 查主表 // 查主表
DlRepairSo so = baseMapper.selectById(repairSoReqVO.getId()); DlRepairSo so = baseMapper.selectById(repairSoReqVO.getId());
// 查当前登录操作人的userId // 查当前登录操作人的userId
@ -197,6 +198,21 @@ public class DlRepairSoServiceImpl extends ServiceImpl<DlRepairSoMapper, DlRepai
// 查子表 // 查子表
List<DlRepairSoi> list = repairSoiService.list(new LambdaQueryWrapper<DlRepairSoi>().eq(DlRepairSoi::getSoId, result.getId())); List<DlRepairSoi> list = repairSoiService.list(new LambdaQueryWrapper<DlRepairSoi>().eq(DlRepairSoi::getSoId, result.getId()));
if(!list.isEmpty()){
//所有有配件的分类
List<Map<String,String>> typeMapList = waresService.getAllTypeList();
Map<String,String> typeMap = new HashMap<>();
for(Map<String,String> map:typeMapList){
typeMap.put(map.get("id"),map.get("name"));
}
//关联查配件信息
List<RepairWares> repairWaresList = waresService.listByIds(list.stream().map(DlRepairSoi::getGoodsId).collect(Collectors.toList()));
Map<String,RepairWares> waresMap = repairWaresList.stream().collect(Collectors.toMap(RepairWares::getId, Function.identity()));
list.forEach(item->{
item.setWares(waresMap.get(item.getGoodsId()));
item.setTypeName(typeMap.get(item.getWares().getType()));
});
}
result.setGoodsList(list); result.setGoodsList(list);
return result; return result;
} }
@ -338,7 +354,8 @@ public class DlRepairSoServiceImpl extends ServiceImpl<DlRepairSoMapper, DlRepai
titem.setId(item.getId()); titem.setId(item.getId());
sois.stream().filter(i -> i.getGoodsId().equals(item.getPartId())).findFirst().ifPresent(i -> { sois.stream().filter(i -> i.getGoodsId().equals(item.getPartId())).findFirst().ifPresent(i -> {
titem.setItemCount(item.getItemCount() - i.getGoodsCount()); titem.setItemCount(item.getItemCount() - i.getGoodsCount());
titem.setItemMoney(new BigDecimal(titem.getItemCount()).multiply(item.getItemPrice()).multiply(item.getItemDiscount())); BigDecimal itemDiscount = ObjectUtil.isNotEmpty(item.getItemDiscount()) ? item.getItemDiscount() : BigDecimal.ONE;
titem.setItemMoney(new BigDecimal(titem.getItemCount()).multiply(item.getItemPrice()).multiply(itemDiscount));
}); });
return titem; return titem;
}).collect(Collectors.toList()); }).collect(Collectors.toList());

View File

@ -247,5 +247,24 @@ public class DlRepairTicketsController {
dlRepairTicketsService.updateShow(id, show); dlRepairTicketsService.updateShow(id, show);
return CommonResult.ok(); return CommonResult.ok();
} }
/**
* 查待总检或待出厂检验的工单
* 维修服务顾问和总检用的
*
* @author 小李
* @date 11:40 2024/10/23
* @param repairTicketsReqVO 请求对象
* @param pageNo 页码
* @param pageSize 条数
**/
@GetMapping("/pageByRole")
@Operation(summary = "查待总检或待出厂检验的工单")
public CommonResult<?> getPageByRole(DlRepairTicketsReqVO repairTicketsReqVO,
@RequestParam(value = "pageNo", defaultValue = "1")Integer pageNo,
@RequestParam(value = "pageSize", defaultValue = "10")Integer pageSize){
Page<DlRepairTickets> page = new Page<>(pageNo, pageSize);
return success(dlRepairTicketsService.getPageByRole(repairTicketsReqVO, page));
}
} }

View File

@ -135,4 +135,14 @@ public interface DlRepairTicketsService extends IService<DlRepairTickets> {
* @param show 是否可见 * @param show 是否可见
**/ **/
void updateShow(String id, String show); void updateShow(String id, String show);
/**
* 查待总检或待出厂检验的工单
* 维修服务顾问和总检用的
*
* @author 小李
* @date 11:40 2024/10/23
* @param repairTicketsReqVO 请求对象
**/
IPage<DlRepairTickets> getPageByRole(DlRepairTicketsReqVO repairTicketsReqVO, Page<DlRepairTickets> page);
} }

View File

@ -559,6 +559,14 @@ public class DlRepairTicketsServiceImpl extends ServiceImpl<DlRepairTicketsMappe
@Override @Override
@DSTransactional @DSTransactional
public void updateStatus(DlRepairTicketsRespVO respVO) { public void updateStatus(DlRepairTicketsRespVO respVO) {
// 如果是开始施工但项目还在施工中就不能施工
if (respVO.getRecordType().equals("kssg")){
DlRepairTitem titem = titemService.getById(respVO.getItem().getId());
if (titem.getItemStatus().equals("02")){
throw exception0(500, "选择的项目在施工中,不能重新开始施工");
}
}
if (StringUtils.isNotEmpty(respVO.getTicketsWorkStatus())) { if (StringUtils.isNotEmpty(respVO.getTicketsWorkStatus())) {
// 更新工单主表 // 更新工单主表
LambdaUpdateWrapper<DlRepairTickets> wrapper = new LambdaUpdateWrapper<>(); LambdaUpdateWrapper<DlRepairTickets> wrapper = new LambdaUpdateWrapper<>();
@ -595,7 +603,7 @@ public class DlRepairTicketsServiceImpl extends ServiceImpl<DlRepairTicketsMappe
String message = createMessage(tickets.getNowRepairName(), tickets.getTicketNo(), titem.getItemName(), respVO.getRecordType(), respVO.getFinishType(), respVO.getNextName()); String message = createMessage(tickets.getNowRepairName(), tickets.getTicketNo(), titem.getItemName(), respVO.getRecordType(), respVO.getFinishType(), respVO.getNextName());
// 通知服务顾问 // 通知服务顾问
// 如果员工完成了订单 // 如果员工完成了订单
if (respVO.getRecordType().equals("03") && respVO.getFinishType().equals("03")) { if (respVO.getRecordType().equals("sgwczj") && respVO.getFinishType().equals("03")) {
repairWorkerService.sentMessage(Long.valueOf(tickets.getAdviserId()), "您有新的工单可以交车"); repairWorkerService.sentMessage(Long.valueOf(tickets.getAdviserId()), "您有新的工单可以交车");
} else { } else {
repairWorkerService.sentMessage(Long.valueOf(tickets.getAdviserId()), message); repairWorkerService.sentMessage(Long.valueOf(tickets.getAdviserId()), message);
@ -608,12 +616,13 @@ public class DlRepairTicketsServiceImpl extends ServiceImpl<DlRepairTicketsMappe
List<Long> ids = permissionApi.getUserIdByRoleId(roleInfo.getId()); List<Long> ids = permissionApi.getUserIdByRoleId(roleInfo.getId());
if (CollectionUtil.isEmpty(ids)) return; if (CollectionUtil.isEmpty(ids)) return;
// 如果是移交给总检就需要通知总检并让其总检 // 如果是移交给总检就需要通知总检并让其总检
if (respVO.getRecordType().equals("03") && respVO.getFinishType().equals("02")) { if (respVO.getRecordType().equals("sgwczj") && respVO.getFinishType().equals("02")) {
// 工单移交给总检(理论上讲只有一个总检就算有多个这里面也只给一个) // 工单移交给总检(理论上讲只有一个总检就算有多个这里面也只给一个)
AdminUserRespDTO user = adminUserApi.getUser(ids.get(0)); AdminUserRespDTO user = adminUserApi.getUser(ids.get(0));
baseMapper.update(new LambdaUpdateWrapper<DlRepairTickets>() baseMapper.update(new LambdaUpdateWrapper<DlRepairTickets>()
.set(DlRepairTickets::getNowRepairId, user.getId()) .set(DlRepairTickets::getNowRepairId, user.getId())
.eq(DlRepairTickets::getNowRepairName, user.getNickname())); .set(DlRepairTickets::getNowRepairName, user.getNickname())
.eq(DlRepairTickets::getId, respVO.getId()));
repairWorkerService.sentMessage(user.getId(), "您有新的工单需要总检"); repairWorkerService.sentMessage(user.getId(), "您有新的工单需要总检");
} else { } else {
ids.forEach(id -> { ids.forEach(id -> {
@ -633,19 +642,23 @@ public class DlRepairTicketsServiceImpl extends ServiceImpl<DlRepairTicketsMappe
return result + "上传了工单:" + no + "" + projectName + "项目的维修记录"; return result + "上传了工单:" + no + "" + projectName + "项目的维修记录";
// 施工完成 // 施工完成
case "sgwczj": case "sgwczj":
result = result + "完成了工单:" + no + "" + projectName + "项目"; if (ObjectUtil.isNotEmpty(finishType)){
switch (finishType) { result = result + "完成了工单:" + no + "" + projectName + "项目";
// 完成并移交下一班组 switch (finishType) {
case "01": // 完成并移交下一班组
return result + "并移交工单给了" + nextName; case "01":
// 完成并移交总检 return result + "并移交工单给了" + nextName;
case "02": // 完成并移交总检
return result + "并移交给了总检"; case "02":
// 完成工单 return result + "并移交给了总检";
case "03": // 完成工单
return who + "完成了工单"; case "03":
default: return who + "完成了工单";
return "异常消息"; default:
return "异常消息";
}
}else {
return result + "部分完成了工单:" + no + "" + projectName + "项目";
} }
default: default:
return "异常消息"; return "异常消息";
@ -667,6 +680,29 @@ public class DlRepairTicketsServiceImpl extends ServiceImpl<DlRepairTicketsMappe
dlRepairTickets.setPartShow(show); dlRepairTickets.setPartShow(show);
baseMapper.updateById(dlRepairTickets); baseMapper.updateById(dlRepairTickets);
} }
/**
* 查待总检或待出厂检验的工单
* 维修服务顾问和总检用的
*
* @author 小李
* @date 11:40 2024/10/23
* @param repairTicketsReqVO 请求对象
**/
@Override
public IPage<DlRepairTickets> getPageByRole(DlRepairTicketsReqVO repairTicketsReqVO, Page<DlRepairTickets> page){
String userRoleCode = getUserRole();
// 维修服务顾问
if (userRoleCode.equals(RepairRoleEnum.ADVISOR.getCode())){
}else if (userRoleCode.equals(RepairRoleEnum.INSPECTION.getCode())){
// 总检
}else {
return null;
}
// 还是用分类查询不过需要重新构造查询条件 todo
return baseMapper.getPageType(repairTicketsReqVO, page);
}
} }

View File

@ -25,40 +25,43 @@
<result property="updateTime" column="update_time" jdbcType="TIMESTAMP"/> <result property="updateTime" column="update_time" jdbcType="TIMESTAMP"/>
<result property="updater" column="updater" jdbcType="VARCHAR"/> <result property="updater" column="updater" jdbcType="VARCHAR"/>
<result property="twId" column="tw_id" /> <result property="twId" column="tw_id" />
<result property="licenseNumber" column="license_number" />
</resultMap> </resultMap>
<sql id="Base_SQL"> <sql id="Base_SQL">
select id, select so.id,
so_type, so.so_type,
purchase_type, so.purchase_type,
so_no, so.so_no,
supplier_id, so.supplier_id,
supplier_name, so.supplier_name,
user_id, so.user_id,
user_name, so.user_name,
so_time, so.so_time,
item_count, so.item_count,
total_price, so.total_price,
so_status, so.so_status,
remark, so.remark,
corp_id, so.corp_id,
corp_name, so.corp_name,
dept_id, so.dept_id,
create_time, so.create_time,
update_time, so.update_time,
updater, so.updater,
tw_id so.tw_id,
dtw.license_number
from dl_repair_so so from dl_repair_so so
LEFT JOIN dl_ticket_wares dtw ON so.tw_id = dtw.id
where so.deleted = '0' where so.deleted = '0'
</sql> </sql>
<select id="getRepairSoPage" resultMap="BaseResultMap"> <select id="getRepairSoPage" resultMap="BaseResultMap">
<include refid="Base_SQL"/> <include refid="Base_SQL"/>
<if test="map.soType != null and map.soType"> <if test="map.soType != null and map.soType">
and so_type = #{map.soType} and so.so_type = #{map.soType}
</if> </if>
<if test="map.purchaseType != null and map.purchaseType != ''"> <if test="map.purchaseType != null and map.purchaseType != ''">
and purchase_type = #{map.purchaseType} and so.purchase_type = #{map.purchaseType}
</if> </if>
<if test="map.soStatus != null and map.soStatus != ''"> <if test="map.soStatus != null and map.soStatus != ''">
and so.so_status = #{map.soStatus} and so.so_status = #{map.soStatus}

3
sql/增量DB.sql Normal file
View File

@ -0,0 +1,3 @@
--
ALTER TABLE `system_service_package`
ADD COLUMN `cover_img` varchar(255) NULL COMMENT '服务icon' AFTER `menu_ids`;

View File

@ -88,5 +88,9 @@ public class ServicePackageController {
List<ServicePackageDO> list = servicePackageService.getServicePackageListByStatus(CommonStatusEnum.ENABLE.getStatus()); List<ServicePackageDO> list = servicePackageService.getServicePackageListByStatus(CommonStatusEnum.ENABLE.getStatus());
return success(BeanUtils.toBean(list, ServicePackageSimpleRespVO.class)); return success(BeanUtils.toBean(list, ServicePackageSimpleRespVO.class));
} }
@GetMapping({"/getPackageListByTenantId"})
} public CommonResult<List<ServicePackageDO>> getPackageListByTenantId() {
List<ServicePackageDO> list = servicePackageService.getPackageListByTenantId();
return success(list);
}
}

View File

@ -19,6 +19,7 @@ public class ServicePackageRespVO {
@Schema(description = "套餐名", requiredMode = Schema.RequiredMode.REQUIRED, example = "赵六") @Schema(description = "套餐名", requiredMode = Schema.RequiredMode.REQUIRED, example = "赵六")
@ExcelProperty("套餐名") @ExcelProperty("套餐名")
private String name; private String name;
private String coverImg;
@Schema(description = "套餐状态0正常 1停用", requiredMode = Schema.RequiredMode.REQUIRED, example = "2") @Schema(description = "套餐状态0正常 1停用", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
@ExcelProperty("租户状态0正常 1停用") @ExcelProperty("租户状态0正常 1停用")
@ -36,4 +37,4 @@ public class ServicePackageRespVO {
@ExcelProperty("创建时间") @ExcelProperty("创建时间")
private LocalDateTime createTime; private LocalDateTime createTime;
} }

View File

@ -15,6 +15,7 @@ public class ServicePackageSaveReqVO {
@Schema(description = "套餐名", requiredMode = Schema.RequiredMode.REQUIRED, example = "赵六") @Schema(description = "套餐名", requiredMode = Schema.RequiredMode.REQUIRED, example = "赵六")
@NotEmpty(message = "套餐名不能为空") @NotEmpty(message = "套餐名不能为空")
private String name; private String name;
private String coverImg;
@Schema(description = "套餐状态0正常 1停用", requiredMode = Schema.RequiredMode.REQUIRED, example = "2") @Schema(description = "套餐状态0正常 1停用", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
@NotNull(message = "套餐状态0正常 1停用不能为空") @NotNull(message = "套餐状态0正常 1停用不能为空")
@ -27,4 +28,4 @@ public class ServicePackageSaveReqVO {
@NotEmpty(message = "关联的菜单编号不能为空") @NotEmpty(message = "关联的菜单编号不能为空")
private Set<Long> menuIds; private Set<Long> menuIds;
} }

View File

@ -17,4 +17,5 @@ public class ServicePackageSimpleRespVO {
@NotNull(message = "套餐名不能为空") @NotNull(message = "套餐名不能为空")
private String name; private String name;
} }

View File

@ -40,10 +40,11 @@ public class ServicePackageDO extends BaseDO {
* 备注 * 备注
*/ */
private String remark; private String remark;
private String coverImg;
/** /**
* 关联的菜单编号 * 关联的菜单编号
*/ */
@TableField(typeHandler = JacksonTypeHandler.class) @TableField(typeHandler = JacksonTypeHandler.class)
private Set<Long> menuIds; private Set<Long> menuIds;
} }

View File

@ -29,4 +29,7 @@ public interface ServicePackageMapper extends BaseMapperX<ServicePackageDO> {
default List<ServicePackageDO> selectListByStatus(Integer status) { default List<ServicePackageDO> selectListByStatus(Integer status) {
return selectList(ServicePackageDO::getStatus, status); return selectList(ServicePackageDO::getStatus, status);
} }
}
List<ServicePackageDO> getPackageListByTenantId();
}

View File

@ -78,4 +78,14 @@ public interface ServicePackageService {
* @param ids ids * @param ids ids
**/ **/
List<ServicePackageDO> getServicePackageByIds(List<String> ids); List<ServicePackageDO> getServicePackageByIds(List<String> ids);
}
/**
* 查租户服务
*
* @author zcy
* @date 10:37 2024/9/24
**/
List<ServicePackageDO> getPackageListByTenantId();
}

View File

@ -4,6 +4,8 @@ import cn.iocoder.yudao.framework.common.config.CommonStr;
import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum; import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum;
import cn.iocoder.yudao.framework.datapermission.core.rule.DataPermissionRule; import cn.iocoder.yudao.framework.datapermission.core.rule.DataPermissionRule;
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
import cn.iocoder.yudao.framework.security.core.LoginUser;
import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils;
import cn.iocoder.yudao.framework.tenant.core.util.TenantUtils; import cn.iocoder.yudao.framework.tenant.core.util.TenantUtils;
import cn.iocoder.yudao.module.system.api.service.dto.ServicePackageDto; import cn.iocoder.yudao.module.system.api.service.dto.ServicePackageDto;
import cn.iocoder.yudao.module.system.controller.admin.permission.vo.role.RoleSaveReqVO; import cn.iocoder.yudao.module.system.controller.admin.permission.vo.role.RoleSaveReqVO;
@ -14,6 +16,7 @@ import cn.iocoder.yudao.module.system.enums.permission.RoleTypeEnum;
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;
import cn.iocoder.yudao.module.system.service.tenant.TenantService; import cn.iocoder.yudao.module.system.service.tenant.TenantService;
import com.alibaba.fastjson.JSONArray;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.annotation.Resource; import javax.annotation.Resource;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
@ -155,4 +158,19 @@ public class ServicePackageServiceImpl implements ServicePackageService {
public List<ServicePackageDO> getServicePackageByIds(List<String> ids){ public List<ServicePackageDO> getServicePackageByIds(List<String> ids){
return servicePackageMapper.selectList(new LambdaQueryWrapperX<ServicePackageDO>().in(ServicePackageDO::getId, ids)); return servicePackageMapper.selectList(new LambdaQueryWrapperX<ServicePackageDO>().in(ServicePackageDO::getId, ids));
} }
}
@Override
public List<ServicePackageDO> getPackageListByTenantId() {
//获取当前登录用户
LoginUser loginUser = SecurityFrameworkUtils.getLoginUser();
Long tenantId = loginUser.getTenantId();
TenantDO tenant = tenantService.getTenant(tenantId);
Set<String> packageId = tenant.getPackageId();
List<String> ids =new ArrayList<>();
for (String s : packageId) {
ids.add(s);
}
return this.getServicePackageByIds(ids);
}
}