Эх сурвалжийг харах

修復+钥匙印章增加确认流程

fangq 4 жил өмнө
parent
commit
3beedaf3cb
17 өөрчлөгдсөн 329 нэмэгдсэн , 55 устгасан
  1. 75 21
      src/main/java/org/springblade/bank/keypwd/controller/KeyPwdController.java
  2. 30 0
      src/main/java/org/springblade/bank/keypwd/entity/KeyPwd.java
  3. 2 2
      src/main/java/org/springblade/bank/keypwd/mapper/KeyPwdMapper.java
  4. 33 8
      src/main/java/org/springblade/bank/keypwd/mapper/KeyPwdMapper.xml
  5. 2 0
      src/main/java/org/springblade/bank/keypwd/vo/KeyPwdVO.java
  6. 1 1
      src/main/java/org/springblade/bank/returns/controller/ReturnsController.java
  7. 35 7
      src/main/java/org/springblade/bank/sealhandover/controller/SealHandoverController.java
  8. 23 0
      src/main/java/org/springblade/bank/sealhandover/entity/SealHandover.java
  9. 2 0
      src/main/java/org/springblade/bank/sealhandover/mapper/SealHandoverMapper.java
  10. 77 1
      src/main/java/org/springblade/bank/sealhandover/mapper/SealHandoverMapper.xml
  11. 5 2
      src/main/java/org/springblade/bank/sealhandover/service/impl/SealHandoverServiceImpl.java
  12. 3 0
      src/main/java/org/springblade/bank/sealhandover/vo/SealHandoverVO.java
  13. 2 2
      src/main/java/org/springblade/modules/desk/service/INoticeService.java
  14. 28 6
      src/main/java/org/springblade/modules/desk/service/impl/NoticeServiceImpl.java
  15. 1 1
      src/main/java/org/springblade/modules/system/service/IUserService.java
  16. 7 1
      src/main/java/org/springblade/modules/system/service/impl/UserServiceImpl.java
  17. 3 3
      src/main/java/org/springblade/modules/systemexpand/controller/ExpandController.java

+ 75 - 21
src/main/java/org/springblade/bank/keypwd/controller/KeyPwdController.java

@@ -17,9 +17,11 @@
 package org.springblade.bank.keypwd.controller;
 
 import cn.hutool.json.JSONUtil;
+import com.baomidou.mybatisplus.core.conditions.Wrapper;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -40,6 +42,7 @@ import org.springblade.core.secure.utils.AuthUtil;
 import org.springblade.core.tool.api.R;
 import org.springblade.core.tool.utils.DateUtil;
 import org.springblade.core.tool.utils.Func;
+import org.springblade.core.tool.utils.StringUtil;
 import org.springblade.modules.desk.entity.Notice;
 import org.springblade.modules.desk.service.INoticeService;
 import org.springblade.modules.system.entity.Dept;
@@ -52,6 +55,7 @@ import org.springframework.web.bind.annotation.*;
 
 import javax.validation.Valid;
 import java.util.*;
+import java.util.stream.Collectors;
 
 /**
  * 網點鎖匙/密碼登記表 控制器
@@ -102,6 +106,11 @@ public class KeyPwdController extends BladeController {
 	@ApiOperationSupport(order = 3)
 	@ApiOperation(value = "分页", notes = "传入keyPwd")
 	public R<IPage<KeyPwdVO>> page(KeyPwdVO keyPwd, Query query) {
+		Long deptId = Long.valueOf(AuthUtil.getDeptId());
+		List<Long> deptChildIds = deptService.getDeptChildIds(deptId);
+		deptChildIds.add(deptId);
+		keyPwd.setDeptIdList(deptChildIds);
+		keyPwd.setCurrentuserId(AuthUtil.getUserId());
 
 		if (StringUtils.isNotBlank(keyPwd.getCategory())){
 			List<String> categorys = Func.toStrList(keyPwd.getCategory());
@@ -122,7 +131,12 @@ public class KeyPwdController extends BladeController {
 	@GetMapping("/getKeepList")
 	@ApiOperationSupport(order = 3)
 	@ApiOperation(value = "分页", notes = "传入keyPwd")
-	public R<IPage<KeyPwdVO>> getKeepList(KeyPwdVO keyPwd, Query query) {
+	public R<List<KeyPwd>> getKeepList(KeyPwdVO keyPwd) {
+		Long deptId = Long.valueOf(AuthUtil.getDeptId());
+		List<Long> deptChildIds = deptService.getDeptChildIds(deptId);
+		deptChildIds.add(deptId);
+		keyPwd.setDeptIdList(deptChildIds);
+		keyPwd.setCurrentuserId(AuthUtil.getUserId());
 
 		if (StringUtils.isNotBlank(keyPwd.getCategory())){
 			List<String> categorys = Func.toStrList(keyPwd.getCategory());
@@ -133,12 +147,11 @@ public class KeyPwdController extends BladeController {
 			keyPwd.setOrgNos(orgNos);
 		}
 
-		query.setSize(500);
-		IPage<KeyPwdVO> pages = keyPwdService.selectKeyPwdPage(Condition.getPage(query), keyPwd);
-		List<KeyPwdVO> records = pages.getRecords();
+		keyPwd.setIsTurnIn(0); //未上缴的
+		List<KeyPwd> list = keyPwdService.getList(keyPwd);
 		HashSet<Map> set = new HashSet<>();
-		for (int i = 0; i < records.size(); i++) {
-			KeyPwd item = records.get(i);
+		for (int i = 0; i < list.size(); i++) {
+			KeyPwd item = list.get(i);
 			HashMap<String, Object> map = new HashMap<>();
 			map.put("bankNo", item.getBankNo());
 			map.put("orgNo", item.getOrgNo());
@@ -146,22 +159,40 @@ public class KeyPwdController extends BladeController {
 			int size1 = set.size();
 			set.add(map);
 			if (set.size() == size1){
-				records.remove(i);
+				list.remove(i);
 				i--;
 			}
 		}
 
-		return R.data(pages);
+		return R.data(list);
 	}
 
 	/**
-	 * 新增 網點鎖匙/密碼登記表
+	 * 确认 網點鎖匙/密碼登記表
 	 */
