Browse Source

Merge branch 'release_toaliyun_real' of https://git.malls.iformall.com/server/formallProject into release_toaliyun_real_offline_activity

release_toaliyun_real
xiaohu 1 year ago
parent
commit
dc73ca2619
20 changed files with 252 additions and 79 deletions
  1. +4
    -4
      mallinkAdmin/src/main/java/com/iformall/controller/market/WxFinanceController.java
  2. +3
    -3
      mallinkAdmin/src/main/java/com/iformall/controller/market/WxFinancePrintController.java
  3. +23
    -15
      mallinkAdmin/src/main/java/com/iformall/controller/rent/WxAllBillController.java
  4. +17
    -1
      mallinkService/src/main/java/com/iformall/domain/po/WxAllBill.java
  5. +2
    -0
      mallinkService/src/main/java/com/iformall/domain/po/WxFinancePrintData.java
  6. +2
    -0
      mallinkService/src/main/java/com/iformall/domain/po/WxFinancePrintTemplate.java
  7. +2
    -0
      mallinkService/src/main/java/com/iformall/domain/po/WxMerchant.java
  8. +0
    -18
      mallinkService/src/main/java/com/iformall/domain/vo/PrintMerchantSettleVo.java
  9. +19
    -0
      mallinkService/src/main/java/com/iformall/domain/vo/WxBillSum.java
  10. +5
    -0
      mallinkService/src/main/java/com/iformall/enums/EnumBillAllType.java
  11. +2
    -0
      mallinkService/src/main/java/com/iformall/print/PrintComponentHandler.java
  12. +31
    -5
      mallinkService/src/main/java/com/iformall/print/data/PrintCustomedTableDataHandler.java
  13. +0
    -2
      mallinkService/src/main/java/com/iformall/print/data/PrintMerchantSettleDataHandler.java
  14. +1
    -1
      mallinkService/src/main/java/com/iformall/service/WxFinancePrintService.java
  15. +2
    -2
      mallinkService/src/main/java/com/iformall/service/WxFinanceService.java
  16. +24
    -0
      mallinkService/src/main/java/com/iformall/service/impl/WxAllBillServiceImpl.java
  17. +70
    -17
      mallinkService/src/main/java/com/iformall/service/impl/WxFinancePrintServiceImpl.java
  18. +12
    -4
      mallinkService/src/main/java/com/iformall/service/impl/WxFinanceServiceImpl.java
  19. +31
    -6
      mallinkService/src/main/resources/mapper/WxAllBillMapper.xml
  20. +2
    -1
      mallinkService/src/main/resources/mapper/WxFinancePrintDataMapper.xml

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

@@ -223,8 +223,8 @@ public class WxFinanceController extends BaseController {
if (null == record.getBills() || null == record.getPayWays()) { if (null == record.getBills() || null == record.getPayWays()) {
return new ResultData(Result.ERROR,"请选择账单和支付方式"); return new ResultData(Result.ERROR,"请选择账单和支付方式");
} }
List<WxAllBill> list = wxFinanceService.createReceive(record,this.getUser());
return new ResultData(list);
Map map = wxFinanceService.createReceive(record,this.getUser());
return new ResultData(map);
} }
@ApiOperation("新增付款单") @ApiOperation("新增付款单")
@@ -237,8 +237,8 @@ public class WxFinanceController extends BaseController {
if (null == record.getBills() || null == record.getPayWays()) { if (null == record.getBills() || null == record.getPayWays()) {
return new ResultData(Result.ERROR,"请选择账单和支付方式"); return new ResultData(Result.ERROR,"请选择账单和支付方式");
} }
List<WxAllBill> list = wxFinanceService.createPay(record,this.getUser());
return new ResultData(list);
Map map = wxFinanceService.createPay(record,this.getUser());
return new ResultData(map);
} }
@GetMapping("receiveStatus") @GetMapping("receiveStatus")


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

