Browse Source

单位客户查询,新增excel多名称复制赛选。

anderx 3 years ago
parent
commit
0b24e68c42

+ 9 - 1
src/main/java/com/goafanti/common/mapper/PublicReleaseMapper.xml

@@ -470,7 +470,7 @@
   select  a.id,b.nickname ,c.name  aname,date_format(a.release_start,'%Y-%m-%d %H:%i:%S') releaseStarts,a.user_name userName,
   date_format(a.release_end ,'%Y-%m-%d %H:%i:%S') releaseEnds,date_format(a.create_time ,'%Y-%m-%d %H:%i:%S') createTimes,a.status,
   a.latitude ,a.longitude ,a.clock_in clockIn,date_format(a.update_time ,'%Y-%m-%d %H:%i:%S') updateTimes,a.update_status updateStatus,
-a.assist,a.assist_aid assistAid,a.assist_aid_name assistAidName
+a.assist,a.assist_aid assistAid,a.assist_aid_name assistAidName,a.type
   from public_release a left join `user` b on a.uid =b.id left join admin c on a.aid =c.id
   <if test="type==2">
     left join department d on c.department_id =d.id
@@ -488,6 +488,10 @@ a.assist,a.assist_aid assistAid,a.assist_aid_name assistAidName
     <if test="type==2">
       and d.manager_id = #{aid}
     </if>
+    <if test="type==3">
+      and a.aid= #{aid}
+      and a.type = #{type}
+    </if>
 	<if test="clockTime !=null">
 	and a.release_start &lt; #{clockTime} and a.release_end &gt; #{clockTime}
 	</if>
@@ -527,6 +531,10 @@ a.assist,a.assist_aid assistAid,a.assist_aid_name assistAidName
     <if test="type==2">
       and d.manager_id = #{aid}
     </if>
+    <if test="type==3">
+      and a.aid= #{aid}
+      and a.type = #{type}
+    </if>
 	<if test="clockTime !=null">
 	and a.release_start &lt; #{clockTime} and a.release_end &gt; #{clockTime}
 	</if>

+ 22 - 4
src/main/java/com/goafanti/common/mapper/UserMapperExt.xml

@@ -346,7 +346,16 @@
 		left join admin d on a.aid = d.id
 		where a.type = 1 and a.status =0
 	<if test="role == 0">
