yusm 2 mesi fa
parent
commit
307a967c12

+ 18 - 2
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/ExpenseSheetServiceImpl.java

@@ -120,6 +120,10 @@ public class ExpenseSheetServiceImpl extends ServiceImpl<ExpenseSheetMapper, Exp
         if (sheet.getId() == null) {
             //柘中公司
             if (user.getCompanyId()==Constant.ZHE_ZHONG_COMPANY_ID&&expenseMainType!=null&&sheet.getType().equals(expenseMainType.getId())){
+                if (sheet.getOwnerId().equals(userId)){
+                    msg.setError("机械费用不能自己给自己下发");
+                    return msg;
+                }
                 sheet.setStatus(4);//未填写
                 sheet.setReviewProcess(3);//未提交
             }else {
@@ -150,8 +154,20 @@ public class ExpenseSheetServiceImpl extends ServiceImpl<ExpenseSheetMapper, Exp
             }
         }
         else {
+            if (sheet.getStatus()!=2&&sheet.getStatus()!=3&&sheet.getStatus()!=4) {
+                msg.setError("报销单已提交,不能修改");
+                return msg;
+            }
             if(user.getCompanyId()==Constant.ZHE_ZHONG_COMPANY_ID&&user.getId().equals(sheet.getOwnerId())&&expenseMainType!=null&&sheet.getType().equals(expenseMainType.getId())){
+                if (org.apache.commons.lang3.StringUtils.isEmpty(sheet.getFirstCheckerId())||org.apache.commons.lang3.StringUtils.isEmpty(sheet.getSecondCheckerId())){
+                    msg.setError("请选择第一审核人,第二审核人");
+                    return msg;
+                }
                 //柘中公司
+                if (sheet.getTotalAmount()==null){
+                    msg.setError("费用金额不能为空");
+                    return msg;
+                }
                 if (sheet.getTotalAmount() > 0) {
                     sheet.setStatus(1);//待审核
                     sheet.setReviewProcess(0);//待第一审核人审核
@@ -547,7 +563,7 @@ public class ExpenseSheetServiceImpl extends ServiceImpl<ExpenseSheetMapper, Exp
                         queryWrapper);
                 List<ExpenseSheet> records = listIPager.getRecords();
                 List<Integer> expenseSheetIds = records.stream().map(ExpenseSheet::getId).collect(Collectors.toList());
-                List<ExpenseItem> expenseItemList = expenseItemMapper.selectList(new QueryWrapper<ExpenseItem>().in("expense_id",expenseSheetIds));
+                List<ExpenseItem> expenseItemList = expenseItemMapper.selectList(new QueryWrapper<ExpenseItem>().in(!expenseSheetIds.isEmpty(),"expense_id",expenseSheetIds));
                 List<ExpenseMainType> expenseMainTypes = expenseMainTypeService.list(new QueryWrapper<ExpenseMainType>().eq("company_id", sheet.getCompanyId()).or().eq("is_system",1));
                 records.forEach(re->{
                     Optional<ExpenseMainType> first = expenseMainTypes.stream().filter(et -> et.getId().equals(re.getType())).findFirst();
@@ -589,7 +605,7 @@ public class ExpenseSheetServiceImpl extends ServiceImpl<ExpenseSheetMapper, Exp
                     queryWrapper);
             List<ExpenseSheet> records = listIPager.getRecords();
             List<Integer> expenseSheetIds = records.stream().map(ExpenseSheet::getId).collect(Collectors.toList());
-            List<ExpenseItem> expenseItemList = expenseItemMapper.selectList(new QueryWrapper<ExpenseItem>().in("expense_id",expenseSheetIds));
+            List<ExpenseItem> expenseItemList = expenseItemMapper.selectList(new QueryWrapper<ExpenseItem>().in(!expenseSheetIds.isEmpty(),"expense_id",expenseSheetIds));
             List<ExpenseMainType> expenseMainTypes = expenseMainTypeService.list(new QueryWrapper<ExpenseMainType>().eq("company_id", sheet.getCompanyId()).or().eq("is_system",1));
             records.forEach(re->{
                 Optional<ExpenseMainType> first = expenseMainTypes.stream().filter(et -> et.getId().equals(re.getType())).findFirst();