diff --git a/bonus-modules/bonus-material-mall/pom.xml b/bonus-modules/bonus-material-mall/pom.xml
index 15c15e8..72546d3 100644
--- a/bonus-modules/bonus-material-mall/pom.xml
+++ b/bonus-modules/bonus-material-mall/pom.xml
@@ -106,6 +106,14 @@
test
+
+
+
+ org.apache.poi
+ poi-ooxml
+ 5.2.3
+
+
diff --git a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/contract/domain/BmContract.java b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/contract/domain/BmContract.java
index b84d748..d1bbd92 100644
--- a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/contract/domain/BmContract.java
+++ b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/contract/domain/BmContract.java
@@ -27,11 +27,11 @@ public class BmContract {
private Integer status;
@ApiModelProperty(value = "创建时间")
- @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date createTime;
@ApiModelProperty(value = "修改时间")
- @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date updateTime;
@ApiModelProperty(value = "用户id")
diff --git a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/order/controller/OrderController.java b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/order/controller/OrderController.java
index f5de88a..5caa1bb 100644
--- a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/order/controller/OrderController.java
+++ b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/order/controller/OrderController.java
@@ -16,10 +16,21 @@ import com.bonus.material.order.service.OrderService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.apache.commons.lang3.StringUtils;
+import org.apache.poi.xwpf.usermodel.IBodyElement;
+import org.apache.poi.xwpf.usermodel.XWPFDocument;
+import org.apache.poi.xwpf.usermodel.XWPFParagraph;
+import org.apache.poi.xwpf.usermodel.XWPFRun;
+import org.springframework.http.HttpStatus;
+import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
import javax.annotation.Resource;
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
import java.util.List;
+import java.util.Map;
/**
* @Author:liang.chao
@@ -110,9 +121,9 @@ public class OrderController extends BaseController {
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);
+ // 编码设备已取消的继续上架
+ dto.setMaStatus(MaStatusEnum.LISTING.getCode().toString());
+ orderMapper.updateDeviceStatus(dto);
/* } else {
// 数量设备已退租的增加库存
orderMapper.updateAddDevCount(dto);
@@ -141,4 +152,54 @@ public class OrderController extends BaseController {
return error("发起减免失败");
}
}
+
+ @ApiOperation(value = "租赁协议(查看)")
+ @PostMapping("/leaseAgreement")
+ public ResponseEntity getleaseAgreement(@RequestParam("file") MultipartFile file,
+ @RequestParam("orderId") String orderId,
+ @RequestParam Map replacements) {
+ // 根据orderId获取订单信息
+ OrderInfoDto orderInfoDto = orderService.getAgreementByOrderId(orderId);
+ try (XWPFDocument document = new XWPFDocument(file.getInputStream())) {
+ // 准备替换的占位符及其对应值
+ //订单日期
+ replacements.put("${orderTime}", orderInfoDto.getOrderTime().toString());
+ //装备所属公司
+ replacements.put("${czcompanyName}", orderInfoDto.getCzcompanyName());
+ //承租方所属公司
+ replacements.put("${companyName}", orderInfoDto.getCompanyName());
+ //订单金额
+ replacements.put("${cost}", orderInfoDto.getCost().toString());
+ // 可根据需求添加更多占位符及替换值
+
+ // 遍历文档中的段落,进行占位符替换
+ for (IBodyElement element : document.getBodyElements()) {
+ if (element instanceof XWPFParagraph) {
+ XWPFParagraph paragraph = (XWPFParagraph) element;
+ for (XWPFRun run : paragraph.getRuns()) {
+ String text = run.getText(0);
+ if (text != null) {
+ for (Map.Entry entry : replacements.entrySet()) {
+ text = text.replace(entry.getKey(), entry.getValue());
+ }
+ run.setText(text, 0);
+ }
+ }
+ }
+ }
+
+ // 将修改后的文档写入字节数组输出流
+ ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
+ document.write(byteArrayOutputStream);
+
+ // 将字节数组转换为字符串(仅用于演示,实际应提供文件下载)
+ String content = byteArrayOutputStream.toString("UTF-8");
+ // 注意:对于大文件,不建议将内容作为字符串返回。应提供下载链接或二进制文件响应。
+
+ return ResponseEntity.ok(content);
+ } catch (IOException e) {
+ e.printStackTrace();
+ return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body("Error processing file");
+ }
+ }
}
diff --git a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/order/mapper/OrderMapper.java b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/order/mapper/OrderMapper.java
index 3615ebf..e9dd9cd 100644
--- a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/order/mapper/OrderMapper.java
+++ b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/order/mapper/OrderMapper.java
@@ -43,4 +43,6 @@ public interface OrderMapper {
int deleteCostReliefs(@Param("orderId") Integer orderId);
int insertCostReliefs(@Param("list") List reliefList);
+
+ OrderInfoDto getAgreementByOrderId(String orderId);
}
diff --git a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/order/service/OrderService.java b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/order/service/OrderService.java
index ba13eba..6778895 100644
--- a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/order/service/OrderService.java
+++ b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/order/service/OrderService.java
@@ -19,4 +19,6 @@ public interface OrderService {
OrderInfoDto getOrderDetailsById(OrderDetailDto dto) throws Exception;
Integer submitCostRelief(OrderInfoDto orderInfoDto);
+
+ OrderInfoDto getAgreementByOrderId(String orderId);
}
diff --git a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/order/service/impl/OrderServiceImpl.java b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/order/service/impl/OrderServiceImpl.java
index 2fd6ca4..3c459ca 100644
--- a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/order/service/impl/OrderServiceImpl.java
+++ b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/order/service/impl/OrderServiceImpl.java
@@ -106,8 +106,6 @@ public class OrderServiceImpl implements OrderService {
if (minOrderStatus.isPresent()) {
dto.setOrderStatus(minOrderStatus.get().getOrderStatus());
}
- dto.setStartTime(list.get(0).getRentBeginTime());
- dto.setEndTime(list.get(0).getRentEndTime());
//根据订单id去lease_repair_record表中查询是否已填写退租检修信息
int count = mapper.selectLeaseContent(String.valueOf(dto.getOrderId()));
if (count > 0) {
@@ -144,4 +142,9 @@ public class OrderServiceImpl implements OrderService {
}
return 0;
}
+
+ @Override
+ public OrderInfoDto getAgreementByOrderId(String orderId) {
+ return orderMapper.getAgreementByOrderId(orderId);
+ }
}
diff --git a/bonus-modules/bonus-material-mall/src/main/resources/mapper/material/order/OrderInfoMapper.xml b/bonus-modules/bonus-material-mall/src/main/resources/mapper/material/order/OrderInfoMapper.xml
index 02a8cbf..039ceef 100644
--- a/bonus-modules/bonus-material-mall/src/main/resources/mapper/material/order/OrderInfoMapper.xml
+++ b/bonus-modules/bonus-material-mall/src/main/resources/mapper/material/order/OrderInfoMapper.xml
@@ -271,6 +271,29 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
WHERE
mt.del_flag = 0 and hh.order_id = #{orderId}
+
delete from ma_order_details_relief