Browse Source

fix

release_toaliyun_real
winter 1 year ago
parent
commit
ce46efed18
12 changed files with 147 additions and 21 deletions
  1. +13
    -4
      mallinkAdmin/src/main/java/com/iformall/controller/market/WxFinancePrintController.java
  2. +1
    -1
      mallinkAdmin/src/main/resources/db/migration/V202408000000001.sql
  3. +2
    -2
      mallinkService/src/main/java/com/iformall/domain/po/WxFinancePrintData.java
  4. +16
    -0
      mallinkService/src/main/java/com/iformall/domain/vo/PrintVo.java
  5. +2
    -2
      mallinkService/src/main/java/com/iformall/enums/EnumFinancePrintDataType.java
  6. +1
    -1
      mallinkService/src/main/java/com/iformall/print/PrintComponentHandler.java
  7. +17
    -0
      mallinkService/src/main/java/com/iformall/print/data/PrintBillDataHandler.java
  8. +33
    -0
      mallinkService/src/main/java/com/iformall/print/data/PrintFinanceReceiveDataHandler.java
  9. +2
    -3
      mallinkService/src/main/java/com/iformall/service/WxFinancePrintService.java
  10. +1
    -0
      mallinkService/src/main/java/com/iformall/service/WxFinanceService.java
  11. +53
    -8
      mallinkService/src/main/java/com/iformall/service/impl/WxFinancePrintServiceImpl.java
  12. +6
    -0
      mallinkService/src/main/java/com/iformall/service/impl/WxFinanceServiceImpl.java

+ 13
- 4
mallinkAdmin/src/main/java/com/iformall/controller/market/WxFinancePrintController.java View File

