提取判断出厂超重方法

dev
wuwenxiong 2021-09-14 14:06:32 +08:00
parent b03a47c250
commit 6f741a62dc
6 changed files with 89 additions and 74 deletions

View File

@ -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;
}
}

View File

@ -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);

View File

@ -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()); // 销售的用第二次减第一次

View File

@ -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<TruckWeightLimit> 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;
}
}

View File

@ -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) {

View File

@ -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<TruckWeightLimit> 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;
}
}