Merge remote-tracking branch 'origin/master'

This commit is contained in:
liang.chao 2024-12-12 18:22:18 +08:00
commit bc3f972a45
11 changed files with 62 additions and 20 deletions

View File

@ -15,10 +15,11 @@ public enum OrderStatusEnum {
ORDER_RECEIVE(2, "已接单-待出库"),
ORDER_PENDING_SHIPMENT(3, "已出库-待收货"),
ORDER_AWAITING_RECEIPT(4, "已收货-租赁中"),
ORDER_UNDER_LEASE(5, "已退租-待结算"),
ORDER_TERMINATED(6, "已结算-待确认"),
ORDER_FINISHED(7, "已完成"),
ORDER_CANCEL(8, "已取消");
ORDER_UNDER_LEASE(5, "已退租-待检修"),
ORDER_REPAIRED(10, "已检修-待结算"),
ORDER_TERMINATED(15, "已结算-待确认"),
ORDER_FINISHED(20, "已完成"),
ORDER_CANCEL(99, "已取消");

View File

@ -12,6 +12,9 @@ import java.util.List;
@Data
public class LeasePriceRecord {
@ApiModelProperty(value = "订单id")
private Integer orderId;
@ApiModelProperty(value = "租赁费用列表")
private List<LeaseRepairRecord> rentPriceList;

View File

@ -23,9 +23,6 @@ public class LeaseRecordDto {
@ApiModelProperty(value = "订单编号")
private String code;
@ApiModelProperty(value = "装备Id")
private Integer maId;
@ApiModelProperty(value = "装备套数")
private Integer maNumber;

View File

@ -101,6 +101,9 @@ public class MaLeaseInfo extends BaseEntity implements Serializable {
@ApiModelProperty(value = "接单公司")
private String orderCompany;
@ApiModelProperty(value = "接单公司名称")
private String orderCompanyName;
/**
* 接单时间
*/

View File

@ -34,6 +34,8 @@ public interface LeaseRepairRecordMapper {
*/
int insert(LeaseRepairRecord leaseRepairRecord);
int deleteLeaseRepairRecord(LeaseRepairRecord leaseRepairRecord);
/**
* 查询列表
* @param dto

View File

@ -187,13 +187,23 @@ public class LeaseRepairRecordServiceImpl implements LeaseRepairRecordService {
if (leaseRecordDto == null || leaseRecordDto.getOrderId() == null || leaseRecordDto.getCode() == null) {
return AjaxResult.error(HttpCodeEnum.TO_PARAM_NULL.getCode(), HttpCodeEnum.TO_PARAM_NULL.getMsg());
}
List<Integer> maIdList = new ArrayList<>();
if (Objects.isNull(leaseRecordDto.getMaId())) {
List<OrderDetailDto> list = orderMapper.selectOrderDetailsByOderId(leaseRecordDto.getOrderId());
maIdList = list.stream().map(OrderDetailDto::getMaId).collect(Collectors.toList());
} else {
maIdList = Arrays.asList(leaseRecordDto.getMaId());
Set<Integer> maIdSet = new HashSet<>();
List<Integer> maIds_repair = new ArrayList<>();
List<Integer> maIds_scrap = new ArrayList<>();
List<Integer> maIds_loss = new ArrayList<>();
if (CollectionUtils.isNotEmpty(leaseRecordDto.getRepairRecordList())) {
maIds_repair = leaseRecordDto.getRepairRecordList().stream().map(LeaseRepairRecord::getMaId).collect(Collectors.toList());
}
if (CollectionUtils.isNotEmpty(leaseRecordDto.getScrapRecordList())) {
maIds_scrap = leaseRecordDto.getRepairRecordList().stream().map(LeaseRepairRecord::getMaId).collect(Collectors.toList());
}
if (CollectionUtils.isNotEmpty(leaseRecordDto.getLossRecordList())) {
maIds_loss = leaseRecordDto.getRepairRecordList().stream().map(LeaseRepairRecord::getMaId).collect(Collectors.toList());
}
maIdSet.addAll(maIds_repair);
maIdSet.addAll(maIds_scrap);
maIdSet.addAll(maIds_loss);
LeaseRepairRecord leaseRepairRecord = createLeaseRepairRecord(leaseRecordDto);
// 校验所有记录是否为空
if (isAllRecordListsEmpty(leaseRecordDto)) {
@ -201,7 +211,7 @@ public class LeaseRepairRecordServiceImpl implements LeaseRepairRecordService {
}
try {
// 处理维修报废丢失记录的情况
return handleAllRecords(leaseRecordDto, maIdList);
return handleAllRecords(leaseRecordDto, new ArrayList<>(maIdSet));
} catch (Exception e) {
log.error("新增退租检修异常: ", e.getMessage());
return AjaxResult.error(HttpCodeEnum.FAIL.getCode(), e.getMessage());
@ -265,6 +275,8 @@ public class LeaseRepairRecordServiceImpl implements LeaseRepairRecordService {
result += mapper.updateChangePrice(lossRecord);
}
}
String userName = SecurityUtils.getLoginUser().getUsername();
result += orderMapper.updateOrderStatus(leasePriceRecord.getOrderId(), null, String.valueOf(OrderStatusEnum.ORDER_TERMINATED.getStatus()), userName);
if (result > 0) {
return AjaxResult.success(HttpCodeEnum.SUCCESS.getMsg());
}
@ -326,14 +338,17 @@ public class LeaseRepairRecordServiceImpl implements LeaseRepairRecordService {
result += insertRepairScrapLossRecords(scrapRecordList, leaseRepairRecord);
result += insertRepairScrapLossRecords(lossRecordList, leaseRepairRecord);
// 插入前删掉旧的维修记录
mapper.deleteLeaseRepairRecord(leaseRepairRecord);
// 执行插入操作
result += mapper.insert(leaseRepairRecord);
}
LeaseRepairRecord leaseRepairRecord = new LeaseRepairRecord();
leaseRepairRecord.setOrderId(leaseRecordDto.getOrderId());
leaseRepairRecord.setOrderStatus(OrderStatusEnum.ORDER_TERMINATED.getStatus());
leaseRepairRecord.setMaIds(maIdList);
result += orderMapper.updateOrder(leaseRepairRecord);
// LeaseRepairRecord leaseRepairRecord = new LeaseRepairRecord();
// leaseRepairRecord.setOrderId(leaseRecordDto.getOrderId());
// leaseRepairRecord.setOrderStatus(OrderStatusEnum.ORDER_REPAIRED.getStatus());
// leaseRepairRecord.setMaIds(maIdList);
// result += orderMapper.updateOrder(leaseRepairRecord);
// 返回结果
return result > 0 ? AjaxResult.success(HttpCodeEnum.SUCCESS.getMsg())
: AjaxResult.error(HttpCodeEnum.FAIL.getCode(), HttpCodeEnum.FAIL.getMsg());
@ -436,6 +451,9 @@ public class LeaseRepairRecordServiceImpl implements LeaseRepairRecordService {
leaseRepairRecord.setLossNum(record.getLossNum());
leaseRepairRecord.setLossPrice(record.getLossPrice());
if (CollectionUtils.isNotEmpty(record.getFileInfoList())) {
for (BmFileInfo bmFileInfo : record.getFileInfoList()) {
bmFileInfoMapper.deleteBmFileInfoByBizInfo(bmFileInfo);
}
bmFileInfoMapper.insertBmFileInfos(record.getFileInfoList());
}
result++;

View File

@ -71,7 +71,7 @@ public class OrderDetailDto {
@ApiModelProperty(value = "日租金")
private BigDecimal dayLeasePrice;
@ApiModelProperty(value = "订单状态0未下单 1已下单 2待出库 3待收货 4租赁中 5已退租 6已完成 7已取消)")
@ApiModelProperty(value = "订单状态0未下单 1已下单 2待出库 3待收货 4租赁中 5已退租 10已检修 15已结算 20已完成 99已取消)")
private String orderStatus;
@ApiModelProperty(value = "创建日期")

View File

@ -119,4 +119,7 @@ public class OrderInfoDto {
@ApiModelProperty(value = "是否已填写退租检修内容0 否1 是)")
private Integer isLeaseContent;
@ApiModelProperty(value = "是否部分退租")
private boolean isPartBacked;
}

View File

@ -1,6 +1,7 @@
package com.bonus.material.order.service.impl;
import com.bonus.common.biz.enums.MaStatusEnum;
import com.bonus.common.biz.enums.OrderStatusEnum;
import com.bonus.common.security.utils.SecurityUtils;
import com.bonus.material.device.domain.DevInfo;
import com.bonus.material.lease.mapper.LeaseRepairRecordMapper;
@ -114,6 +115,7 @@ public class OrderServiceImpl implements OrderService {
} else {
dto.setIsLeaseContent(0);
}
dto.setPartBacked(list.stream().anyMatch(o -> OrderStatusEnum.ORDER_UNDER_LEASE.getStatus().toString().equals(o.getOrderStatus())));
}
return orderInfoDtos;
}

View File

@ -49,6 +49,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</trim>
</insert>
<delete id="deleteLeaseRepairRecord">
delete from lease_repair_record
where
code = #{code} and order_id = #{orderId} and ma_id = #{maId}
</delete>
<insert id="insertHotSearch">
insert into ma_hot_search(lease_id, lease_num, create_time)
values(#{id}, 1, now())

View File

@ -123,6 +123,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
m.lease_end_time as leaseEndTime,
m.start_time as startTime,
m.end_time as endTime,
m.order_time as orderTime,
su.nick_name as orderUser,
su.phonenumber as orderPhone,
m.order_company as orderCompany,
sd2.dept_name as orderCompanyName,
m.person as person,
m.person_phone as personPhone,
m.description as description,
@ -144,6 +149,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
LEFT JOIN base_address b2 on m.city_code = b2.code
LEFT JOIN ma_hot_search h ON h.lease_id = m.id
LEFT JOIN sys_dept sd on m.publish_company = sd.dept_id
LEFT JOIN sys_dept sd2 on m.order_company = sd2.dept_id
LEFT JOIN sys_user su on m.order_user = su.user_id
WHERE 1 = 1
<if test="id != null">
and m.id = #{id}