Ver Fonte

Merge remote-tracking branch 'origin/master'

maoyunfeng há 5 anos atrás
pai
commit
27526b92b9

+ 94 - 0
admin-ui/app/whepi/scan/addDoor.js

@@ -0,0 +1,94 @@
+define(function (require) {
+    return function (context) {
+
+        var $dlg, $form, isEdit = false;
+
+        var widgets = {
+            // 小区搜索
+            selectUptownWidget: {
+                url: '/app/whepi/scan/uptownWidget.js',
+                bind: {
+                    uptownId: 'uptownId',
+                    uptownName: 'uptownName'
+                }
+            },
+        };
+
+        return {
+            xtype: 'dialog',
+            dialogId: 'dialogEnvLog',
+            title: context.isEdit ? '编辑大门基本信息' : '新增大门基本信息',
+            width: 450,
+            height: 300,
+            onOpen: function () {
+                $dlg = $(this);
+                if (context.isEdit) {
+                    $.yvan.ajax({
+                        loadingMask: false,
+                        url: api('/qrImg/getDoorById'),
+                        type: 'GET',
+                        data: {doorId: context.doorId},
+                        success: function (data) {
+                            $dlg.find('form');
+                            $form.formSet(data.data);
+                        }
+                    });
+                }
+            },
+            center: {
+                items: {
+                    width: 450,
+                    height: 756,
+                    autoSizeColumns: true,
+                    xtype: 'formgroup',
+                    onRender: function () {
+                        $form = $(this);
+                    },
+                    items: [
+                        [
+                            {name: 'doorId', xtype: 'hidden'},
+                            {label: '小区ID', name: 'uptownId', xtype: 'hidden', widget: widgets.selectUptownWidget},
+                            {
+                                name: 'uptownName',
+                                label: '小区名称',
+                                xtype: 'searchbox',
+                                maxlength: 60,
+                                width: 350,
+                                required: true,
+                                widget: widgets.selectUptownWidget
+                            },
+                            {
+                                name: 'doorName',
+                                label: '大门名称',
+                                required: true,
+                                maxlength: 60,
+                                width: 350,
+                            },]
+                    ],
+                }
+            },
+            buttons: [
+                {
+                    text: "保存", iconCls: "fa fa-save", onClick: function () {
+                        $.yvan.postForm($form, {
+                            url: (context.isEdit ? api('/qrImg/updateDoor') : api('/qrImg/insertDoor')),
+                            success: function (data) {
+                                if (data.data == 1) {
+                                    $.yvan.msg('保存成功');
+                                    $dlg.window('close');
+                                    if ($.type(context.confirm) === 'function') {
+                                        context.confirm();
+                                    }
+                                }
+                            }
+                        });
+                    }
+                }, {
+                    text: "关闭", iconCls: "fa fa-times", onClick: function () {
+                        $dlg.dialog('close');
+                    }
+                }
+            ]
+        };
+    };
+});

+ 37 - 1
admin-ui/app/whepi/scan/qrImg.js

