配件领退优化1/2
This commit is contained in:
parent
4ad6d6835b
commit
a268b43f14
@ -48,7 +48,7 @@ public class DlTwItem extends TenantBaseDO {
|
|||||||
private Integer waresCount;
|
private Integer waresCount;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 配件状态(01:已领料,02:未领料,03:已退料 tw_item_status)
|
* 配件状态(01:已领料,02:未领料,03:已退料,04可确认领料,可确认退料 tw_item_status)
|
||||||
*/
|
*/
|
||||||
private String waresStatus;
|
private String waresStatus;
|
||||||
|
|
||||||
@ -57,4 +57,10 @@ public class DlTwItem extends TenantBaseDO {
|
|||||||
|
|
||||||
/** 客户是否可见(字典yes_no);已存在于系统中(是:1,否:0) */
|
/** 客户是否可见(字典yes_no);已存在于系统中(是:1,否:0) */
|
||||||
private String isShow;
|
private String isShow;
|
||||||
|
|
||||||
|
/** 可领取数量 */
|
||||||
|
private Integer waresCouldCount;
|
||||||
|
|
||||||
|
/** 已领料数量 */
|
||||||
|
private Integer waresAlreadyCount;
|
||||||
}
|
}
|
@ -259,8 +259,11 @@ public class DlRepairTicketsServiceImpl extends ServiceImpl<DlRepairTicketsMappe
|
|||||||
DlRepairTickets dlRepairTickets = baseMapper.selectById(id);
|
DlRepairTickets dlRepairTickets = baseMapper.selectById(id);
|
||||||
DlRepairTicketsRespVO result = BeanUtil.toBean(dlRepairTickets, DlRepairTicketsRespVO.class);
|
DlRepairTicketsRespVO result = BeanUtil.toBean(dlRepairTickets, DlRepairTicketsRespVO.class);
|
||||||
//查车辆
|
//查车辆
|
||||||
CarMainRespVO carInfo = carMainService.queryCarById(dlRepairTickets.getCarId());
|
if (ObjectUtil.isNotEmpty(dlRepairTickets.getCarId())){
|
||||||
result.setCarInfo(carInfo);
|
CarMainRespVO carInfo = carMainService.queryCarById(dlRepairTickets.getCarId());
|
||||||
|
result.setCarInfo(carInfo);
|
||||||
|
}
|
||||||
|
|
||||||
//查用户信息
|
//查用户信息
|
||||||
CustomerMain customerInfo = customerService.getCustomerById(dlRepairTickets.getUserId());
|
CustomerMain customerInfo = customerService.getCustomerById(dlRepairTickets.getUserId());
|
||||||
result.setCustomerInfo(customerInfo);
|
result.setCustomerInfo(customerInfo);
|
||||||
|
@ -35,6 +35,7 @@ import javax.annotation.Resource;
|
|||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Objects;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception0;
|
import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception0;
|
||||||
@ -44,10 +45,10 @@ import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionU
|
|||||||
*
|
*
|
||||||
* @author 小李
|
* @author 小李
|
||||||
* @date 11:56 2024/10/15
|
* @date 11:56 2024/10/15
|
||||||
**/
|
**/
|
||||||
@Service
|
@Service
|
||||||
public class DlTicketWaresServiceImpl extends ServiceImpl<DlTicketWaresMapper, DlTicketWares>
|
public class DlTicketWaresServiceImpl extends ServiceImpl<DlTicketWaresMapper, DlTicketWares>
|
||||||
implements DlTicketWaresService {
|
implements DlTicketWaresService {
|
||||||
|
|
||||||
|
|
||||||
@Resource
|
@Resource
|
||||||
@ -76,29 +77,30 @@ public class DlTicketWaresServiceImpl extends ServiceImpl<DlTicketWaresMapper, D
|
|||||||
@Resource
|
@Resource
|
||||||
@Lazy
|
@Lazy
|
||||||
private RepairWaresService repairWaresService;
|
private RepairWaresService repairWaresService;
|
||||||
|
|
||||||
@Resource
|
@Resource
|
||||||
private RepairWorkerService workerService;
|
private RepairWorkerService workerService;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 分页查询
|
* 分页查询
|
||||||
*
|
*
|
||||||
|
* @param reqVO 请求对象
|
||||||
* @author 小李
|
* @author 小李
|
||||||
* @date 12:01 2024/10/15
|
* @date 12:01 2024/10/15
|
||||||
* @param reqVO 请求对象
|
|
||||||
**/
|
**/
|
||||||
@Override
|
@Override
|
||||||
public IPage<DlTicketWares> getPage(DlTicketWaresReqVO reqVO, Page<DlTicketWares> page){
|
public IPage<DlTicketWares> getPage(DlTicketWaresReqVO reqVO, Page<DlTicketWares> page) {
|
||||||
// 确认查看者身份
|
// 确认查看者身份
|
||||||
String userRoleCode = repairTicketsService.getUserRole();
|
String userRoleCode = repairTicketsService.getUserRole();
|
||||||
if(userRoleCode.equals(RepairRoleEnum.ADMIN.getCode())|| userRoleCode.equals(RepairRoleEnum.INSPECTION.getCode())){
|
if (userRoleCode.equals(RepairRoleEnum.ADMIN.getCode()) || userRoleCode.equals(RepairRoleEnum.INSPECTION.getCode())) {
|
||||||
//维修管理员和总检,看所有数据
|
//维修管理员和总检,看所有数据
|
||||||
}else if(userRoleCode.equals(RepairRoleEnum.ADVISOR.getCode())){
|
} else if (userRoleCode.equals(RepairRoleEnum.ADVISOR.getCode())) {
|
||||||
//服务顾问
|
//服务顾问
|
||||||
reqVO.setAdviserId(SecurityFrameworkUtils.getLoginUserId());
|
reqVO.setAdviserId(SecurityFrameworkUtils.getLoginUserId());
|
||||||
}else if(userRoleCode.equals(RepairRoleEnum.REPAIR_STAFF.getCode())){
|
} else if (userRoleCode.equals(RepairRoleEnum.REPAIR_STAFF.getCode())) {
|
||||||
//维修工,进一步判断是否是班组长
|
//维修工,进一步判断是否是班组长
|
||||||
boolean ifLeader = workerService.getIfLeader();
|
boolean ifLeader = workerService.getIfLeader();
|
||||||
if(ifLeader){
|
if (ifLeader) {
|
||||||
//班组长,看本班组所有数据
|
//班组长,看本班组所有数据
|
||||||
RepairWorker one = repairWorkerService.getOne(new LambdaQueryWrapper<RepairWorker>().eq(RepairWorker::getUserId, SecurityFrameworkUtils.getLoginUserId()));
|
RepairWorker one = repairWorkerService.getOne(new LambdaQueryWrapper<RepairWorker>().eq(RepairWorker::getUserId, SecurityFrameworkUtils.getLoginUserId()));
|
||||||
// 查自己班组的员工信息
|
// 查自己班组的员工信息
|
||||||
@ -106,15 +108,15 @@ public class DlTicketWaresServiceImpl extends ServiceImpl<DlTicketWaresMapper, D
|
|||||||
// 所有的员工信息
|
// 所有的员工信息
|
||||||
List<Long> userIds = list.stream().map(RepairWorker::getUserId).collect(Collectors.toList());
|
List<Long> userIds = list.stream().map(RepairWorker::getUserId).collect(Collectors.toList());
|
||||||
reqVO.setUserIds(userIds);
|
reqVO.setUserIds(userIds);
|
||||||
}else{
|
} else {
|
||||||
//普通维修工
|
//普通维修工
|
||||||
reqVO.setUserIds(Collections.singletonList(SecurityFrameworkUtils.getLoginUserId()));
|
reqVO.setUserIds(Collections.singletonList(SecurityFrameworkUtils.getLoginUserId()));
|
||||||
}
|
}
|
||||||
}else if(userRoleCode.equals(RepairRoleEnum.WAREHOUSE.getCode())){
|
} else if (userRoleCode.equals(RepairRoleEnum.WAREHOUSE.getCode())) {
|
||||||
// 维修仓库管理员
|
// 维修仓库管理员
|
||||||
reqVO.setStatus(null);
|
reqVO.setStatus(null);
|
||||||
reqVO.setUserRole(5);
|
reqVO.setUserRole(5);
|
||||||
}else{
|
} else {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
return baseMapper.getPage(reqVO, page);
|
return baseMapper.getPage(reqVO, page);
|
||||||
@ -123,13 +125,13 @@ public class DlTicketWaresServiceImpl extends ServiceImpl<DlTicketWaresMapper, D
|
|||||||
/**
|
/**
|
||||||
* 新增、修改
|
* 新增、修改
|
||||||
*
|
*
|
||||||
|
* @param respVO 请求对象
|
||||||
* @author 小李
|
* @author 小李
|
||||||
* @date 12:14 2024/10/15
|
* @date 12:14 2024/10/15
|
||||||
* @param respVO 请求对象
|
|
||||||
**/
|
**/
|
||||||
@Override
|
@Override
|
||||||
@DSTransactional
|
@DSTransactional
|
||||||
public void updateTicketWares(DlTicketWaresRespVO respVO){
|
public void updateTicketWares(DlTicketWaresRespVO respVO) {
|
||||||
// 新增、修改主表
|
// 新增、修改主表
|
||||||
// 查询操作人的工人信息
|
// 查询操作人的工人信息
|
||||||
RepairWorker one = repairWorkerService.getOne(new LambdaQueryWrapper<RepairWorker>().eq(RepairWorker::getUserId, SecurityFrameworkUtils.getLoginUserId()));
|
RepairWorker one = repairWorkerService.getOne(new LambdaQueryWrapper<RepairWorker>().eq(RepairWorker::getUserId, SecurityFrameworkUtils.getLoginUserId()));
|
||||||
@ -138,7 +140,7 @@ public class DlTicketWaresServiceImpl extends ServiceImpl<DlTicketWaresMapper, D
|
|||||||
baseMapper.insertOrUpdate(respVO);
|
baseMapper.insertOrUpdate(respVO);
|
||||||
// 新增、修改子表
|
// 新增、修改子表
|
||||||
List<DlTwItem> list = respVO.getItems().stream().map(item -> item.setTwId(respVO.getId())).collect(Collectors.toList());
|
List<DlTwItem> list = respVO.getItems().stream().map(item -> item.setTwId(respVO.getId())).collect(Collectors.toList());
|
||||||
if (CollectionUtil.isEmpty(list)){
|
if (CollectionUtil.isEmpty(list)) {
|
||||||
throw exception0(500, "配件列表为空");
|
throw exception0(500, "配件列表为空");
|
||||||
}
|
}
|
||||||
twItemService.saveOrUpdateBatch(list);
|
twItemService.saveOrUpdateBatch(list);
|
||||||
@ -147,13 +149,13 @@ public class DlTicketWaresServiceImpl extends ServiceImpl<DlTicketWaresMapper, D
|
|||||||
/**
|
/**
|
||||||
* 删除
|
* 删除
|
||||||
*
|
*
|
||||||
|
* @param id id
|
||||||
* @author 小李
|
* @author 小李
|
||||||
* @date 12:21 2024/10/15
|
* @date 12:21 2024/10/15
|
||||||
* @param id id
|
|
||||||
**/
|
**/
|
||||||
@Override
|
@Override
|
||||||
@DSTransactional
|
@DSTransactional
|
||||||
public void removeTicketWares(String id){
|
public void removeTicketWares(String id) {
|
||||||
// 删除主表
|
// 删除主表
|
||||||
baseMapper.deleteById(id);
|
baseMapper.deleteById(id);
|
||||||
// 删除子表
|
// 删除子表
|
||||||
@ -163,20 +165,20 @@ public class DlTicketWaresServiceImpl extends ServiceImpl<DlTicketWaresMapper, D
|
|||||||
/**
|
/**
|
||||||
* 审核
|
* 审核
|
||||||
*
|
*
|
||||||
|
* @param respVO 请求对象
|
||||||
* @author 小李
|
* @author 小李
|
||||||
* @date 21:15 2024/10/15
|
* @date 21:15 2024/10/15
|
||||||
* @param respVO 请求对象
|
|
||||||
**/
|
**/
|
||||||
@Override
|
@Override
|
||||||
@DSTransactional
|
@DSTransactional
|
||||||
public void auditTicketWares(DlTicketWaresRespVO respVO){
|
public void auditTicketWares(DlTicketWaresRespVO respVO) {
|
||||||
// 设置单据状态
|
// 设置单据状态
|
||||||
baseMapper.update(new LambdaUpdateWrapper<DlTicketWares>()
|
baseMapper.update(new LambdaUpdateWrapper<DlTicketWares>()
|
||||||
.set(DlTicketWares::getStatus, respVO.getStatus())
|
.set(DlTicketWares::getStatus, respVO.getStatus())
|
||||||
.eq(DlTicketWares::getId, respVO.getId())
|
.eq(DlTicketWares::getId, respVO.getId())
|
||||||
);
|
);
|
||||||
// 如果是通过并且是领料就还需要把配件信息加入到工单中
|
// 如果是通过并且是领料就还需要把配件信息加入到工单中
|
||||||
if (ObjectUtil.isNotEmpty(respVO.getStatus()) && respVO.getStatus().equals("02") && respVO.getType().equals("01")){
|
if (ObjectUtil.isNotEmpty(respVO.getStatus()) && respVO.getStatus().equals("02") && respVO.getType().equals("01")) {
|
||||||
// 更新维修工单
|
// 更新维修工单
|
||||||
// 计算配件的总价
|
// 计算配件的总价
|
||||||
BigDecimal reduce = respVO.getWares().stream().map(DlRepairTitem::getItemMoney).reduce(BigDecimal.ZERO, BigDecimal::add);
|
BigDecimal reduce = respVO.getWares().stream().map(DlRepairTitem::getItemMoney).reduce(BigDecimal.ZERO, BigDecimal::add);
|
||||||
@ -205,7 +207,7 @@ public class DlTicketWaresServiceImpl extends ServiceImpl<DlTicketWaresMapper, D
|
|||||||
item.setItemStatus("08");
|
item.setItemStatus("08");
|
||||||
});
|
});
|
||||||
repairTitemService.saveBatch(respVO.getWares());
|
repairTitemService.saveBatch(respVO.getWares());
|
||||||
}else if (ObjectUtil.isNotEmpty(respVO.getStatus()) && respVO.getStatus().equals("02") && respVO.getType().equals("02")){
|
} else if (ObjectUtil.isNotEmpty(respVO.getStatus()) && respVO.getStatus().equals("02") && respVO.getType().equals("02")) {
|
||||||
// 如果通过退料,也需要更新
|
// 如果通过退料,也需要更新
|
||||||
// 更新维修工单
|
// 更新维修工单
|
||||||
// 计算配件的总价
|
// 计算配件的总价
|
||||||
@ -234,7 +236,7 @@ public class DlTicketWaresServiceImpl extends ServiceImpl<DlTicketWaresMapper, D
|
|||||||
list.forEach(item -> {
|
list.forEach(item -> {
|
||||||
respVO.getWares().stream().filter(i -> i.getPartId().equals(item.getPartId())).findFirst().ifPresent(i -> {
|
respVO.getWares().stream().filter(i -> i.getPartId().equals(item.getPartId())).findFirst().ifPresent(i -> {
|
||||||
// 如果只是退部分就减少数量
|
// 如果只是退部分就减少数量
|
||||||
if (!i.getItemCount().equals(item.getItemCount())){
|
if (!i.getItemCount().equals(item.getItemCount())) {
|
||||||
repairTitemService.update(new LambdaUpdateWrapper<DlRepairTitem>()
|
repairTitemService.update(new LambdaUpdateWrapper<DlRepairTitem>()
|
||||||
.setSql("item_count = item_count - " + i.getItemCount())
|
.setSql("item_count = item_count - " + i.getItemCount())
|
||||||
.setSql("item_money = item_money - " + i.getItemMoney())
|
.setSql("item_money = item_money - " + i.getItemMoney())
|
||||||
@ -242,7 +244,7 @@ public class DlTicketWaresServiceImpl extends ServiceImpl<DlTicketWaresMapper, D
|
|||||||
x.eq(DlRepairTitem::getTicketId, respVO.getTicketId()).eq(DlRepairTitem::getPartId, item.getPartId());
|
x.eq(DlRepairTitem::getTicketId, respVO.getTicketId()).eq(DlRepairTitem::getPartId, item.getPartId());
|
||||||
})
|
})
|
||||||
);
|
);
|
||||||
}else {
|
} else {
|
||||||
// 如果是全部退了,就直接删掉数据
|
// 如果是全部退了,就直接删掉数据
|
||||||
repairTitemService.removeById(item.getId());
|
repairTitemService.removeById(item.getId());
|
||||||
}
|
}
|
||||||
@ -254,47 +256,88 @@ public class DlTicketWaresServiceImpl extends ServiceImpl<DlTicketWaresMapper, D
|
|||||||
/**
|
/**
|
||||||
* 仓库通知领料
|
* 仓库通知领料
|
||||||
*
|
*
|
||||||
|
* @param respVO 请求对象
|
||||||
* @author 小李
|
* @author 小李
|
||||||
* @date 20:45 2024/10/16
|
* @date 20:45 2024/10/16
|
||||||
* @param respVO 请求对象
|
|
||||||
**/
|
**/
|
||||||
@Override
|
@Override
|
||||||
@DSTransactional
|
@DSTransactional
|
||||||
public void passTicketWares(DlTicketWaresRespVO respVO){
|
public void passTicketWares(DlTicketWaresRespVO respVO) {
|
||||||
// 查工单子表中的配件信息
|
// 查工单子表中的配件信息
|
||||||
List<DlRepairTitem> list = repairTitemService.list(new LambdaQueryWrapper<DlRepairTitem>()
|
List<DlRepairTitem> list = repairTitemService.list(new LambdaQueryWrapper<DlRepairTitem>().and(i -> {
|
||||||
.eq(DlRepairTitem::getTicketId, respVO.getTicketId())
|
i.eq(DlRepairTitem::getTicketId, respVO.getTicketId())
|
||||||
.in(DlRepairTitem::getPartId, respVO.getRepairSois()
|
.in(DlRepairTitem::getPartId, respVO.getRepairSois()
|
||||||
.stream()
|
.stream()
|
||||||
.map(DlRepairSoi::getGoodsId)
|
.map(DlRepairSoi::getGoodsId)
|
||||||
.collect(Collectors.toList())));
|
.collect(Collectors.toList()));
|
||||||
// 计算总价
|
})
|
||||||
BigDecimal reduce = list.stream().map(DlRepairTitem::getItemMoney).reduce(BigDecimal.ZERO, BigDecimal::add);
|
);
|
||||||
respVO.getRepairSo().setItemCount(list.size());
|
// 计算总价 (通知领料的数量可能和请求的不一样,所以需要这样计算)
|
||||||
respVO.getRepairSo().setTotalPrice(reduce);
|
BigDecimal reduce = list.stream()
|
||||||
|
/*
|
||||||
|
item:维修工单子表中的每一个配件
|
||||||
|
map中是找到与item对应的领料单子表的配件,记soi
|
||||||
|
将item的价格设置给soi的价格
|
||||||
|
*/
|
||||||
|
.map(item -> {
|
||||||
|
DlRepairSoi repairSoi = respVO.getRepairSois().stream()
|
||||||
|
.filter(i -> i.getGoodsId().equals(item.getPartId())).findFirst()
|
||||||
|
.orElse(null);
|
||||||
|
if (repairSoi != null) {
|
||||||
|
repairSoi.setGoodsPrice(item.getItemPrice());
|
||||||
|
}
|
||||||
|
return repairSoi;
|
||||||
|
})
|
||||||
|
.filter(Objects::nonNull)
|
||||||
|
// 计算soi的价格
|
||||||
|
.map(i -> new BigDecimal(i.getGoodsCount()).multiply(i.getGoodsPrice()))
|
||||||
|
// 计算总价
|
||||||
|
.reduce(BigDecimal.ZERO, BigDecimal::add);
|
||||||
// 生成领料单
|
// 生成领料单
|
||||||
|
respVO.getRepairSo().setTotalPrice(reduce);
|
||||||
|
respVO.getRepairSo().setItemCount(list.size());
|
||||||
repairSoService.save(respVO.getRepairSo());
|
repairSoService.save(respVO.getRepairSo());
|
||||||
// 生成领料单子表
|
// 生成领料单子表
|
||||||
respVO.getRepairSois().forEach(item -> {
|
respVO.getRepairSois().forEach(item -> {
|
||||||
item.setSoId(respVO.getRepairSo().getId());
|
item.setSoId(respVO.getRepairSo().getId());
|
||||||
DlRepairTitem titem = list.stream().filter(i -> i.getPartId().equals(item.getGoodsId())).collect(Collectors.toList()).get(0);
|
|
||||||
item.setGoodsPrice(titem.getItemPrice());
|
|
||||||
});
|
});
|
||||||
repairSoiService.saveBatch(respVO.getRepairSois());
|
repairSoiService.saveBatch(respVO.getRepairSois());
|
||||||
// 更新领料申请子表
|
// 更新配件申请子表
|
||||||
twItemService.updateBatchById(respVO.getItems());
|
/*
|
||||||
|
同理,通知领料的数量可能与实际需要的数量不一致,需要重新计算状态
|
||||||
|
*/
|
||||||
|
// 先查老数据
|
||||||
|
List<DlTwItem> oldData = twItemService.list(new LambdaQueryWrapper<DlTwItem>().in(DlTwItem::getId, respVO.getItems().stream().map(DlTwItem::getId).collect(Collectors.toList())));
|
||||||
|
// 构造新数据
|
||||||
|
List<DlTwItem> newData = oldData.stream().map(item -> {
|
||||||
|
DlTwItem dlTwItem = new DlTwItem();
|
||||||
|
dlTwItem.setId(item.getId());
|
||||||
|
respVO.getRepairSois().stream()
|
||||||
|
.filter(i -> i.getGoodsId().equals(item.getWaresId()))
|
||||||
|
.findFirst()
|
||||||
|
.ifPresent(repairSoi -> {
|
||||||
|
dlTwItem.setWaresCouldCount(repairSoi.getGoodsCount());
|
||||||
|
dlTwItem.setWaresStatus(repairSoi.getGoodsCount().equals(item.getWaresCount()) ? "04" : item.getWaresStatus());
|
||||||
|
});
|
||||||
|
return dlTwItem;
|
||||||
|
}).collect(Collectors.toList());
|
||||||
|
twItemService.updateBatchById(newData);
|
||||||
|
|
||||||
|
// 通知维修工
|
||||||
|
// 查维修工的userId
|
||||||
|
repairWorkerService.sentMessage(respVO.getRepairId(), "您有新的领料单需要确认");
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 员工确认领料
|
* 员工确认领料
|
||||||
*
|
*
|
||||||
|
* @param respVO 请求对象
|
||||||
* @author 小李
|
* @author 小李
|
||||||
* @date 22:07 2024/10/16
|
* @date 22:07 2024/10/16
|
||||||
* @param respVO 请求对象
|
|
||||||
**/
|
**/
|
||||||
@Override
|
@Override
|
||||||
@DSTransactional
|
@DSTransactional
|
||||||
public void repairPassTicketWares(DlTicketWaresRespVO respVO){
|
public void repairPassTicketWares(DlTicketWaresRespVO respVO) {
|
||||||
// 更新领料申请子表
|
// 更新领料申请子表
|
||||||
twItemService.updateBatchById(respVO.getItems());
|
twItemService.updateBatchById(respVO.getItems());
|
||||||
// 更新领料申请表
|
// 更新领料申请表
|
||||||
@ -315,12 +358,12 @@ public class DlTicketWaresServiceImpl extends ServiceImpl<DlTicketWaresMapper, D
|
|||||||
/**
|
/**
|
||||||
* 仓库确认退料
|
* 仓库确认退料
|
||||||
*
|
*
|
||||||
|
* @param respVO 请求对象
|
||||||
* @author 小李
|
* @author 小李
|
||||||
* @date 22:03 2024/10/17
|
* @date 22:03 2024/10/17
|
||||||
* @param respVO 请求对象
|
|
||||||
**/
|
**/
|
||||||
@Override
|
@Override
|
||||||
public void passBackTicketWares(DlTicketWaresRespVO respVO){
|
public void passBackTicketWares(DlTicketWaresRespVO respVO) {
|
||||||
// 更新申请单子表状态
|
// 更新申请单子表状态
|
||||||
twItemService.updateBatchById(respVO.getItems());
|
twItemService.updateBatchById(respVO.getItems());
|
||||||
}
|
}
|
||||||
|
@ -6,11 +6,13 @@ import cn.iocoder.yudao.module.project.entity.RepairWares;
|
|||||||
import cn.iocoder.yudao.module.project.service.RepairWaresService;
|
import cn.iocoder.yudao.module.project.service.RepairWaresService;
|
||||||
import cn.iocoder.yudao.module.tickets.entity.DlTwItem;
|
import cn.iocoder.yudao.module.tickets.entity.DlTwItem;
|
||||||
import cn.iocoder.yudao.module.tickets.mapper.DlTwItemMapper;
|
import cn.iocoder.yudao.module.tickets.mapper.DlTwItemMapper;
|
||||||
|
import cn.iocoder.yudao.module.tickets.service.DlTicketWaresService;
|
||||||
import cn.iocoder.yudao.module.tickets.service.DlTwItemService;
|
import cn.iocoder.yudao.module.tickets.service.DlTwItemService;
|
||||||
import cn.iocoder.yudao.module.tickets.vo.DlTwItemReqVO;
|
import cn.iocoder.yudao.module.tickets.vo.DlTwItemReqVO;
|
||||||
import cn.iocoder.yudao.module.tickets.vo.DlTwItemRespVO;
|
import cn.iocoder.yudao.module.tickets.vo.DlTwItemRespVO;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
|
import org.springframework.context.annotation.Lazy;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
@ -30,6 +32,10 @@ public class DlTwItemServiceImpl extends ServiceImpl<DlTwItemMapper, DlTwItem>
|
|||||||
@Resource
|
@Resource
|
||||||
private RepairWaresService repairWaresService;
|
private RepairWaresService repairWaresService;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
@Lazy
|
||||||
|
private DlTicketWaresService ticketWaresService;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 根据主表查看全部
|
* 根据主表查看全部
|
||||||
*
|
*
|
||||||
|
@ -204,13 +204,24 @@
|
|||||||
<if test="map.isFinish != null and map.isFinish != ''">
|
<if test="map.isFinish != null and map.isFinish != ''">
|
||||||
and drt.is_finish = #{map.isFinish}
|
and drt.is_finish = #{map.isFinish}
|
||||||
</if>
|
</if>
|
||||||
<if test="map.userIds != null and map.userIds.size > 0">
|
<if test="map.userIds != null and map.userIds.size > 0 ">
|
||||||
and (drt.tickets_status = '05')
|
and (drt.tickets_status = '05')
|
||||||
and (drt.now_repair_id in
|
<choose>
|
||||||
<foreach collection="map.userIds" item="item" index="index" open="(" separator="," close=")">
|
<when test="map.isFinish == '0'">
|
||||||
#{item}
|
and (drt.now_repair_id in
|
||||||
</foreach>
|
<foreach collection="map.userIds" item="item" index="index" open="(" separator="," close=")">
|
||||||
)
|
#{item}
|
||||||
|
</foreach>
|
||||||
|
)
|
||||||
|
</when>
|
||||||
|
<when test="map.isFinish == '1'">
|
||||||
|
and (
|
||||||
|
<foreach item="item" collection="map.userIds" index="index" open="" separator="or" close="">
|
||||||
|
find_in_set(#{item}, drti.repair_ids) > 0
|
||||||
|
</foreach>
|
||||||
|
)
|
||||||
|
</when>
|
||||||
|
</choose>
|
||||||
</if>
|
</if>
|
||||||
order by drt.create_time desc
|
order by drt.create_time desc
|
||||||
</select>
|
</select>
|
||||||
|
@ -13,13 +13,15 @@
|
|||||||
<result property="waresStatus" column="wares_status" jdbcType="VARCHAR"/>
|
<result property="waresStatus" column="wares_status" jdbcType="VARCHAR"/>
|
||||||
<result property="remark" column="remark" jdbcType="VARCHAR"/>
|
<result property="remark" column="remark" jdbcType="VARCHAR"/>
|
||||||
<result property="isShow" column="is_show" />
|
<result property="isShow" column="is_show" />
|
||||||
|
<result property="waresCouldCount" column="wares_could_count" />
|
||||||
|
<result property="waresAlreadyCount" column="wares_already_count" />
|
||||||
</resultMap>
|
</resultMap>
|
||||||
|
|
||||||
<sql id="Base_SQL">
|
<sql id="Base_SQL">
|
||||||
select
|
select
|
||||||
id,tw_id,wares_id,
|
id,tw_id,wares_id,
|
||||||
wares_name,wares_count,wares_status,remark,
|
wares_name,wares_count,wares_status,remark,
|
||||||
is_show
|
is_show,wares_could_count, wares_already_count
|
||||||
from dl_tw_item dti
|
from dl_tw_item dti
|
||||||
where dti.deleted = '0'
|
where dti.deleted = '0'
|
||||||
</sql>
|
</sql>
|
||||||
|
Loading…
Reference in New Issue
Block a user