diff --git a/ssjygl-xsx-common/src/main/java/com/cowr/ssjygl/truck/weightlimitmodifylog/TruckWeightLimitModifyLogService.java b/ssjygl-xsx-common/src/main/java/com/cowr/ssjygl/truck/weightlimitmodifylog/TruckWeightLimitModifyLogService.java index ec93ed1..810b00d 100644 --- a/ssjygl-xsx-common/src/main/java/com/cowr/ssjygl/truck/weightlimitmodifylog/TruckWeightLimitModifyLogService.java +++ b/ssjygl-xsx-common/src/main/java/com/cowr/ssjygl/truck/weightlimitmodifylog/TruckWeightLimitModifyLogService.java @@ -1,11 +1,11 @@ package com.cowr.ssjygl.truck.weightlimitmodifylog; +import com.alibaba.fastjson.JSONObject; import com.cowr.common.Const; import com.cowr.common.base.BaseService; import com.cowr.common.view.PageParam; import com.cowr.model.TruckWeightLimitModifyLog; import com.jfinal.kit.StrKit; -import com.jfinal.log.Log; import com.jfinal.plugin.activerecord.Db; import com.jfinal.plugin.activerecord.Page; import com.jfinal.plugin.activerecord.Record; @@ -79,4 +79,18 @@ public class TruckWeightLimitModifyLogService extends BaseService { return Db.find(sql, paraList.toArray()); } + + + public TruckWeightLimitModifyLog json2model(JSONObject obj) { + TruckWeightLimitModifyLog truckWeightLimitModifyLog = new TruckWeightLimitModifyLog(); + truckWeightLimitModifyLog.setUuid(obj.getString("uuid")); + truckWeightLimitModifyLog.setTruckLicense(obj.getString("truck_license")); + truckWeightLimitModifyLog.setWeightLimit(obj.getBigDecimal("weight_limit")); + truckWeightLimitModifyLog.setAttachment(obj.getString("attachment")); + truckWeightLimitModifyLog.setState(obj.getInteger("state")); + truckWeightLimitModifyLog.setChangeUserId(obj.getInteger("change_user_id")); + truckWeightLimitModifyLog.setChangeUserName(obj.getString("change_user_name")); + truckWeightLimitModifyLog.setChangeTime(obj.getDate("change_time")); + return truckWeightLimitModifyLog; + } } diff --git a/ssjygl-xsx-local/src/main/java/com/cowr/local/ssjygl/devicectrl/controllers/OutController.java b/ssjygl-xsx-local/src/main/java/com/cowr/local/ssjygl/devicectrl/controllers/OutController.java index ed79a02..99849b3 100644 --- a/ssjygl-xsx-local/src/main/java/com/cowr/local/ssjygl/devicectrl/controllers/OutController.java +++ b/ssjygl-xsx-local/src/main/java/com/cowr/local/ssjygl/devicectrl/controllers/OutController.java @@ -6,9 +6,8 @@ import com.cowr.local.ssjygl.devicectrl.device.LEDThread; import com.cowr.local.ssjygl.devicectrl.device.PLC; import com.cowr.local.ssjygl.devicectrl.utils.LicenseJPGPair; import com.cowr.local.ssjygl.main.CliCacheData; -import com.cowr.local.ssjygl.main.Config; +import com.cowr.local.ssjygl.truck.truckweightlimit.TruckWeightLimitSyncService; import com.cowr.model.PostLicenseResult; -import com.cowr.model.TruckWeightLimit; import com.cowr.ssjygl.order.ordercluster.OrderclusterService; import com.jfinal.kit.StrKit; import com.jfinal.log.Log; @@ -254,23 +253,10 @@ public class OutController extends Controller implements Runnable { try { // 如果对应的车辆有限重配置则判断限重配置是否超标,如果没有则用系统默认的限重配置判断 // 如果超重则在LED上显示超重信息 - BigDecimal truckWeightLimit; - BigDecimal minWeightLimit; - BigDecimal supermarketWeightLimit = BigDecimal.valueOf(Config.configprop.getInt("weigh.max")); - TruckWeightLimit weightLimit = TruckWeightLimit.dao.findById(pair.license); - if (weightLimit != null) { - truckWeightLimit = weightLimit.getWeightLimit(); - if (truckWeightLimit.compareTo(supermarketWeightLimit) > 0) { - minWeightLimit = supermarketWeightLimit; - } else { - minWeightLimit = truckWeightLimit; - } - } else { - minWeightLimit = supermarketWeightLimit; - } - if (new BigDecimal(weight).compareTo(minWeightLimit) > 0) { + BigDecimal weightLimit = TruckWeightLimitSyncService.me.getMinTruckWeightLimit(pair.license); + if (new BigDecimal(weight).compareTo(weightLimit) > 0) { getLed().setInfo(pair.license, "超重"); - log.debug("%s 【%s】超重,限重%.2f吨,称重%.2f吨", getWhich(), pair.license, minWeightLimit, weight); + log.debug("%s 【%s】超重,限重%.2f吨,称重%.2f吨", getWhich(), pair.license, weightLimit, weight); } BigDecimal total_price = OrderclusterService.me.getTotalPriceByLicense(CliCacheData.SUP.getId(), pair.license, weight); diff --git a/ssjygl-xsx-local/src/main/java/com/cowr/local/ssjygl/order/ordertemp/OrderTempSyncService.java b/ssjygl-xsx-local/src/main/java/com/cowr/local/ssjygl/order/ordertemp/OrderTempSyncService.java index fb7848d..9f4e4c0 100644 --- a/ssjygl-xsx-local/src/main/java/com/cowr/local/ssjygl/order/ordertemp/OrderTempSyncService.java +++ b/ssjygl-xsx-local/src/main/java/com/cowr/local/ssjygl/order/ordertemp/OrderTempSyncService.java @@ -13,6 +13,7 @@ import com.cowr.local.ssjygl.modifylog.ModifyLogSyncService; import com.cowr.local.ssjygl.order.LocalOrderService; import com.cowr.local.ssjygl.order.orderseq.OrderSeqService; import com.cowr.local.ssjygl.synctask.SyncTaskService; +import com.cowr.local.ssjygl.truck.truckweightlimit.TruckWeightLimitSyncService; import com.cowr.model.*; import com.cowr.ssjygl.invoice.log.InvoiceLogService; import com.cowr.ssjygl.invoice.receive.InvoiceReceiveService; @@ -92,22 +93,9 @@ public class OrderTempSyncService { return Result.failedstr("重量数据有误,第一次称重:%.4f,第二次称重:%.4f", transport.getFirstWeight(), transport.getSecondWeight()); } - BigDecimal truckWeightLimit; - BigDecimal minWeightLimit; - BigDecimal supermarketWeightLimit = BigDecimal.valueOf(Config.configprop.getInt("weigh.max")); - TruckWeightLimit weightLimit = TruckWeightLimit.dao.findById(transport.getTruckLicense()); - if (weightLimit != null) { - truckWeightLimit = weightLimit.getWeightLimit(); - if (truckWeightLimit.compareTo(supermarketWeightLimit) > 0) { - minWeightLimit = supermarketWeightLimit; - } else { - minWeightLimit = truckWeightLimit; - } - } else { - minWeightLimit = supermarketWeightLimit; - } - if (transport.getSecondWeight().compareTo(minWeightLimit) > 0) { - return Result.failedstr("毛重不能超过 %.2f 吨", minWeightLimit); + BigDecimal weightLimit = TruckWeightLimitSyncService.me.getMinTruckWeightLimit(transport.getTruckLicense()); + if (transport.getSecondWeight().compareTo(weightLimit) > 0) { + return Result.failedstr("毛重不能超过 %.2f 吨", weightLimit); } BigDecimal net_weight = transport.getSecondWeight().subtract(transport.getFirstWeight()); // 销售的用第二次减第一次 @@ -345,22 +333,9 @@ public class OrderTempSyncService { return Result.failedstr("重量数据有误,第一次称重:%.2f,第二次称重:%.2f", transport.getFirstWeight(), transport.getSecondWeight()); } - BigDecimal truckWeightLimit; - BigDecimal minWeightLimit; - BigDecimal supermarketWeightLimit = BigDecimal.valueOf(Config.configprop.getInt("weigh.max")); - TruckWeightLimit weightLimit = TruckWeightLimit.dao.findById(transport.getTruckLicense()); - if (weightLimit != null) { - truckWeightLimit = weightLimit.getWeightLimit(); - if (truckWeightLimit.compareTo(supermarketWeightLimit) > 0) { - minWeightLimit = supermarketWeightLimit; - } else { - minWeightLimit = truckWeightLimit; - } - } else { - minWeightLimit = supermarketWeightLimit; - } - if (transport.getSecondWeight().compareTo(minWeightLimit) > 0) { - return Result.failedstr("毛重不能超过 %.2f 吨", minWeightLimit); + BigDecimal weightLimit = TruckWeightLimitSyncService.me.getMinTruckWeightLimit(transport.getTruckLicense()); + if (transport.getSecondWeight().compareTo(weightLimit) > 0) { + return Result.failedstr("毛重不能超过 %.2f 吨", weightLimit); } BigDecimal net_weight = transport.getSecondWeight().subtract(transport.getFirstWeight()); // 销售的用第二次减第一次 @@ -697,22 +672,9 @@ public class OrderTempSyncService { return Result.failedstr("重量数据有误,第一次称重:%.4f,第二次称重:%.4f", transport.getFirstWeight(), transport.getSecondWeight()); } - BigDecimal truckWeightLimit; - BigDecimal minWeightLimit; - BigDecimal supermarketWeightLimit = BigDecimal.valueOf(Config.configprop.getInt("weigh.max")); - TruckWeightLimit weightLimit = TruckWeightLimit.dao.findById(transport.getTruckLicense()); - if (weightLimit != null) { - truckWeightLimit = weightLimit.getWeightLimit(); - if (truckWeightLimit.compareTo(supermarketWeightLimit) > 0) { - minWeightLimit = supermarketWeightLimit; - } else { - minWeightLimit = truckWeightLimit; - } - } else { - minWeightLimit = supermarketWeightLimit; - } - if (transport.getSecondWeight().compareTo(minWeightLimit) > 0) { - return Result.failedstr("毛重不能超过 %.2f 吨", minWeightLimit); + BigDecimal weightLimit = TruckWeightLimitSyncService.me.getMinTruckWeightLimit(transport.getTruckLicense()); + if (transport.getSecondWeight().compareTo(weightLimit) > 0) { + return Result.failedstr("毛重不能超过 %.2f 吨", weightLimit); } BigDecimal net_weight = transport.getSecondWeight().subtract(transport.getFirstWeight()); // 销售的用第二次减第一次 diff --git a/ssjygl-xsx-local/src/main/java/com/cowr/local/ssjygl/truck/truckweightlimit/TruckWeightLimitSyncService.java b/ssjygl-xsx-local/src/main/java/com/cowr/local/ssjygl/truck/truckweightlimit/TruckWeightLimitSyncService.java index 4b6d667..75b7cc0 100644 --- a/ssjygl-xsx-local/src/main/java/com/cowr/local/ssjygl/truck/truckweightlimit/TruckWeightLimitSyncService.java +++ b/ssjygl-xsx-local/src/main/java/com/cowr/local/ssjygl/truck/truckweightlimit/TruckWeightLimitSyncService.java @@ -5,6 +5,7 @@ import com.cowr.common.enums.Enums; import com.cowr.common.view.PageParam; import com.cowr.common.view.Result; import com.cowr.local.ssjygl.base.BaseSyncService; +import com.cowr.local.ssjygl.main.Config; import com.cowr.local.ssjygl.synctask.SyncTaskService; import com.cowr.model.*; import com.cowr.ssjygl.modifylog.ModifyLogService; @@ -15,6 +16,7 @@ import com.jfinal.plugin.activerecord.IAtom; import com.jfinal.plugin.activerecord.Page; import com.jfinal.plugin.activerecord.Record; +import java.math.BigDecimal; import java.util.ArrayList; import java.util.Date; import java.util.List; @@ -297,4 +299,23 @@ public class TruckWeightLimitSyncService extends BaseSyncService { public List list() { return TruckWeightLimit.dao.find("select * from truck_weight_limit"); } + + public BigDecimal getMinTruckWeightLimit(String truck_license) { + BigDecimal truckWeightLimit; + BigDecimal minWeightLimit; + BigDecimal supermarketWeightLimit = BigDecimal.valueOf(Config.configprop.getInt("weigh.max")); + TruckWeightLimit weightLimit = TruckWeightLimit.dao.findById(truck_license); + if (weightLimit != null) { + truckWeightLimit = weightLimit.getWeightLimit(); + if (truckWeightLimit.compareTo(supermarketWeightLimit) > 0) { + minWeightLimit = supermarketWeightLimit; + } else { + minWeightLimit = truckWeightLimit; + } + } else { + minWeightLimit = supermarketWeightLimit; + } + + return minWeightLimit; + } } diff --git a/ssjygl-xsx-service/src/main/java/com/cowr/service/ssjygl/synctask/SyncTaskService.java b/ssjygl-xsx-service/src/main/java/com/cowr/service/ssjygl/synctask/SyncTaskService.java index db48100..b0dd478 100644 --- a/ssjygl-xsx-service/src/main/java/com/cowr/service/ssjygl/synctask/SyncTaskService.java +++ b/ssjygl-xsx-service/src/main/java/com/cowr/service/ssjygl/synctask/SyncTaskService.java @@ -7,8 +7,10 @@ import com.cowr.common.enums.OrderStateEnum; import com.cowr.model.*; import com.cowr.service.ssjygl.main.Config; import com.cowr.service.ssjygl.main.SvrCacheData; +import com.cowr.service.ssjygl.truck.truckweightlimit.TruckWeightLimitService; import com.cowr.ssjygl.CacheData; import com.cowr.ssjygl.blacklist.BlacklistService; +import com.cowr.ssjygl.truck.weightlimitmodifylog.TruckWeightLimitModifyLogService; import com.jfinal.kit.StrKit; import com.jfinal.log.Log; import com.jfinal.plugin.activerecord.Db; @@ -298,6 +300,14 @@ public class SyncTaskService { if (Blacklist.dao.getTablename().equals(tablename)) { synctask.addSaveData(BlacklistService.me.json2model(obj)); } + + if ("truck_weight_limit".equals(tablename)) { + synctask.addSaveData(TruckWeightLimitService.me.json2model(obj)); + } + + if ("truck_weight_limit_modify_log".equals(tablename)) { + synctask.addSaveData(TruckWeightLimitModifyLogService.me.json2model(obj)); + } } // 分发黑名单 @@ -366,6 +376,14 @@ public class SyncTaskService { if (Blacklist.dao.getTablename().equals(tablename)) { synctask.addUpdateData(BlacklistService.me.json2model(obj)); } + + if ("truck_weight_limit".equals(tablename)) { + synctask.addUpdateData(TruckWeightLimitService.me.json2model(obj)); + } + + if ("truck_weight_limit_modify_log".equals(tablename)) { + synctask.addUpdateData(TruckWeightLimitModifyLogService.me.json2model(obj)); + } } // 分发黑名单 @@ -412,10 +430,10 @@ public class SyncTaskService { String pks = data.getString("pks"); JSONArray arr = data.getJSONArray("data"); - if (AuthLicense.dao.getTablename().equals(tablename)) { - deleteauthlics.addAll(arr); - continue; - } +// if (AuthLicense.dao.getTablename().equals(tablename)) { +// deleteauthlics.addAll(arr); +// continue; +// } for (int i = 0; i < arr.size(); i++) { JSONObject obj = arr.getJSONObject(i); @@ -513,9 +531,9 @@ public class SyncTaskService { } } - if (!saveauthlics.isEmpty() || !deleteauthlics.isEmpty()) { - return recvAuthLicense(saveauthlics, deleteauthlics, current_supermarket_id); - } +// if (!saveauthlics.isEmpty() || !deleteauthlics.isEmpty()) { +// return recvAuthLicense(saveauthlics, deleteauthlics, current_supermarket_id); +// } return true; } catch (Exception e) { diff --git a/ssjygl-xsx-service/src/main/java/com/cowr/service/ssjygl/truck/truckweightlimit/TruckWeightLimitService.java b/ssjygl-xsx-service/src/main/java/com/cowr/service/ssjygl/truck/truckweightlimit/TruckWeightLimitService.java index 160f316..f555538 100644 --- a/ssjygl-xsx-service/src/main/java/com/cowr/service/ssjygl/truck/truckweightlimit/TruckWeightLimitService.java +++ b/ssjygl-xsx-service/src/main/java/com/cowr/service/ssjygl/truck/truckweightlimit/TruckWeightLimitService.java @@ -1,5 +1,6 @@ package com.cowr.service.ssjygl.truck.truckweightlimit; +import com.alibaba.fastjson.JSONObject; import com.cowr.common.Const; import com.cowr.common.base.BaseService; import com.cowr.common.view.PageParam; @@ -67,4 +68,17 @@ public class TruckWeightLimitService extends BaseService { public List list() { return TruckWeightLimit.dao.find("select * from truck_weight_limit"); } + + public TruckWeightLimit json2model(JSONObject obj) { + TruckWeightLimit weightLimit = new TruckWeightLimit(); + weightLimit.setTruckLicense(obj.getString("truck_license")); + weightLimit.setWeightLimit(obj.getBigDecimal("weight_limit")); + weightLimit.setAttachment(obj.getString("attachment")); + weightLimit.setCreateUserId(obj.getInteger("create_user_id")); + weightLimit.setCreateUserName(obj.getString("create_user_name")); + weightLimit.setCreateTime(obj.getDate("create_time")); + weightLimit.setChangeTime(obj.getDate("change_time")); + weightLimit.setDel(obj.getInteger("del")); + return weightLimit; + } }