修改结算管理bug,添加财务经理角色
parent
c7aa3b3bbe
commit
d2df4c512e
|
|
@ -14,9 +14,10 @@ import java.util.List;
|
|||
* 300 注册用户
|
||||
* 400 占位
|
||||
* <p>
|
||||
* 500 公司总经理,权限:查看、付费审核、退费审核
|
||||
* 500 公司总经理,权限:查看、配额
|
||||
* 501 公司财务人员,权限:查看、付费、退费
|
||||
* 502 公司领导,权限:查看
|
||||
* 503 公司财务经理 付费审核、退费审核
|
||||
*/
|
||||
public enum RoleEnum {
|
||||
DEVOPS(99),
|
||||
|
|
@ -32,6 +33,7 @@ public enum RoleEnum {
|
|||
PRESIDENT(500),
|
||||
TREASURER(501),
|
||||
PRESIDENTVIEW(502),
|
||||
FINANCEMANAGER(503),
|
||||
|
||||
CHAISHA(600);
|
||||
|
||||
|
|
|
|||
|
|
@ -125,6 +125,17 @@ public class SysuserSyncService extends BaseService {
|
|||
return roleid.equals(RoleEnum.TRANCOADMIN.getRoleid());
|
||||
}
|
||||
|
||||
/**
|
||||
* 是否财务经理
|
||||
* 预付费审批、退费审批
|
||||
* @param roleid
|
||||
* @return
|
||||
*/
|
||||
public boolean isFinanceManager(Integer roleid){
|
||||
if (roleid == null) return false;
|
||||
return roleid.equals(RoleEnum.FINANCEMANAGER.getRoleid());
|
||||
}
|
||||
|
||||
/**
|
||||
* 是否是司机
|
||||
*
|
||||
|
|
|
|||
|
|
@ -25,6 +25,10 @@ public class TicketInvalidVerifySyncService {
|
|||
return Result.failedstr("按 %s 没有找到订单信息", order_sn);
|
||||
}
|
||||
|
||||
if (order.getInvoiceType() == 2 && order.getInvoiceCode() != null) {
|
||||
return Result.failed("已经开专票的结算单不能取消");
|
||||
}
|
||||
|
||||
TicketReceive receive = TicketReceiveService.me.checkReceive(CliCacheData.SUP.getId(), order.getTicketCode());
|
||||
if (receive == null) {
|
||||
return Result.failed("没有有效的结算单领用记录,或者订单没有开具有效的结算单");
|
||||
|
|
|
|||
|
|
@ -262,7 +262,13 @@ public class InvoiceLogSyncService extends BaseSyncService {
|
|||
return Result.failed("未找到发票记录");
|
||||
}
|
||||
|
||||
if (invoiceLog.getInvoiceType() == 1) {
|
||||
return cancelType1(invoiceLog, invalid_memo, sysuser);
|
||||
} else if (invoiceLog.getInvoiceType() == 2) {
|
||||
return cancelType2(invoiceLog, invalid_memo, sysuser);
|
||||
} else {
|
||||
return Result.failed("发票记录错误");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -395,23 +401,14 @@ public class InvoiceLogSyncService extends BaseSyncService {
|
|||
return Result.failed("发票使用信息错误");
|
||||
}
|
||||
|
||||
List<TicketLog> ticketloglist = TicketLog.dao.find("select * from ticket_log t \n" +
|
||||
" where t.state = ? \n" +
|
||||
" and t.invoice_number = ? \n" +
|
||||
" and t.ticket_code = ? ",
|
||||
OrderStateEnum.RECEIVED.getStateid(),
|
||||
invoiceLog.getInvoiceNumber(),
|
||||
invoiceLog.getCode()
|
||||
);
|
||||
|
||||
if (ticketloglist.isEmpty()) {
|
||||
return Result.failed("发票使用信息错误");
|
||||
}
|
||||
|
||||
Map<Integer, SyncTask> map = new HashMap<>();
|
||||
Map<String, OrderTemp> ordmap = new HashMap<>();
|
||||
Date now = new Date();
|
||||
Record logrecord = new Record();
|
||||
List<String> sql = new ArrayList<>();
|
||||
List<Object> ticketparams = new ArrayList<>();
|
||||
|
||||
ticketparams.add(OrderStateEnum.RECEIVED.getStateid());
|
||||
|
||||
logrecord.set("state", OrderStateEnum.INVALID.getStateid());
|
||||
logrecord.set("invoice_type", invoiceLog.getInvoiceType());
|
||||
|
|
@ -431,6 +428,17 @@ public class InvoiceLogSyncService extends BaseSyncService {
|
|||
|
||||
map.get(supermarket_id).addUpdateData(o);
|
||||
ordmap.put(o.getSn(), o);
|
||||
|
||||
ticketparams.add(o.getTicketCode());
|
||||
sql.add("?");
|
||||
}
|
||||
|
||||
List<TicketLog> ticketloglist = TicketLog.dao.find("select * from ticket_log t \n" +
|
||||
" where t.state = ? \n" +
|
||||
" and t.ticket_code in(" + StrKit.join(sql, ",") + ")", ticketparams.toArray());
|
||||
|
||||
if (ticketloglist.isEmpty()) {
|
||||
return Result.failed("结算单使用信息错误");
|
||||
}
|
||||
|
||||
for (InvoiceLog o : loglist) {
|
||||
|
|
|
|||
|
|
@ -90,7 +90,7 @@ public class PrepayDetailSyncService extends BaseSyncService {
|
|||
* @return
|
||||
*/
|
||||
public Result verify(String id, int state, String memo, Sysuser user) {
|
||||
if (!SysuserSyncService.me.isPresident(user.getRole())) { // 总经理审核预付费
|
||||
if (!SysuserSyncService.me.isFinanceManager(user.getRole())) { // 财务经理审核预付费
|
||||
return Result.permissionDenied();
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -106,7 +106,7 @@ public class RefundDetailSyncService extends BaseSyncService {
|
|||
* @return
|
||||
*/
|
||||
public Result verify(String id, int state, String memo, Sysuser user) {
|
||||
if (!SysuserSyncService.me.isPresident(user.getRole())) { // 总经理审核退费
|
||||
if (!SysuserSyncService.me.isFinanceManager(user.getRole())) { // 财务审核退费
|
||||
return Result.permissionDenied();
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -136,6 +136,17 @@ public class SysuserSyncService extends BaseSyncService {
|
|||
return roleid.equals(RoleEnum.TRANCOADMIN.getRoleid());
|
||||
}
|
||||
|
||||
/**
|
||||
* 是否财务经理
|
||||
* 预付费审批、退费审批
|
||||
* @param roleid
|
||||
* @return
|
||||
*/
|
||||
public boolean isFinanceManager(Integer roleid){
|
||||
if (roleid == null) return false;
|
||||
return roleid.equals(RoleEnum.FINANCEMANAGER.getRoleid());
|
||||
}
|
||||
|
||||
/**
|
||||
* 是否是司机
|
||||
*
|
||||
|
|
@ -237,6 +248,7 @@ public class SysuserSyncService extends BaseSyncService {
|
|||
&& !isConfigAdmin(model.getRole())
|
||||
&& !isChaisha(model.getRole())
|
||||
&& !isPresidentView(model.getRole())
|
||||
&& !isFinanceManager(model.getRole())
|
||||
) {
|
||||
// 不是财务、经理、采砂局的时候,按照原来的规则检查
|
||||
if (checkEntityId(model) == null) {
|
||||
|
|
@ -755,6 +767,7 @@ public class SysuserSyncService extends BaseSyncService {
|
|||
&& !isTreasurer(sysuser.getRole())
|
||||
&& !isCustomer(sysuser.getRole())
|
||||
&& !isChaisha(sysuser.getRole())
|
||||
&& !isFinanceManager(sysuser.getRole())
|
||||
) {
|
||||
return Result.permissionDenied();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -125,7 +125,7 @@ public class TicketLogController extends Controller {
|
|||
return;
|
||||
}
|
||||
|
||||
String ticket_code = get("ticket_code");
|
||||
String ticket_code = get("code");
|
||||
String invalid_memo = get("invalid_memo");
|
||||
|
||||
renderJson(TicketLogSyncService.me.cancelByCode(ticket_code, invalid_memo, tokenuser));
|
||||
|
|
|
|||
|
|
@ -189,6 +189,10 @@ public class TicketLogSyncService extends BaseSyncService {
|
|||
logrecord.set("ticket_code", ticketLog.getTicketCode());
|
||||
|
||||
for (OrderTemp o : ordlist) {
|
||||
if(o.getInvoiceType() == 2 && o.getInvoiceCode() != null){
|
||||
return Result.failed("已经开专票的结算单不能取消");
|
||||
}
|
||||
|
||||
o.setTicketCode(null);
|
||||
|
||||
int supermarket_id = o.getSupermarketId();
|
||||
|
|
|
|||
Loading…
Reference in New Issue