|
@@ -172,7 +172,7 @@ public class CategoryBaseServiceImpl implements CategoryBaseService {
|
|
|
checkBank(id, store.get("ca_bank"), caller);
|
|
|
checkpcode(store.get("ca_code"), store.get("ca_pcode"));
|
|
|
// 修改科目的编号、核算类型时,关联校验
|
|
|
- SqlRowList rs = baseDao.queryForRowSet("select ca_code,abs(ca_currencytype),ca_asstype from category where ca_id=?", id);
|
|
|
+ SqlRowList rs = baseDao.queryForRowSet("select ca_code,abs(ca_currencytype),ca_asstype,ca_pcode from category where ca_id=?", id);
|
|
|
if (rs.next()) {
|
|
|
String oldCode = rs.getString(1);
|
|
|
// 已制作凭证
|
|
@@ -202,6 +202,13 @@ public class CategoryBaseServiceImpl implements CategoryBaseService {
|
|
|
BaseUtil.showError("科目 " + oldCode + " 还有余额,不允许修改科目核算类型");
|
|
|
}
|
|
|
}
|
|
|
+ if (!StringUtil.nvl(store.get("ca_pcode"), "").equals(rs.getGeneralString(4))) {
|
|
|
+ if (hasVoucher) {
|
|
|
+ BaseUtil.showError("科目 " + oldCode + " 已经制作凭证,不允许修改父级科目");
|
|
|
+ } else if (hasInit) {
|
|
|
+ BaseUtil.showError("科目 " + oldCode + " 还有余额,不允许修改父级科目");
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
checkVoucher(store.get("ca_pcode"));
|
|
|
// 修改
|