Selaa lähdekoodia

批量加班逻辑调整,审核完成筛选添加添加

fulonglong 2 vuotta sitten
vanhempi
commit
386c01a062
20 muutettua tiedostoa jossa 310 lisäystä ja 191 poistoa
  1. 1 1
      common/src/main/java/com/jpsoft/shinestar/modules/base/service/WorkOverService.java
  2. 1 1
      common/src/main/java/com/jpsoft/shinestar/modules/base/service/impl/BusinessOutServiceImpl.java
  3. 1 1
      common/src/main/java/com/jpsoft/shinestar/modules/base/service/impl/CustomerDiningRecordServiceImpl.java
  4. 2 2
      common/src/main/java/com/jpsoft/shinestar/modules/base/service/impl/WorkOverServiceImpl.java
  5. 1 1
      common/src/main/java/com/jpsoft/shinestar/modules/business/service/impl/AdjustShiftServiceImpl.java
  6. 1 1
      common/src/main/java/com/jpsoft/shinestar/modules/business/service/impl/CarryThingsOutFactoryServiceImpl.java
  7. 1 1
      common/src/main/java/com/jpsoft/shinestar/modules/business/service/impl/RequestForLeaveInfoServiceImpl.java
  8. 2 2
      common/src/main/java/com/jpsoft/shinestar/modules/business/service/impl/SupplementWorkServiceImpl.java
  9. 1 1
      common/src/main/java/com/jpsoft/shinestar/modules/workflow/dao/TemplateDepartmentDAO.java
  10. 2 0
      common/src/main/java/com/jpsoft/shinestar/modules/workflow/entity/Procinst.java
  11. 1 1
      common/src/main/java/com/jpsoft/shinestar/modules/workflow/service/ProcinstService.java
  12. 1 1
      common/src/main/java/com/jpsoft/shinestar/modules/workflow/service/TemplateDepartmentService.java
  13. 12 5
      common/src/main/java/com/jpsoft/shinestar/modules/workflow/service/impl/ProcinstServiceImpl.java
  14. 1 1
      common/src/main/java/com/jpsoft/shinestar/modules/workflow/service/impl/TemplateDepartmentServiceImpl.java
  15. 6 1
      common/src/main/resources/mapper/workflow/Procinst.xml
  16. 4 0
      common/src/main/resources/mapper/workflow/ProcinstActUser.xml
  17. 0 1
      common/src/main/resources/mapper/workflow/TemplateDepartment.xml
  18. 265 167
      web/src/main/java/com/jpsoft/shinestar/modules/mobile/controller/AdjustShiftApiController.java
  19. 5 1
      web/src/main/java/com/jpsoft/shinestar/modules/mobile/controller/ExamineApiController.java
  20. 2 2
      web/src/main/java/com/jpsoft/shinestar/modules/mobile/controller/WorkOverApiController.java

+ 1 - 1
common/src/main/java/com/jpsoft/shinestar/modules/base/service/WorkOverService.java

