dev
parent
368c0dce7f
commit
1351b0f357
|
|
@ -106,9 +106,9 @@ public class OrderTempController extends BaseController {
|
|||
String invoice_code = get("invoice_code");
|
||||
String memo = get("memo");
|
||||
String printer = get("printer", Enums.PrinterIdEnum.printer1.name());
|
||||
int req_receipt = getInt("req_receipt", 0); // 是否需要发票,0 默认不需要,1需要
|
||||
// int req_receipt = getInt("req_receipt", 0); // 是否需要发票,0 默认不需要,1需要
|
||||
|
||||
renderJson(OrderTempSyncService.me.payordercluster(uuid, transport_id, ordercluster_id, invoice_number, invoice_code, memo, printer, tokenuser, req_receipt));
|
||||
renderJson(OrderTempSyncService.me.payordercluster(uuid, transport_id, ordercluster_id, invoice_number, invoice_code, memo, printer, tokenuser));
|
||||
}
|
||||
|
||||
@Before(OrderTempPrepayValidator.class)
|
||||
|
|
|
|||
|
|
@ -224,8 +224,7 @@ public class OrderTempSyncService {
|
|||
String invoice_code,
|
||||
String memo,
|
||||
String printerId,
|
||||
Sysuser sysuser,
|
||||
int req_receipt
|
||||
Sysuser sysuser
|
||||
) {
|
||||
OrderTemp order = new OrderTemp();
|
||||
|
||||
|
|
@ -259,11 +258,6 @@ public class OrderTempSyncService {
|
|||
return Result.failedstr("毛重 %.2f 吨,不能超过 %s 吨", transport.getSecondWeight(), Config.configprop.getInt("weigh.max"));
|
||||
}
|
||||
|
||||
InvoiceReceive receive = InvoiceReceiveService.me.checkReceive(transport.getSupermarketId(), invoice_number, invoice_code);
|
||||
if (receive == null) {
|
||||
return Result.failed("没有有效的发票领用记录,或者发票已经被使用");
|
||||
}
|
||||
|
||||
BigDecimal net_weight = transport.getSecondWeight().subtract(transport.getFirstWeight()); // 销售的用第二次减第一次
|
||||
|
||||
OrderclusterTruck ot = OrderclusterTruck.dao.findFirst("select * from ordercluster_truck t \n" +
|
||||
|
|
@ -302,14 +296,27 @@ public class OrderTempSyncService {
|
|||
return Result.failedstr("未查到有效的单价信息");
|
||||
}
|
||||
|
||||
InvoiceReceive receive = null;
|
||||
|
||||
// 零散客户需要开具发票的,需要检查是否有有效的领用记录
|
||||
if (ordercluster.getReqReceipt() == 1) {
|
||||
receive = InvoiceReceiveService.me.checkReceive(transport.getSupermarketId(), invoice_number, invoice_code);
|
||||
|
||||
if (receive == null) {
|
||||
return Result.failed("没有有效的发票领用记录,或者发票已经被使用");
|
||||
}
|
||||
|
||||
order.setInvoiceCode(invoice_code);
|
||||
order.setInvoiceNumber(invoice_number);
|
||||
|
||||
order.setInvoiceType(1); // 需要开发票的,都是冠名发票
|
||||
} else {
|
||||
order.setInvoiceType(2); // 不需要开发票的,都是要专票的
|
||||
}
|
||||
|
||||
Date now = new Date();
|
||||
SyncTask synctask = new SyncTask();
|
||||
|
||||
// if (req_receipt == 1) { // 需要同时开具发票
|
||||
order.setInvoiceCode(invoice_code);
|
||||
order.setInvoiceNumber(invoice_number);
|
||||
// }
|
||||
|
||||
order.setTransportId(transport.getId());
|
||||
order.setSupermarketId(transport.getSupermarketId());
|
||||
order.setTruckLicense(transport.getTruckLicense());
|
||||
|
|
@ -381,6 +388,7 @@ public class OrderTempSyncService {
|
|||
transport.setArriveTime(now);
|
||||
transport.setType(OrderTypeEnum.TEMP.getTypeid());
|
||||
|
||||
InvoiceReceive finalReceive = receive;
|
||||
boolean ret = Db.tx(new IAtom() {
|
||||
@Override
|
||||
public boolean run() {
|
||||
|
|
@ -420,40 +428,40 @@ public class OrderTempSyncService {
|
|||
return false;
|
||||
}
|
||||
|
||||
// if (req_receipt == 1) { // 需要同时开具发票
|
||||
// 这里的 finalReceive 在前面肯定验证过了
|
||||
receive.setSurplus(receive.getSurplus() - 1);
|
||||
receive.setCurrentCode(invoice_code);
|
||||
if (ordercluster.getReqReceipt() == 1) { // 需要同时开具发票
|
||||
// 这里的 finalReceive 在前面肯定验证过了
|
||||
finalReceive.setSurplus(finalReceive.getSurplus() - 1);
|
||||
finalReceive.setCurrentCode(invoice_code);
|
||||
|
||||
ret = receive.update();
|
||||
ret = finalReceive.update();
|
||||
|
||||
if (!ret) {
|
||||
log.error("发票领用信息更新失败", invoice_code);
|
||||
return false;
|
||||
if (!ret) {
|
||||
log.error("发票领用信息更新失败", invoice_code);
|
||||
return false;
|
||||
}
|
||||
|
||||
InvoiceLog invoiceLog = new InvoiceLog();
|
||||
invoiceLog.setId(StrKit.getRandomUUID());
|
||||
invoiceLog.setInvoiceReceiveId(finalReceive.getId());
|
||||
invoiceLog.setCode(invoice_code);
|
||||
invoiceLog.setInvoiceNumber(invoice_number);
|
||||
invoiceLog.setState(OrderStateEnum.RECEIVED.getStateid());
|
||||
invoiceLog.setSettlementTime(now);
|
||||
invoiceLog.setSettlementUserId(order.getSettlementUserId()); // 发票使用人
|
||||
invoiceLog.setSettlementUserName(order.getSettlementUserName());
|
||||
invoiceLog.setOrderSn(order.getSn());
|
||||
invoiceLog.setType(OrderTypeEnum.TEMP.getTypeid());
|
||||
|
||||
ret = invoiceLog.save();
|
||||
|
||||
if (!ret) {
|
||||
return false;
|
||||
}
|
||||
|
||||
synctask.addSaveData(invoiceLog);
|
||||
synctask.addUpdateData(finalReceive);
|
||||
}
|
||||
|
||||
InvoiceLog invoiceLog = new InvoiceLog();
|
||||
invoiceLog.setId(StrKit.getRandomUUID());
|
||||
invoiceLog.setInvoiceReceiveId(receive.getId());
|
||||
invoiceLog.setCode(invoice_code);
|
||||
invoiceLog.setInvoiceNumber(invoice_number);
|
||||
invoiceLog.setState(OrderStateEnum.RECEIVED.getStateid());
|
||||
invoiceLog.setSettlementTime(now);
|
||||
invoiceLog.setSettlementUserId(order.getSettlementUserId()); // 发票使用人
|
||||
invoiceLog.setSettlementUserName(order.getSettlementUserName());
|
||||
invoiceLog.setOrderSn(order.getSn());
|
||||
invoiceLog.setType(OrderTypeEnum.TEMP.getTypeid());
|
||||
|
||||
ret = invoiceLog.save();
|
||||
|
||||
if (!ret) {
|
||||
return false;
|
||||
}
|
||||
|
||||
synctask.addSaveData(invoiceLog);
|
||||
synctask.addUpdateData(receive);
|
||||
// }
|
||||
|
||||
// 在这里更新sn字段之后存入
|
||||
synctask.addSaveData(order);
|
||||
synctask.addUpdateData(transport);
|
||||
|
|
@ -573,7 +581,8 @@ public class OrderTempSyncService {
|
|||
InvoiceReceive receive = null;
|
||||
|
||||
// 2020-09-29 需要开具专票的,先开具结算单,不打发票
|
||||
if (CliCacheData.SUP.getInvoiceType() == 2 && customer.getInvoiceType() == 2) {
|
||||
// 2020-10-12 所有超市都可以开结算单
|
||||
if ( customer.getInvoiceType() == 2) {
|
||||
order.setInvoiceType(2);
|
||||
// 需要专票的,在结算开了专票之后,再修改 invoice_site 字段
|
||||
} else {
|
||||
|
|
|
|||
Loading…
Reference in New Issue