diff --git a/ssjygl-xsx-common/src/main/java/com/cowr/common/utils/DateTimeUtil.java b/ssjygl-xsx-common/src/main/java/com/cowr/common/utils/DateTimeUtil.java index 825b364..4aeb217 100644 --- a/ssjygl-xsx-common/src/main/java/com/cowr/common/utils/DateTimeUtil.java +++ b/ssjygl-xsx-common/src/main/java/com/cowr/common/utils/DateTimeUtil.java @@ -15,6 +15,11 @@ public class DateTimeUtil { return new SimpleDateFormat("yyyyMMdd"); } }; + public static final ThreadLocal year_start = new ThreadLocal() { + protected SimpleDateFormat initialValue() { + return new SimpleDateFormat("yyyy-01-01"); + } + }; public static final ThreadLocal sdf = new ThreadLocal() { protected SimpleDateFormat initialValue() { diff --git a/ssjygl-xsx-service/src/main/java/com/cowr/service/ssjygl/jobs/StatSmsJob.java b/ssjygl-xsx-service/src/main/java/com/cowr/service/ssjygl/jobs/StatSmsJob.java index 59359c3..f792850 100644 --- a/ssjygl-xsx-service/src/main/java/com/cowr/service/ssjygl/jobs/StatSmsJob.java +++ b/ssjygl-xsx-service/src/main/java/com/cowr/service/ssjygl/jobs/StatSmsJob.java @@ -187,15 +187,21 @@ public class StatSmsJob implements Job { String predaytm = DateTimeUtil.sdf.get().format(c.getTime()); // 前一日 String sendtmtext = DateTimeUtil.sdfymd.get().format(c.getTime()); + String year_start = DateTimeUtil.year_start.get().format(now); + String year_end = DateTimeUtil.sdf.get().format(now); - String ordersql = "select count(t.sn) aggr_cnt, sum(t.weight) aggr_weight, sum(t.total_price) aggr_price from order_temp t where t.state = 5"; + String ordersql = "select count(t.sn) aggr_cnt, ifnull(sum(t.weight), 0) aggr_weight, ifnull(sum(t.total_price), 0) aggr_price \n" + + " from order_temp t \n" + + " where t.create_time >= ? \n" + + " and t.create_time < ? \n" + + " and t.state = 5"; String cusmersql = "select ifnull(sum(t.surplus), 0) customer_total_surplus from prepay_customer t"; String daysql = "select count(t.sn) total_cnt, ifnull(sum(t.weight), 0) total_weight, ifnull(sum(t.total_price), 0) total_price from order_temp t\n" + " where t.state = 5\n" + " and t.create_time like '" + predaytm + "%'"; JSONObject obj = new JSONObject(); - Record orderobj = Db.findFirst(ordersql); + Record orderobj = Db.findFirst(ordersql, year_start, year_end); Record customerobj = Db.findFirst(cusmersql); Record dayobj = Db.findFirst(daysql); diff --git a/ssjygl-xsx-service/src/main/java/com/cowr/service/ssjygl/order/ordercluster/OrderclusterSyncService.java b/ssjygl-xsx-service/src/main/java/com/cowr/service/ssjygl/order/ordercluster/OrderclusterSyncService.java index c0e8cb2..15ff814 100644 --- a/ssjygl-xsx-service/src/main/java/com/cowr/service/ssjygl/order/ordercluster/OrderclusterSyncService.java +++ b/ssjygl-xsx-service/src/main/java/com/cowr/service/ssjygl/order/ordercluster/OrderclusterSyncService.java @@ -839,34 +839,22 @@ public class OrderclusterSyncService extends BaseSyncService { } } - public Result complete(int ordercluster_id, Sysuser sysuser) { - Ordercluster oldobj = Ordercluster.dao.findById(ordercluster_id); - - if (oldobj == null) { - return Result.failed(false, "按主键未找到对应记录"); - } - - if (oldobj.getState() >= OrderStateEnum.RECEIVED.getStateid()) { - return Result.failed("已经完结或者取消的,不能再修改"); - } -/* + public Result checkTransportTruck(int ordercluster_id, Integer supermarket_id, Date time) { List otlist = OrderclusterTruck.dao.find( - "select * from ordercluster_truck \n" + - " where ordercluster_id = ? \n", oldobj.getId()); + "select * from ordercluster_truck where ordercluster_id = ? ", ordercluster_id); if (!otlist.isEmpty()) { - List trlist = new ArrayList<>(); + List trlist = new ArrayList<>(); List chktpsql = new ArrayList<>(); - // 数据库中,提交上的数据中没有的,要删掉 for (OrderclusterTruck ot : otlist) { trlist.add(ot.getTruckLicense()); chktpsql.add("?"); } List querydel = new ArrayList<>(); - querydel.add(oldobj.getSupermarketId().toString()); - querydel.add(DateTimeUtil.sdf.get().format(oldobj.getCutoffTime()) + "%"); + querydel.add(supermarket_id.toString()); + querydel.add(DateTimeUtil.sdf.get().format(time) + "%"); querydel.addAll(trlist); List chktp = Transport.dao.find("select * from transport t \n" + @@ -883,7 +871,26 @@ public class OrderclusterSyncService extends BaseSyncService { return Result.failedstr("配额中的车辆[%s]还未结算出场,或者砂站数据还未同步至结算中心,不能结束", StrKit.join(errarr, ",")); } - }*/ + } + + return null; + } + + public Result complete(int ordercluster_id, Sysuser sysuser) { + Ordercluster oldobj = Ordercluster.dao.findById(ordercluster_id); + + if (oldobj == null) { + return Result.failed(false, "按主键未找到对应记录"); + } + + if (oldobj.getState() >= OrderStateEnum.RECEIVED.getStateid()) { + return Result.failed("已经完结或者取消的,不能再修改"); + } + + Result chk = checkTransportTruck(oldobj.getId(), oldobj.getSupermarketId(), oldobj.getCutoffTime()); + if (chk != null && chk.getCode() != Result.SUCCESS) { + return chk; + } oldobj.setState(OrderStateEnum.RECEIVED.getStateid()); // 将订单状态置为 5 oldobj.setCompleteTime(new Date()); diff --git a/ssjygl-xsx-service/src/main/java/com/cowr/service/ssjygl/prepay/prepaydetail/PrepayDetailSyncService.java b/ssjygl-xsx-service/src/main/java/com/cowr/service/ssjygl/prepay/prepaydetail/PrepayDetailSyncService.java index 3f91241..921cc76 100644 --- a/ssjygl-xsx-service/src/main/java/com/cowr/service/ssjygl/prepay/prepaydetail/PrepayDetailSyncService.java +++ b/ssjygl-xsx-service/src/main/java/com/cowr/service/ssjygl/prepay/prepaydetail/PrepayDetailSyncService.java @@ -31,6 +31,10 @@ public class PrepayDetailSyncService extends BaseSyncService { return Result.failed("按客户 id 未找到对应客户信息"); } + if (model.checkDuplicate("serialnum")) { + return Result.failedstr("流水号【%s】已存在", model.getSerialnum()); + } + model.setId(StrKit.getRandomUUID()); model.setState(1); model.setType(1);