Browse Source

处理元打卡数据标记每天

anderx 1 year ago
parent
commit
98a766ddc7

+ 3 - 0
src/main/java/com/goafanti/common/dao/PublicReleaseDateClockMapper.java

@@ -2,6 +2,8 @@ package com.goafanti.common.dao;
 
 import com.goafanti.common.model.PublicReleaseDateClock;
 
+import java.util.List;
+
 /**
 * @author Administrator
 * @description 针对表【public_release_date_clock(公出日期打卡表)】的数据库操作Mapper
@@ -22,4 +24,5 @@ public interface PublicReleaseDateClockMapper {
 
     int updateByPrimaryKey(PublicReleaseDateClock record);
 
+    void insertBatch(List<PublicReleaseDateClock> list);
 }

+ 1 - 2
src/main/java/com/goafanti/common/dao/PublicReleaseDetailsMapper.java

@@ -2,7 +2,6 @@ package com.goafanti.common.dao;
 
 import com.goafanti.common.model.PublicReleaseDetails;
 import com.goafanti.weChat.bo.InputPublicRelease;
-import com.goafanti.weChat.bo.OutPublicRelease;
 import com.goafanti.weChat.bo.OutPublicReleaseDetails;
 
 import java.util.List;
@@ -20,7 +19,7 @@ public interface PublicReleaseDetailsMapper {
 
     int updateByPrimaryKey(PublicReleaseDetails record);
 
-    List<OutPublicReleaseDetails> selectByPCid(Integer id);
+    List<OutPublicReleaseDetails> selectByPrid(Integer id);
 
     void insertBatch(List<PublicReleaseDetails> list);
 

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

@@ -61,4 +61,6 @@ public interface PublicReleaseMapper {
     List<PublicRelease> selectMyNewPublic(String adminId);
 
     OutPublicReleaseList selectOutListBoById(Integer id);
+
+    List<PublicRelease>  selectAll();
 }

+ 8 - 0
src/main/java/com/goafanti/common/mapper/PublicReleaseDateClockMapper.xml

@@ -57,6 +57,14 @@
                 <if test="createTime != null">#{createTime,jdbcType=TIMESTAMP},</if>
         </trim>
     </insert>
+    <insert id="insertBatch">
+        insert into public_release_date_clock
+        (prid,prdid,status,clock_in_time)
+        values
+        <foreach collection="list" item="item" index="index" separator=",">
+            (#{item.prid,jdbcType=INTEGER},#{item.prdid,jdbcType=INTEGER},#{item.status,jdbcType=INTEGER},#{item.clockInTime,jdbcType=TIMESTAMP})
+        </foreach>
+    </insert>
     <update id="updateByPrimaryKeySelective" parameterType="com.goafanti.common.model.PublicReleaseDateClock">
         update public_release_date_clock
         <set>

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

@@ -216,7 +216,7 @@
   </update>
 
 
-  <select id="selectByPCid" resultType="com.goafanti.weChat.bo.OutPublicReleaseDetails">
+  <select id="selectByPrid" resultType="com.goafanti.weChat.bo.OutPublicReleaseDetails">
     select
       a.id,a.prid, a.`uid`, a.ufid, a.new_user newUser,a.longitude,a.latitude,b.nickname userName,a.main_status mainStatus,a.duration,
       a.district_name districtName ,a.clock_in clockIn,date_format(a.clock_in_time, '%Y-%m-%d %H:%i:%S')  clockInTimes,a.photo_url photoUrl

+ 6 - 0
src/main/java/com/goafanti/common/mapper/PublicReleaseMapper.xml

@@ -737,5 +737,11 @@
                                left join (select * from expense_account where status in (0,1,2,3)) ea on a.id =ea.prid
         where a.id= #{id}
     </select>
+    <select id="selectAll"  resultMap="BaseResultMap">
+        select
+        <include refid="Base_Column_List" />
+        from public_release
+        where  status in  (1,2)
+    </select>
 </mapper>
 

+ 12 - 0
src/main/java/com/goafanti/common/model/PublicReleaseDateClock.java

@@ -123,4 +123,16 @@ public class PublicReleaseDateClock implements Serializable {
     public void setCreateTime(Date createTime) {
         this.createTime = createTime;
     }
+
+    @Override
+    public String toString() {
+        return "PublicReleaseDateClock{" +
+                "id=" + id +
+                ", prid=" + prid +
+                ", prdid=" + prdid +
+                ", status=" + status +
+                ", clockInTime=" + clockInTime +
+                ", createTime=" + createTime +
+                '}';
+    }
 }

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

@@ -433,5 +433,15 @@ public class AdminReleaseApiController extends CertifyApiController{
 	}
 
 
+	/**
+	 * 技术发起公出查询发起情况
+	 */
+	@RequestMapping(value = "/pushDateClock",method = RequestMethod.POST)
+	public Result pushDateClock (){
+		Result res =new Result();
+		return res.data(publicReleaseService.pushDateClock());
+	}
+
+
 
 }