-	@PostMapping("/save")
+	@PostMapping("/sure")
 	@ApiOperationSupport(order = 4)
-	@ApiOperation(value = "新增", notes = "传入keyPwd")
-	public R save(@Valid @RequestBody KeyPwd keyPwd) {
-		return R.status(keyPwdService.save(keyPwd));
+	@ApiOperation(value = "确认", notes = "传入keyPwd")
+	public R sure(@Valid @RequestBody KeyPwd keyPwd) {
+		keyPwd.setProcess(3);
+		keyPwd.setSureTime(DateUtil.now());
+		if (keyPwdService.updateById(keyPwd)){
+			User user = userService.getById(AuthUtil.getUserId());
+			Dept dept = deptService.getById(user.getDeptId());
+
+			UserLog userLog = new UserLog();
+			userLog.setTableName("keypwd");
+			userLog.setBankNo(dept.getBankNo());
+			userLog.setOrgNo(dept.getOrgNo());
+			userLog.setOrgName(dept.getDeptName());
+			userLog.setNewData(JSONUtil.toJsonStr(keyPwd));
+			userLog.setPersonNo(user.getEhr());
+			userLog.setPersonName(user.getName());
+			userLog.setOperationType("sure");
+			userLogService.save(userLog);
+
+		}
+		return R.status(true);
 	}
 
 	/**
@@ -182,6 +213,12 @@ public class KeyPwdController extends BladeController {
 	@ApiOperation(value = "新增或修改", notes = "传入keyPwd")
 	public R submit(@Valid @RequestBody KeyPwd keyPwd) {
 
+		if (keyPwd.getIsTurnIn() == 1){
+			keyPwd.setProcess(3); //已确认,直接完结流程
+		}else {
+			keyPwd.setProcess(2); //待确认
+		}
+
 		boolean isAdd = keyPwd.getId() == null;
 		BladeUser currentUser = AuthUtil.getUser();
 		User user = userService.getById(currentUser.getUserId());
@@ -208,14 +245,13 @@ public class KeyPwdController extends BladeController {
 
 			if (isAdd){
 				userLog.setOperationType("add");
-
 				//發送通知
-				noticeService.sendKeyPwdNotice(keyPwd, false);
+				noticeService.sendKeyPwdNotice(keyPwd, false, keyPwd.getIsTurnIn().equals(1));
 			}else{
 				userLog.setOperationType("edit");
 				userLog.setOldData(JSONUtil.toJsonStr(old));
 				//發送通知
-				noticeService.sendKeyPwdNotice(keyPwd, true);
+				noticeService.sendKeyPwdNotice(keyPwd, true, false);
 			}
 			userLogService.save(userLog);
 		}
@@ -275,6 +311,19 @@ public class KeyPwdController extends BladeController {
 		return R.data(null);
 	}
 
+	/**
+	 * 获取当前用户所持有的分类,逗号拼接返回
+	 * @return
+	 */
+	@GetMapping("/getCurrentUserKeepCategory")
+	@ApiOperationSupport(order = 8)
+	@ApiOperation(value = "获取当前用户所持有的分类", notes = "")
+	public R getCurrentUserKeepCategory(){
+		List<KeyPwd> list = keyPwdService.list(Wrappers.<KeyPwd>lambdaQuery().eq(KeyPwd::getReceiverId, AuthUtil.getUserId()).eq(KeyPwd::getProcess, 3));
+		String categorys = list.stream().map(keyPwd -> keyPwd.getCategory()).collect(Collectors.joining(","));
+		return R.data(categorys);
+	}
+
 	@GetMapping("/getList")
 	public R getList(KeyPwdVO keyPwd){
 
@@ -290,11 +339,16 @@ public class KeyPwdController extends BladeController {
 		List<KeyPwd> list = keyPwdService.getList(keyPwd);
 
 		list.forEach(item -> {
-			String category = item.getCategory();
-			String value = dictService.getValue("key_type", category);
-			String[] split = category.split("_");
-			String key_type = dictService.getValue("key_type", split[0] + "_" + split[1] + "_" + split[2]);
-			item.setCategory(key_type + "-" + value);
+			List<String> categoryStrList = new ArrayList<>();
+			String[] categorys = item.getCategory().split(",");
+			for (int i = 0; i < categorys.length; i++) {
+				String category = categorys[i];
+				String value = dictService.getValue("key_type", category);
+				String[] split = category.split("_");
+				String key_type = dictService.getValue("key_type", split[0] + "_" + split[1] + "_" + split[2]);
+				categoryStrList.add(key_type + "-" + value);
+			}
+			item.setCategory(StringUtil.join(categoryStrList, " | "));
 		});
 
 		return R.data(list);

+ 30 - 0
src/main/java/org/springblade/bank/keypwd/entity/KeyPwd.java

@@ -126,5 +126,35 @@ public class KeyPwd extends BaseEntity {
 		@ApiModelProperty(value = "填報人")
 		private String fillingPerson;
 
+	/**
+	 * 確認時間
+	 */
+		@ApiModelProperty(value = "確認時間")
+		@DateTimeFormat(
+			pattern = "yyyy-MM-dd HH:mm:ss"
+		)
+		@JsonFormat(
+			pattern = "yyyy-MM-dd HH:mm:ss"
+		)
+		private Date sureTime;
+
+
+		@ApiModelProperty(value = "接收人Id")
+		private Long receiverId;
+		@ApiModelProperty(value = "交出人id")
+		private Long handoverPersonId;
+
+		/**
+		 * 節點{2:待確認, 3: 已確認}
+		 */
+		@ApiModelProperty(value = "節點")
+		private Integer process;
+
+	/**
+	 * 是否上繳至上級單位
+	 */
+		@ApiModelProperty(value = "是否上繳至上級單位")
+		private Integer isTurnIn;
+
 
 }

+ 2 - 2
src/main/java/org/springblade/bank/keypwd/mapper/KeyPwdMapper.java

@@ -41,9 +41,9 @@ public interface KeyPwdMapper extends BaseMapper<KeyPwd> {
 	 * @param keyPwd
 	 * @return
 	 */
-	@DataAuth(type = DataScopeEnum.OWN_DEPT_CHILD)
+//	@DataAuth(type = DataScopeEnum.OWN_DEPT_CHILD)
 	List<KeyPwdVO> selectKeyPwdPage(IPage page, KeyPwdVO keyPwd);
 
-	@DataAuth(type = DataScopeEnum.OWN_DEPT_CHILD)
+//	@DataAuth(type = DataScopeEnum.OWN_DEPT_CHILD)
 	List<KeyPwd> selectKeyPwdPage(@Param("keyPwd") KeyPwdVO keyPwd);
 }

+ 33 - 8
src/main/java/org/springblade/bank/keypwd/mapper/KeyPwdMapper.xml

@@ -26,42 +26,67 @@
         <result column="remark" property="remark"/>
         <result column="filling_date" property="fillingDate"/>
         <result column="filling_person" property="fillingPerson"/>
+
+        <result column="is_turn_in" property="isTurnIn"/>
+        <result column="receiver_id" property="receiverId"/>
+        <result column="handover_person_id" property="handoverPersonId"/>
+        <result column="process" property="process"/>
+        <result column="sure_time" property="sureTime"/>
     </resultMap>
 
 
     <select id="selectKeyPwdPage" resultMap="keyPwdResultMap">
+
+        SELECT c.* FROM
+        (select * from zh_input_key_pwd where is_deleted = 0
+        <if test="keyPwd.deptIdList!=null and keyPwd.deptIdList.size>0">
+            and create_dept in
+            <foreach collection="keyPwd.deptIdList" index="index" item="item" open="(" separator="," close=")">
+                #{item}
+            </foreach>
+        </if>
+
+        UNION
         select * from zh_input_key_pwd where is_deleted = 0
+        and (create_user = '${keyPwd.currentuserId}' or LOCATE('${keyPwd.currentuserId}', receiver_id) > 0)
+        ) c
+        where  1=1
+
+
         <if test="keyPwd!=null">
             <if test="keyPwd.createUser!=null">
-                AND create_user like '%${keyPwd.createUser}%'
+                AND c.create_user like '%${keyPwd.createUser}%'
             </if>
             <if test="keyPwd.receiverName!=null">
-                AND receiver_name like '%${keyPwd.receiverName}%'
+                AND c.receiver_name like '%${keyPwd.receiverName}%'
             </if>
             <if test="keyPwd.bankNo!=null">
-                AND bank_no = '${keyPwd.bankNo}'
+                AND c.bank_no = '${keyPwd.bankNo}'
+            </if>
+            <if test="keyPwd.isTurnIn!=null">
+                AND c.is_turn_in = '${keyPwd.isTurnIn}'
             </if>
             <if test="keyPwd.category!=null">
-                AND category in
+                AND c.category in
                 <foreach item="category" collection="keyPwd.categorys" separator="," open="(" close=")" index="">
                     #{category}
                 </foreach>
             </if>
             <if test="keyPwd.orgNos!=null">
-                AND org_no in
+                AND c.org_no in
                 <foreach item="orgNo" collection="keyPwd.orgNos" separator="," open="(" close=")" index="">
                     #{orgNo}
                 </foreach>
             </if>
 
             <if test="keyPwd.handoverDate_begin!=null and keyPwd.handoverDate_end!=null">
-                and handover_date BETWEEN '${keyPwd.handoverDate_begin}' and '${keyPwd.handoverDate_end}'
+                and c.handover_date BETWEEN '${keyPwd.handoverDate_begin}' and '${keyPwd.handoverDate_end}'
             </if>
             <if test="keyPwd.receiverName!=null and keyPwd.receiverName!=null">
-                AND receiver_name like '%${keyPwd.receiverName}%'
+                AND c.receiver_name like '%${keyPwd.receiverName}%'
             </if>
         </if>
-        ORDER BY handover_date DESC
+        ORDER BY c.handover_date DESC
     </select>
 
 </mapper>

+ 2 - 0
src/main/java/org/springblade/bank/keypwd/vo/KeyPwdVO.java

@@ -45,4 +45,6 @@ public class KeyPwdVO extends KeyPwd {
 	private String handoverDate_begin;
 	private String handoverDate_end;
 
+	private Long currentuserId;
+	private List<Long> deptIdList;
 }

+ 1 - 1
src/main/java/org/springblade/bank/returns/controller/ReturnsController.java

@@ -118,8 +118,8 @@ public class ReturnsController extends BladeController {
 		List<Long> deptChildIds = deptService.getDeptChildIds(deptId);
 		deptChildIds.add(deptId);
 		returns.setDeptIdList(deptChildIds);
-
 		returns.setCurrentuserId(AuthUtil.getUser().getUserId());
+
 		if (StringUtils.isNotBlank(returns.getOrgNostr())){
 			List<String> orgNos = Func.toStrList(returns.getOrgNostr());
 			returns.setOrgNos(orgNos);

+ 35 - 7
src/main/java/org/springblade/bank/sealhandover/controller/SealHandoverController.java

@@ -102,6 +102,13 @@ public class SealHandoverController extends BladeController {
 	@ApiOperationSupport(order = 3)
 	@ApiOperation(value = "分页", notes = "传入sealHandover")
 	public R<IPage<SealHandoverVO>> page(SealHandoverVO sealHandover, Query query) {
+
+		Long deptId = Long.valueOf(AuthUtil.getDeptId());
+		List<Long> deptChildIds = deptService.getDeptChildIds(deptId);
+		deptChildIds.add(deptId);
+		sealHandover.setDeptIdList(deptChildIds);
+		sealHandover.setCurrentuserId(AuthUtil.getUserId());
+
 		if (StringUtils.isNotBlank(sealHandover.getSealType())){
 			List<String> sealTypes = Func.toStrList(sealHandover.getSealType());
 			sealHandover.setSealTypes(sealTypes);
@@ -197,13 +204,33 @@ public class SealHandoverController extends BladeController {
 	}
 
 	/**
-	 * 新增 業務印章交接登記表
+	 * 確認 業務印章交接登記表
 	 */
-	@PostMapping("/save")
+	@PostMapping("/sure")
 	@ApiOperationSupport(order = 4)
-	@ApiOperation(value = "新增", notes = "传入sealHandover")
-	public R save(@Valid @RequestBody SealHandover sealHandover) {
-		return R.status(sealHandoverService.save(sealHandover));
+	@ApiOperation(value = "確認", notes = "传入sealHandover")
+	public R sure(@Valid @RequestBody SealHandover sealHandover) {
+		sealHandover.setProcess(3);
+		sealHandover.setSureTime(DateUtil.now());
+		if (sealHandoverService.updateById(sealHandover)){
+			User user = userService.getById(AuthUtil.getUserId());
+			Dept dept = deptService.getById(user.getDeptId());
+
+			UserLog userLog = new UserLog();
+			userLog.setTableName("sealhandover");
+			userLog.setBankNo(dept.getBankNo());
+			userLog.setOrgNo(dept.getOrgNo());
+			userLog.setOrgName(dept.getDeptName());
+			userLog.setNewData(JSONUtil.toJsonStr(sealHandover));
+			userLog.setPersonNo(user.getEhr());
+			userLog.setPersonName(user.getName());
+			userLog.setOperationType("sure");
+			userLogService.save(userLog);
+
+			//發送通知
+			noticeService.sendSealNotice(sealHandover, false, true);
+		}
+		return R.status(true);
 	}
 
 	/**
@@ -234,6 +261,7 @@ public class SealHandoverController extends BladeController {
 
 		SealHandover old = null;
 		if (isAdd){
+			sealHandover.setProcess(2);
 			sealHandover.setFillingPerson(currentUser.getUserName());
 			sealHandover.setFillingDate(DateUtil.now());
 		}else{
@@ -252,12 +280,12 @@ public class SealHandoverController extends BladeController {
 				userLog.setOperationType("add");
 
 				//發送通知
-				noticeService.sendSealNotice(sealHandover, false);
+				noticeService.sendSealNotice(sealHandover, false, false);
 			}else{
 				userLog.setOperationType("edit");
 				userLog.setOldData(JSONUtil.toJsonStr(old));
 				//發送通知
-				noticeService.sendSealNotice(sealHandover, true);
+				noticeService.sendSealNotice(sealHandover, true, false);
 			}
 			userLogService.save(userLog);
 

+ 23 - 0
src/main/java/org/springblade/bank/sealhandover/entity/SealHandover.java

@@ -115,6 +115,17 @@ public class SealHandover extends BaseEntity {
 		)
 		private Date fillingDate;
 	/**
+	* 確認時間
+	*/
+		@ApiModelProperty(value = "確認時間")
+		@DateTimeFormat(
+			pattern = "yyyy-MM-dd HH:mm:ss"
+		)
+		@JsonFormat(
+			pattern = "yyyy-MM-dd HH:mm:ss"
+		)
+		private Date sureTime;
+	/**
 	* 填報人
 	*/
 		@ApiModelProperty(value = "填報人")
@@ -125,4 +136,16 @@ public class SealHandover extends BaseEntity {
 	@ApiModelProperty(value = "是否上繳至上級單位")
 	private Integer isTurnIn;
 
+
+	@ApiModelProperty(value = "接收人Id")
+	private Long receiverId;
+	@ApiModelProperty(value = "交出人id")
+	private Long handoverPersonId;
+
+	/**
+	 * 節點{2:待確認, 3: 已確認}
+	 */
+	@ApiModelProperty(value = "節點")
+	private Integer process;
+
 }

+ 2 - 0
src/main/java/org/springblade/bank/sealhandover/mapper/SealHandoverMapper.java

@@ -46,4 +46,6 @@ public interface SealHandoverMapper extends BaseMapper<SealHandover> {
 
 	@DataAuth(type = DataScopeEnum.OWN_DEPT_CHILD)
 	List<SealHandoverVO> selectSealHandoverPage(@Param("sealHandover") SealHandoverVO sealHandover);
+
+	List<SealHandoverVO> selectMySealHandoverPage(IPage<SealHandoverVO> page, SealHandoverVO sealHandover);
 }

+ 77 - 1
src/main/java/org/springblade/bank/sealhandover/mapper/SealHandoverMapper.xml

@@ -26,12 +26,87 @@
         <result column="filling_date" property="fillingDate"/>
         <result column="filling_person" property="fillingPerson"/>
         <result column="is_turn_in" property="isTurnIn"/>
+
+        <result column="receiver_id" property="receiverId"/>
+        <result column="handover_person_id" property="handoverPersonId"/>
+        <result column="process" property="process"/>
+        <result column="sure_time" property="sureTime"/>
     </resultMap>
 
 
     <select id="selectSealHandoverPage" resultMap="sealHandoverResultMap">
+        SELECT c.* FROM
+        (select * from zh_input_seal_handover where is_deleted = 0
+        <if test="sealHandover.deptIdList!=null and sealHandover.deptIdList.size>0">
+            and create_dept in
+            <foreach collection="sealHandover.deptIdList" index="index" item="item" open="(" separator="," close=")">
+                #{item}
+            </foreach>
+        </if>
+
+        UNION
+        select * from zh_input_seal_handover where is_deleted = 0
+        and (create_user = '${sealHandover.currentuserId}' or LOCATE('${sealHandover.currentuserId}', receiver_id) > 0)
+        ) c
+        where  1=1
+
+
+        <if test="sealHandover!=null">
+            <if test="sealHandover.createUser!=null">
+                AND c.create_user like '%${sealHandover.createUser}%'
+            </if>
+            <if test="sealHandover.bankNo!=null">
+                AND c.bank_no = '${sealHandover.bankNo}'
+            </if>
+            <if test="sealHandover.sealNo!=null">
+                AND c.seal_no = '${sealHandover.sealNo}'
+            </if>
+            <if test="sealHandover.process!=null">
+                AND c.process = '${sealHandover.process}'
+            </if>
+            <if test="sealHandover.receiverId!=null">
+                AND receiver_id = '${sealHandover.receiverId}'
+            </if>
+           <if test="sealHandover.isTurnIn!=null">
+                AND c.is_turn_in = '${sealHandover.isTurnIn}'
+            </if>
+           <if test="sealHandover.receiverName!=null">
+                AND c.receiver_name like '%${sealHandover.receiverName}%'
+            </if>
+            <if test="sealHandover.sealType!=null">
+                AND c.seal_type in
+                <foreach item="sealType" collection="sealHandover.sealTypes" separator="," open="(" close=")" index="">
+                    #{sealType}
+                </foreach>
+            </if>
+            <if test="sealHandover.orgNos!=null">
+                AND c.org_no in
+                <foreach item="orgNo" collection="sealHandover.orgNos" separator="," open="(" close=")" index="">
+                    #{orgNo}
+                </foreach>
+            </if>
+            <if test="sealHandover.handoverDate_begin!=null and sealHandover.handoverDate_end!=null">
+                and c.handover_date BETWEEN '${sealHandover.handoverDate_begin}' and '${sealHandover.handoverDate_end}'
+            </if>
+            <if test="sealHandover.receiverName!=null and sealHandover.receiverName!=null">
+                AND c.receiver_name like '%${sealHandover.receiverName}%'
+            </if>
+        </if>
+        ORDER BY c.handover_date DESC
+    </select>
+
+    <select id="selectMySealHandoverPage" resultMap="sealHandoverResultMap">
         select * from zh_input_seal_handover where is_deleted = 0
         <if test="sealHandover!=null">
+
+            <if test="sealHandover.process!=null">
+                AND process = '${sealHandover.process}'
+            </if>
+            <if test="sealHandover.receiverId!=null">
+                AND receiver_id = '${sealHandover.receiverId}'
+            </if>
+
+
             <if test="sealHandover.createUser!=null">
                 AND create_user like '%${sealHandover.createUser}%'
             </if>
@@ -59,7 +134,6 @@
                     #{orgNo}
                 </foreach>
             </if>
-
             <if test="sealHandover.handoverDate_begin!=null and sealHandover.handoverDate_end!=null">
                 and handover_date BETWEEN '${sealHandover.handoverDate_begin}' and '${sealHandover.handoverDate_end}'
             </if>
@@ -70,4 +144,6 @@
         ORDER BY handover_date DESC
     </select>
 
+
+
 </mapper>

+ 5 - 2
src/main/java/org/springblade/bank/sealhandover/service/impl/SealHandoverServiceImpl.java

@@ -17,12 +17,15 @@
 package org.springblade.bank.sealhandover.service.impl;
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import lombok.AllArgsConstructor;
 import org.springblade.bank.sealhandover.entity.SealHandover;
 import org.springblade.bank.sealhandover.vo.SealHandoverVO;
 import org.springblade.bank.sealhandover.mapper.SealHandoverMapper;
 import org.springblade.bank.sealhandover.service.ISealHandoverService;
 import org.springblade.core.mp.base.BaseServiceImpl;
 import org.springblade.core.secure.utils.AuthUtil;
+import org.springblade.modules.system.entity.User;
+import org.springblade.modules.system.service.IUserService;
 import org.springframework.stereotype.Service;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 
@@ -39,7 +42,7 @@ public class SealHandoverServiceImpl extends BaseServiceImpl<SealHandoverMapper,
 
 	@Override
 	public IPage<SealHandoverVO> selectSealHandoverPage(IPage<SealHandoverVO> page, SealHandoverVO sealHandover) {
-		return page.setRecords(baseMapper.selectSealHandoverPage(page, sealHandover));
+		return page.setRecords(baseMapper.selectMySealHandoverPage(page, sealHandover));
 	}
 
 	@Override
@@ -55,7 +58,7 @@ public class SealHandoverServiceImpl extends BaseServiceImpl<SealHandoverMapper,
 
 	@Override
 	public List<SealHandover> getTurnInList() {
-		return this.list(new QueryWrapper<>(new SealHandover()).lambda().eq(SealHandover::getIsTurnIn, 1));
+		return this.list(new QueryWrapper<>(new SealHandover()).lambda().eq(SealHandover::getIsTurnIn, 1).eq(SealHandover::getProcess, 3));
 	}
 
 }

+ 3 - 0
src/main/java/org/springblade/bank/sealhandover/vo/SealHandoverVO.java

@@ -41,4 +41,7 @@ public class SealHandoverVO extends SealHandover {
 
 	private String handoverDate_begin;
 	private String handoverDate_end;
+
+	private Long currentuserId;
+	private List<Long> deptIdList;
 }

+ 2 - 2
src/main/java/org/springblade/modules/desk/service/INoticeService.java

@@ -52,7 +52,7 @@ public interface INoticeService extends BaseService<Notice> {
 
 	boolean sendNotice(Notice notice);
 
-	boolean sendKeyPwdNotice(KeyPwd keyPwd, boolean isEdit);
+	boolean sendKeyPwdNotice(KeyPwd keyPwd, boolean isEdit, boolean isComplete);
 
 	boolean sendCardSwallowNotice(CardSwallow cardSwallow, boolean isEdit);
 
@@ -60,7 +60,7 @@ public interface INoticeService extends BaseService<Notice> {
 
 	boolean sendMessageNotice(Message message, boolean isEdit);
 
-	boolean sendSealNotice(SealHandover sealHandover, boolean isEdit);
+	boolean sendSealNotice(SealHandover sealHandover, boolean isEdit, boolean isComplete);
 
 	boolean sendPostChangeNotice(PostChange postChange, boolean isEdit);
 

+ 28 - 6
src/main/java/org/springblade/modules/desk/service/impl/NoticeServiceImpl.java

@@ -107,7 +107,7 @@ public class NoticeServiceImpl extends BaseServiceImpl<NoticeMapper, Notice> imp
 	}
 
 	@Override
-	public boolean sendKeyPwdNotice(KeyPwd keyPwd, boolean isEdit) {
+	public boolean sendKeyPwdNotice(KeyPwd keyPwd, boolean isEdit, boolean isComplete) {
 		//有關XXX(分類+種類+鎖匙/密碼)的交接登記已於X年X月X日完成;交出人﹕XXX;接收人﹕XXX
 		String categoryName = getCategoryName(keyPwd);
 		String now = DateUtil.formatDate(DateUtil.now());
@@ -115,7 +115,14 @@ public class NoticeServiceImpl extends BaseServiceImpl<NoticeMapper, Notice> imp
 		if (isEdit){
 			title = "更正:";
 		}
-		title += "有關[" + categoryName + "]的交接登記已於" + now + "完成;交出人:" + keyPwd.getHandoverPersonName() + ";接收人:" + keyPwd.getReceiverName();
+		String HandoverName = keyPwd.getHandoverPersonName() != null ? keyPwd.getHandoverPersonName() : "上級單位";
+		String ReceiverName = keyPwd.getReceiverName() != null ? keyPwd.getReceiverName() : "上級單位";
+
+		if (isComplete){
+			title += "有關(" + categoryName + ")的交接登記已於" + now + "完成;交出人:" + HandoverName + ";接收人:" + ReceiverName;
+		}else{
+			title += HandoverName + "提交了" + "有關 (" + categoryName + ") 的交接登記" + ",請登入系統進行確認";
+		}
 		User user1 = userService.getUserByEhr(keyPwd.getHandoverPersonNo());
 		User user2 = userService.getUserByEhr(keyPwd.getReceiverNo());
 
@@ -185,7 +192,7 @@ public class NoticeServiceImpl extends BaseServiceImpl<NoticeMapper, Notice> imp
 	}
 
 	@Override
-	public boolean sendSealNotice(SealHandover sealHandover, boolean isEdit) {
+	public boolean sendSealNotice(SealHandover sealHandover, boolean isEdit, boolean isComplete) {
 		//有關XXX(印章種類+印章編號)的交接登記已於X年X月X日完成;交出人﹕XXX;接收人﹕XXX
 		String seal_type = dictService.getValue("seal_type", sealHandover.getSealType());
 		String now = DateUtil.formatDate(DateUtil.now());
@@ -203,7 +210,11 @@ public class NoticeServiceImpl extends BaseServiceImpl<NoticeMapper, Notice> imp
 		if (isEdit){
 			title = "更正:";
 		}
-		title += "有關 (" + seal_type + sealHandover.getSealNo() + ") 的交接登記已於" + now + "完成;交出人:" + sealHandover.getHandoverPersonName() + ";接收人:" + sealHandover.getReceiverName();
+		if (isComplete){
+			title += "有關 (" + seal_type + sealHandover.getSealNo() + ") 的交接登記已於" + now + "完成;交出人:" + sealHandover.getHandoverPersonName() + ";接收人:" + sealHandover.getReceiverName();
+		}else{
+			title += sealHandover.getHandoverPersonName() + "提交了" + "有關 (" + seal_type + sealHandover.getSealNo() + ") 的交接登記" + ",請登入系統進行確認";
+		}
 		Notice notice = new Notice();
 		notice.setTitle(title);
 		notice.setBusinessType("sealhandover");
@@ -283,11 +294,22 @@ public class NoticeServiceImpl extends BaseServiceImpl<NoticeMapper, Notice> imp
 	}
 
 	private String getCategoryName(KeyPwd keyPwd){
-		String category = keyPwd.getCategory();
+		List<String> categoryStrList = new ArrayList<>();
+		String[] categorys = keyPwd.getCategory().split(",");
+		for (int i = 0; i < categorys.length; i++) {
+			String category = categorys[i];
+			String value = dictService.getValue("key_type", category);
+			String[] split = category.split("_");
+			String key_type = dictService.getValue("key_type", split[0] + "_" + split[1] + "_" + split[2]);
+			categoryStrList.add(key_type + "-" + value);
+		}
+		return StringUtil.join(categoryStrList, " | ");
+
+		/*String category = keyPwd.getCategory();
 		String value = dictService.getValue("key_type", category);
 		String[] split = category.split("_");
 		String key_type = dictService.getValue("key_type", split[0] + "_" + split[1] + "_" + split[2]);
-		return key_type + "-" + value;
+		return key_type + "-" + value;*/
 	}
 
 

+ 1 - 1
src/main/java/org/springblade/modules/system/service/IUserService.java

@@ -208,7 +208,7 @@ public interface IUserService extends BaseService<User> {
 	 */
 	UserVO platformDetail(User user);
 
-	IPage<User> selectMyUserPage(IPage<User> page, User user, Long deptId, String tenantId);
+	IPage<User> selectMyUserPage(IPage<User> page, User user, Long deptId, String hasOrgNo, String tenantId);
 
     List<User> selectUserPage(User user, Long deptId, String s);
 

+ 7 - 1
src/main/java/org/springblade/modules/system/service/impl/UserServiceImpl.java

@@ -567,7 +567,7 @@ public class UserServiceImpl extends BaseServiceImpl<UserMapper, User> implement
 	}
 
 	@Override
-	public IPage<User> selectMyUserPage(IPage<User> page, User user, Long deptId, String tenantId) {
+	public IPage<User> selectMyUserPage(IPage<User> page, User user, Long deptId, String hasOrgNo, String tenantId) {
 
 		List<Long> deptIdList = new ArrayList<>();
 		if ("administrator".equals(AuthUtil.getUserRole())){
@@ -575,6 +575,12 @@ public class UserServiceImpl extends BaseServiceImpl<UserMapper, User> implement
 		}else{
 			deptIdList.add(deptId);
 		}
+
+		if (hasOrgNo != null){
+			Dept byOrgNo = deptService.getByOrgNo(hasOrgNo);
+			deptIdList.add(byOrgNo.getId());
+		}
+
 		Dept dept = deptService.getById(deptId);
 		Dept parentDept = deptService.getById(dept.getParentId());
 		if (parentDept.getOrgNo().startsWith("999")){

+ 3 - 3
src/main/java/org/springblade/modules/systemexpand/controller/ExpandController.java

@@ -134,11 +134,11 @@ public class ExpandController extends BladeController {
 	})
 	@ApiOperationSupport(order = 3)
 	@ApiOperation(value = "列表", notes = "传入account和realName")
-	public R<IPage<UserVO>> page(@ApiIgnore User user, Query query, Long deptId, BladeUser bladeUser) {
-		deptId = Long.valueOf(bladeUser.getDeptId());
+	public R<IPage<UserVO>> page(@ApiIgnore User user, Query query, String hasOrgNo, BladeUser bladeUser) {
+//		deptId = Long.valueOf(bladeUser.getDeptId());
 //		IPage<User> pages = userService.selectUserPage(Condition.getPage(query), user, deptId, (bladeUser.getTenantId().equals(BladeConstant.ADMIN_TENANT_ID) ? StringPool.EMPTY : bladeUser.getTenantId()));
 
-		IPage<User> pages = userService.selectMyUserPage(Condition.getPage(query), user, deptId, (bladeUser.getTenantId().equals(BladeConstant.ADMIN_TENANT_ID) ? StringPool.EMPTY : bladeUser.getTenantId()));
+		IPage<User> pages = userService.selectMyUserPage(Condition.getPage(query), user, Long.valueOf(bladeUser.getDeptId()), hasOrgNo, (bladeUser.getTenantId().equals(BladeConstant.ADMIN_TENANT_ID) ? StringPool.EMPTY : bladeUser.getTenantId()));
 		return R.data(UserWrapper.build().pageVO(pages));
 	}