@ -4,17 +4,12 @@ import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject ;
import com.cloudstore.dev.api.util.TextUtil ;
import com.engine.core.impl.Service ;
import com.engine.organization.entity.search.QuickSearchCondition ;
import com.engine.organization.entity.search.QuickSearchDetail ;
import com.engine.organization.entity.search.QuickSearchOption ;
import com.engine.organization.entity.search.QuickSearchSetting ;
import com.engine.organization.entity.search.* ;
import com.engine.organization.mapper.condition.QuickSearchMapper ;
import com.engine.organization.service.QuickSearchService ;
import com.engine.organization.util.db.MapperProxyFactory ;
import org.apache.commons.collections.CollectionUtils ;
import org.apache.commons.lang.StringUtils ;
import weaver.conn.RecordSet ;
import weaver.conn.RecordSetTrans ;
import weaver.formmode.exttools.impexp.common.DateUtils ;
import weaver.general.BaseBean ;
import weaver.general.Util ;
@ -22,7 +17,6 @@ import weaver.hrm.User;
import weaver.hrm.resource.ResourceComInfo ;
import weaver.systeminfo.SystemEnv ;
import java.util.ArrayList ;
import java.util.HashMap ;
import java.util.List ;
import java.util.Map ;
@ -67,7 +61,7 @@ public class QuickSearchServiceImpl extends Service implements QuickSearchServic
//条件字段查询
List < QuickSearchCondition > quickSearchConditionList = getQuickSearchMapper ( ) . getQuickSearchConditionList ( user . getUID ( ) ) ;
JSONArray datas = new JSONArray ( ) ;
if ( CollectionUtils . isNotEmpty ( quickSearchConditionList ) ) {
if ( CollectionUtils . isNotEmpty ( quickSearchConditionList ) ) {
for ( QuickSearchCondition quickSearchCondition : quickSearchConditionList ) {
JSONObject obj = new JSONObject ( ) ;
String id = Util . null2String ( quickSearchCondition . getId ( ) ) ;
@ -75,7 +69,7 @@ public class QuickSearchServiceImpl extends Service implements QuickSearchServic
String customName = Util . null2String ( quickSearchCondition . getCustomName ( ) ) ;
String type = Util . null2String ( quickSearchCondition . getType ( ) ) ;
String orderId = Util . null2String ( quickSearchCondition . getOrderId ( ) ) ;
String showModel = null ! = quickSearchCondition . getShowModel ( ) ? quickSearchCondition . getShowModel ( ) . toString ( ) : "0" ;
String showModel = null ! = quickSearchCondition . getShowModel ( ) ? quickSearchCondition . getShowModel ( ) . toString ( ) : "0" ;
obj . put ( "cid" , id ) ;
obj . put ( "key" , id ) ;
obj . put ( "fieldid" , fieldId ) ;
@ -93,7 +87,7 @@ public class QuickSearchServiceImpl extends Service implements QuickSearchServic
//字段下拉框查询
List < QuickSearchOption > quickSearchOptionList = getQuickSearchMapper ( ) . getQuickSearchOptionList ( ) ;
JSONArray options = new JSONArray ( ) ;
if ( CollectionUtils . isNotEmpty ( quickSearchOptionList ) ) {
if ( CollectionUtils . isNotEmpty ( quickSearchOptionList ) ) {
for ( QuickSearchOption quickSearchOption : quickSearchOptionList ) {
JSONObject obj = new JSONObject ( ) ;
String fieldHtmlType = Util . null2String ( quickSearchOption . getFieldHtmlType ( ) ) ;
@ -181,20 +175,22 @@ public class QuickSearchServiceImpl extends Service implements QuickSearchServic
@Override
public Map < String , Object > saveQuickSearchInfo ( Map < String , Object > params ) {
Map < String , Object > apidatas = new HashMap < > ( ) ;
String isquicksearch = Util . null2String ( params . get ( "isquicksearch" ) ) ;
String isshowtype = Util . null2String ( params . get ( "isshowtype" ) ) ;
String ishidename = Util . null2String ( params . get ( "ishidename" ) ) ;
String _id = Util . null2String ( params . get ( "id" ) ) ;
String _data = Util . null2String ( params . get ( "data" ) ) ;
JSONArray datas = JSONArray . parseArray ( _data ) ;
Map < String , Object > apiDatas = new HashMap < > ( 16 ) ;
String isQuickSearch = Util . null2String ( params . get ( "isquicksearch" ) ) ;
String isShowType = Util . null2String ( params . get ( "isshowtype" ) ) ;
isShowType = StringUtils . isBlank ( isShowType ) ? "0" : isShowType ;
String isHideName = Util . null2String ( params . get ( "ishidename" ) ) ;
isHideName = StringUtils . isBlank ( isHideName ) ? "0" : isHideName ;
String id = Util . null2String ( params . get ( "id" ) ) ;
String data = Util . null2String ( params . get ( "data" ) ) ;
JSONArray datas = JSONArray . parseArray ( data ) ;
//配置信息更新
if ( "0" . equals ( _id ) | | "" . equals ( _id ) ) {
if ( "0" . equals ( id) | | "" . equals ( id) ) {
QuickSearchSetting quickSearchSetting = QuickSearchSetting . builder ( )
. belongTo ( user . getUID ( ) )
. isQuickSearch ( Integer . parseInt ( is quicks earch) )
. isShowType ( Integer . parseInt ( is showt ype) )
. isHideName ( Integer . parseInt ( is hiden ame) )
. isQuickSearch ( Integer . parseInt ( is QuickS earch) )
. isShowType ( Integer . parseInt ( is ShowT ype) )
. isHideName ( Integer . parseInt ( is HideN ame) )
. updateTor ( user . getUID ( ) )
. updateDate ( DateUtils . getCurrentDate ( ) )
. updateTime ( DateUtils . getCurrentTime ( ) )
@ -203,10 +199,10 @@ public class QuickSearchServiceImpl extends Service implements QuickSearchServic
getQuickSearchMapper ( ) . insertQuickSearchSetting ( quickSearchSetting ) ;
} else {
QuickSearchSetting quickSearchSetting = QuickSearchSetting . builder ( )
. id ( Integer . parseInt ( _ id) )
. isQuickSearch ( Integer . parseInt ( is quicks earch) )
. isShowType ( Integer . parseInt ( is showt ype) )
. isHideName ( Integer . parseInt ( is hiden ame) )
. id ( Integer . parseInt ( id) )
. isQuickSearch ( Integer . parseInt ( is QuickS earch) )
. isShowType ( Integer . parseInt ( is ShowT ype) )
. isHideName ( Integer . parseInt ( is HideN ame) )
. build ( ) ;
getQuickSearchMapper ( ) . updateQuickSearchSetting ( quickSearchSetting ) ;
}
@ -216,41 +212,40 @@ public class QuickSearchServiceImpl extends Service implements QuickSearchServic
for ( int i = 0 ; i < datas . size ( ) ; i + + ) {
JSONObject obj = ( JSONObject ) datas . get ( i ) ;
String field i d = obj . getString ( "fieldid" ) ;
String ori fieldi d = obj . getString ( "orifieldid" ) ;
int cid = Util . getIntValue ( obj . getString ( "cid" ) ) ;
String custom n ame = obj . getString ( "customname" ) ;
String field I d = obj . getString ( "fieldid" ) ;
String ori FieldI d = obj . getString ( "orifieldid" ) ;
Integer cid = Util . getIntValue ( obj . getString ( "cid" ) ) ;
String custom N ame = obj . getString ( "customname" ) ;
String type = obj . getString ( "type" ) ;
String order i d = obj . getString ( "orderid" ) ;
String show m odel = obj . getString ( "showmodel" ) ;
String order I d = obj . getString ( "orderid" ) ;
String show M odel = obj . getString ( "showmodel" ) ;
if ( cid > 0 ) {
list . remove ( cid ) ;
QuickSearchCondition quickSearchCondition = QuickSearchCondition . builder ( )
. belongTo ( user . getUID ( ) )
. fieldId ( field i d)
. customName ( custom n ame)
. fieldId ( field I d)
. customName ( custom N ame)
. type ( StringUtils . isBlank ( type ) ? null : Integer . parseInt ( type ) )
. orderId ( StringUtils . isBlank ( order i d) ? null : Integer . parseInt ( order i d) )
. showModel ( StringUtils . isBlank ( show m odel) ? null : Integer . parseInt ( show m odel) )
. orderId ( StringUtils . isBlank ( order I d) ? null : Integer . parseInt ( order I d) )
. showModel ( StringUtils . isBlank ( show M odel) ? null : Integer . parseInt ( show M odel) )
. id ( cid )
. build ( ) ;
getQuickSearchMapper ( ) . updateQuickSearchCondition ( quickSearchCondition ) ;
if ( ! field id. equals ( orifieldi d) ) {
if ( ! field Id. equals ( oriFieldI d) ) {
//改变了字段,将原先字段的明细删除
getQuickSearchMapper ( ) . deleteQuickSearchDetailByCid ( cid ) ;
}
} else {
QuickSearchCondition quickSearchCondition = QuickSearchCondition . builder ( )
. belongTo ( user . getUID ( ) )
. fieldId ( field i d)
. customName ( custom n ame)
. fieldId ( field I d)
. customName ( custom N ame)
. type ( StringUtils . isBlank ( type ) ? null : Integer . parseInt ( type ) )
. orderId ( StringUtils . isBlank ( order i d) ? null : Integer . parseInt ( order i d) )
. showModel ( StringUtils . isBlank ( show m odel) ? null : Integer . parseInt ( show m odel) )
. orderId ( StringUtils . isBlank ( order I d) ? null : Integer . parseInt ( order I d) )
. showModel ( StringUtils . isBlank ( show M odel) ? null : Integer . parseInt ( show M odel) )
. build ( ) ;
getQuickSearchMapper ( ) . insertQuickSearchCondition ( quickSearchCondition ) ;
}
}
if ( CollectionUtils . isNotEmpty ( list ) ) {
@ -258,113 +253,105 @@ public class QuickSearchServiceImpl extends Service implements QuickSearchServic
getQuickSearchMapper ( ) . deleteQuickSearchDetailByCids ( list ) ;
}
return apidatas ;
return apiDatas ;
}
@Override
public Map < String , Object > getQuickSearchDetailInfo ( Map < String , Object > params ) {
Map < String , Object > api d atas = new HashMap < > ( 16 ) ;
Map < String , Object > api D atas = new HashMap < > ( 16 ) ;
String cid = weaver . formmode . exttools . impexp . common . StringUtils . null2String ( params . get ( "cid" ) ) ;
RecordSet rs = new RecordSet ( ) ;
//开关查询
List < QuickSearchDetail > quickSearchDetailByCid = getQuickSearchMapper ( ) . getQuickSearchDetailByCid ( cid ) ;
String sql = "select id,customname,minnum,maxnum,type typeTemp,orderid,fieldid,belongto from jcl_quicksearch_detail where cid=? order by orderid asc,id asc" ;
rs . executeQuery ( sql , cid ) ;
List < QuickSearchDetail > quickSearchDetailList = getQuickSearchMapper ( ) . getQuickSearchDetailByCid ( cid ) ;
JSONArray datas = new JSONArray ( ) ;
while ( rs . next ( ) ) {
for ( QuickSearchDetail quickSearchDetail : quickSearchDetailList ) {
JSONObject obj = new JSONObject ( ) ;
String id = Util . null2String ( rs. getString ( "id" ) ) ;
String custom name = Util . null2String ( rs . getString ( "customname" ) ) ;
String min num = Util . null2String ( rs . getString ( "minnum" ) ) ;
min num = minn um. startsWith ( "0E" ) ? "0" : min n um;
String max num = Util . null2String ( rs . getString ( "maxnum" ) ) ;
max num = maxn um. startsWith ( "0E" ) ? "0" : max n um;
String type = Util . null2String ( rs. getString ( "typeTemp" ) ) ;
String order id = Util . null2String ( rs . getString ( "orderid" ) ) ;
String field id = Util . null2String ( rs . getString ( "fieldid" ) ) ;
String belong to = Util . null2String ( rs . getString ( "belongto" ) ) ;
String id = Util . null2String ( quickSearchDetail. getId ( ) ) ;
String custom Name = Util . null2String ( quickSearchDetail . getCustomName ( ) ) ;
String min Num = Util . null2String ( quickSearchDetail . getMinNum ( ) ) ;
min Num = minN um. startsWith ( "0E" ) ? "0" : min N um;
String max Num = Util . null2String ( quickSearchDetail . getMaxNum ( ) ) ;
max Num = maxN um. startsWith ( "0E" ) ? "0" : max N um;
String type = Util . null2String ( quickSearchDetail. getType ( ) ) ;
String order Id = Util . null2String ( quickSearchDetail . getOrderId ( ) ) ;
String field Id = Util . null2String ( quickSearchDetail . getFieldId ( ) ) ;
String belong To = Util . null2String ( quickSearchDetail . getBelongTo ( ) ) ;
obj . put ( "id" , id ) ;
obj . put ( "cid" , cid ) ;
obj . put ( "key" , id ) ;
obj . put ( "customname" , custom n ame) ;
obj . put ( "minnum" , min n um) ;
obj . put ( "maxnum" , max n um) ;
obj . put ( "customname" , custom N ame) ;
obj . put ( "minnum" , min N um) ;
obj . put ( "maxnum" , max N um) ;
obj . put ( "type" , type ) ;
obj . put ( "fieldid" , field i d) ;
obj . put ( "belongto" , belong t o) ;
obj . put ( "orderid" , order i d) ;
obj . put ( "fieldid" , field I d) ;
obj . put ( "belongto" , belong T o) ;
obj . put ( "orderid" , order I d) ;
datas . add ( obj ) ;
}
sql = "select b.fieldhtmltype,b.type typeTemp,b.fielddbtype from jcl_quicksearch_condition c left join hrm_formfield b on b.fieldid =c.fieldid where c.id= ? " ;
rs . executeQuery ( sql , cid ) ;
List < QuickSearchField > quickSearchFieldList = getQuickSearchMapper ( ) . getQuickSearchFieldListByConditionId ( cid ) ;
int precision = 0 ;
while ( rs . next ( ) ) {
String field htmltype = rs . getString ( "fieldhtmltype" ) ;
String type = rs. getString ( "typeTemp" ) ;
String dbtype = rs . getString ( "fielddbtype" ) ;
if ( "1" . equals ( field htmlt ype) & & ! "1" . equals ( type ) ) {
int digitsIndex = dbt ype. indexOf ( "," ) ;
precision = Util . getIntValue ( dbtype. substring ( digitsIndex + 1 , dbt ype. length ( ) - 1 ) , 0 ) ;
for ( QuickSearchField quickSearchField : quickSearchFieldList ) {
String field HtmlType = quickSearchField . getFieldHtmlType ( ) ;
String type = quickSearchField. getType ( ) ;
String fieldDbType = quickSearchField . getFieldDbType ( ) ;
if ( "1" . equals ( field HtmlT ype) & & ! "1" . equals ( type ) ) {
int digitsIndex = fieldDbT ype. indexOf ( "," ) ;
precision = Util . getIntValue ( fieldDbType. substring ( digitsIndex + 1 , fieldDbT ype. length ( ) - 1 ) , 0 ) ;
}
//if ("1".equals(fieldhtmltype) && "5".equals(type)) {
// precision = Util.getIntValue(rs.getString("qfws"),2);
//}
}
api d atas. put ( "datas" , datas ) ;
api d atas. put ( "precision" , precision ) ;
return api d atas;
apiDatas . put ( "datas" , datas ) ;
apiDatas . put ( "precision" , precision ) ;
return api D atas;
}
@Override
public Map < String , Object > saveQuickSearchDetailInfo ( Map < String , Object > params ) {
Map < String , Object > apidatas = new HashMap < > ( 16 ) ;
RecordSet rs = new RecordSet ( ) ;
Map < String , Object > apiDatas = new HashMap < > ( 16 ) ;
String cid = Util . null2String ( params . get ( "cid" ) ) ;
String _data = Util . null2String ( params . get ( "data" ) ) ;
JSONArray datas = JSONArray . parseArray ( _data ) ;
String sql = "" ;
//条件字段更新
RecordSetTrans rst = new RecordSetTrans ( ) ;
sql = "select id from jcl_quicksearch_detail where cid=? " ;
rs . executeQuery ( sql , cid ) ;
List < String > list = new ArrayList < > ( ) ;
while ( rs . next ( ) ) {
list . add ( rs . getString ( "id" ) ) ;
}
String data = Util . null2String ( params . get ( "data" ) ) ;
JSONArray datas = JSONArray . parseArray ( data ) ;
List < Integer > list = getQuickSearchMapper ( ) . getQuickSearchDetailByCid ( cid ) . stream ( ) . map ( QuickSearchDetail : : getId ) . collect ( Collectors . toList ( ) ) ;
try {
for ( int i = 0 ; i < datas . size ( ) ; i + + ) {
JSONObject obj = ( JSONObject ) datas . get ( i ) ;
String custom n ame = obj . getString ( "customname" ) ;
String field i d = obj . getString ( "fieldid" ) ;
String min n um = obj . getString ( "minnum" ) ;
min num = "" . equals ( minnum ) ? null : minn um;
String max n um = obj . getString ( "maxnum" ) ;
max num = "" . equals ( maxnum ) ? null : maxn um;
String customName = obj . getString ( "customname" ) ;
String fieldId = obj . getString ( "fieldid" ) ;
String minNum = obj . getString ( "minnum" ) ;
minNum = "" . equals ( minNum ) ? null : minNum ;
String max N um = obj . getString ( "maxnum" ) ;
max Num = "" . equals ( maxNum ) ? null : maxN um;
String type = obj . getString ( "type" ) ;
String orderid = obj . getString ( "orderid" ) ;
int id = Util . getIntValue ( obj . getString ( "id" ) ) ;
String orderId = obj . getString ( "orderid" ) ;
Integer id = Util . getIntValue ( obj . getString ( "id" ) ) ;
QuickSearchDetail quickSearchDetail = QuickSearchDetail . builder ( )
. cId ( StringUtils . isBlank ( cid ) ? null : Integer . parseInt ( cid ) )
. customName ( customName )
. minNum ( StringUtils . isBlank ( minNum ) ? null : Integer . parseInt ( minNum ) )
. maxNum ( StringUtils . isBlank ( maxNum ) ? null : Integer . parseInt ( maxNum ) )
. type ( StringUtils . isBlank ( type ) ? null : Integer . parseInt ( type ) )
. orderId ( StringUtils . isBlank ( orderId ) ? null : Integer . parseInt ( orderId ) )
. fieldId ( fieldId )
. belongTo ( user . getUID ( ) )
. build ( ) ;
if ( id > 0 ) {
list . remove ( id + "" ) ;
sql = "update jcl_quicksearch_detail set cid=?,customname=?,minnum=?,maxnum=?,type=?,orderid=?,fieldid=?,belongto=? where id=?" ;
rst . executeUpdate ( sql , cid , customname , minnum , maxnum , type , orderid , fieldid , user . getUID ( ) , id ) ;
list . remove ( id ) ;
quickSearchDetail. setId ( id ) ;
getQuickSearchMapper( ) . updateQuickSearchDetail ( quickSearchDetail ) ;
} else {
sql = "insert into jcl_quicksearch_detail(cid,customname,minnum,maxnum,type,orderid,fieldid,belongto) values(?,?,?,?,?,?,?,?)" ;
rst . executeUpdate ( sql , cid , customname , minnum , maxnum , type , orderid , fieldid , user . getUID ( ) ) ;
getQuickSearchMapper ( ) . insertQuickSearchDetail ( quickSearchDetail ) ;
}
}
rst . commit ( ) ;
if ( list . size ( ) > 0 ) {
String ids = StringUtils . join ( list . toArray ( ) , "," ) ;
rs . executeUpdate ( "delete from jcl_quicksearch_detail where id in (" + ids + ")" ) ;
if ( CollectionUtils . isNotEmpty ( list ) ) {
getQuickSearchMapper ( ) . deleteQuickSearchDetailByIds ( list ) ;
}
} catch ( Exception e ) {
rst . rollback ( ) ;
new BaseBean ( ) . writeLog ( e ) ;
e . printStackTrace ( ) ;
}
return api d atas;
return api D atas;
}