Kaynağa Gözat

加入根据员工所属部门对应的小区加载相应小区信息

wuxw 6 yıl önce
ebeveyn
işleme
ee9e18ace2
24 değiştirilmiş dosya ile 589 ekleme ve 23 silme
  1. 139 0
      Api/src/main/java/com/java110/api/listener/community/ListMyEnteredCommunitysListener.java
  2. 1 0
      Api/src/main/java/com/java110/api/listener/org/SaveOrgListener.java
  3. 23 0
      Api/src/main/java/com/java110/api/listener/org/UpdateOrgListener.java
  4. 4 1
      Api/src/main/java/com/java110/api/listener/store/SaveStoreServiceListener.java
  5. 2 0
      UserService/src/main/java/com/java110/user/listener/org/AbstractOrgBusinessServiceDataFlowListener.java
  6. 51 2
      UserService/src/main/java/com/java110/user/smo/impl/OrgInnerServiceSMOImpl.java
  7. 38 0
      WebService/src/main/java/com/java110/web/components/initData/InitDataComponent.java
  8. 35 4
      WebService/src/main/java/com/java110/web/components/org/AddOrgComponent.java
  9. 28 0
      WebService/src/main/java/com/java110/web/components/org/EditOrgComponent.java
  10. 21 0
      WebService/src/main/java/com/java110/web/smo/community/IListMyEnteredCommunitysSMO.java
  11. 73 0
      WebService/src/main/java/com/java110/web/smo/community/impl/ListListMyEnteredCommunitysSMOImpl.java
  12. 13 3
      WebService/src/main/java/com/java110/web/smo/impl/CommunityServiceSMOImpl.java
  13. 22 1
      WebService/src/main/resources/components/orgPackage/add-org/addOrg.js
  14. 21 0
      WebService/src/main/resources/components/orgPackage/edit-org/editOrg.js
  15. 4 2
      WebService/src/main/resources/components/orgPackage/org-manage/orgManage.html
  16. 1 0
      WebService/src/main/resources/components/orgPackage/org-manage/orgManage.js
  17. 3 0
      WebService/src/main/resources/components/pageFramePackage/initData/initData.html
  18. 38 0
      WebService/src/main/resources/components/pageFramePackage/initData/initData.js
  19. 2 0
      WebService/src/main/resources/components/pageFramePackage/login/login.html
  20. 5 3
      WebService/src/main/resources/components/pageFramePackage/login/login.js
  21. 18 0
      java110-bean/src/main/java/com/java110/dto/org/OrgDto.java
  22. 18 0
      java110-bean/src/main/java/com/java110/vo/api/org/ApiOrgDataVo.java
  23. 23 7
      java110-db/src/main/resources/mapper/user/OrgServiceDaoImplMapper.xml
  24. 6 0
      java110-utils/src/main/java/com/java110/utils/constant/ServiceCodeConstant.java

+ 139 - 0
Api/src/main/java/com/java110/api/listener/community/ListMyEnteredCommunitysListener.java