@@ -133,11 +133,11 @@ public class WxFinancePrintController extends BaseController {
@ApiOperation("预览") @ApiOperation("预览")
@PostMapping("viewTemplate") @PostMapping("viewTemplate")
@TenantIgnore @TenantIgnore
public ResultData viewTemplate(@RequestBody String tenantId,Long templateId,List<Long> dataIds) {
if (StringUtils.isBlank(tenantId)||null == dataIds || dataIds.size() <= 0 || null == templateId) {
public ResultData viewTemplate(@RequestBody WxFinancePrintTemplate record) {
if (StringUtils.isBlank(record.getTenantId())||null == record.getDataIds() || record.getDataIds().size() <= 0 || null == record.getId()) {
return new ResultData(Result.ERROR,"参数不对"); return new ResultData(Result.ERROR,"参数不对");
} }
return new ResultData(wxFinancePrintService.parseTemplateData(tenantId,templateId,dataIds,null));
return new ResultData(wxFinancePrintService.parseTemplateData(record.getTenantId(),record.getId(),record.getDataIds(),null));
} }
@ApiOperation("") @ApiOperation("")


+ 23
- 15
mallinkAdmin/src/main/java/com/iformall/controller/rent/WxAllBillController.java View File

@@ -204,6 +204,15 @@ public class WxAllBillController extends BillBaseController {
if (null == wxMerchant.getId()) { if (null == wxMerchant.getId()) {
return new ResultData(Result.ERROR,"请选择商户"); return new ResultData(Result.ERROR,"请选择商户");
} }
WxMerchantBillVo vo = getMerchantBillVo(wxMerchant);
if (null == vo) {
return new ResultData();
}
return new ResultData(vo);
}
private WxMerchantBillVo getMerchantBillVo( WxMerchant wxMerchant) {
wxMerchant.updateTenantInfo(getTenantInfo()); wxMerchant.updateTenantInfo(getTenantInfo());
Date starttime = wxMerchant.getStarttime(); Date starttime = wxMerchant.getStarttime();
Date enttime = wxMerchant.getEndtime(); Date enttime = wxMerchant.getEndtime();
@@ -211,7 +220,7 @@ public class WxAllBillController extends BillBaseController {
wxMerchant.setEndtime(null); wxMerchant.setEndtime(null);
WxMerchant m = wxMerchantService.selectById(wxMerchant.getId()); WxMerchant m = wxMerchantService.selectById(wxMerchant.getId());
if (null == m) { if (null == m) {
return new ResultData(Result.ERROR,"商户未查询到");
return null;
} }
WxMerchantBillVo vo = new WxMerchantBillVo(); WxMerchantBillVo vo = new WxMerchantBillVo();
vo.setMerchantId(m.getId()); vo.setMerchantId(m.getId());
@@ -224,7 +233,7 @@ public class WxAllBillController extends BillBaseController {
//根据科目来 //根据科目来
List<WxBillSum> sumList = billAllHelper.getFeesBillSum(wxMerchant,starttime, enttime); List<WxBillSum> sumList = billAllHelper.getFeesBillSum(wxMerchant,starttime, enttime);
if (null == sumList ) { if (null == sumList ) {
return new ResultData();
return null;
} }
WxEnergyFees fq = new WxEnergyFees(); WxEnergyFees fq = new WxEnergyFees();
@@ -249,8 +258,18 @@ public class WxAllBillController extends BillBaseController {
vo.setPaid(paid.toPlainString()); vo.setPaid(paid.toPlainString());
vo.setOwe(owe.toPlainString()); vo.setOwe(owe.toPlainString());
vo.setBillSumList(sumList); vo.setBillSumList(sumList);
return new ResultData(vo);
return vo;
}
@ApiOperation("预览结算单")
@PostMapping("viewSettleTemplate")
@TenantIgnore
public ResultData viewSettleTemplate(@RequestBody WxMerchant merchant,Long templateId) {
if (null == merchant.getId() || null == merchant.getFeesIdList() || merchant.getFeesIdList().size() <= 0 ) {
return new ResultData(Result.ERROR,"清选择商户和科目");
}
WxMerchantBillVo vo = getMerchantBillVo(merchant);
return new ResultData(wxFinancePrintService.parseTemplateData(merchant.getTenantId(),templateId,merchant.getFeesIdList(),vo));
} }
/** /**
@@ -752,16 +771,5 @@ public class WxAllBillController extends BillBaseController {
record.setIsPreview(EnumYesOrNo.NO.getCode()); record.setIsPreview(EnumYesOrNo.NO.getCode());
return new ResultData(wxAllBillService.getBillMonthSum(record)); return new ResultData(wxAllBillService.getBillMonthSum(record));
} }
@ApiOperation("预览结算单")
@PostMapping("viewSettleTemplate")
@TenantIgnore
public ResultData viewSettleTemplate(@RequestBody WxMerchant merchant,Long templateId) {
if (null == merchant.getId()) {
return new ResultData(Result.ERROR,"清选择商户");
}
merchant.updateTenantInfo(getTenantInfo());
return new ResultData(wxFinancePrintService.parseTemplateData(merchant.getTenantId(),templateId,null,merchant));
}


} }

+ 17
- 1
mallinkService/src/main/java/com/iformall/domain/po/WxAllBill.java View File

@@ -142,8 +142,24 @@ public class WxAllBill extends TenantEntity {
if (StringUtils.isBlank(returnPay)) { if (StringUtils.isBlank(returnPay)) {
returnPay = "0"; returnPay = "0";
} }
//如果是押金,则不计算已退金额
boolean isDeposit = false;
if (null != billType) {
for (EnumBillAllType types : EnumBillAllType.getDepositTypes()) {
if (types.getCode().intValue() == billType.intValue()) {
isDeposit = true;
break;
}
}
}
if (StringUtils.isNotBlank(receivePay) && StringUtils.isNotBlank(pay)) { if (StringUtils.isNotBlank(receivePay) && StringUtils.isNotBlank(pay)) {
String o = new BigDecimal(receivePay).subtract(new BigDecimal(pay)).subtract(new BigDecimal(returnPay)).subtract(new BigDecimal(setOff)).toPlainString();
String o = "0";
if (isDeposit) {
o = new BigDecimal(receivePay).subtract(new BigDecimal(pay)).subtract(new BigDecimal(setOff)).toPlainString();
}else {
o = new BigDecimal(receivePay).subtract(new BigDecimal(pay)).add(new BigDecimal(returnPay)).subtract(new BigDecimal(setOff)).toPlainString();
}
return o; return o;
} }
return "0"; return "0";


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

@@ -38,6 +38,8 @@ public class WxFinancePrintData extends BaseEntity {
private String printDataJson; private String printDataJson;
@io.swagger.annotations.ApiModelProperty(value="是否可编辑",name="isEdit") @io.swagger.annotations.ApiModelProperty(value="是否可编辑",name="isEdit")
private Integer isEdit; private Integer isEdit;
@io.swagger.annotations.ApiModelProperty(value="默认值",name="defaultValue")
private String defaultValue;
@TableField(exist = false) @TableField(exist = false)
private Object printComponents; private Object printComponents;


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

@@ -57,5 +57,7 @@ public class WxFinancePrintTemplate extends TenantEntity {
private JSONObject contentJsonUpdate; private JSONObject contentJsonUpdate;
@TableField(exist = false) @TableField(exist = false)
private List tempItems; private List tempItems;
@TableField(exist = false)
List<Long> dataIds;
} }

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

@@ -484,5 +484,7 @@ public class WxMerchant extends TenantEntity {
public Integer toPayMerchant; public Integer toPayMerchant;
@TableField(exist = false) @TableField(exist = false)
public Integer isPreview; public Integer isPreview;
@TableField(exist = false)
public List<Long> feesIdList;
} }

+ 0
- 18
mallinkService/src/main/java/com/iformall/domain/vo/PrintMerchantSettleVo.java View File

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

import lombok.Data;

import java.io.Serializable;
import java.util.Date;

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

private Date startDate;

private Date endDate;

private Date ReceiveDate;
}

+ 19
- 0
mallinkService/src/main/java/com/iformall/domain/vo/WxBillSum.java View File

@@ -8,6 +8,7 @@ import java.util.Date;


import com.aliyun.openservices.shade.org.apache.commons.lang3.StringUtils; import com.aliyun.openservices.shade.org.apache.commons.lang3.StringUtils;
import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableField;
import com.iformall.utils.DateUtils;


@Data @Data
public class WxBillSum implements Serializable { public class WxBillSum implements Serializable {
@@ -33,7 +34,23 @@ public class WxBillSum implements Serializable {
private BigDecimal oweNumber; private BigDecimal oweNumber;
private Date minDate; private Date minDate;
@TableField(exist = false)
private String minDateStr;
public String getMinDateStr() {
if (null != minDate) {
minDateStr = DateUtils.date2String(minDate,DateUtils.DATE_PATTERN);
}
return minDateStr;
}
private Date maxDate; private Date maxDate;
@TableField(exist = false)
private String maxDateStr;
public String getMaxDateStr() {
if (null != maxDate) {
maxDateStr = DateUtils.date2String(maxDate,DateUtils.DATE_PATTERN);
}
return maxDateStr;
}


//手续费 //手续费
private String servicePay = "0"; private String servicePay = "0";
@@ -146,5 +163,7 @@ public class WxBillSum implements Serializable {
private String billName; private String billName;
@TableField(exist = false) @TableField(exist = false)
private Integer billType; private Integer billType;
@TableField(exist = false)
private String taxRate;
} }

+ 5
- 0
mallinkService/src/main/java/com/iformall/enums/EnumBillAllType.java View File

@@ -54,6 +54,11 @@ public enum EnumBillAllType {
return isFixedPrice; return isFixedPrice;
} }
public static EnumBillAllType[] getDepositTypes() {
EnumBillAllType[] ret = new EnumBillAllType[] {RENT_DEPOSIT,PROPERTY_DEPOSIT,OTHER_DEPOSIT};
return ret;
}
public static EnumBillAllType[] getSystemTypes() { public static EnumBillAllType[] getSystemTypes() {
EnumBillAllType[] ret = new EnumBillAllType[] {RENT,RENT_BUSSINESS_MANAGE,RENT_OPERATION_MANAGE, EnumBillAllType[] ret = new EnumBillAllType[] {RENT,RENT_BUSSINESS_MANAGE,RENT_OPERATION_MANAGE,
PROPERTY,PROPERTY_DEPOSIT}; PROPERTY,PROPERTY_DEPOSIT};


+ 2
- 0
mallinkService/src/main/java/com/iformall/print/PrintComponentHandler.java View File

@@ -79,6 +79,7 @@ public class PrintComponentHandler implements Serializable {
html.setTitle(data.getName()); html.setTitle(data.getName());
html.setIsEdit(data.getIsEdit()); html.setIsEdit(data.getIsEdit());
html.setValue(dataJson.getString("html")); html.setValue(dataJson.getString("html"));
html.setDefaultValue(data.getDefaultValue());
return html; return html;
}else if ("braid-html-table".equals(data.getPrintDataType())) { }else if ("braid-html-table".equals(data.getPrintDataType())) {
PrintHtml html = new PrintHtml(); PrintHtml html = new PrintHtml();
@@ -86,6 +87,7 @@ public class PrintComponentHandler implements Serializable {
html.setIsEdit(data.getIsEdit()); html.setIsEdit(data.getIsEdit());
html.setValue(dataJson.getString("html")); html.setValue(dataJson.getString("html"));
html.setIsFmCustomizedTable(EnumYesOrNo.YES.getCode()); html.setIsFmCustomizedTable(EnumYesOrNo.YES.getCode());
html.setDefaultValue(data.getDefaultValue());
return html; return html;
} }
return null; return null;


+ 31
- 5
mallinkService/src/main/java/com/iformall/print/data/PrintCustomedTableDataHandler.java View File

@@ -1,5 +1,6 @@
package com.iformall.print.data; package com.iformall.print.data;


import java.util.Iterator;
import java.util.List; import java.util.List;


import org.jsoup.Jsoup; import org.jsoup.Jsoup;
@@ -14,8 +15,19 @@ import com.aliyun.openservices.shade.org.apache.commons.lang3.StringUtils;
@Service @Service
public class PrintCustomedTableDataHandler{ public class PrintCustomedTableDataHandler{



public String getTableContent(String componentContent,JSONArray datas){
public String getTableContent(String componentContent,JSONArray datas,JSONObject entity){
if (null != entity) {
for (Iterator<String> it = entity.keySet().iterator(); it.hasNext();) {
String fieldName = it.next();
Object o = entity.get(fieldName);
componentContent = componentContent.replaceAll("\\{"+fieldName+"\\}", String.valueOf(o));
}
}
componentContent = getTableListContent(componentContent,datas);
return componentContent;
}
private String getTableListContent(String componentContent,JSONArray datas) {
if (null == datas || datas.size() <= 0) { if (null == datas || datas.size() <= 0) {
return componentContent; return componentContent;
} }
@@ -36,7 +48,7 @@ public class PrintCustomedTableDataHandler{
} }
sb.append(">"); sb.append(">");
for (int j = 0 ; j < titleTds.size() ; j ++) { for (int j = 0 ; j < titleTds.size() ; j ++) {
Node td = titleTds.get(i);
Node td = titleTds.get(j);
String tdclass = titleTr.attr("class"); String tdclass = titleTr.attr("class");
String tdstyle = titleTr.attr("style"); String tdstyle = titleTr.attr("style");
String tdcolspan = titleTr.attr("colspan"); String tdcolspan = titleTr.attr("colspan");
@@ -53,12 +65,26 @@ public class PrintCustomedTableDataHandler{
sb.append(">"); sb.append(">");
//取什么属性 //取什么属性
String fieldName = td.attr("fieldName"); String fieldName = td.attr("fieldName");
sb.append(o.get(fieldName));
if (StringUtils.isNotBlank(fieldName)) {
if (fieldName.contains(",")) {
String sep = td.attr("sep");
String[] fs = fieldName.split(",");
if (null != fs) {
for (int k = 0 ; k<fs.length; k++) {
sb.append(o.get(fs[k])).append(sep);
}
}
}else {
sb.append(o.get(fieldName));
}
}
sb.append("</td>"); sb.append("</td>");
} }
sb.append("</tr>"); sb.append("</tr>");
} }
return null;
titleTr.parent().appendText(sb.toString());
return doc.html();
} }
} }

+ 0
- 2
mallinkService/src/main/java/com/iformall/print/data/PrintMerchantSettleDataHandler.java View File

@@ -8,7 +8,6 @@ import com.iformall.domain.po.WxAllBill;
import com.iformall.domain.po.WxEnergyFees; import com.iformall.domain.po.WxEnergyFees;
import com.iformall.domain.po.WxFinanceReceive; import com.iformall.domain.po.WxFinanceReceive;
import com.iformall.domain.po.WxMerchant; import com.iformall.domain.po.WxMerchant;
import com.iformall.domain.vo.PrintMerchantSettleVo;
import com.iformall.utils.DateUtils; import com.iformall.utils.DateUtils;


@Service @Service
@@ -16,7 +15,6 @@ public class PrintMerchantSettleDataHandler{




public Object getObjectValue(String name, Object o,Map<Long,WxMerchant> merchantMap,Map<Long,WxEnergyFees> feesMap) { public Object getObjectValue(String name, Object o,Map<Long,WxMerchant> merchantMap,Map<Long,WxEnergyFees> feesMap) {
PrintMerchantSettleVo receive = (PrintMerchantSettleVo) o;
//根据科目来查询对应的信息 //根据科目来查询对应的信息
// if (name.equals("id")) { // if (name.equals("id")) {
// return receive.getId(); // return receive.getId();


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

@@ -16,5 +16,5 @@ public interface WxFinancePrintService {
void update(WxFinancePrintTemplate record); void update(WxFinancePrintTemplate record);
void copy(WxFinancePrintTemplate record); void copy(WxFinancePrintTemplate record);
void setTemplatesDel(WxFinancePrintTemplate record); void setTemplatesDel(WxFinancePrintTemplate record);
List<PrintVo> parseTemplateData(String tenantId,Long templateId,List<Long> dataIds,BaseEntity entity);
List<PrintVo> parseTemplateData(String tenantId,Long templateId,List<Long> dataIds,Object entity);
} }

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

@@ -30,8 +30,8 @@ public interface WxFinanceService {
//收付款 //收付款
PageInfo<WxFinanceReceiveVo> receiveVoListAsPage(WxFinanceReceive record, Integer pageIndex, Integer pageSize); PageInfo<WxFinanceReceiveVo> receiveVoListAsPage(WxFinanceReceive record, Integer pageIndex, Integer pageSize);
List<WxFinanceReceive> findReceiveList(WxFinanceReceive record); List<WxFinanceReceive> findReceiveList(WxFinanceReceive record);
List<WxAllBill> createReceive(WxFinanceReceive record,MallUserInfo user);
List<WxAllBill> createPay(WxFinanceReceive record,MallUserInfo user);
Map createReceive(WxFinanceReceive record,MallUserInfo user);
Map createPay(WxFinanceReceive record,MallUserInfo user);
WxFinanceReceive getReceiveById(TenantEntity tenantEntity,Long id); WxFinanceReceive getReceiveById(TenantEntity tenantEntity,Long id);
void invalidReceive(WxFinanceReceive record,MallUserInfo user,String remark); void invalidReceive(WxFinanceReceive record,MallUserInfo user,String remark);
void redSetoffReceive(WxFinanceReceive record,MallUserInfo user); void redSetoffReceive(WxFinanceReceive record,MallUserInfo user);


+ 24
- 0
mallinkService/src/main/java/com/iformall/service/impl/WxAllBillServiceImpl.java View File

@@ -24,6 +24,7 @@ import com.iformall.domain.vo.WxBillHotNotify;
import com.iformall.domain.vo.WxBillNotify; import com.iformall.domain.vo.WxBillNotify;
import com.iformall.domain.vo.WxBillSum; import com.iformall.domain.vo.WxBillSum;
import com.iformall.enums.EnumBillAction; import com.iformall.enums.EnumBillAction;
import com.iformall.enums.EnumBillAllType;
import com.iformall.enums.EnumBillStatus; import com.iformall.enums.EnumBillStatus;
import com.iformall.enums.EnumRentShopType; import com.iformall.enums.EnumRentShopType;
import com.iformall.enums.EnumYesOrNo; import com.iformall.enums.EnumYesOrNo;
@@ -386,6 +387,29 @@ public class WxAllBillServiceImpl extends WxBillBaseService implements WxAllBill
wxBillRent.updateTenantInfo(dto); wxBillRent.updateTenantInfo(dto);
wxBillRent.setUpdatetime(new Date()); wxBillRent.setUpdatetime(new Date());
wxBillRent.setReturnPay(oldpay.add(new BigDecimal(dto.getPayToMerchant())).toPlainString()); wxBillRent.setReturnPay(oldpay.add(new BigDecimal(dto.getPayToMerchant())).toPlainString());
//如果屎押金
boolean isDeposit = false;
for (EnumBillAllType dep : EnumBillAllType.getDepositTypes()) {
if (dbBill.getBillType().intValue() == dep.getCode().intValue()) {
isDeposit = true;
break;
}
}
if (isDeposit) {
String setoff = dbBill.getSetOff();
if (StringUtils.isBlank(setoff)) {
setoff = "0";
}
String pay = dbBill.getPay();
if (StringUtils.isBlank(pay)) {
pay = "0";
}
BigDecimal needReturn = new BigDecimal(pay).add(new BigDecimal(setoff)).subtract(new BigDecimal(wxBillRent.getReturnPay()));
if (needReturn.compareTo(new BigDecimal(0)) == 0) {
wxBillRent.setStatus(EnumBillStatus.PAID.getCode());
}
}
wxAllBillMapper.updateById(wxBillRent); wxAllBillMapper.updateById(wxBillRent);
this.addBillAction(EnumBillAction.RETURN, dto.getBillTypeValue(),dto.getId(), this.addBillAction(EnumBillAction.RETURN, dto.getBillTypeValue(),dto.getId(),
dto.getAddpay(), dto.getAddpay(),null,wxBillRent.getPayDate(),dto.getPayWayObject(),dto.getRemark(),null,null, user); dto.getAddpay(), dto.getAddpay(),null,wxBillRent.getPayDate(),dto.getPayWayObject(),dto.getRemark(),null,null, user);


+ 70
- 17
mallinkService/src/main/java/com/iformall/service/impl/WxFinancePrintServiceImpl.java View File

@@ -20,8 +20,9 @@ import com.iformall.domain.po.WxFinanceReceive;
import com.iformall.domain.po.WxFinanceReceiveBill; import com.iformall.domain.po.WxFinanceReceiveBill;
import com.iformall.domain.po.WxMerchant; import com.iformall.domain.po.WxMerchant;
import com.iformall.domain.po.base.BaseEntity; import com.iformall.domain.po.base.BaseEntity;
import com.iformall.domain.vo.PrintMerchantSettleVo;
import com.iformall.domain.vo.PrintVo; import com.iformall.domain.vo.PrintVo;
import com.iformall.domain.vo.WxBillSum;
import com.iformall.domain.vo.WxMerchantBillVo;
import com.iformall.enums.EnumFinancePrintDataType; import com.iformall.enums.EnumFinancePrintDataType;
import com.iformall.enums.EnumYesOrNo; import com.iformall.enums.EnumYesOrNo;
import com.iformall.exception.MallinkException; import com.iformall.exception.MallinkException;
@@ -39,6 +40,7 @@ import com.iformall.service.WxFinanceService;
import com.iformall.service.WxMerchantService; import com.iformall.service.WxMerchantService;
import com.iformall.service.WxShopService; import com.iformall.service.WxShopService;


import java.math.BigDecimal;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Date; import java.util.Date;
import java.util.HashMap; import java.util.HashMap;
@@ -180,9 +182,17 @@ public class WxFinancePrintServiceImpl implements WxFinancePrintService {
wxFinancePrintTemplateMapper.updateById(record); wxFinancePrintTemplateMapper.updateById(record);
} }


private boolean isSetDefaultValue(JSONObject component) {
boolean isSetDefaultValue = false;
String componentType = component.getString("type");
if ("braid-html".equals(componentType)) {
isSetDefaultValue = true;
}
return isSetDefaultValue;
}
@Override @Override
public List<PrintVo> parseTemplateData(String tenantId, Long templateId, List<Long> dataIds,BaseEntity entity) {
public List<PrintVo> parseTemplateData(String tenantId, Long templateId, List<Long> dataIds,Object entity) {
WxFinancePrintTemplate template = this.getTemplateById(templateId); WxFinancePrintTemplate template = this.getTemplateById(templateId);
if (null == template) { if (null == template) {
return null; return null;
@@ -234,14 +244,20 @@ public class WxFinancePrintServiceImpl implements WxFinancePrintService {
JSONObject ov = items.getJSONObject(j); JSONObject ov = items.getJSONObject(j);
//是否是定制化的表格 //是否是定制化的表格
Integer isCustomedTable = ov.getInteger("isFmCustomizedTable"); Integer isCustomedTable = ov.getInteger("isFmCustomizedTable");
boolean isSetDefaultValue = isSetDefaultValue(ov);
if (null != isCustomedTable && EnumYesOrNo.YES.getCode().intValue() == isCustomedTable.intValue()) { if (null != isCustomedTable && EnumYesOrNo.YES.getCode().intValue() == isCustomedTable.intValue()) {
//表格解析 //表格解析
String componentContent = ov.getString("value"); String componentContent = ov.getString("value");
if (null != billList) { if (null != billList) {
printCustomedTableDataHandler.getTableContent(componentContent, JSON.parseArray(JSON.toJSONString(billList)));
ov.put("defaultValue",printCustomedTableDataHandler.getTableContent(componentContent, JSON.parseArray(JSON.toJSONString(billList)),JSON.parseObject(JSON.toJSONString(re))));
} }
}else { }else {
ov.put("value", printFinanceReceiveDataHandler.getObjectValue(ov.getString("name"),re,merchantMap,feesMap,shopNumber));
if (isSetDefaultValue) {
ov.put("defaultValue", printFinanceReceiveDataHandler.getObjectValue(ov.getString("name"),re,merchantMap,feesMap,shopNumber));
}else {
ov.put("defaultValue", printFinanceReceiveDataHandler.getObjectValue(ov.getString("name"),re,merchantMap,feesMap,shopNumber));
}
} }
} }
} }
@@ -267,6 +283,8 @@ public class WxFinancePrintServiceImpl implements WxFinancePrintService {
JSONObject ov = items.getJSONObject(j); JSONObject ov = items.getJSONObject(j);
//是否是定制化的表格 //是否是定制化的表格
Integer isCustomedTable = ov.getInteger("isFmCustomizedTable"); Integer isCustomedTable = ov.getInteger("isFmCustomizedTable");
boolean isSetDefaultValue = isSetDefaultValue(ov);
if (null != isCustomedTable && EnumYesOrNo.YES.getCode().intValue() == isCustomedTable.intValue()) { if (null != isCustomedTable && EnumYesOrNo.YES.getCode().intValue() == isCustomedTable.intValue()) {
//表格解析 //表格解析
String componentContent = ov.getString("value"); String componentContent = ov.getString("value");
@@ -274,7 +292,11 @@ public class WxFinancePrintServiceImpl implements WxFinancePrintService {
// printCustomedTableDataHandler.getTableContent(componentContent, JSON.parseArray(JSON.toJSONString(billList))); // printCustomedTableDataHandler.getTableContent(componentContent, JSON.parseArray(JSON.toJSONString(billList)));
//} //}
}else { }else {
ov.put("value", printBillDataHandler.getObjectValue(ov.getString("name"),re,merchantMap,feesMap));
if (isSetDefaultValue) {
ov.put("defaultValue", printBillDataHandler.getObjectValue(ov.getString("name"),re,merchantMap,feesMap));
}else {
ov.put("defaultValue", printBillDataHandler.getObjectValue(ov.getString("name"),re,merchantMap,feesMap));
}
} }
} }
@@ -284,15 +306,10 @@ public class WxFinancePrintServiceImpl implements WxFinancePrintService {
} }
return voList; return voList;
}else if (printDatatype.getCode().intValue() == EnumFinancePrintDataType.RENT_OWE.getCode()) { }else if (printDatatype.getCode().intValue() == EnumFinancePrintDataType.RENT_OWE.getCode()) {
WxMerchant bq = (WxMerchant) entity;
List<WxMerchant> merchantList = wxMerchantService.findList(bq);
if (null == merchantList || merchantList.size() <= 0 ) {
return null;
}
WxMerchant m = merchantList.get(0);
WxMerchantBillVo bq = (WxMerchantBillVo) entity;
//打哪些科目
List<Long> feesId = dataIds;
List<PrintVo> voList = new ArrayList<PrintVo>(); List<PrintVo> voList = new ArrayList<PrintVo>();
//TODO 获取结算单信息
PrintMerchantSettleVo sv = null;
PrintVo vo = new PrintVo(); PrintVo vo = new PrintVo();
vo.setDataId(templateId); vo.setDataId(templateId);
@@ -301,14 +318,50 @@ public class WxFinancePrintServiceImpl implements WxFinancePrintService {
JSONObject ov = items.getJSONObject(j); JSONObject ov = items.getJSONObject(j);
//是否是定制化的表格 //是否是定制化的表格
Integer isCustomedTable = ov.getInteger("isFmCustomizedTable"); Integer isCustomedTable = ov.getInteger("isFmCustomizedTable");
boolean isSetDefaultValue = isSetDefaultValue(ov);
if (null != isCustomedTable && EnumYesOrNo.YES.getCode().intValue() == isCustomedTable.intValue()) { if (null != isCustomedTable && EnumYesOrNo.YES.getCode().intValue() == isCustomedTable.intValue()) {
//表格解析 //表格解析
List<WxBillSum> sumlist = new ArrayList<WxBillSum>();
BigDecimal receiveTotal = new BigDecimal(0);
BigDecimal payTotal = new BigDecimal(0);
BigDecimal oweTotal = new BigDecimal(0);
for (int k = 0 ; k< bq.getBillSumList().size() ; k++) {
WxBillSum billSum = bq.getBillSumList().get(k);
if (feesId.contains(billSum.getEnergyFeesId())) {
WxEnergyFees fee = feesMap.get(billSum.getEnergyFeesId());
billSum.setTaxRate(fee.getTaxRate());
sumlist.add(billSum);
receiveTotal = receiveTotal.add(billSum.getNeedPayNumber());
payTotal = payTotal.add(billSum.getPaidNumber());
oweTotal = oweTotal.add(billSum.getOweNumber());
}
}
WxBillSum heji = new WxBillSum();
heji.setBillName("合计");
heji.setNeedPay(receiveTotal.toPlainString());
sumlist.add(heji);
WxBillSum yishou = new WxBillSum();
yishou.setBillName("已收");
yishou.setNeedPay(payTotal.toPlainString());
sumlist.add(yishou);
WxBillSum owe = new WxBillSum();
owe.setBillName("本期应收");
owe.setNeedPay(payTotal.toPlainString());
sumlist.add(owe);
String componentContent = ov.getString("value"); String componentContent = ov.getString("value");
//if (null != billList) {
// printCustomedTableDataHandler.getTableContent(componentContent, JSON.parseArray(JSON.toJSONString(billList)));
//}
if (null != sumlist && sumlist.size() > 0 ) {
ov.put("defaultValue",printCustomedTableDataHandler.getTableContent(componentContent, JSON.parseArray(JSON.toJSONString(sumlist)),JSON.parseObject(JSON.toJSONString(bq))));
}
}else { }else {
ov.put("value", printMerchantSettleDataHandler.getObjectValue(ov.getString("name"),sv,merchantMap,feesMap));
if (isSetDefaultValue) {
ov.put("defaultValue", printMerchantSettleDataHandler.getObjectValue(ov.getString("name"),bq,merchantMap,feesMap));
}else {
ov.put("defaultValue", printMerchantSettleDataHandler.getObjectValue(ov.getString("name"),bq,merchantMap,feesMap));
}
} }
} }


+ 12
- 4
mallinkService/src/main/java/com/iformall/service/impl/WxFinanceServiceImpl.java View File

@@ -519,7 +519,7 @@ public class WxFinanceServiceImpl implements WxFinanceService {
@Transactional(propagation = Propagation.REQUIRED, readOnly = false, rollbackFor = {Exception.class}) @Transactional(propagation = Propagation.REQUIRED, readOnly = false, rollbackFor = {Exception.class})
@Override @Override
public List<WxAllBill> createReceive(WxFinanceReceive record,MallUserInfo user) {
public Map createReceive(WxFinanceReceive record,MallUserInfo user) {
//冲抵信息根据页面返回的账单抵扣信息直接保存入库 //冲抵信息根据页面返回的账单抵扣信息直接保存入库
//费用计算自动优先匹配时间最早的那个 //费用计算自动优先匹配时间最早的那个
@@ -591,7 +591,11 @@ public class WxFinanceServiceImpl implements WxFinanceService {
addreceive.setMerchantId(record.getMerchantId()); addreceive.setMerchantId(record.getMerchantId());
addreceive.setRemark(record.getRemark()); addreceive.setRemark(record.getRemark());
wxFinanceReceiveMapper.insert(addreceive); wxFinanceReceiveMapper.insert(addreceive);
return bills;
Map retMap = new HashMap();
retMap.put("addreceive", addreceive);
retMap.put("billlist", bills);
return retMap;
} }
public boolean createBillReceive(FinanceReceiveCalcuteDTO calcuteDto,MallUserInfo user,WxFinanceReceive addreceive,WxAllBill be,WxMerchant merchant,WxBillPayWay payWay0) { public boolean createBillReceive(FinanceReceiveCalcuteDTO calcuteDto,MallUserInfo user,WxFinanceReceive addreceive,WxAllBill be,WxMerchant merchant,WxBillPayWay payWay0) {
@@ -727,7 +731,7 @@ public class WxFinanceServiceImpl implements WxFinanceService {
@Transactional(propagation = Propagation.REQUIRED, readOnly = false, rollbackFor = {Exception.class}) @Transactional(propagation = Propagation.REQUIRED, readOnly = false, rollbackFor = {Exception.class})
@Override @Override
public List<WxAllBill> createPay(WxFinanceReceive record,MallUserInfo user) {
public Map createPay(WxFinanceReceive record,MallUserInfo user) {
//费用计算自动优先匹配时间最早的那个 //费用计算自动优先匹配时间最早的那个
//单保存冲抵的时候,实收金额为0 //单保存冲抵的时候,实收金额为0
BigDecimal payTotal = new BigDecimal(0); BigDecimal payTotal = new BigDecimal(0);
@@ -788,7 +792,11 @@ public class WxFinanceServiceImpl implements WxFinanceService {
addreceive.setMerchantId(record.getMerchantId()); addreceive.setMerchantId(record.getMerchantId());
addreceive.setRemark(record.getRemark()); addreceive.setRemark(record.getRemark());
wxFinanceReceiveMapper.insert(addreceive); wxFinanceReceiveMapper.insert(addreceive);
return bills;
Map retMap = new HashMap();
retMap.put("addreceive", addreceive);
retMap.put("billlist", bills);
return retMap;
} }
public boolean createBillPay(FinanceReceiveCalcuteDTO calcuteDto,MallUserInfo user,WxFinanceReceive addreceive,WxAllBill be,WxMerchant merchant,WxBillPayWay payWay0) { public boolean createBillPay(FinanceReceiveCalcuteDTO calcuteDto,MallUserInfo user,WxFinanceReceive addreceive,WxAllBill be,WxMerchant merchant,WxBillPayWay payWay0) {


+ 31
- 6
mallinkService/src/main/resources/mapper/WxAllBillMapper.xml View File

@@ -73,18 +73,41 @@
and date_format(starttime,'%Y-%m') &lt;= #{month} and date_format(endtime,'%Y-%m') &gt;= #{month} and date_format(starttime,'%Y-%m') &lt;= #{month} and date_format(endtime,'%Y-%m') &gt;= #{month}
</if> </if>
<if test=" null == nearBillLastTime and null != oweBillLastTime"> <if test=" null == nearBillLastTime and null != oweBillLastTime">
and (`starttime` &lt;= #{oweBillLastTime} and `receive_pay` - `pay` - IFNULL(`set_off`,'0') + IFNULL(`return_pay`,'0') &gt; 0 and status not in (3,6,7))
and (
(`starttime` &lt;= #{oweBillLastTime} and `receive_pay` - `pay` - IFNULL(`set_off`,'0') + IFNULL(`return_pay`,'0') &gt; 0 and status not in (3,6,7) and bill_type not in (13,21,5))
or
(`starttime` &lt;= #{oweBillLastTime} and `receive_pay` - `pay` - IFNULL(`set_off`,'0') &gt; 0 and status not in (3,6,7) and bill_type in (13,21,5))
)
</if> </if>
<if test=" null != nearBillLastTime and null != oweBillLastTime"> <if test=" null != nearBillLastTime and null != oweBillLastTime">
and (`starttime` &gt; #{oweBillLastTime} and `starttime` &lt;= #{nearBillLastTime} and `receive_pay` - `pay` - IFNULL(`set_off`,'0') + IFNULL(`return_pay`,'0') &gt; 0 and status not in (3,6,7))
and (
(`starttime` &gt; #{oweBillLastTime} and `starttime` &lt;= #{nearBillLastTime} and `receive_pay` - `pay` - IFNULL(`set_off`,'0') + IFNULL(`return_pay`,'0') &gt; 0 and status not in (3,6,7) and bill_type not in (13,21,5))
or
(`starttime` &gt; #{oweBillLastTime} and `starttime` &lt;= #{nearBillLastTime} and `receive_pay` - `pay` - IFNULL(`set_off`,'0') &gt; 0 and status not in (3,6,7) and bill_type in (13,21,5))
)
</if> </if>
<if test=" null != needPayStartDay"> <if test=" null != needPayStartDay">
and (`starttime` &lt;= #{needPayStartDay} and `receive_pay` - `pay` - IFNULL(`set_off`,'0') + IFNULL(`return_pay`,'0') &gt; 0 and status not in (3,6,7))
and (
(`starttime` &lt;= #{needPayStartDay} and `receive_pay` - `pay` - IFNULL(`set_off`,'0') + IFNULL(`return_pay`,'0') &gt; 0 and status not in (3,6,7) and bill_type not in (13,21,5))
or
(`starttime` &lt;= #{needPayStartDay} and `receive_pay` - `pay` - IFNULL(`set_off`,'0') &gt; 0 and status not in (3,6,7) and bill_type in (13,21,5))
)
</if> </if>
<if test=" null != toPayMerchant"> <if test=" null != toPayMerchant">
and ( `receive_pay` - `pay` - IFNULL(`set_off`,'0') + IFNULL(`return_pay`,'0') &lt; 0 or status in (8,9))
and (
( `receive_pay` - `pay` - IFNULL(`set_off`,'0') + IFNULL(`return_pay`,'0') &lt; 0 and bill_type not in (13,21,5))
or
( `receive_pay` - `pay` - IFNULL(`set_off`,'0') &lt; 0 and bill_type in (13,21,5))
or status in (8,9)
)
</if>
<if test=" 1 == notifyed ">
and (
(`last_owe_call_time` is not null and `receive_pay` - `pay`- IFNULL(`set_off`,'0') + IFNULL(`return_pay`,'0') &gt; 0 and status not in (3,6,7) and bill_type not in (13,21,5))
or
(`last_owe_call_time` is not null and `receive_pay` - `pay`- IFNULL(`set_off`,'0') &gt; 0 and status not in (3,6,7) and bill_type in (13,21,5))
)
</if> </if>
<if test=" 1 == notifyed ">and (`last_owe_call_time` is not null and `receive_pay` - `pay`- IFNULL(`set_off`,'0') + IFNULL(`return_pay`,'0') &gt; 0 and status not in (3,6,7) )</if>
<if test=" null != hasMerchant ">and `merchant_id` is not null</if> <if test=" null != hasMerchant ">and `merchant_id` is not null</if>
<if test=" 1 == hasParentBillId ">and `parent_bill_id` is not null</if> <if test=" 1 == hasParentBillId ">and `parent_bill_id` is not null</if>
<if test=" 0 == hasParentBillId ">and `parent_bill_id` is null</if> <if test=" 0 == hasParentBillId ">and `parent_bill_id` is null</if>
@@ -193,7 +216,9 @@
select select
bill_type, bill_type,
count(1) total_count , count(1) total_count ,
sum(CAST(`receive_pay` AS DECIMAL(20,2)) - CAST(`pay` AS DECIMAL(20,2)) - CAST(IFNULL(`set_off`,'0') AS DECIMAL(20,2)) + CAST(IFNULL(`return_pay`,'0') AS DECIMAL(20,2))) total_money,
case when bill_type in (13,21,5) then sum(CAST(`receive_pay` AS DECIMAL(20,2)) - CAST(`pay` AS DECIMAL(20,2)) - CAST(IFNULL(`set_off`,'0') AS DECIMAL(20,2)) )
else sum(CAST(`receive_pay` AS DECIMAL(20,2)) - CAST(`pay` AS DECIMAL(20,2)) - CAST(IFNULL(`set_off`,'0') AS DECIMAL(20,2)) + CAST(IFNULL(`return_pay`,'0') AS DECIMAL(20,2)))
end as total_money,
MIN(starttime) min_begin_time from wx_all_bill MIN(starttime) min_begin_time from wx_all_bill
<include refid="dynamicWhereConditions"/> <include refid="dynamicWhereConditions"/>
group by bill_type group by bill_type


+ 2
- 1
mallinkService/src/main/resources/mapper/WxFinancePrintDataMapper.xml View File

@@ -11,10 +11,11 @@
<result column="print_data_type" jdbcType="VARCHAR" property="printDataType"/> <result column="print_data_type" jdbcType="VARCHAR" property="printDataType"/>
<result column="print_data_json" jdbcType="VARCHAR" property="printDataJson"/> <result column="print_data_json" jdbcType="VARCHAR" property="printDataJson"/>
<result column="is_edit" jdbcType="INTEGER" property="isEdit"/> <result column="is_edit" jdbcType="INTEGER" property="isEdit"/>
<result column="default_value" jdbcType="VARCHAR" property="defaultValue"/>
</resultMap> </resultMap>


<sql id="allColumns"> <sql id="allColumns">
`id`,`name`,`is_del`,`remark`,`type`,`sort`,`print_data_type`,`print_data_json`,`is_edit`
`id`,`name`,`is_del`,`remark`,`type`,`sort`,`print_data_type`,`print_data_json`,`is_edit`,`default_value`
</sql> </sql>


<sql id="dynamicWhereConditions"> <sql id="dynamicWhereConditions">


Loading…
Cancel
Save