yuansh 2 éve
szülő
commit
10c74c4464

+ 10 - 0
jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/oa/controller/SyCarryController.java

@@ -1,5 +1,6 @@
 package org.jeecg.modules.oa.controller;
 
+import java.io.Serializable;
 import java.io.UnsupportedEncodingException;
 import java.io.IOException;
 import java.net.URLDecoder;
@@ -121,6 +122,15 @@ public class SyCarryController {
 	 */
 	@DeleteMapping(value = "/deleteBatch")
 	public Result<?> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
+		String[] idL = ids.split(",");
+		for(Serializable id:idL) {
+			SyCarry syCarry = syCarryService.getById(id);
+			String syState = syCarry.getState();//0草稿,1仓库已提交(计划签字),2人事行政,3财务经理 ,4已完成
+			if(!syState.equals("0")){
+				return Result.error("所选数据含有非草稿状态的数据,无法删除!");
+			}
+
+		}
 		this.syCarryService.delBatchMain(Arrays.asList(ids.split(",")));
 		return Result.ok("批量删除成功!");
 	}

+ 44 - 9
jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/oa/service/impl/SyCarryServiceImpl.java

@@ -111,6 +111,7 @@ public class SyCarryServiceImpl extends ServiceImpl<SyCarryMapper, SyCarry> impl
 		}
 	}
 
+
 	/**
 	 *
 	 * @param idList
@@ -126,10 +127,44 @@ public class SyCarryServiceImpl extends ServiceImpl<SyCarryMapper, SyCarry> impl
 			SyCarry syCarry = syCarryMapper.selectById(id);
 			String syState = syCarry.getState();//0草稿,1仓库已提交(计划签字),2人事行政,3财务经理 ,4已完成
 
+			//计划员取消提交
+			if(state.equals("-1")){
+
+				if(!syState.equals("1") && !syState.equals("2")){
+					sb.append("单据"+syCarry.getName()+"已签字,无法取消提交");
+					continue;
+				}
+
+				boolean isF = false;
+				List<SyCarryB> syCarryB1 = syCarryBMapper.selectByMainId(syCarry.getId());
+				for(SyCarryB o:syCarryB1){
+					String code = o.getJhyBy();
+					if(StringUtils.isNotBlank(code) && !code.equals("T0114")){
+						sb.append("单据"+syCarry.getName()+"已签字,无法取消提交");
+						isF = true;
+						break;
+					}
+
+				}
+				if(isF){
+					continue;
+				}
+				syCarry.setState("0");//0草稿,1仓库已提交(计划签字),2人事行政,3财务经理 ,4已完成
+				for(SyCarryB o:syCarryB1){
+					o.setJhyBy(null);
+					o.setJhyName(null);
+					o.setJhyTime(null);
+					syCarryBMapper.updateById(o);
+				}
+				syCarryMapper.updateById(syCarry);
+				sb.append("单据"+syCarry.getName()+"取消提交成功");
+				continue;
+			}
+
 			//计划员提交
 			if(state.equals("1")){
 				if(!syState.equals("0")){
-					sb.append("单据"+syCarry.getCode()+"无法此操作,请查看");
+					sb.append("单据"+syCarry.getName()+"无法此操作,请查看");
 					continue;
 				}
 				syCarry.setState("1");//0草稿,1仓库已提交(计划签字),2人事行政,3财务经理 ,4已完成
@@ -140,7 +175,7 @@ public class SyCarryServiceImpl extends ServiceImpl<SyCarryMapper, SyCarry> impl
 				List<SyCarryB> syCarryB2 = syCarryBMapper.selectByMainId(syCarry.getId());
 				for(SyCarryB o:syCarryB2){
 					if(StringUtils.isBlank(o.getJhyByData())){
-						sb.append("单据"+syCarry.getCode()+"计划员为空,请查看");
+						sb.append("单据"+syCarry.getName()+"计划员为空,请查看");
 						break;
 					}
 					if(o.getJhyByData().contains("T0114")){//计划员为王行乔的,默认带出签名
@@ -166,7 +201,7 @@ public class SyCarryServiceImpl extends ServiceImpl<SyCarryMapper, SyCarry> impl
 				}
 
 				syCarryMapper.updateById(syCarry);
-				sb.append("单据"+syCarry.getCode()+"提交成功");
+				sb.append("单据"+syCarry.getName()+"提交成功");
 				continue;
 			}
 
@@ -184,12 +219,12 @@ public class SyCarryServiceImpl extends ServiceImpl<SyCarryMapper, SyCarry> impl
 				}
 
 				if(!type){
-					sb.append("单据"+syCarry.getCode()+"仅人事行政可进行操作");
+					sb.append("单据"+syCarry.getName()+"仅人事行政可进行操作");
 					continue;
 				}
 				//0草稿,1仓库已提交(计划签字),2人事行政,3财务经理 ,4已完成
 				if(!syState.equals("2")){
-					sb.append("单据"+syCarry.getCode()+"无法此操作,请查看");
+					sb.append("单据"+syCarry.getName()+"无法此操作,请查看");
 					continue;
 				}
 				syCarry.setState("3");//0草稿,1仓库已提交(计划签字),2人事行政,3财务经理 ,4已完成
@@ -197,7 +232,7 @@ public class SyCarryServiceImpl extends ServiceImpl<SyCarryMapper, SyCarry> impl
 				syCarry.setRsxzName(loginUser.getRealname());//人事行政提交人
 				syCarry.setRsxzTime(new Date());//人事行政提交人提交时间
 				syCarryMapper.updateById(syCarry);
-				sb.append("单据"+syCarry.getCode()+"审批成功");
+				sb.append("单据"+syCarry.getName()+"审批成功");
 				continue;
 			}
 
@@ -213,12 +248,12 @@ public class SyCarryServiceImpl extends ServiceImpl<SyCarryMapper, SyCarry> impl
 				}
 
 				if(!type){
-					sb.append("单据"+syCarry.getCode()+"仅财务经理可进行操作");
+					sb.append("单据"+syCarry.getName()+"仅财务经理可进行操作");
 					continue;
 				}
 
 				if(!syState.equals("3")){
-					sb.append("单据"+syCarry.getCode()+"无法此操作,请查看");
+					sb.append("单据"+syCarry.getName()+"无法此操作,请查看");
 					continue;
 				}
 				syCarry.setState("4");//0草稿,1仓库已提交(计划签字),2人事行政,3财务经理 ,4已完成
@@ -226,7 +261,7 @@ public class SyCarryServiceImpl extends ServiceImpl<SyCarryMapper, SyCarry> impl
 				syCarry.setCwjlName(loginUser.getRealname());//财务经理提交人
 				syCarry.setCwjlTime(new Date());//财务经理提交人提交时间
 				syCarryMapper.updateById(syCarry);
-				sb.append("单据"+syCarry.getCode()+"审批成功");
+				sb.append("单据"+syCarry.getName()+"审批成功");
 				continue;
 			}