@@ -0,0 +1,139 @@
+package com.java110.api.listener.community;
+
+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.community.ICommunityInnerServiceSMO;
+import com.java110.core.smo.org.IOrgInnerServiceSMO;
+import com.java110.core.smo.org.IOrgStaffRelInnerServiceSMO;
+import com.java110.dto.community.CommunityDto;
+import com.java110.dto.org.OrgDto;
+import com.java110.dto.org.OrgStaffRelDto;
+import com.java110.event.service.api.ServiceDataFlowEvent;
+import com.java110.utils.constant.ServiceCodeConstant;
+import com.java110.utils.util.Assert;
+import com.java110.utils.util.BeanConvertUtil;
+import com.java110.vo.api.community.ApiCommunityDataVo;
+import com.java110.vo.api.community.ApiCommunityVo;
+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("listMyEnteredCommunitysListener")
+public class ListMyEnteredCommunitysListener extends AbstractServiceApiListener {
+
+    @Autowired
+    private ICommunityInnerServiceSMO communityInnerServiceSMOImpl;
+
+    @Autowired
+    private IOrgStaffRelInnerServiceSMO orgStaffRelInnerServiceSMOImpl;
+
+    @Autowired
+    private IOrgInnerServiceSMO orgInnerServiceSMOImpl;
+
+    @Override
+    public String getServiceCode() {
+        return ServiceCodeConstant.SERVICE_CODE_LIST_MY_ENTERED_COMMUNITYS;
+    }
+
+    @Override
+    public HttpMethod getHttpMethod() {
+        return HttpMethod.GET;
+    }
+
+
+    @Override
+    public int getOrder() {
+        return DEFAULT_ORDER;
+    }
+
+
+    public ICommunityInnerServiceSMO getCommunityInnerServiceSMOImpl() {
+        return communityInnerServiceSMOImpl;
+    }
+
+    public void setCommunityInnerServiceSMOImpl(ICommunityInnerServiceSMO communityInnerServiceSMOImpl) {
+        this.communityInnerServiceSMOImpl = communityInnerServiceSMOImpl;
+    }
+
+    @Override
+    protected void validate(ServiceDataFlowEvent event, JSONObject reqJson) {
+        super.validatePageInfo(reqJson);
+        Assert.hasKeyAndValue(reqJson, "storeId", "请求报文中未包含商户信息");
+        Assert.hasKeyAndValue(reqJson, "userId", "请求报文中未包含用户信息");
+    }
+
+    @Override
+    protected void doSoService(ServiceDataFlowEvent event, DataFlowContext context, JSONObject reqJson) {
+
+        //1.0 先查询 员工对应的部门
+        OrgStaffRelDto orgStaffRelDto = new OrgStaffRelDto();
+        orgStaffRelDto.setStoreId(reqJson.getString("storeId"));
+        orgStaffRelDto.setStaffId(reqJson.getString("userId"));
+        List<OrgStaffRelDto> orgStaffRelDtos = orgStaffRelInnerServiceSMOImpl.queryOrgStaffRels(orgStaffRelDto);
+
+        Assert.listOnlyOne(orgStaffRelDtos, "未查询到相应员工对应的部门信息或查询到多条");
+
+        //2.0 再根据 部门对应的 小区ID查询小区信息
+        OrgDto orgDto = new OrgDto();
+        orgDto.setOrgId(orgStaffRelDtos.get(0).getOrgId());
+        orgDto.setStoreId(reqJson.getString("storeId"));
+        orgDto.setOrgLevel("3");
+        List<OrgDto> orgDtos = orgInnerServiceSMOImpl.queryOrgs(orgDto);
+
+        Assert.listOnlyOne(orgDtos, "根据组织ID未查询到员工对应部门信息或查询到多条数据");
+        int count = 0;
+        List<ApiCommunityDataVo> communitys = null;
+        if ("9999".equals(orgDtos.get(0).getBelongCommunityId())) {
+            CommunityDto communityDto = BeanConvertUtil.covertBean(reqJson, CommunityDto.class);
+            count = communityInnerServiceSMOImpl.queryCommunitysCount(communityDto);
+            if (count > 0) {
+                communitys = BeanConvertUtil.covertBeanList(communityInnerServiceSMOImpl.queryCommunitys(communityDto), ApiCommunityDataVo.class);
+            } else {
+                communitys = new ArrayList<>();
+            }
+        } else {
+            CommunityDto communityDto = new CommunityDto();
+            communityDto.setCommunityId(orgDtos.get(0).getBelongCommunityId());
+            communitys = BeanConvertUtil.covertBeanList(communityInnerServiceSMOImpl.queryCommunitys(communityDto), ApiCommunityDataVo.class);
+            count = 1;
+        }
+
+
+        ApiCommunityVo apiCommunityVo = new ApiCommunityVo();
+
+        apiCommunityVo.setTotal(count);
+        apiCommunityVo.setRecords((int) Math.ceil((double) count / (double) reqJson.getInteger("row")));
+        apiCommunityVo.setCommunitys(communitys);
+
+        ResponseEntity<String> responseEntity = new ResponseEntity<String>(JSONObject.toJSONString(apiCommunityVo), HttpStatus.OK);
+
+        context.setResponseEntity(responseEntity);
+
+    }
+
+    public IOrgStaffRelInnerServiceSMO getOrgStaffRelInnerServiceSMOImpl() {
+        return orgStaffRelInnerServiceSMOImpl;
+    }
+
+    public void setOrgStaffRelInnerServiceSMOImpl(IOrgStaffRelInnerServiceSMO orgStaffRelInnerServiceSMOImpl) {
+        this.orgStaffRelInnerServiceSMOImpl = orgStaffRelInnerServiceSMOImpl;
+    }
+
+    public IOrgInnerServiceSMO getOrgInnerServiceSMOImpl() {
+        return orgInnerServiceSMOImpl;
+    }
+
+    public void setOrgInnerServiceSMOImpl(IOrgInnerServiceSMO orgInnerServiceSMOImpl) {
+        this.orgInnerServiceSMOImpl = orgInnerServiceSMOImpl;
+    }
+}

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

