解决结算单取消报错
parent
e28986fe79
commit
8a9aa6af7d
|
|
@ -131,7 +131,10 @@ public class TicketLogSyncService extends BaseSyncService {
|
|||
return Result.failed("未找到结算单记录");
|
||||
}
|
||||
|
||||
return cancelType2(ticketLog, invalid_memo, sysuser);
|
||||
if(ticketLog.getType() == 3){
|
||||
return cancelType2(ticketLog, invalid_memo, sysuser);
|
||||
}
|
||||
return cancelType(ticketLog, invalid_memo, sysuser);
|
||||
}
|
||||
|
||||
public Result cancelByCode(String ticket_code, String invalid_memo, Sysuser sysuser) {
|
||||
|
|
@ -141,7 +144,84 @@ public class TicketLogSyncService extends BaseSyncService {
|
|||
return Result.failed("未找到结算单记录");
|
||||
}
|
||||
|
||||
return cancelType2(ticketLog, invalid_memo, sysuser);
|
||||
if(ticketLog.getType() == 3){
|
||||
return cancelType2(ticketLog, invalid_memo, sysuser);
|
||||
}
|
||||
return cancelType(ticketLog, invalid_memo, sysuser);
|
||||
}
|
||||
|
||||
/**
|
||||
* 原材料运输取消结算单
|
||||
* @param ticketLog
|
||||
* @param invalid_memo
|
||||
* @param sysuser
|
||||
* @return
|
||||
*/
|
||||
public Result cancelType(TicketLog ticketLog, String invalid_memo, Sysuser sysuser) {
|
||||
if (ticketLog.getState() == OrderStateEnum.INVALID.getStateid()) {
|
||||
return Result.failed("记录已作废");
|
||||
}
|
||||
|
||||
OrderTransfer transfer = OrderTransfer.dao.findFirst("select * from order_transfer t \n" +
|
||||
" where t.state = ? \n" +
|
||||
" and t.ticket_code = ? ",
|
||||
OrderStateEnum.RECEIVED.getStateid(),
|
||||
ticketLog.getTicketCode()
|
||||
);
|
||||
|
||||
if (transfer == null) {
|
||||
return Result.failed("关联订单信息错误");
|
||||
}
|
||||
|
||||
Map<Integer, SyncTask> map = new HashMap<>();
|
||||
Date now = new Date();
|
||||
Record logrecord = new Record();
|
||||
|
||||
logrecord.set("state", OrderStateEnum.INVALID.getStateid());
|
||||
logrecord.set("ticket_code", ticketLog.getTicketCode());
|
||||
|
||||
|
||||
transfer.setTicketCode(null);
|
||||
int supermarket_id = transfer.getSupermarketId();
|
||||
SyncTask syncTask = new SyncTask();
|
||||
syncTask.addUpdateData(transfer);
|
||||
|
||||
|
||||
ticketLog.setInvalidMemo(invalid_memo);
|
||||
ticketLog.setInvalidTime(now);
|
||||
ticketLog.setInvalidUserId(sysuser.getId());
|
||||
ticketLog.setInvalidUserName(sysuser.getName());
|
||||
ticketLog.setState(OrderStateEnum.INVALID.getStateid());
|
||||
|
||||
syncTask.addUpdateData(ticketLog);
|
||||
map.put(supermarket_id,syncTask);
|
||||
|
||||
boolean ret = Db.tx(new IAtom() {
|
||||
@Override
|
||||
public boolean run() {
|
||||
try {
|
||||
boolean ret = transfer.update() && ticketLog.update();
|
||||
|
||||
if (!ret) {
|
||||
return false;
|
||||
}
|
||||
|
||||
// 将订单同步到不同的砂站
|
||||
for (Map.Entry<Integer, SyncTask> entry : map.entrySet()) {
|
||||
if (!SyncTaskService.me.save(entry.getValue(), entry.getKey())) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
return ModifyLogService.me.save(TicketLog.tablename, "id", logrecord.toJson(), Enums.DataOpType.SAVE.getId(), sysuser);
|
||||
} catch (Exception e) {
|
||||
log.error(e.getMessage(), e);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
return ret ? Result.success() : Result.failed("修改失败");
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -189,9 +269,6 @@ 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);
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue