mirror of
http://192.168.1.205:9980/cf_devdept2/cf_imes_server.git
synced 2026-08-12 21:02:08 +08:00
余料库逻辑修改,柜体删除修改
This commit is contained in:
+43
-35
@@ -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));
|
||||
}
|
||||
}
|
||||
+4
@@ -174,6 +174,10 @@ public class PlateDO extends BaseDO {
|
||||
* 是否造型
|
||||
*/
|
||||
private Boolean isSculpt;
|
||||
/**
|
||||
* 是否造型
|
||||
*/
|
||||
private Boolean isRowHole;
|
||||
/**
|
||||
* 排单过滤类型,1 有挖穿造型 2 有挖穿孔 4 有二维刀路 8 可叠
|
||||
*/
|
||||
|
||||
+5
-2
@@ -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);
|
||||
|
||||
}
|
||||
|
||||
|
||||
+7
-9
@@ -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);
|
||||
|
||||
+36
-19
@@ -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;
|
||||
}
|
||||
}
|
||||
+75
-32
@@ -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("房间、柜体、板名称不能为空");
|
||||
|
||||
+9
-5
@@ -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) {
|
||||
|
||||
+12
@@ -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;
|
||||
|
||||
+3
-2
@@ -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>
|
||||
BIN
Binary file not shown.
BIN
Binary file not shown.
Reference in New Issue
Block a user