ソースを参照

Merge remote-tracking branch 'origin/master'

xiao547607 5 年 前
コミット
9ae6218215

+ 33 - 0
common/src/main/java/com/jpsoft/campus/modules/base/dto/ApportionDTO.java

@@ -0,0 +1,33 @@
+package com.jpsoft.campus.modules.base.dto;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import javax.validation.constraints.NotBlank;
+import java.io.Serializable;
+import java.util.Date;
+import java.util.List;
+
+@Data
+public class ApportionDTO implements Serializable {
+    @ApiModelProperty(value = "编号")
+    private String id;
+    @ApiModelProperty(value = "学生姓名")
+    private String studentName;
+    @ApiModelProperty(value = "学生证件类型")
+    private String studentCardType;
+    @ApiModelProperty(value = "学生证件号码")
+    private String studentIdCard;
+    @ApiModelProperty(value = "报名类型")
+    private String type;
+    @ApiModelProperty(value = "报名学校")
+    private String schoolId;
+    @ApiModelProperty(value = "报名状态")
+    private String status;
+    @ApiModelProperty(value = "预录取学校")
+    private String offerId;
+    @ApiModelProperty(value = "派位结果")
+    private String winner;
+}

+ 3 - 0
common/src/main/java/com/jpsoft/campus/modules/base/entity/Apportion.java

