Explorar o código

小程序公出修改

anderx %!s(int64=3) %!d(string=hai) anos
pai
achega
4baa986527

+ 2 - 0
src/main/java/com/goafanti/common/constant/AFTConstants.java

@@ -26,6 +26,8 @@ public class AFTConstants {
 	/**	集团副总 */
 	public static final String	VICE_CEO							= "99997";
 	/** 技术管理员 */
+	public static final String  TECH_FINANCE_DIRECTOR                = "9994";
+	/** 技术管理员 */
 	public static final String  TECH_ADMIN                          = "9998";
 	/**	技术经理 */
 	public static final String  TECH_MANAGER                        = "998";

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

@@ -34,12 +34,15 @@
     <result column="order_no" jdbcType="VARCHAR" property="orderNo" />
     <result column="update_time" jdbcType="TIMESTAMP" property="updateTime" />
     <result column="update_status" jdbcType="INTEGER" property="updateStatus" />
+    <result column="assist" jdbcType="INTEGER" property="assist" />
+    <result column="assist_aid" jdbcType="VARCHAR" property="assistAid" />
   </resultMap>
   <sql id="Base_Column_List">
     id, `uid`, aid, release_start, release_end, remarks, annex_url, user_name, longitude,
     latitude, `status`, create_time, clock_in, clock_in_time, photo_url, pid, pname,
     ufid, duration, valid_date, new_user, sign_sum, main_status, supplement, audit_info,
-    `plan`, expected_effect, next_plan, `type`, order_no, update_time, update_status
+    `plan`, expected_effect, next_plan, `type`, order_no, update_time, update_status,
+    assist, assist_aid
   </sql>
   <select id="selectByPrimaryKey" parameterType="java.lang.Integer" resultMap="BaseResultMap">
     select
@@ -51,7 +54,7 @@
     delete from public_release
     where id = #{id,jdbcType=INTEGER}
   </delete>
-  <insert id="insert" parameterType="com.goafanti.common.model.PublicRelease">
+  <insert id="insert" keyColumn="id" keyProperty="id" parameterType="com.goafanti.common.model.PublicRelease" useGeneratedKeys="true">
     insert into public_release (id, `uid`, aid,
       release_start, release_end, remarks,
       annex_url, user_name, longitude,
@@ -62,7 +65,8 @@
       main_status, supplement, audit_info,
       `plan`, expected_effect, next_plan,
       `type`, order_no, update_time,
-      update_status)
+      update_status, assist, assist_aid
+      )
     values (#{id,jdbcType=INTEGER}, #{uid,jdbcType=VARCHAR}, #{aid,jdbcType=VARCHAR},
       #{releaseStart,jdbcType=TIMESTAMP}, #{releaseEnd,jdbcType=TIMESTAMP}, #{remarks,jdbcType=VARCHAR},
       #{annexUrl,jdbcType=VARCHAR}, #{userName,jdbcType=VARCHAR}, #{longitude,jdbcType=VARCHAR},
@@ -73,7 +77,8 @@
       #{mainStatus,jdbcType=INTEGER}, #{supplement,jdbcType=VARCHAR}, #{auditInfo,jdbcType=VARCHAR},
       #{plan,jdbcType=VARCHAR}, #{expectedEffect,jdbcType=VARCHAR}, #{nextPlan,jdbcType=VARCHAR},
       #{type,jdbcType=INTEGER}, #{orderNo,jdbcType=VARCHAR}, #{updateTime,jdbcType=TIMESTAMP},
-      #{updateStatus,jdbcType=INTEGER})
+      #{updateStatus,jdbcType=INTEGER}, #{assist,jdbcType=INTEGER}, #{assistAid,jdbcType=VARCHAR}
+      )
   </insert>
 
   <insert id="insertSelective" keyColumn="id" keyProperty="id" parameterType="com.goafanti.common.model.PublicRelease" useGeneratedKeys="true">
@@ -175,6 +180,12 @@
       <if test="updateStatus != null">
         update_status,
       </if>
+      <if test="assist != null">
+        assist,
+      </if>
+      <if test="assistAid != null">
+        assist_aid,
+      </if>
     </trim>
     <trim prefix="values (" suffix=")" suffixOverrides=",">
       <if test="id != null">
@@ -273,6 +284,12 @@
       <if test="updateStatus != null">
         #{updateStatus,jdbcType=INTEGER},
       </if>