@@ -92,6 +92,7 @@ public class SaveOrgListener extends AbstractServiceApiListener {
         JSONObject businessOrg = new JSONObject();
         businessOrg.putAll(paramInJson);
         businessOrg.put("orgId", "-1");
+        businessOrg.put("allowOperation", "T");
         //计算 应收金额
         business.getJSONObject(CommonConstant.HTTP_BUSINESS_DATAS).put("businessOrg", businessOrg);
         return business;

+ 23 - 0
Api/src/main/java/com/java110/api/listener/org/UpdateOrgListener.java

@@ -3,6 +3,8 @@ package com.java110.api.listener.org;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.java110.api.listener.AbstractServiceApiListener;
+import com.java110.core.smo.org.IOrgInnerServiceSMO;
+import com.java110.dto.org.OrgDto;
 import com.java110.utils.constant.BusinessTypeConstant;
 import com.java110.utils.constant.CommonConstant;
 import com.java110.utils.constant.ServiceCodeConstant;
@@ -12,16 +14,23 @@ import com.java110.core.context.DataFlowContext;
 import com.java110.entity.center.AppService;
 import com.java110.event.service.api.ServiceDataFlowEvent;
 import com.java110.utils.constant.ServiceCodeOrgConstant;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.HttpHeaders;
 import org.springframework.http.HttpMethod;
 import org.springframework.http.ResponseEntity;
 
+import java.util.List;
+
 /**
  * 保存组织管理侦听
  * add by wuxw 2019-06-30
  */
 @Java110Listener("updateOrgListener")
 public class UpdateOrgListener extends AbstractServiceApiListener {
+
+    @Autowired
+    private IOrgInnerServiceSMO orgInnerServiceSMOImpl;
+
     @Override
     protected void validate(ServiceDataFlowEvent event, JSONObject reqJson) {
 
@@ -83,6 +92,12 @@ public class UpdateOrgListener extends AbstractServiceApiListener {
      */
     private JSONObject updateOrg(JSONObject paramInJson, DataFlowContext dataFlowContext) {
 
+        OrgDto orgDto = new OrgDto();
+        orgDto.setOrgId(paramInJson.getString("orgId"));
+        orgDto.setStoreId(paramInJson.getString("storeId"));
+        List<OrgDto> orgDtos = orgInnerServiceSMOImpl.queryOrgs(orgDto);
+
+        Assert.listOnlyOne(orgDtos, "未查询到组织信息 或查询到多条数据");
 
         JSONObject business = JSONObject.parseObject("{\"datas\":{}}");
         business.put(CommonConstant.HTTP_BUSINESS_TYPE_CD, BusinessTypeConstant.BUSINESS_TYPE_UPDATE_ORG);
@@ -90,9 +105,17 @@ public class UpdateOrgListener extends AbstractServiceApiListener {
         business.put(CommonConstant.HTTP_INVOKE_MODEL, CommonConstant.HTTP_INVOKE_MODEL_S);
         JSONObject businessOrg = new JSONObject();
         businessOrg.putAll(paramInJson);
+        businessOrg.put("allowOperation", orgDtos.get(0).getAllowOperation());
         //计算 应收金额
         business.getJSONObject(CommonConstant.HTTP_BUSINESS_DATAS).put("businessOrg", businessOrg);
         return business;
     }
 
+    public IOrgInnerServiceSMO getOrgInnerServiceSMOImpl() {
+        return orgInnerServiceSMOImpl;
+    }
+
+    public void setOrgInnerServiceSMOImpl(IOrgInnerServiceSMO orgInnerServiceSMOImpl) {
+        this.orgInnerServiceSMOImpl = orgInnerServiceSMOImpl;
+    }
 }

+ 4 - 1
Api/src/main/java/com/java110/api/listener/store/SaveStoreServiceListener.java

@@ -288,6 +288,7 @@ public class SaveStoreServiceListener extends AbstractServiceApiDataFlowListener
         businessOrg.put("parentOrgId", orgId);
         businessOrg.put("belongCommunityId", "9999");
         businessOrg.put("orgId", orgId);
+        businessOrg.put("allowOperation", "F");
         businessOrg.put("storeId", paramInJson.getString("storeId"));
         //计算 应收金额
         business.getJSONObject(CommonConstant.HTTP_BUSINESS_DATAS).put("businessOrg", businessOrg);
@@ -314,6 +315,7 @@ public class SaveStoreServiceListener extends AbstractServiceApiDataFlowListener
         businessOrg.put("parentOrgId", paramInJson.getString("levelOneOrgId"));
         businessOrg.put("belongCommunityId", "9999");
         businessOrg.put("orgId", orgId);
+        businessOrg.put("allowOperation", "F");
         businessOrg.put("storeId", paramInJson.getString("storeId"));
         //计算 应收金额
         business.getJSONObject(CommonConstant.HTTP_BUSINESS_DATAS).put("businessOrg", businessOrg);
@@ -321,7 +323,7 @@ public class SaveStoreServiceListener extends AbstractServiceApiDataFlowListener
     }
 
     /**
-     * 添加公司总部
+     * 添加总部办公室
      *
      * @param paramInJson 接口调用放传入入参
      * @return 订单服务能够接受的报文
@@ -341,6 +343,7 @@ public class SaveStoreServiceListener extends AbstractServiceApiDataFlowListener
         businessOrg.put("belongCommunityId", "9999");
         businessOrg.put("orgId", orgId);
         businessOrg.put("storeId", paramInJson.getString("storeId"));
+        businessOrg.put("allowOperation", "F");
         //计算 应收金额
         business.getJSONObject(CommonConstant.HTTP_BUSINESS_DATAS).put("businessOrg", businessOrg);
         return business;

+ 2 - 0
UserService/src/main/java/com/java110/user/listener/org/AbstractOrgBusinessServiceDataFlowListener.java

@@ -45,6 +45,7 @@ public abstract class AbstractOrgBusinessServiceDataFlowListener extends Abstrac
         businessOrgInfo.put("storeId", businessOrgInfo.get("store_id"));
         businessOrgInfo.put("orgId", businessOrgInfo.get("org_id"));
         businessOrgInfo.put("belongCommunityId", businessOrgInfo.get("belong_community_id"));
+        businessOrgInfo.put("allowOperation", businessOrgInfo.get("allow_operation"));
         businessOrgInfo.remove("bId");
         businessOrgInfo.put("statusCd", statusCd);
     }
@@ -77,6 +78,7 @@ public abstract class AbstractOrgBusinessServiceDataFlowListener extends Abstrac
         currentOrgInfo.put("storeId", currentOrgInfo.get("store_id"));
         currentOrgInfo.put("orgId", currentOrgInfo.get("org_id"));
         currentOrgInfo.put("belongCommunityId", currentOrgInfo.get("belong_community_id"));
+        currentOrgInfo.put("allowOperation", currentOrgInfo.get("allow_operation"));
 
         currentOrgInfo.put("operate", StatusConstant.OPERATE_DEL);
         getOrgServiceDaoImpl().saveBusinessOrgInfo(currentOrgInfo);

+ 51 - 2
UserService/src/main/java/com/java110/user/smo/impl/OrgInnerServiceSMOImpl.java

@@ -2,13 +2,17 @@ package com.java110.user.smo.impl;
 
 
 import com.java110.core.base.smo.BaseServiceSMO;
+import com.java110.core.smo.community.ICommunityInnerServiceSMO;
 import com.java110.core.smo.org.IOrgInnerServiceSMO;
 import com.java110.core.smo.user.IUserInnerServiceSMO;
+import com.java110.dto.OwnerDto;
 import com.java110.dto.PageDto;
 import com.java110.dto.UserDto;
+import com.java110.dto.community.CommunityDto;
 import com.java110.dto.org.OrgDto;
 import com.java110.user.dao.IOrgServiceDao;
 import com.java110.utils.util.BeanConvertUtil;
+import com.java110.utils.util.StringUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
@@ -35,6 +39,10 @@ public class OrgInnerServiceSMOImpl extends BaseServiceSMO implements IOrgInnerS
     @Autowired
     private IUserInnerServiceSMO userInnerServiceSMOImpl;
 
+    @Autowired
+    private ICommunityInnerServiceSMO communityInnerServiceSMOImpl;
+
+
     @Override
     public List<OrgDto> queryOrgs(@RequestBody OrgDto orgDto) {
 
@@ -48,6 +56,17 @@ public class OrgInnerServiceSMOImpl extends BaseServiceSMO implements IOrgInnerS
 
         List<OrgDto> orgs = BeanConvertUtil.covertBeanList(orgServiceDaoImpl.getOrgInfo(BeanConvertUtil.beanCovertMap(orgDto)), OrgDto.class);
 
+        CommunityDto communityDto = new CommunityDto();
+        communityDto.setCommunityIds(getCommunityIds(orgs));
+        List<CommunityDto> communityDtos = communityInnerServiceSMOImpl.queryCommunitys(communityDto);
+
+        for (CommunityDto tmpCommunityDto : communityDtos) {
+            for (OrgDto tmpOrgDto : orgs) {
+                if (tmpCommunityDto.getCommunityId().equals(tmpOrgDto.getBelongCommunityId())) {
+                    tmpOrgDto.setBelongCommunityName(tmpCommunityDto.getName());
+                }
+            }
+        }
 
         return orgs;
     }
@@ -62,7 +81,6 @@ public class OrgInnerServiceSMOImpl extends BaseServiceSMO implements IOrgInnerS
     /**
      * <p>查询上级组织信息</p>
      *
-     *
      * @param orgDto 数据对象分享
      * @return OrgDto 对象数据
      */
@@ -73,13 +91,36 @@ public class OrgInnerServiceSMOImpl extends BaseServiceSMO implements IOrgInnerS
 
         List<OrgDto> orgs = BeanConvertUtil.covertBeanList(orgServiceDaoImpl.getParentOrgInfo(BeanConvertUtil.beanCovertMap(orgDto)), OrgDto.class);
 
-        if(orgs == null){
+        if (orgs == null) {
             orgs = new ArrayList<>();
         }
 
         return orgs;
     }
 
+
+    /**
+     * 获取批量userId
+     *
+     * @param orgDtos 小区楼信息
+     * @return 批量userIds 信息
+     */
+    private String[] getCommunityIds(List<OrgDto> orgDtos) {
+        List<String> communityIds = new ArrayList<String>();
+        for (OrgDto orgDto : orgDtos) {
+            if("9999".equals(orgDto.getBelongCommunityId())){
+                orgDto.setBelongCommunityName("入驻所有小区");
+                continue;
+            }
+            if(StringUtil.isEmpty(orgDto.getBelongCommunityId())){
+                orgDto.setBelongCommunityName("未知小区");
+                continue;
+            }
+            communityIds.add(orgDto.getBelongCommunityId());
+        }
+        return communityIds.toArray(new String[communityIds.size()]);
+    }
+
     public IOrgServiceDao getOrgServiceDaoImpl() {
         return orgServiceDaoImpl;
     }
@@ -95,4 +136,12 @@ public class OrgInnerServiceSMOImpl extends BaseServiceSMO implements IOrgInnerS
     public void setUserInnerServiceSMOImpl(IUserInnerServiceSMO userInnerServiceSMOImpl) {
         this.userInnerServiceSMOImpl = userInnerServiceSMOImpl;
     }
+
+    public ICommunityInnerServiceSMO getCommunityInnerServiceSMOImpl() {
+        return communityInnerServiceSMOImpl;
+    }
+
+    public void setCommunityInnerServiceSMOImpl(ICommunityInnerServiceSMO communityInnerServiceSMOImpl) {
+        this.communityInnerServiceSMOImpl = communityInnerServiceSMOImpl;
+    }
 }

+ 38 - 0
WebService/src/main/java/com/java110/web/components/initData/InitDataComponent.java

@@ -0,0 +1,38 @@
+package com.java110.web.components.initData;
+
+
+import com.java110.core.context.IPageData;
+import com.java110.web.smo.INavServiceSMO;
+import com.java110.web.smo.community.IListMyEnteredCommunitysSMO;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.ResponseEntity;
+import org.springframework.stereotype.Component;
+
+@Component("initData")
+public class InitDataComponent {
+
+    @Autowired
+    private IListMyEnteredCommunitysSMO listMyEnteredCommunitysSMOImpl;
+
+    /**
+     * 查询已经入住的小区
+     *
+     * @param pd 页面封装对象
+     * @return 小区信息 [{community:"123123",name:"测试1小区"},{community:"223123",name:"测试2小区"}]
+     */
+    public ResponseEntity<String> getCommunitys(IPageData pd) {
+        ResponseEntity<String> responseEntity = null;
+        responseEntity = listMyEnteredCommunitysSMOImpl.myCommunitys(pd);
+
+        return responseEntity;
+    }
+
+    public IListMyEnteredCommunitysSMO getListMyEnteredCommunitysSMOImpl() {
+        return listMyEnteredCommunitysSMOImpl;
+    }
+
+    public void setListMyEnteredCommunitysSMOImpl(IListMyEnteredCommunitysSMO listMyEnteredCommunitysSMOImpl) {
+        this.listMyEnteredCommunitysSMOImpl = listMyEnteredCommunitysSMOImpl;
+    }
+
+}

+ 35 - 4
WebService/src/main/java/com/java110/web/components/org/AddOrgComponent.java

@@ -1,6 +1,10 @@
 package com.java110.web.components.org;
 
+import com.alibaba.fastjson.JSONObject;
 import com.java110.core.context.IPageData;
+import com.java110.core.context.PageData;
+import com.java110.utils.constant.StateConstant;
+import com.java110.web.smo.ICommunityServiceSMO;
 import com.java110.web.smo.org.IAddOrgSMO;
 import com.java110.web.smo.org.IListOrgsSMO;
 import com.java110.web.smo.org.IListParentOrgsSMO;
@@ -22,27 +26,46 @@ public class AddOrgComponent {
 
     @Autowired
     private IListParentOrgsSMO listParentOrgsSMOImpl;
+    @Autowired
+    private ICommunityServiceSMO communityServiceSMOImpl;
 
     /**
      * 添加组织管理数据
+     *
      * @param pd 页面数据封装
      * @return ResponseEntity 对象
      */
-    public ResponseEntity<String> save(IPageData pd){
+    public ResponseEntity<String> save(IPageData pd) {
         return addOrgSMOImpl.saveOrg(pd);
     }
+
+    public ResponseEntity<String> listEnterCommunitys(IPageData pd) {
+
+        JSONObject paramIn = JSONObject.parseObject(pd.getReqData());
+        paramIn.put("auditStatusCd", StateConstant.AGREE_AUDIT);
+
+        IPageData newPd = PageData.newInstance().builder(pd.getUserId(),
+                pd.getUserName(), pd.getToken(),
+                paramIn.toJSONString(), pd.getComponentCode(),
+                pd.getComponentMethod(), "",
+                pd.getAppId());
+
+        return communityServiceSMOImpl.listMyCommunity(newPd);
+
+    }
+
     /**
      * 查询组织管理列表
+     *
      * @param pd 页面数据封装
      * @return 返回 ResponseEntity 对象
      */
-    public ResponseEntity<String> list(IPageData pd){
+    public ResponseEntity<String> list(IPageData pd) {
         return listOrgsSMOImpl.listOrgs(pd);
     }
 
 
-
-    public ResponseEntity<String> getParentOrg(IPageData pd){
+    public ResponseEntity<String> getParentOrg(IPageData pd) {
         return listParentOrgsSMOImpl.listParentOrgs(pd);
     }
 
@@ -69,4 +92,12 @@ public class AddOrgComponent {
     public void setListOrgsSMOImpl(IListOrgsSMO listOrgsSMOImpl) {
         this.listOrgsSMOImpl = listOrgsSMOImpl;
     }
+
+    public ICommunityServiceSMO getCommunityServiceSMOImpl() {
+        return communityServiceSMOImpl;
+    }
+
+    public void setCommunityServiceSMOImpl(ICommunityServiceSMO communityServiceSMOImpl) {
+        this.communityServiceSMOImpl = communityServiceSMOImpl;
+    }
 }

+ 28 - 0
WebService/src/main/java/com/java110/web/components/org/EditOrgComponent.java

@@ -1,6 +1,10 @@
 package com.java110.web.components.org;
 
+import com.alibaba.fastjson.JSONObject;
 import com.java110.core.context.IPageData;
+import com.java110.core.context.PageData;
+import com.java110.utils.constant.StateConstant;
+import com.java110.web.smo.ICommunityServiceSMO;
 import com.java110.web.smo.org.IEditOrgSMO;
 import com.java110.web.smo.org.IListOrgsSMO;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -17,6 +21,8 @@ public class EditOrgComponent {
 
     @Autowired
     private IEditOrgSMO editOrgSMOImpl;
+    @Autowired
+    private ICommunityServiceSMO communityServiceSMOImpl;
 
     /**
      * 添加小区数据
@@ -27,6 +33,20 @@ public class EditOrgComponent {
         return editOrgSMOImpl.updateOrg(pd);
     }
 
+    public ResponseEntity<String> listEnterCommunitys(IPageData pd) {
+
+        JSONObject paramIn = JSONObject.parseObject(pd.getReqData());
+        paramIn.put("auditStatusCd", StateConstant.AGREE_AUDIT);
+
+        IPageData newPd = PageData.newInstance().builder(pd.getUserId(),
+                pd.getUserName(), pd.getToken(),
+                paramIn.toJSONString(), pd.getComponentCode(),
+                pd.getComponentMethod(), "",
+                pd.getAppId());
+
+        return communityServiceSMOImpl.listMyCommunity(newPd);
+
+    }
     /**
      * 查询组织管理列表
      * @param pd 页面数据封装
@@ -51,4 +71,12 @@ public class EditOrgComponent {
     public void setListOrgsSMOImpl(IListOrgsSMO listOrgsSMOImpl) {
         this.listOrgsSMOImpl = listOrgsSMOImpl;
     }
+
+    public ICommunityServiceSMO getCommunityServiceSMOImpl() {
+        return communityServiceSMOImpl;
+    }
+
+    public void setCommunityServiceSMOImpl(ICommunityServiceSMO communityServiceSMOImpl) {
+        this.communityServiceSMOImpl = communityServiceSMOImpl;
+    }
 }

+ 21 - 0
WebService/src/main/java/com/java110/web/smo/community/IListMyEnteredCommunitysSMO.java

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

+ 73 - 0
WebService/src/main/java/com/java110/web/smo/community/impl/ListListMyEnteredCommunitysSMOImpl.java

@@ -0,0 +1,73 @@
+package com.java110.web.smo.community.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.PrivilegeCodeConstant;
+import com.java110.utils.constant.ServiceConstant;
+import com.java110.utils.constant.StoreTypeConstant;
+import com.java110.utils.exception.SMOException;
+import com.java110.utils.util.BeanConvertUtil;
+import com.java110.web.smo.community.IListCommunitysSMO;
+import com.java110.web.smo.community.IListMyEnteredCommunitysSMO;
+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;
+
+/**
+ * 查询community服务类
+ */
+@Service("listCommunitysSMOImpl")
+public class ListListMyEnteredCommunitysSMOImpl extends AbstractComponentSMO implements IListMyEnteredCommunitysSMO {
+
+    @Autowired
+    private RestTemplate restTemplate;
+
+    @Override
+    public ResponseEntity<String> myCommunitys(IPageData pd) throws SMOException {
+        return businessProcess(pd);
+    }
+
+    @Override
+    protected void validate(IPageData pd, JSONObject paramIn) {
+
+        super.validatePageInfo(pd);
+
+        //super.checkUserHasPrivilege(pd, restTemplate, PrivilegeCodeConstant.AGENT_HAS_LIST_COMMUNITY,PrivilegeCodeConstant.ADMIN_HAS_LIST_COMMUNITY);
+    }
+
+    @Override
+    protected ResponseEntity<String> doBusinessProcess(IPageData pd, JSONObject paramIn) {
+        ComponentValidateResult result = super.validateStoreStaffCommunityRelationship(pd, restTemplate);
+
+        Map paramMap = BeanConvertUtil.beanCovertMap(result);
+        paramIn.putAll(paramMap);
+
+
+        if(!StoreTypeConstant.STORE_TYPE_SYSTEM_MANAGER.equals(result.getStoreTypeCd())) {
+            paramIn.put("memberId", result.getStoreId());
+        }
+
+        String apiUrl = ServiceConstant.SERVICE_API_URL + "/api/community.listMyEnteredCommunitys" + 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;
+    }
+}

+ 13 - 3
WebService/src/main/java/com/java110/web/smo/impl/CommunityServiceSMOImpl.java

@@ -21,6 +21,9 @@ import org.springframework.stereotype.Service;
 import org.springframework.web.client.RestTemplate;
 import org.thymeleaf.util.StringUtils;
 
+import java.util.HashMap;
+import java.util.Map;
+
 /**
  * 小区服务类
  */
@@ -49,9 +52,16 @@ public class CommunityServiceSMOImpl extends BaseComponentSMO implements ICommun
         String storeTypeCd = JSONObject.parseObject(responseEntity.getBody().toString()).getString("storeTypeCd");
 
         //修改用户信息
-        responseEntity = this.callCenterService(restTemplate, pd, "",
+       /* responseEntity = this.callCenterService(restTemplate, pd, "",
                 ServiceConstant.SERVICE_API_URL + "/api/query.myCommunity.byMember?memberId=" + storeId +
                         "&memberTypeCd=" + MappingCache.getValue(MappingConstant.DOMAIN_STORE_TYPE_2_COMMUNITY_MEMBER_TYPE, storeTypeCd),
+                HttpMethod.GET);*/
+        Map paramIn = new HashMap();
+        paramIn.put("memberId", storeId);
+        paramIn.put("memberTypeCd", MappingCache.getValue(MappingConstant.DOMAIN_STORE_TYPE_2_COMMUNITY_MEMBER_TYPE, storeTypeCd));
+        paramIn.putAll(_paramObj);
+        responseEntity = this.callCenterService(restTemplate, pd, "",
+                ServiceConstant.SERVICE_API_URL + "/api/query.myCommunity.byMember" + mapToUrlParam(paramIn),
                 HttpMethod.GET);
 
         if (responseEntity.getStatusCode() != HttpStatus.OK) {
@@ -89,12 +99,12 @@ public class CommunityServiceSMOImpl extends BaseComponentSMO implements ICommun
         if (StringUtils.isEmpty(communityName)) {
             responseEntity = this.callCenterService(restTemplate, pd, "",
                     ServiceConstant.SERVICE_API_URL + "/api/query.noEnterCommunity.byMember?"
-                            +"memberTypeCd=" + MappingCache.getValue(MappingConstant.DOMAIN_STORE_TYPE_2_COMMUNITY_MEMBER_TYPE, storeTypeCd),
+                            + "memberTypeCd=" + MappingCache.getValue(MappingConstant.DOMAIN_STORE_TYPE_2_COMMUNITY_MEMBER_TYPE, storeTypeCd),
                     HttpMethod.GET);
         } else {
             responseEntity = this.callCenterService(restTemplate, pd, "",
                     ServiceConstant.SERVICE_API_URL + "/api/query.noEnterCommunity.byMemberAndName?"
-                            +"memberTypeCd=" + MappingCache.getValue(MappingConstant.DOMAIN_STORE_TYPE_2_COMMUNITY_MEMBER_TYPE, storeTypeCd)
+                            + "memberTypeCd=" + MappingCache.getValue(MappingConstant.DOMAIN_STORE_TYPE_2_COMMUNITY_MEMBER_TYPE, storeTypeCd)
                             + "&name=" + communityName,
                     HttpMethod.GET);
         }

+ 22 - 1
WebService/src/main/resources/components/orgPackage/add-org/addOrg.js

@@ -30,7 +30,8 @@
         }
         ,
         _initMethod: function () {
-
+            //查询入驻的小区
+            vc.component._loadAddEnterCommunitys();
         }
         ,
         _initEvent: function () {
@@ -193,6 +194,26 @@
                         console.log('请求失败处理');
                     }
                 );
+            },
+            _loadAddEnterCommunitys:function () {
+                //belongCommunitys
+                var param = {
+                    params:{
+                        _uid:'mmmllnnjhhjjh'
+                    }
+                }
+
+                //发送get请求
+                vc.http.get('addOrg',
+                    'listEnterCommunitys',
+                    param,
+                    function (json, res) {
+                        var _enterCommunitys = JSON.parse(json);
+                        vc.component.addOrgInfo.belongCommunitys = _enterCommunitys.communitys;
+                    }, function (errInfo, error) {
+                        console.log('请求失败处理');
+                    }
+                );
             }
         }
     })

+ 21 - 0
WebService/src/main/resources/components/orgPackage/edit-org/editOrg.js

@@ -23,6 +23,7 @@
         },
         _initMethod: function () {
             vc.component._editOrgListParentOrgInfo();
+            vc.component._loadEditEnterCommunitys();
         },
         _initEvent: function () {
             vc.on('editOrg', 'openEditOrgModal', function (_params) {
@@ -169,6 +170,26 @@
                         console.log('请求失败处理');
                     }
                 );
+            },
+            _loadEditEnterCommunitys:function () {
+                //belongCommunitys
+                var param = {
+                    params:{
+                        _uid:'mmmllnnjhhjjh'
+                    }
+                }
+
+                //发送get请求
+                vc.http.get('editOrg',
+                    'listEnterCommunitys',
+                    param,
+                    function (json, res) {
+                        var _enterCommunitys = JSON.parse(json);
+                        vc.component.editOrgInfo.belongCommunitys = _enterCommunitys.communitys;
+                    }, function (errInfo, error) {
+                        console.log('请求失败处理');
+                    }
+                );
             }
         }
     });

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

