|
@@ -236,7 +236,7 @@ public class ProdBatchController extends CommonController {
|
|
|
endTime = endTime + " 23:59:59";
|
|
endTime = endTime + " 23:59:59";
|
|
|
}
|
|
}
|
|
|
try {
|
|
try {
|
|
|
- String selectColumns = "select r.modify_type,r.reference_code,f.factory_name,w.workshop_name,bi.item_name as before_item_name,ai.item_name as after_item_name,r.modify_time,r.modify_user";
|
|
|
|
|
|
|
+ String selectColumns = "select r.modify_type,r.reference_code,f.factory_name,w.workshop_name,l.desc as lineName,bi.item_name as before_item_name,ai.item_name as after_item_name,r.modify_time,r.modify_user";
|
|
|
StringBuilder fromSql = new StringBuilder(" from t_item_modify_record r");
|
|
StringBuilder fromSql = new StringBuilder(" from t_item_modify_record r");
|
|
|
fromSql.append(" left join t_factory f on r.factory_id = f.id");
|
|
fromSql.append(" left join t_factory f on r.factory_id = f.id");
|
|
|
fromSql.append(" left join t_workshop w on r.workshop_id = w.id");
|
|
fromSql.append(" left join t_workshop w on r.workshop_id = w.id");
|
|
@@ -265,6 +265,7 @@ public class ProdBatchController extends CommonController {
|
|
|
fromSql.append(" and r.modify_time <= ?");
|
|
fromSql.append(" and r.modify_time <= ?");
|
|
|
params.add(endTime);
|
|
params.add(endTime);
|
|
|
}
|
|
}
|
|
|
|
|
+ fromSql.append(" order by modify_time desc");
|
|
|
Page<Record> paginate = Db.paginate(pageNumber, pageSize, selectColumns, fromSql.toString(), params.toArray());
|
|
Page<Record> paginate = Db.paginate(pageNumber, pageSize, selectColumns, fromSql.toString(), params.toArray());
|
|
|
if(paginate == null){
|
|
if(paginate == null){
|
|
|
renderJson(new PageResult<>(0, pageNumber, pageSize, new ArrayList<>()));
|
|
renderJson(new PageResult<>(0, pageNumber, pageSize, new ArrayList<>()));
|
|
@@ -278,6 +279,7 @@ public class ProdBatchController extends CommonController {
|
|
|
itemModifyRecordVO.setReferenceCode(record.getStr("reference_code"));
|
|
itemModifyRecordVO.setReferenceCode(record.getStr("reference_code"));
|
|
|
itemModifyRecordVO.setFactoryName(record.getStr("factory_name"));
|
|
itemModifyRecordVO.setFactoryName(record.getStr("factory_name"));
|
|
|
itemModifyRecordVO.setWorkshopName(record.getStr("workshop_name"));
|
|
itemModifyRecordVO.setWorkshopName(record.getStr("workshop_name"));
|
|
|
|
|
+ itemModifyRecordVO.setLineName(record.getStr("lineName"));
|
|
|
itemModifyRecordVO.setBeforeItemName(record.getStr("before_item_name"));
|
|
itemModifyRecordVO.setBeforeItemName(record.getStr("before_item_name"));
|
|
|
itemModifyRecordVO.setAfterItemName(record.getStr("after_item_name"));
|
|
itemModifyRecordVO.setAfterItemName(record.getStr("after_item_name"));
|
|
|
itemModifyRecordVO.setModifyTime(DateUtil.format(record.getDate("modify_time"), "yyyy-MM-dd HH:mm:ss"));
|
|
itemModifyRecordVO.setModifyTime(DateUtil.format(record.getDate("modify_time"), "yyyy-MM-dd HH:mm:ss"));
|
|
@@ -317,33 +319,38 @@ public class ProdBatchController extends CommonController {
|
|
|
List<String> referenceCodes = itemModifyRecordDto.getReferenceCodes();
|
|
List<String> referenceCodes = itemModifyRecordDto.getReferenceCodes();
|
|
|
//单号/箱码/托码 对应的修改之前的 品项sku
|
|
//单号/箱码/托码 对应的修改之前的 品项sku
|
|
|
Map<String,String> referenceCodeAndSku = new HashMap<>();
|
|
Map<String,String> referenceCodeAndSku = new HashMap<>();
|
|
|
|
|
+ //单号/箱码/托码 对应的设备编号
|
|
|
|
|
+ Map<String,String> referenceCodeAndDeviceNo = new HashMap<>();
|
|
|
if(modifyType.compareTo(1) == 0){
|
|
if(modifyType.compareTo(1) == 0){
|
|
|
Record first = Db.findFirst("select * from jinzai_upload_master where task_no = ?", referenceCodes.get(0));
|
|
Record first = Db.findFirst("select * from jinzai_upload_master where task_no = ?", referenceCodes.get(0));
|
|
|
if(first == null){
|
|
if(first == null){
|
|
|
return ApiResponse.error("单号不存在");
|
|
return ApiResponse.error("单号不存在");
|
|
|
}
|
|
}
|
|
|
referenceCodeAndSku.put(referenceCodes.get(0),first.getStr("sku"));
|
|
referenceCodeAndSku.put(referenceCodes.get(0),first.getStr("sku"));
|
|
|
|
|
+ referenceCodeAndDeviceNo.put(referenceCodes.get(0),first.getStr("device_no"));
|
|
|
}else if(modifyType.compareTo(2) == 0){
|
|
}else if(modifyType.compareTo(2) == 0){
|
|
|
String codeList = referenceCodes.stream()
|
|
String codeList = referenceCodes.stream()
|
|
|
.map(code -> "'" + code + "'")
|
|
.map(code -> "'" + code + "'")
|
|
|
- .collect(java.util.stream.Collectors.joining(","));
|
|
|
|
|
|
|
+ .collect(Collectors.joining(","));
|
|
|
List<Record> masterRecords = Db.find("select * from jinzai_upload_master where id in(" + codeList + ")");
|
|
List<Record> masterRecords = Db.find("select * from jinzai_upload_master where id in(" + codeList + ")");
|
|
|
if(masterRecords.size() != referenceCodes.size()){
|
|
if(masterRecords.size() != referenceCodes.size()){
|
|
|
return ApiResponse.error("有箱码不存在");
|
|
return ApiResponse.error("有箱码不存在");
|
|
|
}
|
|
}
|
|
|
masterRecords.forEach(record -> {
|
|
masterRecords.forEach(record -> {
|
|
|
referenceCodeAndSku.put(record.getStr("id"),record.getStr("sku"));
|
|
referenceCodeAndSku.put(record.getStr("id"),record.getStr("sku"));
|
|
|
|
|
+ referenceCodeAndDeviceNo.put(record.getStr("id"),record.getStr("device_no"));
|
|
|
});
|
|
});
|
|
|
}else if(modifyType.compareTo(3) == 0){
|
|
}else if(modifyType.compareTo(3) == 0){
|
|
|
String codeList = referenceCodes.stream()
|
|
String codeList = referenceCodes.stream()
|
|
|
.map(code -> "'" + code + "'")
|
|
.map(code -> "'" + code + "'")
|
|
|
- .collect(java.util.stream.Collectors.joining(","));
|
|
|
|
|
|
|
+ .collect(Collectors.joining(","));
|
|
|
List<Record> duoRecords = Db.find("select * from jinzai_upload_master where duo_code in(" + codeList + ")");
|
|
List<Record> duoRecords = Db.find("select * from jinzai_upload_master where duo_code in(" + codeList + ")");
|
|
|
if(duoRecords.size() != referenceCodes.size()){
|
|
if(duoRecords.size() != referenceCodes.size()){
|
|
|
return ApiResponse.error("有托码不存在");
|
|
return ApiResponse.error("有托码不存在");
|
|
|
}
|
|
}
|
|
|
duoRecords.forEach(record -> {
|
|
duoRecords.forEach(record -> {
|
|
|
referenceCodeAndSku.put(record.getStr("duo_code"),record.getStr("sku"));
|
|
referenceCodeAndSku.put(record.getStr("duo_code"),record.getStr("sku"));
|
|
|
|
|
+ referenceCodeAndDeviceNo.put(record.getStr("duo_code"),record.getStr("device_no"));
|
|
|
});
|
|
});
|
|
|
}
|
|
}
|
|
|
boolean tx = Db.tx(() -> {
|
|
boolean tx = Db.tx(() -> {
|
|
@@ -351,7 +358,7 @@ public class ProdBatchController extends CommonController {
|
|
|
//转成字符串,逗号拼接
|
|
//转成字符串,逗号拼接
|
|
|
String addReferenceCode = referenceCodes.stream()
|
|
String addReferenceCode = referenceCodes.stream()
|
|
|
.map(code -> "'" + code + "'")
|
|
.map(code -> "'" + code + "'")
|
|
|
- .collect(java.util.stream.Collectors.joining(","));
|
|
|
|
|
|
|
+ .collect(Collectors.joining(","));
|
|
|
List<Record> itemList = Db.find("select * from t_jz_item");
|
|
List<Record> itemList = Db.find("select * from t_jz_item");
|
|
|
Map<Integer, Record> itemMap = new HashMap<>();
|
|
Map<Integer, Record> itemMap = new HashMap<>();
|
|
|
Map<String,Record> itemSkuMap = new HashMap<>();
|
|
Map<String,Record> itemSkuMap = new HashMap<>();
|
|
@@ -367,12 +374,33 @@ public class ProdBatchController extends CommonController {
|
|
|
(existing, replacement) -> existing
|
|
(existing, replacement) -> existing
|
|
|
));
|
|
));
|
|
|
}
|
|
}
|
|
|
|
|
+ List<Record> deviceList = Db.find("select * from t_jz_device");
|
|
|
|
|
+ Map<String, Record> deviceMap = new HashMap<>();
|
|
|
|
|
+ if (CollUtil.isNotEmpty(deviceList)) {
|
|
|
|
|
+ deviceMap = deviceList.stream().collect(Collectors.toMap(
|
|
|
|
|
+ record -> record.getStr("device_no"),
|
|
|
|
|
+ record -> record,
|
|
|
|
|
+ (existing, replacement) -> existing
|
|
|
|
|
+ ));
|
|
|
|
|
+ }
|
|
|
Record itemRecord = itemMap.get(itemModifyRecordDto.getAfterItemId());
|
|
Record itemRecord = itemMap.get(itemModifyRecordDto.getAfterItemId());
|
|
|
String itemName = itemRecord.getStr("item_name");
|
|
String itemName = itemRecord.getStr("item_name");
|
|
|
String itemKouWei = itemRecord.getStr("kouwei");
|
|
String itemKouWei = itemRecord.getStr("kouwei");
|
|
|
String sku = itemRecord.getStr("sku");
|
|
String sku = itemRecord.getStr("sku");
|
|
|
//批量插入品项更新记录
|
|
//批量插入品项更新记录
|
|
|
for (String referenceCode : referenceCodes) {
|
|
for (String referenceCode : referenceCodes) {
|
|
|
|
|
+ //根据单号/箱码/托码 获取deviceNo
|
|
|
|
|
+ String deviceNo = referenceCodeAndDeviceNo.get(referenceCode);
|
|
|
|
|
+ if(StrKit.isBlank(deviceNo)){
|
|
|
|
|
+ logger.error("单号/箱码/托码:{}未获取到产线编号", referenceCode);
|
|
|
|
|
+ continue;
|
|
|
|
|
+ }
|
|
|
|
|
+ Record deviceRecord = deviceMap.get(deviceNo);
|
|
|
|
|
+ Integer lineId = 0;
|
|
|
|
|
+ if(deviceRecord != null){
|
|
|
|
|
+ lineId = WxUtil.getInt("id", deviceRecord);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
//根据单号/箱码/托码 获取sku
|
|
//根据单号/箱码/托码 获取sku
|
|
|
String beforeSku = referenceCodeAndSku.get(referenceCode);
|
|
String beforeSku = referenceCodeAndSku.get(referenceCode);
|
|
|
if(StrKit.isBlank(beforeSku)){
|
|
if(StrKit.isBlank(beforeSku)){
|
|
@@ -391,7 +419,7 @@ public class ProdBatchController extends CommonController {
|
|
|
record.set("reference_code", referenceCode);
|
|
record.set("reference_code", referenceCode);
|
|
|
record.set("factory_id", itemModifyRecordDto.getFactoryId());
|
|
record.set("factory_id", itemModifyRecordDto.getFactoryId());
|
|
|
record.set("workshop_id", itemModifyRecordDto.getWorkshopId());
|
|
record.set("workshop_id", itemModifyRecordDto.getWorkshopId());
|
|
|
- record.set("line_id", itemModifyRecordDto.getLineId());
|
|
|
|
|
|
|
+ record.set("line_id", lineId);
|
|
|
record.set("before_item_id", WxUtil.getInt("id", beforeItemRecord));
|
|
record.set("before_item_id", WxUtil.getInt("id", beforeItemRecord));
|
|
|
record.set("after_item_id", itemModifyRecordDto.getAfterItemId());
|
|
record.set("after_item_id", itemModifyRecordDto.getAfterItemId());
|
|
|
record.set("modify_user", loginUser.getUsername());
|
|
record.set("modify_user", loginUser.getUsername());
|