+      <if test="assist != null">
+        #{assist,jdbcType=INTEGER},
+      </if>
+      <if test="assistAid != null">
+        #{assistAid,jdbcType=VARCHAR},
+      </if>
     </trim>
   </insert>
   <update id="updateByPrimaryKeySelective" parameterType="com.goafanti.common.model.PublicRelease">
@@ -371,6 +388,12 @@
       <if test="updateStatus != null">
         update_status = #{updateStatus,jdbcType=INTEGER},
       </if>
+      <if test="assist != null">
+        assist = #{assist,jdbcType=INTEGER},
+      </if>
+      <if test="assistAid != null">
+        assist_aid = #{assistAid,jdbcType=VARCHAR},
+      </if>
     </set>
     where id = #{id,jdbcType=INTEGER}
   </update>
@@ -406,7 +429,9 @@
       `type` = #{type,jdbcType=INTEGER},
       order_no = #{orderNo,jdbcType=VARCHAR},
       update_time = #{updateTime,jdbcType=TIMESTAMP},
-      update_status = #{updateStatus,jdbcType=INTEGER}
+      update_status = #{updateStatus,jdbcType=INTEGER},
+      assist = #{assist,jdbcType=INTEGER},
+      assist_aid = #{assistAid,jdbcType=VARCHAR}
     where id = #{id,jdbcType=INTEGER}
   </update>
 
@@ -420,12 +445,16 @@
   <select id="listPublicRelease" resultType="com.goafanti.weChat.bo.OutPublicReleaseList">
   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.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
   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
   </if>
       where 1=1
+    <if test="assist !=null">
+    and a.assist = #{assist}
+    </if>
 	<if test="type==0">
 	and a.aid= #{aid}
 	</if>
@@ -462,6 +491,9 @@
       left join department d on c.department_id =d.id
     </if>
     where 1=1
+    <if test="assist !=null">
+      and a.assist = #{assist}
+    </if>
     <if test="type==0">
       and a.aid= #{aid}
     </if>
@@ -493,7 +525,7 @@
     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.annex_url annexUrl ,a.remarks,a.duration ,a.valid_date validDate ,a.latitude ,a.longitude ,a.aid ,c.superior_id suprId,a.uid,
     a.clock_in clockIn ,a.plan ,a.expected_effect expectedEffect,a.next_plan nextPlan,c.reviewer,a.type,a.order_no orderNo,d.contract_no contractNo,
-    date_format(a.update_time ,'%Y-%m-%d %H:%i:%S') updateTimes,a.update_Status updateStatus
+    date_format(a.update_time ,'%Y-%m-%d %H:%i:%S') updateTimes,a.update_Status updateStatus,a.assist,a.assist_aid assistAid
     from public_release a left join `user` b on a.uid =b.id left join admin c on a.aid =c.id
     left join t_order_new d on a.order_no=d.order_no
     where 1=1

+ 28 - 2
src/main/java/com/goafanti/common/model/PublicRelease.java

