| @@ -105,8 +105,8 @@ public class NeuPosAdminController extends BaseController { | |||||
| example.setOrgId(24); | example.setOrgId(24); | ||||
| PageInfo<Map> maplist = neuPosOrderService.queryShopPayOrderList(example,1,10000); | PageInfo<Map> maplist = neuPosOrderService.queryShopPayOrderList(example,1,10000); | ||||
| if (null != maplist && null != maplist.getList()) { | if (null != maplist && null != maplist.getList()) { | ||||
| neuPosOrderService.exportData(maplist.getList(),new String[] {"支付方式","消费金额","折扣金额","消费笔数","退款金额","退款笔数","实收金额"}, | |||||
| new String[] {"payTypeName","payAmount","discountAmount","payCount","refundAmount","refundCount","amount"},"pos交易汇总",new NeuPosSumDataBVo(), request, response); | |||||
| neuPosOrderService.exportData(maplist.getList(),new String[] {"商户","消费金额","折扣金额","消费笔数","退款金额","退款笔数","实收金额"}, | |||||
| new String[] {"shopName","payAmount","discountAmount","payCount","refundAmount","refundCount","amount"},"商户pos交易汇总",new NeuPosSumDataBVo(), request, response); | |||||
| } | } | ||||
| } | } | ||||
| @@ -14,9 +14,11 @@ public interface NeuPosOrderMasterExtMapper extends BaseMapper<NeuPosOrderMaster | |||||
| List<Map> queryShopPayTypeTradeList(NeuPosOrderMasterExt example); | List<Map> queryShopPayTypeTradeList(NeuPosOrderMasterExt example); | ||||
| List<Map> queryShopPayOrderList(NeuPosOrderMasterExt example); | |||||
| //List<Map> queryShopPayOrderList(NeuPosOrderMasterExt example); | |||||
| List<Map> queryShopPayOrderListV1(NeuPosOrderMasterExt example); | |||||
| List<Map> queryShopPayOrderSum(NeuPosOrderMasterExt example); | |||||
| //List<Map> queryShopPayOrderSum(NeuPosOrderMasterExt example); | |||||
| List<Map> queryShopPayOrderSumV1(NeuPosOrderMasterExt example); | |||||
| List<Map> selectShopList(@Param("orgId") Integer orgId); | List<Map> selectShopList(@Param("orgId") Integer orgId); | ||||
| @@ -36,26 +36,56 @@ public class NeuPosOrderServiceImpl implements NeuPosOrderService { | |||||
| return neuPosOrderMasterExtMapper.selectShopList(orgId); | return neuPosOrderMasterExtMapper.selectShopList(orgId); | ||||
| } | } | ||||
| // @Override | |||||
| // public PageInfo<Map> queryShopPayOrderList(NeuPosOrderMasterExt example,Integer pageIndex, Integer pageSize) { | |||||
| // List<String> orgPayType = neuPosOrderMasterExtMapper.selectOrgPayType(example.getOrgId()); | |||||
| // example.setPayTypeList(orgPayType); | |||||
| // PageInfo<Map> pageInfo = PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> neuPosOrderMasterExtMapper.queryShopPayOrderList(example)); | |||||
| // if (null == pageInfo || null == pageInfo.getList() || pageInfo.getList().size()<=0 ) { | |||||
| // return pageInfo; | |||||
| // } | |||||
| // List<Map> payOrderList = pageInfo.getList(); | |||||
| // List<Map> payTypeMap = neuPosOrderMasterExtMapper.selectPayTypeList(); | |||||
| // Map<Integer,String> typeMap = new HashMap<Integer,String>(); | |||||
| // for (Map payt:payTypeMap) { | |||||
| // String payttye = (String)payt.get("pay_type"); | |||||
| // typeMap.put(Integer.parseInt(payttye), (String)payt.get("name")); | |||||
| // } | |||||
| // | |||||
| // for (Map payOrder:payOrderList ) { | |||||
| // Integer payType = Integer.parseInt((String)payOrder.get("payType")); | |||||
| // if (null != payType && typeMap.containsKey(payType)) { | |||||
| // payOrder.put("payTypeName",typeMap.get(payType).toString()); | |||||
| //// map.put("payAmount",BigDecimal.valueOf(Double.valueOf(payOrder.get("payAmount").toString()))); | |||||
| //// map.put("payCount",Integer.parseInt(payOrder.get("payCount").toString())); | |||||
| //// map.put("refundAmount",BigDecimal.valueOf(Double.valueOf(payOrder.get("refundAmount").toString()))); | |||||
| //// map.put("refundCount",Integer.parseInt(payOrder.get("refundCount").toString())); | |||||
| //// map.put("amount",BigDecimal.valueOf(Double.valueOf(payOrder.get("amount").toString()))); | |||||
| //// map.put("discountAmount",BigDecimal.valueOf(Double.valueOf(payOrder.get("discountAmount").toString()))); | |||||
| // } | |||||
| // } | |||||
| // return pageInfo; | |||||
| // } | |||||
| @Override | @Override | ||||
| public PageInfo<Map> queryShopPayOrderList(NeuPosOrderMasterExt example,Integer pageIndex, Integer pageSize) { | public PageInfo<Map> queryShopPayOrderList(NeuPosOrderMasterExt example,Integer pageIndex, Integer pageSize) { | ||||
| List<String> orgPayType = neuPosOrderMasterExtMapper.selectOrgPayType(example.getOrgId()); | List<String> orgPayType = neuPosOrderMasterExtMapper.selectOrgPayType(example.getOrgId()); | ||||
| example.setPayTypeList(orgPayType); | example.setPayTypeList(orgPayType); | ||||
| PageInfo<Map> pageInfo = PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> neuPosOrderMasterExtMapper.queryShopPayOrderList(example)); | |||||
| PageInfo<Map> pageInfo = PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> neuPosOrderMasterExtMapper.queryShopPayOrderListV1(example)); | |||||
| if (null == pageInfo || null == pageInfo.getList() || pageInfo.getList().size()<=0 ) { | if (null == pageInfo || null == pageInfo.getList() || pageInfo.getList().size()<=0 ) { | ||||
| return pageInfo; | return pageInfo; | ||||
| } | } | ||||
| List<Map> payOrderList = pageInfo.getList(); | List<Map> payOrderList = pageInfo.getList(); | ||||
| List<Map> payTypeMap = neuPosOrderMasterExtMapper.selectPayTypeList(); | |||||
| Map<Integer,String> typeMap = new HashMap<Integer,String>(); | |||||
| for (Map payt:payTypeMap) { | |||||
| String payttye = (String)payt.get("pay_type"); | |||||
| typeMap.put(Integer.parseInt(payttye), (String)payt.get("name")); | |||||
| List<Map> shopMap = neuPosOrderMasterExtMapper.selectShopList(example.getOrgId()); | |||||
| Map<Integer,String> sMap = new HashMap<Integer,String>(); | |||||
| for (Map payt:shopMap) { | |||||
| Integer payttye = (Integer)payt.get("id"); | |||||
| sMap.put(payttye, (String)payt.get("name")); | |||||
| } | } | ||||
| for (Map payOrder:payOrderList ) { | for (Map payOrder:payOrderList ) { | ||||
| Integer payType = Integer.parseInt((String)payOrder.get("payType")); | |||||
| if (null != payType && typeMap.containsKey(payType)) { | |||||
| payOrder.put("payTypeName",typeMap.get(payType).toString()); | |||||
| Integer shopId = Integer.parseInt((String)payOrder.get("shopId")); | |||||
| if (null != shopId && sMap.containsKey(shopId)) { | |||||
| payOrder.put("shopName",sMap.get(shopId)); | |||||
| // map.put("payAmount",BigDecimal.valueOf(Double.valueOf(payOrder.get("payAmount").toString()))); | // map.put("payAmount",BigDecimal.valueOf(Double.valueOf(payOrder.get("payAmount").toString()))); | ||||
| // map.put("payCount",Integer.parseInt(payOrder.get("payCount").toString())); | // map.put("payCount",Integer.parseInt(payOrder.get("payCount").toString())); | ||||
| // map.put("refundAmount",BigDecimal.valueOf(Double.valueOf(payOrder.get("refundAmount").toString()))); | // map.put("refundAmount",BigDecimal.valueOf(Double.valueOf(payOrder.get("refundAmount").toString()))); | ||||
| @@ -66,10 +96,11 @@ public class NeuPosOrderServiceImpl implements NeuPosOrderService { | |||||
| } | } | ||||
| return pageInfo; | return pageInfo; | ||||
| } | } | ||||
| @Override | @Override | ||||
| public List<Map> queryShopPayOrderSum(NeuPosOrderMasterExt example) { | public List<Map> queryShopPayOrderSum(NeuPosOrderMasterExt example) { | ||||
| return neuPosOrderMasterExtMapper.queryShopPayOrderSum(example); | |||||
| //return neuPosOrderMasterExtMapper.queryShopPayOrderSum(example); | |||||
| return neuPosOrderMasterExtMapper.queryShopPayOrderSumV1(example); | |||||
| } | } | ||||
| @@ -30,7 +30,92 @@ | |||||
| where org_id = #{orgId} | where org_id = #{orgId} | ||||
| </select> | </select> | ||||
| <select id="queryShopPayOrderList" parameterType="com.iformall.domain.po.NeuPosOrderMasterExt" resultType="java.util.Map"> | |||||
| <sql id = "queryShopPayOrderListV1ByConditon" > | |||||
| SELECT | |||||
| paid.shop_id AS shopId, | |||||
| IFNULL( payAmount, 0 )AS payAmount, | |||||
| IFNULL( discountAmount, 0 )AS discountAmount, | |||||
| IFNULL( payCount, 0 )AS payCount, | |||||
| IFNULL( refundAmount, 0 )AS refundAmount, | |||||
| IFNULL( refundCount, 0 )AS refundCount, | |||||
| IFNULL( ( IFNULL(payAmount,0) - IFNULL(refundAmount,0) ), 0 ) AS amount | |||||
| FROM | |||||
| ( | |||||
| SELECT | |||||
| IFNULL( SUM( pay_order_v2.pay_amount ) / 100, 0 ) AS payAmount, | |||||
| COUNT( 0 ) AS payCount, | |||||
| 0 AS discountAmount, | |||||
| shop_id | |||||
| FROM | |||||
| order_master_v2 | |||||
| LEFT JOIN pay_order_v2 ON pay_order_v2.m_order_number = order_master_v2.order_number | |||||
| WHERE order_master_v2.order_type != '3' AND pay_order_v2.pay_type NOT IN ('29','30') | |||||
| <if test=" orgId != null"> | |||||
| AND order_master_v2.org_id = #{orgId} | |||||
| </if> | |||||
| <if test=" shopId != null"> | |||||
| AND order_master_v2.shop_id = #{shopId} | |||||
| </if> | |||||
| <if test=" createBegin != null"> | |||||
| AND pay_order_v2.created_at >= #{createBegin} | |||||
| </if> | |||||
| <if test=" createEnd != null"> | |||||
| AND pay_order_v2.created_at <= #{createEnd} | |||||
| </if> | |||||
| <if test=" null != payTypeList "> | |||||
| AND pay_order_v2.pay_type IN | |||||
| <foreach collection="payTypeList" index="index" item="payTypeItem" open="(" separator="," close=")"> | |||||
| #{payTypeItem} | |||||
| </foreach> | |||||
| </if> | |||||
| AND ( pay_order_v2.pay_status = 2 OR pay_order_v2.pay_status = 5 OR pay_order_v2.pay_status = 4 ) | |||||
| GROUP BY | |||||
| shop_id | |||||
| ) AS paid | |||||
| LEFT JOIN ( | |||||
| SELECT | |||||
| IFNULL( SUM( refunded_amount ) / 100, 0 ) refundAmount, | |||||
| COUNT( 0 ) refundCount, | |||||
| shop_id | |||||
| FROM | |||||
| order_master_v2 | |||||
| LEFT JOIN pay_refund_order_v2 ON pay_refund_order_v2.m_order_number = order_master_v2.order_number | |||||
| WHERE order_master_v2.order_type != '3' AND pay_refund_order_v2.pay_type NOT IN ('29','30') | |||||
| <if test=" orgId != null"> | |||||
| AND order_master_v2.org_id = #{orgId} | |||||
| </if> | |||||
| <if test=" shopId != null"> | |||||
| AND order_master_v2.shop_id = #{shopId} | |||||
| </if> | |||||
| <if test=" createBegin != null"> | |||||
| AND pay_refund_order_v2.created_at >= #{createBegin} | |||||
| </if> | |||||
| <if test=" createEnd != null"> | |||||
| AND pay_refund_order_v2.created_at <= #{createEnd} | |||||
| </if> | |||||
| <if test=" null != payTypeList "> | |||||
| AND pay_refund_order_v2.pay_type IN | |||||
| <foreach collection="payTypeList" index="index" item="payTypeItem" open="(" separator="," close=")"> | |||||
| #{payTypeItem} | |||||
| </foreach> | |||||
| </if> | |||||
| AND pay_refund_order_v2.refund_status = 2 | |||||
| GROUP BY | |||||
| shop_id | |||||
| ) AS refund | |||||
| ON refund.shop_id = paid.shop_id | |||||
| </sql> | |||||
| <select id="queryShopPayOrderListV1" parameterType="com.iformall.domain.po.NeuPosOrderMasterExt" resultType="java.util.Map"> | |||||
| <include refid="queryShopPayOrderListV1ByConditon"/> | |||||
| </select> | |||||
| <select id="queryShopPayOrderSumV1" parameterType="com.iformall.domain.po.NeuPosOrderMasterExt" resultType="java.util.Map"> | |||||
| select sum(_temp.payAmount) as payAmount, sum(_temp.payCount) as payCount,sum(_temp.refundAmount) as refundAmount, | |||||
| sum(_temp.refundCount) as refundCount | |||||
| from ( <include refid="queryShopPayOrderListV1ByConditon"/> ) as _temp | |||||
| </select> | |||||
| <!-- <select id="queryShopPayOrderList" parameterType="com.iformall.domain.po.NeuPosOrderMasterExt" resultType="java.util.Map"> | |||||
| SELECT | SELECT | ||||
| pay_type_dict_v2.pay_type AS payType, | pay_type_dict_v2.pay_type AS payType, | ||||
| ifnull( payAmount, 0 )AS payAmount, | ifnull( payAmount, 0 )AS payAmount, | ||||
| @@ -111,9 +196,9 @@ | |||||
| #{payTypeItem} | #{payTypeItem} | ||||
| </foreach> | </foreach> | ||||
| </if> | </if> | ||||
| </select> | |||||
| </select> --> | |||||
| <select id="queryShopPayOrderSum" parameterType="com.iformall.domain.po.NeuPosOrderMasterExt" resultType="java.util.Map"> | |||||
| <!-- <select id="queryShopPayOrderSum" parameterType="com.iformall.domain.po.NeuPosOrderMasterExt" resultType="java.util.Map"> | |||||
| select sum(_temp.payAmount) as payAmount, sum(_temp.payCount) as payCount,sum(_temp.refundAmount) as refundAmount, | select sum(_temp.payAmount) as payAmount, sum(_temp.payCount) as payCount,sum(_temp.refundAmount) as refundAmount, | ||||
| sum(_temp.refundCount) as refundCount | sum(_temp.refundCount) as refundCount | ||||
| from | from | ||||
| @@ -199,7 +284,7 @@ SELECT | |||||
| </foreach> | </foreach> | ||||
| </if> | </if> | ||||
| ) as _temp | ) as _temp | ||||
| </select> | |||||
| </select> --> | |||||
| <select id="selectShopList" parameterType="Integer" resultType="java.util.Map"> | <select id="selectShopList" parameterType="Integer" resultType="java.util.Map"> | ||||
| select id,name from `shop` where status = 1 | select id,name from `shop` where status = 1 | ||||