diff --git a/ssjygl-xsct-common/src/main/java/com/cowr/ssjygl/order/ordertemp/OrderTempService.java b/ssjygl-xsct-common/src/main/java/com/cowr/ssjygl/order/ordertemp/OrderTempService.java index fe1dccc..69211b7 100644 --- a/ssjygl-xsct-common/src/main/java/com/cowr/ssjygl/order/ordertemp/OrderTempService.java +++ b/ssjygl-xsct-common/src/main/java/com/cowr/ssjygl/order/ordertemp/OrderTempService.java @@ -101,7 +101,7 @@ public class OrderTempService extends BaseService { Integer product_id, Boolean invoice_code_is_null ) { - String selectsql = "select t.* ,t.sn as old_sn,t.ticket_code as old_ticket_code" + + String selectsql = "select t.* ,t.sn as old_sn,t.ticket_code as old_ticket_code,ot.ticket_code as new_ticket_code,ot.sn as new_sn" + ", p.in_time, p.out_time, p.in_which, p.out_which, p.in_mode, p.out_mode \n" + ", p.first_weight, p.second_weight, p.first_weigh_mode, p.second_weight_mode \n" + ", p.first_pic, p.first_weight_which, p.second_weight_which, p.second_pic \n" + @@ -116,7 +116,7 @@ public class OrderTempService extends BaseService { List paraList = new ArrayList<>(); if (supermarket_type != null && supermarket_type == 3) { - selectsql = "select t.* " + + selectsql = "select t.*,t.ticket_code as new_ticket_code,t.sn as new_sn " + ", p.in_time, p.out_time, p.in_which, p.out_which, p.in_mode, p.out_mode \n" + ", p.first_weight, p.second_weight, p.first_weigh_mode, p.second_weight_mode \n" + ", p.first_pic, p.first_weight_which, p.second_weight_which, p.second_pic \n" + diff --git a/ssjygl-xsct-common/src/main/java/com/cowr/ssjygl/stat/invoice/InvoiceUseService.java b/ssjygl-xsct-common/src/main/java/com/cowr/ssjygl/stat/invoice/InvoiceUseService.java index e219627..a7098d0 100644 --- a/ssjygl-xsct-common/src/main/java/com/cowr/ssjygl/stat/invoice/InvoiceUseService.java +++ b/ssjygl-xsct-common/src/main/java/com/cowr/ssjygl/stat/invoice/InvoiceUseService.java @@ -45,14 +45,14 @@ public class InvoiceUseService { ) { String logsql = "select \n" + " t.id rowkey, t.invoice_number, t.`code` invoice_code, t.state invoice_state, t.settlement_user_name, t.settlement_time, t.create_time, t.invalid_time, t.invalid_memo, t.invoice_type, t.invalid_user_name\n" + - " , r.receive_user_name, r.create_time receive_time, r.supermarket_id\n" + +// " , r.receive_user_name, r.create_time receive_time, r.supermarket_id\n" + " , o.sn order_sn, o.weight, o.total_price, o.unit_price, o.truck_license, o.customer_id, o.customer_texpayer_name, o.customer_texpayer_num, o.isprepaid, o.state order_state, o.ticket_code,o.product_id,o.product_name\n" + " , s.name supermarket_name " + " from invoice_log t\n" + - " left join invoice_receive r on t.invoice_receive_id = r.id\n" + +// " left join invoice_receive r on t.invoice_receive_id = r.id\n" + " left join order_temp o on o.sn = t.order_sn \n" + - " left join supermarket s on s.id = r.supermarket_id \n" + - " where t.state = 9 \n"; + " left join supermarket s on s.id = o.supermarket_id \n" + + " where t.state = 9 and o.sale_type != 2 \n"; String ordsql = "select\n" + " t.uuid rowkey, t.invoice_number, t.invoice_code, l.state invoice_state, t.settlement_user_name, l.settlement_time, t.create_time, l.invalid_time, l.invalid_memo, t.invoice_type, l.invalid_user_name\n" + @@ -63,7 +63,7 @@ public class InvoiceUseService { " left join invoice_log l on l.invoice_number = t.invoice_number and l.code = t.invoice_code and l.order_sn = t.sn \n" + " left join supermarket s on s.id = t.supermarket_id\n" + " left join invoice_receive r on l.invoice_receive_id = r.id\n" + - " where 1=1 \n"; + " where 1=1 and t.invoice_code is not null and t.sale_type != 2 \n"; List paramlog = new ArrayList<>(); List paramord = new ArrayList<>(); diff --git a/ssjygl-xsct-local/src/main/java/com/cowr/local/ssjygl/order/ordertemp/OrderTempSyncService.java b/ssjygl-xsct-local/src/main/java/com/cowr/local/ssjygl/order/ordertemp/OrderTempSyncService.java index 236af9d..724fc62 100644 --- a/ssjygl-xsct-local/src/main/java/com/cowr/local/ssjygl/order/ordertemp/OrderTempSyncService.java +++ b/ssjygl-xsct-local/src/main/java/com/cowr/local/ssjygl/order/ordertemp/OrderTempSyncService.java @@ -121,9 +121,9 @@ public class OrderTempSyncService { receive.setSurplus(receive.getSurplus() - 1); receive.setCurrentCode(invoice_code); - order.setInvoiceCode(invoice_code); - order.setInvoiceNumber(invoice_number); - order.setInvoiceType(1); +// order.setInvoiceCode(invoice_code); +// order.setInvoiceNumber(invoice_number); +// order.setInvoiceType(1); } else { // 不开发票的,必须使用结算单 ticketReceive = TicketReceiveService.me.checkSurplusReceive(transport.getSupermarketId(), ticket_code); @@ -140,7 +140,7 @@ public class OrderTempSyncService { ticketReceive.setCurrentCode(ticket_code); order.setTicketCode(ticket_code); - order.setInvoiceType(2); +// order.setInvoiceType(2); } order.setTransportId(transport.getId()); @@ -383,24 +383,24 @@ public class OrderTempSyncService { // 零散客户需要开具发票的,需要检查是否有有效的领用记录 if (ordercluster.getReqReceipt() == 1) { - receive = InvoiceReceiveService.me.checkSurplusReceive(transport.getSupermarketId(), invoice_number, invoice_code); - - if (receive == null) { - return Result.failed("没有有效的发票领用记录,或者发票已经被使用"); - } - - InvoiceLog invoiceLog = InvoiceLogService.me.checkUseInvoiceLog(invoice_number, invoice_code); - if (invoiceLog != null) { - return Result.failedstr("发票 %s|%s 已使用!重新打开结算界面,获取新的发票信息。", invoice_number, invoice_code); - } - - order.setInvoiceCode(invoice_code); - order.setInvoiceNumber(invoice_number); - - receive.setSurplus(receive.getSurplus() - 1); - receive.setCurrentCode(invoice_code); - - order.setInvoiceType(1); // 需要开发票的,都是冠名发票 +// receive = InvoiceReceiveService.me.checkSurplusReceive(transport.getSupermarketId(), invoice_number, invoice_code); +// +// if (receive == null) { +// return Result.failed("没有有效的发票领用记录,或者发票已经被使用"); +// } +// +// InvoiceLog invoiceLog = InvoiceLogService.me.checkUseInvoiceLog(invoice_number, invoice_code); +// if (invoiceLog != null) { +// return Result.failedstr("发票 %s|%s 已使用!重新打开结算界面,获取新的发票信息。", invoice_number, invoice_code); +// } +// +// order.setInvoiceCode(invoice_code); +// order.setInvoiceNumber(invoice_number); +// +// receive.setSurplus(receive.getSurplus() - 1); +// receive.setCurrentCode(invoice_code); +// +// order.setInvoiceType(1); // 需要开发票的,都是冠名发票 } else { // 不开发票的,必须使用结算单 ticketReceive = TicketReceiveService.me.checkSurplusReceive(transport.getSupermarketId(), ticket_code); @@ -416,7 +416,7 @@ public class OrderTempSyncService { ticketReceive.setSurplus(ticketReceive.getSurplus() - 1); ticketReceive.setCurrentCode(ticket_code); order.setTicketCode(ticket_code); - order.setInvoiceType(2); // 不需要开发票的,都是要专票的 +// order.setInvoiceType(2); // 不需要开发票的,都是要专票的 } Date now = new Date(); @@ -762,25 +762,25 @@ public class OrderTempSyncService { // 2020-09-29 需要开具专票的,先开具结算单,不打发票 // 2020-10-12 所有砂站都可以开结算单 if (customer.getInvoiceType() == 1) { - receive = InvoiceReceiveService.me.checkSurplusReceive(transport.getSupermarketId(), invoice_number, invoice_code); - if (receive == null) { - return Result.failed("没有有效的发票领用记录,或者发票已经被使用"); - } - - InvoiceLog invoiceLog = InvoiceLogService.me.checkUseInvoiceLog(invoice_number, invoice_code); - if (invoiceLog != null) { - return Result.failedstr("发票 %s|%s 已使用!重新打开结算界面,获取新的发票信息。", invoice_number, invoice_code); - } - - receive.setSurplus(receive.getSurplus() - 1); - receive.setCurrentCode(invoice_code); +// receive = InvoiceReceiveService.me.checkSurplusReceive(transport.getSupermarketId(), invoice_number, invoice_code); +// if (receive == null) { +// return Result.failed("没有有效的发票领用记录,或者发票已经被使用"); +// } +// +// InvoiceLog invoiceLog = InvoiceLogService.me.checkUseInvoiceLog(invoice_number, invoice_code); +// if (invoiceLog != null) { +// return Result.failedstr("发票 %s|%s 已使用!重新打开结算界面,获取新的发票信息。", invoice_number, invoice_code); +// } +// +// receive.setSurplus(receive.getSurplus() - 1); +// receive.setCurrentCode(invoice_code); // 不满足开专票的条件的,就必须开具冠名发票 // if (req_receipt == 1) { // 需要同时开具发票 - order.setInvoiceCode(invoice_code); - order.setInvoiceNumber(invoice_number); - order.setInvoiceType(1); - order.setInvoiceSite(1); // 在砂站开具冠名发票 +// order.setInvoiceCode(invoice_code); +// order.setInvoiceNumber(invoice_number); +// order.setInvoiceType(1); +// order.setInvoiceSite(1); // 在砂站开具冠名发票 // } } else { // 需要专票的,在结算开了专票之后,再修改 invoice_site 字段 @@ -798,7 +798,7 @@ public class OrderTempSyncService { ticketReceive.setSurplus(ticketReceive.getSurplus() - 1); ticketReceive.setCurrentCode(ticket_code); order.setTicketCode(ticket_code); - order.setInvoiceType(2); // 不需要开发票的,都是要专票的 +// order.setInvoiceType(2); // 不需要开发票的,都是要专票的 } Product product = Product.dao.findById(ordercluster.getProductId()); @@ -1165,25 +1165,25 @@ public class OrderTempSyncService { // 2020-09-29 需要开具专票的,先开具结算单,不打发票 // 2020-10-12 所有砂站都可以开结算单 if (customer.getInvoiceType() == 1) { - receive = InvoiceReceiveService.me.checkSurplusReceive(transport.getSupermarketId(), invoice_number, invoice_code); - if (receive == null) { - return Result.failed("没有有效的发票领用记录,或者发票已经被使用"); - } - - InvoiceLog invoiceLog = InvoiceLogService.me.checkUseInvoiceLog(invoice_number, invoice_code); - if (invoiceLog != null) { - return Result.failedstr("发票 %s|%s 已使用!重新打开结算界面,获取新的发票信息。", invoice_number, invoice_code); - } - - receive.setSurplus(receive.getSurplus() - 1); - receive.setCurrentCode(invoice_code); +// receive = InvoiceReceiveService.me.checkSurplusReceive(transport.getSupermarketId(), invoice_number, invoice_code); +// if (receive == null) { +// return Result.failed("没有有效的发票领用记录,或者发票已经被使用"); +// } +// +// InvoiceLog invoiceLog = InvoiceLogService.me.checkUseInvoiceLog(invoice_number, invoice_code); +// if (invoiceLog != null) { +// return Result.failedstr("发票 %s|%s 已使用!重新打开结算界面,获取新的发票信息。", invoice_number, invoice_code); +// } +// +// receive.setSurplus(receive.getSurplus() - 1); +// receive.setCurrentCode(invoice_code); // 不满足开专票的条件的,就必须开具冠名发票 // if (req_receipt == 1) { // 需要同时开具发票 - order.setInvoiceCode(invoice_code); - order.setInvoiceNumber(invoice_number); - order.setInvoiceType(1); - order.setInvoiceSite(1); // 在砂站开具冠名发票 +// order.setInvoiceCode(invoice_code); +// order.setInvoiceNumber(invoice_number); +// order.setInvoiceType(1); +// order.setInvoiceSite(1); // 在砂站开具冠名发票 // } } else { // 需要专票的,在结算开了专票之后,再修改 invoice_site 字段 @@ -1201,7 +1201,7 @@ public class OrderTempSyncService { ticketReceive.setSurplus(ticketReceive.getSurplus() - 1); ticketReceive.setCurrentCode(ticket_code); order.setTicketCode(ticket_code); - order.setInvoiceType(2); // 不需要开发票的,都是要专票的 +// order.setInvoiceType(2); // 不需要开发票的,都是要专票的 } Product product = Product.dao.findById(ordercluster.getProductId()); diff --git a/ssjygl-xsct-local/src/main/java/com/cowr/local/ssjygl/order/ordertransfer/OrderTransferSyncService.java b/ssjygl-xsct-local/src/main/java/com/cowr/local/ssjygl/order/ordertransfer/OrderTransferSyncService.java index 7dad25e..835ef46 100644 --- a/ssjygl-xsct-local/src/main/java/com/cowr/local/ssjygl/order/ordertransfer/OrderTransferSyncService.java +++ b/ssjygl-xsct-local/src/main/java/com/cowr/local/ssjygl/order/ordertransfer/OrderTransferSyncService.java @@ -67,12 +67,14 @@ public class OrderTransferSyncService { // } Truck truck = Truck.dao.findById(transport.getTruckLicense()); + if(truck == null){ +// return Result.failedstr("不是物流公司车辆【%s】", transport.getTruckLicense()); + } TransportCompany tc = null; if (truck != null) { -// return Result.failedstr("不是物流公司车辆【%s】", transport.getTruckLicense()); tc = TransportCompany.dao.findById(truck.getTransCoId()); if (tc == null) { - return Result.failedstr("车辆【%s】关联物流公司信息错误", transport.getTruckLicense()); +// return Result.failedstr("车辆【%s】关联物流公司信息错误", transport.getTruckLicense()); } } diff --git a/ssjygl-xsct-local/src/main/java/com/cowr/local/ssjygl/transport/TransportQueryService.java b/ssjygl-xsct-local/src/main/java/com/cowr/local/ssjygl/transport/TransportQueryService.java index cefe887..86e1aa4 100644 --- a/ssjygl-xsct-local/src/main/java/com/cowr/local/ssjygl/transport/TransportQueryService.java +++ b/ssjygl-xsct-local/src/main/java/com/cowr/local/ssjygl/transport/TransportQueryService.java @@ -188,19 +188,20 @@ public class TransportQueryService { } // transobj.set("next_invoice_code", InvoiceReceiveService.me.nextInvoiceCode(transport.getSupermarketId())); // 2020-09-21 加了发票代码 - if (ordercluster.getReqReceipt() == 1) { // 需要打印发票的,才去插领票记录 - // 开专票的需要用结算单 - if (prepayinfo != null && prepayinfo.get("prepay_customer_invoice_type") != null && prepayinfo.getInt("prepay_customer_invoice_type") == 2) { - transobj.set("invoice_numbers", new ArrayList<>()); - transobj.set("ticket_numbers", TicketReceiveService.me.nextTicketCodes(transport.getSupermarketId())); - } else { - transobj.set("invoice_numbers", InvoiceReceiveService.me.nextInvoiceCodes(transport.getSupermarketId())); - transobj.set("ticket_numbers", new ArrayList<>()); - } - } else { - transobj.set("invoice_numbers", new ArrayList<>()); - transobj.set("ticket_numbers", TicketReceiveService.me.nextTicketCodes(transport.getSupermarketId())); - } + transobj.set("ticket_numbers", TicketReceiveService.me.nextTicketCodes(transport.getSupermarketId()));//2025-03-16 砂站只可以开结算单 +// if (ordercluster.getReqReceipt() == 1) { // 需要打印发票的,才去插领票记录 +// // 开专票的需要用结算单 +// if (prepayinfo != null && prepayinfo.get("prepay_customer_invoice_type") != null && prepayinfo.getInt("prepay_customer_invoice_type") == 2) { +// transobj.set("invoice_numbers", new ArrayList<>()); +// transobj.set("ticket_numbers", TicketReceiveService.me.nextTicketCodes(transport.getSupermarketId())); +// } else { +// transobj.set("invoice_numbers", InvoiceReceiveService.me.nextInvoiceCodes(transport.getSupermarketId())); +// transobj.set("ticket_numbers", new ArrayList<>()); +// } +// } else { +// transobj.set("invoice_numbers", new ArrayList<>()); +// transobj.set("ticket_numbers", TicketReceiveService.me.nextTicketCodes(transport.getSupermarketId())); +// } transobj.set("req_receipt", ordercluster.getReqReceipt()); // TODO 2020-10-12 如果放开购买,连零散购砂都不做配额了,这里需要修改 return Result.success(transobj); diff --git a/ssjygl-xsct-service/src/main/java/com/cowr/service/ssjygl/invoice/log/InvoiceLogSyncService.java b/ssjygl-xsct-service/src/main/java/com/cowr/service/ssjygl/invoice/log/InvoiceLogSyncService.java index d261b65..f24a5dd 100644 --- a/ssjygl-xsct-service/src/main/java/com/cowr/service/ssjygl/invoice/log/InvoiceLogSyncService.java +++ b/ssjygl-xsct-service/src/main/java/com/cowr/service/ssjygl/invoice/log/InvoiceLogSyncService.java @@ -52,14 +52,14 @@ public class InvoiceLogSyncService extends BaseSyncService { " and t.sn in(" + StrKit.join(question, ", ") + ")", ordersnlist.toArray()); - List ticketLogs = TicketLog.dao.find("select * from ticket_log t \n" + - " where t.invoice_code is null \n" + - " and t.state = " + OrderStateEnum.RECEIVED.getStateid() + - " and t.order_sn in(" + StrKit.join(question, ", ") + ")", ordersnlist.toArray()); - - if (list.size() != snarr.length || list.size() != ticketLogs.size()) { - return Result.failed("部分订单号未找到,或者已开票"); - } +// List ticketLogs = TicketLog.dao.find("select * from ticket_log t \n" + +// " where t.invoice_code is null \n" + +// " and t.state = " + OrderStateEnum.RECEIVED.getStateid() + +// " and t.order_sn in(" + StrKit.join(question, ", ") + ")", ordersnlist.toArray()); +// +// if (list.size() != snarr.length || list.size() != ticketLogs.size()) { +// return Result.failed("部分订单号未找到,或者已开票"); +// } List logs = new ArrayList<>(); Map map = new HashMap<>(); @@ -87,12 +87,12 @@ public class InvoiceLogSyncService extends BaseSyncService { o.setInvoiceNumber(invoice_number); o.setInvoiceCode(invoice_code); - TicketLog ticketLog = ticketLogs.get(i); - ticketLog.setInvoiceNumber(invoice_number); - ticketLog.setInvoiceCode(invoice_code); - ticketLog.setInvoiceUserId(sysuser.getId()); - ticketLog.setInvoiceUserName(sysuser.getName()); - ticketLog.setInvoiceTime(new Date()); +// TicketLog ticketLog = ticketLogs.get(i); +// ticketLog.setInvoiceNumber(invoice_number); +// ticketLog.setInvoiceCode(invoice_code); +// ticketLog.setInvoiceUserId(sysuser.getId()); +// ticketLog.setInvoiceUserName(sysuser.getName()); +// ticketLog.setInvoiceTime(new Date()); int supermarket_id = o.getSupermarketId(); @@ -102,7 +102,7 @@ public class InvoiceLogSyncService extends BaseSyncService { map.get(supermarket_id).addUpdateData(o); map.get(supermarket_id).addSaveData(invoiceLog); - map.get(supermarket_id).addUpdateData(ticketLog); +// map.get(supermarket_id).addUpdateData(ticketLog); } boolean ret = Db.tx(new IAtom() { @@ -127,14 +127,14 @@ public class InvoiceLogSyncService extends BaseSyncService { } } - int[] editlogsret = Db.batchUpdate(ticketLogs, 500); - - for (int i : editlogsret) { - // 必须是每条 sql 修改一条记录 - if (i != 1) { - return false; - } - } +// int[] editlogsret = Db.batchUpdate(ticketLogs, 500); +// +// for (int i : editlogsret) { +// // 必须是每条 sql 修改一条记录 +// if (i != 1) { +// return false; +// } +// } // 将订单同步到不同的砂站 @@ -325,6 +325,7 @@ public class InvoiceLogSyncService extends BaseSyncService { order.set("invoice_code", null); order.set("invoice_number", null); order.set("invoice_site", null); + order.set("invoice_type", null); boolean ret = order.update(); if (!ret) { @@ -421,6 +422,7 @@ public class InvoiceLogSyncService extends BaseSyncService { o.setInvoiceCode(null); o.setInvoiceNumber(null); o.setInvoiceSite(null); + o.setInvoiceType(null); int supermarket_id = o.getSupermarketId();