Compare commits
No commits in common. "0548422b4bce9a45be94626cca89f8f2448b9bee" and "626f6ee335635456670fa21f58145873868a94ef" have entirely different histories.
0548422b4b
...
626f6ee335
@ -187,28 +187,4 @@ public class DlRepairTickets extends TenantBaseDO {
|
|||||||
|
|
||||||
/** 配件是否可见(yes_no,1:可见,0:不可见) */
|
/** 配件是否可见(yes_no,1:可见,0:不可见) */
|
||||||
private String partShow;
|
private String partShow;
|
||||||
|
|
||||||
/** 已行里程 */
|
|
||||||
private String mileageTraveled;
|
|
||||||
|
|
||||||
/** 三包单位 */
|
|
||||||
private String threePackUnits;
|
|
||||||
|
|
||||||
/** 保险名称 */
|
|
||||||
private String insuranceName;
|
|
||||||
|
|
||||||
/** 管理费 */
|
|
||||||
private BigDecimal managerMoney;
|
|
||||||
|
|
||||||
/** 救援费 */
|
|
||||||
private BigDecimal rescueMoney;
|
|
||||||
|
|
||||||
/** 三包费 */
|
|
||||||
private BigDecimal threePackMoney;
|
|
||||||
|
|
||||||
/** 定损费 */
|
|
||||||
private BigDecimal confirmFaultMoney;
|
|
||||||
|
|
||||||
/** 结算备注 */
|
|
||||||
private String billingRemark;
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -474,13 +474,7 @@ public class DlRepairTicketsServiceImpl extends ServiceImpl<DlRepairTicketsMappe
|
|||||||
* @date 14:00 2024/10/12
|
* @date 14:00 2024/10/12
|
||||||
**/
|
**/
|
||||||
@Override
|
@Override
|
||||||
@DSTransactional
|
|
||||||
public void print(HttpServletResponse response, String id) {
|
public void print(HttpServletResponse response, String id) {
|
||||||
// 开始之前先计算一次工单
|
|
||||||
boolean flag = computeTicket(id);
|
|
||||||
if (!flag){
|
|
||||||
throw exception0(500, "系统异常");
|
|
||||||
}
|
|
||||||
// 预备工作
|
// 预备工作
|
||||||
// 先把这个工单和工单的所有子表信息取出来备用
|
// 先把这个工单和工单的所有子表信息取出来备用
|
||||||
DlRepairTickets tickets = baseMapper.selectById(id);
|
DlRepairTickets tickets = baseMapper.selectById(id);
|
||||||
@ -659,7 +653,7 @@ public class DlRepairTicketsServiceImpl extends ServiceImpl<DlRepairTicketsMappe
|
|||||||
// 其他费用 维修工单的其他子项的费用
|
// 其他费用 维修工单的其他子项的费用
|
||||||
params.put("otherCost", ObjectUtil.isNotEmpty(tickets.getOtherPrice()) ? tickets.getOtherPrice() : 0.00);
|
params.put("otherCost", ObjectUtil.isNotEmpty(tickets.getOtherPrice()) ? tickets.getOtherPrice() : 0.00);
|
||||||
// 材料工时优惠 材料优惠+工时优惠
|
// 材料工时优惠 材料优惠+工时优惠
|
||||||
params.put("matlabourFavorable", "0.00");
|
params.put("matlabourFavorable", matFavorable.add(labourFavorable));
|
||||||
|
|
||||||
// todo 目前取不到:管理费、救援费、三包费、定损费、结算备注(这个是因为和工单备注用的同一个)、客户签字
|
// todo 目前取不到:管理费、救援费、三包费、定损费、结算备注(这个是因为和工单备注用的同一个)、客户签字
|
||||||
// 取不到的先默认为0或未知
|
// 取不到的先默认为0或未知
|
||||||
@ -1227,42 +1221,24 @@ public class DlRepairTicketsServiceImpl extends ServiceImpl<DlRepairTicketsMappe
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 重新计算工单的一些数值,子表也要重新计算
|
* 重新计算工单的一些数值
|
||||||
*
|
*
|
||||||
* @param ticketId 工单ID
|
* @param ticketId 工单ID
|
||||||
* @author 小李
|
* @author 小李
|
||||||
* @date 15:47 2024/10/24
|
* @date 15:47 2024/10/24
|
||||||
**/
|
**/
|
||||||
@Override
|
@Override
|
||||||
@DSTransactional
|
|
||||||
public boolean computeTicket(String ticketId) {
|
public boolean computeTicket(String ticketId) {
|
||||||
// 查子表
|
// 查子表
|
||||||
List<DlRepairTitem> list = titemService.list(new LambdaQueryWrapper<DlRepairTitem>().eq(DlRepairTitem::getTicketId, ticketId));
|
List<DlRepairTitem> list = titemService.list(new LambdaQueryWrapper<DlRepairTitem>().eq(DlRepairTitem::getTicketId, ticketId));
|
||||||
// 计算子表
|
// 计算
|
||||||
if (CollectionUtil.isEmpty(list)){
|
|
||||||
throw exception0(500, "没有项目、配件或其他");
|
|
||||||
}
|
|
||||||
List<DlRepairTitem> updateItems = list.stream().map(item -> {
|
|
||||||
DlRepairTitem titem = new DlRepairTitem();
|
|
||||||
titem.setId(item.getId());
|
|
||||||
// 取出折扣
|
|
||||||
BigDecimal discount = item.getItemDiscount() == null ? new BigDecimal("1") : item.getItemDiscount();
|
|
||||||
titem.setItemMoney(item.getItemPrice().multiply(BigDecimal.valueOf(item.getItemCount())).multiply(discount));
|
|
||||||
return titem;
|
|
||||||
}).collect(Collectors.toList());
|
|
||||||
// 更新
|
|
||||||
titemService.updateBatchById(updateItems);
|
|
||||||
|
|
||||||
// 计算主表
|
|
||||||
// 查新的子表信息
|
|
||||||
List<DlRepairTitem> newList = titemService.list(new LambdaQueryWrapper<DlRepairTitem>().eq(DlRepairTitem::getTicketId, ticketId));
|
|
||||||
DlRepairTickets tickets = new DlRepairTickets();
|
DlRepairTickets tickets = new DlRepairTickets();
|
||||||
// 计算子项总数
|
// 计算子项总数
|
||||||
int count = newList.stream().mapToInt(DlRepairTitem::getItemCount).sum();
|
int count = list.stream().mapToInt(DlRepairTitem::getItemCount).sum();
|
||||||
tickets.setId(ticketId);
|
tickets.setId(ticketId);
|
||||||
tickets.setCount(count);
|
tickets.setCount(count);
|
||||||
// 分类计算各自的总价和最终工单总价
|
// 分类计算各自的总价和最终工单总价
|
||||||
Map<String, List<DlRepairTitem>> map = newList.stream().collect(Collectors.groupingBy(DlRepairTitem::getItemType));
|
Map<String, List<DlRepairTitem>> map = list.stream().collect(Collectors.groupingBy(DlRepairTitem::getItemType));
|
||||||
// 01项目,02,配件,03,其他
|
// 01项目,02,配件,03,其他
|
||||||
tickets.setTotalPrice(BigDecimal.ZERO);
|
tickets.setTotalPrice(BigDecimal.ZERO);
|
||||||
map.forEach((k, v) -> {
|
map.forEach((k, v) -> {
|
||||||
|
|||||||
@ -46,14 +46,6 @@
|
|||||||
<result property="nowRepairId" column="now_repair_id" />
|
<result property="nowRepairId" column="now_repair_id" />
|
||||||
<result property="nowRepairName" column="now_repair_name" />
|
<result property="nowRepairName" column="now_repair_name" />
|
||||||
<result property="partShow" column="part_show" />
|
<result property="partShow" column="part_show" />
|
||||||
<result property="mileageTraveled" column="mileage_traveled" />
|
|
||||||
<result property="threePackUnits" column="three_pack_units" />
|
|
||||||
<result property="insuranceName" column="insurance_name" />
|
|
||||||
<result property="managerMoney" column="manager_money" />
|
|
||||||
<result property="rescueMoney" column="rescue_money" />
|
|
||||||
<result property="threePackMoney" column="three_pack_money" />
|
|
||||||
<result property="confirmFaultMoney" column="confirm_fault_money" />
|
|
||||||
<result property="billingRemark" column="billing_remark" />
|
|
||||||
</resultMap>
|
</resultMap>
|
||||||
|
|
||||||
<resultMap id="APPBaseResultMap" type="cn.iocoder.yudao.module.tickets.vo.DlRepairTicketsRespVO">
|
<resultMap id="APPBaseResultMap" type="cn.iocoder.yudao.module.tickets.vo.DlRepairTicketsRespVO">
|
||||||
@ -98,14 +90,6 @@
|
|||||||
<result property="nowRepairId" column="now_repair_id" />
|
<result property="nowRepairId" column="now_repair_id" />
|
||||||
<result property="nowRepairName" column="now_repair_name" />
|
<result property="nowRepairName" column="now_repair_name" />
|
||||||
<result property="partShow" column="part_show" />
|
<result property="partShow" column="part_show" />
|
||||||
<result property="mileageTraveled" column="mileage_traveled" />
|
|
||||||
<result property="threePackUnits" column="three_pack_units" />
|
|
||||||
<result property="insuranceName" column="insurance_name" />
|
|
||||||
<result property="managerMoney" column="manager_money" />
|
|
||||||
<result property="rescueMoney" column="rescue_money" />
|
|
||||||
<result property="threePackMoney" column="three_pack_money" />
|
|
||||||
<result property="confirmFaultMoney" column="confirm_fault_money" />
|
|
||||||
<result property="billingRemark" column="billing_remark" />
|
|
||||||
<association property="booking" javaType="cn.iocoder.yudao.module.booking.entity.DlRepairBooking" select="selectBookingById" column="id"/>
|
<association property="booking" javaType="cn.iocoder.yudao.module.booking.entity.DlRepairBooking" select="selectBookingById" column="id"/>
|
||||||
<collection property="itemList" column="id" ofType="cn.iocoder.yudao.module.tickets.entity.DlRepairTitem" select="selectItemList" />
|
<collection property="itemList" column="id" ofType="cn.iocoder.yudao.module.tickets.entity.DlRepairTitem" select="selectItemList" />
|
||||||
</resultMap>
|
</resultMap>
|
||||||
@ -151,15 +135,7 @@
|
|||||||
is_finish,
|
is_finish,
|
||||||
now_repair_id,
|
now_repair_id,
|
||||||
now_repair_name,
|
now_repair_name,
|
||||||
part_show,
|
part_show
|
||||||
mileage_traveled,
|
|
||||||
three_pack_units,
|
|
||||||
insurance_name,
|
|
||||||
manager_money,
|
|
||||||
rescue_money,
|
|
||||||
three_pack_money,
|
|
||||||
confirm_fault_money,
|
|
||||||
billing_remark
|
|
||||||
from dl_repair_tickets drt
|
from dl_repair_tickets drt
|
||||||
where drt.deleted = '0'
|
where drt.deleted = '0'
|
||||||
</sql>
|
</sql>
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user