Sfoglia il codice sorgente

加入组织隶属功能

wuxw 6 anni fa
parent
commit
a9db4f2b35

+ 1 - 1
Api/src/main/java/com/java110/api/listener/org/DeleteOrgCommunityListener.java

@@ -19,7 +19,7 @@ import org.springframework.http.ResponseEntity;
  * 保存小区侦听
  * add by wuxw 2019-06-30
  */
-@Java110Listener("deleteOrgListener")
+@Java110Listener("deleteOrgCommunityListener")
 public class DeleteOrgCommunityListener extends AbstractServiceApiListener {
     @Override
     protected void validate(ServiceDataFlowEvent event, JSONObject reqJson) {

+ 93 - 0
Api/src/main/java/com/java110/api/listener/org/ListOrgNoCommunitysListener.java

@@ -0,0 +1,93 @@
+package com.java110.api.listener.org;
+
+import com.alibaba.fastjson.JSONObject;
+import com.java110.api.listener.AbstractServiceApiListener;
+import com.java110.core.annotation.Java110Listener;
+import com.java110.core.context.DataFlowContext;
+import com.java110.core.smo.org.IOrgCommunityInnerServiceSMO;
+import com.java110.dto.org.OrgCommunityDto;
+import com.java110.event.service.api.ServiceDataFlowEvent;
+import com.java110.utils.constant.ServiceCodeOrgConstant;
+import com.java110.utils.util.Assert;
+import com.java110.utils.util.BeanConvertUtil;
+import com.java110.vo.api.org.ApiOrgCommunityDataVo;
+import com.java110.vo.api.org.ApiOrgCommunityVo;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.HttpMethod;
+import org.springframework.http.HttpStatus;
+import org.springframework.http.ResponseEntity;
+
+import java.util.ArrayList;
+import java.util.List;
+
+
+/**
+ * 查询小区侦听类
+ */
+@Java110Listener("listOrgCommunitysListener")
+public class ListOrgNoCommunitysListener extends AbstractServiceApiListener {
+
+    @Autowired
+    private IOrgCommunityInnerServiceSMO orgCommunityInnerServiceSMOImpl;
+
+    @Override
+    public String getServiceCode() {
+        return ServiceCodeOrgConstant.LIST_ORG_NO_COMMUNITYS;
+    }
+
+    @Override
+    public HttpMethod getHttpMethod() {
+        return HttpMethod.GET;
+    }
+
+
+    @Override
+    public int getOrder() {
+        return DEFAULT_ORDER;
+    }
+
+
+
+    @Override
+    protected void validate(ServiceDataFlowEvent event, JSONObject reqJson) {
+        super.validatePageInfo(reqJson);
+        Assert.hasKeyAndValue(reqJson, "storeId", "必填,请填写商户ID");
+        Assert.hasKeyAndValue(reqJson, "orgId", "必填,请填写组织ID");
+    }
+
+    @Override
+    protected void doSoService(ServiceDataFlowEvent event, DataFlowContext context, JSONObject reqJson) {
+
+        OrgCommunityDto orgCommunityDto = BeanConvertUtil.covertBean(reqJson, OrgCommunityDto.class);
+
+        int count = orgCommunityInnerServiceSMOImpl.queryOrgCommunitysCount(orgCommunityDto);
+
+        List<ApiOrgCommunityDataVo> orgCommunitys = null;
+
+        if (count > 0) {
+            orgCommunitys = BeanConvertUtil.covertBeanList(orgCommunityInnerServiceSMOImpl.queryOrgCommunitys(orgCommunityDto), ApiOrgCommunityDataVo.class);
+        } else {
+            orgCommunitys = new ArrayList<>();
+        }
+
+        ApiOrgCommunityVo apiOrgVo = new ApiOrgCommunityVo();
+
+        apiOrgVo.setTotal(count);
+        apiOrgVo.setRecords((int) Math.ceil((double) count / (double) reqJson.getInteger("row")));
+        apiOrgVo.setOrgCommunitys(orgCommunitys);
+
+        ResponseEntity<String> responseEntity = new ResponseEntity<String>(JSONObject.toJSONString(apiOrgVo), HttpStatus.OK);
+
+        context.setResponseEntity(responseEntity);
+
+    }
+
+
+    public IOrgCommunityInnerServiceSMO getOrgCommunityInnerServiceSMOImpl() {
+        return orgCommunityInnerServiceSMOImpl;
+    }
+
+    public void setOrgCommunityInnerServiceSMOImpl(IOrgCommunityInnerServiceSMO orgCommunityInnerServiceSMOImpl) {
+        this.orgCommunityInnerServiceSMOImpl = orgCommunityInnerServiceSMOImpl;
+    }
+}

+ 0 - 6
WebService/src/main/java/com/java110/web/components/org/AddOrgCommunityComponent.java

@@ -40,12 +40,6 @@ public class AddOrgCommunityComponent {
         return addOrgCommunitySMOImpl.saveOrgCommunity(pd);
     }
 
-    public ResponseEntity<String> listEnterCommunitys(IPageData pd) {
-
-        return communityServiceSMOImpl.listMyCommunity(pd);
-
-    }
-
     /**
      * 查询组织管理列表
      *

+ 22 - 0
WebService/src/main/java/com/java110/web/smo/org/IListOrgNoCommunitysSMO.java

@@ -0,0 +1,22 @@
+package com.java110.web.smo.org;
+
+import com.java110.core.context.IPageData;
+import com.java110.utils.exception.SMOException;
+import org.springframework.http.ResponseEntity;
+
+/**
+ * 组织管理管理服务接口类
+ * <p>
+ * add by wuxw 2019-06-29
+ */
+public interface IListOrgNoCommunitysSMO {
+
+    /**
+     * 查询组织管理信息
+     *
+     * @param pd 页面数据封装
+     * @return ResponseEntity 对象数据
+     * @throws SMOException 业务代码层
+     */
+    ResponseEntity<String> listOrgNoCommunitys(IPageData pd) throws SMOException;
+}

+ 69 - 0
WebService/src/main/java/com/java110/web/smo/org/impl/ListOrgNoCommunitysSMOImpl.java

@@ -0,0 +1,69 @@
+package com.java110.web.smo.org.impl;
+
+import com.alibaba.fastjson.JSONObject;
+import com.java110.core.component.AbstractComponentSMO;
+import com.java110.core.context.IPageData;
+import com.java110.entity.component.ComponentValidateResult;
+import com.java110.utils.constant.ServiceConstant;
+import com.java110.utils.exception.SMOException;
+import com.java110.utils.util.Assert;
+import com.java110.utils.util.BeanConvertUtil;
+import com.java110.web.smo.org.IListOrgCommunitysSMO;
+import com.java110.web.smo.org.IListOrgNoCommunitysSMO;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.HttpMethod;
+import org.springframework.http.ResponseEntity;
+import org.springframework.stereotype.Service;
+import org.springframework.web.client.RestTemplate;
+
+import java.util.Map;
+
+/**
+ * 查询org服务类
+ */
+@Service("listOrgNoCommunitysSMOImpl")
+public class ListOrgNoCommunitysSMOImpl extends AbstractComponentSMO implements IListOrgNoCommunitysSMO {
+
+    @Autowired
+    private RestTemplate restTemplate;
+
+    @Override
+    public ResponseEntity<String> listOrgNoCommunitys(IPageData pd) throws SMOException {
+        return businessProcess(pd);
+    }
+
+    @Override
+    protected void validate(IPageData pd, JSONObject paramIn) {
+
+        super.validatePageInfo(pd);
+
+        Assert.hasKeyAndValue(paramIn,"orgId","请求报文中未包含组织信息");
+
+        //super.checkUserHasPrivilege(pd, restTemplate, PrivilegeCodeConstant.LIST_ORG);
+    }
+
+    @Override
+    protected ResponseEntity<String> doBusinessProcess(IPageData pd, JSONObject paramIn) {
+        ComponentValidateResult result = super.validateStoreStaffCommunityRelationship(pd, restTemplate);
+
+        Map paramMap = BeanConvertUtil.beanCovertMap(result);
+        paramIn.putAll(paramMap);
+
+        String apiUrl = ServiceConstant.SERVICE_API_URL + "/api/org.listOrgNoCommunitys" + mapToUrlParam(paramIn);
+
+
+        ResponseEntity<String> responseEntity = this.callCenterService(restTemplate, pd, "",
+                apiUrl,
+                HttpMethod.GET);
+
+        return responseEntity;
+    }
+
+    public RestTemplate getRestTemplate() {
+        return restTemplate;
+    }
+
+    public void setRestTemplate(RestTemplate restTemplate) {
+        this.restTemplate = restTemplate;
+    }
+}

+ 8 - 4
WebService/src/main/resources/components/orgPackage/addOrgCommunity/addOrgCommunity.js

@@ -10,11 +10,11 @@
         _initMethod:function(){
         },
         _initEvent:function(){
-            vc.on('addOrgCommunity','openChooseOrgModel',function(_param){
+            vc.on('addOrgCommunity','openAddOrgCommunityModal',function(_param){
                 $('#addOrgCommunityModel').modal('show');
                 vc.copyObject(_param,vc.component.addOrgCommunityInfo);
                 vc.component._refreshChooseOrgInfo();
-                vc.component._loadAllOrgInfo(1,10,'');
+                vc.component._loadAllCommunityInfo(1,10,'');
             });
         },
         methods:{
@@ -53,10 +53,14 @@
                 $('#addOrgCommunityModel').modal('hide');
             },
             queryCommunitys:function(){
-                vc.component._loadAllOrgInfo(1,10,vc.component.addOrgCommunityInfo.communityName);
+                vc.component._loadAllCommunityInfo(1,10,vc.component.addOrgCommunityInfo.communityName);
             },
             _refreshChooseOrgInfo:function(){
-                vc.component.addOrgCommunityInfo._currentOrgName = "";
+                vc.component.addOrgCommunityInfo={
+                    communitys:[],
+                    communityName:'',
+                    selectCommunitys:[]
+                };
             }
         }
 

+ 9 - 9
WebService/src/main/resources/components/orgPackage/org-manage/orgManage.html

@@ -73,7 +73,7 @@
                                     <th class="text-center">组织名称</th>
                                     <th class="text-center">组织级别</th>
                                     <th class="text-center">上级组织</th>
-                                    <th class="text-center">操作</th>
+                                    <th class="text-right">操作</th>
                                 </tr>
                                 </thead>
                                 <tbody>
@@ -82,14 +82,9 @@
                                     <td class="text-center">{{org.orgName}}</td>
                                     <td class="text-center">{{org.orgLevelName}}</td>
                                     <td class="text-center">{{org.orgLevel == 1 ? '无' : org.parentOrgName}}</td>
-                                    <td class="text-center">{{org.belongCommunityName}}</td>
-                                    <td class="text-center">
+                                    <td class="text-right">
+
 
-                                        <div class="btn-group" v-if="org.orgLevel == 1">
-                                            <button class="btn-white btn btn-xs" v-on:click="_openBeyondCommunity(org)">
-                                                隶属小区
-                                            </button>
-                                        </div>
                                         <div class="btn-group" v-if="org.allowOperation == 'T'">
                                             <button class="btn-white btn btn-xs" v-on:click="_openEditOrgModel(org)">
                                                 修改
@@ -100,6 +95,11 @@
                                                 删除
                                             </button>
                                         </div>
+                                        <div class="btn-group" v-if="org.orgLevel == 2">
+                                            <button class="btn-white btn btn-xs" v-on:click="_openBeyondCommunity(org)">
+                                                隶属小区
+                                            </button>
+                                        </div>
                                     </td>
 
                                 </tr>
@@ -121,7 +121,7 @@
         </div>
     </div>
 
-    <div v-if="orgManageInfo.showBelongCommunity == true">
+    <div  v-if="orgManageInfo.showBelongCommunity == true">
         <vc:create name="orgCommunityManage"></vc:create>
     </div>
 

+ 1 - 0
WebService/src/main/resources/components/orgPackage/org-manage/orgManage.js

@@ -177,6 +177,7 @@
             },
             _openBeyondCommunity:function(_org){
                 vc.component.orgManageInfo.showBelongCommunity = true;
+                vc.emit('orgCommunityManageInfo', 'openOrgCommunity',_org);
             },
             _queryOrgMethod: function () {
                 vc.component._listOrgs(DEFAULT_PAGE, DEFAULT_ROWS);

+ 50 - 56
WebService/src/main/resources/components/orgPackage/orgCommunityManage/orgCommunityManage.html

@@ -1,62 +1,56 @@
 <div class="row">
-    <div class="col-lg-3">
-        <div id="orgCommunityTree" class="" style="background: #fff;"></div>
-    </div>
-    <div class="col-lg-9">
-        <div class="row">
-            <div class="col-lg-12">
-                <div class="ibox">
-                    <div class="ibox-title">
-                        <h5>{{orgCommunityManageInfo.orgName}}隶属小区</h5>
-                        <div class="ibox-tools" style="top:10px;">
-                            <button type="button" class="btn btn-primary btn-sm" v-on:click="_openAddOrgCommunityModal()">
-                                <i class="glyphicon glyphicon-plus"></i>
-                                添加
-                            </button>
-                        </div>
-                    </div>
-                    <div class="ibox-content">
-
-                        <table class="footable table table-stripped toggle-arrow-tiny"
-                               data-page-size="15"
-                        >
-                            <thead>
-                            <tr>
-                                <th class="text-center">组织ID</th>
-                                <th class="text-center">组织名称</th>
-                                <th class="text-center">小区ID</th>
-                                <th class="text-center">小区名称</th>
-                                <th class="text-right">操作</th>
-                            </tr>
-                            </thead>
-                            <tbody>
-                            <tr v-for="orgCommunity in orgCommunityManageInfo.orgCommunitys">
-                                <td class="text-center">{{orgCommunity.orgId}}</td>
-                                <td class="text-center">{{orgCommunity.orgName}}</td>
-                                <td class="text-center">{{orgCommunity.communityId}}</td>
-                                <td class="text-center">{{orgCommunity.communityName}}</td>
-                                <td class="text-right">
-                                    <div class="btn-group" v-if="orgCommunity.allowOperation == 'T'">
-                                        <button class="btn-white btn btn-xs" v-on:click="_openDeleteOrgCommunityModel(orgCommunity)">
-                                            删除
-                                        </button>
-                                    </div>
-                                </td>
-                            </tr>
-                            </tbody>
-                            <tfoot>
-                            <tr>
-                                <td colspan="7">
-                                    <ul class="pagination float-right"></ul>
-                                </td>
-                            </tr>
-                            </tfoot>
-                        </table>
-                        <!-- 分页 -->
-                        <vc:create name="pagination"></vc:create>
-                    </div>
+    <div class="col-lg-12">
+        <div class="ibox">
+            <div class="ibox-title">
+                <h5>{{orgCommunityManageInfo.orgName}}隶属小区</h5>
+                <div class="ibox-tools" style="top:10px;">
+                    <button type="button" class="btn btn-primary btn-sm" v-on:click="_openAddOrgCommunityModal()">
+                        <i class="glyphicon glyphicon-plus"></i>
+                        添加
+                    </button>
                 </div>
             </div>
+            <div class="ibox-content">
+
+                <table class="footable table table-stripped toggle-arrow-tiny"
+                       data-page-size="15"
+                >
+                    <thead>
+                    <tr>
+                        <th class="text-center">组织ID</th>
+                        <th class="text-center">组织名称</th>
+                        <th class="text-center">小区ID</th>
+                        <th class="text-center">小区名称</th>
+                        <th class="text-right">操作</th>
+                    </tr>
+                    </thead>
+                    <tbody>
+                    <tr v-for="orgCommunity in orgCommunityManageInfo.orgCommunitys">
+                        <td class="text-center">{{orgCommunity.orgId}}</td>
+                        <td class="text-center">{{orgCommunity.orgName}}</td>
+                        <td class="text-center">{{orgCommunity.communityId}}</td>
+                        <td class="text-center">{{orgCommunity.communityName}}</td>
+                        <td class="text-right">
+                            <div class="btn-group" v-if="orgCommunity.allowOperation == 'T'">
+                                <button class="btn-white btn btn-xs"
+                                        v-on:click="_openDeleteOrgCommunityModel(orgCommunity)">
+                                    删除
+                                </button>
+                            </div>
+                        </td>
+                    </tr>
+                    </tbody>
+                    <tfoot>
+                    <tr>
+                        <td colspan="7">
+                            <ul class="pagination float-right"></ul>
+                        </td>
+                    </tr>
+                    </tfoot>
+                </table>
+                <!-- 分页 -->
+                <vc:create name="pagination"></vc:create>
+            </div>
         </div>
     </div>
     <vc:create name="addOrgCommunity"

+ 5 - 0
java110-utils/src/main/java/com/java110/utils/constant/ServiceCodeOrgConstant.java

@@ -41,6 +41,11 @@ public class ServiceCodeOrgConstant {
     public static final String LIST_ORG_COMMUNITYS = "org.listOrgCommunitys";
 
 
+    /**
+     * 查询 组织未隶属小区
+     */
+    public static final String LIST_ORG_NO_COMMUNITYS = "org.listOrgNoCommunitys";
+
     /**
      * 添加 组织管理
      */