发票结算单回收
parent
60be64bc14
commit
6c013d24fe
|
|
@ -141,4 +141,20 @@ public class InvoiceReceiveController extends Controller {
|
|||
|
||||
renderJson(Result.success(receives));
|
||||
}
|
||||
|
||||
/**
|
||||
* 发票回收invoice_receive
|
||||
*/
|
||||
@Before(InvoiceReceivePKValidator.class)
|
||||
public void recycle() {
|
||||
Sysuser tokenuser = SysuserSyncService.me.getSysuserByToken(get("token"));
|
||||
|
||||
if (tokenuser == null) {
|
||||
renderJson(Result.noauth());
|
||||
return;
|
||||
}
|
||||
|
||||
InvoiceReceive model = getModel(InvoiceReceive.class, "", true); // 忽略不在model中的字段
|
||||
renderJson(InvoiceReceiveSyncService.me.recycle(model, tokenuser));
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -15,6 +15,7 @@ import com.jfinal.log.Log;
|
|||
import com.jfinal.plugin.activerecord.Db;
|
||||
import com.jfinal.plugin.activerecord.IAtom;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
public class InvoiceReceiveSyncService extends BaseSyncService {
|
||||
|
|
@ -85,4 +86,54 @@ public class InvoiceReceiveSyncService extends BaseSyncService {
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
public Result recycle(InvoiceReceive model, Sysuser user) {
|
||||
InvoiceReceive oldobj = model.findByPk();
|
||||
if (oldobj == null) {
|
||||
return Result.failed("未找到领用记录");
|
||||
}
|
||||
if (oldobj.getSurplus() == 0) {
|
||||
return Result.failed("余票为零,无法回收");
|
||||
}
|
||||
String endCode = oldobj.getCurrentCode();
|
||||
String currentCode = oldobj.getCurrentCode();
|
||||
|
||||
InvoiceReceive receive = oldobj.clone();
|
||||
receive.setChangeTime(new Date());
|
||||
// 有使用过的
|
||||
if (!StrKit.isBlank(endCode) && !StrKit.isBlank(currentCode)) {
|
||||
Long end = Long.parseLong(endCode);
|
||||
Long current = Long.parseLong(currentCode);
|
||||
if (current > end) {
|
||||
return Result.failed("当前编码大于结束编码,无法回收");
|
||||
}
|
||||
receive.setEndCode(String.format("%0" + oldobj.getCurrentCode().length() + "d", current));
|
||||
} else {
|
||||
receive.setStartCode(null);
|
||||
receive.setEndCode(null);
|
||||
}
|
||||
receive.setSurplus(0);
|
||||
|
||||
SyncTask syncTask = new SyncTask();
|
||||
|
||||
boolean ret = Db.tx(new IAtom() {
|
||||
@Override
|
||||
public boolean run() {
|
||||
try {
|
||||
return receive.update()
|
||||
&& SyncTaskService.me.save(syncTask.addUpdateData(receive), receive.getSupermarketId()) // 下发到指定的砂站
|
||||
&& ModifyLogService.me.save(receive, oldobj, Enums.DataOpType.UPDATE.getId(), user);
|
||||
} catch (Exception e) {
|
||||
log.error(e.getMessage(), e);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
if (ret) {
|
||||
SyncTaskService.me.send(syncTask);
|
||||
}
|
||||
|
||||
return ret ? Result.object(receive) : Result.failed(false, "回收失败");
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -139,4 +139,20 @@ public class TicketReceiveController extends Controller {
|
|||
|
||||
renderJson(Result.success(receives));
|
||||
}
|
||||
|
||||
/**
|
||||
* 发票回收invoice_receive
|
||||
*/
|
||||
@Before(TicketReceivePKValidator.class)
|
||||
public void recycle() {
|
||||
Sysuser tokenuser = SysuserSyncService.me.getSysuserByToken(get("token"));
|
||||
|
||||
if (tokenuser == null) {
|
||||
renderJson(Result.noauth());
|
||||
return;
|
||||
}
|
||||
|
||||
TicketReceive model = getModel(TicketReceive.class, "", true); // 忽略不在model中的字段
|
||||
renderJson(TicketReceiveSyncService.me.recycle(model, tokenuser));
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,18 +2,17 @@ package com.cowr.service.ssjygl.ticket.receive;
|
|||
|
||||
import com.cowr.common.enums.Enums;
|
||||
import com.cowr.common.view.Result;
|
||||
import com.cowr.model.TicketReceive;
|
||||
import com.cowr.model.Supermarket;
|
||||
import com.cowr.model.SyncTask;
|
||||
import com.cowr.model.Sysuser;
|
||||
import com.cowr.model.*;
|
||||
import com.cowr.service.ssjygl.base.BaseSyncService;
|
||||
import com.cowr.service.ssjygl.main.SvrCacheData;
|
||||
import com.cowr.service.ssjygl.synctask.SyncTaskService;
|
||||
import com.cowr.ssjygl.modifylog.ModifyLogService;
|
||||
import com.jfinal.kit.StrKit;
|
||||
import com.jfinal.log.Log;
|
||||
import com.jfinal.plugin.activerecord.Db;
|
||||
import com.jfinal.plugin.activerecord.IAtom;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
public class TicketReceiveSyncService extends BaseSyncService {
|
||||
|
|
@ -83,4 +82,55 @@ public class TicketReceiveSyncService extends BaseSyncService {
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
public Result recycle(TicketReceive model, Sysuser user) {
|
||||
TicketReceive oldobj = model.findByPk();
|
||||
if (oldobj == null) {
|
||||
return Result.failed("未找到领用记录");
|
||||
}
|
||||
if (oldobj.getSurplus() == 0) {
|
||||
return Result.failed("余票为零,无法回收");
|
||||
}
|
||||
|
||||
String endCode = oldobj.getCurrentCode();
|
||||
String currentCode = oldobj.getCurrentCode();
|
||||
|
||||
TicketReceive receive = oldobj.clone();
|
||||
receive.setChangeTime(new Date());
|
||||
// 有使用过的
|
||||
if (!StrKit.isBlank(endCode) && !StrKit.isBlank(currentCode)) {
|
||||
Long end = Long.parseLong(endCode);
|
||||
Long current = Long.parseLong(currentCode);
|
||||
if (current > end) {
|
||||
return Result.failed("当前编码大于结束编码,无法回收");
|
||||
}
|
||||
receive.setEndCode(String.format("%0" + oldobj.getCurrentCode().length() + "d", current));
|
||||
} else {
|
||||
receive.setStartCode(null);
|
||||
receive.setEndCode(null);
|
||||
}
|
||||
receive.setSurplus(0);
|
||||
|
||||
SyncTask syncTask = new SyncTask();
|
||||
|
||||
boolean ret = Db.tx(new IAtom() {
|
||||
@Override
|
||||
public boolean run() {
|
||||
try {
|
||||
return receive.update()
|
||||
&& SyncTaskService.me.save(syncTask.addUpdateData(receive), receive.getSupermarketId()) // 下发到指定的砂站
|
||||
&& ModifyLogService.me.save(receive, oldobj, Enums.DataOpType.UPDATE.getId(), user);
|
||||
} catch (Exception e) {
|
||||
log.error(e.getMessage(), e);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
if (ret) {
|
||||
SyncTaskService.me.send(syncTask);
|
||||
}
|
||||
|
||||
return ret ? Result.object(receive) : Result.failed(false, "回收失败");
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue