段飞宇
2 years ago
14 changed files with 707 additions and 185 deletions
@ -0,0 +1,58 @@ |
|||||||
|
package com.hnac.hzims.ticket.twoTicket.constant; |
||||||
|
|
||||||
|
/** |
||||||
|
* 定义ticket常量 |
||||||
|
* @Author WL |
||||||
|
* @Version v1.0 |
||||||
|
* @Serial 1.0 |
||||||
|
* @Date 2023/6/2 13:48 |
||||||
|
*/ |
||||||
|
public class TicketConstant { |
||||||
|
|
||||||
|
/** |
||||||
|
* window操作系统工作票访问路径 |
||||||
|
*/ |
||||||
|
public static final String TICKET_WINDOW_PATH = "hzims-service/ticket/src/main/resources/template"; |
||||||
|
|
||||||
|
/** |
||||||
|
* Liunx操作系统工作票访问路径 |
||||||
|
*/ |
||||||
|
public static final String TICKET_LIUNX_PATH = "/data/hzims/ticket/word/template/ticket"; |
||||||
|
|
||||||
|
|
||||||
|
/** |
||||||
|
* window操作系统工作票合并输出路径 |
||||||
|
*/ |
||||||
|
public static final String TICKET_WINDOW_MERGE_PATH = "D:\\导出excel\\"; |
||||||
|
|
||||||
|
/** |
||||||
|
* liunx操作系统工作票合并输出路径 |
||||||
|
*/ |
||||||
|
public static final String TICKET_LIUNX_MERGE_PATH = "/data/hzims/ticket/word/template/ticket/ouput/"; |
||||||
|
|
||||||
|
/** |
||||||
|
* os.name |
||||||
|
*/ |
||||||
|
public static final String OS_NAME = System.getProperty("os.name"); |
||||||
|
|
||||||
|
|
||||||
|
/** |
||||||
|
* 安全隔离措施附页 |
||||||
|
*/ |
||||||
|
public static final String SECURE_PAGE = "/secondary/工作票安全措施附页.docx"; |
||||||
|
|
||||||
|
/** |
||||||
|
* 危险点分析与预控措施票 |
||||||
|
*/ |
||||||
|
public static final String SAFETY_PAGE = "/secondary/工作票危险点分析及控制措施票.docx"; |
||||||
|
/** |
||||||
|
* 动火工作票 |
||||||
|
*/ |
||||||
|
public static final String FLIGHT_PAGE = "/secondary/动火工作票.docx"; |
||||||
|
|
||||||
|
/** |
||||||
|
* 有限空间监测记录单 |
||||||
|
*/ |
||||||
|
public static final String SPACE_PAGE = "/secondary/有限空间监测记录单.docx"; |
||||||
|
|
||||||
|
} |
@ -0,0 +1,229 @@ |
|||||||
|
package com.hnac.hzims.ticket.twoTicket.utils; |
||||||
|
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; |
||||||
|
import lombok.AllArgsConstructor; |
||||||
|
import lombok.Data; |
||||||
|
import org.apache.commons.lang3.StringUtils; |
||||||
|
|
||||||
|
import java.util.*; |
||||||
|
|
||||||
|
/** |
||||||
|
* @Author WL |
||||||
|
* @Version v1.0 |
||||||
|
* @Serial 1.0 |
||||||
|
* @Date 2023/6/2 14:27 |
||||||
|
*/ |
||||||
|
public class WordHelper extends StringUtils { |
||||||
|
|
||||||
|
|
||||||
|
/** |
||||||
|
* Object转 toString |
||||||
|
* |
||||||
|
* @param object |
||||||
|
* @return |
||||||
|
*/ |
||||||
|
public static String toString(Object object) { |
||||||
|
return object == null ? null : object.toString().trim(); |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
/** |
||||||
|
* Map ===》 string |
||||||
|
* |
||||||
|
* @param result map |
||||||
|
* @param key 值 |
||||||
|
* @param count 存在多少空格 |
||||||
|
* @return |
||||||
|
*/ |
||||||
|
public static String toMapAsString(Map<String, Object> result, String key, int count) { |
||||||
|
String signerName = WordHelper.toString(result.get(key)); |
||||||
|
return isNotBlank(signerName) ? signerName : "\u00A0" + printSpace(count); |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
/** |
||||||
|
* 存入map |
||||||
|
* |
||||||
|
* @param result map |
||||||
|
* @param key 值 |
||||||
|
* @param count 存在多少空格 |
||||||
|
* @return |
||||||
|
*/ |
||||||
|
public static void putMap(Map<String, Object> result, String key, int count) { |
||||||
|
result.put(key, "\u00A0" + printSpace(count)); |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
/** |
||||||
|
* 判断map是否为空 |
||||||
|
*/ |
||||||
|
public static boolean isBlank(Map<String, Object> result, String key) { |
||||||
|
String value = WordHelper.toString(result.get(key)); |
||||||
|
if (StringUtils.isBlank(value)) { |
||||||
|
return true; |
||||||
|
} |
||||||
|
return false; |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
/** |
||||||
|
* 判断map不为为空 |
||||||
|
*/ |
||||||
|
public static boolean isNoneBlank(Map<String, Object> result, String key) { |
||||||
|
String value = WordHelper.toString(result.get(key)).trim(); |
||||||
|
System.out.println(value.length()); |
||||||
|
if (StringUtils.isNoneBlank(value)) { |
||||||
|
return true; |
||||||
|
} |
||||||
|
return false; |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
/** |
||||||
|
* 打印多少空格 |
||||||
|
*/ |
||||||
|
public static String printSpace(int count) { |
||||||
|
StringBuilder sb = new StringBuilder(); |
||||||
|
for (int i = 0; i < count; i++) { |
||||||
|
sb.append(" "); |
||||||
|
} |
||||||
|
return sb.toString(); |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* map验证是value否为null |
||||||
|
* |
||||||
|
* @param params |
||||||
|
*/ |
||||||
|
public static Map<String, Object> resultMap(Map<String, Object> params) { |
||||||
|
//创建新的Map
|
||||||
|
Map<String, Object> result = new HashMap<>(); |
||||||
|
isContainsKey(params,result); |
||||||
|
//遍历
|
||||||
|
Set<Map.Entry<String, Object>> entries = params.entrySet(); |
||||||
|
for (Map.Entry<String, Object> entry : entries) { |
||||||
|
listEntryMap(result, entry.getKey(), entry.getValue()); |
||||||
|
} |
||||||
|
return result; |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
/** |
||||||
|
* 包含移除 |
||||||
|
* @param params |
||||||
|
* @param result |
||||||
|
*/ |
||||||
|
private static void isContainsKey(Map<String, Object> params, Map<String, Object> result) { |
||||||
|
|
||||||
|
if (params.containsKey("principalName1")) { |
||||||
|
result.put("principalName1", params.get("principalName1")); |
||||||
|
params.remove("principalName1"); |
||||||
|
} |
||||||
|
|
||||||
|
if (params.containsKey("signerName2")) { |
||||||
|
result.put("signerName2", params.get("signerName2")); |
||||||
|
params.remove("signerName2"); |
||||||
|
} |
||||||
|
|
||||||
|
if (params.containsKey("licensorName1")) { |
||||||
|
result.put("licensorName1", params.get("licensorName1")); |
||||||
|
params.remove("licensorName1"); |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
if (params.containsKey("principalName2")) { |
||||||
|
result.put("principalName2", params.get("principalName2")); |
||||||
|
params.remove("principalName2"); |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
if (params.containsKey("principalName3")) { |
||||||
|
result.put("principalName3", params.get("principalName3")); |
||||||
|
params.remove("principalName3"); |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
if (params.containsKey("licensorName2")) { |
||||||
|
result.put("licensorName2", params.get("licensorName2")); |
||||||
|
params.remove("licensorName2"); |
||||||
|
} |
||||||
|
|
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* |
||||||
|
*/ |
||||||
|
public static void listEntryMap(Map<String, Object> result, String key, Object value) { |
||||||
|
List<Entry> params = new ArrayList<>(); |
||||||
|
paramsList(params); |
||||||
|
for (Entry entry : params) { |
||||||
|
isEntryMap(result, entry.getFileName(), key, value, entry.getCount()); |
||||||
|
} |
||||||
|
|
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
@Data |
||||||
|
@AllArgsConstructor |
||||||
|
static class Entry { |
||||||
|
/** |
||||||
|
* key值 |
||||||
|
*/ |
||||||
|
private String fileName; |
||||||
|
|
||||||
|
/** |
||||||
|
* count |
||||||
|
*/ |
||||||
|
private Integer count; |
||||||
|
|
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
/** |
||||||
|
* 存储list |
||||||
|
* |
||||||
|
* @param params |
||||||
|
*/ |
||||||
|
private static void paramsList(List<Entry> params) { |
||||||
|
params.add(new Entry("initialPrincipalName", 10)); |
||||||
|
params.add(new Entry("principalChangeTime", 10)); |
||||||
|
params.add(new Entry("principalName", 10)); |
||||||
|
params.add(new Entry("jobReceiver", 10)); |
||||||
|
params.add(new Entry("jobReceiverTime", 10)); |
||||||
|
params.add(new Entry("watchPrincipalEndTime", 10)); |
||||||
|
params.add(new Entry("licenseTime", 10)); |
||||||
|
params.add(new Entry("signerDateTime", 10)); |
||||||
|
params.add(new Entry("classGroupName", 10)); |
||||||
|
params.add(new Entry("code", 10)); |
||||||
|
params.add(new Entry("signerName", 10)); |
||||||
|
params.add(new Entry("watchPrincipalName", 10)); |
||||||
|
params.add(new Entry("projectName", 10)); |
||||||
|
params.add(new Entry("groundNum", 5)); |
||||||
|
params.add(new Entry("dismantleNum", 5)); |
||||||
|
params.add(new Entry("retainNum", 5)); |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
/** |
||||||
|
* 验证map是否为空 |
||||||
|
* |
||||||
|
* @param result |
||||||
|
* @param fieldName |
||||||
|
* @param key |
||||||
|
* @param value |
||||||
|
* @param count |
||||||
|
*/ |
||||||
|
public static void isEntryMap(Map<String, Object> result, String fieldName, String key, Object value, int count) { |
||||||
|
if (fieldName.equals(key)) { |
||||||
|
// Object newValue = Optional.ofNullable(value).orElse("\u00A0" + printSpace(count));
|
||||||
|
Object newValue = StringUtils.isNoneBlank(toString(value).trim()) ? value : "\u00A0" + printSpace(count); |
||||||
|
result.put(key, newValue); |
||||||
|
} else { |
||||||
|
Object newValue = StringUtils.isNoneBlank(toString(value).trim()) ? value : "\u00A0"; |
||||||
|
result.put(key, newValue); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
} |
@ -0,0 +1,120 @@ |
|||||||
|
package com.hnac.hzims.ticket.twoTicket.utils; |
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; |
||||||
|
|
||||||
|
import java.util.ArrayList; |
||||||
|
import java.util.HashMap; |
||||||
|
import java.util.List; |
||||||
|
import java.util.Map; |
||||||
|
|
||||||
|
/** |
||||||
|
* @Author WL |
||||||
|
* @Version v1.0 |
||||||
|
* @Serial 1.0 |
||||||
|
* @Date 2023/6/2 7:39 |
||||||
|
*/ |
||||||
|
public class WordMapUtils { |
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/** |
||||||
|
* word 表格转换 |
||||||
|
* |
||||||
|
* @param key key值 |
||||||
|
* @param result 存入数据 |
||||||
|
* @param isIndex 是否需要索引 |
||||||
|
* @param size word最多的表格数据 |
||||||
|
* @param keys 多个key值 |
||||||
|
*/ |
||||||
|
public static void newMapWithList(String key, Map<String, Object> result |
||||||
|
, boolean isIndex, int size, String... keys) { |
||||||
|
List<Map<String, Object>> list = (List<Map<String, Object>>) result.get(key); |
||||||
|
if (CollectionUtils.isEmpty(list)) { |
||||||
|
List<Map<String, Object>> newMatterLibraryListTHREE = new ArrayList<>(); |
||||||
|
for (int i = 1; i <= size; i++) { |
||||||
|
Map<String, Object> map = new HashMap<>(); |
||||||
|
//是否需要索引
|
||||||
|
if (isIndex) { |
||||||
|
map.put("index", i); |
||||||
|
} |
||||||
|
// 是否有keys
|
||||||
|
if (keys != null) { |
||||||
|
for (String value : keys) { |
||||||
|
map.put(value, ""); |
||||||
|
} |
||||||
|
} |
||||||
|
newMatterLibraryListTHREE.add(map); |
||||||
|
} |
||||||
|
result.put(key, |
||||||
|
newMatterLibraryListTHREE); |
||||||
|
} else { |
||||||
|
|
||||||
|
int tempSize = list.size(); |
||||||
|
|
||||||
|
List<Map<String, Object>> newList = new ArrayList<>(); |
||||||
|
if (size > tempSize) { |
||||||
|
int sizeLimit = 1; |
||||||
|
int tempIndex = 1; |
||||||
|
for (int i = 0; i < size; i++) { |
||||||
|
Map<String, Object> map = new HashMap<>(); |
||||||
|
if (tempSize >= sizeLimit) { |
||||||
|
Map<String, Object> stringObjectMap = list.get(i); |
||||||
|
// map.putAll(stringObjectMap);
|
||||||
|
newList.add(stringObjectMap); |
||||||
|
tempIndex++; |
||||||
|
sizeLimit++; |
||||||
|
}else { |
||||||
|
//是否需要索引
|
||||||
|
if (isIndex) { |
||||||
|
map.put("index", tempIndex); |
||||||
|
|
||||||
|
} |
||||||
|
// 是否有keys
|
||||||
|
if (keys != null) { |
||||||
|
for (String value : keys) { |
||||||
|
map.put(value, ""); |
||||||
|
} |
||||||
|
} |
||||||
|
tempIndex++; |
||||||
|
newList.add(map); |
||||||
|
} |
||||||
|
} |
||||||
|
} else { |
||||||
|
for (int i = 0; i < tempSize; i++) { |
||||||
|
Map<String, Object> map = list.get(i); |
||||||
|
if (isIndex) { |
||||||
|
map.put("index", i + 1); |
||||||
|
} |
||||||
|
newList.add(map); |
||||||
|
} |
||||||
|
} |
||||||
|
result.put(key, newList); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/** |
||||||
|
* 通过状态获取是第几种工作票 |
||||||
|
*/ |
||||||
|
public static String getWorkTicketStatus(Integer status) { |
||||||
|
String pathName = null; |
||||||
|
switch (status) { |
||||||
|
case 1: |
||||||
|
pathName = "电气第一种工作票模版.docx"; |
||||||
|
break; |
||||||
|
case 2: |
||||||
|
pathName = "电气第二种工作票模版.docx"; |
||||||
|
break; |
||||||
|
case 3: |
||||||
|
pathName = "水力机械工作票模版.docx"; |
||||||
|
break; |
||||||
|
default: |
||||||
|
pathName = "电气第一种工作票模版.docx"; |
||||||
|
break; |
||||||
|
} |
||||||
|
return pathName; |
||||||
|
} |
||||||
|
|
||||||
|
} |
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Loading…
Reference in new issue