| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254 |
- package com.chinaitop.depot.system.service.impl;
- import java.util.ArrayList;
- import java.util.HashMap;
- import java.util.List;
- import java.util.Map;
- import javax.annotation.Resource;
- import org.apache.commons.lang.StringUtils;
- import org.springframework.beans.factory.annotation.Value;
- import org.springframework.context.annotation.Bean;
- import org.springframework.stereotype.Service;
- import org.springframework.util.LinkedMultiValueMap;
- import org.springframework.util.MultiValueMap;
- import org.springframework.web.client.RestTemplate;
- import com.chinaitop.depot.system.mapper.OrgInfoMapper;
- import com.chinaitop.depot.system.model.OrgInfo;
- import com.chinaitop.depot.system.model.OrgInfoExample;
- import com.chinaitop.depot.system.service.OrgInfoService;
- import com.fasterxml.jackson.core.JsonProcessingException;
- import com.fasterxml.jackson.databind.ObjectMapper;
- @Service
- public class OrgInfoServiceImpl implements OrgInfoService {
-
- @Resource
- private OrgInfoMapper OrgInfoMapper;
-
- @Resource
- private RestTemplate restTemplate;
-
- @Value("${jsgjjsjUrl}")
- private String jsgjjsjUrl;
-
- @Override
- public List<OrgInfo> queryByExample(OrgInfoExample example) {
- // TODO Auto-generated method stub
- return OrgInfoMapper.selectByExample(example);
- }
- @Override
- public OrgInfo findById(Integer orgId) {
- // TODO Auto-generated method stub
- return OrgInfoMapper.selectByPrimaryKey(orgId);
- }
- @Override
- public void add(OrgInfo orgInfo) {
- // TODO Auto-generated method stub
- OrgInfoMapper.insert(orgInfo);
-
-
- /**
- * 国家局数据
- */
-
- this.gjjjk(orgInfo.getOrgId(), orgInfo.getOrgId(), "i");
-
- }
- @Override
- public void update(OrgInfo orgInfo) {
- // TODO Auto-generated method stub
- OrgInfoMapper.updateByPrimaryKey(orgInfo);
-
- /**
- * 国家局数据
- */
- this.gjjjk(orgInfo.getOrgId(), orgInfo.getOrgId(), "u");
- }
- @Override
- public void remove(Integer orgId) {
- // TODO Auto-generated method stub
- OrgInfoMapper.deleteByPrimaryKey(orgId);
-
- /**
- * 国家局数据
- */
-
- this.gjjjk(orgId, orgId, "d");
- }
- @Override
- public void updateSelective(OrgInfo orgInfo) {
- OrgInfoMapper.updateByPrimaryKeySelective(orgInfo);
- }
- @Override
- public List<OrgInfo> queryTreeByExample(OrgInfoExample example) {
- List<OrgInfo> orglist = OrgInfoMapper.selectByExample(example);
- List<OrgInfo> toplist = this.getChildren(orglist, 0);
- this.fillTree(orglist, toplist);
- return toplist;
- }
- /**
- * 根据编号获取所有子节点
- * @param list
- * @param parentId
- * @return
- */
- private List<OrgInfo> getChildren(List<OrgInfo> list, Integer parentId) {
- List<OrgInfo> children = new ArrayList<OrgInfo>();
- for(OrgInfo org: list){
- if (org.getParentId().equals(parentId)) {
- children.add(org);
- }
- }
- return children;
- }
- /**
- * 递归填充树形结构
- * @param allList
- * @param childList
- */
- public void fillTree(List<OrgInfo> allList, List<OrgInfo> childList) {
- if(childList!=null){
- for(OrgInfo org : childList) {
- List<OrgInfo> childList1 = this.getChildren(allList, org.getOrgId());
- fillTree(allList, childList1);
- org.setChildren(childList1);
- }
- }
- }
- @Override
- public OrgInfo getDepotInfo(OrgInfo orgInfo) {
- if (orgInfo.getOrgClassId()==5318) {
- return orgInfo;
- } else {
- if (orgInfo.getParentId()!=0) {
- OrgInfo parentOrg = OrgInfoMapper.selectByPrimaryKey(orgInfo.getParentId());
- return getDepotInfo(parentOrg);
- }
- }
- return null;
- }
- private void addChildren(List<OrgInfo> allList, List<OrgInfo> childList, List<OrgInfo> resultList) {
- resultList.addAll(childList);
- for(OrgInfo org : childList) {
- List<OrgInfo> childList1 = this.getChildren(allList, org.getOrgId());
- if(childList1.size()>0){
- addChildren(allList, childList1, resultList);
- }
- }
- }
- @Override
- public List<OrgInfo> getAllChildren(Integer orgId, String barnName) {
- OrgInfoExample example = new OrgInfoExample();
- OrgInfoExample.Criteria criteria = example.createCriteria();
- //传输过来的库点名称
- if(barnName!=""&&barnName!=null){
- String[] barn = barnName.split(":");
- if(StringUtils.isNotBlank(barn[0]) && barn[0].compareTo("null")!=0){
- criteria.andOrgNameEqualTo(barn[0]);
- }
- criteria.andOrgClassIdEqualTo(Integer.parseInt(barn[1]));
- }
- List<OrgInfo> orglist = OrgInfoMapper.selectByExample(example);
- OrgInfo orgInfo = OrgInfoMapper.selectByPrimaryKey(orgId);
- List<OrgInfo> toplist = this.getChildren(orglist, orgId);
- List<OrgInfo> resultList = new ArrayList<>();
- resultList.add(orgInfo);
- this.addChildren(orglist, toplist, resultList);
- return resultList;
- }
-
- @Override
- public List<OrgInfo> getTreeListByOrgId(Integer orgId) {
- // 当前库.
- OrgInfo rootOrgInfo = OrgInfoMapper.selectByPrimaryKey(orgId);
-
- /*this.fillTree(rootOrgInfo, toplist);
-
- OrgInfoExample example = new OrgInfoExample();
- Criteria createCriteria = example.createCriteria();
- createCriteria.andParentIdEqualTo(orgId);
-
-
- List<OrgInfo> toplist = this.getChildren(orglist, 0);
- this.fillTree(orglist, toplist);
- return toplist;*/
-
- return null;
- }
- @Override
- public List<OrgInfo> getOrgLevel(Map<String,Object> map) {
- return OrgInfoMapper.getOrgLevel(map);
- }
-
- @Override
- public void updateOrgLevel(OrgInfo orgInfo) {
- Map<String,Object> map = new HashMap<String,Object>();
- if(orgInfo.getParentId() == 0 && (orgInfo.getLevelCode() == null || ("").equals(orgInfo.getLevelCode()))) {//根机构
- map.put("parentId", orgInfo.getOrgId());
- map.put("parentLevel", "10");
- }else {
- map.put("parentId", orgInfo.getOrgId());
- map.put("parentLevel", orgInfo.getLevelCode());
- }
- OrgInfoMapper.updateOrgLevel(map);
- }
-
- @Override
- public List<OrgInfo> getAllDepotInfo() {
- return OrgInfoMapper.getAllDepotInfo();
- }
- /**
- * 国家局数据
- */
- public void gjjjk(Integer id, Integer orgId,String czbz) {
-
- Map<String, Object> gjjMap = OrgInfoMapper.getKqGjjDate(orgId);
- gjjMap.put("czbz", czbz);
- gjjMap.put("is_upload", 0);
- String tableName = "ODS_UP_KQXXJK";
-
- /**
- * restTemplate调用
- */
- //String url = "http://localhost:9022/recPublish/sendMessage";//
- // 发送post请求,并打印结果,以String类型接收响应结果JSON字符串
- MultiValueMap<String, Object> sendMap = new LinkedMultiValueMap<>();
- //Map<String, Object> sendMap = new HashMap<String, Object>();
- ObjectMapper objectMapper = new ObjectMapper();
- String jsonMap;
- try {
- jsonMap = objectMapper.writeValueAsString(gjjMap);
- sendMap.add("gjjMapJson",jsonMap);
- } catch (JsonProcessingException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- sendMap.add("tableName", tableName);
- sendMap.add("orgId", orgId);
- System.out.println(jsgjjsjUrl);
-
- restTemplate.postForObject(jsgjjsjUrl, sendMap, String.class);
- }
- }
|