jk-GitHub-coder 4 rokov pred
rodič
commit
8eb2e1a3a9

+ 37 - 22
YijiaRestful/src/main/java/com/platform/yijia/controller/PayOrderController.java

@@ -42,6 +42,8 @@ public class PayOrderController {
     private SysDictDataService sysDictDataService;
     @Resource
     private LabelService labelService;
+    @Resource
+    private StationOilGunService stationOilGunService;
 
     //小程序支付生成订单
     @RequestMapping(value = "/AddPayOrderInfoNew", consumes = "application/json", method = RequestMethod.POST)
@@ -54,7 +56,7 @@ public class PayOrderController {
         AppUserInfo appUserInfo =new AppUserInfo();     //查询客户信息传递参数
         PayOrder payOrder = new PayOrder();             //生成订单参数
         if(StringUtils.isNotBlank(payOrderRequest.getUserType()) && StringUtils.isNotBlank(payOrderRequest.getOpenId()) && StringUtils.isNotBlank(payOrderRequest.getOilName()) &&
-                StringUtils.isNotBlank(payOrderRequest.getOilGun()) && payOrderRequest.getReceivableAmt() !=null){
+                StringUtils.isNotBlank(payOrderRequest.getOilGun()) && payOrderRequest.getReceivableAmt() !=null ){
             appUserInfo.setUserType(payOrderRequest.getUserType());
             switch (payOrderRequest.getUserType()){
                 case "1":       //小程序
@@ -75,7 +77,7 @@ public class PayOrderController {
                 resultMap.put("stationName", stationInfos.getStationName());
                 appUserInfo.setStationId(stationInfos.getGroupId());
                 AppUserInfo appUserInfos = appUserInfoService.getAppUserInfo(appUserInfo);
-                if(appUserInfos !=null){
+                if(appUserInfos !=null) {
                     //payOrderRequest存放参数原因:用于其他方法形参
                     payOrderRequest.setCardEnabledFlagGroup(stationInfos.getCardEnabledFlagGroup());        //集团是否开启电子卡
                     payOrderRequest.setCardRuleFlagGroup(stationInfos.getCardRuleFlagGroup());              //集团是否共享
@@ -92,11 +94,11 @@ public class PayOrderController {
                     payOrder.setConsumer(appUserInfos.getBlogNickName());             //昵称
                     payOrder.setConsumerId(appUserInfos.getUserId());                 //用户id
                     Random random = new Random();
-                    String result="";
-                    for(int i=0;i<6;i++){
-                        result+=random.nextInt(10);
+                    String result = "";
+                    for (int i = 0; i < 6; i++) {
+                        result += random.nextInt(10);
                     }
-                    String ordNo=System.nanoTime()+result;
+                    String ordNo = System.nanoTime() + result;
                     payOrder.setOrderNo(ordNo);                                             //订单号
                     logger.info("生成的订单号:" + ordNo);
                     payOrder.setDiscountCouponAmt(payOrderRequest.getDiscountCouponAmt());  //优惠劵金额
@@ -112,7 +114,7 @@ public class PayOrderController {
                     payOrder.setOrderType(payOrderRequest.getOrderType());  //订单类型
                     payOrder.setOilGun(payOrderRequest.getOilGun());        //油枪号
                     payOrder.setReceivableAmt(Double.valueOf(payOrderRequest.getReceivableAmt()));                //订单应收金额
-                    String oilName =payOrderRequest.getOilName();
+                    String oilName = payOrderRequest.getOilName();
                     //获取该油品所属哪一类
                     Oil oil = new Oil();
                     oil.setOilName(oilName);
@@ -123,24 +125,37 @@ public class PayOrderController {
                     logger.info("订单油品类型:" + oilsType);
                     payOrderRequest.setCardOilsType(oilInfo.getOilsType());                 //电子卡类型;注:用于获取客户电子卡参数查询
                     payOrder.setOilName(oilName);                   //油品名称
+
                     //根据油站和油枪获取加油员
-                    HashMap<String, Object> params = new HashMap<>();
-                    params.put("oliGunNo", payOrderRequest.getOilGun());
-                    params.put("stationId", payOrderRequest.getStationId());
-                    List<Map> mapResultList = payOrderMapper.selectPersonelName(params);    //使用list原因:一个枪号对应多个加油员场景
-                    logger.info("加油员信息:"+ mapResultList.toString());
-                    if(mapResultList != null && mapResultList.size() > 0){
-                        String oilPersonnel = "";
-                        for (Map per : mapResultList){
-                            if(per.containsKey("personelName") && per.get("personelName").toString() !=null && per.get("personelName").toString() !=""){
-                                oilPersonnel += per.get("personelName").toString() +",";
-                            }
+                    if (payOrderRequest.getPersonnelId() != null) {
+                        Map<String, Object> params = new HashMap<>();
+                        params.put("personnelId", payOrderRequest.getPersonnelId());
+                        List<Map<String, Object>> list = stationOilGunService.selectOilGunByPersonalId(params);
+                        if (list != null && list.size() > 0) {
+                            payOrder.setOilPersonnel(list.get(0).get("personnelName").toString());
+                        } else {
+                            payOrder.setOilPersonnel("--");
                         }
-                        if(oilPersonnel !=""){
-                            payOrder.setOilPersonnel(oilPersonnel.substring(0, oilPersonnel.length()-1));   //加油员
+                    } else {
+                        //根据油站和油枪获取加油员
+                        HashMap<String, Object> params = new HashMap<>();
+                        params.put("oliGunNo", payOrderRequest.getOilGun());
+                        params.put("stationId", payOrderRequest.getStationId());
+                        List<Map> mapResultList = payOrderMapper.selectPersonelName(params);    //使用list原因:一个枪号对应多个加油员场景
+                        logger.info("加油员信息:"+ mapResultList.toString());
+                        if(mapResultList != null && mapResultList.size() > 0){
+                            String oilPersonnel = "";
+                            for (Map per : mapResultList){
+                                if(per.containsKey("personnelName") && per.get("personnelName").toString() !=null && per.get("personnelName").toString() !=""){
+                                    oilPersonnel += per.get("personnelName").toString() +",";
+                                }
+                            }
+                            if(oilPersonnel !=""){
+                                payOrder.setOilPersonnel(oilPersonnel.substring(0, oilPersonnel.length()-1));   //加油员
+                            }
+                        }else {
+                            payOrder.setOilPersonnel("--");
                         }
-                    }else {
-                        payOrder.setOilPersonnel("--");
                     }
                     if(oilsType.equals("3")){                                                  //订单类型是油品时计算
                         payOrder.setOrderType("2");

+ 4 - 4
YijiaRestful/src/main/java/com/platform/yijia/controller/PosMachineController.java

@@ -683,8 +683,8 @@ public class PosMachineController {
             if(stationclass.getOrderLiters()!=null){
                 stationClassesSummary.setSaleLiters(stationclass.getOrderLiters());
             }
-            if(stationclass.getAmt()!=null){
-                stationClassesSummary.setSaleAmt(stationclass.getAmt());
+            if(stationclass.getReceivableAmt()!=null){
+                stationClassesSummary.setSaleAmt(stationclass.getReceivableAmt());
             }
             if(stationclass.getDzkAmt()!=null){
                 stationClassesSummary.setDzkAmt(stationclass.getDzkAmt());
@@ -917,8 +917,8 @@ public class PosMachineController {
                 if(stationclass.getOrderLiters()!=null){
                     stationClassesSummary.setSaleLiters(stationclass.getOrderLiters());
                 }
-                if(stationclass.getAmt()!=null){
-                    stationClassesSummary.setSaleAmt(stationclass.getAmt());
+                if(stationclass.getReceivableAmt()!=null){
+                    stationClassesSummary.setSaleAmt(stationclass.getReceivableAmt());
                 }
                 if(stationclass.getDzkAmt()!=null){
                     stationClassesSummary.setDzkAmt(stationclass.getDzkAmt());

+ 70 - 27
YijiaRestful/src/main/java/com/platform/yijia/controller/StationController.java

@@ -1,7 +1,9 @@
 package com.platform.yijia.controller;
 import com.alibaba.fastjson.JSONObject;
 import com.google.gson.Gson;
+import com.google.gson.GsonBuilder;
 import com.platform.yijia.config.YiJiaRequest;
+import com.platform.yijia.dao.PayOrderMapper;
 import com.platform.yijia.param.request.StationRequest;
 import com.platform.yijia.param.response.StationInfoVo;
 import com.platform.yijia.pojo.*;
@@ -39,6 +41,8 @@ public class StationController {
     private StationOilGunService stationOilGunService;
     @Resource
     private AppUserInfoService appUserInfoService;
+    @Resource
+    private PayOrderMapper payOrderMapper;
 
 
     //获取油站列表
@@ -368,36 +372,75 @@ public class StationController {
     }
 
     /**
+     * 根据加油员ID获取油枪
+     * @param personnelId
+     * @return
+     */
+    @RequestMapping(value = "/selectOilGunByPersonalId", method = RequestMethod.GET)
+    @ResponseBody
+    public String selectOilGunByPersonalId(@RequestParam String personnelId){
+        Gson gson=new Gson();
+        ResultData resultData=null;
+        try{
+            Map<String, Object> params = new HashMap<>();
+            params.put("personnelId", personnelId);
+            List<Map<String, Object>> list = stationOilGunService.selectOilGunByPersonalId(params);
+            resultData=ResultData.success(list);
+        }catch (Exception e){
+            resultData=ResultData.success(CodeMsg.SEARCH_FAIL);
+            e.printStackTrace();
+        }
+        return gson.toJson(resultData);
+    }
+
+
+    /**
+     * 获取油站加油员信息
+     * @param stationId
+     * @return
+     */
+    @RequestMapping(value = "/selectPersonnelName", method = RequestMethod.GET)
+    @ResponseBody
+    public String selectPersonnelName(@RequestParam Integer stationId){
+        Gson gson=new Gson();
+        ResultData resultData=null;
+        try{
+            HashMap<String, Object> params = new HashMap<>();
+            params.put("stationId", stationId);
+            List<Map> mapResultList = payOrderMapper.selectPersonelName(params);    //使用list原因:一个枪号对应多个加油员场景
+            resultData=ResultData.success(mapResultList);
+        }catch (Exception e){
+            resultData=ResultData.success(CodeMsg.SEARCH_FAIL);
+            e.printStackTrace();
+        }
+        return gson.toJson(resultData);
+    }
+
+
+    /**
      * 油枪管理
      */
     @RequestMapping(value = "/stationOilGunList", method = RequestMethod.GET)
     @ResponseBody
-   // public void stationOilGunList(@RequestParam StationRequest request,HttpServletResponse response){
-//    public String stationOilGunList(@RequestParam String userType,String token,Integer stationId){
-      public String stationOilGunList(@RequestParam Integer stationId){
-        Gson gson =new Gson();
-        StationOilGun stationOilGun =new StationOilGun();
-        //查询登录人是否存在
-//        AppUserInfo appUserInfo =new AppUserInfo();
-        //订单类型 是小程序还是公众号
-//        appUserInfo.setUserType(userType);
-//        if(userType.equals("1")){
-//            //1 是公众号
-//            appUserInfo.setBlogToken(token);
-//        }else if(userType.equals("2")){
-//            //2是小程序
-//            appUserInfo.setMinaToken(token);
-//        }
-//        List<AppUserInfo> appUserInfoList =appUserInfoService.Authentication(appUserInfo);
-//        if(appUserInfoList!=null&&appUserInfoList.size()>0){
-            //获取油站id根据油站号查询油站对应的所有油枪信息
-            stationOilGun.setStationId(stationId);
-            List<StationOilGun> stationOilGunList = stationOilGunService.stationOilGunList(stationOilGun);
-            ResultData resultData=ResultData.success(stationOilGunList);
-            return gson.toJson(resultData);
-//        }else {
-//            ResultData resultData=ResultData.error(CodeMsg.USER_NOT_EXSIST);
-//            return gson.toJson(resultData);
-//        }
+    public String stationOilGunList(@RequestParam Integer stationId, String personnelId){
+        Gson gson =new GsonBuilder().setDateFormat("yyyy-MM-dd HH:mm:ss").create();
+        ResultData resultData = null;
+        try {
+            if(personnelId !=null && personnelId !=""){
+                Map<String, Object> params = new HashMap<>();
+                params.put("personnelId", personnelId);
+                List<Map<String, Object>> list = stationOilGunService.selectOilGunByPersonalId(params);
+                resultData=ResultData.success(list);
+            }else {
+                StationOilGun stationOilGun =new StationOilGun();
+                stationOilGun.setStationId(stationId);
+                List<StationOilGun> stationOilGunList = stationOilGunService.stationOilGunList(stationOilGun);
+                resultData=ResultData.success(stationOilGunList);
+            }
+        }catch (Exception e){
+            resultData=ResultData.success(CodeMsg.SEARCH_FAIL);
+            e.printStackTrace();
+        }
+        return gson.toJson(resultData);
     }
 }

+ 3 - 0
YijiaRestful/src/main/java/com/platform/yijia/dao/StationOilGunMapper.java

@@ -104,4 +104,7 @@ public interface StationOilGunMapper {
     //根据油站Id油枪号获取打印机编号
     List<Map<String, Object>> getPrinterSnByStationIdAndOilGunNoList(Map<String, Object> params);
 
+    //根据加油员获取油枪列表信息
+    List<Map<String, Object>> selectOilGunByPersonalId(Map<String, Object> params);
+
 }

+ 3 - 0
YijiaRestful/src/main/java/com/platform/yijia/param/request/PayOrderRequest.java

@@ -58,6 +58,9 @@ public class PayOrderRequest {
     //一码一标签时所需参数:如果有则走标签优惠,没有则走正常优惠
     private String labelId;
 
+    //加油员ID
+    private Integer personnelId;    //加油员ID
+
 
 
 }

+ 19 - 0
YijiaRestful/src/main/java/com/platform/yijia/pojo/StationOilGun.java

@@ -78,6 +78,25 @@ public class StationOilGun {
 
     private String oilGunType;
 
+    private Integer personnelId;
+    private String personnelName;
+
+    public Integer getPersonnelId() {
+        return personnelId;
+    }
+
+    public void setPersonnelId(Integer personnelId) {
+        this.personnelId = personnelId;
+    }
+
+    public String getPersonnelName() {
+        return personnelName;
+    }
+
+    public void setPersonnelName(String personnelName) {
+        this.personnelName = personnelName;
+    }
+
     public String getOilGunType() {
         return oilGunType;
     }

+ 3 - 0
YijiaRestful/src/main/java/com/platform/yijia/service/StationOilGunService.java

@@ -15,4 +15,7 @@ public interface StationOilGunService {
     //根据油站Id油枪号获取打印机编号
     List<Map<String, Object>> getPrinterSnByStationIdAndOilGunNoList(Map<String, Object> params);
 
+    //根据加油员获取油枪列表信息
+    List<Map<String, Object>> selectOilGunByPersonalId(Map<String, Object> params);
+
 }

+ 6 - 0
YijiaRestful/src/main/java/com/platform/yijia/service/impl/StationOilGunServiceImpl.java

@@ -15,6 +15,12 @@ public class StationOilGunServiceImpl implements StationOilGunService {
     @Resource
     private StationOilGunMapper stationOilGunMapper;
 
+    //根据加油员获取油枪列表信息
+    @Override
+    public List<Map<String, Object>> selectOilGunByPersonalId(Map<String, Object> params) {
+        return stationOilGunMapper.selectOilGunByPersonalId(params);
+    }
+
     //根据油站Id油枪号获取打印机编号
     @Override
     public List<Map<String, Object>> getPrinterSnByStationIdAndOilGunNoList(Map<String, Object> params) {

+ 1 - 1
YijiaRestful/src/main/resources/mapper/PayOrderMapper.xml

@@ -438,7 +438,7 @@
   <select id="selectPersonelName" parameterType="map" resultType="map">
     SELECT
         A.personnel_id      AS personnelId,
-        A.personnel_name    AS personelName
+        A.personnel_name    AS personnelName
     FROM
         station_personnel AS A
     <where>

+ 1 - 0
YijiaRestful/src/main/resources/mapper/StationClassStructureMapper.xml

@@ -255,6 +255,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             count(order_no) as num,
             sum(order_liters) as order_liters,
             sum(amt) as amt,
+            sum(receivable_amt)   AS receivable_amt,
             sum(wx_amt) as wx_amt,
             sum(zfb_amt) as zfb_amt,
             sum(pos_amt) as pos_amt,

+ 20 - 0
YijiaRestful/src/main/resources/mapper/StationOilGunMapper.xml

@@ -295,6 +295,26 @@
 
   </select>
 
+  <!--根据加油员id查询油枪-->
+  <select id="selectOilGunByPersonalId" parameterType="map" resultType="map">
+        SELECT
+            T1.personnel_id             AS personnelId,
+            T1.personnel_name           AS personnelName,
+            T2.station_id               AS stationId,
+            T2.oil_gun_id               AS oilGunId,
+            T2.oil_gun_no               AS oilGunNo,
+            T2.oil_name                 AS oilName,
+            T2.oil_price                AS oilPrice,
+            T2.date                     AS date
+        FROM        station_personnel    AS T1
+        LEFT JOIN   station_oil_gun      AS T2 ON FIND_IN_SET(T2.oil_gun_no, T1.gun_no) AND T1.station_id = T2.station_id
+        <where>
+          <if test="personnelId != null and personnelId !=''">
+            personnel_id = #{personnelId}
+          </if>
+        </where>
+  </select>
+
   <!--根据油站Id油枪号获取打印机编号 -->
   <select id="getPrinterSnByStationIdAndOilGunNoList" parameterType="map" resultType="map">
     SELECT