|
@@ -31,6 +31,7 @@ import org.rex.RMap;
|
|
|
import javax.annotation.Resource;
|
|
import javax.annotation.Resource;
|
|
|
import java.io.File;
|
|
import java.io.File;
|
|
|
import java.io.IOException;
|
|
import java.io.IOException;
|
|
|
|
|
+import java.math.BigDecimal;
|
|
|
import java.nio.charset.StandardCharsets;
|
|
import java.nio.charset.StandardCharsets;
|
|
|
import java.nio.file.Files;
|
|
import java.nio.file.Files;
|
|
|
import java.nio.file.Path;
|
|
import java.nio.file.Path;
|
|
@@ -204,12 +205,24 @@ public class DesignServiceImpl extends BaseService implements DesignService {
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
//todo 转换fabric的元素结构
|
|
//todo 转换fabric的元素结构
|
|
|
- private List<DesignTemplateItem> convertJsonObjectsToTemplateItems(String jsonObjects) {
|
|
|
|
|
- return new ArrayList<>();
|
|
|
|
|
|
|
+ private void convertJsonObjectsToTemplate(DesignTemplate designTemplate) {
|
|
|
|
|
+ FabricMain fabricMain = jsonConvert.convertFrom(FabricMain.class, designTemplate.getJsonContent());
|
|
|
|
|
+ List<DesignOrderItem> orderItems = new ArrayList<>();
|
|
|
|
|
+ fabricMain.getObjects().forEach(object -> {
|
|
|
|
|
+ if (object.get("id").equals("WorkSpaceDrawType")) {
|
|
|
|
|
+ //背景对象
|
|
|
|
|
+ designTemplate.setCanvasHeight(ERPUtils.px2mm(((BigDecimal) object.get("height")).doubleValue()));
|
|
|
|
|
+ designTemplate.setCanvasWidth(ERPUtils.px2mm(((BigDecimal) object.get("width")).doubleValue()));
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ });
|
|
|
|
|
+
|
|
|
|
|
+ designTemplate.setItemList(new ArrayList<>());
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- private List<DesignOrderItem> convertJsonObjectsToOrderItems(String jsonObjects) {
|
|
|
|
|
- return new ArrayList<>();
|
|
|
|
|
|
|
+ private void convertJsonObjectsToOrder(DesignOrder designOrder) {
|
|
|
|
|
+ designOrder.setItemList(new ArrayList<>());
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
@Override
|
|
@@ -247,9 +260,8 @@ public class DesignServiceImpl extends BaseService implements DesignService {
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
redisService.hset(keysService.getRedisKey(RedisKeys.KEY_DESIGNER_DESIGN_TEMPLATE_EDIT, supplierCode), String.valueOf(template.getId()), template);
|
|
redisService.hset(keysService.getRedisKey(RedisKeys.KEY_DESIGNER_DESIGN_TEMPLATE_EDIT, supplierCode), String.valueOf(template.getId()), template);
|
|
|
- List<DesignTemplateItem> itemList = convertJsonObjectsToTemplateItems(template.getJsonContent());
|
|
|
|
|
|
|
+ convertJsonObjectsToTemplate(template);
|
|
|
template.setJsonContent(fileName);
|
|
template.setJsonContent(fileName);
|
|
|
- template.setItemList(itemList);
|
|
|
|
|
redisService.hset(keysService.getRedisKey(RedisKeys.KEY_DESIGNER_DESIGN_TEMPLATE_IMPOSITION, supplierCode), String.valueOf(template.getId()), template);
|
|
redisService.hset(keysService.getRedisKey(RedisKeys.KEY_DESIGNER_DESIGN_TEMPLATE_IMPOSITION, supplierCode), String.valueOf(template.getId()), template);
|
|
|
|
|
|
|
|
if (isNew)
|
|
if (isNew)
|
|
@@ -346,10 +358,12 @@ public class DesignServiceImpl extends BaseService implements DesignService {
|
|
|
return designOrder;
|
|
return designOrder;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ //region 设计订单
|
|
|
@Override
|
|
@Override
|
|
|
public RetResult<DesignOrder> newDesignOrder(DesignTemplate customerDesign, String dataSourceId, long supplierCode, ERPTokenUser currentUser) {
|
|
public RetResult<DesignOrder> newDesignOrder(DesignTemplate customerDesign, String dataSourceId, long supplierCode, ERPTokenUser currentUser) {
|
|
|
DesignOrder designOrder = convertTemplateToOrder(customerDesign);
|
|
DesignOrder designOrder = convertTemplateToOrder(customerDesign);
|
|
|
designOrder.setId(tableIdService.getTableIdMulti("deDesignOrder.id", 1, dataSourceId, String.valueOf(supplierCode)));
|
|
designOrder.setId(tableIdService.getTableIdMulti("deDesignOrder.id", 1, dataSourceId, String.valueOf(supplierCode)));
|
|
|
|
|
+ designOrder.setUserIdentity(String.valueOf(currentUser.getId()));
|
|
|
DesignOrder.create(designOrder, currentUser.getId());
|
|
DesignOrder.create(designOrder, currentUser.getId());
|
|
|
|
|
|
|
|
String fileName = orderContentRoot + File.separator + supplierCode +
|
|
String fileName = orderContentRoot + File.separator + supplierCode +
|
|
@@ -375,20 +389,93 @@ public class DesignServiceImpl extends BaseService implements DesignService {
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
redisService.hset(keysService.getRedisKey(RedisKeys.KEY_DESIGNER_DESIGN_ORDER_EDIT, supplierCode), String.valueOf(designOrder.getId()), designOrder);
|
|
redisService.hset(keysService.getRedisKey(RedisKeys.KEY_DESIGNER_DESIGN_ORDER_EDIT, supplierCode), String.valueOf(designOrder.getId()), designOrder);
|
|
|
- List<DesignOrderItem> itemList = convertJsonObjectsToOrderItems(designOrder.getJsonContent());
|
|
|
|
|
|
|
+ convertJsonObjectsToOrder(designOrder);
|
|
|
designOrder.setJsonContent(fileName);
|
|
designOrder.setJsonContent(fileName);
|
|
|
- designOrder.setItemList(itemList);
|
|
|
|
|
redisService.hset(keysService.getRedisKey(RedisKeys.KEY_DESIGNER_DESIGN_ORDER_IMPOSITION, supplierCode), String.valueOf(designOrder.getId()), designOrder);
|
|
redisService.hset(keysService.getRedisKey(RedisKeys.KEY_DESIGNER_DESIGN_ORDER_IMPOSITION, supplierCode), String.valueOf(designOrder.getId()), designOrder);
|
|
|
|
|
|
|
|
//todo 生成pdf
|
|
//todo 生成pdf
|
|
|
|
|
|
|
|
- designDao.addDesignTemplate(designOrder, designOrder.getItemList(), dataSourceId, supplierCode);
|
|
|
|
|
|
|
+ designDao.addDesignOrder(designOrder, designOrder.getItemList(), dataSourceId, supplierCode);
|
|
|
|
|
|
|
|
return RetResult.<DesignOrder>successT().result(designOrder);
|
|
return RetResult.<DesignOrder>successT().result(designOrder);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
@Override
|
|
|
public RetResult<DesignOrder> updateDesignOrder(DesignOrder designOrder, String dataSourceId, long supplierCode, ERPTokenUser currentUser) {
|
|
public RetResult<DesignOrder> updateDesignOrder(DesignOrder designOrder, String dataSourceId, long supplierCode, ERPTokenUser currentUser) {
|
|
|
- return null;
|
|
|
|
|
|
|
+ RetResult<DesignOrder> redisOrderResult = getDesignOrderEdit(designOrder.getId(), dataSourceId, supplierCode);
|
|
|
|
|
+ if (!redisOrderResult.isSuccess()) return redisOrderResult;
|
|
|
|
|
+ DesignOrder redisOrder = redisOrderResult.getResult();
|
|
|
|
|
+
|
|
|
|
|
+ designOrder.setIdTemplate(redisOrder.getIdTemplate());
|
|
|
|
|
+ designOrder.setUserIdentity(redisOrder.getUserIdentity());
|
|
|
|
|
+ designOrder.setOrderMame(redisOrder.getOrderMame());
|
|
|
|
|
+ designOrder.setProductIdentity(redisOrder.getProductIdentity());
|
|
|
|
|
+
|
|
|
|
|
+ DesignOrder.update(designOrder, currentUser.getId());
|
|
|
|
|
+
|
|
|
|
|
+ String fileName = orderContentRoot + File.separator + supplierCode +
|
|
|
|
|
+ File.separator + designOrder.getId() + ".txt";
|
|
|
|
|
+ Path path = Paths.get(fileName);
|
|
|
|
|
+
|
|
|
|
|
+ String writeContent = "";
|
|
|
|
|
+ if (StringUtils.isNotEmpty(designOrder.getJsonContent())) {
|
|
|
|
|
+ writeContent = designOrder.getJsonContent();
|
|
|
|
|
+ }
|
|
|
|
|
+ try {
|
|
|
|
|
+ if (!Files.exists(path.getParent())) {
|
|
|
|
|
+ Files.createDirectories(path.getParent());
|
|
|
|
|
+ }
|
|
|
|
|
+ Files.write(path,
|
|
|
|
|
+ Collections.singleton(new StringBuilder(writeContent)),
|
|
|
|
|
+ StandardCharsets.UTF_8,
|
|
|
|
|
+ StandardOpenOption.CREATE,
|
|
|
|
|
+ StandardOpenOption.WRITE,
|
|
|
|
|
+ StandardOpenOption.TRUNCATE_EXISTING);
|
|
|
|
|
+ } catch (IOException e) {
|
|
|
|
|
+ throw new RuntimeException(e);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ redisService.hset(keysService.getRedisKey(RedisKeys.KEY_DESIGNER_DESIGN_ORDER_EDIT, supplierCode), String.valueOf(designOrder.getId()), designOrder);
|
|
|
|
|
+ convertJsonObjectsToOrder(designOrder);
|
|
|
|
|
+ designOrder.setJsonContent(fileName);
|
|
|
|
|
+ redisService.hset(keysService.getRedisKey(RedisKeys.KEY_DESIGNER_DESIGN_ORDER_IMPOSITION, supplierCode), String.valueOf(designOrder.getId()), designOrder);
|
|
|
|
|
+
|
|
|
|
|
+ //todo 生成pdf
|
|
|
|
|
+ designDao.updateDesignOrder(designOrder, designOrder.getItemList(), dataSourceId, supplierCode);
|
|
|
|
|
+
|
|
|
|
|
+ return RetResult.<DesignOrder>successT().result(designOrder);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ @Override
|
|
|
|
|
+ public RetResult<List<DesignOrder>> queryDesignOrders(RMap params, PageFlipper pageFlipper, String dataSourceId, long supplierCode, ERPTokenUser currentUser) {
|
|
|
|
|
+ //默认来说这里查的都是自己的设计单
|
|
|
|
|
+ params.set("userIdentity", currentUser.getId());
|
|
|
|
|
+
|
|
|
|
|
+ List<DesignOrder> orderList = designDao.selectDesignOrders(params, dataSourceId, supplierCode, pageFlipper);
|
|
|
|
|
+
|
|
|
|
|
+ orderList.forEach(x -> x.setJsonContent(""));
|
|
|
|
|
+ return RetResult.<List<DesignOrder>>successT().result(orderList);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ @Override
|
|
|
|
|
+ public RetResult<DesignOrder> getDesignOrderEdit(long id, String dataSourceId, long supplierCode) {
|
|
|
|
|
+ DesignOrder redisOrder = getRedisDocInfo(keysService.getRedisKey(RedisKeys.KEY_DESIGNER_DESIGN_ORDER_EDIT, supplierCode),
|
|
|
|
|
+ String.valueOf(id), DesignOrder.class);
|
|
|
|
|
+
|
|
|
|
|
+ if (redisOrder == null) return RetResult.<DesignOrder>errorT().retinfo("设计订单id不正确");
|
|
|
|
|
+ else
|
|
|
|
|
+ return RetResult.<DesignOrder>successT().result(redisOrder);
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
|
|
+ @Override
|
|
|
|
|
+ public RetResult<DesignOrder> getDesignOrderImposition(long id, String dataSourceId, long supplierCode) {
|
|
|
|
|
+ DesignOrder redisOrder = getRedisDocInfo(keysService.getRedisKey(RedisKeys.KEY_DESIGNER_DESIGN_ORDER_IMPOSITION, supplierCode),
|
|
|
|
|
+ String.valueOf(id), DesignOrder.class);
|
|
|
|
|
+
|
|
|
|
|
+ if (redisOrder == null) return RetResult.<DesignOrder>errorT().retinfo("设计订单id不正确");
|
|
|
|
|
+ else
|
|
|
|
|
+ return RetResult.<DesignOrder>successT().result(redisOrder);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ //endregion
|
|
|
}
|
|
}
|