车辆型号限重管理修改记录添加增删改标识字段

dev
wuwenxiong 2021-09-08 14:54:38 +08:00
parent 1740b95553
commit 365b15fe78
4 changed files with 47 additions and 46 deletions

View File

@ -108,6 +108,28 @@ public abstract class BaseTruckWeightLimitModifyLog<M extends BaseTruckWeightLim
return getStr("attachment"); return getStr("attachment");
} }
/**
* name: state
* type: TINYINT(3)
* isNullable: NO
* isPrimaryKey: NO
* defaultValue: 1
* @param state
*/
@JSONField(name="state")
public void setState(Integer state) {
set("state", state);
}
/**
* @return state
*/
@JSONField(name="state")
public Integer getState() {
return getInt("state");
}
/** /**
* name: change_user_id * name: change_user_id
* type: INT(10) * type: INT(10)

View File

@ -75,6 +75,7 @@ public class TruckWeightLimitModifyLogService extends BaseService {
sql += " and t.change_time <= ?"; sql += " and t.change_time <= ?";
paraList.add(etm); paraList.add(etm);
} }
sql += " order by t.change_time desc";
return Db.find(sql, paraList.toArray()); return Db.find(sql, paraList.toArray());
} }

View File

@ -75,8 +75,8 @@ public class TruckWeightLimitController extends Controller {
return; return;
} }
TruckWeightLimit model = getModel(TruckWeightLimit.class, "", true); // 忽略不在model中的字段 String truck_license = get("truck_license");
renderJson(TruckWeightLimitSyncService.me.delete(model, tokenuser)); renderJson(TruckWeightLimitSyncService.me.delete(truck_license, tokenuser));
} }
/** /**

View File

@ -1,10 +1,7 @@
package com.cowr.local.ssjygl.truck.truckweightlimit; package com.cowr.local.ssjygl.truck.truckweightlimit;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.cowr.common.Const; import com.cowr.common.Const;
import com.cowr.common.enums.Enums; import com.cowr.common.enums.Enums;
import com.cowr.common.oss.OSSKit;
import com.cowr.common.view.PageParam; import com.cowr.common.view.PageParam;
import com.cowr.common.view.Result; import com.cowr.common.view.Result;
import com.cowr.local.ssjygl.base.BaseSyncService; import com.cowr.local.ssjygl.base.BaseSyncService;
@ -52,6 +49,7 @@ public class TruckWeightLimitSyncService extends BaseSyncService {
modifyLog.setTruckLicense(model.getTruckLicense()); modifyLog.setTruckLicense(model.getTruckLicense());
modifyLog.setWeightLimit(model.getWeightLimit()); modifyLog.setWeightLimit(model.getWeightLimit());
modifyLog.setAttachment(model.getAttachment()); modifyLog.setAttachment(model.getAttachment());
modifyLog.setState(1);
modifyLog.setChangeUserId(sysuser.getId()); modifyLog.setChangeUserId(sysuser.getId());
modifyLog.setChangeUserName(sysuser.getName()); modifyLog.setChangeUserName(sysuser.getName());
modifyLog.setChangeTime(new Date()); modifyLog.setChangeTime(new Date());
@ -90,8 +88,6 @@ public class TruckWeightLimitSyncService extends BaseSyncService {
} }
model.setChangeTime(new Date()); model.setChangeTime(new Date());
String attachment = oldobj.getAttachment();
TruckWeightLimit saveold = oldobj.clone(); TruckWeightLimit saveold = oldobj.clone();
// 将修改后的对象返回 // 将修改后的对象返回
String[] keys = model._getAttrNames(); String[] keys = model._getAttrNames();
@ -110,6 +106,7 @@ public class TruckWeightLimitSyncService extends BaseSyncService {
modifyLog.setTruckLicense(model.getTruckLicense()); modifyLog.setTruckLicense(model.getTruckLicense());
modifyLog.setWeightLimit(model.getWeightLimit()); modifyLog.setWeightLimit(model.getWeightLimit());
modifyLog.setAttachment(model.getAttachment()); modifyLog.setAttachment(model.getAttachment());
modifyLog.setState(2);
modifyLog.setChangeUserId(sysuser.getId()); modifyLog.setChangeUserId(sysuser.getId());
modifyLog.setChangeUserName(sysuser.getName()); modifyLog.setChangeUserName(sysuser.getName());
modifyLog.setChangeTime(new Date()); modifyLog.setChangeTime(new Date());
@ -119,21 +116,6 @@ public class TruckWeightLimitSyncService extends BaseSyncService {
if (!ret) { if (!ret) {
return false; return false;
} }
if (!StrKit.isBlank(attachment)) {
JSONArray jsonArray = JSONObject.parseArray(attachment);
if (jsonArray.size() > 0) {
int j = 0;
for (int i = 0; i < jsonArray.size(); i++) {
JSONObject obj = jsonArray.getJSONObject(i);
String ossKey = obj.getString("ossKey");
if (!StrKit.isBlank(ossKey)) {
boolean flag = OSSKit.delObject(ossKey);
if (flag) j++;
}
}
if (j != jsonArray.size()) return false;
}
}
synctask.addUpdateData(oldobj); // 有自增长主键的,在保存 model 后会自动填充主键的值,然后才能加到 synctask 里面 synctask.addUpdateData(oldobj); // 有自增长主键的,在保存 model 后会自动填充主键的值,然后才能加到 synctask 里面
synctask.addSaveData(modifyLog); synctask.addSaveData(modifyLog);
@ -155,44 +137,40 @@ public class TruckWeightLimitSyncService extends BaseSyncService {
return ret ? Result.object(oldobj) : Result.failed(false, "修改失败"); return ret ? Result.object(oldobj) : Result.failed(false, "修改失败");
} }
public Result delete(TruckWeightLimit model, Sysuser sysuser) { public Result delete(String truck_license, Sysuser sysuser) {
if (!model.checkExistsByPk()) { TruckWeightLimit model = TruckWeightLimit.dao.findById(truck_license);
if (model == null) {
return Result.failed(false, "按主键未找到对应记录"); return Result.failed(false, "按主键未找到对应记录");
} }
String truck_license = model.getTruckLicense();
List<TruckWeightLimitModifyLog> modifyLogList = TruckWeightLimitModifyLog.dao.find("select * from truck_weight_limit_modify_log where truck_license = ?", truck_license);
SyncTask synctask = new SyncTask(); SyncTask synctask = new SyncTask();
boolean ret = Db.tx(new IAtom() { boolean ret = Db.tx(new IAtom() {
@Override @Override
public boolean run() { public boolean run() {
try { try {
List<TruckWeightLimitModifyLog> modifyLogList = TruckWeightLimitModifyLog.dao.find("select * from truck_weight_limit_modify_log where truck_license = ?", truck_license);
if (modifyLogList.size() > 0) { if (modifyLogList.size() > 0) {
int s = Db.delete("delete from truck_weight_limit_modify_log where truck_license = ?", truck_license); modifyLogList.stream().forEach(s -> s.setState(3));
if (s != modifyLogList.size()) return false; int[] ret = Db.batchUpdate(modifyLogList, modifyLogList.size());
// 没有的记录更新影响的行数应该是 0
if (ret.length != modifyLogList.size()) {
return false;
} }
// 删除附件
String attachment = model.getAttachment(); for (int i : ret) {
if (!StrKit.isBlank(attachment)) { // 必须是每条 sql 修改一条记录
JSONArray jsonArray = JSONObject.parseArray(attachment); if (i != 1) {
if (jsonArray.size() > 0) { return false;
int j = 0;
for (int i = 0; i < jsonArray.size(); i++) {
JSONObject obj = jsonArray.getJSONObject(i);
String ossKey = obj.getString("ossKey");
if (!StrKit.isBlank(ossKey)) {
boolean flag = OSSKit.delObject(ossKey);
if (flag) j ++;
} }
} }
if (j != jsonArray.size()) return false;
} modifyLogList.stream().forEach(s -> synctask.addUpdateData(s));
} }
boolean ret = model.delete(); boolean ret = model.delete();
if (!ret) return false; if (!ret) return false;
modifyLogList.stream().forEach(s -> synctask.addDeleteData(s));
synctask.addDeleteData(model); synctask.addDeleteData(model);
return SyncTaskService.me.save(synctask) return SyncTaskService.me.save(synctask)