diff --git a/jshERP-boot/src/main/java/com/jsh/erp/constants/ExceptionConstants.java b/jshERP-boot/src/main/java/com/jsh/erp/constants/ExceptionConstants.java index 398c8c9f..579bcb76 100644 --- a/jshERP-boot/src/main/java/com/jsh/erp/constants/ExceptionConstants.java +++ b/jshERP-boot/src/main/java/com/jsh/erp/constants/ExceptionConstants.java @@ -509,6 +509,12 @@ public class ExceptionConstants { //财务信息录入-付款账户和明细中的账户重复 public static final int ACCOUNT_HEAD_ACCOUNT_REPEAT_CODE = 9500006; public static final String ACCOUNT_HEAD_ACCOUNT_REPEAT_MSG = "抱歉,付款账户:%s和明细中的账户重复"; + //财务信息审核-只有未审核的单据才能审核 + public static final int ACCOUNT_HEAD_UN_AUDIT_TO_AUDIT_FAILED_CODE = 9500007; + public static final String ACCOUNT_HEAD_UN_AUDIT_TO_AUDIT_FAILED_MSG = "抱歉,只有未审核的单据才能审核"; + //财务信息反审核-只有已审核的单据才能反审核 + public static final int ACCOUNT_HEAD_AUDIT_TO_UN_AUDIT_FAILED_CODE = 9500008; + public static final String ACCOUNT_HEAD_AUDIT_TO_UN_AUDIT_FAILED_MSG = "抱歉,只有已审核的单据才能反审核"; /** * 财务明细信息 * type = 100 diff --git a/jshERP-boot/src/main/java/com/jsh/erp/service/AccountHeadService.java b/jshERP-boot/src/main/java/com/jsh/erp/service/AccountHeadService.java index a94c7c5e..e183734a 100644 --- a/jshERP-boot/src/main/java/com/jsh/erp/service/AccountHeadService.java +++ b/jshERP-boot/src/main/java/com/jsh/erp/service/AccountHeadService.java @@ -159,7 +159,7 @@ public class AccountHeadService { User userInfo=userService.getCurrentUser(); accountHead.setCreator(userInfo==null?null:userInfo.getId()); result = accountHeadMapper.insertSelective(accountHead); - logService.insertLog("财务", + logService.insertLog("财务单据", new StringBuffer(BusinessConstants.LOG_OPERATION_TYPE_ADD).append(accountHead.getBillNo()).toString(), request); }catch(Exception e){ JshException.writeFail(logger, e); @@ -173,7 +173,7 @@ public class AccountHeadService { int result=0; try{ result = accountHeadMapper.updateByPrimaryKeySelective(accountHead); - logService.insertLog("财务", + logService.insertLog("财务单据", new StringBuffer(BusinessConstants.LOG_OPERATION_TYPE_EDIT).append(accountHead.getBillNo()).toString(), request); }catch(Exception e){ JshException.writeFail(logger, e); @@ -224,7 +224,7 @@ public class AccountHeadService { } //逻辑删除文件 systemConfigService.deleteFileByPathList(pathList); - logService.insertLog("财务", sb.toString(), + logService.insertLog("财务单据", sb.toString(), ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest()); return 1; } @@ -251,32 +251,46 @@ public class AccountHeadService { @Transactional(value = "transactionManager", rollbackFor = Exception.class) public int batchSetStatus(String status, String accountHeadIds)throws Exception { int result = 0; - try{ - List ahIds = new ArrayList<>(); - List ids = StringUtil.strToLongList(accountHeadIds); - for(Long id: ids) { - AccountHead accountHead = getAccountHead(id); - if("0".equals(status)){ - if("1".equals(accountHead.getStatus())) { - ahIds.add(id); - } - } else if("1".equals(status)){ - if("0".equals(accountHead.getStatus())) { - ahIds.add(id); - } + List ahIds = new ArrayList<>(); + List noList = new ArrayList<>(); + List ids = StringUtil.strToLongList(accountHeadIds); + for(Long id: ids) { + AccountHead accountHead = getAccountHead(id); + if("0".equals(status)){ + //进行反审核操作 + if("1".equals(accountHead.getStatus())) { + ahIds.add(id); + noList.add(accountHead.getBillNo()); + } else { + throw new BusinessRunTimeException(ExceptionConstants.ACCOUNT_HEAD_AUDIT_TO_UN_AUDIT_FAILED_CODE, + String.format(ExceptionConstants.ACCOUNT_HEAD_AUDIT_TO_UN_AUDIT_FAILED_MSG)); + } + } else if("1".equals(status)){ + //进行审核操作 + if("0".equals(accountHead.getStatus())) { + ahIds.add(id); + noList.add(accountHead.getBillNo()); + } else { + throw new BusinessRunTimeException(ExceptionConstants.ACCOUNT_HEAD_UN_AUDIT_TO_AUDIT_FAILED_CODE, + String.format(ExceptionConstants.ACCOUNT_HEAD_UN_AUDIT_TO_AUDIT_FAILED_MSG)); } } - if(ahIds.size()>0) { - AccountHead accountHead = new AccountHead(); - accountHead.setStatus(status); - AccountHeadExample example = new AccountHeadExample(); - example.createCriteria().andIdIn(ahIds); - result = accountHeadMapper.updateByExampleSelective(accountHead, example); - } else { - return 1; + } + if(!ahIds.isEmpty()) { + AccountHead accountHead = new AccountHead(); + accountHead.setStatus(status); + AccountHeadExample example = new AccountHeadExample(); + example.createCriteria().andIdIn(ahIds); + result = accountHeadMapper.updateByExampleSelective(accountHead, example); + //记录日志 + if(!noList.isEmpty() && ("0".equals(status) || "1".equals(status))) { + String statusStr = status.equals("1")?"[审核]":"[反审核]"; + logService.insertLog("财务单据", + new StringBuffer(statusStr).append(String.join(", ", noList)).toString(), + ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest()); } - }catch(Exception e){ - JshException.writeFail(logger, e); + } else { + result = 1; } return result; } @@ -326,8 +340,9 @@ public class AccountHeadService { //更新会员预付款 supplierService.updateAdvanceIn(accountHead.getOrganId()); } + String statusStr = accountHead.getStatus().equals("1")?"[审核]":""; logService.insertLog("财务单据", - new StringBuffer(BusinessConstants.LOG_OPERATION_TYPE_ADD).append(accountHead.getBillNo()).toString(), request); + new StringBuffer(BusinessConstants.LOG_OPERATION_TYPE_ADD).append(accountHead.getBillNo()).append(statusStr).toString(), request); } @Transactional(value = "transactionManager", rollbackFor = Exception.class) @@ -353,8 +368,9 @@ public class AccountHeadService { //更新会员预付款 supplierService.updateAdvanceIn(accountHead.getOrganId()); } + String statusStr = accountHead.getStatus().equals("1")?"[审核]":""; logService.insertLog("财务单据", - new StringBuffer(BusinessConstants.LOG_OPERATION_TYPE_EDIT).append(accountHead.getBillNo()).toString(), request); + new StringBuffer(BusinessConstants.LOG_OPERATION_TYPE_EDIT).append(accountHead.getBillNo()).append(statusStr).toString(), request); } public List getDetailByNumber(String billNo)throws Exception { diff --git a/jshERP-boot/src/main/java/com/jsh/erp/service/DepotHeadService.java b/jshERP-boot/src/main/java/com/jsh/erp/service/DepotHeadService.java index c9a35a37..128ffe44 100644 --- a/jshERP-boot/src/main/java/com/jsh/erp/service/DepotHeadService.java +++ b/jshERP-boot/src/main/java/com/jsh/erp/service/DepotHeadService.java @@ -673,6 +673,7 @@ public class DepotHeadService { public int batchSetStatus(String status, String depotHeadIDs)throws Exception { int result = 0; List dhIds = new ArrayList<>(); + List noList = new ArrayList<>(); List ids = StringUtil.strToLongList(depotHeadIDs); for(Long id: ids) { DepotHead depotHead = getDepotHead(id); @@ -680,6 +681,7 @@ public class DepotHeadService { //进行反审核操作 if("1".equals(depotHead.getStatus()) && "0".equals(depotHead.getPurchaseStatus())) { dhIds.add(id); + noList.add(depotHead.getNumber()); } else if("2".equals(depotHead.getPurchaseStatus())) { throw new BusinessRunTimeException(ExceptionConstants.DEPOT_HEAD_PURCHASE_STATUS_TWO_CODE, String.format(ExceptionConstants.DEPOT_HEAD_PURCHASE_STATUS_TWO_MSG)); @@ -694,13 +696,14 @@ public class DepotHeadService { //进行审核操作 if("0".equals(depotHead.getStatus())) { dhIds.add(id); + noList.add(depotHead.getNumber()); } else { throw new BusinessRunTimeException(ExceptionConstants.DEPOT_HEAD_UN_AUDIT_TO_AUDIT_FAILED_CODE, String.format(ExceptionConstants.DEPOT_HEAD_UN_AUDIT_TO_AUDIT_FAILED_MSG)); } } } - if(dhIds.size()>0) { + if(!dhIds.isEmpty()) { DepotHead depotHead = new DepotHead(); depotHead.setStatus(status); DepotHeadExample example = new DepotHeadExample(); @@ -715,6 +718,13 @@ public class DepotHeadService { } } } + //记录日志 + if(!noList.isEmpty() && ("0".equals(status) || "1".equals(status))) { + String statusStr = status.equals("1")?"[审核]":"[反审核]"; + logService.insertLog("单据", + new StringBuffer(statusStr).append(String.join(", ", noList)).toString(), + ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest()); + } } return result; } @@ -1211,8 +1221,9 @@ public class DepotHeadService { /**入库和出库处理单据子表信息*/ depotItemService.saveDetials(rows,headId, "add",request); } + String statusStr = depotHead.getStatus().equals("1")?"[审核]":""; logService.insertLog("单据", - new StringBuffer(BusinessConstants.LOG_OPERATION_TYPE_ADD).append(depotHead.getNumber()).toString(), + new StringBuffer(BusinessConstants.LOG_OPERATION_TYPE_ADD).append(depotHead.getNumber()).append(statusStr).toString(), ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest()); } @@ -1311,8 +1322,9 @@ public class DepotHeadService { } /**入库和出库处理单据子表信息*/ depotItemService.saveDetials(rows,depotHead.getId(), "update",request); + String statusStr = depotHead.getStatus().equals("1")?"[审核]":""; logService.insertLog("单据", - new StringBuffer(BusinessConstants.LOG_OPERATION_TYPE_EDIT).append(depotHead.getNumber()).toString(), + new StringBuffer(BusinessConstants.LOG_OPERATION_TYPE_EDIT).append(depotHead.getNumber()).append(statusStr).toString(), ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest()); }