-		and un.name = #{name}
+		and un.name
+		<if test="names == null">
+			is null
+		</if>
+		<if test="names !=null">
+		in <foreach close=")" collection="names" item="name" open="(" separator=",">
+			#{name}
+		</foreach>
+		</if>
+
 	</if>
 		<if test="role == 1 and name != null">
 		and un.name like concat('%', #{name},'%')
@@ -391,9 +400,18 @@
 		where department_id=#{departmentId,jdbcType=VARCHAR}) d on a.aid = d.id
 		</if>
 		where a.type = 1 and a.status =0
-		<if test="role == 0 and name !=null">
-		and un.name = #{name}
-	</if>
+		<if test="role == 0">
+			and un.name
+			<if test="names == null">
+				is null
+			</if>
+			<if test="names !=null">
+				in <foreach close=")" collection="names" item="name" open="(" separator=",">
+				#{name}
+			</foreach>
+			</if>
+
+		</if>
 	<if test="role == 1 and name != null">
 		and un.name like concat('%', #{name},'%')
 	</if>

+ 17 - 4
src/main/java/com/goafanti/customer/service/impl/CustomerServiceImpl.java

@@ -210,13 +210,17 @@ public class CustomerServiceImpl extends BaseMybatisDao<UserMapper> implements C
 		Map<String, Object> params = disposeParams(cli);
 		if (TokenManager.hasRole(AFTConstants.SUPERADMIN)||TokenManager.hasRole(AFTConstants.APPROVAL_DECISION)) {
 			params.put("role", 1);
+			params.put("name", cli.getName());
 		} else {
-			params.put("role", 0);
 			//处理为空报错
-			if (StringUtils.isBlank(cli.getName())) params.put("name", "");
-
+			params.put("role", 0);
+			String [] names =pushNames(cli.getName());
+			if (names.length>1){
+				params.put("names", names);
+			}else {
+				return new Pagination<>();
+			}
 		}
-
 		Pagination<CustomerListOut> p = (Pagination<CustomerListOut>) findPage("selectOrganizationCustomerList",
 				"selectOrganizationCustomerCount", params, pageNo, pageSize);
 		List<CustomerListOut> l = (List<CustomerListOut>) p.getList();
@@ -233,6 +237,15 @@ public class CustomerServiceImpl extends BaseMybatisDao<UserMapper> implements C
 		return p;
 	}
 
+	private String[] pushNames(String name) {
+		if (name==null)name="";
+		String newstr1=name.replaceAll(" ",","); //先把所有空格替换成 逗号。
+		String newstr2=newstr1.replaceAll("\t",",");  //再把所有的制表符替换成逗号。
+		String newstr3=newstr2.replaceAll(",+", ","); //把所有重复的逗号合并成一个逗号。
+		String[] strings=newstr3.split(",");     //按逗号分解该字符串。
+		return strings;
+	}
+
 	@Override
 	public Pagination<CustomerListOut> listAllManageOrganizationCustomer(CustomerListIn cli, Integer pageNo,
 			Integer pageSize) {

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

@@ -12,6 +12,7 @@ public class OutPublicReleaseList {
 	private String latitude;
 	private String longitude;
 	private Integer status;
+	private Integer type;
 	private Integer clockIn;
 	private String updateTimes;
 	private Integer updateStatus;
@@ -19,6 +20,14 @@ public class OutPublicReleaseList {
 	private String 	assistAid;
 	private String 	assistAidName;
 
+	public Integer getType() {
+		return type;
+	}
+
+	public void setType(Integer type) {
+		this.type = type;
+	}
+
 	public Integer getAssist() {
 		return assist;
 	}

+ 12 - 17
src/main/java/com/goafanti/weChat/service/impl/PublicReleaseServiceImpl.java

@@ -84,6 +84,7 @@ public class PublicReleaseServiceImpl extends BaseMybatisDao<PublicReleaseMapper
 		if (u.getAid().equals(TokenManager.getAdminId())){
 			in.setMainStatus(1);
 		}
+		in.setAssistAidName(getAssistAidName(in.getAssistAid()));
 		publicReleaseMapper.insertSelective(in);
 		AdminListBo my = adminMapper.getDeptNameByAid(TokenManager.getAdminId());
 		Admin a=adminMapper.selectByPrimaryKey(my.getReviewer());
@@ -109,11 +110,15 @@ public class PublicReleaseServiceImpl extends BaseMybatisDao<PublicReleaseMapper
 		return map;
 	}
 
-
-
-
-
-
+	private String getAssistAidName(String assistAid) {
+		String [] ss=assistAid.split(",");
+		StringBuffer sb=new StringBuffer();
+		for (String s : ss) {
+			Admin a=adminMapper.selectByPrimaryKey(s);
+			sb=sb.append(a.getName()).append(",");
+		}
+		return  sb.deleteCharAt(sb.length() - 1).toString();
+	}
 
 
 	private void sendNoticeAndSoucket(String id,Integer type,String content) {
@@ -162,6 +167,7 @@ public class PublicReleaseServiceImpl extends BaseMybatisDao<PublicReleaseMapper
 		}else {
 			log.setStatus(PublicReleaseLog.states.cx.getCode());
 		}
+		in.setAssistAidName(getAssistAidName(in.getAssistAid()));
 		publicReleaseLogMapper.insertSelective(log);
 		return publicReleaseMapper.updateByPrimaryKeySelective(in);
 	}
@@ -171,9 +177,7 @@ public class PublicReleaseServiceImpl extends BaseMybatisDao<PublicReleaseMapper
 	public Pagination<OutPublicReleaseList> listPublicRelease(InputPublicReleaseList in) {
 		Map<String,Object> map =new HashMap<String, Object>();
 		map.put("type", in.getType()==null?0:in.getType());
-		if (TokenManager.hasRole(AFTConstants.TECH_FINANCE_DIRECTOR)){
-
-		}else {
+		if (!TokenManager.hasRole(AFTConstants.TECH_FINANCE_DIRECTOR)){
 			map.put("aid", TokenManager.getAdminId());
 		}
 		if (StringUtils.isNotEmpty(in.getClockTime()))	map.put("clockTime", in.getClockTime());
@@ -182,15 +186,6 @@ public class PublicReleaseServiceImpl extends BaseMybatisDao<PublicReleaseMapper
 		if(StringUtils.isNotEmpty(in.getUserName()))	map.put("userName", in.getUserName());
 		if(in.getStatus()!=null)	map.put("status", in.getStatus());
 		if(in.getClockIn()!=null)	map.put("clockIn", in.getClockIn());
-		if (in.getAssist()==null){
-			map.put("assist",0);
-		}else {
-			if (in.getType()==3){
-				map.put("assist",2);
-			}else {
-				map.put("assist",in.getAssist());
-			}
-		}
 		Pagination<OutPublicReleaseList> p=(Pagination<OutPublicReleaseList>) findPage("listPublicRelease", "countPublicRelease", map, in.getPageNo(), in.getPageSize());
 		return p;
 	}