LiGuang 3 yıl önce
ebeveyn
işleme
a9d37476dd

+ 2 - 0
jeecg-boot-module-demo/src/main/java/org/jeecg/modules/geke/userShift/controller/UserShiftController.java

@@ -198,6 +198,8 @@ public class UserShiftController extends JeecgController<UserShift, IUserShiftSe
 				  for(UserShiftExcel o:list){
 					 if (oConvertUtils.isNotEmpty(o.getWorkNo())&&oConvertUtils.isNotEmpty(o.getMoth())){
 						 String userId = userShiftService.getUserId(o.getWorkNo());
+
+
 						 userShiftService.deleteUserShift(userId,o.getMoth()+"-01");
 						 if (oConvertUtils.isNotEmpty(userId)) {
 							 if (oConvertUtils.isNotEmpty(o.getA1())) {

+ 3 - 1
jeecg-boot-module-demo/src/main/java/org/jeecg/modules/geke/userShift/mapper/xml/UserShiftMapper.xml

@@ -68,7 +68,8 @@ order by a.shift_date desc
         order by date_format(a.shift_date,'%Y-%m-%d') asc
     </select>
     <select id="getUsers" resultType="java.util.Map">
-    select distinct a.id as 'rid',type,a.user_id as 'id', a.work_day as'workDay',b.realname,a.start_date as'startDate',a.end_date as'endDate',b.work_no as 'workNo'
+    select *from (
+    select distinct a.id as 'rid',type,a.user_id as 'id', a.work_day as'workDay',b.realname,a.start_date as'startDate',a.end_date as'endDate',b.work_no as 'workNo',d.depart_name
     from geke_attendance_rule a
     left join sys_user b on a.user_id=b.id
     left join sys_user_depart c on b.id=c.user_id
@@ -93,6 +94,7 @@ order by a.shift_date desc
     and ((b.employment_status='30' and date_format(b.term_Date,'%Y-%m')>=date_format(#{date},'%Y-%m')) or	(date_format(#{date},'%Y-%m')>=date_format(b.entry_Date,'%Y-%m') and b.employment_status='10'))
 
 </if>
+)  a
     </select>
     <delete id="deleteUserids">
        delete from geke_user_shift where 1=1

+ 2 - 1
jeecg-boot-module-demo/src/main/java/org/jeecg/modules/geke/userShift/service/IUserShiftService.java

@@ -1,6 +1,7 @@
 package org.jeecg.modules.geke.userShift.service;
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.metadata.OrderItem;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import org.apache.ibatis.annotations.Param;
 import org.jeecg.modules.geke.userShift.entity.UserShift;
@@ -38,7 +39,7 @@ public interface IUserShiftService extends IService<UserShift> {
 
     List<Map<String,Object>> getMothUserShifts(String userid, String date);
 
-    IPage<Map<String,Object>>mothUserShift(String date,Integer pageNo,Integer pageSize,String type,List<String>deptids,String name,String dept) throws ParseException;
+    IPage<Map<String,Object>>mothUserShift(String date,Integer pageNo,Integer pageSize,String type,List<String>deptids,String name,String dept,List<OrderItem>orderItems) throws ParseException;
 
     List<Map<String,Object>>mothUserShifts(String date,String type,String userid) throws ParseException;
     IPage<Map<String,Object>>getUserNot(Page<Map<String,Object>> page,@Param("userids")List<String>userids,List<String>deptids,String realname,String dept);

+ 3 - 1
jeecg-boot-module-demo/src/main/java/org/jeecg/modules/geke/userShift/service/impl/UserShiftServiceImpl.java

@@ -2,6 +2,7 @@ package org.jeecg.modules.geke.userShift.service.impl;
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.metadata.OrderItem;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import org.apache.ibatis.annotations.Param;
 import org.apache.shiro.SecurityUtils;
@@ -133,9 +134,10 @@ public class UserShiftServiceImpl extends ServiceImpl<UserShiftMapper, UserShift
     }
 
     @Override
-    public IPage<Map<String, Object>> mothUserShift(String date,Integer pageNo,Integer pageSize,String type,List<String>deptids,String name,String dept) throws ParseException {
+    public IPage<Map<String, Object>> mothUserShift(String date,Integer pageNo,Integer pageSize,String type,List<String>deptids,String name,String dept,List<OrderItem>orderItems) throws ParseException {
         SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
         Page<Map<String, Object>> page = new Page<Map<String, Object>>(pageNo, pageSize);
+        page.setOrders(orderItems);
         List<String>userids=new ArrayList<>();
         List<String> mySubDepIdsByDepId=null;
         IPage<Map<String, Object>> users=null;

+ 14 - 3
jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/controller/DuplicateCheckController.java

@@ -7,7 +7,9 @@ import org.apache.commons.lang.StringUtils;
 import org.jeecg.common.api.vo.Result;
 import org.jeecg.common.util.SqlInjectionUtil;
 import org.jeecg.modules.system.mapper.SysDictMapper;
+import org.jeecg.modules.system.mapper.SysUserMapper;
 import org.jeecg.modules.system.model.DuplicateCheckVo;
+import org.jeecg.modules.system.service.ISysUserService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMethod;
@@ -31,6 +33,8 @@ public class DuplicateCheckController {
 	@Autowired
     SysDictMapper sysDictMapper;
 
+	@Autowired
+	private SysUserMapper sysUserMapper;
 	/**
 	 * 校验数据是否在系统中是否存在
 	 * 
@@ -48,12 +52,19 @@ public class DuplicateCheckController {
 		SqlInjectionUtil.filterContent(sqlInjCheck);
 		if (StringUtils.isNotBlank(duplicateCheckVo.getDataId())) {
 			// [2].编辑页面校验
-			num = sysDictMapper.duplicateCheckCountSql(duplicateCheckVo);
+			if (StringUtils.isNotBlank(duplicateCheckVo.getFieldName())&&duplicateCheckVo.getFieldName().equals("phone")){
+				num=Long.parseLong(String.valueOf(sysUserMapper.countPhone(duplicateCheckVo.getFieldVal(),duplicateCheckVo.getDataId())));
+			}else {
+				num = sysDictMapper.duplicateCheckCountSql(duplicateCheckVo);
+			}
 		} else {
 			// [1].添加页面校验
-			num = sysDictMapper.duplicateCheckCountSqlNoDataId(duplicateCheckVo);
+			if (StringUtils.isNotBlank(duplicateCheckVo.getFieldName()) && duplicateCheckVo.getFieldName().equals("phone")) {
+				num = Long.parseLong(String.valueOf(sysUserMapper.countPhone(duplicateCheckVo.getFieldVal(),"")));
+			} else {
+				num = sysDictMapper.duplicateCheckCountSqlNoDataId(duplicateCheckVo);
+			}
 		}
-
 		if (num == null || num == 0) {
 			// 该值可用
 			return Result.ok("该值可用!");

+ 34 - 2
jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/controller/SysUserController.java

@@ -1209,7 +1209,23 @@ public class SysUserController {
         }else {
             date=DateUtils.formatDate(new Date());
         }
-        IPage<Map<String, Object>> maps = userShiftService.mothUserShift(date,pageNo,pageSize,type,mySubDepIdsByDepId,name,dept);
+        QueryWrapper<UserShift> queryWrapper = QueryGenerator.initQueryWrapper(userShift, request.getParameterMap());
+        List<OrderItem>orderItems=new ArrayList<>();
+        if (queryWrapper.getExpression().getOrderBy()!=null&&queryWrapper.getExpression().getOrderBy().size()>0){
+            String[] s = queryWrapper.getExpression().getOrderBy().get(0).getSqlSegment().split(" ");
+            OrderItem orderItem=new OrderItem();
+            orderItem.setColumn(s[0]);
+            orderItem.setAsc(true);
+            if (s[1].equals("DESC")){
+                orderItem.setAsc(false);
+            }if (s[0].equals("create_time")){
+                orderItem.setColumn("depart_name");
+            }if (s[0].equals("dept_name")){
+                orderItem.setColumn("depart_name");
+            }
+            orderItems.add(orderItem);
+        }
+        IPage<Map<String, Object>> maps = userShiftService.mothUserShift(date,pageNo,pageSize,type,mySubDepIdsByDepId,name,dept,orderItems);
         //Step.2 AutoPoi 导出Excel
         List<UserShiftExcel>pageList=new ArrayList<>();
         if (maps.getRecords().size()>0){
@@ -2666,7 +2682,23 @@ public class SysUserController {
         }else {
             date=DateUtils.formatDate(new Date());
         }
-        IPage<Map<String, Object>> maps = userShiftService.mothUserShift(date,pageNo,pageSize,type,mySubDepIdsByDepId,name,dept);
+        QueryWrapper<UserShift> queryWrapper = QueryGenerator.initQueryWrapper(userShift, req.getParameterMap());
+        List<OrderItem>orderItems=new ArrayList<>();
+        if (queryWrapper.getExpression().getOrderBy()!=null&&queryWrapper.getExpression().getOrderBy().size()>0){
+            String[] s = queryWrapper.getExpression().getOrderBy().get(0).getSqlSegment().split(" ");
+            OrderItem orderItem=new OrderItem();
+            orderItem.setColumn(s[0]);
+            orderItem.setAsc(true);
+            if (s[1].equals("DESC")){
+                orderItem.setAsc(false);
+            }if (s[0].equals("create_time")){
+                orderItem.setColumn("depart_name");
+            }if (s[0].equals("dept_name")){
+                orderItem.setColumn("depart_name");
+            }
+            orderItems.add(orderItem);
+        }
+        IPage<Map<String, Object>> maps = userShiftService.mothUserShift(date,pageNo,pageSize,type,mySubDepIdsByDepId,name,dept,orderItems);
         return Result.OK(maps);
     }
 

+ 3 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/mapper/SysUserMapper.java

@@ -233,4 +233,7 @@ public interface SysUserMapper extends BaseMapper<SysUser> {
 
 	List<String>emails(@Param("email")String email,@Param("userid")String userid);
 
+	//查询手机号是否存在
+	int countPhone(@Param("phone")String phone,@Param("userid")String userid);
+
 }

+ 7 - 1
jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/mapper/xml/SysUserMapper.xml

@@ -370,7 +370,7 @@ on a.depart_name=b.orgCodeTxt
 
 	<select id="selectByUser" resultType="org.jeecg.modules.system.vo.DepartTreeVo">
 		select c.id ,c.realname as 'name',c.avatar,'true' as 'user' from sys_depart a left join sys_user_depart b on a.id=b.dep_id left join sys_user c on b.user_id=c.id
-		where a.id=#{id} and  c.del_flag='0'
+		where a.id=#{id} and  c.del_flag='0' and c.employment_status='10'
 	</select>
 	<select id="DeptTree" resultType="org.jeecg.modules.system.vo.DepartTreeVo">
 		select id, depart_name as 'name',parent_id as 'pid' from sys_depart where 1=1
@@ -544,4 +544,10 @@ on a.depart_name=b.orgCodeTxt
 			</foreach>
 		</if>
 	</select>
+    <select id="countPhone" resultType="java.lang.Integer">
+		select count(*) from sys_user where employment_Status='10' and  phone=#{phone}
+		<if test="userid!=null  and ''!=userid">
+			and id &lt;&gt; #{userid}
+		</if>
+	</select>
 </mapper>

+ 5 - 9
jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/service/impl/WeixinUserImpl.java

@@ -704,7 +704,7 @@ public class WeixinUserImpl implements IWeixinUserService{
             workMoth=Double.parseDouble(user.getWorkMoth());
         }
         year=diffValue+workMoth;
-        if (year>=12&&year<24){
+        if (year>=12&&year<120){
             yearCount=5;
         }else if (year>=120&&year<240){
             yearCount=10;
@@ -723,19 +723,15 @@ public class WeixinUserImpl implements IWeixinUserService{
         List<Vacation> vacationsBody=new ArrayList<>();
         Date newDate = new Date();
         int yearCount=0;
+        int yearCounts=0;
         List<BdAnnualLeave> years = bdAnnualLeaveMapper.getYear(simpleDateFormat.format(newDate));
         if (years!=null&&years.size()>0&&userByid.getEntryDate()!=null){
-
             for (BdAnnualLeave ls:years){
-                if(ls.getYearName().equals("2022")){
-                    if (oConvertUtils.isNotEmpty(userByid.getYearCount())) {
-                        yearCount += Double.parseDouble(userByid.getYearCount());
+                    if (userByid.getWorkMoth().equals("0")&&DateUtils.getDate().getTime()>userByid.getTrialEndDate().getTime()){
+                        yearCount=5;
                     }else {
-                        yearCount+=0;
+                        yearCount += getYear(userByid.getEntryDate(), ls.getBeginDate(), userByid);
                     }
-                }else {
-                    yearCount+= getYear(userByid.getEntryDate(), ls.getBeginDate(), userByid);
-                }
                 vacationsBody.addAll(vacationMapper.queryListBody(id,ls.getYearName()));
             }
         }