@@ -26,11 +26,13 @@ public class Apportion {
 	 */
         @ApiModelProperty(value = "学校ID")
 	private String schoolId;
+	private String schoolName;
 	/**
 	 *报名类型(A,B,C)
 	 */
         @ApiModelProperty(value = "报名类型(A,B,C)")
 	private String type;
+	private String typeName;
 	/**
 	 *删除标示
 	 */
@@ -41,6 +43,7 @@ public class Apportion {
 	 */
         @ApiModelProperty(value = "创建人")
 	private String createBy;
+	private String createByName;
 	/**
 	 *创建时间
 	 */

+ 5 - 0
common/src/main/java/com/jpsoft/campus/modules/base/entity/ApportionDetail.java

@@ -46,6 +46,11 @@ public class ApportionDetail {
 	 */
         @ApiModelProperty(value = "录取学校ID")
 	private String schoolId;
+	/**
+	 *派位结果
+	 */
+	@ApiModelProperty(value = "派位结果")
+    private Boolean winner;
 	/**
 	 *删除标示
 	 */

+ 15 - 2
common/src/main/resources/mapper/base/Apportion.xml

@@ -80,8 +80,21 @@ id_,school_id,type_,del_flag,create_by,create_time,update_by,update_time		from b
 			select * from base_apportion
 		]]>
 		<where>
-			<if test="searchParams.id != null">
-				and ID_ like #{searchParams.id}
+			<if test="searchParams.schoolId != null">
+				and school_id = #{searchParams.schoolId}
+			</if>
+			<if test="searchParams.type != null">
+				and type_ = #{searchParams.type}
+			</if>
+			<if test="searchParams.startDate != null">
+				<![CDATA[
+				and create_time >= #{searchParams.startDate}
+				]]>
+			</if>
+			<if test="searchParams.endDate != null">
+				<![CDATA[
+				and create_time < #{searchParams.endDate}
+				]]>
 			</if>
 		</where>
 		<foreach item="sort" collection="sortList"  open="order by" separator=",">

+ 7 - 2
common/src/main/resources/mapper/base/ApportionDetail.xml

@@ -10,6 +10,7 @@
 			<result property="studentId" column="student_id" />
 			<result property="personId" column="person_id" />
 			<result property="schoolId" column="school_id" />
+			<result property="winner" column="winner_" />
 			<result property="delFlag" column="del_flag" />
 			<result property="createBy" column="create_by" />
 			<result property="createTime" column="create_time" />
@@ -24,7 +25,7 @@
 	-->
 	<![CDATA[
 		insert into base_apportion_detail
-	    (id_,apportion_id,application_id,student_id,person_id,school_id,del_flag,create_by,create_time,update_by,update_time)
+	    (id_,apportion_id,application_id,student_id,person_id,school_id,winner_,del_flag,create_by,create_time,update_by,update_time)
 		values
 		(
 #{id,jdbcType=VARCHAR}
@@ -33,6 +34,7 @@
 ,#{studentId,jdbcType=VARCHAR}
 ,#{personId,jdbcType=VARCHAR}
 ,#{schoolId,jdbcType=VARCHAR}
+,#{winner,jdbcType= NUMERIC }
 ,#{delFlag,jdbcType= NUMERIC }
 ,#{createBy,jdbcType=VARCHAR}
 ,#{createTime,jdbcType= TIMESTAMP }
@@ -62,6 +64,9 @@
 				<if test="schoolId!=null">
 		school_id=#{schoolId,jdbcType=VARCHAR},
 		</if>
+			<if test="winner!=null">
+				winner_=#{winner,jdbcType= NUMERIC },
+			</if>
 				<if test="delFlag!=null">
 		del_flag=#{delFlag,jdbcType= NUMERIC },
 		</if>
@@ -82,7 +87,7 @@
 	</update>
 	<select id="get" parameterType="string" resultMap="ApportionDetailMap">
 		select 
-id_,apportion_id,application_id,student_id,person_id,school_id,del_flag,create_by,create_time,update_by,update_time		from base_apportion_detail where id_=#{0}
+id_,apportion_id,application_id,student_id,person_id,school_id,winner_,del_flag,create_by,create_time,update_by,update_time		from base_apportion_detail where id_=#{0}
 	</select>
 	<select id="exist" parameterType="string" resultType="int">
 		select count(*) from base_apportion_detail where id_=#{0}

+ 47 - 0
web/src/main/java/com/jpsoft/campus/modules/base/controller/ApplicationPrimaryController.java

@@ -960,4 +960,51 @@ public class ApplicationPrimaryController {
 
         return msgResult;
     }
+
+    @ApiOperation(value="派位页面的报名列表")
+    @RequestMapping(value = "pageListApportion",method = RequestMethod.POST)
+    public MessageResult<Map> pageListApportion(
+            String schoolId,String type,
+            @RequestParam(value="pageIndex",defaultValue="1") int pageIndex,
+            @RequestParam(value="pageSize",defaultValue="20") int pageSize,
+            @RequestAttribute String subject){
+
+        //当前用户ID
+        System.out.println(subject);
+
+        MessageResult<Map> msgResult = new MessageResult<>();
+
+        Map<String,Object> searchParams = new HashMap<>();
+
+        List<Sort> sortList = new ArrayList<>();
+        sortList.add(new Sort("a.create_time","desc"));
+
+        if (StringUtils.isNotEmpty(type)) {
+            searchParams.put("type",type);
+        }
+
+        Page<ApplicationPrimaryDTO> page = applicationPrimaryService.pageSearchDTO(searchParams,pageIndex,pageSize,true,sortList);
+        for(ApplicationPrimaryDTO applicationPrimaryDTO : page.getResult()){
+            List<AttachmentDTO> attachmentDTOList = new ArrayList<>();
+            AttachmentDTO attachmentDTO = new AttachmentDTO();
+            DataDictionary dataDictionary = dataDictionaryService.findByParentIdAndValue(DataDictionary.STUDENT_RELATED_CERT_ID,"3");
+            attachmentDTO.setId(dataDictionary.getId());
+            attachmentDTO.setName(dataDictionary.getName());
+
+            List<String> studentFilesList = studentFilesService.findUrlByApplicationIdAndFileType(applicationPrimaryDTO.getApplicationId(),attachmentDTO.getId());
+            attachmentDTO.setFiles(studentFilesList);
+            attachmentDTOList.add(attachmentDTO);
+
+            applicationPrimaryDTO.setStudentCertificationFileList(attachmentDTOList);
+            applicationPrimaryDTO.setRelationshipName(dataDictionaryService.getName(applicationPrimaryDTO.getRelationship()));
+            applicationPrimaryDTO.setTypeName(dataDictionaryService.findNameByCatalogNameAndValue("报名类型",applicationPrimaryDTO.getType()));
+            applicationPrimaryDTO.setStatusName(dataDictionaryService.findNameByCatalogNameAndValue("小学招生审核流程",applicationPrimaryDTO.getStatus()));
+            applicationPrimaryDTO.setCardType(dataDictionaryService.findNameByCatalogNameAndValue("证件类型",applicationPrimaryDTO.getCardType()));
+        }
+
+        msgResult.setResult(true);
+        msgResult.setData(PojoUtils.pageWrapper(page));
+
+        return msgResult;
+    }
 }

+ 45 - 4
web/src/main/java/com/jpsoft/campus/modules/base/controller/ApportionController.java

@@ -2,10 +2,16 @@ package com.jpsoft.campus.modules.base.controller;
 
 import com.github.pagehelper.Page;
 import com.jpsoft.campus.modules.base.entity.Apportion;
+import com.jpsoft.campus.modules.base.entity.SchoolInfo;
 import com.jpsoft.campus.modules.base.service.ApportionService;
+import com.jpsoft.campus.modules.base.service.SchoolInfoService;
 import com.jpsoft.campus.modules.common.dto.Sort;
 import com.jpsoft.campus.modules.common.dto.MessageResult;
 import com.jpsoft.campus.modules.common.utils.PojoUtils;
+import com.jpsoft.campus.modules.sys.entity.DataDictionary;
+import com.jpsoft.campus.modules.sys.entity.User;
+import com.jpsoft.campus.modules.sys.service.DataDictionaryService;
+import com.jpsoft.campus.modules.sys.service.UserService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.apache.commons.lang3.StringUtils;
@@ -15,6 +21,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
 import javax.servlet.http.HttpServletRequest;
+import java.text.ParseException;
 import java.text.SimpleDateFormat;
 import java.util.*;
 
@@ -26,6 +33,12 @@ public class ApportionController {
 
     @Autowired
     private ApportionService apportionService;
+    @Autowired
+    private SchoolInfoService schoolInfoService;
+    @Autowired
+    private DataDictionaryService dataDictionaryService;
+    @Autowired
+    private UserService userService;
 
     @ApiOperation(value="创建空记录")
     @GetMapping("create")
@@ -196,7 +209,7 @@ public class ApportionController {
     @ApiOperation(value="列表")
     @RequestMapping(value = "pageList",method = RequestMethod.POST)
     public MessageResult<Map> pageList(
-            String id,
+            String schoolId,String type,String startDate,String endDate,
             @RequestParam(value="pageIndex",defaultValue="1") int pageIndex,
             @RequestParam(value="pageSize",defaultValue="20") int pageSize,
             @RequestAttribute String subject){
@@ -209,13 +222,41 @@ public class ApportionController {
         Map<String,Object> searchParams = new HashMap<>();
 
         List<Sort> sortList = new ArrayList<>();
-        sortList.add(new Sort("id_","asc"));
+        sortList.add(new Sort("create_time","desc"));
 
-        if (StringUtils.isNotEmpty(id)) {
-            searchParams.put("id","%" + id + "%");
+        if (StringUtils.isNotEmpty(schoolId)) {
+            searchParams.put("schoolId",schoolId);
+        }
+        if (StringUtils.isNotEmpty(type)) {
+            searchParams.put("type",type);
+        }
+        if (StringUtils.isNotEmpty(startDate)) {
+            searchParams.put("startDate",startDate);
+        }
+        if (StringUtils.isNotEmpty(endDate)) {
+            try {
+                SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
+                Date date = sdf.parse(endDate);
+
+                Calendar calendar = Calendar.getInstance();
+                calendar.setTime(date);
+                calendar.add(calendar.DATE, 1);
+                searchParams.put("endDate", sdf.format(calendar.getTime()));
+            }
+            catch (ParseException e){
+                e.printStackTrace();
+            }
         }
 
         Page<Apportion> page = apportionService.pageSearch(searchParams,pageIndex,pageSize,true,sortList);
+        for(Apportion apportion : page.getResult()){
+            SchoolInfo schoolInfo = schoolInfoService.get(apportion.getSchoolId());
+            apportion.setSchoolName(schoolInfo.getName());
+            DataDictionary dataDictionary = dataDictionaryService.get(apportion.getType());
+            apportion.setTypeName(dataDictionary.getName());
+            User user = userService.get(apportion.getCreateBy());
+            apportion.setCreateByName(user.getRealName());
+        }
 
         msgResult.setResult(true);
         msgResult.setData(PojoUtils.pageWrapper(page));