修改结算管理bug,添加财务经理角色

dev
lisai17@sina.com 2021-03-05 11:40:27 +08:00
parent c7aa3b3bbe
commit d2df4c512e
9 changed files with 63 additions and 21 deletions

View File

@ -14,9 +14,10 @@ import java.util.List;
* 300 * 300
* 400 * 400
* <p> * <p>
* 500 退 * 500
* 501 退 * 501 退
* 502 * 502
* 503 退
*/ */
public enum RoleEnum { public enum RoleEnum {
DEVOPS(99), DEVOPS(99),
@ -32,6 +33,7 @@ public enum RoleEnum {
PRESIDENT(500), PRESIDENT(500),
TREASURER(501), TREASURER(501),
PRESIDENTVIEW(502), PRESIDENTVIEW(502),
FINANCEMANAGER(503),
CHAISHA(600); CHAISHA(600);

View File

@ -125,6 +125,17 @@ public class SysuserSyncService extends BaseService {
return roleid.equals(RoleEnum.TRANCOADMIN.getRoleid()); 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());
}
/** /**
* *
* *

View File

@ -25,6 +25,10 @@ public class TicketInvalidVerifySyncService {
return Result.failedstr("按 %s 没有找到订单信息", order_sn); 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()); TicketReceive receive = TicketReceiveService.me.checkReceive(CliCacheData.SUP.getId(), order.getTicketCode());
if (receive == null) { if (receive == null) {
return Result.failed("没有有效的结算单领用记录,或者订单没有开具有效的结算单"); return Result.failed("没有有效的结算单领用记录,或者订单没有开具有效的结算单");

View File

@ -262,7 +262,13 @@ public class InvoiceLogSyncService extends BaseSyncService {
return Result.failed("未找到发票记录"); return Result.failed("未找到发票记录");
} }
return cancelType1(invoiceLog, invalid_memo, sysuser); 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("发票使用信息错误"); return Result.failed("发票使用信息错误");
} }
List<TicketLog> ticketloglist = TicketLog.dao.find("select * from ticket_log t \n" + Map<Integer, SyncTask> map = new HashMap<>();
" where t.state = ? \n" + Map<String, OrderTemp> ordmap = new HashMap<>();
" and t.invoice_number = ? \n" + Date now = new Date();
" and t.ticket_code = ? ", Record logrecord = new Record();
OrderStateEnum.RECEIVED.getStateid(), List<String> sql = new ArrayList<>();
invoiceLog.getInvoiceNumber(), List<Object> ticketparams = new ArrayList<>();
invoiceLog.getCode()
);
if (ticketloglist.isEmpty()) { ticketparams.add(OrderStateEnum.RECEIVED.getStateid());
return Result.failed("发票使用信息错误");
}
Map<Integer, SyncTask> map = new HashMap<>();
Map<String, OrderTemp> ordmap = new HashMap<>();
Date now = new Date();
Record logrecord = new Record();
logrecord.set("state", OrderStateEnum.INVALID.getStateid()); logrecord.set("state", OrderStateEnum.INVALID.getStateid());
logrecord.set("invoice_type", invoiceLog.getInvoiceType()); logrecord.set("invoice_type", invoiceLog.getInvoiceType());
@ -431,6 +428,17 @@ public class InvoiceLogSyncService extends BaseSyncService {
map.get(supermarket_id).addUpdateData(o); map.get(supermarket_id).addUpdateData(o);
ordmap.put(o.getSn(), 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) { for (InvoiceLog o : loglist) {

View File

@ -90,7 +90,7 @@ public class PrepayDetailSyncService extends BaseSyncService {
* @return * @return
*/ */
public Result verify(String id, int state, String memo, Sysuser user) { 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(); return Result.permissionDenied();
} }

View File

@ -106,7 +106,7 @@ public class RefundDetailSyncService extends BaseSyncService {
* @return * @return
*/ */
public Result verify(String id, int state, String memo, Sysuser user) { 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(); return Result.permissionDenied();
} }

View File

@ -136,6 +136,17 @@ public class SysuserSyncService extends BaseSyncService {
return roleid.equals(RoleEnum.TRANCOADMIN.getRoleid()); 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()) && !isConfigAdmin(model.getRole())
&& !isChaisha(model.getRole()) && !isChaisha(model.getRole())
&& !isPresidentView(model.getRole()) && !isPresidentView(model.getRole())
&& !isFinanceManager(model.getRole())
) { ) {
// 不是财务、经理、采砂局的时候,按照原来的规则检查 // 不是财务、经理、采砂局的时候,按照原来的规则检查
if (checkEntityId(model) == null) { if (checkEntityId(model) == null) {
@ -755,6 +767,7 @@ public class SysuserSyncService extends BaseSyncService {
&& !isTreasurer(sysuser.getRole()) && !isTreasurer(sysuser.getRole())
&& !isCustomer(sysuser.getRole()) && !isCustomer(sysuser.getRole())
&& !isChaisha(sysuser.getRole()) && !isChaisha(sysuser.getRole())
&& !isFinanceManager(sysuser.getRole())
) { ) {
return Result.permissionDenied(); return Result.permissionDenied();
} }

View File

@ -125,7 +125,7 @@ public class TicketLogController extends Controller {
return; return;
} }
String ticket_code = get("ticket_code"); String ticket_code = get("code");
String invalid_memo = get("invalid_memo"); String invalid_memo = get("invalid_memo");
renderJson(TicketLogSyncService.me.cancelByCode(ticket_code, invalid_memo, tokenuser)); renderJson(TicketLogSyncService.me.cancelByCode(ticket_code, invalid_memo, tokenuser));

View File

@ -189,6 +189,10 @@ public class TicketLogSyncService extends BaseSyncService {
logrecord.set("ticket_code", ticketLog.getTicketCode()); logrecord.set("ticket_code", ticketLog.getTicketCode());
for (OrderTemp o : ordlist) { for (OrderTemp o : ordlist) {
if(o.getInvoiceType() == 2 && o.getInvoiceCode() != null){
return Result.failed("已经开专票的结算单不能取消");
}
o.setTicketCode(null); o.setTicketCode(null);
int supermarket_id = o.getSupermarketId(); int supermarket_id = o.getSupermarketId();