Merge remote-tracking branch 'origin/master'
This commit is contained in:
		
						commit
						bc3f972a45
					
				| 
						 | 
				
			
			@ -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, "已取消");
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -12,6 +12,9 @@ import java.util.List;
 | 
			
		|||
@Data
 | 
			
		||||
public class LeasePriceRecord {
 | 
			
		||||
 | 
			
		||||
    @ApiModelProperty(value = "订单id")
 | 
			
		||||
    private Integer orderId;
 | 
			
		||||
 | 
			
		||||
    @ApiModelProperty(value = "租赁费用列表")
 | 
			
		||||
    private List<LeaseRepairRecord> rentPriceList;
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -23,9 +23,6 @@ public class LeaseRecordDto {
 | 
			
		|||
    @ApiModelProperty(value = "订单编号")
 | 
			
		||||
    private String code;
 | 
			
		||||
 | 
			
		||||
    @ApiModelProperty(value = "装备Id")
 | 
			
		||||
    private Integer maId;
 | 
			
		||||
 | 
			
		||||
    @ApiModelProperty(value = "装备套数")
 | 
			
		||||
    private Integer maNumber;
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -101,6 +101,9 @@ public class MaLeaseInfo extends BaseEntity implements Serializable {
 | 
			
		|||
    @ApiModelProperty(value = "接单公司")
 | 
			
		||||
    private String orderCompany;
 | 
			
		||||
 | 
			
		||||
    @ApiModelProperty(value = "接单公司名称")
 | 
			
		||||
    private String orderCompanyName;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 接单时间
 | 
			
		||||
     */
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -34,6 +34,8 @@ public interface LeaseRepairRecordMapper {
 | 
			
		|||
     */
 | 
			
		||||
    int insert(LeaseRepairRecord leaseRepairRecord);
 | 
			
		||||
 | 
			
		||||
    int deleteLeaseRepairRecord(LeaseRepairRecord leaseRepairRecord);
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 查询列表
 | 
			
		||||
     * @param dto
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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++;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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 = "创建日期")
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -119,4 +119,7 @@ public class OrderInfoDto {
 | 
			
		|||
    @ApiModelProperty(value = "是否已填写退租检修内容(0 否,1 是)")
 | 
			
		||||
    private Integer isLeaseContent;
 | 
			
		||||
 | 
			
		||||
    @ApiModelProperty(value = "是否部分退租")
 | 
			
		||||
    private boolean isPartBacked;
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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;
 | 
			
		||||
    }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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())
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue