余料库逻辑修改,柜体删除修改

This commit is contained in:
lym
2024-06-28 18:52:29 +08:00
parent a1639989f1
commit 0b6ffa3500
20 changed files with 324 additions and 139 deletions
@@ -31,11 +31,13 @@ import com.cf.imes.framework.common.pojo.PageResult;
import com.cf.imes.framework.common.pojo.CommonResult;
import com.cf.imes.framework.common.util.object.BeanUtils;
import static com.cf.imes.framework.common.exception.util.ServiceExceptionUtil.exception;
import static com.cf.imes.framework.common.pojo.CommonResult.success;
import com.cf.imes.framework.operatelog.core.annotations.OperateLog;
import static com.cf.imes.framework.operatelog.core.enums.OperateTypeEnum.*;
import static com.cf.imes.module.executor.enums.ErrorCodeConstants.PLATE_PLAN_DATA_ERROR;
import com.cf.imes.module.executor.dal.dataobject.order.OrderDO;
import com.cf.imes.module.executor.service.order.OrderService;
@@ -153,8 +155,8 @@ public class OrderController {
@Operation(summary = "生产单详情-数量信息")
@Parameter(name = "orderId", description = "生产单编号", example = "1024")
@PreAuthorize("@ss.hasPermission('production:manager-list:detail')")
public CommonResult<Map<String,List<?>>> getModule(@RequestParam("orderId") Long orderId) {
Map<String,List<?>> moduleDOList = orderService.getModule(orderId);
public CommonResult<Map<String, List<?>>> getModule(@RequestParam("orderId") Long orderId) {
Map<String, List<?>> moduleDOList = orderService.getModule(orderId);
return success(moduleDOList);
}
@@ -173,7 +175,7 @@ public class OrderController {
@RequestParam(value = "bodyId", required = false) Long bodyId,
@RequestParam(value = "groupId", required = false) Long groupId,
@RequestParam(value = "groupName", required = false) String groupName) {
List<OrderPlatesDetailReqVO> moduleDOList = orderService.getPlatesDetail(orderId, roomId, bodyId,groupId,groupName);
List<OrderPlatesDetailReqVO> moduleDOList = orderService.getPlatesDetail(orderId, roomId, bodyId, groupId, groupName);
return success(moduleDOList);
}
@@ -208,10 +210,13 @@ public class OrderController {
@PreAuthorize("@ss.hasPermission('production:manager-list:create')")
public CommonResult<Long> test(@RequestParam(value = "orderNo", required = false, defaultValue = "20230809027818") String orderNo)
throws InterruptedException, ExecutionException {
// return success(orderService.importApiData(orderNo));
Long organId = SecurityFrameworkUtils.getLoginUser().getOrganId();
String token = apiDataAchieve.getApiToken(organId);
JSONObject dataPlates = apiDataAchieve.getApiPlateProData(token, orderNo).get();
if (!dataPlates.getString("err_code").equals("0")) {
throw exception(PLATE_PLAN_DATA_ERROR);
}
JSONObject dataParts = apiDataAchieve.getApiPartsMessage(token, orderNo).get();
JSONObject dataBody = apiDataAchieve.getApiBodyMessage(token, orderNo).get();
JSONObject dataGoods = apiDataAchieve.getApiGoodsMessage(token, orderNo).get();
@@ -240,41 +245,44 @@ public class OrderController {
@OperateLog(type = IMPORT)
public void exportTest(@RequestPart("file") MultipartFile file,
@RequestParam(value = "type", required = false, defaultValue = "true") Integer type,
HttpServletResponse response) throws IOException {
System.out.println("kkkkkkkk");
HttpServletResponse response) throws IOException {
try {
List<?> list = null;
OrderDO orderDO = new OrderDO();
if (type == 0) { //excel
// 读取文件
excelReadUtil.setErr(0);
Map<String, Object> map = excelReadUtil.read(file);
List<?> list = null;
OrderDO orderDO = new OrderDO();
if (type == 0) { //excel
// 读取文件
excelReadUtil.setErr(0);
Map<String, Object> map = excelReadUtil.read(file);
// System.out.println(" map " + map);
System.err.println(excelReadUtil.isErr());
// 判断是否读取有误
if (excelReadUtil.isErr() == -1) { // 文件为空
ExcelWriterUtil.writeErr(response, "生产单内容为空", orderService.getSavePath() + File.separator + "错误文件.xlsx");
return;
}else if (excelReadUtil.isErr() > 0) {
// 返回文件
System.err.println(excelReadUtil.isErr());
// 判断是否读取有误
if (excelReadUtil.isErr() == -1) { // 文件为空
ExcelWriterUtil.writeErr(response, "生产单内容为空", orderService.getSavePath() + File.separator + "错误文件.xlsx");
return;
} else if (excelReadUtil.isErr() > 0) {
// 返回文件
// System.out.println("(Map<Object, Object>) " + (Map<Object, Object>) map.get("order")+ " , (List<OrderPlateImportExcelVO>)" +(List<OrderPlateImportExcelVO>) map.get("plate"));
ExcelWriterUtil.write(response, (Map<Object, Object>) map.get("order"), (List<OrderPlateImportExcelVO>) map.get("plate"), orderService.getSavePath() + File.separator + "生产单Excel导入错误导出模板.xlsx");
return;
} else {
// 获取数据
list = (List<?>) map.get("plate");
orderDO = excelReadUtil.changeOrderDO((Map<Object, Object>) map.get("order")).setOrderType(0).setStatus(1);
if (!orderService.customOrderNoIsExists(orderDO.getCustomOrderNo())){
ExcelWriterUtil.writeErr(response, "自定义生产单号存在", orderService.getSavePath() + File.separator + "错误文件.xlsx");
ExcelWriterUtil.write(response, (Map<Object, Object>) map.get("order"), (List<OrderPlateImportExcelVO>) map.get("plate"), orderService.getSavePath() + File.separator + "生产单Excel导入错误导出模板.xlsx");
return;
} else {
// 获取数据
list = (List<?>) map.get("plate");
orderDO = excelReadUtil.changeOrderDO((Map<Object, Object>) map.get("order")).setOrderType(0).setStatus(1);
if (!orderService.customOrderNoIsExists(orderDO.getCustomOrderNo())) {
ExcelWriterUtil.writeErr(response, "自定义生产单号存在", orderService.getSavePath() + File.separator + "错误文件.xlsx");
}
}
} else if (type == 1) { // json
} else if (type == 2) { // xml
}
} else if (type == 1) { // json
}else if (type == 2) { // xml
orderService.importExcelData(orderDO, list);
} catch (Exception e) {
ExcelWriterUtil.writeErr(response, "系统出现未知错误,请下载模板,按照模板重新上传文件", orderService.getSavePath() + File.separator + "错误文件.xlsx");
}
orderService.importExcelData(orderDO,list);
}
@GetMapping("/get-goodsList")
@@ -294,8 +302,8 @@ public class OrderController {
})
@PreAuthorize("@ss.hasPermission('production:manager-list:create')")
public CommonResult<String> uploadOrderType(@RequestPart("file") MultipartFile file,
@RequestParam(value = "type", required = false, defaultValue = "false") Boolean type) {
return success(orderService.importTemplate(file,type));
@RequestParam(value = "type", required = false, defaultValue = "false") Boolean type) {
return success(orderService.importTemplate(file, type));
}
@GetMapping("/printing")
@@ -308,6 +316,6 @@ public class OrderController {
@RequestParam("type") String type,
HttpServletResponse response) {
return success(orderService.getPrintDataMap(orderId,type,response));
return success(orderService.getPrintDataMap(orderId, type, response));
}
}
@@ -174,6 +174,10 @@ public class PlateDO extends BaseDO {
* 是否造型
*/
private Boolean isSculpt;
/**
* 是否造型
*/
private Boolean isRowHole;
/**
* 排单过滤类型,1 有挖穿造型 2 有挖穿孔 4 有二维刀路 8 可叠
*/
@@ -339,8 +339,9 @@ public class OrderServiceImpl implements OrderService {
}
goodsIdDeleted.add(k);
});
goodsMapper.updateDeletedById(goodsIdDeleted, OrderDeletedEnum.DELETED.getStatus(), SecurityFrameworkUtils.getLoginUser().getOrganId());
if (goodsIdDeleted.size()>0){
goodsMapper.updateDeletedById(goodsIdDeleted, OrderDeletedEnum.DELETED.getStatus(), SecurityFrameworkUtils.getLoginUser().getOrganId());
}
List<Long> partsList = orderPartsMapper.selectPartsIdListByBodyId(bodyId, SecurityFrameworkUtils.getLoginUser().getOrganId());
orderPartsMapper.updateDeletedById(partsList, OrderDeletedEnum.DELETED.getStatus(), SecurityFrameworkUtils.getLoginUser().getOrganId());
});
@@ -379,6 +380,7 @@ public class OrderServiceImpl implements OrderService {
List<OrderModelDO> orderModelDOs = BeanUtils.toBean(plateDetail, OrderModelDO.class);
orderModelDOs.forEach(orderModelDO -> orderModelDO.setOrderId(order.get(0).getId()));
orderInputProcessor.batchSaveModel(orderModelDOs);
orderInputProcessor.batchSaveOrderPartsModel(partsRemark);
return order.get(0).getId();
}
@@ -561,6 +563,7 @@ public class OrderServiceImpl implements OrderService {
validateCustomOrderNoExists(orderDO.getCustomOrderNo());
orderInputProcessor.batchInsert(rawGoodsDO, bodyDO, groupDO, partsDO, plateDO, null, itemDO, orderDO, goodsDO, plateGoodDOS);
orderInputProcessor.batchSaveModel(orderModelDOS);
orderInputProcessor.batchSaveOrderPartsModel(orderPartsRemarks);
}
@@ -47,20 +47,18 @@ public class ApiDataAchieve {
}
// 获取板件生产数据信息
// @Async
@Async
public Future<JSONObject> getApiPlateProData(String token, String orderNo) {
JSONObject jsonPlatesData = new JSONObject();
jsonPlatesData.put("order_no", orderNo);//生产单号需要传入赋值
jsonPlatesData.put("format", "json");
JSONObject dataPlates = apiDataProduction.getApiOrderMessage(token, jsonPlatesData);
if (!dataPlates.getString("err_code").equals("0")) {
throw exception(PLATE_PLAN_DATA_ERROR);
}
return new AsyncResult<>(dataPlates);
}
// 获取配件信息 分页获取
// @Async
@Async
public Future<JSONObject> getApiPartsMessage(String token, String orderNo) {
JSONObject jsonParts = new JSONObject();
jsonParts.put("curr_page", 1);
@@ -80,7 +78,7 @@ public class ApiDataAchieve {
}
// 柜体信息转换
// @Async
@Async
public Future<JSONObject> getApiBodyMessage(String token, String orderNo) {
JSONObject jsonBody = new JSONObject();
jsonBody.put("curr_page", 1);
@@ -100,7 +98,7 @@ public class ApiDataAchieve {
}
// 商品信息转换
// @Async
@Async
public Future<JSONObject> getApiGoodsMessage(String token, String orderNo) {
JSONObject jsonGoods = new JSONObject();
jsonGoods.put("curr_page", 1);
@@ -120,7 +118,7 @@ public class ApiDataAchieve {
}
// 板材明细信息转换
// @Async
@Async
public Future<JSONObject> getApiPlateDetailMessage(String token, String orderNo) {
JSONObject jsonPlates = new JSONObject();
jsonPlates.put("curr_page", 1);
@@ -140,7 +138,7 @@ public class ApiDataAchieve {
}
// 加工组信息转换
// @Async
@Async
public Future<JSONObject> getApiGroupMessage(String token, String orderNo) {
JSONObject jsonModule = new JSONObject();
jsonModule.put("order_no", orderNo);
@@ -25,6 +25,7 @@ import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.util.*;
import java.util.concurrent.atomic.AtomicInteger;
import java.util.stream.Collectors;
/**
@@ -44,11 +45,11 @@ public class ApiTypeRealize {
@Resource
SnowflakeIdWorker3rd idWorker;
private Integer num = 0;
// private Integer num = 0;
private Integer specialShapedNum = 0;
// private Integer specialShapedNum = 0;
private Integer groupNum = 0;
// private Integer groupNum = 0;
private final static Integer X = 0;
private final static Integer Y = 1;
@@ -147,6 +148,7 @@ public class ApiTypeRealize {
public Map<Long, OrderItemDO> orderPartsChange(Map<Long, OrderGroupDO> orderGroupDO,
Map<Long, List<Long>> groupLists, Map<Long, OrderItemDO> items) {
AtomicInteger groupNum = new AtomicInteger(0);
groupLists.forEach((k, v) -> {
v.forEach(v1 -> {
if (items.get(v1) != null) {
@@ -171,11 +173,11 @@ public class ApiTypeRealize {
}
if (items.get(v1).getPlateId() != null)
groupNum++;
groupNum.getAndIncrement();
}
});
orderGroupDO.get(k).setPlateNum(groupNum);
groupNum = 0;
orderGroupDO.get(k).setPlateNum(groupNum.get());
groupNum.set(0);
});
return items;
@@ -192,21 +194,22 @@ public class ApiTypeRealize {
List<OrderGroupDO> orderGroupDOList = orderGroupDO.values().stream().collect(Collectors.toList());
Map<Long, OrderGroupDO> orderGroupDOMap = orderGroupDOList.stream().collect(Collectors.toMap(OrderGroupDO::getId, v -> v));
AtomicInteger specialShapedNum = new AtomicInteger(0);
groupPlate.forEach((k, v) -> { // k 加工组id
v.forEach(item -> {
if (plateDOMap.get(item.getPlateId()) != null) {
if (plateDOMap.get(item.getPlateId()).getIsSpecialShaped()) { // 异形相加
specialShapedNum++;
specialShapedNum.getAndIncrement();
// System.out.println(k + " 对应 " + specialShapedNum);
}
}
});
if (orderGroupDOMap.get(k) != null) {// m 加工组
orderGroupDOMap.get(k).setUnregularNum(specialShapedNum);
orderGroupDOMap.get(k).setUnregularNum(specialShapedNum.get());
}
;
specialShapedNum = 0;
specialShapedNum.set(0);
});
return orderGroupDO;
}
@@ -341,7 +344,7 @@ public class ApiTypeRealize {
.goodsName(goods.getString("GoodsName"))
.material(goods.getString("Material"))
.color(goods.getString("Color"))
.texture(false)
.texture(getTexture( goods.getJSONObject("ExtraProp")))
.thickness(goods.getDouble("Thickness"))
.price(goods.getDouble("Price"))
.brand(goods.getString("Brand"))
@@ -357,7 +360,7 @@ public class ApiTypeRealize {
.goodsName(goods.getString("GoodsName"))
.material(goods.getString("Material"))
.color(goods.getString("Color"))
.texture(false)
.texture(getTexture( goods.getJSONObject("ExtraProp")))
.width(BigDecimal.valueOf(goods.getDouble("Width")))
.height(BigDecimal.valueOf(goods.getDouble("Height")))
.thickness(BigDecimal.valueOf(goods.getDouble("Thickness")))
@@ -612,7 +615,8 @@ public class ApiTypeRealize {
plateInfo.setHeight(BigDecimal.valueOf(jsonObject.getDouble("Height")))
.setWidth(BigDecimal.valueOf(jsonObject.getDouble("Width")))
.setThickness(BigDecimal.valueOf(jsonObject.getDouble("Thickness")))
.setArea(BigDecimal.valueOf(jsonObject.getDouble("Area")));
.setArea(BigDecimal.valueOf(jsonObject.getDouble("Area")))
.setIsRowHole(jsonObject.getBoolean("IsHole"));
plateDetail.get(plate.getLong("BlockNo"))
.setRemarkJson(jsonObject.getString("RemarkJson"))
.setSpecialRemark(jsonObject.getString("SpecialRemark"));
@@ -633,24 +637,25 @@ public class ApiTypeRealize {
.collect(Collectors.toMap(PlateDO::getId, plate -> plate)); // 板件id为key
// 遍历platesDetail
AtomicInteger NUM = new AtomicInteger(0);
AtomicInteger specialShapedNum = new AtomicInteger(0);
platesDetail.forEach((k, v) -> {
v.forEach(item -> {
num++;
NUM.getAndIncrement();
if (plateDOMap.get(item.getPlateId()).getIsSpecialShaped()) { // 异形相加
specialShapedNum++;
specialShapedNum.getAndIncrement();
}
});
bodyInfos.forEach((n, m) -> {
if (k == m.getId()) {
m.setPlateNum(num);
m.setUnregularNum(specialShapedNum);
m.setPlateNum(NUM.get());
m.setUnregularNum(specialShapedNum.get());
}
});
num = 0;
specialShapedNum = 0;
NUM.set(0);
specialShapedNum.set(0);
});
map.put("platesInfos", platesInfos);
map.put("platesItems", platesItem);
@@ -934,4 +939,16 @@ public class ApiTypeRealize {
}
return map;
}
// 纹理解析
public Boolean getTexture(JSONObject extraProp) {
JSONObject jsonObject = new JSONObject(extraProp);
if (jsonObject.getString("HasWave") != null){
String hasWave = jsonObject.getString("HasWave").trim();
if (hasWave.equals("0")){
return false;
}
}
return true;
}
}
@@ -53,7 +53,7 @@ public class ExcelReadUtil { // 文件读取
}
if (index.get()) {
orderMap.put(item.get(0), item.get(1));
orderMap.put(item.get(13), item.get(14));
orderMap.put(item.get(16), item.get(17));
} else {
if (!(item.get(0).equals("序号") || item.get(0).equals("###"))) {
list.add(changeValue(item));
@@ -145,97 +145,106 @@ public class ExcelReadUtil { // 文件读取
case 9:// 型号
vo.setModel(value);
break;
case 10:// 规格
case 10:// 板材长
vo.setGoodsHeight(value);
break;
case 11:// 板材宽
vo.setGoodsWidth(value);
break;
case 12:// 板材厚
vo.setGoodsThickness(value);
break;
case 13:// 规格
vo.setSpec(value);
break;
case 11:// 单位
case 14:// 单位
vo.setUnit(value);
break;
case 12:// 数量
case 15:// 数量
vo.setGoodsNumber(value);
break;
case 13:// 房间
case 16:// 房间
vo.setRoomsName(value);
break;
case 14:// 柜体
case 17:// 柜体
vo.setCabinetsName(value);
break;
case 15:// 加工组类型
case 18:// 加工组类型
vo.setSynthesisTypeName(value);
break;
case 16:// 加工组名称
case 19:// 加工组名称
vo.setCombinationName(value);
break;
case 17://板名称
case 20://板名称
vo.setName(value);
break;
case 18:// 自定义板编号
case 21:// 自定义板编号
vo.setPlateNo(value);
break;
case 19:// 成品长
case 22:// 成品长
vo.setHeight(value);
break;
case 20:// 成品宽
case 23:// 成品宽
vo.setWidth(value);
break;
case 21:// 拆单长
case 24:// 拆单长
vo.setSplitHeight(value);
break;
case 22:// 拆单宽
case 25:// 拆单宽
vo.setSplitWidth(value);
break;
case 23:// 厚
case 26:// 厚
vo.setThickness(value);
break;
case 24:// 左封边
case 27:// 左封边
vo.setSealLeft(value);
break;
case 25:// 右封边
case 28:// 右封边
vo.setSealRight(value);
break;
case 26:// 上封边
case 29:// 上封边
vo.setSealUp(value);
break;
case 27:// 下封边
case 30:// 下封边
vo.setSealDown(value);
break;
case 28:// 排版面
case 31:// 排版面
vo.setTypographicFace(value);
break;
case 29:// 纹路
case 32:// 纹路
vo.setTexture(value);
break;
case 30:// 开门方向
case 33:// 开门方向
vo.setOpenDoorType(value);
break;
case 31://备注1
case 34://备注1
vo.setRemark1(value);
break;
case 32://备注2
case 35://备注2
vo.setRemark2(value);
break;
case 33://备注3
case 36://备注3
vo.setRemark3(value);
break;
case 34://备注4
case 37://备注4
vo.setRemark4(value);
break;
case 35://备注5
case 38://备注5
vo.setRemark5(value);
break;
case 36://备注6
case 39://备注6
vo.setRemark6(value);
break;
case 37://备注7
case 40://备注7
vo.setRemark7(value);
break;
case 38://备注8
case 41://备注8
vo.setRemark8(value);
break;
case 39://备注9
case 42://备注9
vo.setRemark9(value);
break;
case 40://备注10
case 43://备注10
vo.setRemark10(value);
break;
default:
@@ -274,6 +283,40 @@ public class ExcelReadUtil { // 文件读取
errList.add("纹理无效");
}
}
// 大板长宽厚数据不可为空
if (StringUtils.isEmpty(vo.getGoodsHeight()) && StringUtils.isEmpty(vo.getGoodsWidth()) && StringUtils.isEmpty(vo.getGoodsThickness())) {
flag = false;
errList.add("板材长宽厚数据不能为空");
}else {
// 大板长宽厚数据不为空,检查数据格式
if (!convertToDouble(vo.getGoodsHeight())) {
flag = false;
errList.add("板材长数据类型错误");
} else {
if (!checkPrecision(vo.getGoodsHeight())) {
flag = false;
errList.add("板材长数据长度错误");
}
}
if (!convertToDouble(vo.getGoodsWidth())) {
flag = false;
errList.add("板材宽数据类型错误");
} else {
if (!checkPrecision(vo.getGoodsWidth())) {
flag = false;
errList.add("板材宽数据长度错误");
}
}
if (!convertToDouble(vo.getGoodsThickness())) {
flag = false;
errList.add("板材厚数据类型错误");
} else {
if (!checkPrecision(vo.getGoodsThickness())) {
flag = false;
errList.add("板材厚数据长度错误");
}
}
}
if (StringUtils.isEmpty(vo.getRoomsName()) && StringUtils.isEmpty(vo.getCabinetsName()) && StringUtils.isEmpty(vo.getName())) {
flag = false;
errList.add("房间、柜体、板名称不能为空");
@@ -90,6 +90,9 @@ public class ExcelTypeRealize {
p.getColor(),
p.getSpec(),
p.getWave(), // 纹理
p.getGoodsHeight(),
p.getGoodsWidth(),
p.getGoodsThickness(),
// p.getModel(),
p.getBrand()),
Collectors.toList()
@@ -97,14 +100,14 @@ public class ExcelTypeRealize {
goodsMap.forEach((goodKey, goodValue) -> {
// 板材信息合集,添加生产单id,添加生产单板材设计端商品编码,板材信息写入order_raw_goods
// 规格分解
List<Double> specList = spec(goodValue.get(0).getSpec());
RawGoodsDO rawGoodsDO = setRawGoodsDO(goodValue.get(0)).setId((Long) snowFlakeGenerator.nextId(null)).setOrderId(orderId);
rawGoodsDOS.add(rawGoodsDO);
Long goodId = (Long) snowFlakeGenerator.nextId(null);
GoodsDO plateDO = setGoodsDO(goodValue.get(0)).setId(goodId).setOrderId(orderId)
.setRawGoodsId(String.valueOf(rawGoodsDO.getId()))
.setHeight(BigDecimal.valueOf(specList.get(0))).setWidth(BigDecimal.valueOf(specList.get(1))); // 在good_id为空的时候,首先赋值为空值
.setHeight(BigDecimal.valueOf(Double.parseDouble(goodValue.get(0).getGoodsHeight())))
.setWidth(BigDecimal.valueOf(Double.parseDouble(goodValue.get(0).getGoodsWidth())))
.setThickness(BigDecimal.valueOf(Double.parseDouble(goodValue.get(0).getGoodsThickness()))); // 在good_id为空的时候,首先赋值为空值
goodsDOS.add(plateDO);
// 赋值给板件未对应前order_raw_goods的id
for (OrderPlateImportExcelVO reqVO : goodValue) {
@@ -112,14 +115,15 @@ public class ExcelTypeRealize {
}
});
} else { // 商品编码有的
List<Double> specList = spec(value.get(0).getSpec());
// 板材信息合集,添加生产单id,添加生产单板材设计端商品编码,板材信息写入order_raw_goods
RawGoodsDO rawGoodsDO = setRawGoodsDO(value.get(0)).setId((Long) snowFlakeGenerator.nextId(null)).setOrderId(orderId);
rawGoodsDOS.add(rawGoodsDO);
Long goodId = (Long) snowFlakeGenerator.nextId(null);
GoodsDO plateDO = setGoodsDO(value.get(0)).setId(goodId).setOrderId(orderId)
.setRawGoodsId(String.valueOf(rawGoodsDO.getId())).setGoodsId(String.valueOf(rawGoodsDO.getRawGoodsId()))
.setHeight(BigDecimal.valueOf(specList.get(0))).setWidth(BigDecimal.valueOf(specList.get(1)));
.setHeight(BigDecimal.valueOf(Double.parseDouble(value.get(0).getGoodsHeight())))
.setWidth(BigDecimal.valueOf(Double.parseDouble(value.get(0).getGoodsWidth())))
.setThickness(BigDecimal.valueOf(Double.parseDouble(value.get(0).getGoodsThickness())));
goodsDOS.add(plateDO);
// 赋值给板件未对应前order_raw_goods的id
for (OrderPlateImportExcelVO reqVO : value) {
@@ -69,6 +69,18 @@ public class OrderPlateImportExcelVO {
@JsonIgnore
private String model;
@ExcelProperty(value = "板材长")
@JsonIgnore
private String goodsHeight;
@ExcelProperty(value = "板材宽")
@JsonIgnore
private String goodsWidth;
@ExcelProperty(value = "板材厚")
@JsonIgnore
private String goodsThickness;
@ExcelProperty(value = "规格")
@JsonIgnore
private String spec;
@@ -47,8 +47,9 @@
UPDATE order_goods
SET deleted = #{deleted}
WHERE id IN
<foreach collection="ids" item="id" open="(" separator="," close=")">
<foreach item="id" collection="ids" open="(" separator="," close=")">
#{id}
</foreach>AND organ_id = #{organId}
</foreach>
AND organ_id = #{organId}
</update>
</mapper>