@@ -73,6 +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-center">操作</th>
                                 </tr>
                                 </thead>
@@ -82,13 +83,14 @@
                                     <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">
-                                        <div class="btn-group" v-if="org.orgLevel != 1">
+                                        <div class="btn-group" v-if="org.allowOperation == T">
                                             <button class="btn-white btn btn-xs" v-on:click="_openEditOrgModel(org)">
                                                 修改
                                             </button>
                                         </div>
-                                        <div class="btn-group" v-if="org.orgLevel != 1">
+                                        <div class="btn-group" v-if="org.allowOperation == T">
                                             <button class="btn-white btn btn-xs" v-on:click="_openDeleteOrgModel(org)">
                                                 删除
                                             </button>

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

@@ -118,6 +118,7 @@
                                 orgId: _item.orgId,
                                 orgLevel: _orgLevel,
                                 text: _item.orgLevelName + '|' + _item.orgName,
+                                belongCommunityId:_item.belongCommunityId,
                                 href: function (_item) {
                                 },
                                 tags: [0],

+ 3 - 0
WebService/src/main/resources/components/pageFramePackage/initData/initData.html

@@ -0,0 +1,3 @@
+<div>
+    <!-- 只是负责数据加载 -->
+</div>

+ 38 - 0
WebService/src/main/resources/components/pageFramePackage/initData/initData.js