@@ -21,7 +21,7 @@ public interface WorkOverService {
 
     void approvalWorkOver(PersonInfo personInfo, String ids, String status, String approvalContent) throws Exception;
 
-    String workOverPathSubmit(PersonPopedom personPopedom, Integer hours, String startTime, String endTime, String reason, String personIds,String formId,String type,String ids,String draft) throws Exception;
+    String workOverPathSubmit(PersonPopedom personPopedom, Integer hours, String startTime, String endTime, String reason, String personIds,String formId,String type,String ids,String draft,String processTemplateId) throws Exception;
 
 	int findSumHoursByParams(Long personId, Date startDate, Date endDate, Map<String, Object> searchParams);
 

+ 1 - 1
common/src/main/java/com/jpsoft/shinestar/modules/base/service/impl/BusinessOutServiceImpl.java

@@ -466,7 +466,7 @@ public class BusinessOutServiceImpl implements BusinessOutService {
         }
 
         if ("1".equals(draft)) {
-            String procinstId = procinstService.addProcinst(businessOut.getId(), null, "出差", formId, personPopedom, null);
+            String procinstId = procinstService.addProcinst(businessOut.getId(), null, "出差", formId, personPopedom, null,null);
 
             businessOut.setProcinstId(procinstId);
 

+ 1 - 1
common/src/main/java/com/jpsoft/shinestar/modules/base/service/impl/CustomerDiningRecordServiceImpl.java

@@ -146,7 +146,7 @@ public class CustomerDiningRecordServiceImpl implements CustomerDiningRecordServ
         }
 
         if ("1".equals(draft)) {
-            String procinstId = procinstService.addProcinst(customerDiningRecord.getId(), null, "接待进餐", formId, personPopedom, null);
+            String procinstId = procinstService.addProcinst(customerDiningRecord.getId(), null, "接待进餐", formId, personPopedom, null,null);
 
             customerDiningRecord.setProcinstId(procinstId);
             customerDiningRecord.setStatus("0");

+ 2 - 2
common/src/main/java/com/jpsoft/shinestar/modules/base/service/impl/WorkOverServiceImpl.java

@@ -322,7 +322,7 @@ public class WorkOverServiceImpl implements WorkOverService {
 	}
 
 	@Override
-	public String workOverPathSubmit(PersonPopedom personPopedom, Integer hours, String startTime, String endTime, String reason,String personIds, String formId,String type,String ids,String draft) throws Exception {
+	public String workOverPathSubmit(PersonPopedom personPopedom, Integer hours, String startTime, String endTime, String reason,String personIds, String formId,String type,String ids,String draft,String processTemplateId) throws Exception {
 
 		if (hours<=0){
 			throw new Exception("加班时间有误");
@@ -448,7 +448,7 @@ public class WorkOverServiceImpl implements WorkOverService {
 			if (!"3".equals(type)) {
 
 				//创建审核流程id
-				String procinstId = procinstService.addProcinst(workOver.getId(), null, "加班", formId, personPopedom, null);
+				String procinstId = procinstService.addProcinst(workOver.getId(), null, "加班", formId, personPopedom, null,processTemplateId);
 
 
 				workOver.setProcinstId(procinstId);

+ 1 - 1
common/src/main/java/com/jpsoft/shinestar/modules/business/service/impl/AdjustShiftServiceImpl.java

@@ -218,7 +218,7 @@ public class AdjustShiftServiceImpl implements AdjustShiftService {
             if ("1".equals(draft)) {
                 // String procinstId = ((ProcinstService)AopContext.currentProxy()).addProcinst(adjustShift.getId(),"调班",formId,personPopedom);
 
-                String procinstId = procinstService.addProcinst(adjustShift.getId(), null, "调班", formId, personPopedom, null);
+                String procinstId = procinstService.addProcinst(adjustShift.getId(), null, "调班", formId, personPopedom, null,null);
 
 
                 adjustShift.setProcinstId(procinstId);

+ 1 - 1
common/src/main/java/com/jpsoft/shinestar/modules/business/service/impl/CarryThingsOutFactoryServiceImpl.java

@@ -137,7 +137,7 @@ public class CarryThingsOutFactoryServiceImpl implements CarryThingsOutFactorySe
 		}
 
 		if ("1".equals(draft)) {
-			String procinstId = procinstService.addProcinst(carryThingsOutFactory.getId(), null, "携物出厂", formId, personPopedom, null);
+			String procinstId = procinstService.addProcinst(carryThingsOutFactory.getId(), null, "携物出厂", formId, personPopedom, null,null);
 
 			carryThingsOutFactory.setProcinstId(procinstId);
 			carryThingsOutFactory.setAuditStatus("0");

+ 1 - 1
common/src/main/java/com/jpsoft/shinestar/modules/business/service/impl/RequestForLeaveInfoServiceImpl.java

@@ -577,7 +577,7 @@ public class RequestForLeaveInfoServiceImpl implements RequestForLeaveInfoServic
 			String ide = requestForLeaveInfo.getId();
 
 			if ("1".equals(draft)) {
-			String procinstId = procinstService.addProcinst(ide,days,"请假",formId,personPopedom,activity);
+			String procinstId = procinstService.addProcinst(ide,days,"请假",formId,personPopedom,activity,null);
 
 
 			requestForLeaveInfo.setProcinstId(procinstId);

+ 2 - 2
common/src/main/java/com/jpsoft/shinestar/modules/business/service/impl/SupplementWorkServiceImpl.java

@@ -171,7 +171,7 @@ public class SupplementWorkServiceImpl implements SupplementWorkService {
 
 		if ("1".equals(draft)) {
 			//创建审核流程id
-			String procinstId = procinstService.addProcinst(supplementWork.getId(), null, "补卡", formId, personPopedom, null);
+			String procinstId = procinstService.addProcinst(supplementWork.getId(), null, "补卡", formId, personPopedom, null,null);
 
 			supplementWork.setProcinstId(procinstId);
 			supplementWork.setStatus("0");
@@ -280,7 +280,7 @@ public class SupplementWorkServiceImpl implements SupplementWorkService {
 
 		if ("1".equals(draft)) {
 			//创建审核流程id
-			String procinstId = procinstService.addProcinst(supplementWork.getId(), null, "补卡", formId, personPopedom, null);
+			String procinstId = procinstService.addProcinst(supplementWork.getId(), null, "补卡", formId, personPopedom, null,null);
 
 
 			supplementWork.setProcinstId(procinstId);

+ 1 - 1
common/src/main/java/com/jpsoft/shinestar/modules/workflow/dao/TemplateDepartmentDAO.java

@@ -17,7 +17,7 @@ public interface TemplateDepartmentDAO {
 	List<TemplateDepartment> findByTemplateId(String templateId);
 	List<TemplateDepartment> search(Map<String,Object> searchParams,List<Sort> sortList);
 
-    TemplateDepartment findByFormIdDepartmentId(String formId, String companyId,String personRoleId);
+    List<TemplateDepartment> findByFormIdDepartmentId(String formId, String companyId,String personRoleId);
 
 	TemplateDepartment findByFormId(String formId);
 }

+ 2 - 0
common/src/main/java/com/jpsoft/shinestar/modules/workflow/entity/Procinst.java

@@ -33,6 +33,8 @@ public class Procinst {
     @ApiModelProperty(value = "业务主键")
     private String businessKey;
 
+    private Long personId;
+
     @ApiModelProperty(value = "1:调班,2:补卡,3:加班")
     private String type;
 

+ 1 - 1
common/src/main/java/com/jpsoft/shinestar/modules/workflow/service/ProcinstService.java

@@ -19,7 +19,7 @@ public interface ProcinstService {
 
     Procinst findByBusinessKey(String businessKey);
 
-    String addProcinst(String businessKey,String days, String businessName, String formId, PersonPopedom personPopedom,String activityId) throws Exception;
+    String addProcinst(String businessKey,String days, String businessName, String formId, PersonPopedom personPopedom,String activityId,String processTemplateId) throws Exception;
 
     void revoke(PersonPopedom personPopedom, String id) throws Exception;
 }

+ 1 - 1
common/src/main/java/com/jpsoft/shinestar/modules/workflow/service/TemplateDepartmentService.java

@@ -16,7 +16,7 @@ public interface TemplateDepartmentService {
 	List<TemplateDepartment> findByTemplateId(String templateId);
 	Page<TemplateDepartment> pageSearch(Map<String, Object> searchParams,int pageNum,int pageSize,boolean count,List<Sort> sortList);
 
-    TemplateDepartment findByFormIdDepartmentId(String formId, String companyId,String personRoleId);
+    List<TemplateDepartment> findByFormIdDepartmentId(String formId, String companyId,String personRoleId);
 
 	TemplateDepartment findByFormId(String formId);
 }

+ 12 - 5
common/src/main/java/com/jpsoft/shinestar/modules/workflow/service/impl/ProcinstServiceImpl.java

@@ -4,6 +4,7 @@ import java.util.*;
 import java.util.stream.Collectors;
 import javax.annotation.Resource;
 
+import cn.hutool.core.util.StrUtil;
 import com.jpsoft.shinestar.config.WxConfig;
 import com.jpsoft.shinestar.modules.base.entity.*;
 import com.jpsoft.shinestar.modules.base.service.*;
@@ -149,16 +150,21 @@ public class ProcinstServiceImpl implements ProcinstService {
 	}
 
 	@Override
-	public String addProcinst(String businessKey,String days, String businessName, String formId, PersonPopedom personPopedom,String activityId) throws Exception{
+	public String addProcinst(String businessKey,String days, String businessName, String formId, PersonPopedom personPopedom,String activityId,String processTemplateId) throws Exception{
 
 
 
-		TemplateDepartment templateDepartment = templateDepartmentService.findByFormIdDepartmentId(formId, personPopedom.getCompanyId(),personPopedom.getPersonRoleId());
-		if (templateDepartment == null) {
-			throw new Exception("您的部门没有相应流程模板");
+		if (StrUtil.isBlank(processTemplateId)){
+			List<TemplateDepartment> templateDepartments = templateDepartmentService.findByFormIdDepartmentId(formId, personPopedom.getCompanyId(),personPopedom.getPersonRoleId());
+			if (templateDepartments.size() == 0) {
+				throw new Exception("您的部门没有相应流程模板");
+			}
+			TemplateDepartment templateDepartment = templateDepartments.get(0);
+			processTemplateId = templateDepartment.getProcessTemplateId();
 		}
 
-		ProcessTemplate processTemplate = processTemplateService.get(templateDepartment.getProcessTemplateId());
+
+		ProcessTemplate processTemplate = processTemplateService.get(processTemplateId);
 
 		/*if (processTemplate.getOrderNum() == 0) {
 			throw new Exception("模板步骤数目错误");
@@ -168,6 +174,7 @@ public class ProcinstServiceImpl implements ProcinstService {
 		procinst.setId(UUID.randomUUID().toString());
 		procinst.setProcessTemplateId(processTemplate.getId());
 		procinst.setBusinessKey(businessKey);
+		procinst.setPersonId(personPopedom.getPersonId());
 		procinst.setType(TypeNameUtil.getOperationName(formId));
 		procinst.setCreateTime(new Date());
 		procinstService.insert(procinst);

+ 1 - 1
common/src/main/java/com/jpsoft/shinestar/modules/workflow/service/impl/TemplateDepartmentServiceImpl.java

@@ -74,7 +74,7 @@ public class TemplateDepartmentServiceImpl implements TemplateDepartmentService
 	}
 
 	@Override
-	public TemplateDepartment findByFormIdDepartmentId(String formId, String companyId,String personRoleId) {
+	public List<TemplateDepartment> findByFormIdDepartmentId(String formId, String companyId,String personRoleId) {
 		return templateDepartmentDAO.findByFormIdDepartmentId(formId,companyId,personRoleId);
 	}
 

+ 6 - 1
common/src/main/resources/mapper/workflow/Procinst.xml

@@ -7,6 +7,7 @@
 		<result property="id" column="id_" />
 			<result property="processTemplateId" column="process_template_id" />
 			<result property="businessKey" column="business_key" />
+			<result property="personId" column="person_id"/>
 			<result property="type" column="type_"/>
 			<result property="createBy" column="create_by" />
 			<result property="createTime" column="create_time" />
@@ -22,12 +23,13 @@
 	-->
 	<![CDATA[
 		insert into wf_procinst
-	    (id_,process_template_id,business_key,type_,create_by,create_time,update_by,update_time,del_flag)
+	    (id_,process_template_id,business_key,person_id,type_,create_by,create_time,update_by,update_time,del_flag)
 		values
 		(
 #{id,jdbcType=VARCHAR}
 ,#{processTemplateId,jdbcType=VARCHAR}
 ,#{businessKey,jdbcType=VARCHAR}
+,#{personId,jdbcType=BIGINT}
 ,#{type,jdbcType=VARCHAR}
 ,#{createBy,jdbcType=VARCHAR}
 ,#{createTime,jdbcType= TIMESTAMP }
@@ -52,6 +54,9 @@
 				<if test="businessKey!=null">
 		business_key=#{businessKey,jdbcType=VARCHAR},
 		</if>
+			<if test="personId!=null">
+				person_id=#{personId,jdbcType=BIGINT},
+			</if>
 			<if test="type!=null">
 				type_=#{type,jdbcType=VARCHAR},
 			</if>

+ 4 - 0
common/src/main/resources/mapper/workflow/ProcinstActUser.xml

@@ -99,6 +99,7 @@
 			select a.* from wf_procinst_act_user a
 			left join wf_procinst_activity b on a.procinst_activity_id = b.id_
 			left join wf_procinst c on b.procinst_id = c.id_
+			left join base_person_info d on c.person_id = d.id_
 		]]>
 		<where>
 			a.del_flag = 0
@@ -113,6 +114,9 @@
 			<if test="searchParams.status != null">
 				and b.status_ = #{searchParams.status}
 			</if>
+			<if test="searchParams.name != null">
+				and d.name_ like #{searchParams.name}
+			</if>
 			<if test="searchParams.userId != null">
 				and a.user_id = #{searchParams.userId}
 			</if>

+ 0 - 1
common/src/main/resources/mapper/workflow/TemplateDepartment.xml

@@ -106,7 +106,6 @@ id_,process_template_id,department_id,create_by,create_time,update_by,update_tim
 		and a.department_id = #{companyId}
 		and c.form_id = #{formId}
 		and d.person_role_id = #{personRoleId}
-		limit 1
 		]]>
 	</select>
 

+ 265 - 167
web/src/main/java/com/jpsoft/shinestar/modules/mobile/controller/AdjustShiftApiController.java

@@ -2,6 +2,7 @@ package com.jpsoft.shinestar.modules.mobile.controller;
 
 import cn.hutool.core.date.DateUtil;
 import cn.hutool.core.date.Week;
+import cn.hutool.core.util.StrUtil;
 import com.alipay.api.domain.Person;
 import com.github.pagehelper.Page;
 import com.jpsoft.shinestar.modules.base.dto.CompanyAndPersonDTO;
@@ -27,6 +28,7 @@ import org.springframework.format.annotation.DateTimeFormat;
 import org.springframework.web.bind.annotation.*;
 
 import java.util.*;
+import java.util.stream.Collectors;
 
 /**
  * @author 墨鱼_mo
@@ -44,6 +46,9 @@ public class AdjustShiftApiController {
     @Autowired
     private PersonPopedomService personPopedomService;
 
+    @Autowired
+    private PersonCompanyService personCompanyService;
+
     @Autowired
     private WorkScheduleAttendanceService workScheduleAttendanceService;
 
@@ -186,12 +191,12 @@ public class AdjustShiftApiController {
             PersonPopedom personPopedom = personPopedomService.get(person.getPopedom());
             CompanyInfo companyInfo = companyInfoService.get(personPopedom.getCompanyId());
 
-            List<CompanyInfo> companyInfoList =  companyInfoService.findAllCompanyByCode(companyInfo.getCode()+"%");
+            List<CompanyInfo> companyInfoList = companyInfoService.findAllCompanyByCode(companyInfo.getCode() + "%");
             List<String> companyIdList = Arrays.asList(companyInfo.getCode().split(","));
-            if (companyIdList.size()>0){
-                for (String id : companyIdList){
+            if (companyIdList.size() > 0) {
+                for (String id : companyIdList) {
                     CompanyInfo companyInfo1 = companyInfoService.get(id);
-                    if (!companyInfoList.contains(companyInfo1)){
+                    if (!companyInfoList.contains(companyInfo1)) {
                         companyInfoList.add(companyInfo1);
                     }
                 }
@@ -214,7 +219,7 @@ public class AdjustShiftApiController {
                     ownerShiftDTO.setName(workShiftInfo.getNumber() + "-" + workShiftInfo.getName() + " " + workShiftInfo.getWorkTime() + "-" + workShiftInfo.getClosingTime());
                     ownerShiftDTO.setWorkTime(workShiftInfo.getWorkTime());
                     ownerShiftDTO.setClosingTime(workShiftInfo.getClosingTime());
-                    if (!list.contains(ownerShiftDTO)){
+                    if (!list.contains(ownerShiftDTO)) {
                         list.add(ownerShiftDTO);
                     }
 
@@ -245,7 +250,6 @@ public class AdjustShiftApiController {
     }
 
 
-
     @ApiOperation(value = "申请批量补卡选择到时间")
     @PostMapping(value = "allShift")
     public MessageResult<Map> allShift(String token, @RequestAttribute String subject) {
@@ -261,14 +265,14 @@ public class AdjustShiftApiController {
             List<WorkShiftInfo> workShiftInfoList = workShiftInfoService.list();
 
             List<OwnerShiftDTO> list = new ArrayList<>();
-            if (workShiftInfoList.size()>0){
-                for (WorkShiftInfo workShiftInfo : workShiftInfoList){
+            if (workShiftInfoList.size() > 0) {
+                for (WorkShiftInfo workShiftInfo : workShiftInfoList) {
                     OwnerShiftDTO ownerShiftDTO = new OwnerShiftDTO();
                     ownerShiftDTO.setId(workShiftInfo.getId());
                     ownerShiftDTO.setName(workShiftInfo.getNumber() + "-" + workShiftInfo.getName() + " " + workShiftInfo.getWorkTime() + "-" + workShiftInfo.getClosingTime());
                     ownerShiftDTO.setWorkTime(workShiftInfo.getWorkTime());
                     ownerShiftDTO.setClosingTime(workShiftInfo.getClosingTime());
-                    if (!list.contains(ownerShiftDTO)){
+                    if (!list.contains(ownerShiftDTO)) {
                         list.add(ownerShiftDTO);
                     }
                 }
@@ -292,10 +296,55 @@ public class AdjustShiftApiController {
     }
 
 
+    @ApiOperation(value = "根据条件获取审核人能使用的模板")
+    @PostMapping(value = "processTemplateList")
+    public MessageResult<Map> examinePerson(String token, @RequestAttribute String subject, String formId) {
+
+
+        MessageResult<Map> messageResult = new MessageResult<>();
+        try {
+
+            PersonInfo person = personInfoService.get(Long.parseLong(subject));
+            PersonPopedom personPopedom = personPopedomService.get(person.getPopedom());
+
+
+            if (StringUtils.isBlank(formId)) {
+                throw new Exception("缺乏业务关键字");
+            }
+            List<ProcessTemplate> list = new ArrayList<>();
+
+            List<TemplateDepartment> templateDepartments = templateDepartmentService.findByFormIdDepartmentId(formId, personPopedom.getCompanyId(), personPopedom.getPersonRoleId());
+            if (templateDepartments.size() == 0) {
+                throw new Exception("您的部门没有相应流程模板");
+            }
+            for (TemplateDepartment templateDepartment : templateDepartments){
+                ProcessTemplate processTemplate = processTemplateService.get(templateDepartment.getProcessTemplateId());
+                if (!list.contains(processTemplate)){
+                    list.add(processTemplate);
+                }
+            }
+
+
+            Map<String, Object> map = new HashMap<>();
+            map.put("list", list);
+            messageResult.setData(map);
+            messageResult.setCode(200);
+            messageResult.setResult(true);
+        } catch (Exception ex) {
+            log.error(ex.getMessage(), ex);
+            messageResult.setCode(400);
+            messageResult.setMessage(ex.getMessage());
+            messageResult.setResult(false);
+
+        }
+
+        return messageResult;
+    }
+
 
     @ApiOperation(value = "根据条件获取审核人")
     @PostMapping(value = "examinePerson")
-    public MessageResult<Map> examinePerson(String token, @RequestAttribute String subject, String formId,String days) {
+    public MessageResult<Map> examinePerson(String token, @RequestAttribute String subject, String formId, String processTemplateId, String days) {
 
 
         MessageResult<Map> messageResult = new MessageResult<>();
@@ -304,20 +353,26 @@ public class AdjustShiftApiController {
             PersonInfo person = personInfoService.get(Long.parseLong(subject));
             PersonPopedom personPopedom = personPopedomService.get(person.getPopedom());
 
-            if (StringUtils.isBlank(formId)) {
+
+            if (StringUtils.isBlank(formId) && StrUtil.isBlank(processTemplateId)) {
                 throw new Exception("缺乏业务关键字");
             }
 
-            TemplateDepartment templateDepartment = templateDepartmentService.findByFormIdDepartmentId(formId, personPopedom.getCompanyId(),personPopedom.getPersonRoleId());
-            if (templateDepartment == null) {
-                throw new Exception("您的部门没有相应流程模板");
+
+            if (StrUtil.isBlank(processTemplateId)) {
+                List<TemplateDepartment> templateDepartments = templateDepartmentService.findByFormIdDepartmentId(formId, personPopedom.getCompanyId(), personPopedom.getPersonRoleId());
+                if (templateDepartments.size() == 0) {
+                    throw new Exception("您的部门没有相应流程模板");
+                }
+                TemplateDepartment templateDepartment = templateDepartments.get(0);
+                processTemplateId = templateDepartment.getProcessTemplateId();
             }
 
 
-            ProcessTemplate processTemplate = processTemplateService.get(templateDepartment.getProcessTemplateId());
+            ProcessTemplate processTemplate = processTemplateService.get(processTemplateId);
 
 
-            ExaminePersonDTO examinePersonDTO = processSetService.getExaminePerson(null, processTemplate.getId(), personPopedom, 1,days);
+            ExaminePersonDTO examinePersonDTO = processSetService.getExaminePerson(null, processTemplate.getId(), personPopedom, 1, days);
 
 
             if (StringUtils.isBlank(examinePersonDTO.getPersonNames())) {
@@ -332,7 +387,7 @@ public class AdjustShiftApiController {
             Map<String, Object> map = new HashMap<>();
             map.put("operation", operation);
             map.put("name", examinePersonDTO.getPersonNames());
-            map.put("processActivityId",examinePersonDTO.getActivityId());
+            map.put("processActivityId", examinePersonDTO.getActivityId());
 
             messageResult.setData(map);
             messageResult.setCode(200);
@@ -358,7 +413,7 @@ public class AdjustShiftApiController {
             @ApiImplicitParam(name = "formId", value = "页面路径", required = true, paramType = "form"),
             @ApiImplicitParam(name = "draft", value = "状态(0:草稿,1:提交)", required = true, paramType = "form")
     })
-    public MessageResult<Map> adjustShiftSubmit(String ids,String draft,String date, String shiftIds, String remark, String formId, String token, @RequestAttribute String subject) {
+    public MessageResult<Map> adjustShiftSubmit(String ids, String draft, String date, String shiftIds, String remark, String formId, String token, @RequestAttribute String subject) {
 
 
         MessageResult<Map> messageResult = new MessageResult<>();
@@ -368,7 +423,7 @@ public class AdjustShiftApiController {
             PersonPopedom personPopedom = personPopedomService.get(person.getPopedom());
 
 
-            String id = adjustShiftService.adjustShiftSubmit(personPopedom, date, shiftIds, remark, formId,ids,draft);
+            String id = adjustShiftService.adjustShiftSubmit(personPopedom, date, shiftIds, remark, formId, ids, draft);
 
             Map<String, Object> map = new HashMap<>();
             map.put("id", id);
@@ -412,7 +467,7 @@ public class AdjustShiftApiController {
             //调班
             if ("1".equals(procinst.getType())) {
                 AdjustShift adjustShift = adjustShiftService.get(procinst.getBusinessKey());
-                if (adjustShift.getPersonPopedomId().equals(personPopedom.getId()) && adjustShift.getStatus().equals("0")){
+                if (adjustShift.getPersonPopedomId().equals(personPopedom.getId()) && adjustShift.getStatus().equals("0")) {
                     ownerSubmit = true;
                 }
 
@@ -420,7 +475,7 @@ public class AdjustShiftApiController {
             //请假
             if ("2".equals(procinst.getType())) {
                 RequestForLeaveInfo requestForLeaveInfo = requestForLeaveInfoService.get(procinst.getBusinessKey());
-                if (requestForLeaveInfo.getPersonPopedomId().equals(personPopedom.getId())&& requestForLeaveInfo.getStatus() == 0 ){
+                if (requestForLeaveInfo.getPersonPopedomId().equals(personPopedom.getId()) && requestForLeaveInfo.getStatus() == 0) {
                     ownerSubmit = true;
                 }
 
@@ -428,7 +483,7 @@ public class AdjustShiftApiController {
             //出差
             if ("3".equals(procinst.getType())) {
                 BusinessOut businessOut = businessOutService.get(procinst.getBusinessKey());
-                if (businessOut.getPersonPopedomId().equals(personPopedom.getId()) && businessOut.getStatus().equals("0") ){
+                if (businessOut.getPersonPopedomId().equals(personPopedom.getId()) && businessOut.getStatus().equals("0")) {
                     ownerSubmit = true;
                 }
 
@@ -436,38 +491,33 @@ public class AdjustShiftApiController {
             //补卡,批量补卡
             if ("4".equals(procinst.getType()) || "5".equals(procinst.getType())) {
                 SupplementWork supplementWork = supplementWorkService.get(procinst.getBusinessKey());
-                if (supplementWork.getPersonPopedomId().equals(personPopedom.getId())&& supplementWork.getStatus().equals("0") ){
+                if (supplementWork.getPersonPopedomId().equals(personPopedom.getId()) && supplementWork.getStatus().equals("0")) {
                     ownerSubmit = true;
                 }
             }
             //加班,批量加班
             if ("6".equals(procinst.getType()) || "7".equals(procinst.getType())) {
                 WorkOver workOver = workOverService.get(procinst.getBusinessKey());
-                if (workOver.getPersonPopedomId().equals(personPopedom.getId())&& workOver.getStatus().equals("0") ){
+                if (workOver.getPersonPopedomId().equals(personPopedom.getId()) && workOver.getStatus().equals("0")) {
                     ownerSubmit = true;
                 }
             }
             //携物出厂
             if ("8".equals(procinst.getType())) {
                 CarryThingsOutFactory carryThingsOutFactory = carryThingsOutFactoryService.get(procinst.getBusinessKey());
-                if (carryThingsOutFactory.getPersonPopedomId().equals(personPopedom.getId())&& carryThingsOutFactory.getAuditStatus().equals("0") ){
+                if (carryThingsOutFactory.getPersonPopedomId().equals(personPopedom.getId()) && carryThingsOutFactory.getAuditStatus().equals("0")) {
                     ownerSubmit = true;
                 }
             }
             //接待就餐
-            if ("9".equals(procinst.getType())){
+            if ("9".equals(procinst.getType())) {
                 CustomerDiningRecord customerDiningRecord = customerDiningRecordService.get(procinst.getBusinessKey());
-                if (customerDiningRecord.getPersonPopedomId().equals(personPopedom.getId())&& customerDiningRecord.getStatus().equals("0") ){
+                if (customerDiningRecord.getPersonPopedomId().equals(personPopedom.getId()) && customerDiningRecord.getStatus().equals("0")) {
                     ownerSubmit = true;
                 }
             }
 
 
-
-
-
-
-
             //查询当前审核步骤
             ProcinstActivity procinstActivity0 = procinstActivityService.findProcinstIdAndStatus(procinst.getId(), "1");
             Boolean allowExamine = false;
@@ -549,7 +599,7 @@ public class AdjustShiftApiController {
             Map<String, Object> map = new HashMap<>();
             map.put("examineList", examineDetailDTOList);
             map.put("allowExamine", allowExamine);
-            map.put("ownerSubmit",ownerSubmit);
+            map.put("ownerSubmit", ownerSubmit);
             map.put("procinstActUserId", procinstActUserId);
             messageResult.setData(map);
             messageResult.setCode(200);
@@ -698,7 +748,7 @@ public class AdjustShiftApiController {
             PersonInfo adjustPerson = personInfoService.get(adjustPersonPopedom.getPersonId());
 
             //调整前的班次
-           // String shifIds = adjustShift.getOldShiftId();
+            // String shifIds = adjustShift.getOldShiftId();
             String shifIds = adjustShiftPersonList.get(0).getOldShiftId();
             List<String> shiftIdList = Arrays.asList(shifIds.split(","));
             String oldShiftName = null;
@@ -714,7 +764,7 @@ public class AdjustShiftApiController {
             }
 
             //调整后的班次
-         //   String newShiftIds = adjustShift.getNewShiftId();
+            //   String newShiftIds = adjustShift.getNewShiftId();
 
             String newShiftIds = adjustShiftPersonList.get(0).getNewShiftId();
             List<String> newShiftIdList = Arrays.asList(newShiftIds.split(","));
@@ -739,7 +789,7 @@ public class AdjustShiftApiController {
             map.put("status", adjustShift.getStatus());
             map.put("statusName", TypeNameUtil.getExamineTypeName(adjustShift.getStatus()));
             map.put("remark", adjustShift.getRemark());
-            Week week =  DateUtil.dayOfWeekEnum(adjustTime);
+            Week week = DateUtil.dayOfWeekEnum(adjustTime);
             map.put("adjustDate", DateUtil.format(adjustTime, "yyyy-MM-dd") + " " + week.toChinese());
             map.put("oldShift", oldShiftName);
             map.put("newShift", newShiftName);
@@ -823,7 +873,7 @@ public class AdjustShiftApiController {
             @ApiImplicitParam(name = "companyId", value = "对应公司或部门id", required = false, paramType = "form"),
             @ApiImplicitParam(name = "queryDate", value = "时间", required = false, paramType = "form")
     })
-    public MessageResult<Map> arrangeShiftCompanyList(String companyId, String token, @RequestAttribute String subject, @DateTimeFormat(pattern = "yyyy-MM-dd") Date queryDate) {
+    public MessageResult<Map> arrangeShiftCompanyList(String companyId, String batchJob, String token, @RequestAttribute String subject, @DateTimeFormat(pattern = "yyyy-MM-dd") Date queryDate) {
 
 
         MessageResult<Map> messageResult = new MessageResult<>();
@@ -832,23 +882,56 @@ public class AdjustShiftApiController {
             PersonInfo person = personInfoService.get(Long.parseLong(subject));
             PersonPopedom personPopedom = personPopedomService.get(person.getPopedom());
             CompanyInfo companyInfo = companyInfoService.get(personPopedom.getCompanyId());
+
+            List<String> companyIds = new ArrayList<>();
+            companyIds.add(companyInfo.getId());
+
+            //关联部门的id
+            List<String> relationCompanyIds = new ArrayList<>();
+
             List<String> companyIdList = Arrays.asList(companyInfo.getCode().split(","));
             List<CompanyAndPersonDTO> list = new ArrayList<>();
+
+
+            if ("1".equals(batchJob)) {
+                //用户关联的部门
+                List<PersonCompany> personCompanyList = personCompanyService.findByPersonId(person.getId());
+                relationCompanyIds = personCompanyList.stream()
+                        .map(p -> p.getCompanyId())
+                        .collect(Collectors.toList());
+                if (relationCompanyIds.contains(companyInfo.getId())) {
+                    relationCompanyIds.remove(companyInfo.getId());
+                }
+                companyIds.addAll(relationCompanyIds);
+            }
+
             if (StringUtils.isBlank(companyId)) {
 
-                String code = companyInfo.getCode();
-                List<String> idList = Arrays.asList(code.split(","));
-                CompanyInfo companyInfo1 = companyInfoService.get(idList.get(0));
-                CompanyAndPersonDTO companyAndPersonDTO = new CompanyAndPersonDTO();
-                companyAndPersonDTO.setId(companyInfo1.getId());
-                companyAndPersonDTO.setName(companyInfo1.getName());
-                companyAndPersonDTO.setType("1");
-                list.add(companyAndPersonDTO);
+
+                for (String id : companyIds) {
+                    CompanyInfo companyInfo1 = companyInfoService.get(id);
+                    String code = companyInfo1.getCode();
+                    List<String> idList = Arrays.asList(code.split(","));
+                    CompanyInfo companyInfo2 = companyInfoService.get(idList.get(0));
+                    CompanyAndPersonDTO companyAndPersonDTO = new CompanyAndPersonDTO();
+                    companyAndPersonDTO.setId(companyInfo2.getId());
+                    companyAndPersonDTO.setName(companyInfo2.getName());
+                    companyAndPersonDTO.setType("1");
+                    if (!list.contains(companyAndPersonDTO)) {
+                        list.add(companyAndPersonDTO);
+                    }
+
+                }
+
+
             } else {
                 CompanyInfo companyInfo2 = companyInfoService.get(companyId);
 
                 //查看公司下面是否还有子部门
                 List<CompanyInfo> companyInfoList0 = companyInfoService.findByParentId(companyId);
+                List<String> companyInfoListId = companyInfoList0.stream()
+                        .map(p -> p.getId())
+                        .collect(Collectors.toList());
                 //如果有子部门那么展示部门
                 if (companyInfoList0.size() > 0) {
                     //选择展开公司的code
@@ -857,12 +940,14 @@ public class AdjustShiftApiController {
                     if (companyIdList.size() <= companyIdList2.size()) {
                         List<CompanyInfo> companyInfoList = companyInfoService.findByParentId(companyId);
                         if (companyInfoList.size() > 0) {
-                            for (CompanyInfo companyInfo1 : companyInfoList){
+                            for (CompanyInfo companyInfo1 : companyInfoList) {
                                 CompanyAndPersonDTO companyAndPersonDTO = new CompanyAndPersonDTO();
                                 companyAndPersonDTO.setId(companyInfo1.getId());
                                 companyAndPersonDTO.setName(companyInfo1.getName());
                                 companyAndPersonDTO.setType("1");
-                                list.add(companyAndPersonDTO);
+                                if (!list.contains(companyAndPersonDTO)) {
+                                    list.add(companyAndPersonDTO);
+                                }
                             }
                         }
 
@@ -874,31 +959,50 @@ public class AdjustShiftApiController {
                         companyAndPersonDTO.setId(companyInfo1.getId());
                         companyAndPersonDTO.setName(companyInfo1.getName());
                         companyAndPersonDTO.setType("1");
-                        list.add(companyAndPersonDTO);
+                        if (!list.contains(companyAndPersonDTO)) {
+                            list.add(companyAndPersonDTO);
+                        }
+                    }
+
+                    List<String> intersection = companyInfoListId.stream().filter(relationCompanyIds::contains).collect(Collectors.toList());
+                    if (intersection.size() > 0) {
+                        for (String id : intersection) {
+                            CompanyInfo companyInfo1 = companyInfoService.get(id);
+                            CompanyAndPersonDTO companyAndPersonDTO = new CompanyAndPersonDTO();
+                            companyAndPersonDTO.setId(companyInfo1.getId());
+                            companyAndPersonDTO.setName(companyInfo1.getName());
+                            companyAndPersonDTO.setType("1");
+                            if (!list.contains(companyAndPersonDTO)) {
+                                list.add(companyAndPersonDTO);
+                            }
+
+                        }
                     }
+
+
                 }
                 //没有子部门那么展示人员
                 else {
                     List<PersonInfo> personInfoList = personInfoService.findByCompanyId(companyId);
-                    if (personInfoList.size()>0){
-                        for (PersonInfo personInfo : personInfoList){
+                    if (personInfoList.size() > 0) {
+                        for (PersonInfo personInfo : personInfoList) {
                             CompanyAndPersonDTO companyAndPersonDTO = new CompanyAndPersonDTO();
                             companyAndPersonDTO.setId(personInfo.getId().toString());
                             companyAndPersonDTO.setName(personInfo.getName());
                             companyAndPersonDTO.setType("2");
                             companyAndPersonDTO.setDesc(personInfo.getJobNumber());
 
-                            if (queryDate != null){
+                            if (queryDate != null) {
                                 Map<String, Object> searchParams = new HashMap<>();
                                 searchParams.put("personId", personInfo.getId());
-                                searchParams.put("attendanceDate",DateUtil.format(queryDate,"yyyy-MM-dd"));
+                                searchParams.put("attendanceDate", DateUtil.format(queryDate, "yyyy-MM-dd"));
                                 List<Sort> sortList = new ArrayList<>();
-                                sortList.add(new Sort("a.create_time","desc"));
+                                sortList.add(new Sort("a.create_time", "desc"));
 
-                                List<WorkScheduleAttendance> workScheduleAttendanceList = workScheduleAttendanceService.listSearch(searchParams,sortList);
-                                List<Map<String,Object>> mapList = new ArrayList<>();
-                                if (workScheduleAttendanceList.size()>0){
-                                    for (WorkScheduleAttendance workScheduleAttendance : workScheduleAttendanceList){
+                                List<WorkScheduleAttendance> workScheduleAttendanceList = workScheduleAttendanceService.listSearch(searchParams, sortList);
+                                List<Map<String, Object>> mapList = new ArrayList<>();
+                                if (workScheduleAttendanceList.size() > 0) {
+                                    for (WorkScheduleAttendance workScheduleAttendance : workScheduleAttendanceList) {
                                         Map<String, Object> data = new HashMap<>();
                                         String time = DateUtil.format(workScheduleAttendance.getRecordTime(), "HH:mm");
                                         String remark = null;
@@ -1011,112 +1115,110 @@ public class AdjustShiftApiController {
             List<String> companyIdList = Arrays.asList(companyInfo.getCode().split(","));
             List<CompanyAndPersonDTO> list = new ArrayList<>();
 
-                CompanyInfo companyInfo2 = companyInfoService.get(companyId);
+            CompanyInfo companyInfo2 = companyInfoService.get(companyId);
 
-                //查看公司下面是否还有子部门
-                List<CompanyInfo> companyInfoList0 = companyInfoService.findByParentId(companyId);
+            //查看公司下面是否还有子部门
+            List<CompanyInfo> companyInfoList0 = companyInfoService.findByParentId(companyId);
 
-                if (companyInfoList0.size() > 0) {
-                    //选择展开公司的code
-                    List<String> companyIdList2 = Arrays.asList(companyInfo2.getCode().split(","));
-                    //当前角色所在部门的code集合小于所选公司code集合那么,只展示当前角色所在公司或部门
-                    if (companyIdList.size() <= companyIdList2.size()) {
-                        List<PersonInfo> personInfoList = personInfoService.findByCompanyId(companyId);
-                        if (personInfoList.size()>0){
-                            for (PersonInfo personInfo : personInfoList){
-                                CompanyAndPersonDTO companyAndPersonDTO = new CompanyAndPersonDTO();
-                                companyAndPersonDTO.setId(personInfo.getId().toString());
-                                companyAndPersonDTO.setName(personInfo.getName());
-                                companyAndPersonDTO.setType("2");
-                                companyAndPersonDTO.setDesc(personInfo.getJobNumber());
-
-                                if (queryDate != null){
-                                    Map<String, Object> searchParams = new HashMap<>();
-                                    searchParams.put("personId", personInfo.getId());
-                                    searchParams.put("attendanceDate",DateUtil.format(queryDate,"yyyy-MM-dd"));
-                                    List<Sort> sortList = new ArrayList<>();
-                                    sortList.add(new Sort("a.create_time","desc"));
-
-                                    List<WorkScheduleAttendance> workScheduleAttendanceList = workScheduleAttendanceService.listSearch(searchParams,sortList);
-                                    List<Map<String,Object>> mapList = new ArrayList<>();
-                                    if (workScheduleAttendanceList.size()>0){
-                                        for (WorkScheduleAttendance workScheduleAttendance : workScheduleAttendanceList){
-                                            Map<String, Object> data = new HashMap<>();
-                                            String time = DateUtil.format(workScheduleAttendance.getRecordTime(), "HH:mm");
-                                            String remark = null;
-                                            String status = null;
-                                            String id = workScheduleAttendance.getId();
-                                            String result = null;
-                                            String workStatus = workScheduleAttendance.getWorkStatus();
-
-                                            //工作状态:工作
-                                            if (!"4".equals(workScheduleAttendance.getWorkStatus())) {
-                                                //缺卡
-                                                if ("0".equals(workScheduleAttendance.getResult())) {
-                                                    remark = "缺卡";
-                                                    status = "0";
-                                                    result = "0";
-                                                }
-                                                //有考勤,要区分是机器打卡还是填报打卡
-                                                if (!"0".equals(workScheduleAttendance.getResult())) {
-                                                    //机器打卡
-                                                    if (StringUtils.isBlank(workScheduleAttendance.getSupplementWorkPersonId())) {
-                                                        remark = "正常";
-                                                        status = "1";
-                                                    }
-                                                    //填报打卡
-                                                    else {
-                                                        remark = "正常";
-                                                        status = "3";
-                                                    }
-                                                    //考勤正常
-                                                    if ("1".equals(workScheduleAttendance.getResult())) {
-                                                        result = "1";
-                                                    }
-                                                    //迟到
-                                                    if ("2".equals(workScheduleAttendance.getResult())) {
-                                                        remark = "迟到";
-                                                        result = "2";
-                                                    }
-                                                    //早退
-                                                    if ("3".equals(workScheduleAttendance.getResult())) {
-                                                        remark = "早退";
-                                                        result = "3";
-                                                    }
+            if (companyInfoList0.size() > 0) {
+                //选择展开公司的code
+                List<String> companyIdList2 = Arrays.asList(companyInfo2.getCode().split(","));
+                //当前角色所在部门的code集合小于所选公司code集合那么,只展示当前角色所在公司或部门
+                if (companyIdList.size() <= companyIdList2.size()) {
+                    List<PersonInfo> personInfoList = personInfoService.findByCompanyId(companyId);
+                    if (personInfoList.size() > 0) {
+                        for (PersonInfo personInfo : personInfoList) {
+                            CompanyAndPersonDTO companyAndPersonDTO = new CompanyAndPersonDTO();
+                            companyAndPersonDTO.setId(personInfo.getId().toString());
+                            companyAndPersonDTO.setName(personInfo.getName());
+                            companyAndPersonDTO.setType("2");
+                            companyAndPersonDTO.setDesc(personInfo.getJobNumber());
 
+                            if (queryDate != null) {
+                                Map<String, Object> searchParams = new HashMap<>();
+                                searchParams.put("personId", personInfo.getId());
+                                searchParams.put("attendanceDate", DateUtil.format(queryDate, "yyyy-MM-dd"));
+                                List<Sort> sortList = new ArrayList<>();
+                                sortList.add(new Sort("a.create_time", "desc"));
 
-                                                }
-                                            }
+                                List<WorkScheduleAttendance> workScheduleAttendanceList = workScheduleAttendanceService.listSearch(searchParams, sortList);
+                                List<Map<String, Object>> mapList = new ArrayList<>();
+                                if (workScheduleAttendanceList.size() > 0) {
+                                    for (WorkScheduleAttendance workScheduleAttendance : workScheduleAttendanceList) {
+                                        Map<String, Object> data = new HashMap<>();
+                                        String time = DateUtil.format(workScheduleAttendance.getRecordTime(), "HH:mm");
+                                        String remark = null;
+                                        String status = null;
+                                        String id = workScheduleAttendance.getId();
+                                        String result = null;
+                                        String workStatus = workScheduleAttendance.getWorkStatus();
 
-                                            //工作状态:请假
-                                            if ("4".equals(workScheduleAttendance.getWorkStatus())) {
-                                                remark = "请假";
-                                                status = "2";
-                                                result = "5";
+                                        //工作状态:工作
+                                        if (!"4".equals(workScheduleAttendance.getWorkStatus())) {
+                                            //缺卡
+                                            if ("0".equals(workScheduleAttendance.getResult())) {
+                                                remark = "缺卡";
+                                                status = "0";
+                                                result = "0";
                                             }
+                                            //有考勤,要区分是机器打卡还是填报打卡
+                                            if (!"0".equals(workScheduleAttendance.getResult())) {
+                                                //机器打卡
+                                                if (StringUtils.isBlank(workScheduleAttendance.getSupplementWorkPersonId())) {
+                                                    remark = "正常";
+                                                    status = "1";
+                                                }
+                                                //填报打卡
+                                                else {
+                                                    remark = "正常";
+                                                    status = "3";
+                                                }
+                                                //考勤正常
+                                                if ("1".equals(workScheduleAttendance.getResult())) {
+                                                    result = "1";
+                                                }
+                                                //迟到
+                                                if ("2".equals(workScheduleAttendance.getResult())) {
+                                                    remark = "迟到";
+                                                    result = "2";
+                                                }
+                                                //早退
+                                                if ("3".equals(workScheduleAttendance.getResult())) {
+                                                    remark = "早退";
+                                                    result = "3";
+                                                }
 
-                                            data.put("time", time);
-                                            data.put("remark", remark);
-                                            data.put("status", status);
-                                            data.put("workStatus", workStatus);
-                                            data.put("result", result);
-                                            data.put("id", id);
 
-                                            mapList.add(data);
+                                            }
                                         }
-                                    }
-                                    companyAndPersonDTO.setList(mapList);
-                                }
 
+                                        //工作状态:请假
+                                        if ("4".equals(workScheduleAttendance.getWorkStatus())) {
+                                            remark = "请假";
+                                            status = "2";
+                                            result = "5";
+                                        }
 
+                                        data.put("time", time);
+                                        data.put("remark", remark);
+                                        data.put("status", status);
+                                        data.put("workStatus", workStatus);
+                                        data.put("result", result);
+                                        data.put("id", id);
 
-                                list.add(companyAndPersonDTO);
+                                        mapList.add(data);
+                                    }
+                                }
+                                companyAndPersonDTO.setList(mapList);
                             }
-                        }
 
+
+                            list.add(companyAndPersonDTO);
+                        }
                     }
-                }
 
+                }
+            }
 
 
             Map<String, Object> map = new HashMap<>();
@@ -1146,7 +1248,7 @@ public class AdjustShiftApiController {
             @ApiImplicitParam(name = "remark", value = "备注", required = true, paramType = "form")
 
     })
-    public MessageResult<Map> arrangeShiftSubmit(String date,String personIds, String shiftIds, String remark,String token, @RequestAttribute String subject) {
+    public MessageResult<Map> arrangeShiftSubmit(String date, String personIds, String shiftIds, String remark, String token, @RequestAttribute String subject) {
 
 
         MessageResult<Map> messageResult = new MessageResult<>();
@@ -1155,7 +1257,7 @@ public class AdjustShiftApiController {
             PersonInfo person = personInfoService.get(Long.parseLong(subject));
             PersonPopedom personPopedom = personPopedomService.get(person.getPopedom());
 
-            String id = adjustShiftService.arrangeShiftSubmit(personPopedom, personIds,date, shiftIds, remark);
+            String id = adjustShiftService.arrangeShiftSubmit(personPopedom, personIds, date, shiftIds, remark);
 
             Map<String, Object> map = new HashMap<>();
             map.put("id", id);
@@ -1214,31 +1316,27 @@ public class AdjustShiftApiController {
 
             }
 
-            if (adjustShiftPersonList.size()>0){
-                for (AdjustShiftPerson adjustShiftPerson : adjustShiftPersonList){
+            if (adjustShiftPersonList.size() > 0) {
+                for (AdjustShiftPerson adjustShiftPerson : adjustShiftPersonList) {
                     PersonPopedom personPopedom1 = personPopedomService.get(adjustShiftPerson.getPersonPopedomId());
                     PersonInfo personInfo = personInfoService.get(personPopedom1.getPersonId());
-                    if (StringUtils.isBlank(arrangeName)){
+                    if (StringUtils.isBlank(arrangeName)) {
                         arrangeName = personInfo.getName();
-                    }else {
+                    } else {
                         arrangeName = arrangeName + "," + personInfo.getName();
                     }
                 }
             }
 
 
-
-
-
-
             Date adjustTime = DateUtil.parse(adjustShift.getAdjustDate(), "yyyy-MM-dd");
 
 
             Map<String, Object> map = new HashMap<>();
             map.put("name", adjustPerson.getName());
-            map.put("arrangeName",arrangeName);
-            map.put("type",adjustShift.getType());
-            map.put("typeName",TypeNameUtil.getTypeName(adjustShift.getType()));
+            map.put("arrangeName", arrangeName);
+            map.put("type", adjustShift.getType());
+            map.put("typeName", TypeNameUtil.getTypeName(adjustShift.getType()));
             map.put("status", adjustShift.getStatus());
             map.put("statusName", TypeNameUtil.getExamineTypeName(adjustShift.getStatus()));
             map.put("remark", adjustShift.getRemark());
@@ -1275,23 +1373,23 @@ public class AdjustShiftApiController {
             List<ArrangeShiftListDTO> list = new ArrayList<>();
             Map<String, Object> searchParams = new HashMap<>();
             searchParams.put("personPopedomId", personPopedom.getId());
-            searchParams.put("type","2");
+            searchParams.put("type", "2");
             List<Sort> sortList = new ArrayList<>();
             sortList.add(new Sort("create_time", "desc"));
             Page<AdjustShift> page = adjustShiftService.pageSearch(searchParams, pageIndex, pageSize, true, sortList);
 
             List<AdjustShift> adjustShiftList = page.getResult();
-            if (adjustShiftList.size()>0){
-                for (AdjustShift adjustShift : adjustShiftList){
+            if (adjustShiftList.size() > 0) {
+                for (AdjustShift adjustShift : adjustShiftList) {
                     List<AdjustShiftPerson> adjustShiftPersonList = adjustShiftPersonService.findByAdjustShiftId(adjustShift.getId());
                     AdjustShiftPerson adjustShiftPerson = adjustShiftPersonList.get(0);
                     PersonPopedom personPopedom1 = personPopedomService.get(adjustShiftPerson.getPersonPopedomId());
                     PersonInfo personInfo = personInfoService.get(personPopedom1.getPersonId());
                     ArrangeShiftListDTO arrangeShiftListDTO = new ArrangeShiftListDTO();
                     arrangeShiftListDTO.setId(adjustShift.getId());
-                    arrangeShiftListDTO.setName(personInfo.getName()+"等"+adjustShiftPersonList.size()+"人");
+                    arrangeShiftListDTO.setName(personInfo.getName() + "等" + adjustShiftPersonList.size() + "人");
                     arrangeShiftListDTO.setAdjustDate(adjustShift.getAdjustDate());
-                    arrangeShiftListDTO.setSubmitDate(DateUtil.format(adjustShift.getSubmitTime(),"yyyy-MM-dd HH:mm:ss"));
+                    arrangeShiftListDTO.setSubmitDate(DateUtil.format(adjustShift.getSubmitTime(), "yyyy-MM-dd HH:mm:ss"));
                     arrangeShiftListDTO.setStatus(adjustShift.getStatus());
                     arrangeShiftListDTO.setStatusName(TypeNameUtil.getExamineTypeName(adjustShift.getStatus()));
                     list.add(arrangeShiftListDTO);
@@ -1324,7 +1422,7 @@ public class AdjustShiftApiController {
 
     @ApiOperation(value = "撤销申请(未审核完成)")
     @PostMapping(value = "revoke")
-    public MessageResult<Map> revoke(String token, @RequestAttribute String subject,String id) {
+    public MessageResult<Map> revoke(String token, @RequestAttribute String subject, String id) {
 
 
         MessageResult<Map> messageResult = new MessageResult<>();
@@ -1333,7 +1431,7 @@ public class AdjustShiftApiController {
             PersonInfo person = personInfoService.get(Long.parseLong(subject));
             PersonPopedom personPopedom = personPopedomService.get(person.getPopedom());
 
-            procinstService.revoke(personPopedom,id);
+            procinstService.revoke(personPopedom, id);
 
             messageResult.setCode(200);
             messageResult.setResult(true);

+ 5 - 1
web/src/main/java/com/jpsoft/shinestar/modules/mobile/controller/ExamineApiController.java

@@ -2,6 +2,7 @@ package com.jpsoft.shinestar.modules.mobile.controller;
 
 import cn.hutool.core.date.DateUtil;
 import cn.hutool.core.date.Week;
+import cn.hutool.core.util.StrUtil;
 import com.github.pagehelper.Page;
 import com.jpsoft.shinestar.modules.base.entity.*;
 import com.jpsoft.shinestar.modules.base.service.*;
@@ -358,7 +359,7 @@ public class ExamineApiController {
     @ApiImplicitParams({
             @ApiImplicitParam(name = "procinstType", value = "类型(1:调班,2:请假)",required = false,paramType = "form")
     })
-    public MessageResult<Map> alreadyExamineShiftList(String procinstType,String token, @RequestAttribute String subject, @RequestParam(value = "pageIndex", defaultValue = "1") int pageIndex, @RequestParam(value = "pageSize", defaultValue = "10") int pageSize) {
+    public MessageResult<Map> alreadyExamineShiftList(String procinstType,String name,String token, @RequestAttribute String subject, @RequestParam(value = "pageIndex", defaultValue = "1") int pageIndex, @RequestParam(value = "pageSize", defaultValue = "10") int pageSize) {
 
 
         MessageResult<Map> messageResult = new MessageResult<>();
@@ -372,6 +373,9 @@ public class ExamineApiController {
             if (StringUtils.isNotBlank(procinstType)){
                 searchParams.put("procinstType",procinstType);
             }
+            if (StrUtil.isNotBlank(name)){
+                searchParams.put("name","%"+name+"%");
+            }
 
             //状态(0:非当前操作步骤,1:当前操作步骤)
          //   searchParams.put("status","1");

+ 2 - 2
web/src/main/java/com/jpsoft/shinestar/modules/mobile/controller/WorkOverApiController.java

@@ -507,7 +507,7 @@ public class WorkOverApiController {
             @ApiImplicitParam(name = "formId", value = "页面路径", required = true, paramType = "form"),
             @ApiImplicitParam(name = "draft", value = "状态(0:草稿,1:提交)", required = true, paramType = "form")
     })
-    public MessageResult<Map> workOverPathSubmit(String ids,String draft,String reason, String startTime, String endTime, Integer hours,String personIds,String type,String formId,String token, @RequestAttribute String subject) {
+    public MessageResult<Map> workOverPathSubmit(String ids,String draft,String reason, String startTime, String endTime, Integer hours,String personIds,String type,String formId,String processTemplateId,String token, @RequestAttribute String subject) {
 
 
         MessageResult<Map> messageResult = new MessageResult<>();
@@ -516,7 +516,7 @@ public class WorkOverApiController {
             PersonInfo person = personInfoService.get(Long.parseLong(subject));
             PersonPopedom personPopedom = personPopedomService.get(person.getPopedom());
 
-            String id = workOverService.workOverPathSubmit(personPopedom, hours,startTime,endTime,reason,personIds,formId,type,ids,draft);
+            String id = workOverService.workOverPathSubmit(personPopedom, hours,startTime,endTime,reason,personIds,formId,type,ids,draft,processTemplateId);
 
             Map<String, Object> map = new HashMap<>();
             map.put("id", id);