|
@ -39,6 +39,7 @@ import java.util.HashMap; |
|
|
import java.util.List; |
|
|
import java.util.List; |
|
|
import java.util.Map; |
|
|
import java.util.Map; |
|
|
import java.util.Set; |
|
|
import java.util.Set; |
|
|
|
|
|
import java.util.stream.Collectors; |
|
|
|
|
|
|
|
|
/** |
|
|
/** |
|
|
* @author zhouz |
|
|
* @author zhouz |
|
@ -261,35 +262,29 @@ public class MaterialbaseServiceImpl implements MaterialbaseService { |
|
|
List<ReadSheet> sheets = excelReader.excelExecutor().sheetList(); |
|
|
List<ReadSheet> sheets = excelReader.excelExecutor().sheetList(); |
|
|
|
|
|
|
|
|
WQLObject materialTable = WQLObject.getWQLObject("md_me_materialbase"); |
|
|
WQLObject materialTable = WQLObject.getWQLObject("md_me_materialbase"); |
|
|
|
|
|
List<String> material_codes = materialTable.query().getResultJSONArray(0) |
|
|
|
|
|
.stream() |
|
|
|
|
|
.map(o -> ((JSONObject) o).getString("material_code")) |
|
|
|
|
|
.collect(Collectors.toList()); |
|
|
JSONObject material = new JSONObject(); |
|
|
JSONObject material = new JSONObject(); |
|
|
Long userId = SecurityUtils.getCurrentUserId(); |
|
|
material.put("is_used", '1'); |
|
|
String nickName = SecurityUtils.getCurrentNickName(); |
|
|
material.put("is_delete", '0'); |
|
|
String now = DateUtil.now(); |
|
|
CommonUtils.addCommonColum(material); |
|
|
|
|
|
|
|
|
for (ReadSheet sheet : sheets) { |
|
|
for (ReadSheet sheet : sheets) { |
|
|
List<Map<Integer, String>> materials = EasyExcel.read(file).sheet(sheet.getSheetNo()).doReadSync(); |
|
|
List<Map<Integer, String>> materials = EasyExcel.read(file).sheet(sheet.getSheetNo()).doReadSync(); |
|
|
for (Map<Integer, String> materialMap : materials) { |
|
|
for (Map<Integer, String> materialMap : materials) { |
|
|
material.put("material_id", IdUtil.getSnowflake(1L, 1L).nextId()); |
|
|
|
|
|
String material_code = materialMap.get(1); |
|
|
String material_code = materialMap.get(1); |
|
|
material.put("material_code", material_code); |
|
|
material.put("material_code", material_code); |
|
|
material.put("material_name", materialMap.get(2)); |
|
|
material.put("material_name", materialMap.get(2)); |
|
|
material.put("base_unit", materialMap.get(3)); |
|
|
material.put("base_unit", materialMap.get(3)); |
|
|
material.put("pack_qty", materialMap.get(4) == null ? 0 : Double.parseDouble(materialMap.get(4))); |
|
|
material.put("pack_qty", materialMap.get(4) == null ? 0 : Double.parseDouble(materialMap.get(4))); |
|
|
|
|
|
if (material_codes.contains(material_code)) { |
|
|
material.put("is_used", '1'); |
|
|
material.remove("material_id"); |
|
|
material.put("is_delete", '0'); |
|
|
materialTable.update(material, "material_code = '" + material_code + "'"); |
|
|
if (ObjectUtil.isNotEmpty(materialTable.query("material_code = '" + material_code + "'").uniqueResult(0))) { |
|
|
|
|
|
material.put("update_optid", userId); |
|
|
|
|
|
material.put("update_optname", nickName); |
|
|
|
|
|
material.put("update_time", now); |
|
|
|
|
|
materialTable.update(material); |
|
|
|
|
|
} else { |
|
|
} else { |
|
|
material.put("create_id", userId); |
|
|
material.put("material_id", IdUtil.getSnowflake(1L, 1L).nextId()); |
|
|
material.put("create_name", nickName); |
|
|
material_codes.add(material_code); |
|
|
material.put("create_time", now); |
|
|
|
|
|
material.put("update_optid", userId); |
|
|
|
|
|
material.put("update_optname", nickName); |
|
|
|
|
|
material.put("update_time", now); |
|
|
|
|
|
materialTable.insert(material); |
|
|
materialTable.insert(material); |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|