@@ -0,0 +1,38 @@
+(function (vc) {
+    vc.extends({
+        data: {
+            initDataInfo: {}
+        },
+        _initMethod: function () {
+
+        },
+        _initEvent: function () {
+            vc.on('initData', 'loadCommunityInfo', function (_param) {
+                vc.component._loadCommunityInfo(_param);
+            })
+        },
+        methods: {
+            _loadCommunityInfo: function (_param) {
+                vc.http.get('initData',
+                    'getCommunitys',
+                    '',
+                    function (json, res) {
+                        if (res.status == 200) {
+                            var _communityInfos = JSON.parse(json);
+                            if (_communityInfos != null && _communityInfos.length > 0) {
+                                vc.setCurrentCommunity(_communityInfos[0]);
+                                vc.setCommunitys(_communityInfos);
+                            }
+                            vc.jumpToPage(_param.url);
+                        }
+                    }, function () {
+                        console.log('请求失败处理');
+                        vc.jumpToPage(_param.url);
+                    }
+                );
+            }
+        }
+    });
+
+
+})(window.vc);

+ 2 - 0
WebService/src/main/resources/components/pageFramePackage/login/login.html

@@ -19,4 +19,6 @@
         <a class="btn btn-sm btn-white btn-block" href="/flow/register">请注册</a>
     </div>
 