+ 2 - 0
src/main/java/com/goafanti/weChat/service/PublicReleaseService.java

@@ -69,4 +69,6 @@ public interface PublicReleaseService {
 
 
 	void pushOutPublicDtails(List<OutPublicDtails> outList);
+
+	Object pushDateClock();
 }

+ 49 - 8
src/main/java/com/goafanti/weChat/service/impl/PublicReleaseServiceImpl.java

@@ -1,6 +1,7 @@
 package com.goafanti.weChat.service.impl;
 
 import cn.jiguang.common.utils.StringUtils;
+import com.alibaba.fastjson.JSONArray;
 import com.goafanti.admin.bo.AdminListBo;
 import com.goafanti.admin.service.DepartmentService;
 import com.goafanti.common.bo.EmailBo;
@@ -66,6 +67,8 @@ public class PublicReleaseServiceImpl extends BaseMybatisDao<PublicReleaseMapper
 	private AdminUserCountMapper adminUserCountMapper;
 	@Autowired
 	private PublicReleaseClockMapper publicReleaseClockMapper;
+	@Autowired
+	private PublicReleaseDateClockMapper publicReleaseDateClockMapper;
 
 	@Override
 	@Transactional
@@ -92,6 +95,11 @@ public class PublicReleaseServiceImpl extends BaseMybatisDao<PublicReleaseMapper
 				in.setTechStartProcess(1);
 			}
 		}
+		if (in.getValidDate()!=null){
+			String validDate = in.getValidDate();
+			List<Map> maps = JSONArray.parseArray(validDate, Map.class);
+
+		}
 		publicReleaseMapper.insertSelective(in);
 		List<PublicReleaseDetails> prdList=new ArrayList<>();
 		List<User> users=new ArrayList<>();
@@ -389,7 +397,7 @@ public class PublicReleaseServiceImpl extends BaseMybatisDao<PublicReleaseMapper
 			}
 			if (in.getUids()!=null){
 				List<String> split = Arrays.asList(in.getUids().split(","));
-				List<OutPublicReleaseDetails> prList = publicReleaseDetailsMapper.selectByPCid(in.getId());
+				List<OutPublicReleaseDetails> prList = publicReleaseDetailsMapper.selectByPrid(in.getId());
 				uses=pushPublicReleaseDetails(split,prList,use,in);
 			}
 			in.setStatus(1);
@@ -980,8 +988,8 @@ public class PublicReleaseServiceImpl extends BaseMybatisDao<PublicReleaseMapper
 	}
 
 	private void updatePublicReleaseDtails(PublicRelease use, Integer id) {
-		List<OutPublicReleaseDetails> list = publicReleaseDetailsMapper.selectByPCid(use.getId());
-		List<OutPublicReleaseDetails> list2 = publicReleaseDetailsMapper.selectByPCid(id);
+		List<OutPublicReleaseDetails> list = publicReleaseDetailsMapper.selectByPrid(use.getId());
+		List<OutPublicReleaseDetails> list2 = publicReleaseDetailsMapper.selectByPrid(id);
 		//查找新增的
 		for (OutPublicReleaseDetails out : list) {
 			boolean flag=true;
@@ -1017,7 +1025,7 @@ public class PublicReleaseServiceImpl extends BaseMybatisDao<PublicReleaseMapper
 	}
 
 	private void addpublicReleaseDtails(PublicRelease use, Integer id) {
-		List<OutPublicReleaseDetails> list = publicReleaseDetailsMapper.selectByPCid(use.getId());
+		List<OutPublicReleaseDetails> list = publicReleaseDetailsMapper.selectByPrid(use.getId());
 		for (OutPublicReleaseDetails out : list) {
 			OutPublicReleaseDetails prd=new OutPublicReleaseDetails();
 			BeanUtils.copyProperties(out,prd);
@@ -1067,7 +1075,7 @@ public class PublicReleaseServiceImpl extends BaseMybatisDao<PublicReleaseMapper
 		if (use.getTechStartProcess()==1||use.getTechStartProcess()==3){
 			return -2;
 		}
-		List<OutPublicReleaseDetails> prdList = publicReleaseDetailsMapper.selectByPCid(id);
+		List<OutPublicReleaseDetails> prdList = publicReleaseDetailsMapper.selectByPrid(id);
 		String str = "";
 		Date date = new Date();
 		boolean flag=false;
@@ -1199,7 +1207,7 @@ public class PublicReleaseServiceImpl extends BaseMybatisDao<PublicReleaseMapper
 
 				}
 			}
-		out.setPrdList(publicReleaseDetailsMapper.selectByPCid(out.getId()));
+		out.setPrdList(publicReleaseDetailsMapper.selectByPrid(out.getId()));
 		return out;
 	}
 
