Browse Source

二维码数据标题

master
liwenxuan 10 months ago
parent
commit
45ede47aa7
  1. 4
      src/main/java/com/hxgk/lowcode/controller/QrCodeController.java
  2. 9
      src/main/java/com/hxgk/lowcode/model/entity/response/QrCodeDetailsResponseEntity.java
  3. 41
      src/main/java/com/hxgk/lowcode/service/impl/QrCodeServiceImpl.java
  4. 6
      src/main/resources/mapper/FieldRecordMapper.xml

4
src/main/java/com/hxgk/lowcode/controller/QrCodeController.java

@ -27,7 +27,7 @@ public class QrCodeController {
}
/*获取用户有权限的启用状态的表单列表树形结构*/
@RequestMapping(value = "/QrCode/getQrCodeImgInside")
public JsonData getCustomerFormList(@RequestHeader(value = "User-Key") String key,
@RequestHeader(value = "User-Token") String token,
@ -42,7 +42,7 @@ public class QrCodeController {
}
/*获取用户有权限的启用状态的表单列表树形结构*/
@RequestMapping(value = "/QrCode/getDetailQrCodes")
public JsonData getDetailQrCodes(@RequestHeader(value = "User-Key") String key,
@RequestHeader(value = "User-Token") String token,

9
src/main/java/com/hxgk/lowcode/model/entity/response/QrCodeDetailsResponseEntity.java

@ -11,6 +11,7 @@ public class QrCodeDetailsResponseEntity {
private String groupName;
private String appName;
private String formName;
private String dataTitle;
//要显示在表格中的字段map
private LinkedHashMap<String,String> fieldsMap;
@ -53,4 +54,12 @@ public class QrCodeDetailsResponseEntity {
public void setFormName(String formName) {
this.formName = formName;
}
public String getDataTitle() {
return dataTitle;
}
public void setDataTitle(String dataTitle) {
this.dataTitle = dataTitle;
}
}

41
src/main/java/com/hxgk/lowcode/service/impl/QrCodeServiceImpl.java

@ -64,6 +64,14 @@ public class QrCodeServiceImpl implements QrCodeService {
LinkedHashMap<String, QrCodeDetailsResponseEntity> result = new LinkedHashMap<String, QrCodeDetailsResponseEntity>();
QRCodeUtil qrCodeUtil = new QRCodeUtil();
String basicQrCodeStr = "";
String toSelectName = (String)settings.get("name");
ArrayList<String> toSelectDataTitleList = (ArrayList<String>) settings.get("dataTitle");
ArrayList<String> toSelectDataTitleList1 = new ArrayList<>();
for (int i = 0; i < toSelectDataTitleList.size(); i++) {
String[] a = toSelectDataTitleList.get(i).split(":");
System.out.println(a);
toSelectDataTitleList1.add(i, "`" + a[a.length-1] + "`");
}
//String basicQrCodeStr = "https://wab.hxgk.group/#/form_table/taskListPage? id=112&key=287135214646333440&formid=116&formKey=287145907965661184&title=t2&state=1";
String prefixLocal = "http://localhost:9998/#/form_table/taskListPage?";
String prefixout = "https://wab.hxgk.group/#/form_table/taskListPage?";
@ -122,6 +130,11 @@ public class QrCodeServiceImpl implements QrCodeService {
result.put(id,qrCodeDetailsResponseEntity);
}
}else{
List<TreeMap<String, Object>> dataTitleMapList = fieldRecordMapper.getDataTitlesByIds(toSelectName,toSelectDataTitleList1,ids);
Integer b = dataTitleMapList.get(0).size();
//非表格图片
for (String id:ids) {
QrCodeDetailsResponseEntity qrCodeDetailsResponseEntity = new QrCodeDetailsResponseEntity();
String currentQrCodeStr = basicQrCodeStr+"&qrDetailId="+id;
@ -134,7 +147,19 @@ public class QrCodeServiceImpl implements QrCodeService {
//当前id的二维码base64图片
String currentBase64 = qrCodeUtil.bufferedImageToBase64(currentBufferedImage);
//LinkedHashMap<String,String> currentFieldsMap = new LinkedHashMap<>();
if(b>1){
String dataTitle = "";
for (TreeMap<String,Object> treeMap: dataTitleMapList) {
String cfdsa = String.valueOf(treeMap.get("value"));
if(cfdsa.equals(id)){
dataTitle = process(treeMap,toSelectDataTitleList1);
}
}
qrCodeDetailsResponseEntity.setDataTitle(dataTitle);
}else{
qrCodeDetailsResponseEntity.setDataTitle(id);
}
qrCodeDetailsResponseEntity.setBufferedImage(currentBase64);
qrCodeDetailsResponseEntity.setGroupName((String)appAndGroupNameMap.get("groupName"));
qrCodeDetailsResponseEntity.setAppName((String)appAndGroupNameMap.get("appName"));
@ -224,5 +249,21 @@ public class QrCodeServiceImpl implements QrCodeService {
}
return b;
}
public String process(TreeMap<String, Object> map, ArrayList<String> list) {
StringBuilder result = new StringBuilder();
for (String element : list) {
String key = element.substring(1, element.length() - 1);
if (!"value".equals(key)) {
Object value = map.get(key);
if (value != null) {
result.append(value).append(" ");
}
}
}
if (result.length() > 0) {
result.setLength(result.length() - 1);
}
return result.toString();
}
}

6
src/main/resources/mapper/FieldRecordMapper.xml

@ -22,10 +22,10 @@
</select>
<select id="getDataTitlesByIds" resultType="java.util.TreeMap" statementType="STATEMENT">
select id as value,
select id as value
<foreach collection="fields" index="index" item="item" separator="," >
${item}
<foreach collection="fields" index="index" item="item" >
,${item}
</foreach>
from ${asfFormName} where states = 1 and

Loading…
Cancel
Save