@@ -56,7 +56,7 @@ public class PublicRelease implements Serializable {
     private String latitude;
 
     /**
-     * 状态 0驳回 1发起 2同意 3打卡 4 撤销
+     * 状态 0驳回 1发起 2同意 3 撤销
      */
     private Integer status;
 
@@ -146,7 +146,7 @@ public class PublicRelease implements Serializable {
     private String nextPlan;
 
     /**
-     * 分类 0业务/行政 1技术
+     * 分类 0业务 1技术 2行政
      */
     private Integer type;
 
@@ -165,6 +165,16 @@ public class PublicRelease implements Serializable {
      */
     private Integer updateStatus;
 
+    /**
+     * 0否 1主公出 2协助公出
+     */
+    private Integer assist;
+
+    /**
+     * 协单人员
+     */
+    private String assistAid;
+
     private static final long serialVersionUID = 1L;
 
     public Integer getId() {
@@ -422,4 +432,20 @@ public class PublicRelease implements Serializable {
     public void setUpdateStatus(Integer updateStatus) {
         this.updateStatus = updateStatus;
     }
+
+    public Integer getAssist() {
+        return assist;
+    }
+
+    public void setAssist(Integer assist) {
+        this.assist = assist;
+    }
+
+    public String getAssistAid() {
+        return assistAid;
+    }
+
+    public void setAssistAid(String assistAid) {
+        this.assistAid = assistAid;
+    }
 }

+ 14 - 6
src/main/java/com/goafanti/weChat/bo/InputPublicReleaseList.java

@@ -1,20 +1,28 @@
 package com.goafanti.weChat.bo;
 
 public class InputPublicReleaseList {
-	
+
 	private Integer pageSize;
 	private Integer pageNo;
+//	查看类型 0我的 1审核 2管理员 3协单
 	private Integer type;
 	private String clockTime;
+	private Integer assist;
 //	公出时间搜索,按公出名称搜索,按审核状态搜索(审核中、已撤销、已审核),按打卡状态搜索(已打卡、未打卡)
 	private String releaseStarts;
 	private String releaseEnds;
 	private String userName;
 	private String status;
 	private String clockIn;
-	
-	
-	
+
+	public Integer getAssist() {
+		return assist;
+	}
+
+	public void setAssist(Integer assist) {
+		this.assist = assist;
+	}
+
 	public String getUserName() {
 		return userName;
 	}
@@ -51,7 +59,7 @@ public class InputPublicReleaseList {
 	public void setType(Integer type) {
 		this.type = type;
 	}
-	
+
 	public String getClockTime() {
 		return clockTime;
 	}
@@ -70,6 +78,6 @@ public class InputPublicReleaseList {
 	public void setReleaseEnds(String releaseEnds) {
 		this.releaseEnds = releaseEnds;
 	}
-	
+
 
 }

+ 13 - 0
src/main/java/com/goafanti/weChat/bo/OutPublicRelease.java

@@ -29,6 +29,19 @@ public class OutPublicRelease extends PublicRelease {
 
 	private String updateTimes;
 
+	/**
+	 * 协单人员
+	 */
+	private String assistAidName;
+
+	public String getAssistAidName() {
+		return assistAidName;
+	}
+
+	public void setAssistAidName(String assistAidName) {
+		this.assistAidName = assistAidName;
+	}
+
 	public String getUpdateTimes() {
 		return updateTimes;
 	}

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

@@ -15,6 +15,33 @@ public class OutPublicReleaseList {
 	private Integer clockIn;
 	private String updateTimes;
 	private Integer updateStatus;
+	private Integer assist;
+	private String 	assistAid;
+	private String 	assistAidName;
+
+	public Integer getAssist() {
+		return assist;
+	}
+
+	public void setAssist(Integer assist) {
+		this.assist = assist;
+	}
+
+	public String getAssistAid() {
+		return assistAid;
+	}
+
+	public void setAssistAid(String assistAid) {
+		this.assistAid = assistAid;
+	}
+
+	public String getAssistAidName() {
+		return assistAidName;
+	}
+
+	public void setAssistAidName(String assistAidName) {
+		this.assistAidName = assistAidName;
+	}
 
 	public String getUpdateTimes() {
 		return updateTimes;

+ 4 - 0
src/main/java/com/goafanti/weChat/controller/AdminReleaseApiController.java

@@ -59,6 +59,10 @@ public class AdminReleaseApiController extends CertifyApiController{
 			res.getError().add(buildError("公出时段已经被使用!","公出时段已经被使用!"));
 			return res;
 		}
+		if (in.getAssist()==1&&in.getAssistAid()==null) {
+			res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR,"协单人员"));
+			return res;
+		}
 
 		res.setData(publicReleaseService.addPublicRelease(in));
 		return res;

+ 61 - 5
src/main/java/com/goafanti/weChat/service/impl/PublicReleaseServiceImpl.java

@@ -79,7 +79,6 @@ public class PublicReleaseServiceImpl extends BaseMybatisDao<PublicReleaseMapper
 		Date date =new Date();
 		in.setCreateTime(date);
 		in.setStatus(1);
-
 		in.setAid(TokenManager.getAdminId());
 		in.setNewUser(0);
 		User u=userMapper.selectByPrimaryKey(in.getUid());
@@ -176,14 +175,32 @@ 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());
-		map.put("aid", TokenManager.getAdminId());
+		if (TokenManager.hasRole(AFTConstants.TECH_FINANCE_DIRECTOR)){
+
+		}else {
+			map.put("aid", TokenManager.getAdminId());
+		}
 		if (StringUtils.isNotEmpty(in.getClockTime()))	map.put("clockTime", in.getClockTime());
 		if(StringUtils.isNotEmpty(in.getReleaseStarts()))	map.put("releaseStarts", in.getReleaseStarts());
 		if(StringUtils.isNotEmpty(in.getReleaseEnds()))	map.put("publicEnd", in.getReleaseEnds()+" 23:59:59");
 		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());
-		return (Pagination<OutPublicReleaseList>) findPage("listPublicRelease", "countPublicRelease", map, in.getPageNo(), in.getPageSize());
+		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());
+		List<OutPublicReleaseList> list = (List<OutPublicReleaseList>) p.getList();
+		for (OutPublicReleaseList out : list) {
+			out.setAssistAidName(pushAssistAidName(out.getAssistAid()));
+		}
+		return p;
 	}
 
 	@Override
@@ -200,8 +217,15 @@ public class PublicReleaseServiceImpl extends BaseMybatisDao<PublicReleaseMapper
 		StringBuffer str=new StringBuffer();
 		Admin ad=adminMapper.selectByPrimaryKey(aid);
 		str=str.append("(").append(ad.getName()).append(")");
-		if (status==0){str=str.append("驳回,");}
-		else if(status==2){str=str.append("同意,");}
+		if (status==0){
+			str=str.append("驳回,");
+		}else if(status==2){
+			str=str.append("同意,");
+			//如果是协单公出主公出,在审核通过
+			if (use.getAssist()==1){
+				pushPublicReleaseAssist(use);
+			}
+		}
 		str=str.append(remarks);
 		p.setAuditInfo(str.toString());
 		publicReleaseMapper.updateByPrimaryKeySelective(p);
@@ -234,6 +258,23 @@ public class PublicReleaseServiceImpl extends BaseMybatisDao<PublicReleaseMapper
 			return 1;
 	}
 
+	private void pushPublicReleaseAssist(PublicRelease use) {
+		if (use.getAssistAid()!=null){
+			String []ss=use.getAssistAid().split(",");
+			for (String s : ss) {
+				use.setAssist(2);
+				use.setAssistAid(null);
+				use.setAid(s);
+				use.setStatus(2);
+				use.setType(3);
+				use.setId(null);
+				publicReleaseMapper.insert(use);
+				PublicReleaseLog log=new PublicReleaseLog(use.getId(),TokenManager.getAdminId(),1,"公出协单通过产生公出信息",new Date());
+				publicReleaseLogMapper.insertSelective(log);
+			}
+		}
+	}
+
 	@Override
 	public List<outPublicReleaseLog> listPublicReleaseLog(Integer id,String ufid) {
 		List<outPublicReleaseLog> list=publicReleaseLogMapper.listPublicReleaseLog(id,ufid);
@@ -296,11 +337,26 @@ public class PublicReleaseServiceImpl extends BaseMybatisDao<PublicReleaseMapper
 				}else {
 					out.setPermission(1);
 				}
+				//处理协单人员名称
+				out.setAssistAidName(pushAssistAidName(out.getAssistAid()));
 			}
 		}
 		return out;
 	}
 
+	private String  pushAssistAidName(String assistAid) {
+		if (assistAid!=null){
+			String []ss=assistAid.split(",");
+			StringBuffer str=new StringBuffer();
+			for (String s : ss) {
+				Admin a=adminMapper.selectByPrimaryKey(s);
+				str=str.append(a.getName());
+			}
+			return str.toString();
+		}
+		return "";
+	}
+
 	@Override
 	public OutPublicRelease followDtails(String id) {
 		return	publicReleaseMapper.selectDtails(null,id);

+ 2 - 2
src/main/resources/props/config_local.properties

@@ -1,7 +1,7 @@
 dev.name=local
 jdbc.driverClassName=com.mysql.jdbc.Driver
-#jdbc.url=jdbc\:mysql://localhost:3306/aft?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&useSSL=false
-jdbc.url=jdbc\:mysql://localhost:3306/aft20220318?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&useSSL=false
+jdbc.url=jdbc\:mysql://localhost:3306/aft?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&useSSL=false
+#jdbc.url=jdbc\:mysql://localhost:3306/aft20220318?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&useSSL=false
 jdbc.username=root
 jdbc.password=123456
 #jdbc.url=jdbc:mysql://101.37.32.31:3306/aft?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&useSSL=false