@@ -1389,7 +1397,7 @@ public class PublicReleaseServiceImpl extends BaseMybatisDao<PublicReleaseMapper
 		}
 		if (id==null)id=myPublic.get(0).getId();
 		OutPublicReleaseList out = publicReleaseMapper.selectOutListBoById(id);
-		out.setPrdList(publicReleaseDetailsMapper.selectByPCid(out.getId()));
+		out.setPrdList(publicReleaseDetailsMapper.selectByPrid(out.getId()));
 		return out;
 //		List<OutPublicReleaseList> myPublic = getMyPublic(0,1);
 //		if (myPublic.isEmpty()){
@@ -1425,7 +1433,7 @@ public class PublicReleaseServiceImpl extends BaseMybatisDao<PublicReleaseMapper
 		map.put("aid",TokenManager.getAdminId());
 		List<OutPublicReleaseList> list = (List<OutPublicReleaseList>) findList("listPublicRelease",map,1,1);
 		for (OutPublicReleaseList out : list) {
-			out.setPrdList(publicReleaseDetailsMapper.selectByPCid(out.getId()));
+			out.setPrdList(publicReleaseDetailsMapper.selectByPrid(out.getId()));
 
 		}
 		return list;
@@ -1796,6 +1804,8 @@ public class PublicReleaseServiceImpl extends BaseMybatisDao<PublicReleaseMapper
 		pushiClockInTime(list, publicReleaseClocks);
 	}
 
+
+
 	private void pushiClockInTime(List<OutPublicDtails> list, List<PublicReleaseClock> publicReleaseClocks) {
 		for (OutPublicDtails outPublicDtails : list) {
 			List<PublicReleaseClock> colokList =new ArrayList<>();
@@ -1812,4 +1822,35 @@ public class PublicReleaseServiceImpl extends BaseMybatisDao<PublicReleaseMapper
 			outPublicDtails.setClockInTimes(sb.toString());
 		}
 	}
+	@Override
+	public Object pushDateClock() {
+		List<PublicRelease> publicReleases = publicReleaseMapper.selectAll();
+		for (PublicRelease e : publicReleases) {
+			List<PublicReleaseDateClock> list= new ArrayList<>();
+			if (e.getValidDate()!=null){
+				List<Map> maps = JSONArray.parseArray(e.getValidDate(), Map.class);
+				for (Map map : maps) {
+					String dates = (String) map.get("value");
+					if (dates!=null){
+						Date date = DateUtils.parseDate(dates);
+						List<OutPublicReleaseDetails> outPublicReleaseDetails = publicReleaseDetailsMapper.selectByPrid(e.getId());
+						for (OutPublicReleaseDetails det : outPublicReleaseDetails) {
+							PublicReleaseDateClock newPRDC = new PublicReleaseDateClock();
+							newPRDC.setClockInTime(date);
+							newPRDC.setPrid(e.getId());
+							newPRDC.setPrdid(det.getId());
+							newPRDC.setStatus(det.getClockIn());
+							list.add(newPRDC);
+						}
+						if(!list.isEmpty()){
+							publicReleaseDateClockMapper.insertBatch(list);
+							list.clear();
+						}
+					}
+
+				}
+			}
+		}
+		return 1;
+	}
 }