@@ -46,7 +46,7 @@ define(function (require) {
             }
 
             // 搜索按钮
-            var queryToolbarTitle = '团购信息管理';// 自行替换此参数
+            var queryToolbarTitle = '进出门二维码';// 自行替换此参数
             var queryToolbar = {
                 xtype: 'toolbar', title: queryToolbarTitle, items: [
                     {
@@ -103,6 +103,42 @@ define(function (require) {
                                 queryGrid1()
                             },
                             xtype: 'grid',
+                            toolbar: {
+                                xtype: 'toolbar',
+                                title: '小区大门详情',
+                                items: [
+                                    // {
+                                    //     text: '添加大门', iconCls: 'fa fa-plus-circle fa-lg', onClick: function () {
+                                    //         $.yvan.showDialog(this,
+                                    //             require('/app/whepi/scan/addDoor.js')({
+                                    //                 isEdit: false,
+                                    //                 confirm: function () {
+                                    //                     queryGrid1();
+                                    //                 }
+                                    //             })
+                                    //         );
+                                    //     }
+                                    // },
+                                    // {
+                                    //     text: '编辑大门', iconCls: 'fa fa fa-pencil-square-o fa-lg', onClick: function () {
+                                    //         var row = $grid1.rowData();
+                                    //         if (!row) {
+                                    //             $.yvan.msg('请先选择一行数据');
+                                    //             return;
+                                    //         }
+                                    //         $.yvan.showDialog(this,
+                                    //             require('/app/whepi/scan/addDoor.js')({
+                                    //                 confirm: function () {
+                                    //                     queryGrid1();
+                                    //                 },
+                                    //                 isEdit: true,
+                                    //                 doorId: row.doorId
+                                    //             })
+                                    //         );
+                                    //     }
+                                    // }
+                                ]
+                            },
                             idField: 'doorId',
                             autoSizeColumns: true,
                             columns:

+ 22 - 0
admin-ui/app/whepi/scan/uptownWidget.js

@@ -0,0 +1,22 @@
+define(function (require) {
+    return function (context) {
+
+        return {
+            xtype: 'widget',
+            title: '人员信息搜索',
+            width: 600,
+            height: 600,
+            grid: {
+                url: api('/qrImg/getUptown'),
+                mtype: 'POST',
+                queryParams: {query: context.query, status: 1},
+                idField: 'uptownId',
+                columns: [[
+                    {title: '小区ID', field: 'uptownId', hidden: true},
+                    {title: '小区名称', field: 'uptownName'},
+                    {title: '更新时间', field: 'timeUpdate', formatter: 'ts'}
+                ]]
+            }
+        };
+    };
+});

+ 4 - 0
whepi-web/src/main/java/com/bofeng/dao/UptownDoorMapper.java

@@ -29,4 +29,8 @@ public interface UptownDoorMapper extends BaseMapper<UptownDoor> {
      */
     Integer updateDoorQc(@Param("qcName") String qcName, @Param("img") String img, @Param("doorId") Long doorId);
 
+
+    @Select("select * from sys_uptown_door where door_name = #{doorName} and uptown_id = #{uptownId}")
+    List<UptownDoor> getUptownDoor(@Param("doorName") String doorName, @Param("uptownId") Long uptownId);
+
 }

+ 9 - 9
whepi-web/src/main/java/com/bofeng/excel/ExcelUtils.java

@@ -244,15 +244,15 @@ public class ExcelUtils {
     /**
      * 从当前请求中获取分页方法和内容
      */
-    public static PageDb parsePagination() {
-        HttpServletRequest request = currentRequest();
-        HttpParameterParser parser = HttpParameterParser.newInstance(request);
-        int page = parser.getIntValue("page", 1);
-        int start = parser.getIntValue("start", 0);
-        int limit = parser.getIntValue("limit", 10);
-
-        return new PageDb(page, limit);
-    }
+//    public static PageDb parsePagination() {
+//        HttpServletRequest request = currentRequest();
+//        HttpParameterParser parser = HttpParameterParser.newInstance(request);
+//        int page = parser.getIntValue("page", 1);
+//        int start = parser.getIntValue("start", 0);
+//        int limit = parser.getIntValue("limit", 10);
+//
+//        return new PageDb(page, limit);
+//    }
 
 
     /**

+ 38 - 0
whepi-web/src/main/java/com/bofeng/service/ScanAdminService.java

@@ -0,0 +1,38 @@
+package com.bofeng.service;
+
+import com.baomidou.mybatisplus.toolkit.IdWorker;
+import com.bofeng.dao.OutScanConfMapper;
+import com.bofeng.dao.UptownDoorMapper;
+import com.bofeng.entity.OutScanConf;
+import com.bofeng.entity.UptownDoor;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Propagation;
+import org.springframework.transaction.annotation.Transactional;
+
+@Service
+@Transactional(readOnly = true)
+public class ScanAdminService {
+
+    @Autowired
+    private UptownDoorMapper uptownDoorMapper;
+    @Autowired
+    private OutScanConfMapper outScanConfMapper;
+
+    @Transactional(rollbackFor = Exception.class, propagation = Propagation.REQUIRED)
+    public Integer saveUptownDoor(UptownDoor uptownDoor) {
+        uptownDoor.setDoorId(IdWorker.getId());
+        uptownDoor.setInImg("");
+        uptownDoor.setOutImg("");
+        uptownDoor.setStatus(1);
+        OutScanConf outScanConf = outScanConfMapper.getOutScanConfByUptown(uptownDoor.getUptownId());
+        if (outScanConf == null) {
+            OutScanConf scanConf = new OutScanConf();
+            scanConf.setScId(IdWorker.getId());
+            scanConf.setUptownId(uptownDoor.getUptownId());
+            scanConf.setGoOutFre(3);
+            outScanConfMapper.insert(scanConf);
+        }
+        return uptownDoorMapper.insert(uptownDoor);
+    }
+}

+ 36 - 3
whepi-web/src/main/java/com/bofeng/wx/controller/ScanAdminController.java

@@ -1,10 +1,16 @@
 package com.bofeng.wx.controller;
 
 import cn.afterturn.easypoi.cache.manager.IFileLoader;
+import com.baomidou.mybatisplus.toolkit.IdWorker;
+import com.bofeng.dao.OutScanConfMapper;
 import com.bofeng.dao.UptownDoorMapper;
+import com.bofeng.dao.UptownMapper;
+import com.bofeng.entity.OutScanConf;
 import com.bofeng.entity.SysUptownHouse;
+import com.bofeng.entity.Uptown;
 import com.bofeng.entity.UptownDoor;
 import com.bofeng.excel.ExcelUtils;
+import com.bofeng.service.ScanAdminService;
 import com.bofeng.service.SweepCodeService;
 import com.bofeng.unit.QRCode;
 import com.google.zxing.BarcodeFormat;
@@ -15,6 +21,7 @@ import com.google.zxing.client.j2se.MatrixToImageWriter;
 import com.google.zxing.common.BitMatrix;
 import com.yvan.Model;
 import com.yvan.PageDb;
+import com.yvan.mvc.JsonBody;
 import com.yvan.mvc.Pd;
 import com.yvan.springmvc.HttpParameterParser;
 import io.swagger.annotations.Api;
@@ -45,6 +52,10 @@ public class ScanAdminController {
     private SweepCodeService sweepCodeService;
     @Autowired
     private UptownDoorMapper uptownDoorMapper;
+    @Autowired
+    private UptownMapper uptownMapper;
+    @Autowired
+    private ScanAdminService scanAdminService;
 
     @ApiOperation("出入查询")
     @PostMapping("/whepi/sweepCode/selectCode")
@@ -81,6 +92,28 @@ public class ScanAdminController {
         return Model.newSuccess(pagination, list);
     }
 
+    @ApiOperation("获取小区大门详细")
+    @GetMapping("/whepi/qrImg/getDoorById")
+    public Model<UptownDoor> getDoorById(HttpParameterParser parser,  @Pd(name = "doorId") Long doorId) {
+        return Model.newSuccess(uptownDoorMapper.getUptownDoorById(doorId));
+    }
+
+    @ApiOperation("保存小区大门信息")
+    @PostMapping("/whepi/qrImg/insertDoor")
+    public Model insert(@JsonBody UptownDoor uptownDoor) {
+        List<UptownDoor> list = uptownDoorMapper.getUptownDoor(uptownDoor.getDoorName(), uptownDoor.getUptownId());
+        if (list.size() > 0) {
+            return Model.newFail("当前小区已经添加该门");
+        }
+        return Model.newSuccess(scanAdminService.saveUptownDoor(uptownDoor));
+    }
+
+    @ApiOperation("获取小区大门详细")
+    @PostMapping("/whepi/qrImg/getUptown")
+    public Model<List<Uptown>> getUptown(HttpParameterParser parser, PageDb pagination) {
+        return Model.newSuccess(pagination, uptownMapper.getUptowns(pagination, parser.getMap()));
+    }
+
     // 获取code
     private static final String oauth2 = "https://open.weixin.qq.com/connect/oauth2/authorize?appid=";
     private static final String moreUrl = "&response_type=code&scope=snsapi_userinfo&state=STATE#wechat_redirect";
@@ -119,7 +152,7 @@ public class ScanAdminController {
     @GetMapping(value = "/whepi/scan/scanEstate_qr")
     public String scanEstateQrImg(HttpServletResponse response) throws IOException, WriterException {
         String url = oauth2 + appId + "&redirect_uri=" + URLEncoder.encode( domain() + "user/scanEstate.html","utf-8") + moreUrl;
-        String file = QRCode.createBase64Img(url, "家园互助平台", "巡检扫码");
+        String file = QRCode.createBase64Img(url, "家园互助平台", "校园巡检二维码");
         return file;
     }
 
@@ -133,9 +166,9 @@ public class ScanAdminController {
 
     public String getName(Integer inType) {
         if (inType == 1) {
-            return "入";
+            return "入";
         } else if (inType == 2) {
-            return "出";
+            return "出";
         }
         return null;
     }

+ 1 - 1
whepi-web/src/main/resources/mapper/UptownDoorMapper.xml

@@ -12,7 +12,7 @@
                 and u.uptown_name like concat('%',#{queryProperties},'%')
             </if>
         </where>
-        order by ud.time_update desc
+        order by ud.time_create desc
     </select>
 
     <update id="updateDoorQc">

+ 8 - 6
yvan-platform/src/main/java/com/yvan/mvc/PageDbResolver.java

@@ -22,13 +22,15 @@ public class PageDbResolver implements HandlerMethodArgumentResolver {
         //offset=20 limit=10 page=3 rows=10
         //offset=60 limit=10 page=7 rows=10
 
-        Object arg = webRequest.getParameter("offset");
-        if (arg == null) {
-            return new PageDb(false);
-        }
+//        Object arg = webRequest.getParameter("offset");
+//        if (arg == null) {
+//            return new PageDb(false);
+//        }
+//        int limit = Conv.NI(webRequest.getParameter("limit"), 10);
+//        int page = Conv.NI(arg, 1)/limit + 1;
 
-        int limit = Conv.NI(webRequest.getParameter("limit"), 10);
-        int page = Conv.NI(arg, 1)/limit + 1;
+        int limit = Conv.NI(webRequest.getParameter("rows"), 10);
+        int page = Integer.parseInt(webRequest.getParameter("page"));
         return new PageDb(page, limit);
     }
 }

+ 9 - 9
yvan-platform/src/main/java/com/yvan/springmvc/HttpUtils.java

@@ -144,15 +144,15 @@ public class HttpUtils {
     /**
      * 从当前请求中获取分页方法和内容
      */
-    public static PageDb parsePagination() {
-        HttpServletRequest request = currentRequest();
-        HttpParameterParser parser = HttpParameterParser.newInstance(request);
-        int page = parser.getIntValue("page", 1);
-        int start = parser.getIntValue("start", 0);
-        int limit = parser.getIntValue("limit", 10);
-
-        return new PageDb(page, limit);
-    }
+//    public static PageDb parsePagination() {
+//        HttpServletRequest request = currentRequest();
+//        HttpParameterParser parser = HttpParameterParser.newInstance(request);
+//        int page = parser.getIntValue("page", 1);
+//        int start = parser.getIntValue("start", 0);
+//        int limit = parser.getIntValue("limit", 10);
+//
+//        return new PageDb(page, limit);
+//    }
 
 
     /**