提交 5f3c3874 编写于 作者: liyi_hz2008's avatar liyi_hz2008

[考勤管理]增加查询未打卡人员接口参数

上级 9ef20e8b
......@@ -990,8 +990,14 @@ public class AttendanceDetailFactory extends AbstractFactory {
return em.createQuery(cq.where(p)).setMaxResults(100000).getResultList();
}
public List<String> listSignedPersonsWithDeadLine( String deadline ) throws Exception {
/**
* 查询在指定截止日期前已经打过卡的人员
* @param deadline
* @param type:all#onDuty#offDuty#morningOffDuty#afternoonOnDuty
* @return
* @throws Exception
*/
public List<String> listSignedPersonsWithDeadLine( String deadline, String type ) throws Exception {
DateOperation dateOperation = new DateOperation();
if( StringUtils.isEmpty( deadline )){
deadline = dateOperation.getNowDateTime();
......@@ -1006,13 +1012,27 @@ public class AttendanceDetailFactory extends AbstractFactory {
Root<AttendanceDetail> root = cq.from( AttendanceDetail.class);
cq.select(root.get(AttendanceDetail_.id));
Predicate p = cb.equal( root.get( AttendanceDetail_.recordDateString ), recordDate );
Predicate p_or = cb.or(
cb.lessThan( root.get( AttendanceDetail_.onDutyTime ), deadlineTime),
cb.lessThan(root.get( AttendanceDetail_.morningOffDutyTime ), deadlineTime),
cb.lessThan(root.get( AttendanceDetail_.afternoonOnDutyTime ), deadlineTime),
cb.lessThan(root.get( AttendanceDetail_.offDutyTime ), deadlineTime)
);
p = cb.and( p, p_or );
if( StringUtils.equalsAnyIgnoreCase("onDuty")){
Predicate p_type = cb.lessThan( root.get( AttendanceDetail_.onDutyTime ), deadlineTime);
p = cb.and( p, p_type );
}else if(StringUtils.equalsAnyIgnoreCase("offDuty")){
Predicate p_type = cb.lessThan(root.get( AttendanceDetail_.offDutyTime ), deadlineTime);
p = cb.and( p, p_type );
}else if(StringUtils.equalsAnyIgnoreCase("morningOffDuty")){
Predicate p_type = cb.lessThan(root.get( AttendanceDetail_.morningOffDutyTime ), deadlineTime);
p = cb.and( p, p_type );
}else if(StringUtils.equalsAnyIgnoreCase("afternoonOnDuty")){
Predicate p_type = cb.lessThan(root.get( AttendanceDetail_.afternoonOnDutyTime ), deadlineTime);
p = cb.and( p, p_type );
}else{
Predicate p_or = cb.or(
cb.lessThan( root.get( AttendanceDetail_.onDutyTime ), deadlineTime),
cb.lessThan(root.get( AttendanceDetail_.morningOffDutyTime ), deadlineTime),
cb.lessThan(root.get( AttendanceDetail_.afternoonOnDutyTime ), deadlineTime),
cb.lessThan(root.get( AttendanceDetail_.offDutyTime ), deadlineTime)
);
p = cb.and( p, p_or );
}
cq.distinct(true).select(root.get(AttendanceDetail_.empName));
return em.createQuery(cq.where(p)).setMaxResults(100000).getResultList();
}
......
......@@ -17,9 +17,7 @@ import com.x.base.core.project.tools.ListTools;
import org.apache.commons.lang3.StringUtils;
import javax.servlet.http.HttpServletRequest;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.*;
/**
* 获取上班时间前X分钟未打卡人员信息的接口
......@@ -39,9 +37,11 @@ public class ActionNoneSignPersons extends BaseAction {
Boolean check = true;
DateOperation dateOperation = new DateOperation();
List<String> allNeedSignPersons = new ArrayList<>();
List<String> signedPersons = null;
List<String> signedPersons = new ArrayList<>();
List<String> wos = new ArrayList<>();
String signType = "all";
String[] signTypeArray = null;
List<String> signTypeList = new ArrayList<>();
try {
wrapIn = this.convertToWrapIn(jsonElement, Wi.class);
} catch (Exception e) {
......@@ -55,6 +55,17 @@ public class ActionNoneSignPersons extends BaseAction {
wrapIn.setDeadline( dateOperation.getNowDateTime() );
}
if( StringUtils.isEmpty( wrapIn.getSignType() )){
signType = "all";
}else{
signType = wrapIn.getSignType();
}
signTypeArray = signType.split("#");
for( String type : signTypeArray ){
signTypeList.add( type );
}
if ( check ) {
try {
attendanceEmployeeConfigList = attendanceEmployeeConfigServiceAdv.listByConfigType( "REQUIRED" );
......@@ -81,7 +92,50 @@ public class ActionNoneSignPersons extends BaseAction {
if (check) {
//查询在指定截止日期前已经打过卡的人员
signedPersons = attendanceDetailServiceAdv.listSignedPersonsWithDeadLine( wrapIn.getDeadline() );
if( signTypeList.contains( "all" )){
signedPersons = attendanceDetailServiceAdv.listSignedPersonsWithDeadLine( wrapIn.getDeadline(), "all" );
}else {
if( signTypeList.contains( "onDuty" )){
List<String> signedPersons_tmp = attendanceDetailServiceAdv.listSignedPersonsWithDeadLine( wrapIn.getDeadline(), "onDuty" );
if(ListTools.isNotEmpty( signedPersons_tmp )){
for( String tmp : signedPersons_tmp ){
if( !signedPersons.contains( tmp )){
signedPersons.add( tmp );
}
}
}
}
if( signTypeList.contains( "offDuty" )){
List<String> signedPersons_tmp = attendanceDetailServiceAdv.listSignedPersonsWithDeadLine( wrapIn.getDeadline(), "offDuty" );
if(ListTools.isNotEmpty( signedPersons_tmp )){
for( String tmp : signedPersons_tmp ){
if( !signedPersons.contains( tmp )){
signedPersons.add( tmp );
}
}
}
}
if( signTypeList.contains( "morningOffDuty" )){
List<String> signedPersons_tmp = attendanceDetailServiceAdv.listSignedPersonsWithDeadLine( wrapIn.getDeadline(), "morningOffDuty" );
if(ListTools.isNotEmpty( signedPersons_tmp )){
for( String tmp : signedPersons_tmp ){
if( !signedPersons.contains( tmp )){
signedPersons.add( tmp );
}
}
}
}
if( signTypeList.contains( "afternoonOnDuty" )){
List<String> signedPersons_tmp = attendanceDetailServiceAdv.listSignedPersonsWithDeadLine( wrapIn.getDeadline(), "afternoonOnDuty" );
if(ListTools.isNotEmpty( signedPersons_tmp )){
for( String tmp : signedPersons_tmp ){
if( !signedPersons.contains( tmp )){
signedPersons.add( tmp );
}
}
}
}
}
}
if (check) {
......@@ -104,9 +158,13 @@ public class ActionNoneSignPersons extends BaseAction {
}
public static class Wi{
@FieldDescribe( "截止时间点,如果不填写,则以当前时间作为截止时间" )
private String deadline = null;
@FieldDescribe( "未打卡类型:all#onDuty#offDuty#morningOffDuty#afternoonOnDuty, 可以多选#分隔" )
private String signType = null;
public String getDeadline() {
return deadline;
}
......@@ -114,6 +172,10 @@ public class ActionNoneSignPersons extends BaseAction {
public void setDeadline(String deadline) {
this.deadline = deadline;
}
public String getSignType() { return signType; }
public void setSignType(String signType) { this.signType = signType; }
}
public static class Wo extends WoText {
......
......@@ -322,8 +322,15 @@ public class AttendanceDetailService {
return business.getAttendanceDetailFactory().listRecordWithDateAndNoOffDuty( dateString );
}
public List<String> listSignedPersonsWithDeadLine(EntityManagerContainer emc, String deadline) throws Exception {
/**
* 查询在指定截止日期前已经打过卡的人员
* @param deadline
* @param type:all#onDuty#offDuty#morningOffDuty#afternoonOnDuty
* @return
* @throws Exception
*/
public List<String> listSignedPersonsWithDeadLine(EntityManagerContainer emc, String deadline, String type) throws Exception {
Business business = new Business( emc );
return business.getAttendanceDetailFactory().listSignedPersonsWithDeadLine( deadline );
return business.getAttendanceDetailFactory().listSignedPersonsWithDeadLine( deadline, type );
}
}
......@@ -320,14 +320,19 @@ public class AttendanceDetailServiceAdv {
/**
* 查询在指定截止日期前已经打过卡的人员
* @param deadline
* @param type:all#onDuty#offDuty#morningOffDuty#afternoonOnDuty
* @return
* @throws Exception
*/
public List<String> listSignedPersonsWithDeadLine( String deadline ) throws Exception {
public List<String> listSignedPersonsWithDeadLine( String deadline, String type ) throws Exception {
if( StringUtils.isEmpty( deadline )){
deadline = dateOperation.getNowDateTime();
}
if( StringUtils.isEmpty( type )){
type = "all";
}
try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) {
return attendanceDetailService.listSignedPersonsWithDeadLine( emc, deadline );
return attendanceDetailService.listSignedPersonsWithDeadLine( emc, deadline, type );
} catch ( Exception e ) {
throw e;
}
......
<?xml version="1.0" encoding="UTF-8"?><web-app id="x_component_assemble_control" metadata-complete="false" version="3.0"><display-name>x_component_assemble_control</display-name><context-param><param-name>project</param-name><param-value>com.x.base.core.project.x_component_assemble_control</param-value></context-param></web-app>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?><web-app id="x_component_assemble_control" metadata-complete="false" version="3.0"><display-name>x_component_assemble_control</display-name><context-param><param-name>project</param-name><param-value>com.x.base.core.project.x_component_assemble_control</param-value></context-param><welcome-file-list><welcome-file>/index.html</welcome-file></welcome-file-list></web-app>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?><web-app id="x_file_assemble_control" metadata-complete="false" version="3.0"><display-name>x_file_assemble_control</display-name><context-param><param-name>project</param-name><param-value>com.x.base.core.project.x_file_assemble_control</param-value></context-param></web-app>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?><web-app id="x_file_assemble_control" metadata-complete="false" version="3.0"><display-name>x_file_assemble_control</display-name><context-param><param-name>project</param-name><param-value>com.x.base.core.project.x_file_assemble_control</param-value></context-param><welcome-file-list><welcome-file>/index.html</welcome-file></welcome-file-list></web-app>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?><web-app id="x_general_assemble_control" metadata-complete="false" version="3.0"><display-name>x_general_assemble_control</display-name><context-param><param-name>project</param-name><param-value>com.x.base.core.project.x_general_assemble_control</param-value></context-param></web-app>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?><web-app id="x_general_assemble_control" metadata-complete="false" version="3.0"><display-name>x_general_assemble_control</display-name><context-param><param-name>project</param-name><param-value>com.x.base.core.project.x_general_assemble_control</param-value></context-param><welcome-file-list><welcome-file>/index.html</welcome-file></welcome-file-list></web-app>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?><web-app id="x_hotpic_assemble_control" metadata-complete="false" version="3.0"><display-name>x_hotpic_assemble_control</display-name><context-param><param-name>project</param-name><param-value>com.x.base.core.project.x_hotpic_assemble_control</param-value></context-param></web-app>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?><web-app id="x_hotpic_assemble_control" metadata-complete="false" version="3.0"><display-name>x_hotpic_assemble_control</display-name><context-param><param-name>project</param-name><param-value>com.x.base.core.project.x_hotpic_assemble_control</param-value></context-param><welcome-file-list><welcome-file>/index.html</welcome-file></welcome-file-list></web-app>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?><web-app id="x_jpush_assemble_control" metadata-complete="false" version="3.0"><display-name>x_jpush_assemble_control</display-name><context-param><param-name>project</param-name><param-value>com.x.base.core.project.x_jpush_assemble_control</param-value></context-param></web-app>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?><web-app id="x_jpush_assemble_control" metadata-complete="false" version="3.0"><display-name>x_jpush_assemble_control</display-name><context-param><param-name>project</param-name><param-value>com.x.base.core.project.x_jpush_assemble_control</param-value></context-param><welcome-file-list><welcome-file>/index.html</welcome-file></welcome-file-list></web-app>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?><web-app id="x_meeting_assemble_control" metadata-complete="false" version="3.0"><display-name>x_meeting_assemble_control</display-name><context-param><param-name>project</param-name><param-value>com.x.base.core.project.x_meeting_assemble_control</param-value></context-param></web-app>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?><web-app id="x_meeting_assemble_control" metadata-complete="false" version="3.0"><display-name>x_meeting_assemble_control</display-name><context-param><param-name>project</param-name><param-value>com.x.base.core.project.x_meeting_assemble_control</param-value></context-param><welcome-file-list><welcome-file>/index.html</welcome-file></welcome-file-list></web-app>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?><web-app id="x_message_assemble_communicate" metadata-complete="false" version="3.0"><display-name>x_message_assemble_communicate</display-name><context-param><param-name>project</param-name><param-value>com.x.base.core.project.x_message_assemble_communicate</param-value></context-param></web-app>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?><web-app id="x_message_assemble_communicate" metadata-complete="false" version="3.0"><display-name>x_message_assemble_communicate</display-name><context-param><param-name>project</param-name><param-value>com.x.base.core.project.x_message_assemble_communicate</param-value></context-param><welcome-file-list><welcome-file>/index.html</welcome-file></welcome-file-list></web-app>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?><web-app id="x_mind_assemble_control" metadata-complete="false" version="3.0"><display-name>x_mind_assemble_control</display-name><context-param><param-name>project</param-name><param-value>com.x.base.core.project.x_mind_assemble_control</param-value></context-param></web-app>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?><web-app id="x_mind_assemble_control" metadata-complete="false" version="3.0"><display-name>x_mind_assemble_control</display-name><context-param><param-name>project</param-name><param-value>com.x.base.core.project.x_mind_assemble_control</param-value></context-param><welcome-file-list><welcome-file>/index.html</welcome-file></welcome-file-list></web-app>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?><web-app id="x_okr_assemble_control" metadata-complete="false" version="3.0"><display-name>x_okr_assemble_control</display-name><context-param><param-name>project</param-name><param-value>com.x.base.core.project.x_okr_assemble_control</param-value></context-param></web-app>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?><web-app id="x_okr_assemble_control" metadata-complete="false" version="3.0"><display-name>x_okr_assemble_control</display-name><context-param><param-name>project</param-name><param-value>com.x.base.core.project.x_okr_assemble_control</param-value></context-param><welcome-file-list><welcome-file>/index.html</welcome-file></welcome-file-list></web-app>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?><web-app id="x_organization_assemble_authentication" metadata-complete="false" version="3.0"><display-name>x_organization_assemble_authentication</display-name><context-param><param-name>project</param-name><param-value>com.x.base.core.project.x_organization_assemble_authentication</param-value></context-param></web-app>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?><web-app id="x_organization_assemble_authentication" metadata-complete="false" version="3.0"><display-name>x_organization_assemble_authentication</display-name><context-param><param-name>project</param-name><param-value>com.x.base.core.project.x_organization_assemble_authentication</param-value></context-param><welcome-file-list><welcome-file>/index.html</welcome-file></welcome-file-list></web-app>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?><web-app id="x_organization_assemble_control" metadata-complete="false" version="3.0"><display-name>x_organization_assemble_control</display-name><context-param><param-name>project</param-name><param-value>com.x.base.core.project.x_organization_assemble_control</param-value></context-param></web-app>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?><web-app id="x_organization_assemble_control" metadata-complete="false" version="3.0"><display-name>x_organization_assemble_control</display-name><context-param><param-name>project</param-name><param-value>com.x.base.core.project.x_organization_assemble_control</param-value></context-param><welcome-file-list><welcome-file>/index.html</welcome-file></welcome-file-list></web-app>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?><web-app id="x_organization_assemble_express" metadata-complete="false" version="3.0"><display-name>x_organization_assemble_express</display-name><context-param><param-name>project</param-name><param-value>com.x.base.core.project.x_organization_assemble_express</param-value></context-param></web-app>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?><web-app id="x_organization_assemble_express" metadata-complete="false" version="3.0"><display-name>x_organization_assemble_express</display-name><context-param><param-name>project</param-name><param-value>com.x.base.core.project.x_organization_assemble_express</param-value></context-param><welcome-file-list><welcome-file>/index.html</welcome-file></welcome-file-list></web-app>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?><web-app id="x_organization_assemble_personal" metadata-complete="false" version="3.0"><display-name>x_organization_assemble_personal</display-name><context-param><param-name>project</param-name><param-value>com.x.base.core.project.x_organization_assemble_personal</param-value></context-param></web-app>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?><web-app id="x_organization_assemble_personal" metadata-complete="false" version="3.0"><display-name>x_organization_assemble_personal</display-name><context-param><param-name>project</param-name><param-value>com.x.base.core.project.x_organization_assemble_personal</param-value></context-param><welcome-file-list><welcome-file>/index.html</welcome-file></welcome-file-list></web-app>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?><web-app id="x_portal_assemble_designer" metadata-complete="false" version="3.0"><display-name>x_portal_assemble_designer</display-name><context-param><param-name>project</param-name><param-value>com.x.base.core.project.x_portal_assemble_designer</param-value></context-param></web-app>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?><web-app id="x_portal_assemble_designer" metadata-complete="false" version="3.0"><display-name>x_portal_assemble_designer</display-name><context-param><param-name>project</param-name><param-value>com.x.base.core.project.x_portal_assemble_designer</param-value></context-param><welcome-file-list><welcome-file>/index.html</welcome-file></welcome-file-list></web-app>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?><web-app id="x_portal_assemble_surface" metadata-complete="false" version="3.0"><display-name>x_portal_assemble_surface</display-name><context-param><param-name>project</param-name><param-value>com.x.base.core.project.x_portal_assemble_surface</param-value></context-param></web-app>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?><web-app id="x_portal_assemble_surface" metadata-complete="false" version="3.0"><display-name>x_portal_assemble_surface</display-name><context-param><param-name>project</param-name><param-value>com.x.base.core.project.x_portal_assemble_surface</param-value></context-param><welcome-file-list><welcome-file>/index.html</welcome-file></welcome-file-list></web-app>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?><web-app id="x_processplatform_assemble_bam" metadata-complete="false" version="3.0"><display-name>x_processplatform_assemble_bam</display-name><context-param><param-name>project</param-name><param-value>com.x.base.core.project.x_processplatform_assemble_bam</param-value></context-param></web-app>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?><web-app id="x_processplatform_assemble_bam" metadata-complete="false" version="3.0"><display-name>x_processplatform_assemble_bam</display-name><context-param><param-name>project</param-name><param-value>com.x.base.core.project.x_processplatform_assemble_bam</param-value></context-param><welcome-file-list><welcome-file>/index.html</welcome-file></welcome-file-list></web-app>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?><web-app id="x_processplatform_assemble_designer" metadata-complete="false" version="3.0"><display-name>x_processplatform_assemble_designer</display-name><context-param><param-name>project</param-name><param-value>com.x.base.core.project.x_processplatform_assemble_designer</param-value></context-param></web-app>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?><web-app id="x_processplatform_assemble_designer" metadata-complete="false" version="3.0"><display-name>x_processplatform_assemble_designer</display-name><context-param><param-name>project</param-name><param-value>com.x.base.core.project.x_processplatform_assemble_designer</param-value></context-param><welcome-file-list><welcome-file>/index.html</welcome-file></welcome-file-list></web-app>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?><web-app id="x_processplatform_assemble_surface" metadata-complete="false" version="3.0"><display-name>x_processplatform_assemble_surface</display-name><context-param><param-name>project</param-name><param-value>com.x.base.core.project.x_processplatform_assemble_surface</param-value></context-param></web-app>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?><web-app id="x_processplatform_assemble_surface" metadata-complete="false" version="3.0"><display-name>x_processplatform_assemble_surface</display-name><context-param><param-name>project</param-name><param-value>com.x.base.core.project.x_processplatform_assemble_surface</param-value></context-param><welcome-file-list><welcome-file>/index.html</welcome-file></welcome-file-list></web-app>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?><web-app id="x_processplatform_service_processing" metadata-complete="false" version="3.0"><display-name>x_processplatform_service_processing</display-name><context-param><param-name>project</param-name><param-value>com.x.base.core.project.x_processplatform_service_processing</param-value></context-param></web-app>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?><web-app id="x_processplatform_service_processing" metadata-complete="false" version="3.0"><display-name>x_processplatform_service_processing</display-name><context-param><param-name>project</param-name><param-value>com.x.base.core.project.x_processplatform_service_processing</param-value></context-param><welcome-file-list><welcome-file>/index.html</welcome-file></welcome-file-list></web-app>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?><web-app id="x_query_assemble_designer" metadata-complete="false" version="3.0"><display-name>x_query_assemble_designer</display-name><context-param><param-name>project</param-name><param-value>com.x.base.core.project.x_query_assemble_designer</param-value></context-param></web-app>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?><web-app id="x_query_assemble_designer" metadata-complete="false" version="3.0"><display-name>x_query_assemble_designer</display-name><context-param><param-name>project</param-name><param-value>com.x.base.core.project.x_query_assemble_designer</param-value></context-param><welcome-file-list><welcome-file>/index.html</welcome-file></welcome-file-list></web-app>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?><web-app id="x_query_assemble_surface" metadata-complete="false" version="3.0"><display-name>x_query_assemble_surface</display-name><context-param><param-name>project</param-name><param-value>com.x.base.core.project.x_query_assemble_surface</param-value></context-param></web-app>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?><web-app id="x_query_assemble_surface" metadata-complete="false" version="3.0"><display-name>x_query_assemble_surface</display-name><context-param><param-name>project</param-name><param-value>com.x.base.core.project.x_query_assemble_surface</param-value></context-param><welcome-file-list><welcome-file>/index.html</welcome-file></welcome-file-list></web-app>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?><web-app id="x_query_service_processing" metadata-complete="false" version="3.0"><display-name>x_query_service_processing</display-name><context-param><param-name>project</param-name><param-value>com.x.base.core.project.x_query_service_processing</param-value></context-param></web-app>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?><web-app id="x_query_service_processing" metadata-complete="false" version="3.0"><display-name>x_query_service_processing</display-name><context-param><param-name>project</param-name><param-value>com.x.base.core.project.x_query_service_processing</param-value></context-param><welcome-file-list><welcome-file>/index.html</welcome-file></welcome-file-list></web-app>
\ No newline at end of file
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册