最近仕事で出会った9つの問題(2019-08-16)は、それぞれの問題に汗と水or血と涙を残した.

5954 ワード

仕事の問題


1、会社名「上海xx」


契約名「上海xx契約」以前に定められた照合関係は、契約名に会社名が含まれている場合、2者が照合しているとみなされます.ただし、会社名にはスペースが含まれているため、一致しません.
trimのような方法は、正解かもしれません.マッチング方式は、Linuxのファイルシステムでマッチングするのではなく、より情報化された方法で解決する必要があります.

2、linuxのあるディレクトリを検索し、同時に2つの文字列を含む


find/logs/system/-type f-iname"system.log.2019-07*"|xargs grep"雷哥"|grep"悪事を働いた"-i linxuファイル検索はあいまいなマッチングをサポートし、ファイル名は"syslog"

3、mysql結果セットResultSet列別名


ResultSetMetaData.getColumnNameとResultSetMetaData.getColumnLabelの違いは簡単に言えばクエリー文select cdである.id client_data_id from dualにとって
ResultSetMetaData.getColumnName(i)は、列名id ResultSetMetaDataを表示する.getColumnLabel(i)は、カラム別名client_data_id参照を表示します.https://blog.csdn.net/u011089766/article/details/54141985

4、Map属性copyからBean


属性ソースがmapの場合はpopulateメソッドが必要です.普通のbeanならcopyPropertiesでいいです.(もちろんSpringはBeanUtils.copyPropertiesも持参しています)

org.apache.commons.beanutils.BeanUtils
Map map = Maps.newHashMap();
map.put("loginName", "123");
OaOrgMember oaOrgMember = new OaOrgMember();
BeanUtils.copyProperties(map, oaOrgMember );
BeanUtils.populate(oaOrgMember, map);

5、No converter found for return value of type:

public class Result {
private T result;
}

getresult , , ,
get set。
2 , , 。
, JSON 。
2 get/set , json , , 。


/* public T getresult() {  
        return result;  
    }  

    public void setresult(T result) {  
        this.result = result;  
    }  
    */  
    //  2       
   public T getResult() {  
        return result;  
    } 
    
    public void setResult(T result) {  
        this.result = result;  
    }   
}  

6、mavenパッケージ

maven dev、pre、pro 3 。
maven dev, dev 。
,maven -Ppre, ,pre 。
, , maven dev, 。
, 。

: maven install , -P dev 。

:pre , pre 。
Eclipse target , , -Pdev -P ,
, 。

7、 さcopy シーンとコード

: 10 。
, 1 tree 。
, 1 。
, 。

, 2 , OrgMember ,
List 。

: copy。2 , , 。
, 。


//   OA        , 1       ,  2   
	private OrgMemberList findAllJuniorMemberList(String superiorUsername, List allOrgMemerList) {
		Map orgMemberMap = JavaKit.listToMap(allOrgMemerList, "loginName");
		//      oa  ,   ,     ,         
		OrgMember superiorOrgMember = orgMemberMap.get(superiorUsername);
		if (superiorOrgMember == null) {
			log.error("findAllJuniorMemberList,superiorOrgMember is null,superiorUsername={}", superiorUsername);
			return null;
		}
		List newList = depCopy(allOrgMemerList);
		//   id,          
		Long superiorId = superiorOrgMember.getId();
		List juniorMemberList= doFindJuniorMemberList(superiorId, allOrgMemerList,false);
		List juniorMemberTreeList= doFindJuniorMemberList(superiorId, newList,true);
		OrgMemberList orgMemberList = new OrgMemberList();
		orgMemberList.setJuniorMemberTreeList(juniorMemberTreeList);
		orgMemberList.setJuniorMemberList(juniorMemberList);
		return orgMemberList;
	}

  copy  
//    ,        Serialiable  
	public static  List deepCopy(List srcList) {
		ByteArrayOutputStream byteOut = new ByteArrayOutputStream();
		try {
			ObjectOutputStream out = new ObjectOutputStream(byteOut);
			out.writeObject(srcList);

			ByteArrayInputStream byteIn = new ByteArrayInputStream(byteOut.toByteArray());
			ObjectInputStream inStream = new ObjectInputStream(byteIn);
			List destList = (List) inStream.readObject();
			return destList;
		} catch (IOException e) {
			e.printStackTrace();
		} catch (ClassNotFoundException e) {
			e.printStackTrace();
		}
		return null;
	}

8 Mybatis(MybatisPlus)データソースまたは データベース

OA , 。

OA 。

, MybatisPlus ,CRUD , ,
, 。 , , 。

, 。
, , 。
, , 。

9プロジェクト フォームを システムOAへ

OA 。
, 。
“ ”, Linux 。

,“ ” 。
OA , “URL”, Linux ,
OA。

: , 。
OA , , 。
, , 。

OA :“ ”

a、 , , , 。 。 b、 , ok
c、 , ,
d、“ ” , 。
, 。
, , 。
e、 , , 。

f、 , , 1 。
, , , , 。
, 。
, , 。
, , 55M, 。

PDF, , “ ”, ?
, , ,5M , PDF , 10M。
PDF , “ ” , ,
PDF 。


a. , 。
b. OA, , , 。
c. OA , URL。
( OA , )