Browse Source

公出列表,修改我的公出和他人公出审核列表

anderx 2 years ago
parent
commit
e9b73bf7f3

+ 2 - 0
src/main/java/com/goafanti/common/dao/PublicExamineMapper.java

@@ -1,6 +1,7 @@
 package com.goafanti.common.dao;
 
 import com.goafanti.common.model.PublicExamine;
+import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
 
@@ -22,4 +23,5 @@ public interface PublicExamineMapper {
     void updatePrid(PublicExamine pe);
 
 
+    List<PublicExamine> selectByIds(@Param("ids") List<Integer> ids);
 }

+ 9 - 0
src/main/java/com/goafanti/common/mapper/PublicExamineMapper.xml

@@ -108,4 +108,13 @@
     from public_examine
     where prid = #{id,jdbcType=INTEGER}
   </select>
+  <select id="selectByIds" parameterType="java.lang.Integer" resultMap="BaseResultMap">
+  select
+  <include refid="Base_Column_List" />
+  from public_examine
+  where prid in
+    <foreach close=")" collection="ids" item="id" open="(" separator=",">
+      #{id}
+    </foreach>
+  </select>
 </mapper>

+ 7 - 10
src/main/java/com/goafanti/common/mapper/PublicReleaseMapper.xml

@@ -477,17 +477,14 @@
     date_format(a.update_time ,'%Y-%m-%d %H:%i:%S') updateTimes,a.update_status updateStatus,a.district_name districtName,
     a.assist,a.assist_aid assistAid,a.assist_aid_name assistAidName,a.type,a.main_name mainName,a.reject_name rejectName,
     a.assistant_aid assistantAid ,a.assistant_name assistantName,a.public_again publicAgain,a.user_names userNames
-    pe.aname,pe.status peStatus
     from public_release a  left join admin c on a.aid =c.id
-     <if test="type==0 or type==4">
-       left join (select * from public_examine where aid= #{aid} )pe on a.id=pe.prid
-     </if>
-    <if test="type==4">
-      left join public_release_details b on a.id=b.prid left join user e on b.uid=e.id
-    </if>
+
     <if test="type==2">
       left join department d on c.department_id =d.id
     </if>
+    <if test="type==4">
+      left join public_release_details b on a.id=b.prid left join user e on b.uid=e.id
+    </if>
       where 1=1
     <if test="type==0">
       and a.public_type in (0,1,2)
@@ -546,13 +543,13 @@
     <if test="status !=null">
       and a.status = #{status}
     </if>
-    <if test="type==2">
+    <if test="type==2 or type==4">
       ORDER BY a.create_time desc
     </if>
-    <if test="type!=2">
+    <if test="type==0 and type==1 and type==3">
       ORDER BY (case when a.status=1 then 1 when a.status=2 then 2 when a.status=3 then 5
       when a.status=0 then 3 when a.status=4 then 4
-      else 0 end),a.status ,a.create_time desc
+      else 0 end),a.create_time desc
     </if>
   	<if test="page_sql!=null">
 			${page_sql}

+ 9 - 0
src/main/java/com/goafanti/weChat/bo/OutPublicReleaseList.java

@@ -29,9 +29,18 @@ public class OutPublicReleaseList {
 	private String assistantAid;
 	private String assistantName;
 	private String userNames;
+	private String adminExamine;
 	private Integer publicAgain;
 	private List<OutPublicReleaseDetails> prdList;
 
+	public String getAdminExamine() {
+		return adminExamine;
+	}
+
+	public void setAdminExamine(String adminExamine) {
+		this.adminExamine = adminExamine;
+	}
+
 	public List<OutPublicReleaseDetails> getPrdList() {
 		return prdList;
 	}

+ 27 - 0
src/main/java/com/goafanti/weChat/service/impl/PublicReleaseServiceImpl.java

@@ -455,9 +455,36 @@ public class PublicReleaseServiceImpl extends BaseMybatisDao<PublicReleaseMapper
 		if(in.getClockIn()!=null)	map.put("clockIn", in.getClockIn());
 		map.put("assist",in.getAssist()==null?0:in.getAssist());
 		Pagination<OutPublicReleaseList> p=(Pagination<OutPublicReleaseList>) findPage("listPublicRelease", "countPublicRelease", map, in.getPageNo(), in.getPageSize());
+		if(in.getType()==0||in.getType()==4){
+			pushExamines(p);
+
+
+		}
 		return p;
 	}
 
+	private void pushExamines(Pagination<OutPublicReleaseList> p) {
+		List<OutPublicReleaseList> list = (List<OutPublicReleaseList>) p.getList();
+		List<Integer> ids=new ArrayList<>();
+		list.forEach(e ->{ ids.add(e.getId()); });
+		List<PublicExamine> publicExamines = publicExamineMapper.selectByIds(ids);
+		for (OutPublicReleaseList e : list) {
+			if (!publicExamines.isEmpty()){
+				StringBuffer str =new StringBuffer();
+				for (PublicExamine pe : publicExamines) {
+					if (e.getId().equals(pe.getPrid())){
+						str=str.append(pe.getAname());
+						if (pe.getStatus()==0)str=str.append(" 未审核,");
+						if (pe.getStatus()==1)str=str.append(" 已审核,");
+					}
+					if (str.length()>1) e.setAdminExamine(str.substring(0,str.length()-1));
+				}
+
+			}
+		}
+
+	}
+
 	@Override
 	@Transactional
 	public int pushExaminePublicRelease(Integer id, Integer status, String remarks,Integer examineType) {