ソースを参照

派位,调剂,审核等功能

xiao547607 4 年 前
コミット
52d2c67cb9

+ 1 - 0
common/src/main/java/com/jpsoft/campus/modules/base/dao/ApportionDetailDAO.java

@@ -15,6 +15,7 @@ public interface ApportionDetailDAO {
 	int exist(String id);
 	ApportionDetail get(String id);
 	int delete(String id);
+	List<ApportionDetail> findByStudentId(String studentId);
 	List<ApportionDetail> list();
 	List<ApportionDetail> search(Map<String, Object> searchParams, List<Sort> sortList);
 	List<ApportionDetailDTO> pageSearchDTO(Map<String, Object> searchParams, List<Sort> sortList);

+ 19 - 0
common/src/main/java/com/jpsoft/campus/modules/base/dto/ApplicationMiddleDTO.java

@@ -1,6 +1,7 @@
 package com.jpsoft.campus.modules.base.dto;
 
 import com.fasterxml.jackson.annotation.JsonFormat;
+import com.jpsoft.campus.modules.base.entity.ApportionDetail;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import org.springframework.format.annotation.DateTimeFormat;
@@ -137,4 +138,22 @@ public class ApplicationMiddleDTO implements Serializable {
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8")
     @ApiModelProperty(value = "微信消息发送时间")
     private Date sendTime;
+
+    @ApiModelProperty(value = "报名资料数据目录")
+    private String categoryName;
+
+    @ApiModelProperty(value = "录取编号")
+    private String offerId;
+
+    @ApiModelProperty(value = "录取学校名称")
+    private String offerName;
+
+    @ApiModelProperty(value = "派位信息")
+    private ApportionDetail apportionDetail;
+
+    /**
+     *录取编号
+     */
+    @ApiModelProperty(value = "录取编号")
+    private String offerCode;
 }

+ 19 - 0
common/src/main/java/com/jpsoft/campus/modules/base/dto/ApplicationPrimaryDTO.java

@@ -1,6 +1,7 @@
 package com.jpsoft.campus.modules.base.dto;
 
 import com.fasterxml.jackson.annotation.JsonFormat;
+import com.jpsoft.campus.modules.base.entity.ApportionDetail;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import org.springframework.format.annotation.DateTimeFormat;
@@ -135,4 +136,22 @@ public class ApplicationPrimaryDTO implements Serializable {
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8")
     @ApiModelProperty(value = "微信消息发送时间")
     private Date sendTime;
+
+    @ApiModelProperty(value = "派位信息")
+    private ApportionDetail apportionDetail;
+
+    @ApiModelProperty(value = "报名资料数据目录")
+    private String categoryName;
+
+    @ApiModelProperty(value = "录取编号")
+    private String offerId;
+
+    @ApiModelProperty(value = "录取学校名称")
+    private String offerName;
+
+    /**
+     *录取编号
+     */
+    @ApiModelProperty(value = "录取编号")
+    private String offerCode;
 }

+ 7 - 0
common/src/main/java/com/jpsoft/campus/modules/base/entity/ApplicationMiddle.java

@@ -108,6 +108,13 @@ public class ApplicationMiddle {
 
 	@ApiModelProperty(value = "录取编号")
 	private String offerId;
+	@ApiModelProperty(value = "录取学校名称")
+	private String offerName;
+	/**
+	 *录取编号
+	 */
+	@ApiModelProperty(value = "录取编号")
+	private String offerCode;
 
 	@ApiModelProperty(value = "发送微信消息")
 	private Boolean isSend;

+ 8 - 0
common/src/main/java/com/jpsoft/campus/modules/base/entity/ApplicationPrimary.java

@@ -104,6 +104,14 @@ public class ApplicationPrimary {
     @ApiModelProperty(value = "录取编号")
     private String offerId;
 
+    @ApiModelProperty(value = "录取学校名称")
+    private String offerName;
+    /**
+     *录取编号
+     */
+    @ApiModelProperty(value = "录取编号")
+    private String offerCode;
+
     @ApiModelProperty(value = "发送微信消息")
     private Boolean isSend;
 

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

@@ -80,4 +80,8 @@ public class ApportionDetail {
 	@JsonFormat(pattern = "yyyy-MM-dd HH:mm",timezone ="GMT+8")
 	    @ApiModelProperty(value = "更新时间")
 	private Date updateTime;
+
+
+	@ApiModelProperty(value = "录取学校名称")
+	private String schoolName;
 }

+ 1 - 0
common/src/main/java/com/jpsoft/campus/modules/base/service/ApportionDetailService.java

@@ -14,6 +14,7 @@ public interface ApportionDetailService {
 	int insert(ApportionDetail model);
 	int update(ApportionDetail model);
 	int delete(String id);
+	List<ApportionDetail> findByStudentId(String studentId);
 	List<ApportionDetail> list();
 	Page<ApportionDetail> pageSearch(Map<String, Object> searchParams, int pageNum, int pageSize, boolean count, List<Sort> sortList);
 	Page<ApportionDetailDTO> pageSearchDTO(Map<String, Object> searchParams, int pageNum, int pageSize, boolean count, List<Sort> sortList);

+ 5 - 0
common/src/main/java/com/jpsoft/campus/modules/base/service/impl/ApportionDetailServiceImpl.java

@@ -54,6 +54,11 @@ public class ApportionDetailServiceImpl implements ApportionDetailService {
 		
 		return count > 0 ? true : false;
 	}
+
+	@Override
+	public List<ApportionDetail> findByStudentId(String studentId){
+		return apportionDetailDAO.findByStudentId(studentId);
+	}
 	
 	@Override
 	public List<ApportionDetail> list() {

+ 38 - 5
common/src/main/resources/mapper/base/ApplicationMiddle.xml

@@ -22,6 +22,8 @@
         <result property="chooseReason" column="choose_reason"/>
         <result property="hit" column="hit_"/>
         <result property="offerId" column="offer_id"/>
+        <result property="offerName" column="offer_name"/>
+        <result property="offerCode" column="offer_code"/>
         <result property="isSend" column="is_send"/>
         <result property="sendTime" column="send_time"/>
     </resultMap>
@@ -33,8 +35,8 @@
         -->
         <![CDATA[
 		insert into base_application_middle
-	    (id_,create_by,create_time,update_by,update_time,del_flag,type_,status_,category_id,now_address,person_id,school_id,student_id,street_id,community_id,choose_reason,hit_,offer_id
-	    is_send,send_time
+	    (id_,create_by,create_time,update_by,update_time,del_flag,type_,status_,category_id,now_address,person_id,school_id,student_id,street_id,community_id,choose_reason,hit_,offer_id,
+	    is_send,send_time,offer_code
 	    )
 		values
 		(
@@ -58,6 +60,7 @@
             ,#{offerId,jdbcType=VARCHAR}
 			,#{isSend,jdbcType=NUMERIC}
 			,#{sendTime,jdbcType=TIMESTAMP}
+			,#{offerCode,jdbcType=VARCHAR}
 		)
 	]]>
     </insert>
@@ -124,6 +127,9 @@
             <if test="sendTime!=null">
                 send_time=#{sendTime,jdbcType=TIMESTAMP},
             </if>
+            <if test="offerCode!=null">
+                offer_code=#{offerCode,jdbcType=TIMESTAMP},
+            </if>
         </set>
         where id_=#{id}
     </update>
@@ -153,8 +159,23 @@
 			select * from base_application_middle
 		]]>
         <where>
-            <if test="searchParams.id != null">
-                and ID_ like #{searchParams.id}
+            <if test="searchParams.type != null">
+                and type_ like #{searchParams.type}
+            </if>
+            <if test="searchParams.name != null">
+                and name_ like #{searchParams.name}
+            </if>
+            <if test="searchParams.idCard != null">
+                and id_card like #{searchParams.idCard}
+            </if>
+            <if test="searchParams.schoolId != null">
+                and school_id = #{searchParams.schoolId}
+            </if>
+            <if test="searchParams.categoryId != null">
+                and category_id like #{searchParams.categoryId}
+            </if>
+            <if test="searchParams.status != null">
+                and status_ = #{searchParams.status}
             </if>
         </where>
         <foreach item="sort" collection="sortList" open="order by" separator=",">
@@ -181,6 +202,10 @@
         <result property="address" column="address_"/>
         <result property="isSend" column="is_send"/>
         <result property="sendTime" column="send_time"/>
+        <result property="categoryId" column="category_id"/>
+        <result property="offerId" column="offer_id"/>
+        <result property="offerName" column="offer_name"/>
+        <result property="offerCode" column="offer_code"/>
     </resultMap>
     <select id="searchDTO" parameterType="hashmap" resultMap="ApplicationMiddleDTOMap">
         <![CDATA[
@@ -191,11 +216,16 @@
 			a.person_id,
 			b.address_,
 			a.is_send,
-			a.send_time
+			a.send_time,
+			a.category_id,
+			a.offer_id,
+			e.name_ as offer_name,
+			a.offer_code
 			FROM base_application_middle a
 			LEFT JOIN base_student_info b ON a.student_id = b.id_
 			LEFT JOIN base_person_student c ON (a.person_id = c.person_id AND a.student_id = c.student_id)
 			LEFT JOIN base_school_info d ON a.school_id = d.id_
+			LEFT JOIN base_school_info e ON a.offer_id = e.id_
 		]]>
         <where>
             <if test="searchParams.delFlag != null">
@@ -244,6 +274,9 @@
                     a.status_ = #{status}
                 </foreach>
             </if>
+            <if test="searchParams.offerId != null">
+                and a.offer_id = #{searchParams.offerId}
+            </if>
         </where>
         <foreach item="sort" collection="sortList" open="order by" separator=",">
             ${sort.name} ${sort.order}

+ 20 - 2
common/src/main/resources/mapper/base/ApplicationPrimary.xml

@@ -21,6 +21,8 @@
         <result property="communityId" column="community_id"/>
         <result property="schoolId" column="school_id"/>
         <result property="offerId" column="offer_id"/>
+        <result property="offerName" column="offer_name"/>
+        <result property="offerCode" column="offer_code"/>
         <result property="isSend" column="is_send"/>
         <result property="sendTime" column="send_time"/>
     </resultMap>
@@ -34,7 +36,7 @@
 		insert into base_application_primary
 	    (id_,create_by,create_time,update_by,update_time,del_flag,type_,
 	    status_,category_id,now_address,person_id,student_id,street_id,community_id,school_id,hit_,offer_id,
-	    is_send,send_time
+	    is_send,send_time,offer_code
 	    )
 		values
 		(
@@ -57,6 +59,7 @@
 			,#{offerId,jdbcType=VARCHAR}
 			,#{isSend,jdbcType=NUMERIC}
 			,#{sendTime,jdbcType=TIMESTAMP}
+			,#{offerCode,jdbcType=VARCHAR}
 		)
 	]]>
     </insert>
@@ -120,6 +123,9 @@
             <if test="sendTime!=null">
                 send_time=#{sendTime,jdbcType=TIMESTAMP},
             </if>
+            <if test="offerCode!=null">
+                offer_code=#{offerCode,jdbcType=TIMESTAMP},
+            </if>
         </set>
         where id_=#{id}
     </update>
@@ -193,6 +199,10 @@
         <result property="address" column="address_"/>
         <result property="isSend" column="is_send"/>
         <result property="sendTime" column="send_time"/>
+        <result property="categoryId" column="category_id"/>
+        <result property="offerId" column="offer_id"/>
+        <result property="offerName" column="offer_name"/>
+        <result property="offerCode" column="offer_code"/>
     </resultMap>
     <select id="searchDTO" parameterType="hashmap" resultMap="ApplicationPrimaryDTOMap">
         <![CDATA[
@@ -203,11 +213,16 @@
 			a.person_id,
 			b.address_,
 			a.is_send,
-			a.send_time
+			a.send_time,
+			a.category_id,
+			a.offer_id,
+			e.name_ as offer_name,
+			a.offer_code
 			FROM base_application_primary a
 			LEFT JOIN base_student_info b ON a.student_id = b.id_
 			LEFT JOIN base_person_student c ON (a.person_id = c.person_id AND a.student_id = c.student_id)
 			LEFT JOIN base_school_info d ON a.school_id = d.id_
+			LEFT JOIN base_school_info e ON a.offer_id = e.id_
 		]]>
         <where>
             <if test="searchParams.delFlag != null">
@@ -262,6 +277,9 @@
             <if test="searchParams.isSend != null">
                 and a.is_send = #{searchParams.isSend}
             </if>
+            <if test="searchParams.offerId != null">
+                and a.offer_id = #{searchParams.offerId}
+            </if>
         </where>
         <foreach item="sort" collection="sortList" open="order by" separator=",">
             ${sort.name} ${sort.order}

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

@@ -86,8 +86,7 @@
 	where id_=#{id}
 	</update>
 	<select id="get" parameterType="string" resultMap="ApportionDetailMap">
-		select 
-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 * from base_apportion_detail where id_=#{0}
 	</select>
 	<select id="exist" parameterType="string" resultType="int">
 		select count(*) from base_apportion_detail where id_=#{0}
@@ -145,4 +144,9 @@ id_,apportion_id,application_id,student_id,person_id,school_id,winner_,del_flag,
 			${sort.name} ${sort.order}
 		</foreach>
 	</select>
+	<select id="findByStudentId" resultMap="ApportionDetailMap" parameterType="string">
+		select * from base_apportion_detail where del_flag = 0
+		and student_id = #{studentId}
+		order by create_time desc
+	</select>
 </mapper>

+ 1 - 1
common/src/main/resources/mapper/base/SchoolInfo.xml

@@ -158,7 +158,7 @@
                 and a.name_ like #{searchParams.name}
             </if>
             <if test="searchParams.enrollmentType != null">
-                and a.enrollment_type = #{searchParams.enrollmentType}
+                and a.enrollment_type like #{searchParams.enrollmentType}
             </if>
             <if test="searchParams.code != null">
                 and a.code_ like #{searchParams.code}

+ 258 - 1
web/src/main/java/com/jpsoft/campus/modules/base/controller/ApplicationMiddleController.java

@@ -33,6 +33,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
 import javax.servlet.http.HttpServletRequest;
+import javax.xml.crypto.Data;
 import java.io.ByteArrayInputStream;
 import java.io.ByteArrayOutputStream;
 import java.text.SimpleDateFormat;
@@ -68,6 +69,10 @@ public class ApplicationMiddleController {
     private OSSConfig ossConfig;
     @Autowired
     private WechatConfig wechatConfig;
+    @Autowired
+    private OfferInfoService offerInfoService;
+    @Autowired
+    private ApportionDetailService apportionDetailService;
 
     @ApiOperation(value="创建空记录")
     @GetMapping("create")
@@ -244,6 +249,7 @@ public class ApplicationMiddleController {
             String status,
             String cardType,
             String schoolId,
+            String offerId,
             @RequestParam(value="isSend",defaultValue="") String isSend,
             @RequestParam(value="startStatus",defaultValue="") String startStatus,
             @RequestParam(value="endStatus",defaultValue="") String endStatus,
@@ -291,6 +297,10 @@ public class ApplicationMiddleController {
             searchParams.put("isSend", isSend);
         }
 
+        if(StringUtils.isNotEmpty(offerId)){
+            searchParams.put("offerId", offerId);
+        }
+
         searchParams.put("delFlag",delFlag);
 
         if(StringUtils.isNotEmpty(schoolId)){
@@ -337,6 +347,7 @@ public class ApplicationMiddleController {
             applicationMiddleDTO.setTypeName(dataDictionaryService.findNameByCatalogNameAndValue("报名类型",applicationMiddleDTO.getType()));
             applicationMiddleDTO.setStatusName(dataDictionaryService.findNameByCatalogNameAndValue("中学招生审核流程",applicationMiddleDTO.getStatus()));
             applicationMiddleDTO.setCardType(dataDictionaryService.findNameByCatalogNameAndValue("证件类型",applicationMiddleDTO.getCardType()));
+            applicationMiddleDTO.setCategoryName(dataDictionaryService.getName(applicationMiddleDTO.getCategoryId()));
         }
 
         msgResult.setResult(true);
@@ -440,6 +451,121 @@ public class ApplicationMiddleController {
         return msgResult;
     }
 
+    @ApiOperation(value="根据报名类型查询数量")
+    @RequestMapping(value = "categoryCount",method = RequestMethod.POST)
+    public MessageResult<Map> categoryCount(
+            String status,
+            String cardType,
+            String type,
+            String nameOrIdCard,
+            String schoolId,
+            String categoryId,
+            @RequestParam(value="startStatus",defaultValue="") String startStatus,
+            @RequestParam(value="endStatus",defaultValue="") String endStatus,
+            @RequestParam(value="delFlag",defaultValue="false") Boolean delFlag,
+            @RequestAttribute String subject){
+        //当前用户ID
+        System.out.println(subject);
+
+        MessageResult<Map> msgResult = new MessageResult<>();
+        Map<String,Object> map = new HashMap<>();
+
+        List<Sort> sortList2 = new ArrayList<>();
+        sortList2.add(new Sort("parent_id","asc"));
+        sortList2.add(new Sort("code_","asc"));
+
+        Map<String,Object> searchParams2 = new HashMap<>();
+
+        Integer sum = 0;
+        List<DataDictionary> dataDictionaryList = new ArrayList<>();
+        DataDictionary dA = dataDictionaryService.findByCatalogNameAndValue("报名类型","A");
+        DataDictionary dB = dataDictionaryService.findByCatalogNameAndValue("报名类型","B");
+        DataDictionary dC = dataDictionaryService.findByCatalogNameAndValue("报名类型","C");
+        dataDictionaryList.add(dA);
+        dataDictionaryList.add(dB);
+        dataDictionaryList.add(dC);
+        String categoryValue = "";
+
+        for(DataDictionary dataDictionary : dataDictionaryList){
+            Map<String,Object> searchParams = new HashMap<>();
+            categoryId = dataDictionary.getId();
+            categoryValue = dataDictionary.getValue();
+
+            List<Sort> sortList = new ArrayList<>();
+            sortList.add(new Sort("id_","asc"));
+
+            if (StringUtils.isNotEmpty(type)) {
+                searchParams.put("type",type);
+            }
+
+            searchParams.put("type",dataDictionary.getValue());
+
+
+            if (StringUtils.isNotEmpty(status)) {
+                searchParams.put("status",status);
+            }
+            if (StringUtils.isNotEmpty(nameOrIdCard)) {
+                searchParams.put("nameOrIdCard","%" + nameOrIdCard + "%");
+            }
+
+            if (StringUtils.isNotEmpty(cardType)) {
+                searchParams.put("cardType",cardType);
+            }
+
+            if (StringUtils.isNotEmpty(categoryId)) {
+                searchParams.put("categoryId",categoryId);
+            }
+
+            //开始
+            if (StringUtils.isNotEmpty(startStatus)) {
+                searchParams.put("startStatus",startStatus);
+            }
+            //结束
+            if (StringUtils.isNotEmpty(endStatus)) {
+                searchParams.put("endStatus",endStatus);
+            }
+
+            searchParams.put("delFlag",delFlag);
+
+            if(StringUtils.isNotEmpty(schoolId)){
+                searchParams.put("code", "%" + schoolId + "%");
+            }else{
+                if (!userService.hasRole(subject,"SYSADMIN")) {
+                    User user = userService.get(subject);
+                    searchParams.put("code", "%" + user.getSchoolId() + "%");
+                }
+            }
+
+
+            //根据用户和角色查询
+            int count1 = userRoleService.findCountByAIdAndRName(subject,"SYSADMIN");
+            int count2 = userRoleService.findCountByAIdAndRName(subject,"XFLD");
+            int count3 = userRoleService.findCountByAIdAndRName(subject,"XFGZRY");
+
+            if(count1 > 0){
+                //管理员查全部
+            }else if(count2 > 0){
+                //领导查全部
+            }else if(count3 > 0){
+                //工作人员只能查网上初审10和现场初审20
+                List statusList = new ArrayList();
+                statusList.add("10");
+                statusList.add("20");
+                searchParams.put("orStatus",statusList);
+            }
+
+            Page<ApplicationMiddleDTO> page = applicationMiddleService.pageSearchDTO(searchParams,1,10000,false,sortList);
+            map.put(categoryValue,page.size());
+            sum += page.size();
+        }
+        map.put("all",sum);
+
+        msgResult.setResult(true);
+        msgResult.setData(map);
+
+        return msgResult;
+    }
+
     @ApiOperation(value="根据学校查询数量")
     @RequestMapping(value = "schoolCount",method = RequestMethod.POST)
     public MessageResult<Map> schoolCount(
@@ -585,6 +711,14 @@ public class ApplicationMiddleController {
                 map.put("personName",personInfo.getName());
                 map.put("personIdCard",personInfo.getIdCard());
                 map.put("personFilesList",fileMap1(applicationMiddle.getId(),"其他相关证明("+applicationMiddle.getType()+")"));
+                SchoolInfo offSchoolInfo = schoolInfoService.get(applicationMiddle.getOfferId());
+                if(offSchoolInfo != null) {
+                    map.put("offerName",offSchoolInfo.getName());
+                }else{
+                    map.put("offerName","");
+                }
+
+                map.put("offerCode",applicationMiddle.getOfferCode());
 
                 //审核记录
                 List<ApprovalInfo> approvalInfoList = approvalInfoService.findByApplicationId(applicationMiddle.getId());
@@ -782,7 +916,17 @@ public class ApplicationMiddleController {
             int affectCount = approvalInfoService.insert(approvalInfo);
 
             if (affectCount > 0) {
-                applicationMiddle.setStatus(String.valueOf(Integer.parseInt(applicationMiddle.getStatus()) + 10));
+                if("50".equals(applicationMiddle.getStatus())) {
+                    if("D".equals(applicationMiddle.getType()) || "E".equals(applicationMiddle.getType())){
+                        applicationMiddle.setStatus("70");
+                        applicationMiddle.setOfferId(applicationMiddle.getSchoolId());
+                    }else{
+                        applicationMiddle.setStatus(String.valueOf(Integer.parseInt(applicationMiddle.getStatus()) + 10));
+                    }
+                }else{
+                    applicationMiddle.setStatus(String.valueOf(Integer.parseInt(applicationMiddle.getStatus()) + 10));
+                }
+
                 applicationMiddle.setUpdateBy(subject);
                 applicationMiddle.setUpdateTime(new Date());
                 applicationMiddleService.update(applicationMiddle);
@@ -1149,4 +1293,117 @@ public class ApplicationMiddleController {
         }
         return msgResult;
     }
+
+    @ApiOperation(value="调剂")
+    @RequestMapping(value = "tjMiddle",method = RequestMethod.POST)
+    public MessageResult<Integer> tjMiddle(
+            String id,
+            String schoolId,
+            @RequestAttribute String subject){
+        //当前用户ID
+        System.out.println(subject);
+        MessageResult<Integer> msgResult = new MessageResult<>();
+        User user = userService.get(subject);
+        int count = 0;
+        try {
+            ApplicationMiddle am = applicationMiddleService.get(id);
+            am.setOfferId(schoolId);
+            am.setStatus("70");
+            am.setUpdateBy(subject);
+            am.setUpdateTime(new Date());
+            count = applicationMiddleService.update(am);
+
+            msgResult.setResult(true);
+            msgResult.setData(count);
+        }
+        catch(Exception ex){
+            logger.error(ex.getMessage(),ex);
+
+            msgResult.setResult(false);
+            msgResult.setMessage(ex.getMessage());
+        }
+        return msgResult;
+    }
+
+    @ApiOperation(value="修改状态")
+    @RequestMapping(value = "updateStatus",method = RequestMethod.POST)
+    public MessageResult<ApprovalInfo> updateStatus(String id,String remark,String status,String typeValue,@RequestAttribute String subject){
+        //当前用户ID
+        System.out.println(subject);
+        MessageResult<ApprovalInfo> msgResult = new MessageResult<>();
+
+        try {
+            ApplicationMiddle applicationMiddle = applicationMiddleService.get(id);
+
+            ApprovalInfo approvalInfo = new ApprovalInfo();
+            approvalInfo.setId(UUID.randomUUID().toString());
+            approvalInfo.setApplicationId(id);
+            approvalInfo.setOperation(dataDictionaryService.findNameByCatalogNameAndValue("小学招生审核流程",applicationMiddle.getStatus())+":" + typeValue);
+            approvalInfo.setRemark(remark);
+            approvalInfo.setFileUrl("");
+            approvalInfo.setDelFlag(false);
+            approvalInfo.setCreateBy(subject);
+            approvalInfo.setCreateTime(new Date());
+
+            int affectCount = approvalInfoService.insert(approvalInfo);
+
+
+
+            if (affectCount > 0) {
+                applicationMiddle.setStatus(status);
+                applicationMiddle.setUpdateBy(subject);
+                applicationMiddle.setUpdateTime(new Date());
+
+                if("60".equals(status) && "退回".equals(typeValue)){
+                    applicationMiddle.setOfferId("");
+                    List<ApportionDetail> adList = apportionDetailService.findByStudentId(applicationMiddle.getStudentId());
+                    for(ApportionDetail ad : adList){
+                        ad.setDelFlag(true);
+                        apportionDetailService.update(ad);
+                    }
+                }else if("90".equals(status)){
+                    //获取最大编号
+                    int serialNum = offerInfoService.findMaxSerialNum(applicationMiddle.getSchoolId(),"1");
+                    serialNum = serialNum+1;//最大编号加一
+                    Calendar date = Calendar.getInstance();
+                    String year = String.valueOf(date.get(Calendar.YEAR));
+                    SchoolInfo si = schoolInfoService.get(applicationMiddle.getSchoolId());
+                    //开发区+年份+学校编号2位+序号4位
+                    String code = "KFQ" + year + si.getSchoolCode() + String.format("%04d", serialNum);
+                    //保存录取信息表
+                    OfferInfo off = new OfferInfo();
+                    off.setId(UUID.randomUUID().toString());
+
+                    off.setApplicationId(applicationMiddle.getId());
+                    off.setStudentId(applicationMiddle.getStudentId());
+                    off.setEnrollmentType("1");//小学
+                    off.setSchoolId(applicationMiddle.getSchoolId());
+                    off.setSerialNum(serialNum);
+
+                    off.setCode(code);
+                    off.setDelFlag(false);
+                    off.setCreateBy(subject);
+                    off.setCreateTime(new Date());
+                    offerInfoService.insert(off);
+
+                    applicationMiddle.setOfferCode(code);
+                }
+                applicationMiddleService.update(applicationMiddle);
+
+                msgResult.setResult(true);
+                msgResult.setData(approvalInfo);
+            } else {
+                msgResult.setResult(false);
+                msgResult.setMessage("数据库添加失败");
+            }
+        }
+        catch(Exception ex){
+            logger.error(ex.getMessage(),ex);
+
+            msgResult.setResult(false);
+            msgResult.setMessage(ex.getMessage());
+        }
+
+        return msgResult;
+    }
 }

+ 156 - 27
web/src/main/java/com/jpsoft/campus/modules/base/controller/ApplicationPrimaryController.java

@@ -75,6 +75,8 @@ public class ApplicationPrimaryController {
     private OSSConfig ossConfig;
     @Autowired
     private WechatConfig wechatConfig;
+    @Autowired
+    private ApportionDetailService apportionDetailService;
 
     @ApiOperation(value="创建空记录")
     @GetMapping("create")
@@ -261,6 +263,7 @@ public class ApplicationPrimaryController {
             String status,
             String cardType,
             String schoolId,
+            String offerId,
             @RequestParam(value="isSend",defaultValue="") String isSend,
             @RequestParam(value="categoryId",defaultValue="") String categoryId,
             @RequestParam(value="startStatus",defaultValue="") String startStatus,
@@ -312,6 +315,10 @@ public class ApplicationPrimaryController {
             searchParams.put("isSend", isSend);
         }
 
+        if(StringUtils.isNotEmpty(offerId)){
+            searchParams.put("offerId", offerId);
+        }
+
         //查询范围
         //开始
         if (StringUtils.isNotEmpty(startStatus)) {
@@ -360,6 +367,7 @@ public class ApplicationPrimaryController {
             applicationPrimaryDTO.setTypeName(dataDictionaryService.findNameByCatalogNameAndValue("报名类型",applicationPrimaryDTO.getType()));
             applicationPrimaryDTO.setStatusName(dataDictionaryService.findNameByCatalogNameAndValue("小学招生审核流程",applicationPrimaryDTO.getStatus()));
             applicationPrimaryDTO.setCardType(dataDictionaryService.findNameByCatalogNameAndValue("证件类型",applicationPrimaryDTO.getCardType()));
+            applicationPrimaryDTO.setCategoryName(dataDictionaryService.getName(applicationPrimaryDTO.getCategoryId()));
         }
 
         msgResult.setResult(true);
@@ -709,6 +717,15 @@ public class ApplicationPrimaryController {
                 map.put("personName",personInfo.getName());
                 map.put("personIdCard",personInfo.getIdCard());
                 map.put("personFilesList",fileMap1(applicationPrimary.getId(),applicationPrimary.getType()+"类生证明"));
+                SchoolInfo offSchoolInfo = schoolInfoService.get(applicationPrimary.getOfferId());
+                if(offSchoolInfo != null) {
+                    map.put("offerName",offSchoolInfo.getName());
+                }else{
+                    map.put("offerName","");
+                }
+
+                map.put("offerCode",applicationPrimary.getOfferCode());
+
 
                 //审核记录
                 List<ApprovalInfo> approvalInfoList = approvalInfoService.findByApplicationId(applicationPrimary.getId());
@@ -977,36 +994,35 @@ public class ApplicationPrimaryController {
 
 
             if (affectCount > 0) {
-
-
                 if("50".equals(applicationPrimary.getStatus())){
                     //A类B类直接录取
                     if("A".equals(applicationPrimary.getType()) || "B".equals(applicationPrimary.getType())){
-                        applicationPrimary.setStatus("90");
-
-                        //获取最大编号
-                        int serialNum = offerInfoService.findMaxSerialNum(applicationPrimary.getSchoolId(),"1");
-                        serialNum = serialNum+1;//最大编号加一
-                        Calendar date = Calendar.getInstance();
-                        String year = String.valueOf(date.get(Calendar.YEAR));
-                        SchoolInfo si = schoolInfoService.get(applicationPrimary.getSchoolId());
-                        //开发区+年份+学校编号2位+序号4位
-                        String code = "KFQ" + year + si.getSchoolCode() + String.format("%04d", serialNum);
-                        //保存录取信息表
-                        OfferInfo off = new OfferInfo();
-                        off.setId(UUID.randomUUID().toString());
-
-                        off.setApplicationId(applicationPrimary.getId());
-                        off.setStudentId(applicationPrimary.getStudentId());
-                        off.setEnrollmentType("1");//小学
-                        off.setSchoolId(applicationPrimary.getSchoolId());
-                        off.setSerialNum(serialNum);
-
-                        off.setCode(code);
-                        off.setDelFlag(false);
-                        off.setCreateBy(subject);
-                        off.setCreateTime(new Date());
-                        offerInfoService.insert(off);
+                        applicationPrimary.setStatus("70");
+                        applicationPrimary.setOfferId(applicationPrimary.getSchoolId());
+
+//                        //获取最大编号
+//                        int serialNum = offerInfoService.findMaxSerialNum(applicationPrimary.getSchoolId(),"1");
+//                        serialNum = serialNum+1;//最大编号加一
+//                        Calendar date = Calendar.getInstance();
+//                        String year = String.valueOf(date.get(Calendar.YEAR));
+//                        SchoolInfo si = schoolInfoService.get(applicationPrimary.getSchoolId());
+//                        //开发区+年份+学校编号2位+序号4位
+//                        String code = "KFQ" + year + si.getSchoolCode() + String.format("%04d", serialNum);
+//                        //保存录取信息表
+//                        OfferInfo off = new OfferInfo();
+//                        off.setId(UUID.randomUUID().toString());
+//
+//                        off.setApplicationId(applicationPrimary.getId());
+//                        off.setStudentId(applicationPrimary.getStudentId());
+//                        off.setEnrollmentType("1");//小学
+//                        off.setSchoolId(applicationPrimary.getSchoolId());
+//                        off.setSerialNum(serialNum);
+//
+//                        off.setCode(code);
+//                        off.setDelFlag(false);
+//                        off.setCreateBy(subject);
+//                        off.setCreateTime(new Date());
+//                        offerInfoService.insert(off);
                     }else{
                         applicationPrimary.setStatus(String.valueOf(Integer.parseInt(applicationPrimary.getStatus()) + 10));
                     }
@@ -1428,6 +1444,119 @@ public class ApplicationPrimaryController {
         return msgResult;
     }
 
+    @ApiOperation(value="调剂")
+    @RequestMapping(value = "tjPrimary",method = RequestMethod.POST)
+    public MessageResult<Integer> tjPrimary(
+            String id,
+            String schoolId,
+            @RequestAttribute String subject){
+        //当前用户ID
+        System.out.println(subject);
+        MessageResult<Integer> msgResult = new MessageResult<>();
+        User user = userService.get(subject);
+        int count = 0;
+        try {
+            ApplicationPrimary ap = applicationPrimaryService.get(id);
+            ap.setOfferId(schoolId);
+            ap.setStatus("70");
+            ap.setUpdateBy(subject);
+            ap.setUpdateTime(new Date());
+            count = applicationPrimaryService.update(ap);
+
+            msgResult.setResult(true);
+            msgResult.setData(count);
+        }
+        catch(Exception ex){
+            logger.error(ex.getMessage(),ex);
+
+            msgResult.setResult(false);
+            msgResult.setMessage(ex.getMessage());
+        }
+        return msgResult;
+    }
+
+    @ApiOperation(value="修改状态")
+    @RequestMapping(value = "updateStatus",method = RequestMethod.POST)
+    public MessageResult<ApprovalInfo> updateStatus(String id,String remark,String status,String typeValue,@RequestAttribute String subject){
+        //当前用户ID
+        System.out.println(subject);
+        MessageResult<ApprovalInfo> msgResult = new MessageResult<>();
+
+        try {
+            ApplicationPrimary applicationPrimary = applicationPrimaryService.get(id);
+
+            ApprovalInfo approvalInfo = new ApprovalInfo();
+            approvalInfo.setId(UUID.randomUUID().toString());
+            approvalInfo.setApplicationId(id);
+            approvalInfo.setOperation(dataDictionaryService.findNameByCatalogNameAndValue("小学招生审核流程",applicationPrimary.getStatus())+":" + typeValue);
+            approvalInfo.setRemark(remark);
+            approvalInfo.setFileUrl("");
+            approvalInfo.setDelFlag(false);
+            approvalInfo.setCreateBy(subject);
+            approvalInfo.setCreateTime(new Date());
+
+            int affectCount = approvalInfoService.insert(approvalInfo);
+
+
+
+            if (affectCount > 0) {
+                applicationPrimary.setStatus(status);
+                applicationPrimary.setUpdateBy(subject);
+                applicationPrimary.setUpdateTime(new Date());
+
+                if("60".equals(status) && "退回".equals(typeValue)){
+                    applicationPrimary.setOfferId("");
+                    List<ApportionDetail> adList = apportionDetailService.findByStudentId(applicationPrimary.getStudentId());
+                    for(ApportionDetail ad : adList){
+                        ad.setDelFlag(true);
+                        apportionDetailService.update(ad);
+                    }
+                }else if("90".equals(status)){
+                    //获取最大编号
+                    int serialNum = offerInfoService.findMaxSerialNum(applicationPrimary.getSchoolId(),"1");
+                    serialNum = serialNum+1;//最大编号加一
+                    Calendar date = Calendar.getInstance();
+                    String year = String.valueOf(date.get(Calendar.YEAR));
+                    SchoolInfo si = schoolInfoService.get(applicationPrimary.getSchoolId());
+                    //开发区+年份+学校编号2位+序号4位
+                    String code = "KFQ" + year + si.getSchoolCode() + String.format("%04d", serialNum);
+                    //保存录取信息表
+                    OfferInfo off = new OfferInfo();
+                    off.setId(UUID.randomUUID().toString());
+
+                    off.setApplicationId(applicationPrimary.getId());
+                    off.setStudentId(applicationPrimary.getStudentId());
+                    off.setEnrollmentType("1");//小学
+                    off.setSchoolId(applicationPrimary.getSchoolId());
+                    off.setSerialNum(serialNum);
+
+                    off.setCode(code);
+                    off.setDelFlag(false);
+                    off.setCreateBy(subject);
+                    off.setCreateTime(new Date());
+                    offerInfoService.insert(off);
+
+                    applicationPrimary.setOfferCode(code);
+                }
+                applicationPrimaryService.update(applicationPrimary);
+
+                msgResult.setResult(true);
+                msgResult.setData(approvalInfo);
+            } else {
+                msgResult.setResult(false);
+                msgResult.setMessage("数据库添加失败");
+            }
+        }
+        catch(Exception ex){
+            logger.error(ex.getMessage(),ex);
+
+            msgResult.setResult(false);
+            msgResult.setMessage(ex.getMessage());
+        }
+
+        return msgResult;
+    }
+
     public static void main(String[] args) {
         //appId: wx0c81770a72543e27
         //  appSecret: ea8c0d18eae536e3ec16333864e71252

+ 298 - 9
web/src/main/java/com/jpsoft/campus/modules/base/controller/ApportionController.java

@@ -1,20 +1,18 @@
 package com.jpsoft.campus.modules.base.controller;
 
 import com.github.pagehelper.Page;
-import com.jpsoft.campus.modules.base.entity.ApplicationPrimary;
-import com.jpsoft.campus.modules.base.entity.Apportion;
-import com.jpsoft.campus.modules.base.entity.ApportionDetail;
-import com.jpsoft.campus.modules.base.entity.SchoolInfo;
-import com.jpsoft.campus.modules.base.service.ApplicationPrimaryService;
-import com.jpsoft.campus.modules.base.service.ApportionDetailService;
-import com.jpsoft.campus.modules.base.service.ApportionService;
-import com.jpsoft.campus.modules.base.service.SchoolInfoService;
+import com.jpsoft.campus.modules.base.dto.ApplicationMiddleDTO;
+import com.jpsoft.campus.modules.base.dto.ApplicationPrimaryDTO;
+import com.jpsoft.campus.modules.base.dto.AttachmentDTO;
+import com.jpsoft.campus.modules.base.entity.*;
+import com.jpsoft.campus.modules.base.service.*;
 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.UserRoleService;
 import com.jpsoft.campus.modules.sys.service.UserService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -47,6 +45,10 @@ public class ApportionController {
     private UserService userService;
     @Autowired
     private ApplicationPrimaryService applicationPrimaryService;
+    @Autowired
+    private ApplicationMiddleService applicationMiddleService;
+    @Autowired
+    private UserRoleService userRoleService;
 
     @ApiOperation(value="创建空记录")
     @GetMapping("create")
@@ -286,7 +288,8 @@ public class ApportionController {
                 searchParams.put("schoolId",schoolId);
             }
             if (StringUtils.isNotEmpty(type)) {
-                searchParams.put("categoryId",type);
+                DataDictionary dataDictionary = dataDictionaryService.findByCatalogNameAndValue("C类生证明",type);
+                searchParams.put("categoryId",dataDictionary.getId());
             }
             List<Sort> sortList = new ArrayList<>();
             sortList.add(new Sort("create_time","desc"));
@@ -361,4 +364,290 @@ public class ApportionController {
 
         return msgResult;
     }
+
+    @ApiOperation(value="列表")
+    @RequestMapping(value = "pageListPrimary",method = RequestMethod.POST)
+    public MessageResult<Map> pageListPrimary(
+            @RequestParam(value="schoolId",defaultValue="") String schoolId,
+            @RequestParam(value="type",defaultValue="") String type,
+            @RequestParam(value="categoryValue",defaultValue="") String categoryValue,
+            @RequestParam(value="status",defaultValue="") String status,
+            @RequestParam(value="categoryId",defaultValue="") String categoryId,
+            @RequestParam(value="delFlag",defaultValue="false") Boolean delFlag,
+            @RequestParam(value="pageIndex",defaultValue="1") int pageIndex,
+            @RequestParam(value="pageSize",defaultValue="20") int pageSize,
+            @RequestParam(value="startStatus",defaultValue="") String startStatus,
+            @RequestParam(value="endStatus",defaultValue="") String endStatus,
+            @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(status)) {
+            searchParams.put("status",status);
+        }
+
+        //开始
+        if (StringUtils.isNotEmpty(startStatus)) {
+            searchParams.put("startStatus",startStatus);
+        }
+        //结束
+        if (StringUtils.isNotEmpty(endStatus)) {
+            searchParams.put("endStatus",endStatus);
+        }
+
+        if(StringUtils.isNotEmpty(type)){
+            searchParams.put("type",type);
+        }
+
+        if (StringUtils.isNotEmpty(categoryValue)) {
+            DataDictionary dataDictionary = dataDictionaryService.findByCatalogNameAndValue("C类生证明",categoryValue);
+            searchParams.put("categoryId",dataDictionary.getId());
+        }
+
+        searchParams.put("delFlag",delFlag);
+
+        if(StringUtils.isNotEmpty(schoolId)){
+            searchParams.put("code", "%" + schoolId + "%");
+        }else{
+            if (!userService.hasRole(subject,"SYSADMIN")) {
+                User user = userService.get(subject);
+                searchParams.put("code", "%" + user.getSchoolId() + "%");
+            }
+        }
+
+
+        //根据用户和角色查询
+        int count1 = userRoleService.findCountByAIdAndRName(subject,"SYSADMIN");
+        int count2 = userRoleService.findCountByAIdAndRName(subject,"XFLD");
+        int count3 = userRoleService.findCountByAIdAndRName(subject,"XFGZRY");
+
+        if(count1 > 0){
+            //管理员查全部
+        }else if(count2 > 0){
+            //领导查全部
+        }else if(count3 > 0){
+            //工作人员只能查网上初审10和现场初审20
+            List statusList = new ArrayList();
+            statusList.add("10");
+            statusList.add("20");
+            searchParams.put("orStatus",statusList);
+        }
+
+        Page<ApplicationPrimaryDTO> page = applicationPrimaryService.pageSearchDTO(searchParams,pageIndex,pageSize,true,sortList);
+        for(ApplicationPrimaryDTO applicationPrimaryDTO : page.getResult()){
+            List<ApportionDetail> adList = apportionDetailService.findByStudentId(applicationPrimaryDTO.getStudentId());
+            ApportionDetail apportionDetail = new ApportionDetail();
+            if(adList.size() > 0){
+                apportionDetail = adList.get(0);
+                SchoolInfo school = schoolInfoService.get(apportionDetail.getSchoolId());
+                apportionDetail.setSchoolName(school.getName());
+            }
+            applicationPrimaryDTO.setApportionDetail(apportionDetail);
+            applicationPrimaryDTO.setCardType(dataDictionaryService.findNameByCatalogNameAndValue("证件类型",applicationPrimaryDTO.getCardType()));
+            applicationPrimaryDTO.setCategoryName(dataDictionaryService.getValue(applicationPrimaryDTO.getCategoryId()));
+            applicationPrimaryDTO.setStatusName(dataDictionaryService.findNameByCatalogNameAndValue("小学招生审核流程",applicationPrimaryDTO.getStatus()));
+        }
+
+        msgResult.setResult(true);
+        msgResult.setData(PojoUtils.pageWrapper(page));
+
+        return msgResult;
+    }
+
+
+
+    @ApiOperation(value="开始派位-中学")
+    @PostMapping("startApportionMiddle")
+    public MessageResult<Map> startApportionMiddle(String schoolId,String type,Integer amount,@RequestAttribute String subject){
+        MessageResult<Map> msgResult = new MessageResult<>();
+        Map<String,Object> map = new HashMap<>();
+
+        try {
+            //读取等待派位人员信息列表
+            Map<String,Object> searchParams = new HashMap<>();
+            searchParams.put("status","60");
+            if (StringUtils.isNotEmpty(schoolId)) {
+                searchParams.put("schoolId",schoolId);
+            }
+            if (StringUtils.isNotEmpty(type)) {
+                searchParams.put("type",type);
+            }
+            List<Sort> sortList = new ArrayList<>();
+            sortList.add(new Sort("create_time","desc"));
+            Page<ApplicationMiddle> ApplicationMiddlePage = applicationMiddleService.pageSearch(searchParams,1,100000,false,sortList);
+
+            //随机抽取
+             if(amount > ApplicationMiddlePage.size()){
+                amount = ApplicationMiddlePage.size();
+            }
+            List<Integer> integerList = new ArrayList<>();
+            Random random = new Random();
+            for(int i=0;i<amount;i++){
+                for(int j=0;j>-1;j++) {
+                    Integer ran = random.nextInt(ApplicationMiddlePage.size());
+                    if (!integerList.contains(ran)) {
+                        integerList.add(ran);
+                        break;
+                    }
+                }
+            }
+
+            //写入派位信息
+            Apportion apportion = new Apportion();
+            apportion.setId(UUID.randomUUID().toString());
+            apportion.setSchoolId(schoolId);
+            apportion.setType(type);
+            apportion.setDelFlag(false);
+            apportion.setCreateBy(subject);
+            apportion.setCreateTime(new Date());
+            apportion.setUpdateBy(subject);
+            apportion.setUpdateTime(new Date());
+            apportionService.insert(apportion);
+
+            //写入派位列表
+            for(int i=0;i<ApplicationMiddlePage.size();i++){
+                ApplicationMiddle applicationMiddle = ApplicationMiddlePage.get(i);
+                ApportionDetail apportionDetail = new ApportionDetail();
+                apportionDetail.setId(UUID.randomUUID().toString());
+                apportionDetail.setApportionId(apportion.getId());
+                apportionDetail.setApplicationId(applicationMiddle.getId());
+                apportionDetail.setStudentId(applicationMiddle.getStudentId());
+                apportionDetail.setPersonId(applicationMiddle.getPersonId());
+                apportionDetail.setSchoolId(schoolId);
+                Boolean bl = integerList.contains(i) == true ? true : false;
+                apportionDetail.setWinner(bl);
+                apportionDetail.setDelFlag(false);
+                apportionDetail.setCreateBy(subject);
+                apportionDetail.setCreateTime(new Date());
+                apportionDetail.setUpdateBy(subject);
+                apportionDetail.setUpdateTime(new Date());
+                apportionDetailService.insert(apportionDetail);
+
+                if(bl){
+                    applicationMiddle.setStatus(String.valueOf(Integer.parseInt(applicationMiddle.getStatus()) + 10));
+                    applicationMiddle.setOfferId(schoolId);
+                    applicationMiddle.setUpdateBy(subject);
+                    applicationMiddle.setUpdateTime(new Date());
+                    applicationMiddleService.update(applicationMiddle);
+                }
+            }
+
+            map.put("apportionId",apportion.getId());
+            msgResult.setResult(true);
+            msgResult.setData(map);
+        }
+        catch(Exception ex){
+            logger.error(ex.getMessage(),ex);
+
+            msgResult.setResult(false);
+            msgResult.setMessage(ex.getMessage());
+        }
+
+        return msgResult;
+    }
+
+    @ApiOperation(value="中学列表")
+    @RequestMapping(value = "pageListMiddle",method = RequestMethod.POST)
+    public MessageResult<Map> pageListMiddle(
+            @RequestParam(value="schoolId",defaultValue="") String schoolId,
+            @RequestParam(value="type",defaultValue="") String type,
+            @RequestParam(value="categoryValue",defaultValue="") String categoryValue,
+            @RequestParam(value="status",defaultValue="") String status,
+            @RequestParam(value="categoryId",defaultValue="") String categoryId,
+            @RequestParam(value="delFlag",defaultValue="false") Boolean delFlag,
+            @RequestParam(value="pageIndex",defaultValue="1") int pageIndex,
+            @RequestParam(value="pageSize",defaultValue="20") int pageSize,
+            @RequestParam(value="startStatus",defaultValue="") String startStatus,
+            @RequestParam(value="endStatus",defaultValue="") String endStatus,
+            @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(status)) {
+            searchParams.put("status",status);
+        }
+
+        //开始
+        if (StringUtils.isNotEmpty(startStatus)) {
+            searchParams.put("startStatus",startStatus);
+        }
+        //结束
+        if (StringUtils.isNotEmpty(endStatus)) {
+            searchParams.put("endStatus",endStatus);
+        }
+
+        if(StringUtils.isNotEmpty(type)){
+            searchParams.put("type",type);
+        }
+
+        if (StringUtils.isNotEmpty(categoryValue)) {
+            searchParams.put("categoryId",categoryValue);
+        }
+
+        searchParams.put("delFlag",delFlag);
+
+        if(StringUtils.isNotEmpty(schoolId)){
+            searchParams.put("code", "%" + schoolId + "%");
+        }else{
+            if (!userService.hasRole(subject,"SYSADMIN")) {
+                User user = userService.get(subject);
+                searchParams.put("code", "%" + user.getSchoolId() + "%");
+            }
+        }
+
+
+        //根据用户和角色查询
+        int count1 = userRoleService.findCountByAIdAndRName(subject,"SYSADMIN");
+        int count2 = userRoleService.findCountByAIdAndRName(subject,"XFLD");
+        int count3 = userRoleService.findCountByAIdAndRName(subject,"XFGZRY");
+
+        if(count1 > 0){
+            //管理员查全部
+        }else if(count2 > 0){
+            //领导查全部
+        }else if(count3 > 0){
+            //工作人员只能查网上初审10和现场初审20
+            List statusList = new ArrayList();
+            statusList.add("10");
+            statusList.add("20");
+            searchParams.put("orStatus",statusList);
+        }
+
+        Page<ApplicationMiddleDTO> page = applicationMiddleService.pageSearchDTO(searchParams,pageIndex,pageSize,true,sortList);
+        for(ApplicationMiddleDTO applicationMiddleDTO : page.getResult()){
+            List<ApportionDetail> adList = apportionDetailService.findByStudentId(applicationMiddleDTO.getStudentId());
+            ApportionDetail apportionDetail = new ApportionDetail();
+            if(adList.size() > 0){
+                apportionDetail = adList.get(0);
+                SchoolInfo school = schoolInfoService.get(apportionDetail.getSchoolId());
+                apportionDetail.setSchoolName(school.getName());
+            }
+            applicationMiddleDTO.setApportionDetail(apportionDetail);
+            applicationMiddleDTO.setCardType(dataDictionaryService.findNameByCatalogNameAndValue("证件类型",applicationMiddleDTO.getCardType()));
+            applicationMiddleDTO.setCategoryName(dataDictionaryService.getValue(applicationMiddleDTO.getCategoryId()));
+            applicationMiddleDTO.setStatusName(dataDictionaryService.findNameByCatalogNameAndValue("小学招生审核流程",applicationMiddleDTO.getStatus()));
+            applicationMiddleDTO.setCategoryName(dataDictionaryService.getName(applicationMiddleDTO.getCategoryId()));
+        }
+
+        msgResult.setResult(true);
+        msgResult.setData(PojoUtils.pageWrapper(page));
+
+        return msgResult;
+    }
 }

+ 4 - 0
web/src/main/java/com/jpsoft/campus/modules/base/controller/SchoolInfoController.java

@@ -311,6 +311,7 @@ public class SchoolInfoController {
     public MessageResult<List> list(
             String id,
             String type,
+            String enrollmentType,
             @RequestAttribute String subject){
 
         //当前用户ID
@@ -331,6 +332,9 @@ public class SchoolInfoController {
         if(StringUtils.isNotEmpty(type)){
             searchParams.put("type", type);
         }
+        if(StringUtils.isNotEmpty(enrollmentType)){
+            searchParams.put("enrollmentType", "%" + enrollmentType + "%");
+        }
 
         Page<SchoolInfo> page = schoolInfoService.pageSearch(searchParams,0,10000,false,sortList);