Skip to content

Commit e83ea52

Browse files
committed
催缴单加入二维码
1 parent 6094998 commit e83ea52

1 file changed

Lines changed: 31 additions & 6 deletions

File tree

service-front/src/main/java/com/java110/front/smo/assetExport/impl/ExportFeeManualCollectionSMOImpl.java

Lines changed: 31 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,12 @@
1010
import com.java110.front.smo.assetExport.IExportFeeManualCollectionSMO;
1111
import com.java110.utils.constant.ServiceConstant;
1212
import com.java110.utils.util.Assert;
13+
import com.java110.utils.util.Base64Convert;
1314
import com.java110.utils.util.DateUtil;
1415
import com.java110.utils.util.Money2ChineseUtil;
1516
import org.apache.poi.ss.usermodel.*;
1617
import org.apache.poi.ss.util.CellRangeAddress;
18+
import org.apache.poi.xssf.usermodel.XSSFClientAnchor;
1719
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
1820
import org.slf4j.Logger;
1921
import org.slf4j.LoggerFactory;
@@ -163,17 +165,29 @@ private void getRoomOweFees(IPageData pd, ComponentValidateResult result, Workbo
163165
return;
164166
}
165167

168+
//查询催缴单二维码
169+
JSONObject feePrint = null;
170+
apiUrl = ServiceConstant.SERVICE_API_URL + "/api/feePrintSpec/queryFeePrintSpec?page=1&row=1&specCd=1010&communityId=" + result.getCommunityId();
171+
responseEntity = this.callCenterService(restTemplate, pd, "", apiUrl, HttpMethod.GET);
172+
if (responseEntity.getStatusCode() == HttpStatus.OK) {
173+
JSONArray feePrints = savedRoomInfoResults.getJSONArray("data");
174+
if (feePrints != null && feePrints.size() > 0) {
175+
feePrint = feePrints.getJSONObject(0);
176+
}
177+
}
178+
166179
Sheet sheet = workbook.createSheet("催缴单");
180+
Drawing patriarch = sheet.createDrawingPatriarch();
167181
int line = 0;
168182
double totalPageHeight = 0;
169183
for (int roomIndex = 0; roomIndex < rooms.size(); roomIndex++) {
170-
Map info = generatorRoomOweFee(sheet, workbook, rooms.getJSONObject(roomIndex), line, totalPageHeight);
184+
Map info = generatorRoomOweFee(sheet, workbook, rooms.getJSONObject(roomIndex), line, totalPageHeight, patriarch, feePrint);
171185
line = Integer.parseInt(info.get("line").toString()) + 1;
172186
totalPageHeight = Double.parseDouble(info.get("totalPageHeight").toString());
173187
}
174188
}
175189

176-
private Map<String, Object> generatorRoomOweFee(Sheet sheet, Workbook workbook, JSONObject room, int line, double totalPageHeight) {
190+
private Map<String, Object> generatorRoomOweFee(Sheet sheet, Workbook workbook, JSONObject room, int line, double totalPageHeight, Drawing patriarch, JSONObject feePrint) {
177191
JSONArray fees = room.getJSONArray("fees");
178192
int defaultRowHeight = 280;
179193
//计算当前单子的高度
@@ -232,13 +246,22 @@ private Map<String, Object> generatorRoomOweFee(Sheet sheet, Workbook workbook,
232246

233247

234248
//第一行
249+
if (feePrint != null) {
250+
XSSFClientAnchor anchor = new XSSFClientAnchor(0, 0, 0, 0, (short) 0, 1 + line, (short) 1, 1 + line + 1);
251+
anchor.setAnchorType(ClientAnchor.AnchorType.MOVE_AND_RESIZE);//设置图片随单元移动调整大小
252+
try {
253+
patriarch.createPicture(anchor, workbook.addPicture(Base64Convert.base64ToByte(feePrint.getString("qrImg").replace("data:image/png;base64,", "")), XSSFWorkbook.PICTURE_TYPE_JPEG));
254+
} catch (IOException e) {
255+
e.printStackTrace();
256+
}
257+
}
235258
CellStyle subTitleCellStyle = workbook.createCellStyle();
236259
subTitleCellStyle.setAlignment(HorizontalAlignment.CENTER);
237260
subTitleCellStyle.setVerticalAlignment(VerticalAlignment.BOTTOM);
238261
row = sheet.createRow(1 + line);
239-
cell0 = row.createCell(0);
240-
cell0.setCellValue("收费二维码");
241-
cell0.setCellStyle(subTitleCellStyle);
262+
// cell0 = row.createCell(0);
263+
// cell0.setCellValue("收费二维码");
264+
// cell0.setCellStyle(subTitleCellStyle);
242265
Cell cell1 = row.createCell(1);
243266
cell1.setCellValue("房号:" + room.getString("floorNum")
244267
+ "-" + room.getString("unitNum")
@@ -257,7 +280,9 @@ private Map<String, Object> generatorRoomOweFee(Sheet sheet, Workbook workbook,
257280
row.setRowStyle(rowCellStyle);
258281

259282
//设置表头之上
260-
region = new CellRangeAddress(1 + line, 1 + line, 1, 2);
283+
region = new CellRangeAddress(1 + line, 1 + line, 1, 3);
284+
sheet.addMergedRegion(region);
285+
region = new CellRangeAddress(1 + line, 1 + line, 5, 6);
261286
sheet.addMergedRegion(region);
262287
row.setHeight((short) (titleHeight));
263288

0 commit comments

Comments
 (0)