订单状态修改,批量新增修改

This commit is contained in:
liang.chao 2024-12-06 15:01:32 +08:00
parent a5d0b758c7
commit 1e0f75f42b
7 changed files with 73 additions and 51 deletions

View File

@ -7,6 +7,8 @@ import lombok.Data;
import lombok.ToString; import lombok.ToString;
import lombok.experimental.Accessors; import lombok.experimental.Accessors;
import java.util.List;
/** /**
* 附件 * 附件
对象 bm_file_info 对象 bm_file_info

View File

@ -12,11 +12,16 @@ public enum OrderStatusEnum {
NO_ORDER_PLACED(0, "未下单"), NO_ORDER_PLACED(0, "未下单"),
TO_ORDER_PLACED(1, "已下单"), TO_ORDER_PLACED(1, "已下单"),
ORDER_PENDING_SHIPMENT(2, "待出库"), ORDER_RECEIVE(2, "已接单"),
ORDER_AWAITING_RECEIPT(3, "待收货"), ORDER_PENDING_SHIPMENT(3, "待出库"),
ORDER_UNDER_LEASE(4, "租赁中"), ORDER_AWAITING_RECEIPT(4, "待收货"),
ORDER_TERMINATED(5, "已退租"), ORDER_UNDER_LEASE(5, "租赁中"),
ORDER_FINISHED(6, "已完成"); ORDER_TERMINATED(6, "已退租"),
ORDER_SETTLEMENT(7, "已结算"),
ORDER_FINISHED(8, "已完成"),
ORDER_CANCEL(9, "已取消");
private final Integer status; private final Integer status;
private final String statusName; private final String statusName;

View File

@ -55,8 +55,6 @@ public class DevInfo extends BaseEntity {
@Excel(name = "设备数量") @Excel(name = "设备数量")
@ApiModelProperty(value = "设备数量") @ApiModelProperty(value = "设备数量")
@NotNull(message = "设备数量不能为空")
@Min(value = 1, message = "设备数量不能小于1")
private Integer deviceCount; private Integer deviceCount;
@ApiModelProperty(value = "单位") @ApiModelProperty(value = "单位")
@ -216,10 +214,16 @@ public class DevInfo extends BaseEntity {
@ApiModelProperty(value = "检测证明、检验pdf") @ApiModelProperty(value = "检测证明、检验pdf")
@NotEmpty(message = "检测证明、检验pdf不能为空") @NotEmpty(message = "检测证明、检验pdf不能为空")
private List<List<BmFileInfo>> examinationPdfs = new ArrayList<>();
@ApiModelProperty(value = "检测证明、检验pdf")
private List<BmFileInfo> examinationPdf = new ArrayList<>(); private List<BmFileInfo> examinationPdf = new ArrayList<>();
@ApiModelProperty(value = "合格证、保险pdf") @ApiModelProperty(value = "合格证、保险pdf")
@NotEmpty(message = "合格证、保险pdf不能为空") @NotEmpty(message = "合格证、保险pdf不能为空")
private List<List<BmFileInfo>> insurancePdfs = new ArrayList<>();
@ApiModelProperty(value = "合格证、保险pdf")
private List<BmFileInfo> insurancePdf = new ArrayList<>(); private List<BmFileInfo> insurancePdf = new ArrayList<>();
/**文件附件*/ /**文件附件*/

View File