@@ -121,13 +121,22 @@ public class WxFinancePrintController extends BaseController {
}
@ApiOperation("预览")
@GetMapping("getTemplateData")
@PostMapping("viewTemplate")
@TenantIgnore
public ResultData viewTemplate(@RequestBody String tenantId,Integer type,List<Long> dataIds) {
if (StringUtils.isBlank(tenantId)||null == dataIds || dataIds.size() <= 0 || null == type) {
public ResultData viewTemplate(@RequestBody String tenantId,Long templateId,List<Long> dataIds) {
if (StringUtils.isBlank(tenantId)||null == dataIds || dataIds.size() <= 0 || null == templateId) {
return new ResultData(Result.ERROR,"参数不对");
}
return new ResultData(wxFinancePrintService.parseTemplateData(tenantId,type,dataIds));
return new ResultData(wxFinancePrintService.parseTemplateData(tenantId,templateId,dataIds));
}
@ApiOperation("")
@GetMapping("needUpdate")
@TenantIgnore
public ResultData version() {
Map retMap = new HashMap();
retMap.put("isUpdate", "0");
return new ResultData(retMap);
}
}

+ 1
- 1
mallinkAdmin/src/main/resources/db/migration/V202408000000001.sql View File

@@ -779,7 +779,7 @@ CREATE TABLE `wx_finance_print_data` (
`type` int(1) NOT NULL COMMENT '类型',
`sort` int(1) NOT NULL DEFAULT '0' COMMENT '排序',
`print_data_type` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '打印的字段类型',
`print_data_json` json DEFAULT NULL COMMENT '配置项',
`print_data_json` text COLLATE utf8mb4_unicode_ci COMMENT '配置项',
`is_edit` int(1) NOT NULL DEFAULT '0' COMMENT '是否可编辑',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='租赁合同';


+ 2
- 2
mallinkService/src/main/java/com/iformall/domain/po/WxFinancePrintData.java View File

@@ -7,7 +7,7 @@ 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 com.iformall.print.PrintComponentHandler;

import lombok.Data;
import lombok.EqualsAndHashCode;
@@ -42,7 +42,7 @@ public class WxFinancePrintData extends BaseEntity {
@TableField(exist = false)
private Object printComponents;
public Object getPrintComponents() {
printComponents = PrintDataHandler.parseComponent(this);
printComponents = PrintComponentHandler.parseComponent(this);
return printComponents;
}
}

+ 16
- 0
mallinkService/src/main/java/com/iformall/domain/vo/PrintVo.java View File

@@ -0,0 +1,16 @@
package com.iformall.domain.vo;

import lombok.Data;
import java.io.Serializable;
import com.alibaba.fastjson.JSONObject;

@Data
public class PrintVo implements Serializable{
private static final long serialVersionUID = 1L;

private Long dataId;

private JSONObject template;

}

+ 2
- 2
mallinkService/src/main/java/com/iformall/enums/EnumFinancePrintDataType.java View File

@@ -2,8 +2,8 @@ package com.iformall.enums;

public enum EnumFinancePrintDataType {

FINANCE_BILL(1,"财务账单"),
FINANCE_RECEIVE(2,"财务收款单")
FINANCE_RECEIVE(1,"财务收付款数据"),
BILL(2,"账单数据")
;

public static EnumFinancePrintDataType getEnum(Integer code) {


mallinkService/src/main/java/com/iformall/print/PrintDataHandler.java → mallinkService/src/main/java/com/iformall/print/PrintComponentHandler.java View File

@@ -20,7 +20,7 @@ import com.iformall.print.entity.component.table.PrintBraidTableColumnsTrSet;
import com.iformall.print.entity.component.txt.PrintBraidTxt;

@Data
public class PrintDataHandler implements Serializable {
public class PrintComponentHandler implements Serializable {

private static final long serialVersionUID = 1L;


+ 17
- 0
mallinkService/src/main/java/com/iformall/print/data/PrintBillDataHandler.java View File

@@ -0,0 +1,17 @@
package com.iformall.print.data;

import lombok.Data;
import java.io.Serializable;
import com.alibaba.fastjson.JSONObject;
import com.iformall.domain.po.WxAllBill;

@Data
public class PrintBillDataHandler implements Serializable {

private static final long serialVersionUID = 1L;

public static JSONObject parse(String templateContent,WxAllBill re) {
return null;
}
}

+ 33
- 0
mallinkService/src/main/java/com/iformall/print/data/PrintFinanceReceiveDataHandler.java View File

@@ -0,0 +1,33 @@
package com.iformall.print.data;

import lombok.Data;
import java.io.Serializable;
import com.alibaba.fastjson.JSONObject;
import com.aliyun.openservices.shade.org.apache.commons.lang3.StringUtils;
import com.iformall.domain.po.WxFinanceReceive;
import com.iformall.utils.DateUtils;
/**
* 财务数据解析
* 跟 WxFinancePrintData 里面的字段对应
*
* @author Administrator
*
*/
@Data
public class PrintFinanceReceiveDataHandler implements Serializable {

private static final long serialVersionUID = 1L;
public static JSONObject parse(String templateContent,WxFinanceReceive re) {
//把所有可能的组件里面需要的内容都解析出来
if (StringUtils.isBlank(templateContent)) {
return null;
}
templateContent = templateContent.replaceAll("id", String.valueOf(re.getId()));
templateContent = templateContent.replaceAll("createTime", DateUtils.date2String(re.getCreateTime()));
templateContent = templateContent.replaceAll("feesId", DateUtils.date2String(re.getCreateTime()));
return null;
}
}

+ 2
- 3
mallinkService/src/main/java/com/iformall/service/WxFinancePrintService.java View File

@@ -1,10 +1,9 @@
package com.iformall.service;

import java.util.List;
import java.util.Map;

import com.iformall.domain.po.WxFinancePrintData;
import com.iformall.domain.po.WxFinancePrintTemplate;
import com.iformall.domain.vo.PrintVo;
/**
*/
public interface WxFinancePrintService {
@@ -16,5 +15,5 @@ public interface WxFinancePrintService {
void update(WxFinancePrintTemplate record);
void copy(WxFinancePrintTemplate record);
void setTemplatesDel(WxFinancePrintTemplate record);
List<Map> parseTemplateData(String tenantId,Integer type,List<Long> dataIds);
List<PrintVo> parseTemplateData(String tenantId,Long templateId,List<Long> dataIds);
}

+ 1
- 0
mallinkService/src/main/java/com/iformall/service/WxFinanceService.java View File

@@ -28,6 +28,7 @@ public interface WxFinanceService {
//收付款
PageInfo<WxFinanceReceiveVo> receiveVoListAsPage(WxFinanceReceive record, Integer pageIndex, Integer pageSize);
List<WxFinanceReceive> findReceiveList(WxFinanceReceive record);
List<WxAllBill> createReceive(WxFinanceReceive record,MallUserInfo user);
List<WxAllBill> createPay(WxFinanceReceive record,MallUserInfo user);
WxFinanceReceive getReceiveById(TenantEntity tenantEntity,Long id);


+ 53
- 8
mallinkService/src/main/java/com/iformall/service/impl/WxFinancePrintServiceImpl.java View File

@@ -11,17 +11,24 @@ import com.alibaba.fastjson.JSONObject;
import com.aliyun.openservices.shade.org.apache.commons.lang3.StringUtils;
import com.iformall.common.ErrorCode;
import com.iformall.common.IdWorker;
import com.iformall.domain.po.WxAllBill;
import com.iformall.domain.po.WxFinancePrintData;
import com.iformall.domain.po.WxFinancePrintTemplate;
import com.iformall.domain.po.WxFinanceReceive;
import com.iformall.domain.po.base.TenantEntity;
import com.iformall.domain.vo.PrintVo;
import com.iformall.enums.EnumFinancePrintDataType;
import com.iformall.enums.EnumYesOrNo;
import com.iformall.exception.MallinkException;
import com.iformall.mapper.WxFinancePrintDataMapper;
import com.iformall.mapper.WxFinancePrintTemplateMapper;
import com.iformall.print.data.PrintBillDataHandler;
import com.iformall.print.data.PrintFinanceReceiveDataHandler;
import com.iformall.service.WxAllBillService;
import com.iformall.service.WxFinancePrintService;
import com.iformall.service.WxFinanceService;

import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
@@ -42,6 +49,10 @@ public class WxFinancePrintServiceImpl implements WxFinancePrintService {
@Autowired
WxFinanceService wxFinanceService;
@Lazy
@Autowired
WxAllBillService wxAllBillService;
@Override
public List<WxFinancePrintData> printDataList(WxFinancePrintData record) {
return wxFinancePrintDataMapper.findList(record);
@@ -128,14 +139,48 @@ public class WxFinancePrintServiceImpl implements WxFinancePrintService {
}

@Override
public List<Map> parseTemplateData(String tenantId, Integer type, List<Long> dataIds) {
// EnumFinancePrintDataType printDatatype = EnumFinancePrintDataType.getEnum(type);
// //付款单
// if (printDatatype.getCode().intValue() == EnumFinancePrintDataType.FINANCE_RECEIVE.getCode()) {
// TenantEntity tenantEntity = new TenantEntity();
// tenantEntity.setTenantId(tenantId);
// WxFinanceReceive receive = wxFinanceService.getReceiveById(tenantEntity, id);
// }
public List<PrintVo> parseTemplateData(String tenantId, Long templateId, List<Long> dataIds) {
WxFinancePrintTemplate template = this.getTemplateById(templateId);
if (null == template) {
return null;
}
EnumFinancePrintDataType printDatatype = EnumFinancePrintDataType.getEnum(template.getType());
//付款单
if (printDatatype.getCode().intValue() == EnumFinancePrintDataType.FINANCE_RECEIVE.getCode()) {
WxFinanceReceive receiveq = new WxFinanceReceive();
receiveq.setTenantId(tenantId);
receiveq.setIds(dataIds);
List<WxFinanceReceive> receiveList = wxFinanceService.findReceiveList(receiveq);
if (null == receiveList || receiveList.size() <= 0 ) {
return null;
}
List<PrintVo> voList = new ArrayList<PrintVo>();
for (int i = 0 ; i < receiveList.size(); i ++) {
WxFinanceReceive re = receiveList.get(i);
PrintVo vo = new PrintVo();
vo.setDataId(templateId);
vo.setTemplate(PrintFinanceReceiveDataHandler.parse(template.getContent(), re));
voList.add(vo);
}
return voList;
}else if (printDatatype.getCode().intValue() == EnumFinancePrintDataType.BILL.getCode()) {
WxAllBill bq = new WxAllBill();
bq.setTenantId(tenantId);
bq.setIds(dataIds);
List<WxAllBill> billAllList = wxAllBillService.list(bq);
if (null == billAllList || billAllList.size() <= 0 ) {
return null;
}
List<PrintVo> voList = new ArrayList<PrintVo>();
for (int i = 0 ; i < billAllList.size(); i ++) {
WxAllBill re = billAllList.get(i);
PrintVo vo = new PrintVo();
vo.setDataId(templateId);
vo.setTemplate(PrintBillDataHandler.parse(template.getContent(), re));
voList.add(vo);
}
return voList;
}
return null;
}



+ 6
- 0
mallinkService/src/main/java/com/iformall/service/impl/WxFinanceServiceImpl.java View File

@@ -490,6 +490,12 @@ public class WxFinanceServiceImpl implements WxFinanceService {
return pageVo;
}
@Override
public List<WxFinanceReceive> findReceiveList(WxFinanceReceive record) {
initQueryParam(record);
return wxFinanceReceiveMapper.findList(record);
}
private void sortBills(List<WxAllBill> billList) {
Collections.sort(billList, new Comparator<WxAllBill>() {
@Override


Loading…
Cancel
Save