| @@ -41,8 +41,4 @@ public class WxFinancePrintData extends BaseEntity { | |||||
| @TableField(exist = false) | @TableField(exist = false) | ||||
| private Object printComponents; | private Object printComponents; | ||||
| public Object getPrintComponents() { | |||||
| printComponents = PrintComponentHandler.parseComponent(this); | |||||
| return printComponents; | |||||
| } | |||||
| } | } | ||||
| @@ -14,5 +14,7 @@ public interface WxFinanceReceiveBillMapper extends CommonMapper<WxFinanceReceiv | |||||
| WxFinanceReceiveBill selectById(@Param("id")Long id,@Param("tenantId")String tenantId); | WxFinanceReceiveBill selectById(@Param("id")Long id,@Param("tenantId")String tenantId); | ||||
| void deleteByConditon(WxFinanceReceiveBill wxBillRent); | void deleteByConditon(WxFinanceReceiveBill wxBillRent); | ||||
| List<Long> findBillIdList(WxFinanceReceiveBill wxBillRent); | |||||
| } | } | ||||
| @@ -24,6 +24,12 @@ public class PrintComponentHandler implements Serializable { | |||||
| private static final long serialVersionUID = 1L; | private static final long serialVersionUID = 1L; | ||||
| public static void main(String[] args) { | |||||
| String s = "{\"columns\": [{\"title\": \"房间名称\", \"fieldName\": \"starttime\"}, {\"title\": \"费用科目\", \"fieldName\": \"endtime\"}, {\"title\": \"费用区间\", \"fieldName\": \"feesName\"},{\"title\": \"应收金额\", \"fieldName\": \"needpay\"},{\"title\": \"冲抵金额\", \"fieldName\": \"setoff\"},{\"title\": \"优惠金额\", \"fieldName\": \"youhui\"},{\"title\": \"实收金额\", \"fieldName\": \"receive\"}], \"fieldName\": \"billList\", \"tableHtml\": \"<style>table,td,th{border:1px solid #000;border-collapse:collapse}table{width:740px;font-size:12px;text-align:center}tr{height:35px}.one{width:74px}.two{width:119px}.three{width:241px}.four{width:76px}.five{width:76px}.six{width:76px}.seven{width:76px}</style><table>\"}"; | |||||
| JSONObject dataJson = JSON.parseObject(s); | |||||
| System.out.println(dataJson); | |||||
| } | |||||
| public static Object parseComponent(WxFinancePrintData data) { | public static Object parseComponent(WxFinancePrintData data) { | ||||
| JSONObject dataJson = JSON.parseObject(data.getPrintDataJson()); | JSONObject dataJson = JSON.parseObject(data.getPrintDataJson()); | ||||
| if("braid-txt".equals(data.getPrintDataType())) { | if("braid-txt".equals(data.getPrintDataType())) { | ||||
| @@ -1,10 +1,13 @@ | |||||
| package com.iformall.print.data; | package com.iformall.print.data; | ||||
| import java.util.ArrayList; | |||||
| import java.util.List; | |||||
| import java.util.Map; | import java.util.Map; | ||||
| import org.springframework.stereotype.Service; | import org.springframework.stereotype.Service; | ||||
| import com.alibaba.fastjson.JSONObject; | import com.alibaba.fastjson.JSONObject; | ||||
| 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; | ||||
| @@ -20,7 +23,7 @@ import com.iformall.utils.DateUtils; | |||||
| @Service | @Service | ||||
| public class PrintFinanceReceiveDataHandler { | public class PrintFinanceReceiveDataHandler { | ||||
| public Object getObjectValue(String name, Object o,Map<Long,WxMerchant> merchantMap,Map<Long,WxEnergyFees> feesMap,Map<Long,String> shopNumber) { | |||||
| public Object getObjectValue(String name, Object o,Map<Long,WxMerchant> merchantMap,Map<Long,WxEnergyFees> feesMap,Map<Long,String> shopNumber,List<WxAllBill> billList) { | |||||
| WxFinanceReceive receive = (WxFinanceReceive) o; | WxFinanceReceive receive = (WxFinanceReceive) o; | ||||
| if (name.equals("id")) { | if (name.equals("id")) { | ||||
| return receive.getId(); | return receive.getId(); | ||||
| @@ -56,10 +59,10 @@ public class PrintFinanceReceiveDataHandler { | |||||
| } | } | ||||
| return ""; | return ""; | ||||
| }else if (name.equals("billList")) { | }else if (name.equals("billList")) { | ||||
| if (null != shopNumber) { | |||||
| return shopNumber.get(receive.getMerchantId()); | |||||
| if (null == billList) { | |||||
| return new ArrayList<WxAllBill>(); | |||||
| } | } | ||||
| return ""; | |||||
| return billList; | |||||
| } | } | ||||
| return null; | return null; | ||||
| } | } | ||||
| @@ -9,6 +9,7 @@ import com.iformall.domain.po.WxAllBill; | |||||
| import com.iformall.domain.po.WxBillPayWay; | import com.iformall.domain.po.WxBillPayWay; | ||||
| import com.iformall.domain.po.WxFinanceFinish; | import com.iformall.domain.po.WxFinanceFinish; | ||||
| import com.iformall.domain.po.WxFinanceReceive; | import com.iformall.domain.po.WxFinanceReceive; | ||||
| import com.iformall.domain.po.WxFinanceReceiveBill; | |||||
| import com.iformall.domain.po.WxFinanceReceiveSetoff; | import com.iformall.domain.po.WxFinanceReceiveSetoff; | ||||
| import com.iformall.domain.po.base.TenantEntity; | import com.iformall.domain.po.base.TenantEntity; | ||||
| import com.iformall.domain.vo.FinanceBillSetoffSum; | import com.iformall.domain.vo.FinanceBillSetoffSum; | ||||
| @@ -34,6 +35,7 @@ public interface WxFinanceService { | |||||
| 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); | ||||
| List<Long> getReceiveBillIds(WxFinanceReceiveBill record); | |||||
| //预收款 | //预收款 | ||||
| List<WxAllBill> calcuetSetOff(FinanceSetOffDTO dto,MallUserInfo user); | List<WxAllBill> calcuetSetOff(FinanceSetOffDTO dto,MallUserInfo user); | ||||
| FinanceBillSetoffSum getBillSetoffSum(WxFinanceReceive record); | FinanceBillSetoffSum getBillSetoffSum(WxFinanceReceive record); | ||||
| @@ -17,6 +17,7 @@ import com.iformall.domain.po.WxEnergyFees; | |||||
| import com.iformall.domain.po.WxFinancePrintData; | import com.iformall.domain.po.WxFinancePrintData; | ||||
| import com.iformall.domain.po.WxFinancePrintTemplate; | import com.iformall.domain.po.WxFinancePrintTemplate; | ||||
| import com.iformall.domain.po.WxFinanceReceive; | import com.iformall.domain.po.WxFinanceReceive; | ||||
| 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.po.base.TenantEntity; | import com.iformall.domain.po.base.TenantEntity; | ||||
| @@ -27,6 +28,7 @@ import com.iformall.enums.EnumYesOrNo; | |||||
| import com.iformall.exception.MallinkException; | import com.iformall.exception.MallinkException; | ||||
| import com.iformall.mapper.WxFinancePrintDataMapper; | import com.iformall.mapper.WxFinancePrintDataMapper; | ||||
| import com.iformall.mapper.WxFinancePrintTemplateMapper; | import com.iformall.mapper.WxFinancePrintTemplateMapper; | ||||
| import com.iformall.print.PrintComponentHandler; | |||||
| import com.iformall.print.data.PrintBillDataHandler; | import com.iformall.print.data.PrintBillDataHandler; | ||||
| import com.iformall.print.data.PrintFinanceReceiveDataHandler; | import com.iformall.print.data.PrintFinanceReceiveDataHandler; | ||||
| import com.iformall.print.data.PrintMerchantSettleDataHandler; | import com.iformall.print.data.PrintMerchantSettleDataHandler; | ||||
| @@ -85,7 +87,14 @@ public class WxFinancePrintServiceImpl implements WxFinancePrintService { | |||||
| @Override | @Override | ||||
| public List<WxFinancePrintData> printDataList(WxFinancePrintData record) { | public List<WxFinancePrintData> printDataList(WxFinancePrintData record) { | ||||
| return wxFinancePrintDataMapper.findList(record); | |||||
| List<WxFinancePrintData> list = wxFinancePrintDataMapper.findList(record); | |||||
| if (null != list) { | |||||
| for (int i = 0 ; i < list.size() ; i ++) { | |||||
| WxFinancePrintData pd = list.get(i); | |||||
| pd.setPrintComponents(PrintComponentHandler.parseComponent(pd)); | |||||
| } | |||||
| } | |||||
| return list; | |||||
| } | } | ||||
| @Override | @Override | ||||
| @@ -205,10 +214,22 @@ public class WxFinancePrintServiceImpl implements WxFinancePrintService { | |||||
| WxFinanceReceive re = receiveList.get(i); | WxFinanceReceive re = receiveList.get(i); | ||||
| PrintVo vo = new PrintVo(); | PrintVo vo = new PrintVo(); | ||||
| vo.setDataId(templateId); | vo.setDataId(templateId); | ||||
| WxFinanceReceiveBill rb = new WxFinanceReceiveBill(); | |||||
| rb.updateTenantInfo(re); | |||||
| rb.setReceiveId(re.getId()); | |||||
| List<Long> billIdList = wxFinanceService.getReceiveBillIds(rb); | |||||
| List<WxAllBill> billList = null; | |||||
| if (null != billIdList && billIdList.size() > 0 ) { | |||||
| WxAllBill billq = new WxAllBill(); | |||||
| billq.updateTenantInfo(re); | |||||
| billq.setIds(billIdList); | |||||
| billList = wxAllBillService.list(billq); | |||||
| } | |||||
| if (null != items) { | if (null != items) { | ||||
| for (int j = 0 ; j < items.size() ; j ++) { | for (int j = 0 ; j < items.size() ; j ++) { | ||||
| JSONObject ov = items.getJSONObject(j); | JSONObject ov = items.getJSONObject(j); | ||||
| ov.put("value", printFinanceReceiveDataHandler.getObjectValue(ov.getString("name"),re,merchantMap,feesMap,shopNumber)); | |||||
| ov.put("value", printFinanceReceiveDataHandler.getObjectValue(ov.getString("name"),re,merchantMap,feesMap,shopNumber,billList)); | |||||
| } | } | ||||
| } | } | ||||
| vo.setTemplate(o); | vo.setTemplate(o); | ||||
| @@ -968,7 +968,11 @@ public class WxFinanceServiceImpl implements WxFinanceService { | |||||
| } | } | ||||
| } | } | ||||
| @Transactional(propagation = Propagation.REQUIRED, readOnly = false, rollbackFor = {Exception.class}) | |||||
| @Override | |||||
| public List<Long> getReceiveBillIds(WxFinanceReceiveBill record) { | |||||
| return wxFinanceReceiveBillMapper.findBillIdList(record); | |||||
| } | |||||
| @Override | @Override | ||||
| public void redSetoffReceive(WxFinanceReceive record, MallUserInfo user) { | public void redSetoffReceive(WxFinanceReceive record, MallUserInfo user) { | ||||
| invalidReceive(record, user , true); | invalidReceive(record, user , true); | ||||
| @@ -68,6 +68,12 @@ | |||||
| <include refid="dynamicWhereConditions"/> | <include refid="dynamicWhereConditions"/> | ||||
| </update> | </update> | ||||
| <select id="findBillIdList" parameterType="com.iformall.domain.po.WxFinanceReceiveBill" resultType="Long"> | |||||
| select distinct bill_id | |||||
| from wx_finance_receive_bill | |||||
| <include refid="dynamicWhereConditions"/> | |||||
| </select> | |||||
| </mapper> | </mapper> | ||||