bug修改
parent
602b5fb05f
commit
a3a027ee95
|
|
@ -33,8 +33,8 @@ public class OrderInvalidVerifyController extends Controller {
|
|||
String order_sn = get("order_sn");
|
||||
String invalid_memo = get("invalid_memo");
|
||||
String attachment = get("attachment");
|
||||
|
||||
renderJson(OrderInvalidVerifySyncService.me.save(order_sn, attachment, invalid_memo, tokenuser));
|
||||
Integer type = getInt("type");
|
||||
renderJson(OrderInvalidVerifySyncService.me.save(order_sn, attachment, invalid_memo, tokenuser,type));
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -5,10 +5,7 @@ import com.cowr.common.enums.OrderTypeEnum;
|
|||
import com.cowr.common.view.Result;
|
||||
import com.cowr.local.ssjygl.main.CliCacheData;
|
||||
import com.cowr.local.ssjygl.synctask.SyncTaskService;
|
||||
import com.cowr.model.OrderInvalidVerify;
|
||||
import com.cowr.model.OrderTemp;
|
||||
import com.cowr.model.SyncTask;
|
||||
import com.cowr.model.Sysuser;
|
||||
import com.cowr.model.*;
|
||||
import com.jfinal.kit.StrKit;
|
||||
import com.jfinal.log.Log;
|
||||
import com.jfinal.plugin.activerecord.Db;
|
||||
|
|
@ -20,16 +17,29 @@ public class OrderInvalidVerifySyncService {
|
|||
private static Log log = Log.getLog(OrderInvalidVerifySyncService.class);
|
||||
public static OrderInvalidVerifySyncService me = new OrderInvalidVerifySyncService();
|
||||
|
||||
public Result save(String order_sn, String attachment, String invalid_memo, Sysuser sysuser) {
|
||||
OrderTemp order = OrderTemp.dao.findById(order_sn);
|
||||
public Result save(String order_sn, String attachment, String invalid_memo, Sysuser sysuser, Integer type) {
|
||||
if(type == OrderTypeEnum.TEMP.getTypeid()){
|
||||
OrderTemp order = OrderTemp.dao.findById(order_sn);
|
||||
|
||||
if (order == null) {
|
||||
return Result.failedstr("按 %s 没有找到订单信息", order_sn);
|
||||
if (order == null) {
|
||||
return Result.failedstr("按 %s 没有找到订单信息", order_sn);
|
||||
}
|
||||
|
||||
if(order.getState() != OrderStateEnum.RECEIVED.getStateid()){
|
||||
return Result.failed("只能对已收货的订单提出作废申请");
|
||||
}
|
||||
} else {
|
||||
OrderTransfer order = OrderTransfer.dao.findById(order_sn);
|
||||
|
||||
if (order == null) {
|
||||
return Result.failedstr("按 %s 没有找到订单信息", order_sn);
|
||||
}
|
||||
|
||||
if(order.getState() != OrderStateEnum.RECEIVED.getStateid()){
|
||||
return Result.failed("只能对已收货的订单提出作废申请");
|
||||
}
|
||||
}
|
||||
|
||||
if(order.getState() != OrderStateEnum.RECEIVED.getStateid()){
|
||||
return Result.failed("只能对已收货的订单提出作废申请");
|
||||
}
|
||||
|
||||
OrderInvalidVerify old = OrderInvalidVerify.dao.findFirst("select * from order_invalid_verify t \n" +
|
||||
" where t.order_sn = ? \n" +
|
||||
|
|
@ -46,8 +56,8 @@ public class OrderInvalidVerifySyncService {
|
|||
model.setCreateTime(new Date());
|
||||
model.setCreateUserId(sysuser.getId());
|
||||
model.setCreateUserName(sysuser.getName());
|
||||
model.setOrderSn(order.getSn());
|
||||
model.setType(OrderTypeEnum.TEMP.getTypeid());
|
||||
model.setOrderSn(order_sn);
|
||||
model.setType(type);
|
||||
model.setAttachment(attachment);
|
||||
model.setInvalidMemo(invalid_memo);
|
||||
|
||||
|
|
|
|||
|
|
@ -42,7 +42,7 @@ public class TicketInvalidVerifyController extends Controller {
|
|||
}
|
||||
|
||||
/**
|
||||
* 新增 invoice_invalid_verify 发票管理 - 发票作废申请
|
||||
* 新增 ticket_invalid_verify 发票管理 - 发票作废申请
|
||||
*/
|
||||
@Before(InvoiceInvalidBySnVerifyValidator.class)
|
||||
public void saveBySn() {
|
||||
|
|
@ -55,7 +55,7 @@ public class TicketInvalidVerifyController extends Controller {
|
|||
|
||||
String order_sn = get("order_sn");
|
||||
String invalid_memo = get("invalid_memo");
|
||||
|
||||
renderJson(TicketInvalidVerifySyncService.me.save(order_sn, invalid_memo, tokenuser));
|
||||
Integer type = getInt("type");
|
||||
renderJson(TicketInvalidVerifySyncService.me.save(order_sn, invalid_memo, tokenuser,type));
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -18,18 +18,31 @@ public class TicketInvalidVerifySyncService {
|
|||
private static final Log log = Log.getLog(TicketInvalidVerifySyncService.class);
|
||||
public static TicketInvalidVerifySyncService me = new TicketInvalidVerifySyncService();
|
||||
|
||||
public Result save(String order_sn, String invalid_memo, Sysuser sysuser) {
|
||||
OrderTransfer order = OrderTransfer.dao.findById(order_sn);
|
||||
public Result save(String order_sn, String invalid_memo, Sysuser sysuser ,Integer type) {
|
||||
String ticket_code = "";
|
||||
if(type == OrderTypeEnum.TRANSFER.getTypeid()){
|
||||
OrderTransfer order = OrderTransfer.dao.findById(order_sn);
|
||||
|
||||
if (order == null) {
|
||||
return Result.failedstr("按 %s 没有找到订单信息", order_sn);
|
||||
if (order == null) {
|
||||
return Result.failedstr("按 %s 没有找到订单信息", order_sn);
|
||||
}
|
||||
ticket_code = order.getTicketCode();
|
||||
}else{
|
||||
OrderTemp order = OrderTemp.dao.findById(order_sn);
|
||||
|
||||
if (order == null) {
|
||||
return Result.failedstr("按 %s 没有找到订单信息", order_sn);
|
||||
}
|
||||
|
||||
ticket_code = order.getTicketCode();
|
||||
}
|
||||
|
||||
|
||||
// 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(), ticket_code);
|
||||
if (receive == null) {
|
||||
return Result.failed("没有有效的结算单领用记录,或者订单没有开具有效的结算单");
|
||||
}
|
||||
|
|
@ -48,11 +61,11 @@ public class TicketInvalidVerifySyncService {
|
|||
model.setCreateUserId(sysuser.getId());
|
||||
model.setCreateUserName(sysuser.getName());
|
||||
model.setTicketReceiveId(receive.getId());
|
||||
model.setOrderSn(order.getSn());
|
||||
model.setType(OrderTypeEnum.TEMP.getTypeid());
|
||||
model.setOrderSn(order_sn);
|
||||
model.setType(type);
|
||||
|
||||
model.setInvalidMemo(invalid_memo);
|
||||
model.setTicketCode(order.getTicketCode());
|
||||
model.setTicketCode(ticket_code);
|
||||
|
||||
SyncTask synctask = new SyncTask();
|
||||
|
||||
|
|
|
|||
|
|
@ -1,11 +1,13 @@
|
|||
package com.cowr.service.ssjygl.order.invalidverify;
|
||||
|
||||
import com.cowr.common.enums.OrderStateEnum;
|
||||
import com.cowr.common.enums.OrderTypeEnum;
|
||||
import com.cowr.common.view.Result;
|
||||
import com.cowr.model.OrderInvalidVerify;
|
||||
import com.cowr.model.SyncTask;
|
||||
import com.cowr.model.Sysuser;
|
||||
import com.cowr.service.ssjygl.order.ordertemp.OrderTempSyncService;
|
||||
import com.cowr.service.ssjygl.order.ordertransfer.OrderTransferSyncService;
|
||||
import com.cowr.service.ssjygl.synctask.SyncTaskService;
|
||||
import com.jfinal.log.Log;
|
||||
import com.jfinal.plugin.activerecord.Db;
|
||||
|
|
@ -42,8 +44,13 @@ public class OrderInvalidVerifySyncService {
|
|||
if (state == OrderStateEnum.INVALID.getStateid()) {
|
||||
return notPass(model);
|
||||
} else if (state == 2) {
|
||||
// 订单取消申请
|
||||
return OrderTempSyncService.me.cancel(model.getOrderSn(), model.getInvalidMemo(), user, password, model);
|
||||
if(model.getType() == OrderTypeEnum.TEMP.getTypeid()){
|
||||
// 订单取消申请
|
||||
return OrderTempSyncService.me.cancel(model.getOrderSn(), model.getInvalidMemo(), user, password, model);
|
||||
}else {
|
||||
return OrderTransferSyncService.me.cancel(model.getOrderSn(), model.getInvalidMemo(), user, password, model);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return Result.failed("修改失败");
|
||||
|
|
|
|||
|
|
@ -0,0 +1,115 @@
|
|||
package com.cowr.service.ssjygl.order.ordertransfer;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.cowr.common.enums.Enums;
|
||||
import com.cowr.common.enums.OrderStateEnum;
|
||||
import com.cowr.common.utils.DateTimeUtil;
|
||||
import com.cowr.common.view.Result;
|
||||
import com.cowr.model.*;
|
||||
import com.cowr.service.ssjygl.synctask.SyncTaskService;
|
||||
import com.cowr.service.ssjygl.system.sysuser.SysuserSyncService;
|
||||
import com.cowr.ssjygl.modifylog.ModifyLogService;
|
||||
import com.cowr.ssjygl.order.orderend.OrderEndService;
|
||||
import com.cowr.ssjygl.prepay.prepaycustomer.PrepayCustomerService;
|
||||
import com.jfinal.log.Log;
|
||||
import com.jfinal.plugin.activerecord.Db;
|
||||
import com.jfinal.plugin.activerecord.IAtom;
|
||||
import com.jfinal.plugin.activerecord.Record;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
public class OrderTransferSyncService {
|
||||
public static OrderTransferSyncService me = new OrderTransferSyncService();
|
||||
private static Log log = Log.getLog(OrderTransferSyncService.class);
|
||||
|
||||
|
||||
public Result cancel(String sn, String invalid_memo, Sysuser sysuser, String password, OrderInvalidVerify orderInvalidVerify) {
|
||||
OrderTransfer order = OrderTransfer.dao.findById(sn);
|
||||
|
||||
if (order == null) {
|
||||
return Result.failedstr("按订单号【%s】未找到记录", sn);
|
||||
}
|
||||
|
||||
int orderstate = order.getState();
|
||||
|
||||
if (orderstate == OrderStateEnum.INVALID.getStateid()) {
|
||||
return Result.failed("订单已经取消");
|
||||
}
|
||||
|
||||
order.setState(OrderStateEnum.INVALID.getStateid()); // 将订单状态置为 9
|
||||
|
||||
Record logrecord = new Record();
|
||||
logrecord.set("sn", sn);
|
||||
logrecord.set("state", OrderStateEnum.INVALID.getStateid());
|
||||
|
||||
SyncTask synctask = new SyncTask();
|
||||
SyncTask synctaskincrement = new SyncTask();
|
||||
|
||||
boolean ret = Db.tx(new IAtom() {
|
||||
@Override
|
||||
public boolean run() {
|
||||
try {
|
||||
synctask.addUpdateData(order);
|
||||
|
||||
boolean ret = order.update();
|
||||
|
||||
if (!ret) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if (orderInvalidVerify != null) {
|
||||
ret = orderInvalidVerify.update();
|
||||
|
||||
if (!ret) {
|
||||
return false;
|
||||
}
|
||||
|
||||
synctask.addUpdateData(orderInvalidVerify);
|
||||
}
|
||||
|
||||
// 开具过结算单的
|
||||
if(order.getTicketCode() != null){
|
||||
TicketLog ticketLog = TicketLog.dao.findFirst(
|
||||
"select * from ticket_log t where ticket_code = ? limit 1 ",
|
||||
order.getTicketCode());
|
||||
|
||||
if (ticketLog != null) {
|
||||
ticketLog.setInvalidUserId(sysuser.getId());
|
||||
ticketLog.setInvalidUserName(sysuser.getName());
|
||||
ticketLog.setInvalidTime(new Date());
|
||||
ticketLog.setInvalidMemo(invalid_memo);
|
||||
ticketLog.setState(OrderStateEnum.INVALID.getStateid());
|
||||
|
||||
ret = ticketLog.update();
|
||||
|
||||
if (!ret) {
|
||||
return false;
|
||||
}
|
||||
|
||||
synctask.addUpdateData(ticketLog);
|
||||
} else {
|
||||
log.error("订单[%s]没有找到结算单记录", order.getSn());
|
||||
}
|
||||
}
|
||||
|
||||
if (!ret) {
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
return ret && SyncTaskService.me.save(synctask, order.getSupermarketId())
|
||||
&& ModifyLogService.me.save(order.tablename, "sn", logrecord.toJson(), Enums.DataOpType.UPDATE.getId(), sysuser);
|
||||
} catch (Exception e) {
|
||||
log.error(e.getMessage(), e);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
if (ret) {
|
||||
SyncTaskService.me.send(synctask);
|
||||
}
|
||||
|
||||
return ret ? Result.success(order) : Result.failed("取消失败");
|
||||
}
|
||||
}
|
||||
|
|
@ -1,6 +1,7 @@
|
|||
package com.cowr.service.ssjygl.ticket.invalidverify;
|
||||
|
||||
import com.cowr.common.enums.OrderStateEnum;
|
||||
import com.cowr.common.enums.OrderTypeEnum;
|
||||
import com.cowr.common.view.Result;
|
||||
import com.cowr.model.*;
|
||||
import com.cowr.service.ssjygl.synctask.SyncTaskService;
|
||||
|
|
@ -99,20 +100,38 @@ public class TicketInvalidVerifySyncService {
|
|||
|
||||
OrderTemp order = null;
|
||||
|
||||
if (StrKit.notBlank(model.getOrderSn())) {
|
||||
order = OrderTemp.dao.findById(model.getOrderSn());
|
||||
OrderTransfer orderTransfer = null;
|
||||
|
||||
if (order == null) {
|
||||
return Result.failedstr("按 %s 没有找到订单信息", model.getOrderSn());
|
||||
if (StrKit.notBlank(model.getOrderSn())) {
|
||||
if(model.getType() == OrderTypeEnum.TEMP.getTypeid()){
|
||||
order = OrderTemp.dao.findById(model.getOrderSn());
|
||||
|
||||
if (order == null) {
|
||||
return Result.failedstr("按 %s 没有找到订单信息", model.getOrderSn());
|
||||
}
|
||||
|
||||
order.setTicketCode(null);
|
||||
|
||||
synctask.addUpdateData(order); // 关联了订单的,要更新订单信息,清除开票信息
|
||||
} else {
|
||||
orderTransfer = OrderTransfer.dao.findById(model.getOrderSn());
|
||||
|
||||
if (orderTransfer == null) {
|
||||
return Result.failedstr("按 %s 没有找到订单信息", model.getOrderSn());
|
||||
}
|
||||
|
||||
orderTransfer.setTicketCode(null);
|
||||
|
||||
synctask.addUpdateData(orderTransfer); // 关联了订单的,要更新订单信息,清除开票信息
|
||||
}
|
||||
|
||||
order.setTicketCode(null);
|
||||
|
||||
synctask.addUpdateData(order); // 关联了订单的,要更新订单信息,清除开票信息
|
||||
|
||||
}
|
||||
|
||||
TicketLog finalTicketLog = ticketLog;
|
||||
OrderTemp finalOrder = order;
|
||||
OrderTransfer finalOrderTransfer = orderTransfer;
|
||||
boolean ret = Db.tx(new IAtom() {
|
||||
@Override
|
||||
public boolean run() {
|
||||
|
|
@ -148,6 +167,14 @@ public class TicketInvalidVerifySyncService {
|
|||
}
|
||||
}
|
||||
|
||||
if(finalOrderTransfer != null){
|
||||
ret = finalOrderTransfer.update();
|
||||
|
||||
if (!ret) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
return SyncTaskService.me.save(synctask, model.getSupermarketId());
|
||||
} catch (Exception e) {
|
||||
log.error(e.getMessage(), e);
|
||||
|
|
|
|||
Loading…
Reference in New Issue