This commit is contained in:
sxu 2024-12-25 15:21:26 +08:00
parent 5245abc773
commit de8c05fef4
7 changed files with 65 additions and 44 deletions

View File

@ -59,12 +59,12 @@ public class ToDoBean extends BaseEntity {
private Integer buyerCompanyId; private Integer buyerCompanyId;
@ApiModelProperty(value = "承租方公司名称") @ApiModelProperty(value = "承租方公司名称")
private Integer buyerCompanyName; private String buyerCompanyName;
@ApiModelProperty(value = "出租方公司id") @ApiModelProperty(value = "出租方公司id")
private Integer sellerCompanyId; private Integer sellerCompanyId;
@ApiModelProperty(value = "出租方公司名称") @ApiModelProperty(value = "出租方公司名称")
private Integer sellerCompanyName; private String sellerCompanyName;
} }

View File

@ -127,46 +127,10 @@ public class OrderController extends BaseController {
@ApiOperation(value = "订单状态流转修改") @ApiOperation(value = "订单状态流转修改")
@PostMapping("/updateOrderStatus") @PostMapping("/updateOrderStatus")
public AjaxResult updateOrderStatus(@RequestBody OrderDetailDto orderInfoDto) { public AjaxResult updateOrderStatus(@RequestBody OrderDetailDto orderInfoDto) {
String userName = SecurityUtils.getLoginUser().getUsername();
if (orderInfoDto.getOrderId() == null || StringUtils.isBlank(orderInfoDto.getOrderStatus())) { if (orderInfoDto.getOrderId() == null || StringUtils.isBlank(orderInfoDto.getOrderStatus())) {
return error("参数错误"); return error("参数错误");
} }
// 退租 Integer i = orderService.updateOrderStatus(orderInfoDto);
if (orderInfoDto.getOrderStatus().equals(OrderStatusEnum.ORDER_UNDER_LEASE.getStatus().toString())) {
List<OrderDetailDto> dtos = orderMapper.getOrderDetailsByOrderId(orderInfoDto.getOrderId());
if (dtos.size() > 0 && CollectionUtil.isNotEmpty(dtos)) {
if (CollectionUtil.isNotEmpty(orderInfoDto.getMaIds())) {
for (OrderDetailDto dto : dtos) {
if (orderInfoDto.getMaIds().contains(dto.getMaId())) {
dto.setMaStatus("1");
orderMapper.updateDeviceStatus(dto);
}
}
} else {
for (OrderDetailDto dto : dtos) {
dto.setMaStatus("1");
orderMapper.updateDeviceStatus(dto);
}
}
}
}
// 取消
if (orderInfoDto.getOrderStatus().equals(OrderStatusEnum.ORDER_CANCEL.getStatus().toString())) {
List<OrderDetailDto> dtos = orderMapper.getOrderDetailsByOrderId(orderInfoDto.getOrderId());
if (dtos.size() > 0 && CollectionUtil.isNotEmpty(dtos)) {
for (OrderDetailDto dto : dtos) {
// if ("0".equals(dto.getManageType())) {
// 编码设备已取消的继续上架
dto.setMaStatus(MaStatusEnum.LISTING.getCode().toString());
orderMapper.updateDeviceStatus(dto);
/* } else {
// 数量设备已退租的增加库存
orderMapper.updateAddDevCount(dto);
}*/
}
}
}
Integer i = orderMapper.updateOrderStatus(orderInfoDto.getOrderId(), orderInfoDto.getMaIds(), orderInfoDto.getOrderStatus(), userName);
if (i > 0) { if (i > 0) {
return success(); return success();
} else { } else {

View File

@ -23,6 +23,8 @@ public interface OrderService {
List<OrderInfoDto> getOrderStatusCount(OrderDetailDto dto) throws Exception; List<OrderInfoDto> getOrderStatusCount(OrderDetailDto dto) throws Exception;
Integer updateOrderStatus(OrderDetailDto orderInfoDto);
Integer inputCostRelief(OrderInfoDto orderInfoDto); Integer inputCostRelief(OrderInfoDto orderInfoDto);
Integer changeReliefPrice(OrderInfoDto orderInfoDto); Integer changeReliefPrice(OrderInfoDto orderInfoDto);

View File

@ -1,5 +1,6 @@
package com.bonus.material.order.service.impl; package com.bonus.material.order.service.impl;
import cn.hutool.core.collection.CollectionUtil;
import com.bonus.common.biz.enums.MaStatusEnum; import com.bonus.common.biz.enums.MaStatusEnum;
import com.bonus.common.biz.enums.OrderStatusEnum; import com.bonus.common.biz.enums.OrderStatusEnum;
import com.bonus.common.biz.enums.TmTaskTypeEnum; import com.bonus.common.biz.enums.TmTaskTypeEnum;
@ -220,6 +221,52 @@ public class OrderServiceImpl implements OrderService {
return orderInfoDto; return orderInfoDto;
} }
public Integer updateOrderStatus(OrderDetailDto orderInfoDto) {
// 退租
if (orderInfoDto.getOrderStatus().equals(OrderStatusEnum.ORDER_UNDER_LEASE.getStatus().toString())) {
List<OrderDetailDto> dtos = orderMapper.getOrderDetailsByOrderId(orderInfoDto.getOrderId());
if (dtos.size() > 0 && CollectionUtil.isNotEmpty(dtos)) {
if (CollectionUtil.isNotEmpty(orderInfoDto.getMaIds())) {
for (OrderDetailDto dto : dtos) {
if (orderInfoDto.getMaIds().contains(dto.getMaId())) {
dto.setMaStatus("1");
orderMapper.updateDeviceStatus(dto);
}
}
} else {
for (OrderDetailDto dto : dtos) {
dto.setMaStatus("1");
orderMapper.updateDeviceStatus(dto);
}
}
}
}
// 取消
if (orderInfoDto.getOrderStatus().equals(OrderStatusEnum.ORDER_CANCEL.getStatus().toString())) {
List<OrderDetailDto> dtos = orderMapper.getOrderDetailsByOrderId(orderInfoDto.getOrderId());
if (dtos.size() > 0 && CollectionUtil.isNotEmpty(dtos)) {
for (OrderDetailDto dto : dtos) {
dto.setMaStatus(MaStatusEnum.LISTING.getCode().toString());
orderMapper.updateDeviceStatus(dto);
}
}
}
String userName = SecurityUtils.getLoginUser().getUsername();
Integer i = orderMapper.updateOrderStatus(orderInfoDto.getOrderId(), orderInfoDto.getMaIds(), orderInfoDto.getOrderStatus(), userName);
List<OrderDetailDto> dtos = orderMapper.getOrderDetailsByOrderId(orderInfoDto.getOrderId());
if (!CollectionUtils.isEmpty(dtos)) {
OptionalInt minOrderStatus = dtos.stream().mapToInt(person -> Integer.parseInt(person.getOrderStatus())).min();
if (minOrderStatus.isPresent()) {
TmTask tmTask = new TmTask();
tmTask.setTaskType(TmTaskTypeEnum.TM_TASK_ORDER.getTaskTypeId());
tmTask.setTaskStatus(minOrderStatus.getAsInt());
tmTask.setCode(dtos.get(0).getCode());
tmTaskMapper.updateTaskStatus(tmTask);
}
}
return i;
}
@Override @Override
public Integer inputCostRelief(OrderInfoDto orderInfoDto) { public Integer inputCostRelief(OrderInfoDto orderInfoDto) {
int result = 0; int result = 0;

View File

@ -6,6 +6,8 @@ import org.apache.ibatis.annotations.Mapper;
@Mapper @Mapper
public interface TmTaskMapper { public interface TmTaskMapper {
int insertSelective(TmTask record); int insertSelective(TmTask tmTask);
int updateTaskStatus(TmTask tmTask);
} }

View File

@ -57,7 +57,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
,rent_over_user = #{userName} ,rent_over_user = #{userName}
,rent_over_time = now() ,rent_over_time = now()
</if> </if>
<if test="orderStatus == 8"> <if test="orderStatus == 99">
,refuse_user = #{userName} ,refuse_user = #{userName}
,refuse_time = now() ,refuse_time = now()
</if> </if>
@ -297,6 +297,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
hh.id, hh.id,
hh.ma_id, hh.ma_id,
hh.num, hh.num,
moi.`code` as orderCode,
mt.manage_type, mt.manage_type,
mt.lease_price as dayLeasePrice, mt.lease_price as dayLeasePrice,
hh.relief_cost as reliefCost, hh.relief_cost as reliefCost,
@ -307,6 +308,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
END AS reliefDays END AS reliefDays
FROM FROM
ma_order_details hh ma_order_details hh
LEFT JOIN ma_order_info moi on moi.order_id = hh.order_id
LEFT JOIN ma_dev_info mdi ON hh.ma_id = mdi.ma_id LEFT JOIN ma_dev_info mdi ON hh.ma_id = mdi.ma_id
LEFT JOIN ma_type mt ON mdi.type_id = mt.type_id LEFT JOIN ma_type mt ON mdi.type_id = mt.type_id
WHERE WHERE

View File

@ -42,9 +42,13 @@
where task_id = #{taskId,jdbcType=BIGINT} where task_id = #{taskId,jdbcType=BIGINT}
</select> </select>
<update id="deleteTaskByPrimaryKey" > <update id="updateTaskStatus" >
update tm_task set `status` = '0',update_time = NOW() update
where task_id = #{taskId} tm_task
set
task_status = #{taskStatus}, update_time = NOW()
where
task_type = #{taskType} and code = #{code}
</update> </update>
<insert id="insertSelective" keyColumn="task_id" keyProperty="id" parameterType="com.bonus.material.task.domain.TmTask" useGeneratedKeys="true"> <insert id="insertSelective" keyColumn="task_id" keyProperty="id" parameterType="com.bonus.material.task.domain.TmTask" useGeneratedKeys="true">