@ -319,7 +319,7 @@ public class DevInfoServiceImpl implements DevInfoService {
if (deviceNameCount != null && deviceNameCount.getMaId() > 0) { if (deviceNameCount != null && deviceNameCount.getMaId() > 0) {
return AjaxResult.error("设备名称已存在,请修改后重试!"); return AjaxResult.error("设备名称已存在,请修改后重试!");
}*/ }*/
for (int i = 0; i < devInfo.getExaminationPdfs().size(); i++) {
//获取用户信息 //获取用户信息
Long userId = SecurityUtils.getLoginUser().getUserid(); Long userId = SecurityUtils.getLoginUser().getUserid();
//保存用户信息 //保存用户信息
@ -329,15 +329,18 @@ public class DevInfoServiceImpl implements DevInfoService {
} }
devInfo.setCode(code); devInfo.setCode(code);
devInfo.setCompanyId(SecurityUtils.getLoginUser().getSysUser().getCompanyId().toString()); devInfo.setCompanyId(SecurityUtils.getLoginUser().getSysUser().getCompanyId().toString());
devInfo.setDeviceCount(1);
int saveSuccessNum = devInfoMapper.insertDevInfo(devInfo); int saveSuccessNum = devInfoMapper.insertDevInfo(devInfo);
code = "";
if (saveSuccessNum == 0) { if (saveSuccessNum == 0) {
return AjaxResult.error("设备信息SQL保存失败请修改后重试"); return AjaxResult.error("设备信息SQL保存失败请修改后重试");
} }
//把文件保存到附件中 //把文件保存到附件中
AjaxResult error = uploadFiles(devInfo, userId); AjaxResult error = uploadFiles(devInfo, userId, i);
if (error != null) { if (error != null) {
return error; return error;
} }
}
return AjaxResult.success("保存成功"); return AjaxResult.success("保存成功");
} }
@ -357,16 +360,19 @@ public class DevInfoServiceImpl implements DevInfoService {
if (devInfo.getMaId() != null) { if (devInfo.getMaId() != null) {
devInfoMapper.deleteDevInfoByMaId(devInfo.getMaId(), MaStatusEnum.UNDER_RENT.getCode()); devInfoMapper.deleteDevInfoByMaId(devInfo.getMaId(), MaStatusEnum.UNDER_RENT.getCode());
} }
for (int i = 0; i < devInfo.getExaminationPdfs().size(); i++) {
String code = getString(); String code = getString();
devInfo.setCode(code); devInfo.setCode(code);
devInfo.setDeviceCount(1);
int insertedDraft = devInfoMapper.insertDraft(devInfo); int insertedDraft = devInfoMapper.insertDraft(devInfo);
if (insertedDraft == 0) { if (insertedDraft == 0) {
return AjaxResult.error("装备草稿保存失败,请修改后重试"); return AjaxResult.error("装备草稿保存失败,请修改后重试");
} }
AjaxResult error = uploadFiles(devInfo, userId); AjaxResult error = uploadFiles(devInfo, userId, i);
if (error != null) { if (error != null) {
return error; return error;
} }
}
} catch (Exception e) { } catch (Exception e) {
return AjaxResult.error("装备草稿保存失败,执行异常:" + e.getMessage()); return AjaxResult.error("装备草稿保存失败,执行异常:" + e.getMessage());
} }
@ -380,7 +386,7 @@ public class DevInfoServiceImpl implements DevInfoService {
* @param userId 用户ID * @param userId 用户ID
* @return 无异常返回null 报错返回AjaxResult * @return 无异常返回null 报错返回AjaxResult
*/ */
private AjaxResult uploadFiles(DevInfo devInfo, Long userId) { private AjaxResult uploadFiles(DevInfo devInfo, Long userId, Integer i) {
if (userId == null) { if (userId == null) {
return AjaxResult.error("用户信息获取失败,请刷新后重试"); return AjaxResult.error("用户信息获取失败,请刷新后重试");
} }
@ -406,21 +412,21 @@ public class DevInfoServiceImpl implements DevInfoService {
}); });
fileInfoList.addAll(devInfo.getDetailsFileList()); fileInfoList.addAll(devInfo.getDetailsFileList());
} }
if (CollectionUtil.isNotEmpty(devInfo.getInsurancePdf())) { if (CollectionUtil.isNotEmpty(devInfo.getInsurancePdfs().get(i))) {
devInfo.getInsurancePdf().removeIf(Objects::isNull); devInfo.getInsurancePdfs().get(i).removeIf(Objects::isNull);
devInfo.getInsurancePdf().forEach(item -> { devInfo.getInsurancePdfs().get(i).forEach(item -> {
item.setTaskType(MaterialConstants.MATERIAL_FILE_TYPE_CODE); item.setTaskType(MaterialConstants.MATERIAL_FILE_TYPE_CODE);
item.setFileType(Long.valueOf(INSURANCE_PDF)); item.setFileType(Long.valueOf(INSURANCE_PDF));
}); });
fileInfoList.addAll(devInfo.getInsurancePdf()); fileInfoList.addAll(devInfo.getInsurancePdfs().get(i));
} }
if (CollectionUtil.isNotEmpty(devInfo.getExaminationPdf())) { if (CollectionUtil.isNotEmpty(devInfo.getExaminationPdfs().get(i))) {
devInfo.getExaminationPdf().removeIf(Objects::isNull); devInfo.getExaminationPdfs().get(i).removeIf(Objects::isNull);
devInfo.getExaminationPdf().forEach(item -> { devInfo.getExaminationPdfs().get(i).forEach(item -> {
item.setTaskType(MaterialConstants.MATERIAL_FILE_TYPE_CODE); item.setTaskType(MaterialConstants.MATERIAL_FILE_TYPE_CODE);
item.setFileType(Long.valueOf(EXAMINATION_PDF)); item.setFileType(Long.valueOf(EXAMINATION_PDF));
}); });
fileInfoList.addAll(devInfo.getExaminationPdf()); fileInfoList.addAll(devInfo.getExaminationPdfs().get(i));
} }
// 上传处理后的附件列表 // 上传处理后的附件列表

