| @@ -1,9 +1,14 @@ | |||
| package com.iformall.domain.po; | |||
| import java.util.List; | |||
| import com.baomidou.mybatisplus.annotation.IdType; | |||
| import com.baomidou.mybatisplus.annotation.TableField; | |||
| import com.baomidou.mybatisplus.annotation.TableId; | |||
| import com.baomidou.mybatisplus.annotation.TableName; | |||
| import com.iformall.domain.po.base.BaseEntity; | |||
| import com.iformall.print.PrintDataHandler; | |||
| import lombok.Data; | |||
| import lombok.EqualsAndHashCode; | |||
| @@ -33,4 +38,11 @@ public class WxFinancePrintData extends BaseEntity { | |||
| private String printDataJson; | |||
| @io.swagger.annotations.ApiModelProperty(value="是否可编辑",name="isEdit") | |||
| private Integer isEdit; | |||
| @TableField(exist = false) | |||
| private Object printComponents; | |||
| public Object getPrintComponents() { | |||
| printComponents = PrintDataHandler.parseComponent(this); | |||
| return printComponents; | |||
| } | |||
| } | |||
| @@ -2,14 +2,17 @@ package com.iformall.print; | |||
| import lombok.Data; | |||
| import java.io.Serializable; | |||
| import java.util.ArrayList; | |||
| import java.util.List; | |||
| import com.alibaba.fastjson.JSON; | |||
| import com.alibaba.fastjson.JSONArray; | |||
| import com.alibaba.fastjson.JSONObject; | |||
| import com.iformall.domain.po.WxFinancePrintData; | |||
| import com.iformall.enums.EnumYesOrNo; | |||
| import com.iformall.print.entity.PrintDataBraidTable; | |||
| import com.iformall.print.entity.PrintDataBraidTableColumns; | |||
| import com.iformall.print.entity.PrintDataBraidTableColumnsTrSet; | |||
| import com.iformall.print.entity.PrintDataBraidTxt; | |||
| @Data | |||
| @@ -17,22 +20,46 @@ public class PrintDataHandler implements Serializable { | |||
| private static final long serialVersionUID = 1L; | |||
| // public static Object parseComponent(WxFinancePrintData data) { | |||
| // JSONObject dataJson = JSON.parseObject(data.getPrintDataJson()); | |||
| // if("braid-txt".equals(data.getPrintDataType())) { | |||
| // PrintDataBraidTxt txt = new PrintDataBraidTxt(); | |||
| // txt.setTitle(data.getName()); | |||
| // txt.setIsEdit(data.getIsEdit()); | |||
| // txt.setName(dataJson.getString("fieldName")); | |||
| // txt.setValue("{"+data.getName()+"}"); | |||
| // }else if ("braid-table".equals(data.getPrintDataType())) { | |||
| // PrintDataBraidTable table = new PrintDataBraidTable(); | |||
| // table.setTitle(data.getName()); | |||
| // table.setIsEdit(data.getIsEdit()); | |||
| // | |||
| // | |||
| // | |||
| // | |||
| // } | |||
| // } | |||
| public static Object parseComponent(WxFinancePrintData data) { | |||
| JSONObject dataJson = JSON.parseObject(data.getPrintDataJson()); | |||
| if("braid-txt".equals(data.getPrintDataType())) { | |||
| PrintDataBraidTxt txt = new PrintDataBraidTxt(); | |||
| txt.setTitle(data.getName()); | |||
| txt.setIsEdit(data.getIsEdit()); | |||
| txt.setName(dataJson.getString("fieldName")); | |||
| txt.setValue("{"+data.getName()+"}"); | |||
| return txt; | |||
| }else if ("braid-table".equals(data.getPrintDataType())) { | |||
| PrintDataBraidTable table = new PrintDataBraidTable(); | |||
| table.setTitle(data.getName()); | |||
| table.setIsEdit(data.getIsEdit()); | |||
| table.setName(dataJson.getString("fieldName")); | |||
| table.setValue("{"+data.getName()+"}"); | |||
| List<PrintDataBraidTableColumns> columnsAttr = new ArrayList<PrintDataBraidTableColumns>(); | |||
| JSONArray columns = dataJson.getJSONArray("columns"); | |||
| if (null != columns) { | |||
| for (int i = 0 ; i < columns.size() ; i ++) { | |||
| JSONObject o = columns.getJSONObject(i); | |||
| PrintDataBraidTableColumns tc = new PrintDataBraidTableColumns(); | |||
| tc.setTitle(o.getString("title")); | |||
| tc.setValue("{"+tc.getTitle()+"}"); | |||
| tc.setName(o.getString("fieldName")); | |||
| columnsAttr.add(tc); | |||
| JSONObject trsets = o.getJSONObject("trSet"); | |||
| if (null != trsets) { | |||
| PrintDataBraidTableColumnsTrSet ptrset = new PrintDataBraidTableColumnsTrSet(); | |||
| ptrset.setTitle(trsets.getString("title")); | |||
| ptrset.setCol(trsets.getInteger("col")); | |||
| ptrset.setMargin(trsets.getString("margin")); | |||
| tc.setTrSet(ptrset); | |||
| } | |||
| } | |||
| } | |||
| table.setColumnsAttr(columnsAttr); | |||
| return table; | |||
| } | |||
| return null; | |||
| } | |||
| } | |||
| @@ -0,0 +1,65 @@ | |||
| package com.iformall.print; | |||
| import lombok.Data; | |||
| import java.io.Serializable; | |||
| import java.util.ArrayList; | |||
| import java.util.List; | |||
| import com.alibaba.fastjson.JSON; | |||
| import com.alibaba.fastjson.JSONArray; | |||
| import com.alibaba.fastjson.JSONObject; | |||
| import com.iformall.domain.po.WxFinancePrintData; | |||
| import com.iformall.enums.EnumYesOrNo; | |||
| import com.iformall.print.entity.PrintDataBraidTable; | |||
| import com.iformall.print.entity.PrintDataBraidTableColumns; | |||
| import com.iformall.print.entity.PrintDataBraidTableColumnsTrSet; | |||
| import com.iformall.print.entity.PrintDataBraidTxt; | |||
| @Data | |||
| public class PrintDataParseHandler implements Serializable { | |||
| private static final long serialVersionUID = 1L; | |||
| public static Object parseData(WxFinancePrintData data) { | |||
| JSONObject dataJson = JSON.parseObject(data.getPrintDataJson()); | |||
| if("braid-txt".equals(data.getPrintDataType())) { | |||
| PrintDataBraidTxt txt = new PrintDataBraidTxt(); | |||
| txt.setTitle(data.getName()); | |||
| txt.setIsEdit(data.getIsEdit()); | |||
| txt.setName(dataJson.getString("fieldName")); | |||
| txt.setValue("{"+data.getName()+"}"); | |||
| return txt; | |||
| }else if ("braid-table".equals(data.getPrintDataType())) { | |||
| PrintDataBraidTable table = new PrintDataBraidTable(); | |||
| table.setTitle(data.getName()); | |||
| table.setIsEdit(data.getIsEdit()); | |||
| table.setName(dataJson.getString("fieldName")); | |||
| table.setValue("{"+data.getName()+"}"); | |||
| List<PrintDataBraidTableColumns> columnsAttr = new ArrayList<PrintDataBraidTableColumns>(); | |||
| JSONArray columns = dataJson.getJSONArray("columns"); | |||
| if (null != columns) { | |||
| for (int i = 0 ; i < columns.size() ; i ++) { | |||
| JSONObject o = columns.getJSONObject(i); | |||
| PrintDataBraidTableColumns tc = new PrintDataBraidTableColumns(); | |||
| tc.setTitle(o.getString("title")); | |||
| tc.setValue("{"+tc.getTitle()+"}"); | |||
| tc.setName(o.getString("fieldName")); | |||
| columnsAttr.add(tc); | |||
| JSONObject trsets = o.getJSONObject("trSet"); | |||
| if (null != trsets) { | |||
| PrintDataBraidTableColumnsTrSet ptrset = new PrintDataBraidTableColumnsTrSet(); | |||
| ptrset.setTitle(trsets.getString("title")); | |||
| ptrset.setCol(trsets.getInteger("col")); | |||
| ptrset.setMargin(trsets.getString("margin")); | |||
| tc.setTrSet(ptrset); | |||
| } | |||
| } | |||
| } | |||
| table.setColumnsAttr(columnsAttr); | |||
| return table; | |||
| } | |||
| return null; | |||
| } | |||
| } | |||