+    <vc:create name="initData"></vc:create>
+
 </div>

+ 5 - 3
WebService/src/main/resources/components/pageFramePackage/login/login.js

@@ -84,9 +84,11 @@
                     },
                     function (json, res) {
                         //vm.menus = vm.refreshMenuActive(JSON.parse(json),0);
-                        if (res.status == 200) {
-                            vc.jumpToPage("/");
-                            return;
+                        if(res.status == 200){
+                            vc.emit('initData', 'loadCommunityInfo',{
+                                url:'/'
+                            });
+                            return ;
                         }
                         vc.component.loginInfo.errorInfo = json;
                     },

+ 18 - 0
java110-bean/src/main/java/com/java110/dto/org/OrgDto.java

@@ -22,6 +22,8 @@ public class OrgDto extends PageDto implements Serializable {
     private String storeId;
     private String orgId;
     private String belongCommunityId;
+    private String belongCommunityName;
+    private String allowOperation;
 
     private String parentOrgName;
 
@@ -122,4 +124,20 @@ public class OrgDto extends PageDto implements Serializable {
     public void setBelongCommunityId(String belongCommunityId) {
         this.belongCommunityId = belongCommunityId;
     }
+
+    public String getBelongCommunityName() {
+        return belongCommunityName;
+    }
+
+    public void setBelongCommunityName(String belongCommunityName) {
+        this.belongCommunityName = belongCommunityName;
+    }
+
+    public String getAllowOperation() {
+        return allowOperation;
+    }
+
+    public void setAllowOperation(String allowOperation) {
+        this.allowOperation = allowOperation;
+    }
 }

+ 18 - 0
java110-bean/src/main/java/com/java110/vo/api/org/ApiOrgDataVo.java

@@ -11,7 +11,9 @@ public class ApiOrgDataVo implements Serializable {
     private String parentOrgId;
     private String parentOrgName;
     private String belongCommunityId;
+    private String belongCommunityName;
     private String description;
+    private String allowOperation;
 
     private String orgLevelName;
 
@@ -78,4 +80,20 @@ public class ApiOrgDataVo implements Serializable {
     public void setBelongCommunityId(String belongCommunityId) {
         this.belongCommunityId = belongCommunityId;
     }
+
+    public String getBelongCommunityName() {
+        return belongCommunityName;
+    }
+
+    public void setBelongCommunityName(String belongCommunityName) {
+        this.belongCommunityName = belongCommunityName;
+    }
+
+    public String getAllowOperation() {
+        return allowOperation;
+    }
+
+    public void setAllowOperation(String allowOperation) {
+        this.allowOperation = allowOperation;
+    }
 }

+ 23 - 7
java110-db/src/main/resources/mapper/user/OrgServiceDaoImplMapper.xml

@@ -7,9 +7,9 @@
     <!-- 保存组织信息 add by wuxw 2018-07-03 -->
     <insert id="saveBusinessOrgInfo" parameterType="Map">
         insert into business_org(
-        org_name,operate,parent_org_id,description,org_level,store_id,b_id,org_id,belong_community_id
+        org_name,operate,parent_org_id,description,org_level,store_id,b_id,org_id,belong_community_id,allow_operation
         ) values (
-        #{orgName},#{operate},#{parentOrgId},#{description},#{orgLevel},#{storeId},#{bId},#{orgId},#{belongCommunityId}
+        #{orgName},#{operate},#{parentOrgId},#{description},#{orgLevel},#{storeId},#{bId},#{orgId},#{belongCommunityId},#{allowOperation}
         )
     </insert>
 
@@ -18,7 +18,8 @@
     <select id="getBusinessOrgInfo" parameterType="Map" resultType="Map">
         select t.org_name,t.org_name orgName,t.operate,t.parent_org_id,t.parent_org_id
         parentOrgId,t.description,t.org_level,t.org_level orgLevel,t.store_id,t.store_id storeId,t.b_id,t.b_id
-        bId,t.org_id,t.org_id orgId,t.belong_community_id ,t.belong_community_id belongCommunityId
+        bId,t.org_id,t.org_id orgId,t.belong_community_id ,t.belong_community_id belongCommunityId,
+        t.allow_operation ,t.allow_operation allowOperation
         from business_org t
         where 1 =1
         <if test="orgName !=null and orgName != ''">
@@ -48,6 +49,9 @@
         <if test="belongCommunityId !=null and belongCommunityId != ''">
             and t.belong_community_id= #{belongCommunityId}
         </if>
+        <if test="allowOperation !=null and allowOperation != ''">
+            and t.allow_operation= #{allowOperation}
+        </if>
 
     </select>
 
@@ -55,8 +59,8 @@
     <!-- 保存组织信息至 instance表中 add by wuxw 2018-07-03 -->
     <insert id="saveOrgInfoInstance" parameterType="Map">
         insert into u_org(
-        org_name,parent_org_id,description,org_level,status_cd,store_id,b_id,org_id,belong_community_id
-        ) select t.org_name,t.parent_org_id,t.description,t.org_level,'0',t.store_id,t.b_id,t.org_id,t.belong_community_id
+        org_name,parent_org_id,description,org_level,status_cd,store_id,b_id,org_id,belong_community_id,allow_operation
+        ) select t.org_name,t.parent_org_id,t.description,t.org_level,'0',t.store_id,t.b_id,t.org_id,t.belong_community_id,t.allow_operation
         from business_org t
         where 1=1
         <if test="orgName !=null and orgName != ''">
@@ -84,6 +88,9 @@
         <if test="belongCommunityId !=null and belongCommunityId != ''">
             and t.belong_community_id= #{belongCommunityId}
         </if>
+        <if test="allowOperation !=null and allowOperation != ''">
+            and t.allow_operation= #{allowOperation}
+        </if>
 
     </insert>
 
@@ -93,7 +100,8 @@
         select t.org_name,t.org_name orgName,t.parent_org_id,t.parent_org_id
         parentOrgId,t.description,t.org_level,t.org_level orgLevel,td.name orgLevelName,t.status_cd,t.status_cd
         statusCd,t.store_id,t.store_id storeId,t.b_id,t.b_id bId,t.org_id,t.org_id orgId,uo.org_name parentOrgName,
-        t.belong_community_id ,t.belong_community_id belongCommunityId
+        t.belong_community_id ,t.belong_community_id belongCommunityId,
+        t.allow_operation ,t.allow_operation allowOperation
         from u_org t,t_dict td,u_org uo
         where 1 =1
         and t.org_level = td.status_cd
@@ -128,6 +136,9 @@
         <if test="belongCommunityId !=null and belongCommunityId != ''">
             and t.belong_community_id= #{belongCommunityId}
         </if>
+        <if test="allowOperation !=null and allowOperation != ''">
+            and t.allow_operation= #{allowOperation}
+        </if>
         <if test="page != -1 and page != null ">
             limit #{page}, #{row}
         </if>
@@ -159,6 +170,9 @@
         <if test="storeId !=null and storeId != ''">
             , t.store_id= #{storeId}
         </if>
+        <if test="allowOperation !=null and allowOperation != ''">
+            , t.allow_operation= #{allowOperation}
+        </if>
         where 1=1
         <if test="bId !=null and bId != ''">
             and t.b_id= #{bId}
@@ -206,7 +220,9 @@
         <if test="belongCommunityId !=null and belongCommunityId != ''">
             and t.belong_community_id= #{belongCommunityId}
         </if>
-
+        <if test="allowOperation !=null and allowOperation != ''">
+            and t.allow_operation= #{allowOperation}
+        </if>
 
     </select>
     <!-- 查询上级组织信息 -->

+ 6 - 0
java110-utils/src/main/java/com/java110/utils/constant/ServiceCodeConstant.java

@@ -507,6 +507,12 @@ public class ServiceCodeConstant {
      */
     public static final String SERVICE_CODE_LIST_COMMUNITYS = "community.listCommunitys";
 
+    /**
+     * 查询我的小区信息
+     */
+    public static final String SERVICE_CODE_LIST_MY_ENTERED_COMMUNITYS = "community.listMyEnteredCommunitys";
+
+
     /**
      * 查询需要审核入驻小区商户
      */