申请配件单、审核配件单逻辑改造完成
This commit is contained in:
parent
cd258a589c
commit
4797d5d1c9
@ -62,7 +62,7 @@ public class DlTicketWaresController {
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增、修改
|
||||
* 维修工新增配件申请单
|
||||
*
|
||||
* @author 小李
|
||||
* @date 12:14 2024/10/15
|
||||
|
@ -2,17 +2,13 @@ package cn.iocoder.yudao.module.tickets.entity;
|
||||
|
||||
import cn.iocoder.yudao.framework.tenant.core.db.TenantBaseDO;
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* 工单配件申请/退回子表
|
||||
* 工单配件申请单配件明细表
|
||||
*
|
||||
* @author 小李
|
||||
* @date 11:49 2024/10/15
|
||||
@ -43,6 +39,12 @@ public class DlTwItem extends TenantBaseDO {
|
||||
|
||||
/** 配件状态:使用字典yes_no,1通过,0没通过 */
|
||||
private String waresStatus;
|
||||
/** 配件添加人id */
|
||||
private Long addUserId;
|
||||
/** 配件添加人姓名 */
|
||||
private String addUserName;
|
||||
/** 是否仓管添加的(0否|1是) */
|
||||
private Boolean ifHouseAdd;
|
||||
|
||||
/** 审核人ID(system_users的ID) */
|
||||
private Long handleId;
|
||||
|
@ -223,6 +223,10 @@ public class DlTicketWaresServiceImpl extends ServiceImpl<DlTicketWaresMapper, D
|
||||
twItem.setTwId(ticketWares.getId());
|
||||
twItem.setWaresStatus("");
|
||||
twItem.setWaresAlreadyCount(0);
|
||||
//非仓管添加
|
||||
twItem.setIfHouseAdd(false);
|
||||
twItem.setAddUserId(customerMain.getUserId());
|
||||
twItem.setAddUserName(customerMain.getCusName());
|
||||
return twItem;
|
||||
}).collect(Collectors.toList());
|
||||
if (CollectionUtil.isEmpty(list)) {
|
||||
@ -289,7 +293,6 @@ public class DlTicketWaresServiceImpl extends ServiceImpl<DlTicketWaresMapper, D
|
||||
List<DlTwItem> twItems = twItemService.listByIds(twItemIds);
|
||||
// 取所有的配件信息
|
||||
List<String> wareIds = twItems.stream().map(DlTwItem::getWaresId).collect(Collectors.toList());
|
||||
List<RepairWares> repairWares = repairWaresService.listByIds(wareIds);
|
||||
// 更新配件申请表子表
|
||||
List<DlTwItem> newTwitems = twItemIds.stream().map(item -> {
|
||||
DlTwItem twItem = new DlTwItem();
|
||||
@ -307,68 +310,70 @@ public class DlTicketWaresServiceImpl extends ServiceImpl<DlTicketWaresMapper, D
|
||||
if (isStatus) {
|
||||
baseMapper.update(new LambdaUpdateWrapper<DlTicketWares>().set(DlTicketWares::getStatus, "02").eq(DlTicketWares::getId, respVO.getId()));
|
||||
}
|
||||
// 更新维修工单子表
|
||||
if (status.equals("01")) {
|
||||
DlTicketWares ticketWares = baseMapper.selectById(respVO.getId());
|
||||
List<DlRepairTitem> titems = repairTitemService.list(new LambdaQueryWrapper<DlRepairTitem>().and(i -> {
|
||||
i.in(DlRepairTitem::getTicketId, ticketWares.getTicketId())
|
||||
.eq(DlRepairTitem::getItemType, "02");
|
||||
}));
|
||||
// 要修改的
|
||||
List<DlRepairTitem> updateTitems = titems.stream().filter(item -> wareIds.contains(item.getPartId())).collect(Collectors.toList());
|
||||
// 修改
|
||||
if (CollectionUtil.isNotEmpty(updateTitems)) {
|
||||
List<DlRepairTitem> newTitems = updateTitems.stream().map(item -> {
|
||||
DlRepairTitem titem = new DlRepairTitem();
|
||||
titem.setId(item.getId());
|
||||
DlTwItem twItem = allTwitems.stream().filter(i -> i.getWaresId().equals(item.getPartId())).findFirst().orElse(null);
|
||||
if (twItem != null) {
|
||||
titem.setItemCount(item.getItemCount() + twItem.getWaresCount());
|
||||
titem.setItemMoney(item.getItemPrice().multiply(BigDecimal.valueOf(titem.getItemCount())).multiply(item.getItemDiscount()));
|
||||
}
|
||||
return titem;
|
||||
}).collect(Collectors.toList());
|
||||
repairTitemService.updateBatchById(newTitems);
|
||||
}
|
||||
// 要新增的
|
||||
if (updateTitems.size() < wareIds.size()) {
|
||||
List<String> titemIds = updateTitems.stream().map(DlRepairTitem::getPartId).collect(Collectors.toList());
|
||||
List<RepairWares> newWares = repairWares.stream().filter(item -> !titemIds.contains(item.getId())).collect(Collectors.toList());
|
||||
// 新增
|
||||
List<DlRepairTitem> newTitems = newWares.stream().map(item -> {
|
||||
DlRepairTitem titem = new DlRepairTitem();
|
||||
titem.setTicketId(ticketWares.getTicketId());
|
||||
titem.setItemType("02");
|
||||
titem.setItemName(item.getName());
|
||||
DlTwItem twItem = allTwitems.stream().filter(i -> i.getWaresId().equals(item.getId())).findFirst().orElse(null);
|
||||
titem.setItemCount(twItem != null ? twItem.getWaresCount() : 0);
|
||||
titem.setItemUnit(item.getUnit());
|
||||
titem.setItemPrice((item.getPrice() != null) ? item.getPrice() : BigDecimal.ZERO);
|
||||
titem.setItemDiscount(BigDecimal.ONE);
|
||||
titem.setItemMoney(titem.getItemPrice().multiply(BigDecimal.valueOf(titem.getItemCount())).multiply(titem.getItemDiscount()));
|
||||
titem.setRepairIds(String.valueOf(ticketWares.getRepairId()));
|
||||
titem.setRepairNames(ticketWares.getRepairName());
|
||||
titem.setSaleId(ticketWares.getAdviserId());
|
||||
titem.setSaleName(ticketWares.getAdviserName());
|
||||
titem.setPartId(item.getId());
|
||||
titem.setItemStatus("04");
|
||||
titem.setRemark(twItem != null ? twItem.getRemark() : null);
|
||||
return titem;
|
||||
}).collect(Collectors.toList());
|
||||
repairTitemService.saveBatch(newTitems);
|
||||
}
|
||||
// 更新维修工单主表
|
||||
boolean flag = repairTicketsService.computeTicket(ticketWares.getTicketId());
|
||||
if (!flag) {
|
||||
throw exception0(500, "重新计算工单错误");
|
||||
}
|
||||
// 发送通过的消息给仓库
|
||||
RoleReqDTO roleInfo = roleApi.getRoleInfo(RepairRoleEnum.WAREHOUSE.getCode());
|
||||
List<Long> ids = permissionApi.getUserIdByRoleId(roleInfo.getId());
|
||||
if (CollectionUtil.isNotEmpty(ids)) {
|
||||
ids.forEach(id -> repairWorkerService.sentMessage(id, "您有新的配件申请单需要处理"));
|
||||
}
|
||||
}
|
||||
/* 审核配件申请单暂时不操作工单子表 */
|
||||
// // 更新维修工单子表
|
||||
// List<RepairWares> repairWares = repairWaresService.listByIds(wareIds);
|
||||
// if (status.equals("01")) {
|
||||
// DlTicketWares ticketWares = baseMapper.selectById(respVO.getId());
|
||||
// List<DlRepairTitem> titems = repairTitemService.list(new LambdaQueryWrapper<DlRepairTitem>().and(i -> {
|
||||
// i.in(DlRepairTitem::getTicketId, ticketWares.getTicketId())
|
||||
// .eq(DlRepairTitem::getItemType, "02");
|
||||
// }));
|
||||
// // 要修改的
|
||||
// List<DlRepairTitem> updateTitems = titems.stream().filter(item -> wareIds.contains(item.getPartId())).collect(Collectors.toList());
|
||||
// // 修改
|
||||
// if (CollectionUtil.isNotEmpty(updateTitems)) {
|
||||
// List<DlRepairTitem> newTitems = updateTitems.stream().map(item -> {
|
||||
// DlRepairTitem titem = new DlRepairTitem();
|
||||
// titem.setId(item.getId());
|
||||
// DlTwItem twItem = allTwitems.stream().filter(i -> i.getWaresId().equals(item.getPartId())).findFirst().orElse(null);
|
||||
// if (twItem != null) {
|
||||
// titem.setItemCount(item.getItemCount() + twItem.getWaresCount());
|
||||
// titem.setItemMoney(item.getItemPrice().multiply(BigDecimal.valueOf(titem.getItemCount())).multiply(item.getItemDiscount()));
|
||||
// }
|
||||
// return titem;
|
||||
// }).collect(Collectors.toList());
|
||||
// repairTitemService.updateBatchById(newTitems);
|
||||
// }
|
||||
// // 要新增的
|
||||
// if (updateTitems.size() < wareIds.size()) {
|
||||
// List<String> titemIds = updateTitems.stream().map(DlRepairTitem::getPartId).collect(Collectors.toList());
|
||||
// List<RepairWares> newWares = repairWares.stream().filter(item -> !titemIds.contains(item.getId())).collect(Collectors.toList());
|
||||
// // 新增
|
||||
// List<DlRepairTitem> newTitems = newWares.stream().map(item -> {
|
||||
// DlRepairTitem titem = new DlRepairTitem();
|
||||
// titem.setTicketId(ticketWares.getTicketId());
|
||||
// titem.setItemType("02");
|
||||
// titem.setItemName(item.getName());
|
||||
// DlTwItem twItem = allTwitems.stream().filter(i -> i.getWaresId().equals(item.getId())).findFirst().orElse(null);
|
||||
// titem.setItemCount(twItem != null ? twItem.getWaresCount() : 0);
|
||||
// titem.setItemUnit(item.getUnit());
|
||||
// titem.setItemPrice((item.getPrice() != null) ? item.getPrice() : BigDecimal.ZERO);
|
||||
// titem.setItemDiscount(BigDecimal.ONE);
|
||||
// titem.setItemMoney(titem.getItemPrice().multiply(BigDecimal.valueOf(titem.getItemCount())).multiply(titem.getItemDiscount()));
|
||||
// titem.setRepairIds(String.valueOf(ticketWares.getRepairId()));
|
||||
// titem.setRepairNames(ticketWares.getRepairName());
|
||||
// titem.setSaleId(ticketWares.getAdviserId());
|
||||
// titem.setSaleName(ticketWares.getAdviserName());
|
||||
// titem.setPartId(item.getId());
|
||||
// titem.setItemStatus("04");
|
||||
// titem.setRemark(twItem != null ? twItem.getRemark() : null);
|
||||
// return titem;
|
||||
// }).collect(Collectors.toList());
|
||||
// repairTitemService.saveBatch(newTitems);
|
||||
// }
|
||||
// // 更新维修工单主表
|
||||
// boolean flag = repairTicketsService.computeTicket(ticketWares.getTicketId());
|
||||
// if (!flag) {
|
||||
// throw exception0(500, "重新计算工单错误");
|
||||
// }
|
||||
// // 发送通过的消息给仓库
|
||||
// RoleReqDTO roleInfo = roleApi.getRoleInfo(RepairRoleEnum.WAREHOUSE.getCode());
|
||||
// List<Long> ids = permissionApi.getUserIdByRoleId(roleInfo.getId());
|
||||
// if (CollectionUtil.isNotEmpty(ids)) {
|
||||
// ids.forEach(id -> repairWorkerService.sentMessage(id, "您有新的配件申请单需要处理"));
|
||||
// }
|
||||
// }
|
||||
// 通知维修工
|
||||
DlTicketWares ticketWares = baseMapper.selectById(respVO.getId());
|
||||
repairWorkerService.sentMessage(ticketWares.getRepairId(), "您有新的配件申请单" + (status.equals("01") ? "审批通过了" : "被驳回了"));
|
||||
|
@ -2,6 +2,8 @@ package cn.iocoder.yudao.module.tickets.service.impl;
|
||||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import cn.hutool.core.collection.CollectionUtil;
|
||||
import cn.iocoder.yudao.framework.security.core.LoginUser;
|
||||
import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils;
|
||||
import cn.iocoder.yudao.module.project.entity.RepairWares;
|
||||
import cn.iocoder.yudao.module.project.service.RepairWaresService;
|
||||
import cn.iocoder.yudao.module.system.api.dict.DictDataApi;
|
||||
@ -101,6 +103,7 @@ public class DlTwItemServiceImpl extends ServiceImpl<DlTwItemMapper, DlTwItem>
|
||||
**/
|
||||
@Override
|
||||
public void addTwi(AddTwiVO addTwiVO){
|
||||
LoginUser loginUser = SecurityFrameworkUtils.getLoginUser();
|
||||
// 构建子表数据
|
||||
if (CollectionUtil.isEmpty(addTwiVO.getItems())){
|
||||
throw exception0(500, "请选择配件");
|
||||
@ -125,6 +128,9 @@ public class DlTwItemServiceImpl extends ServiceImpl<DlTwItemMapper, DlTwItem>
|
||||
twItem.setWaresId(item.getId());
|
||||
twItem.setWaresName(item.getName());
|
||||
twItem.setWaresCount(item.getCount());
|
||||
twItem.setAddUserId(loginUser.getId());
|
||||
twItem.setAddUserName(loginUser.getInfo().get("nickname"));
|
||||
twItem.setIfHouseAdd(false);
|
||||
twItem.setWaresAlreadyCount(0);
|
||||
twItem.setWaresStatus("");
|
||||
twItem.setRemark(item.getRemark());
|
||||
@ -152,6 +158,9 @@ public class DlTwItemServiceImpl extends ServiceImpl<DlTwItemMapper, DlTwItem>
|
||||
twItem.setWaresId(item.getId());
|
||||
twItem.setWaresName(item.getName());
|
||||
twItem.setWaresCount(item.getCount());
|
||||
twItem.setAddUserId(loginUser.getId());
|
||||
twItem.setAddUserName(loginUser.getInfo().get("nickname"));
|
||||
twItem.setIfHouseAdd(false);
|
||||
twItem.setWaresAlreadyCount(0);
|
||||
twItem.setWaresStatus("");
|
||||
twItem.setRemark(item.getRemark());
|
||||
|
Loading…
Reference in New Issue
Block a user