| @@ -105,8 +105,8 @@ public class NeuPosAdminController extends BaseController { | |||
| example.setOrgId(24); | |||
| PageInfo<Map> maplist = neuPosOrderService.queryShopPayOrderList(example,1,10000); | |||
| 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> 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); | |||
| @@ -36,26 +36,56 @@ public class NeuPosOrderServiceImpl implements NeuPosOrderService { | |||
| 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 | |||
| 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)); | |||
| PageInfo<Map> pageInfo = PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> neuPosOrderMasterExtMapper.queryShopPayOrderListV1(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")); | |||
| 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 ) { | |||
| 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("payCount",Integer.parseInt(payOrder.get("payCount").toString())); | |||
| // map.put("refundAmount",BigDecimal.valueOf(Double.valueOf(payOrder.get("refundAmount").toString()))); | |||
| @@ -66,10 +96,11 @@ public class NeuPosOrderServiceImpl implements NeuPosOrderService { | |||
| } | |||
| return pageInfo; | |||
| } | |||
| @Override | |||
| 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} | |||
| </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 | |||
| pay_type_dict_v2.pay_type AS payType, | |||
| ifnull( payAmount, 0 )AS payAmount, | |||
| @@ -111,9 +196,9 @@ | |||
| #{payTypeItem} | |||
| </foreach> | |||
| </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, | |||
| sum(_temp.refundCount) as refundCount | |||
| from | |||
| @@ -199,7 +284,7 @@ SELECT | |||
| </foreach> | |||
| </if> | |||
| ) as _temp | |||
| </select> | |||
| </select> --> | |||
| <select id="selectShopList" parameterType="Integer" resultType="java.util.Map"> | |||
| select id,name from `shop` where status = 1 | |||