View File

@ -1,5 +1,6 @@
package com.bonus.material.order.controller; package com.bonus.material.order.controller;
import com.bonus.common.biz.enums.OrderStatusEnum;
import com.bonus.common.core.web.controller.BaseController; import com.bonus.common.core.web.controller.BaseController;
import com.bonus.common.core.web.domain.AjaxResult; import com.bonus.common.core.web.domain.AjaxResult;
import com.bonus.common.core.web.page.TableDataInfo; import com.bonus.common.core.web.page.TableDataInfo;
@ -98,18 +99,18 @@ public class OrderController extends BaseController {
} }
}*/ }*/
// 取消 // 取消
if (orderInfoDto.getOrderStatus().equals("7")) { if (orderInfoDto.getOrderStatus().equals(OrderStatusEnum.ORDER_CANCEL.getStatus())) {
List<OrderDetailDto> dtos = orderMapper.getOrderDetailsByOrderId(orderInfoDto.getOrderId()); List<OrderDetailDto> dtos = orderMapper.getOrderDetailsByOrderId(orderInfoDto.getOrderId());
if (dtos.size() > 0) { if (dtos.size() > 0) {
for (OrderDetailDto dto : dtos) { for (OrderDetailDto dto : dtos) {
if ("0".equals(dto.getManageType())) { // if ("0".equals(dto.getManageType())) {
// 编码设备已取消的继续上架 // 编码设备已取消的继续上架
dto.setMaStatus("2"); dto.setMaStatus("2");
orderMapper.updateDeviceStatus(dto); orderMapper.updateDeviceStatus(dto);
} else { /* } else {
// 数量设备已退租的增加库存 // 数量设备已退租的增加库存
orderMapper.updateAddDevCount(dto); orderMapper.updateAddDevCount(dto);
} }*/
} }
} }
} }

View File

@ -38,7 +38,7 @@ public class OrderServiceImpl implements OrderService {
List<OrderDetailDto> orderDetailDtos = orderInfoDto.getDetailsList(); List<OrderDetailDto> orderDetailDtos = orderInfoDto.getDetailsList();
for (OrderDetailDto orderDetailDto : orderDetailDtos) { for (OrderDetailDto orderDetailDto : orderDetailDtos) {
// 如果是数量设备 改库存 // 如果是数量设备 改库存
if ("1".equals(orderDetailDto.getManageType())) { /* if ("1".equals(orderDetailDto.getManageType())) {
// 再查询库存是否足够 // 再查询库存是否足够
DevInfo devInfo = orderMapper.getdeviceCount(orderDetailDto); DevInfo devInfo = orderMapper.getdeviceCount(orderDetailDto);
if (devInfo.getDeviceCount() == 0) { if (devInfo.getDeviceCount() == 0) {
@ -52,11 +52,11 @@ public class OrderServiceImpl implements OrderService {
// 改库存 // 改库存
orderMapper.updateDevCount(orderDetailDto); orderMapper.updateDevCount(orderDetailDto);
} }
} else { } else {*/
//如果是编码设备改设备状态为在租 //如果是编码设备改设备状态为在租
orderDetailDto.setMaStatus(MaStatusEnum.UNDER_RENT.getCode().toString()); orderDetailDto.setMaStatus(MaStatusEnum.UNDER_RENT.getCode().toString());
orderMapper.updateDeviceStatus(orderDetailDto); orderMapper.updateDeviceStatus(orderDetailDto);
} // }
// 更改购物车状态为已下单 // 更改购物车状态为已下单
orderMapper.updateMaStatus(orderDetailDto); orderMapper.updateMaStatus(orderDetailDto);
} }

View File

@ -29,7 +29,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
#{days}, #{days},
#{num}, #{num},
#{costs}, #{costs},
2, 1,
now(), now(),
#{updateTime}) #{updateTime})
</insert> </insert>
@ -41,6 +41,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</update> </update>
<update id="updateOrderStatus"> <update id="updateOrderStatus">
update ma_order_details set order_status = #{orderStatus} update ma_order_details set order_status = #{orderStatus}
<if test="orderStatus == 2">
,receiving_user = #{userName}
,receiving_time = now()
</if>
<if test="orderStatus == 3"> <if test="orderStatus == 3">
,pre_outbound_user = #{userName} ,pre_outbound_user = #{userName}
,pre_outbound_time = now() ,pre_outbound_time = now()