fangq 4 anos atrás
pai
commit
f10c13e32c

+ 6 - 1
src/main/java/org/springblade/bank/cardswallow/controller/CardSwallowController.java

@@ -118,7 +118,12 @@ public class CardSwallowController extends BladeController {
 
 		Long deptId = Long.valueOf(AuthUtil.getDeptId());
 		List<Long> deptChildIds = deptService.getDeptChildIds(deptId);
-		deptChildIds.add(deptId);
+//		deptChildIds.add(deptId);
+		Dept dept = deptService.getById(deptId);
+		Dept parentDept = deptService.getById(dept.getParentId());
+		if (parentDept.getOrgNo().startsWith("999")){
+			deptChildIds.add(parentDept.getId());
+		}
 		cardSwallow.setDeptIdList(deptChildIds);
 
 		if (StringUtils.isNotBlank(cardSwallow.getOrgNostr())){

+ 37 - 17
src/main/java/org/springblade/bank/keypwd/controller/KeyPwdController.java

@@ -109,7 +109,12 @@ public class KeyPwdController extends BladeController {
 	public R<IPage<KeyPwdVO>> page(KeyPwdVO keyPwd, Query query) {
 		Long deptId = Long.valueOf(AuthUtil.getDeptId());
 		List<Long> deptChildIds = deptService.getDeptChildIds(deptId);
-		deptChildIds.add(deptId);
+//		deptChildIds.add(deptId);
+		Dept dept = deptService.getById(deptId);
+		Dept parentDept = deptService.getById(dept.getParentId());
+		if (parentDept.getOrgNo().startsWith("999")){
+			deptChildIds.add(parentDept.getId());
+		}
 		keyPwd.setDeptIdList(deptChildIds);
 		keyPwd.setCurrentuserId(AuthUtil.getUserId());
 
@@ -135,7 +140,12 @@ public class KeyPwdController extends BladeController {
 	public R<List<KeyPwd>> getKeepList(KeyPwdVO keyPwd) {
 		Long deptId = Long.valueOf(AuthUtil.getDeptId());
 		List<Long> deptChildIds = deptService.getDeptChildIds(deptId);
-		deptChildIds.add(deptId);
+//		deptChildIds.add(deptId);
+		Dept dept = deptService.getById(deptId);
+		Dept parentDept = deptService.getById(dept.getParentId());
+		if (parentDept.getOrgNo().startsWith("999")){
+			deptChildIds.add(parentDept.getId());
+		}
 		keyPwd.setDeptIdList(deptChildIds);
 		keyPwd.setCurrentuserId(AuthUtil.getUserId());
 
@@ -148,10 +158,8 @@ public class KeyPwdController extends BladeController {
 			keyPwd.setOrgNos(orgNos);
 		}
 
-		keyPwd.setIsTurnIn(0); //未上缴的
-		keyPwd.setProcess(3);
-		List<KeyPwd> list = keyPwdService.getList(keyPwd);
-		HashSet<Map> set = new HashSet<>();
+		List<KeyPwd> list = keyPwdService.getKeepList(keyPwd);
+		/*HashSet<Map> set = new HashSet<>();
 		for (int i = 0; i < list.size(); i++) {
 			KeyPwd item = list.get(i);
 			String[] split = item.getCategory().split(",");
@@ -171,7 +179,7 @@ public class KeyPwdController extends BladeController {
 				list.remove(i);
 				i--;
 			}
-		}
+		}*/
 
 		return R.data(list);
 	}
@@ -188,15 +196,25 @@ public class KeyPwdController extends BladeController {
 		if (keyPwdService.updateById(keyPwd)){
 
 			String[] split = keyPwd.getCategory().split(",");
-			//分解保存,status=2做标识,pid为分解记录的原id
-			if (split.length > 1){
+			//如有多选则分解保存,status=2做持有人标识,pid为记录的原id
+			if (split.length > 0){
 				for (int i = 0; i < split.length; i++) {
-					@Valid KeyPwd clone = BeanUtil.clone(keyPwd);
-					clone.setId(null);
-					clone.setPid(keyPwd.getId());
-					clone.setCategory(split[i]);
-					clone.setStatus(2);
-					keyPwdService.save(clone);
+					String category = split[i];
+
+					KeyPwd keep = keyPwdService.getKeepOneByOrgNoCategory(keyPwd.getBankNo(), keyPwd.getOrgNo(), category);
+					if (keep == null){
+						keep = BeanUtil.clone(keyPwd);
+						keep.setId(null);
+						keep.setStatus(2);
+						keep.setCategory(category);
+					}else{
+						keep.setPid(keyPwd.getId());
+						keep.setReceiverId(keyPwd.getReceiverId());
+						keep.setReceiverNo(keyPwd.getReceiverNo());
+						keep.setReceiverName(keyPwd.getReceiverName());
+					}
+
+					keyPwdService.saveOrUpdate(keep);
 				}
 			}
 
@@ -348,8 +366,10 @@ public class KeyPwdController extends BladeController {
 	@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(","));
+		KeyPwdVO keyPwd = new KeyPwdVO();
+		keyPwd.setReceiverId(AuthUtil.getUserId());
+		List<KeyPwd> keepList = keyPwdService.getKeepList(keyPwd);
+		String categorys = keepList.stream().map(item -> item.getCategory()).collect(Collectors.joining(","));
 		return R.data(categorys);
 	}
 

+ 3 - 0
src/main/java/org/springblade/bank/keypwd/mapper/KeyPwdMapper.xml

@@ -61,6 +61,9 @@
             <if test="keyPwd.createUser!=null">
                 AND c.create_user like '%${keyPwd.createUser}%'
             </if>
+            <if test="keyPwd.receiverId!=null">
+                AND c.receiver_id = '${keyPwd.receiverId}%'
+            </if>
             <if test="keyPwd.receiverName!=null">
                 AND c.receiver_name like '%${keyPwd.receiverName}%'
             </if>

+ 5 - 1
src/main/java/org/springblade/bank/keypwd/service/IKeyPwdService.java

@@ -44,5 +44,9 @@ public interface IKeyPwdService extends BaseService<KeyPwd> {
 
     List<KeyPwd> getMyInitialted();
 
-    List<KeyPwd> getList(KeyPwdVO keyPwd);
+    List<KeyPwd> getKeepList(KeyPwdVO keyPwd);
+
+    KeyPwd getKeepOneByOrgNoCategory(String bankNo, String orgNo, String category);
+
+	List<KeyPwd> getList(KeyPwdVO keyPwd);
 }

+ 16 - 0
src/main/java/org/springblade/bank/keypwd/service/impl/KeyPwdServiceImpl.java

@@ -16,6 +16,7 @@
  */
 package org.springblade.bank.keypwd.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import org.springblade.bank.keypwd.entity.KeyPwd;
 import org.springblade.bank.keypwd.vo.KeyPwdVO;
@@ -51,6 +52,21 @@ public class KeyPwdServiceImpl extends BaseServiceImpl<KeyPwdMapper, KeyPwd> imp
 		return list;
 	}
 
+	@Override
+	public List<KeyPwd> getKeepList(KeyPwdVO keyPwd) {
+		keyPwd.setStatus(2);
+		keyPwd.setProcess(3);
+		keyPwd.setIsTurnIn(0); //未上缴的
+		return baseMapper.selectKeyPwdPage(keyPwd);
+	}
+
+	@Override
+	public KeyPwd getKeepOneByOrgNoCategory(String bankNo, String orgNo, String category) {
+		LambdaQueryWrapper<KeyPwd> eq = new QueryWrapper<>(new KeyPwd()).lambda().eq(KeyPwd::getBankNo, bankNo).eq(KeyPwd::getOrgNo, orgNo)
+			.eq(KeyPwd::getCategory, category).eq(KeyPwd::getStatus, 2).eq(KeyPwd::getProcess,3);
+		return baseMapper.selectOne(eq);
+	}
+
 	@Override
 	public List<KeyPwd> getList(KeyPwdVO keyPwd) {
 		return baseMapper.selectKeyPwdPage(keyPwd);

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

@@ -116,7 +116,12 @@ public class ReturnsController extends BladeController {
 	public R<IPage<ReturnsVO>> page(ReturnsVO returns, Query query) {
 		Long deptId = Long.valueOf(AuthUtil.getDeptId());
 		List<Long> deptChildIds = deptService.getDeptChildIds(deptId);
-		deptChildIds.add(deptId);
+//		deptChildIds.add(deptId);
+		Dept dept = deptService.getById(deptId);
+		Dept parentDept = deptService.getById(dept.getParentId());
+		if (parentDept.getOrgNo().startsWith("999")){
+			deptChildIds.add(parentDept.getId());
+		}
 		returns.setDeptIdList(deptChildIds);
 		returns.setCurrentuserId(AuthUtil.getUser().getUserId());
 

+ 72 - 9
src/main/java/org/springblade/bank/sealhandover/controller/SealHandoverController.java

@@ -26,6 +26,8 @@ import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiParam;
 import lombok.AllArgsConstructor;
 import org.apache.commons.lang.StringUtils;
+import org.springblade.bank.keypwd.entity.KeyPwd;
+import org.springblade.bank.keypwd.vo.KeyPwdVO;
 import org.springblade.bank.sealhandover.entity.SealHandover;
 import org.springblade.bank.sealhandover.service.ISealHandoverService;
 import org.springblade.bank.sealhandover.vo.SealHandoverVO;
@@ -38,6 +40,7 @@ import org.springblade.core.mp.support.Query;
 import org.springblade.core.secure.BladeUser;
 import org.springblade.core.secure.utils.AuthUtil;
 import org.springblade.core.tool.api.R;
+import org.springblade.core.tool.utils.BeanUtil;
 import org.springblade.core.tool.utils.DateUtil;
 import org.springblade.core.tool.utils.Func;
 import org.springblade.modules.desk.service.INoticeService;
@@ -52,6 +55,7 @@ import org.springframework.web.bind.annotation.*;
 
 import javax.validation.Valid;
 import java.util.*;
+import java.util.stream.Collectors;
 
 /**
  * 業務印章交接登記表 控制器
@@ -105,7 +109,13 @@ public class SealHandoverController extends BladeController {
 
 		Long deptId = Long.valueOf(AuthUtil.getDeptId());
 		List<Long> deptChildIds = deptService.getDeptChildIds(deptId);
-		deptChildIds.add(deptId);
+//		deptChildIds.add(deptId);
+		Dept dept = deptService.getById(deptId);
+		Dept parentDept = deptService.getById(dept.getParentId());
+		if (parentDept.getOrgNo().startsWith("999")){
+			deptChildIds.add(parentDept.getId());
+		}
+
 		sealHandover.setDeptIdList(deptChildIds);
 		sealHandover.setCurrentuserId(AuthUtil.getUserId());
 
@@ -132,7 +142,12 @@ public class SealHandoverController extends BladeController {
 
 		Long deptId = Long.valueOf(AuthUtil.getDeptId());
 		List<Long> deptChildIds = deptService.getDeptChildIds(deptId);
-		deptChildIds.add(deptId);
+//		deptChildIds.add(deptId);
+		Dept dept = deptService.getById(deptId);
+		Dept parentDept = deptService.getById(dept.getParentId());
+		if (parentDept.getOrgNo().startsWith("999")){
+			deptChildIds.add(parentDept.getId());
+		}
 		sealHandover.setDeptIdList(deptChildIds);
 		sealHandover.setCurrentuserId(AuthUtil.getUserId());
 
@@ -145,10 +160,8 @@ public class SealHandoverController extends BladeController {
 			sealHandover.setOrgNos(orgNos);
 		}
 
-		sealHandover.setProcess(3);
-		sealHandover.setIsTurnIn(0);
-		List<SealHandoverVO> list = sealHandoverService.getList(sealHandover);
-		List<SealHandover> turnInList = sealHandoverService.getTurnInList();
+		List<SealHandoverVO> list = sealHandoverService.getKeepList(sealHandover);
+		/*List<SealHandover> turnInList = sealHandoverService.getTurnInList();
 
 		HashSet<Map> set = new HashSet<>();
 		for (int i = 0; i < list.size(); i++) {
@@ -176,12 +189,12 @@ public class SealHandoverController extends BladeController {
 					i--;
 				}
 			}
-		}
+		}*/
 		return R.data(list);
 	}
 
 	/**
-	 *
+	 * 下载记录用
 	 * @param sealHandover
 	 * @return
 	 */
@@ -212,6 +225,31 @@ public class SealHandoverController extends BladeController {
 		return R.data(list);
 	}
 
+	/**
+	 * 获取当前用户所持有的分类,逗号拼接返回
+	 * @return
+	 */
+	@GetMapping("/getCurrentUserKeepList")
+	@ApiOperationSupport(order = 8)
+	@ApiOperation(value = "获取当前用户所持有的分类", notes = "")
+	public R getCurrentUserKeepList(){
+		SealHandoverVO keyPwd = new SealHandoverVO();
+		keyPwd.setReceiverId(AuthUtil.getUserId());
+		List<SealHandoverVO> keepList = sealHandoverService.getKeepList(keyPwd);
+		List<SealHandoverVO> list = new ArrayList<>();
+		for (int i = 0; i < keepList.size(); i++) {
+			SealHandover item = keepList.get(i);
+			SealHandoverVO vo = new SealHandoverVO();
+			BeanUtil.copy(item, vo);
+			String sealTypeName = dictService.getValue("seal_type", vo.getSealType());
+			vo.setDictValue(sealTypeName + "-" + vo.getSealNo());
+			vo.setDictKey(vo.getSealType() + "-" + vo.getSealNo());
+			list.add(vo);
+		}
+		return R.data(list);
+	}
+
+
 	/**
 	 * 確認 業務印章交接登記表
 	 */
@@ -222,9 +260,22 @@ public class SealHandoverController extends BladeController {
 		sealHandover.setProcess(3);
 		sealHandover.setSureTime(DateUtil.now());
 		if (sealHandoverService.updateById(sealHandover)){
+			SealHandover keep = sealHandoverService.getKeyOneByOrgNoSealTypeNo(sealHandover.getBankNo(), sealHandover.getOrgNo(), sealHandover.getSealType(), sealHandover.getSealNo());
+			if (keep == null){
+				keep = BeanUtil.clone(sealHandover);
+				keep.setId(null);
+				keep.setStatus(2);
+			}else{
+				keep.setPid(sealHandover.getId());
+				keep.setReceiverId(sealHandover.getReceiverId());
+				keep.setReceiverNo(sealHandover.getReceiverNo());
+				keep.setReceiverName(sealHandover.getReceiverName());
+			}
+
+			sealHandoverService.saveOrUpdate(keep);
+
 			User user = userService.getById(AuthUtil.getUserId());
 			Dept dept = deptService.getById(user.getDeptId());
-
 			UserLog userLog = new UserLog();
 			userLog.setTableName("sealhandover");
 			userLog.setBankNo(dept.getBankNo());
@@ -273,10 +324,22 @@ public class SealHandoverController extends BladeController {
 			sealHandover.setProcess(2);
 			sealHandover.setFillingPerson(currentUser.getUserName());
 			sealHandover.setFillingDate(DateUtil.now());
+
+			//判断该机构下此印章是否有待确认记录
+			boolean hasTodo = sealHandoverService.checkTodoByOrgNoSealTypeNo(sealHandover);
+			Assert.isTrue(!hasTodo, "該類型印章正處於待確認狀態!");
+
 		}else{
 			old = sealHandoverService.getById(sealHandover.getId());
 		}
 		if (sealHandoverService.saveOrUpdate(sealHandover)){
+			User receiver = userService.getById(sealHandover.getReceiverId());
+			if (!sealHandover.getCreateDept().equals(Long.valueOf(receiver.getDeptId()))){
+				sealHandover.setCreateDept(Long.valueOf(receiver.getDeptId()));
+				sealHandoverService.updateById(sealHandover);
+			}
+
+
 			userLog.setTableName("sealhandover");
 			userLog.setBankNo(dept.getBankNo());
 			userLog.setOrgNo(dept.getOrgNo());

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

@@ -148,4 +148,6 @@ public class SealHandover extends BaseEntity {
 	@ApiModelProperty(value = "節點")
 	private Integer process;
 
+	private Long pid;
+
 }

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

@@ -31,6 +31,7 @@
         <result column="handover_person_id" property="handoverPersonId"/>
         <result column="process" property="process"/>
         <result column="sure_time" property="sureTime"/>
+        <result column="pid" property="pid"/>
     </resultMap>
 
 
@@ -52,6 +53,9 @@
 
 
         <if test="sealHandover!=null">
+            <if test="sealHandover.status!=null">
+                AND c.status = '${sealHandover.status}'
+            </if>
             <if test="sealHandover.createUser!=null">
                 AND c.create_user like '%${sealHandover.createUser}%'
             </if>

+ 7 - 1
src/main/java/org/springblade/bank/sealhandover/service/ISealHandoverService.java

@@ -42,7 +42,13 @@ public interface ISealHandoverService extends BaseService<SealHandover> {
 
     List<SealHandover> getMyInitialted();
 
-	List<SealHandoverVO> getList(SealHandoverVO sealHandover);
+	List<SealHandoverVO> getKeepList(SealHandoverVO sealHandover);
 
     List<SealHandover> getTurnInList();
+
+	SealHandover getKeyOneByOrgNoSealTypeNo(String bankNo, String orgNo, String sealType, String sealNo);
+
+	List<SealHandoverVO> getList(SealHandoverVO sealHandover);
+
+    boolean checkTodoByOrgNoSealTypeNo(SealHandover sealHandover);
 }

+ 26 - 1
src/main/java/org/springblade/bank/sealhandover/service/impl/SealHandoverServiceImpl.java

@@ -16,6 +16,7 @@
  */
 package org.springblade.bank.sealhandover.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import lombok.AllArgsConstructor;
 import org.springblade.bank.sealhandover.entity.SealHandover;
@@ -42,6 +43,7 @@ public class SealHandoverServiceImpl extends BaseServiceImpl<SealHandoverMapper,
 
 	@Override
 	public IPage<SealHandoverVO> selectSealHandoverPage(IPage<SealHandoverVO> page, SealHandoverVO sealHandover) {
+		sealHandover.setStatus(1);
 		return page.setRecords(baseMapper.selectSealHandoverPage(page, sealHandover));
 	}
 
@@ -52,7 +54,10 @@ public class SealHandoverServiceImpl extends BaseServiceImpl<SealHandoverMapper,
 	}
 
 	@Override
-	public List<SealHandoverVO> getList(SealHandoverVO sealHandover) {
+	public List<SealHandoverVO> getKeepList(SealHandoverVO sealHandover) {
+		sealHandover.setStatus(2);
+		sealHandover.setProcess(3);
+		sealHandover.setIsTurnIn(0);
 		return baseMapper.selectSealHandoverPage(sealHandover);
 	}
 
@@ -61,4 +66,24 @@ public class SealHandoverServiceImpl extends BaseServiceImpl<SealHandoverMapper,
 		return this.list(new QueryWrapper<>(new SealHandover()).lambda().eq(SealHandover::getIsTurnIn, 1).eq(SealHandover::getProcess, 3));
 	}
 
+	@Override
+	public SealHandover getKeyOneByOrgNoSealTypeNo(String bankNo, String orgNo, String sealType, String sealNo) {
+		LambdaQueryWrapper<SealHandover> eq = new QueryWrapper<>(new SealHandover()).lambda().eq(SealHandover::getBankNo, bankNo).eq(SealHandover::getOrgNo, orgNo)
+			.eq(SealHandover::getSealType, sealType).eq(SealHandover::getSealNo, sealNo).eq(SealHandover::getStatus, 2).eq(SealHandover::getProcess, 3);
+		return baseMapper.selectOne(eq);
+	}
+
+	@Override
+	public List<SealHandoverVO> getList(SealHandoverVO sealHandover) {
+		return baseMapper.selectSealHandoverPage(sealHandover);
+	}
+
+	@Override
+	public boolean checkTodoByOrgNoSealTypeNo(SealHandover sealHandover) {
+		LambdaQueryWrapper<SealHandover> eq = new QueryWrapper<>(new SealHandover()).lambda().eq(SealHandover::getBankNo, sealHandover.getBankNo())
+			.eq(SealHandover::getOrgNo, sealHandover.getOrgNo()).eq(SealHandover::getSealType, sealHandover.getSealType()).eq(SealHandover::getSealNo, sealHandover.getSealNo())
+			.eq(SealHandover::getProcess, 2).eq(SealHandover::getStatus, 1);
+		SealHandover one = baseMapper.selectOne(eq);
+		return one != null;
+	}
 }

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

@@ -44,4 +44,7 @@ public class SealHandoverVO extends SealHandover {
 
 	private Long currentuserId;
 	private List<Long> deptIdList;
+
+	private String dictValue;// 用于选择自己持有的印章类型+序号
+	private String dictKey;// 用于选择自己持有的印章类型+序号
 }