From b46fba39e438596cd8770dac34bc16439f1eac22 Mon Sep 17 00:00:00 2001 From: lframework Date: Tue, 29 Apr 2025 17:52:05 +0800 Subject: [PATCH 01/25] =?UTF-8?q?fix=20=E9=9B=B6=E5=94=AE=E5=8D=95?= =?UTF-8?q?=E6=8D=AE=E6=B2=A1=E6=9C=89=E5=8F=91=E5=B8=83=E4=BA=8B=E4=BB=B6?= =?UTF-8?q?=E6=B6=88=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../xingyun/sc/impl/retail/RetailOutSheetServiceImpl.java | 2 ++ .../xingyun/sc/impl/retail/RetailReturnServiceImpl.java | 2 ++ 2 files changed, 4 insertions(+) diff --git a/xingyun-sc/src/main/java/com/lframework/xingyun/sc/impl/retail/RetailOutSheetServiceImpl.java b/xingyun-sc/src/main/java/com/lframework/xingyun/sc/impl/retail/RetailOutSheetServiceImpl.java index 99ed0f8a..7d98067b 100644 --- a/xingyun-sc/src/main/java/com/lframework/xingyun/sc/impl/retail/RetailOutSheetServiceImpl.java +++ b/xingyun-sc/src/main/java/com/lframework/xingyun/sc/impl/retail/RetailOutSheetServiceImpl.java @@ -455,6 +455,8 @@ public class RetailOutSheetServiceImpl extends OpLogUtil.setVariable("code", sheet.getCode()); OpLogUtil.setExtra(vo); + + this.sendApprovePassEvent(sheet); } @OrderTimeLineLog(type = OrderTimeLineBizType.APPROVE_PASS, orderId = "#_result", name = "直接审核通过") diff --git a/xingyun-sc/src/main/java/com/lframework/xingyun/sc/impl/retail/RetailReturnServiceImpl.java b/xingyun-sc/src/main/java/com/lframework/xingyun/sc/impl/retail/RetailReturnServiceImpl.java index 9f91df11..88d28215 100644 --- a/xingyun-sc/src/main/java/com/lframework/xingyun/sc/impl/retail/RetailReturnServiceImpl.java +++ b/xingyun-sc/src/main/java/com/lframework/xingyun/sc/impl/retail/RetailReturnServiceImpl.java @@ -313,6 +313,8 @@ public class RetailReturnServiceImpl extends BaseMpServiceImpl Date: Wed, 30 Apr 2025 18:44:51 +0800 Subject: [PATCH 02/25] =?UTF-8?q?=E4=BC=98=E5=8C=96=E8=A7=92=E8=89=B2?= =?UTF-8?q?=E6=8E=88=E6=9D=83=E7=9A=84=E4=BA=A4=E4=BA=92?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../inner/impl/system/SysMenuServiceImpl.java | 18 ++++++++++++++++++ .../impl/system/SysRoleMenuServiceImpl.java | 16 +++++++++++++--- .../inner/service/system/SysMenuService.java | 7 +++++++ 3 files changed, 38 insertions(+), 3 deletions(-) diff --git a/xingyun-sys/src/main/java/com/lframework/xingyun/template/inner/impl/system/SysMenuServiceImpl.java b/xingyun-sys/src/main/java/com/lframework/xingyun/template/inner/impl/system/SysMenuServiceImpl.java index 76522a57..43bd015a 100644 --- a/xingyun-sys/src/main/java/com/lframework/xingyun/template/inner/impl/system/SysMenuServiceImpl.java +++ b/xingyun-sys/src/main/java/com/lframework/xingyun/template/inner/impl/system/SysMenuServiceImpl.java @@ -422,6 +422,24 @@ public class SysMenuServiceImpl extends BaseMpServiceImpl getParentMenuIds(String menuId) { + List results = new ArrayList<>(); + + String tmpMenuId = menuId; + while (tmpMenuId != null) { + SysMenu menu = getThis(this.getClass()).findById(tmpMenuId); + if (menu != null && StringUtil.isNotBlank(menu.getParentId())) { + results.add(menu.getParentId()); + tmpMenuId = menu.getParentId(); + } else { + break; + } + } + + return results; + } + private List getAllExpressions(String s) { if (!this.hasSpecExpression(s)) { diff --git a/xingyun-sys/src/main/java/com/lframework/xingyun/template/inner/impl/system/SysRoleMenuServiceImpl.java b/xingyun-sys/src/main/java/com/lframework/xingyun/template/inner/impl/system/SysRoleMenuServiceImpl.java index 4e7df1ac..a95b4909 100644 --- a/xingyun-sys/src/main/java/com/lframework/xingyun/template/inner/impl/system/SysRoleMenuServiceImpl.java +++ b/xingyun-sys/src/main/java/com/lframework/xingyun/template/inner/impl/system/SysRoleMenuServiceImpl.java @@ -5,14 +5,15 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.lframework.starter.common.exceptions.impl.DefaultClientException; import com.lframework.starter.common.utils.CollectionUtil; import com.lframework.starter.common.utils.ObjectUtil; -import com.lframework.starter.web.impl.BaseMpServiceImpl; import com.lframework.starter.web.components.security.SecurityConstants; +import com.lframework.starter.web.impl.BaseMpServiceImpl; import com.lframework.starter.web.utils.IdUtil; import com.lframework.xingyun.core.annotations.OpLog; import com.lframework.xingyun.core.enums.DefaultOpLogType; +import com.lframework.xingyun.template.inner.entity.SysRole; import com.lframework.xingyun.template.inner.entity.SysRoleMenu; import com.lframework.xingyun.template.inner.mappers.system.SysRoleMenuMapper; -import com.lframework.xingyun.template.inner.entity.SysRole; +import com.lframework.xingyun.template.inner.service.system.SysMenuService; import com.lframework.xingyun.template.inner.service.system.SysRoleMenuService; import com.lframework.xingyun.template.inner.service.system.SysRoleService; import com.lframework.xingyun.template.inner.vo.system.role.SysRoleMenuSettingVo; @@ -31,7 +32,11 @@ public class SysRoleMenuServiceImpl extends @Autowired private SysRoleService sysRoleService; - @OpLog(type = DefaultOpLogType.SYSTEM, name = "角色授权菜单,角色ID:{},菜单ID:{}", params = {"#vo.roleIds", + @Autowired + private SysMenuService sysMenuService; + + @OpLog(type = DefaultOpLogType.SYSTEM, name = "角色授权菜单,角色ID:{},菜单ID:{}", params = { + "#vo.roleIds", "#vo.menuIds"}, loopFormat = true) @Transactional(rollbackFor = Exception.class) @Override @@ -63,6 +68,11 @@ public class SysRoleMenuServiceImpl extends if (!CollectionUtil.isEmpty(menuIds)) { Set menuIdSet = new HashSet<>(menuIds); + // 根据所有的menuIds查询父级ID,父级ID需要添加 + for (String menuId : menuIds) { + menuIdSet.addAll(sysMenuService.getParentMenuIds(menuId)); + } + for (String menuId : menuIdSet) { SysRoleMenu record = new SysRoleMenu(); record.setId(IdUtil.getId()); diff --git a/xingyun-sys/src/main/java/com/lframework/xingyun/template/inner/service/system/SysMenuService.java b/xingyun-sys/src/main/java/com/lframework/xingyun/template/inner/service/system/SysMenuService.java index 5cc65946..1ab6ec3c 100644 --- a/xingyun-sys/src/main/java/com/lframework/xingyun/template/inner/service/system/SysMenuService.java +++ b/xingyun-sys/src/main/java/com/lframework/xingyun/template/inner/service/system/SysMenuService.java @@ -131,4 +131,11 @@ public interface SysMenuService extends BaseMpService { * @param menuId */ void cancelCollect(String userId, String menuId); + + /** + * 根据菜单ID查询父级菜单ID + * @param menuId + * @return + */ + List getParentMenuIds(String menuId); } -- Gitee From 5dbe1e55a2d58ac2a2c46a29838720d152e83004 Mon Sep 17 00:00:00 2001 From: lframework Date: Wed, 30 Apr 2025 18:51:54 +0800 Subject: [PATCH 03/25] =?UTF-8?q?=E4=BC=98=E5=8C=96=E8=A7=92=E8=89=B2?= =?UTF-8?q?=E6=8E=88=E6=9D=83=E7=9A=84=E4=BA=A4=E4=BA=92?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../inner/impl/system/SysRoleMenuServiceImpl.java | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/xingyun-sys/src/main/java/com/lframework/xingyun/template/inner/impl/system/SysRoleMenuServiceImpl.java b/xingyun-sys/src/main/java/com/lframework/xingyun/template/inner/impl/system/SysRoleMenuServiceImpl.java index a95b4909..4ebc53d4 100644 --- a/xingyun-sys/src/main/java/com/lframework/xingyun/template/inner/impl/system/SysRoleMenuServiceImpl.java +++ b/xingyun-sys/src/main/java/com/lframework/xingyun/template/inner/impl/system/SysRoleMenuServiceImpl.java @@ -10,8 +10,10 @@ import com.lframework.starter.web.impl.BaseMpServiceImpl; import com.lframework.starter.web.utils.IdUtil; import com.lframework.xingyun.core.annotations.OpLog; import com.lframework.xingyun.core.enums.DefaultOpLogType; +import com.lframework.xingyun.template.inner.entity.SysMenu; import com.lframework.xingyun.template.inner.entity.SysRole; import com.lframework.xingyun.template.inner.entity.SysRoleMenu; +import com.lframework.xingyun.template.inner.enums.system.SysMenuDisplay; import com.lframework.xingyun.template.inner.mappers.system.SysRoleMenuMapper; import com.lframework.xingyun.template.inner.service.system.SysMenuService; import com.lframework.xingyun.template.inner.service.system.SysRoleMenuService; @@ -73,6 +75,12 @@ public class SysRoleMenuServiceImpl extends menuIdSet.addAll(sysMenuService.getParentMenuIds(menuId)); } + if (menuIdSet.stream().noneMatch(t -> { + SysMenu menu = sysMenuService.findById(t); + return menu != null && (menu.getDisplay() == SysMenuDisplay.FUNCTION || menu.getDisplay() == SysMenuDisplay.PERMISSION); + })) { + throw new DefaultClientException("授权失败,不能只选择类型是“" + SysMenuDisplay.CATALOG.getDesc() + "”的菜单!"); + } for (String menuId : menuIdSet) { SysRoleMenu record = new SysRoleMenu(); record.setId(IdUtil.getId()); -- Gitee From 17cb462b11c616d8f57b25d4c6969a2ff86d16d4 Mon Sep 17 00:00:00 2001 From: lframework Date: Wed, 30 Apr 2025 19:09:29 +0800 Subject: [PATCH 04/25] =?UTF-8?q?=E4=BC=98=E5=8C=96=E8=A7=92=E8=89=B2?= =?UTF-8?q?=E6=8E=88=E6=9D=83=E7=9A=84=E4=BA=A4=E4=BA=92?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/system/SysRoleMenuServiceImpl.java | 34 ++++++++++++++++--- 1 file changed, 29 insertions(+), 5 deletions(-) diff --git a/xingyun-sys/src/main/java/com/lframework/xingyun/template/inner/impl/system/SysRoleMenuServiceImpl.java b/xingyun-sys/src/main/java/com/lframework/xingyun/template/inner/impl/system/SysRoleMenuServiceImpl.java index 4ebc53d4..5e4512c6 100644 --- a/xingyun-sys/src/main/java/com/lframework/xingyun/template/inner/impl/system/SysRoleMenuServiceImpl.java +++ b/xingyun-sys/src/main/java/com/lframework/xingyun/template/inner/impl/system/SysRoleMenuServiceImpl.java @@ -23,6 +23,7 @@ import java.util.ArrayList; import java.util.HashSet; import java.util.List; import java.util.Set; +import java.util.stream.Collectors; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -75,11 +76,34 @@ public class SysRoleMenuServiceImpl extends menuIdSet.addAll(sysMenuService.getParentMenuIds(menuId)); } - if (menuIdSet.stream().noneMatch(t -> { - SysMenu menu = sysMenuService.findById(t); - return menu != null && (menu.getDisplay() == SysMenuDisplay.FUNCTION || menu.getDisplay() == SysMenuDisplay.PERMISSION); - })) { - throw new DefaultClientException("授权失败,不能只选择类型是“" + SysMenuDisplay.CATALOG.getDesc() + "”的菜单!"); + List allMenus = menuIdSet.stream().map(sysMenuService::findById).collect( + Collectors.toList()); + // 需要判断每一个类型是目录的菜单是否都包含菜单或权限的子菜单 + for (SysMenu menu : allMenus) { + if (menu.getDisplay() != SysMenuDisplay.CATALOG) { + continue; + } + + List parentIds = new ArrayList<>(); + parentIds.add(menu.getId()); + List childrenMenus = new ArrayList<>(); + while (true) { + List children = allMenus.stream() + .filter(t -> parentIds.contains(t.getParentId())).collect( + Collectors.toList()); + if (CollectionUtil.isEmpty(children)) { + break; + } + childrenMenus.addAll(children); + parentIds.clear(); + parentIds.addAll(children.stream().map(SysMenu::getId).collect(Collectors.toList())); + } + + if (childrenMenus.stream().noneMatch(t -> t.getDisplay() == SysMenuDisplay.FUNCTION + || t.getDisplay() == SysMenuDisplay.PERMISSION)) { + throw new DefaultClientException("菜单:“" + menu.getTitle() + "”授权失败,该菜单的类型是“" + + SysMenuDisplay.CATALOG.getDesc() + "”,必须包含子菜单!"); + } } for (String menuId : menuIdSet) { SysRoleMenu record = new SysRoleMenu(); -- Gitee From acdc5e3b9d6f6f5d8eeb30ad912c01e4843af62f Mon Sep 17 00:00:00 2001 From: lframework Date: Fri, 9 May 2025 23:57:30 +0800 Subject: [PATCH 05/25] =?UTF-8?q?=E6=89=93=E5=8D=B0=E6=A8=A1=E6=9D=BF?= =?UTF-8?q?=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 2 +- .../src/main/resources/db/all/tenant.sql | 99 ++++++++-- .../tenant/V1.14__print_template.sql | 46 +++++ .../basedata/bo/print/GetPrintTemplateBo.java | 31 +++ .../print/GetPrintTemplateCompSettingBo.java | 43 ++++ .../bo/print/GetPrintTemplateSettingBo.java | 71 +++++++ .../bo/print/QueryPrintTemplateBo.java | 60 ++++++ .../controller/PrintTemplateController.java | 187 ++++++++++++++++++ .../basedata/entity/PrintTemplate.java | 84 ++++++++ .../basedata/entity/PrintTemplateComp.java | 42 ++++ .../print/PrintTemplateCompServiceImpl.java | 27 +++ .../impl/print/PrintTemplateServiceImpl.java | 134 +++++++++++++ .../mappers/PrintTemplateCompMapper.java | 16 ++ .../basedata/mappers/PrintTemplateMapper.java | 31 +++ .../print/PrintTemplateCompService.java | 11 ++ .../service/print/PrintTemplateService.java | 66 +++++++ .../vo/print/CreatePrintTemplateVo.java | 20 ++ .../vo/print/QueryPrintTemplateVo.java | 19 ++ .../print/UpdatePrintTemplateDemoDataVo.java | 28 +++ .../print/UpdatePrintTemplateSettingVo.java | 28 +++ .../vo/print/UpdatePrintTemplateVo.java | 28 +++ .../mappers/print/PrintTemplateMapper.xml | 21 ++ .../listeners/mq/ExportTaskListener.java | 2 +- .../sc/bo/purchase/PrintPurchaseOrderBo.java | 3 +- .../purchase/receive/PrintReceiveSheetBo.java | 3 +- .../returned/PrintPurchaseReturnBo.java | 3 +- .../bo/retail/out/PrintRetailOutSheetBo.java | 3 +- .../retail/returned/PrintRetailReturnBo.java | 3 +- .../xingyun/sc/bo/sale/PrintSaleOrderBo.java | 3 +- .../sc/bo/sale/out/PrintSaleOutSheetBo.java | 3 +- .../bo/sale/returned/PrintSaleReturnBo.java | 3 +- .../purchase/PurchaseOrderController.java | 8 +- .../purchase/PurchaseReturnController.java | 7 +- .../purchase/ReceiveSheetController.java | 8 +- .../retail/RetailOutSheetController.java | 7 +- .../retail/RetailReturnController.java | 8 +- .../controller/sale/SaleOrderController.java | 9 +- .../sale/SaleOutSheetController.java | 8 +- .../controller/sale/SaleReturnController.java | 8 +- 39 files changed, 1099 insertions(+), 84 deletions(-) create mode 100644 xingyun-api/src/main/resources/db/migration/tenant/V1.14__print_template.sql create mode 100644 xingyun-basedata/src/main/java/com/lframework/xingyun/basedata/bo/print/GetPrintTemplateBo.java create mode 100644 xingyun-basedata/src/main/java/com/lframework/xingyun/basedata/bo/print/GetPrintTemplateCompSettingBo.java create mode 100644 xingyun-basedata/src/main/java/com/lframework/xingyun/basedata/bo/print/GetPrintTemplateSettingBo.java create mode 100644 xingyun-basedata/src/main/java/com/lframework/xingyun/basedata/bo/print/QueryPrintTemplateBo.java create mode 100644 xingyun-basedata/src/main/java/com/lframework/xingyun/basedata/controller/PrintTemplateController.java create mode 100644 xingyun-basedata/src/main/java/com/lframework/xingyun/basedata/entity/PrintTemplate.java create mode 100644 xingyun-basedata/src/main/java/com/lframework/xingyun/basedata/entity/PrintTemplateComp.java create mode 100644 xingyun-basedata/src/main/java/com/lframework/xingyun/basedata/impl/print/PrintTemplateCompServiceImpl.java create mode 100644 xingyun-basedata/src/main/java/com/lframework/xingyun/basedata/impl/print/PrintTemplateServiceImpl.java create mode 100644 xingyun-basedata/src/main/java/com/lframework/xingyun/basedata/mappers/PrintTemplateCompMapper.java create mode 100644 xingyun-basedata/src/main/java/com/lframework/xingyun/basedata/mappers/PrintTemplateMapper.java create mode 100644 xingyun-basedata/src/main/java/com/lframework/xingyun/basedata/service/print/PrintTemplateCompService.java create mode 100644 xingyun-basedata/src/main/java/com/lframework/xingyun/basedata/service/print/PrintTemplateService.java create mode 100644 xingyun-basedata/src/main/java/com/lframework/xingyun/basedata/vo/print/CreatePrintTemplateVo.java create mode 100644 xingyun-basedata/src/main/java/com/lframework/xingyun/basedata/vo/print/QueryPrintTemplateVo.java create mode 100644 xingyun-basedata/src/main/java/com/lframework/xingyun/basedata/vo/print/UpdatePrintTemplateDemoDataVo.java create mode 100644 xingyun-basedata/src/main/java/com/lframework/xingyun/basedata/vo/print/UpdatePrintTemplateSettingVo.java create mode 100644 xingyun-basedata/src/main/java/com/lframework/xingyun/basedata/vo/print/UpdatePrintTemplateVo.java create mode 100644 xingyun-basedata/src/main/resources/mappers/print/PrintTemplateMapper.xml diff --git a/pom.xml b/pom.xml index 841359ed..2eb900e2 100644 --- a/pom.xml +++ b/pom.xml @@ -35,7 +35,7 @@ 8 8 1.0.0-SNAPSHOT - 3.1.6 + 3.1.7 diff --git a/xingyun-api/src/main/resources/db/all/tenant.sql b/xingyun-api/src/main/resources/db/all/tenant.sql index fd86d4b0..adf87559 100644 --- a/xingyun-api/src/main/resources/db/all/tenant.sql +++ b/xingyun-api/src/main/resources/db/all/tenant.sql @@ -5305,21 +5305,21 @@ CREATE TABLE `sys_generate_code` ( `name` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '名称', `config_str` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '配置信息(JSONArray)', PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of sys_generate_code -- ---------------------------- -INSERT INTO `sys_generate_code` (`id`, `name`, `config_str`) VALUES (1, '用户编号', '[{\"type\":6,\"val\":\"U\"},{\"type\":1,\"pattern\":\"yyMMdd\"},{\"type\":3,\"key\":\"58aabb1d160430444158d82e4c86cb9c7f2a\",\"len\":\"5\",\"step\":1,\"expireSeconds\":86400}]'); -INSERT INTO `sys_generate_code` (`id`, `name`, `config_str`) VALUES (2, '部门编号', '[{\"type\":6,\"val\":\"D\"},{\"type\":1,\"pattern\":\"yyMMdd\"},{\"type\":3,\"key\":\"6cba5a299099449fb385850b5f5c1ec4\",\"len\":\"5\",\"step\":1,\"expireSeconds\":86400}]'); -INSERT INTO `sys_generate_code` (`id`, `name`, `config_str`) VALUES (3, '角色编号', '[{\"type\":6,\"val\":\"R\"},{\"type\":1,\"pattern\":\"yyMMdd\"},{\"type\":3,\"key\":\"ccb59649d82547098b2626d35dd06064\",\"len\":\"5\",\"step\":1,\"expireSeconds\":86400}]'); -INSERT INTO `sys_generate_code` (`id`, `name`, `config_str`) VALUES (4, '仓库编号', '[{\"type\":6,\"val\":\"CK\"},{\"type\":1,\"pattern\":\"yyMMdd\"},{\"type\":3,\"key\":\"f3d4d218b3064f0d8bf7f12f5eb64fb9\",\"len\":\"5\",\"step\":1,\"expireSeconds\":86400}]'); -INSERT INTO `sys_generate_code` (`id`, `name`, `config_str`) VALUES (5, '客户编号', '[{\"type\":6,\"val\":\"KH\"},{\"type\":1,\"pattern\":\"yyMMdd\"},{\"type\":3,\"key\":\"0c9f51fcf94c442b9661280cf61c9ef7\",\"len\":\"5\",\"step\":1,\"expireSeconds\":86400}]'); -INSERT INTO `sys_generate_code` (`id`, `name`, `config_str`) VALUES (6, '供应商编号', '[{\"type\":6,\"val\":\"GYS\"},{\"type\":1,\"pattern\":\"yyMMdd\"},{\"type\":3,\"key\":\"12262adfb244488d80de51caa8edb66e\",\"len\":\"5\",\"step\":1,\"expireSeconds\":86400}]'); -INSERT INTO `sys_generate_code` (`id`, `name`, `config_str`) VALUES (7, '会员编号', '[{\"type\":6,\"val\":\"HY\"},{\"type\":1,\"pattern\":\"yyMMdd\"},{\"type\":3,\"key\":\"206d9d9abfdd49b4b0a4f2730b7b0288\",\"len\":\"5\",\"step\":1,\"expireSeconds\":86400}]'); -INSERT INTO `sys_generate_code` (`id`, `name`, `config_str`) VALUES (8, '门店编号', '[{\"type\":6,\"val\":\"M\"},{\"type\":1,\"pattern\":\"yyMMdd\"},{\"type\":3,\"key\":\"f3021011fee745c18eb6eba410c17527\",\"len\":\"5\",\"step\":1,\"expireSeconds\":86400}]'); -INSERT INTO `sys_generate_code` (`id`, `name`, `config_str`) VALUES (9, '品牌编号', '[{\"type\":6,\"val\":\"B\"},{\"type\":1,\"pattern\":\"yyMMdd\"},{\"type\":3,\"key\":\"331e5e9818194b3096ccbe941f6dedc6\",\"len\":\"5\",\"step\":1,\"expireSeconds\":86400}]'); -INSERT INTO `sys_generate_code` (`id`, `name`, `config_str`) VALUES (10, '商品编号', '[{\"type\":6,\"val\":\"P\"},{\"type\":1,\"pattern\":\"yyMMdd\"},{\"type\":3,\"key\":\"c9b6e74117f84fe68346201de3554b50\",\"len\":\"5\",\"step\":1,\"expireSeconds\":86400}]'); +INSERT INTO `sys_generate_code` VALUES (1, '用户编号', '[{\"type\":6,\"val\":\"U\"},{\"type\":1,\"pattern\":\"yyMMdd\"},{\"type\":3,\"key\":\"58aabb1d160430444158d82e4c86cb9c7f2a\",\"len\":\"5\",\"step\":1,\"expireSeconds\":86400}]'); +INSERT INTO `sys_generate_code` VALUES (2, '部门编号', '[{\"type\":6,\"val\":\"D\"},{\"type\":1,\"pattern\":\"yyMMdd\"},{\"type\":3,\"key\":\"6cba5a299099449fb385850b5f5c1ec4\",\"len\":\"5\",\"step\":1,\"expireSeconds\":86400}]'); +INSERT INTO `sys_generate_code` VALUES (3, '角色编号', '[{\"type\":6,\"val\":\"R\"},{\"type\":1,\"pattern\":\"yyMMdd\"},{\"type\":3,\"key\":\"ccb59649d82547098b2626d35dd06064\",\"len\":\"5\",\"step\":1,\"expireSeconds\":86400}]'); +INSERT INTO `sys_generate_code` VALUES (4, '仓库编号', '[{\"type\":6,\"val\":\"CK\"},{\"type\":1,\"pattern\":\"yyMMdd\"},{\"type\":3,\"key\":\"f3d4d218b3064f0d8bf7f12f5eb64fb9\",\"len\":\"5\",\"step\":1,\"expireSeconds\":86400}]'); +INSERT INTO `sys_generate_code` VALUES (5, '客户编号', '[{\"type\":6,\"val\":\"KH\"},{\"type\":1,\"pattern\":\"yyMMdd\"},{\"type\":3,\"key\":\"0c9f51fcf94c442b9661280cf61c9ef7\",\"len\":\"5\",\"step\":1,\"expireSeconds\":86400}]'); +INSERT INTO `sys_generate_code` VALUES (6, '供应商编号', '[{\"type\":6,\"val\":\"GYS\"},{\"type\":1,\"pattern\":\"yyMMdd\"},{\"type\":3,\"key\":\"12262adfb244488d80de51caa8edb66e\",\"len\":\"5\",\"step\":1,\"expireSeconds\":86400}]'); +INSERT INTO `sys_generate_code` VALUES (7, '会员编号', '[{\"type\":6,\"val\":\"HY\"},{\"type\":1,\"pattern\":\"yyMMdd\"},{\"type\":3,\"key\":\"206d9d9abfdd49b4b0a4f2730b7b0288\",\"len\":\"5\",\"step\":1,\"expireSeconds\":86400}]'); +INSERT INTO `sys_generate_code` VALUES (8, '门店编号', '[{\"type\":6,\"val\":\"M\"},{\"type\":1,\"pattern\":\"yyMMdd\"},{\"type\":3,\"key\":\"f3021011fee745c18eb6eba410c17527\",\"len\":\"5\",\"step\":1,\"expireSeconds\":86400}]'); +INSERT INTO `sys_generate_code` VALUES (9, '品牌编号', '[{\"type\":6,\"val\":\"B\"},{\"type\":1,\"pattern\":\"yyMMdd\"},{\"type\":3,\"key\":\"331e5e9818194b3096ccbe941f6dedc6\",\"len\":\"5\",\"step\":1,\"expireSeconds\":86400}]'); +INSERT INTO `sys_generate_code` VALUES (10, '商品编号', '[{\"type\":6,\"val\":\"P\"},{\"type\":1,\"pattern\":\"yyMMdd\"},{\"type\":3,\"key\":\"c9b6e74117f84fe68346201de3554b50\",\"len\":\"5\",\"step\":1,\"expireSeconds\":86400}]'); INSERT INTO `sys_generate_code` VALUES (200, '采购订单号', '[{\"type\":1,\"pattern\":\"yyyyMMdd\"},{\"type\":3,\"key\":\"37366f903834c842d5e8144bd707bdb77e35\",\"len\":10,\"step\":1,\"expireSeconds\":86400}]'); INSERT INTO `sys_generate_code` VALUES (201, '采购收货单号', '[{\"type\":1,\"pattern\":\"yyyyMMdd\"},{\"type\":3,\"key\":\"12099be638c90d466b2a4af5465ed632459f\",\"len\":10,\"step\":1,\"expireSeconds\":86400}]'); INSERT INTO `sys_generate_code` VALUES (202, '采购退单号', '[{\"type\":1,\"pattern\":\"yyyyMMdd\"},{\"type\":3,\"key\":\"60fdc467f35db94c8569f6ed68d103ce5452\",\"len\":10,\"step\":1,\"expireSeconds\":86400}]'); @@ -5364,7 +5364,7 @@ CREATE TABLE `sys_mail_message` ( INDEX `mail`(`mail`) USING BTREE, INDEX `biz_key`(`biz_key`) USING BTREE, INDEX `create_time`(`create_time`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '邮件消息' ROW_FORMAT = Dynamic; +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '邮件消息' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of sys_mail_message @@ -5489,6 +5489,9 @@ INSERT INTO `sys_menu` VALUES ('2000009004', '2000009004', '', '导入地址', N INSERT INTO `sys_menu` VALUES ('2000010', '2000010', 'LogisticsCompany', '物流公司', NULL, 0, '/base-data/logistics/company/index', NULL, '2000', '15', '/logistics/company', 0, 1, 0, 'base-data:logistics-company:query', 1, 1, '', '系统管理员', '1', '2021-07-05 21:59:35', '系统管理员', '1', '2021-07-05 21:59:36'); INSERT INTO `sys_menu` VALUES ('2000010001', '2000010001', '', '新增物流公司', NULL, 0, '', NULL, '2000010', '15', '', 0, 2, 0, 'base-data:logistics-company:add', 1, 1, '', '系统管理员', '1', '2021-05-12 22:50:27', '系统管理员', '1', '2021-07-04 00:34:23'); INSERT INTO `sys_menu` VALUES ('2000010002', '2000010002', '', '修改物流公司', NULL, 0, '', NULL, '2000010', '15', '', 0, 2, 0, 'base-data:logistics-company:modify', 1, 1, '', '系统管理员', '1', '2021-05-12 23:23:33', '系统管理员', '1', '2021-07-04 00:34:23'); +INSERT INTO `sys_menu` VALUES ('2000011', '2000011', 'PrintTemplate', '打印模板', NULL, 0, '/base-data/print-template/index', NULL, '2000', '15', '/print-template', 0, 1, 0, 'base-data:print-template:query', 1, 1, '', '系统管理员', '1', '2021-07-05 21:59:35', '系统管理员', '1', '2021-07-05 21:59:36'); +INSERT INTO `sys_menu` VALUES ('2000011001', '2000011001', '', '新增打印模板', NULL, 0, '', NULL, '2000011', '15', '', 0, 2, 0, 'base-data:print-template:add', 1, 1, '', '系统管理员', '1', '2021-05-12 22:50:27', '系统管理员', '1', '2021-07-04 00:34:23'); +INSERT INTO `sys_menu` VALUES ('2000011002', '2000011002', '', '修改打印模板', NULL, 0, '', NULL, '2000011', '15', '', 0, 2, 0, 'base-data:print-template:modify', 1, 1, '', '系统管理员', '1', '2021-05-12 23:23:33', '系统管理员', '1', '2021-07-04 00:34:23'); INSERT INTO `sys_menu` VALUES ('2001', '2001', 'Product', '商品中心', 'ant-design:appstore-outlined', NULL, '', NULL, NULL, '4', '/product', 0, 0, 0, '', 1, 1, '', '系统管理员', '1', '2021-07-05 01:21:35', '系统管理员', '1', '2021-07-05 01:21:39'); INSERT INTO `sys_menu` VALUES ('2001001', '2001001', 'ProductCategory', '商品分类', NULL, 0, '/base-data/product/category/index', NULL, '2001', '4', '/category', 0, 1, 0, 'base-data:product:category:query', 1, 1, '', '系统管理员', '1', '2021-07-05 21:59:35', '系统管理员', '1', '2021-07-05 21:59:36'); INSERT INTO `sys_menu` VALUES ('2001001001', '2001001001', '', '新增分类', NULL, 0, '', NULL, '2001001', '4', '', 0, 2, 0, 'base-data:product:category:add', 1, 1, '', '系统管理员', '1', '2021-05-12 22:50:27', '系统管理员', '1', '2021-07-04 00:34:23'); @@ -5770,7 +5773,7 @@ CREATE TABLE `sys_notify_group` ( `available` tinyint(1) NOT NULL COMMENT '状态', PRIMARY KEY (`id`) USING BTREE, UNIQUE INDEX `name`(`name`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '消息通知组' ROW_FORMAT = Dynamic; +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '消息通知组' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of sys_notify_group @@ -5786,7 +5789,7 @@ CREATE TABLE `sys_notify_group_receiver` ( `receiver_id` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '接收者ID', PRIMARY KEY (`id`) USING BTREE, UNIQUE INDEX `group_id`(`group_id`, `receiver_id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '消息通知组-接收者关系表' ROW_FORMAT = Dynamic; +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '消息通知组-接收者关系表' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of sys_notify_group_receiver @@ -5895,7 +5898,7 @@ CREATE TABLE `sys_site_message` ( INDEX `biz_key`(`biz_key`) USING BTREE, INDEX `receiver_id`(`receiver_id`) USING BTREE, INDEX `create_time`(`create_time`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '站内信' ROW_FORMAT = Dynamic; +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '站内信' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of sys_site_message @@ -6027,7 +6030,7 @@ CREATE TABLE `tbl_export_task` ( INDEX `finish_time`(`finish_time`) USING BTREE, INDEX `req_params_sign`(`req_params_sign`) USING BTREE, INDEX `create_by_id`(`create_by_id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '导出任务' ROW_FORMAT = Dynamic; +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '导出任务' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of tbl_export_task @@ -6198,6 +6201,64 @@ CREATE TABLE `tbl_pre_take_stock_sheet_detail` ( -- Records of tbl_pre_take_stock_sheet_detail -- ---------------------------- +-- ---------------------------- +-- Table structure for tbl_print_template +-- ---------------------------- +DROP TABLE IF EXISTS `tbl_print_template`; +CREATE TABLE `tbl_print_template` ( + `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'ID', + `name` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '名称', + `template_json` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT 'JSON配置', + `demo_data` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '示例数据', + `create_by` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '创建人', + `create_by_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '创建人ID', + `create_time` datetime NOT NULL COMMENT '创建时间', + `update_by` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '修改人', + `update_by_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '修改人ID', + `update_time` datetime NOT NULL COMMENT '修改时间', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 9 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '打印模板' ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Records of tbl_print_template +-- ---------------------------- +INSERT INTO `tbl_print_template` VALUES (1, '采购订单', '{\"tempItems\":[{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":122,\"height\":14,\"left\":500,\"top\":5,\"title\":\"标题\",\"value\":\"采购订单\",\"name\":\"\",\"style\":{\"zIndex\":0,\"FontSize\":14,\"FontColor\":\"#000000\",\"Bold\":\"1\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"center\",\"ItemType\":\"1\",\"bordered\":false,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":0,\"leftOffset\":0},\"uuid\":\"35205865ddd83246b7aa9b82addbc49b5a7e\"},{\"type\":\"braid-barcode\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":200,\"height\":40,\"left\":920,\"top\":5,\"title\":\"单号条码\",\"name\":\"code\",\"style\":{\"zIndex\":0,\"FontSize\":\"9\",\"ShowBarText\":\"1\",\"CodeType\":\"Code39\",\"ItemType\":\"1\"},\"value\":\"{单号}\",\"uuid\":\"027597a790715443beeae5d06cd8d1f06b60\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":108,\"height\":24,\"left\":10,\"top\":60,\"title\":\"仓库编号-标题\",\"value\":\"仓库编号:\",\"name\":\"\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"right\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":0},\"uuid\":\"387f44812bf5e84fc2a89b8689beb7ae95ff\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":168,\"height\":24,\"left\":118,\"top\":60,\"title\":\"仓库编号\",\"value\":\"{仓库编号}\",\"name\":\"scCode\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"left\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":5},\"uuid\":\"b7217c3c1571794c4428f5d5823bfb0a4a99\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":108,\"height\":24,\"left\":286,\"top\":60,\"title\":\"仓库名称-标题\",\"value\":\"仓库名称:\",\"name\":\"\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"right\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":0},\"uuid\":\"a400e796d4c955457bc819f8cf6c43d6c19a\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":168,\"height\":24,\"left\":394,\"top\":60,\"title\":\"仓库名称\",\"value\":\"{仓库名称}\",\"name\":\"scName\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"left\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":5},\"uuid\":\"7cf2034a2a4e1b443ffa3d5972bfc322a88e\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":108,\"height\":24,\"left\":562,\"top\":60,\"title\":\"供应商编号-标题\",\"value\":\"供应商编号:\",\"name\":\"\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"right\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":0},\"uuid\":\"09bc7fd608d8e641df48b4e94b47f05ff923\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":168,\"height\":24,\"left\":670,\"top\":60,\"title\":\"供应商编号\",\"value\":\"{供应商编号}\",\"name\":\"supplierCode\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"left\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":5},\"uuid\":\"4a08de3bd8296a4ac6ab9f2c5cab79f61584\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":108,\"height\":24,\"left\":838,\"top\":60,\"title\":\"供应商名称-标题\",\"value\":\"供应商名称:\",\"name\":\"\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"right\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":0},\"uuid\":\"2bcbd47062dffb4d0038afc6ac3e58455eab\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":168,\"height\":24,\"left\":946,\"top\":60,\"title\":\"供应商名称\",\"value\":\"{供应商名称}\",\"name\":\"supplierName\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"left\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":5},\"uuid\":\"c39584ca3946284d908bd758d6dad5a70517\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":108,\"height\":24,\"left\":10,\"top\":84,\"title\":\"采购员-标题\",\"value\":\"采购员:\",\"name\":\"\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"right\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":0},\"uuid\":\"4c9ba4c9e0da3443d2097761f206563a6e31\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":168,\"height\":24,\"left\":118,\"top\":84,\"title\":\"采购员\",\"value\":\"{采购员}\",\"name\":\"purchaserName\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"left\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":5},\"uuid\":\"a4508027b5bd034c440a063e59b7ee0cc297\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":108,\"height\":24,\"left\":286,\"top\":84,\"title\":\"操作人-标题\",\"value\":\"操作人:\",\"name\":\"\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"right\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":0},\"uuid\":\"09debe4c6886374dbdd847de695a364339aa\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":168,\"height\":24,\"left\":394,\"top\":84,\"title\":\"操作人\",\"value\":\"{操作人}\",\"name\":\"createBy\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"left\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":5},\"uuid\":\"aea91c8a37984b4d90e8545fa84a823a9e2b\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":108,\"height\":24,\"left\":562,\"top\":84,\"title\":\"操作时间-标题\",\"value\":\"操作时间:\",\"name\":\"\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"right\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":0},\"uuid\":\"b80a43b94128624c56a97c3e88689b6af8d6\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":168,\"height\":24,\"left\":670,\"top\":84,\"title\":\"操作时间\",\"value\":\"{操作时间}\",\"name\":\"createTime\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"left\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":5},\"uuid\":\"89d3b43387c17e44f798ef2bf220d26bf3e3\"},{\"type\":\"braid-table\",\"isEdit\":0,\"draggable\":true,\"resizable\":true,\"width\":1104,\"height\":60,\"left\":10,\"top\":118,\"title\":\"采购商品明细\",\"value\":\"{details}\",\"defaultValue\":[],\"tabelHtml\":\"\",\"columnsAttr\":[{\"title\":\"序号\",\"name\":\"_seq\"},{\"title\":\"商品编号\",\"value\":\"{商品编号}\",\"name\":\"productCode\"},{\"title\":\"商品名称\",\"value\":\"{商品名称}\",\"name\":\"productName\"},{\"title\":\"商品SKU编号\",\"value\":\"{商品SKU编号}\",\"name\":\"skuCode\"},{\"title\":\"商品简码\",\"value\":\"{商品简码}\",\"name\":\"externalCode\"},{\"title\":\"采购数量\",\"value\":\"{采购数量}\",\"name\":\"purchaseNum\"},{\"title\":\"采购价\",\"value\":\"{采购价}\",\"name\":\"purchasePrice\"},{\"title\":\"采购金额\",\"value\":\"{采购金额}\",\"name\":\"purchaseAmount\"}],\"columns\":[{\"title\":\"序号\",\"name\":\"_seq\"},{\"title\":\"商品编号\",\"value\":\"{商品编号}\",\"name\":\"productCode\"},{\"title\":\"商品名称\",\"value\":\"{商品名称}\",\"name\":\"productName\"},{\"title\":\"商品SKU编号\",\"value\":\"{商品SKU编号}\",\"name\":\"skuCode\"},{\"title\":\"商品简码\",\"value\":\"{商品简码}\",\"name\":\"externalCode\"},{\"title\":\"采购数量\",\"value\":\"{采购数量}\",\"name\":\"purchaseNum\"},{\"title\":\"采购价\",\"value\":\"{采购价}\",\"name\":\"purchasePrice\"},{\"title\":\"采购金额\",\"value\":\"{采购金额}\",\"name\":\"purchaseAmount\"}],\"selectCol\":[\"_seq\",\"productCode\",\"productName\",\"skuCode\",\"externalCode\",\"purchaseNum\",\"purchasePrice\",\"purchaseAmount\"],\"name\":\"details\",\"style\":{\"zIndex\":0,\"Alignment\":\"left\",\"FontSize\":12,\"FontColor\":\"#000000\",\"borderColor\":\"#000000\",\"autoHeight\":true,\"BottomMargin\":20},\"uuid\":\"a54b8d97a637b64fd5f9ca417d7d5211716e\"},{\"type\":\"braid-page\",\"isEdit\":false,\"draggable\":true,\"resizable\":true,\"width\":97,\"height\":20,\"left\":1025,\"top\":770,\"title\":\"分页\",\"curPageStyle\":\"第##页\",\"splitPageStyle\":\"/\",\"totalPageStyle\":\"共##页\",\"name\":\"\",\"style\":{\"zIndex\":0,\"ItemType\":\"1\",\"autoHeight\":false,\"BottomMargin\":5,\"Alignment\":\"right\",\"FontSize\":12,\"FontColor\":\"#000000\"},\"uuid\":\"d6f62ce0a7931e438188be50bc350f99da7d\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":108,\"height\":24,\"left\":838,\"top\":84,\"title\":\"预计到货日期-标题\",\"value\":\"预计到货日期:\",\"name\":\"\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"right\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":0},\"uuid\":\"604209e64d1a984bbaabe0ad64ad77f5eeee\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":168,\"height\":24,\"left\":946,\"top\":84,\"title\":\"预计到货日期\",\"value\":\"{预计到货日期}\",\"name\":\"expectArriveDate\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"left\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":5},\"uuid\":\"e874b94582286747e2a8865a0ded60b4d639\"}],\"title\":\"采购订单\",\"pageWidth\":210,\"pageHeight\":297,\"width\":1122,\"height\":793,\"pageDirection\":2}', '{\n \"code\": \"202503220000000002\",\n \"scCode\": \"1\",\n \"scName\": \"测试仓库\",\n \"supplierCode\": \"1\",\n \"supplierName\": \"测试供应商\",\n \"purchaserName\": \"\",\n \"expectArriveDate\": \"2025-04-22\",\n \"description\": \"\",\n \"createBy\": \"系统管理员\",\n \"createTime\": \"2025-03-22 08:04:30\",\n \"approveBy\": \"\",\n \"approveTime\": \"\",\n \"details\": [\n {\n \"productCode\": \"11\",\n \"productName\": \"商品222\",\n \"skuCode\": \"41\",\n \"externalCode\": \"51\",\n \"purchaseNum\": 1,\n \"purchasePrice\": 121,\n \"purchaseAmount\": 121\n }\n ]\n}', '系统管理员', '1', '2025-01-28 18:41:35', '系统管理员', '1', '2025-05-09 19:49:08'); +INSERT INTO `tbl_print_template` VALUES (2, '采购收货单', '{\"tempItems\":[{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":122,\"height\":14,\"left\":500,\"top\":5,\"title\":\"标题\",\"value\":\"采购收货单\",\"name\":\"\",\"style\":{\"zIndex\":0,\"FontSize\":14,\"FontColor\":\"#000000\",\"Bold\":\"1\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"center\",\"ItemType\":\"1\",\"bordered\":false,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":0,\"leftOffset\":0},\"uuid\":\"35205865ddd83246b7aa9b82addbc49b5a7e\"},{\"type\":\"braid-barcode\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":200,\"height\":40,\"left\":920,\"top\":5,\"title\":\"单号条码\",\"name\":\"code\",\"style\":{\"zIndex\":0,\"FontSize\":\"9\",\"ShowBarText\":\"1\",\"CodeType\":\"Code39\",\"ItemType\":\"1\"},\"value\":\"{单号}\",\"uuid\":\"027597a790715443beeae5d06cd8d1f06b60\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":108,\"height\":24,\"left\":10,\"top\":60,\"title\":\"仓库编号-标题\",\"value\":\"仓库编号:\",\"name\":\"\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"right\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":0},\"uuid\":\"387f44812bf5e84fc2a89b8689beb7ae95ff\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":168,\"height\":24,\"left\":118,\"top\":60,\"title\":\"仓库编号\",\"value\":\"{仓库编号}\",\"name\":\"scCode\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"left\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":5},\"uuid\":\"b7217c3c1571794c4428f5d5823bfb0a4a99\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":108,\"height\":24,\"left\":286,\"top\":60,\"title\":\"仓库名称-标题\",\"value\":\"仓库名称:\",\"name\":\"\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"right\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":0},\"uuid\":\"a400e796d4c955457bc819f8cf6c43d6c19a\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":168,\"height\":24,\"left\":394,\"top\":60,\"title\":\"仓库名称\",\"value\":\"{仓库名称}\",\"name\":\"scName\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"left\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":5},\"uuid\":\"7cf2034a2a4e1b443ffa3d5972bfc322a88e\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":108,\"height\":24,\"left\":562,\"top\":60,\"title\":\"供应商编号-标题\",\"value\":\"供应商编号:\",\"name\":\"\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"right\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":0},\"uuid\":\"09bc7fd608d8e641df48b4e94b47f05ff923\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":168,\"height\":24,\"left\":670,\"top\":60,\"title\":\"供应商编号\",\"value\":\"{供应商编号}\",\"name\":\"supplierCode\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"left\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":5},\"uuid\":\"4a08de3bd8296a4ac6ab9f2c5cab79f61584\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":108,\"height\":24,\"left\":838,\"top\":60,\"title\":\"供应商名称-标题\",\"value\":\"供应商名称:\",\"name\":\"\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"right\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":0},\"uuid\":\"2bcbd47062dffb4d0038afc6ac3e58455eab\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":168,\"height\":24,\"left\":946,\"top\":60,\"title\":\"供应商名称\",\"value\":\"{供应商名称}\",\"name\":\"supplierName\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"left\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":5},\"uuid\":\"c39584ca3946284d908bd758d6dad5a70517\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":108,\"height\":24,\"left\":10,\"top\":84,\"title\":\"采购员-标题\",\"value\":\"采购员:\",\"name\":\"\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"right\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":0},\"uuid\":\"4c9ba4c9e0da3443d2097761f206563a6e31\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":168,\"height\":24,\"left\":118,\"top\":84,\"title\":\"采购员\",\"value\":\"{采购员}\",\"name\":\"purchaserName\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"left\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":5},\"uuid\":\"a4508027b5bd034c440a063e59b7ee0cc297\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":108,\"height\":24,\"left\":286,\"top\":84,\"title\":\"操作人-标题\",\"value\":\"操作人:\",\"name\":\"\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"right\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":0},\"uuid\":\"09debe4c6886374dbdd847de695a364339aa\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":168,\"height\":24,\"left\":394,\"top\":84,\"title\":\"操作人\",\"value\":\"{操作人}\",\"name\":\"createBy\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"left\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":5},\"uuid\":\"aea91c8a37984b4d90e8545fa84a823a9e2b\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":108,\"height\":24,\"left\":562,\"top\":84,\"title\":\"操作时间-标题\",\"value\":\"操作时间:\",\"name\":\"\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"right\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":0},\"uuid\":\"b80a43b94128624c56a97c3e88689b6af8d6\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":168,\"height\":24,\"left\":670,\"top\":84,\"title\":\"操作时间\",\"value\":\"{操作时间}\",\"name\":\"createTime\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"left\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":5},\"uuid\":\"89d3b43387c17e44f798ef2bf220d26bf3e3\"},{\"type\":\"braid-table\",\"isEdit\":0,\"draggable\":true,\"resizable\":true,\"width\":1104,\"height\":60,\"left\":10,\"top\":142,\"title\":\"收货商品明细\",\"value\":\"{details}\",\"defaultValue\":[],\"tabelHtml\":\"\",\"columnsAttr\":[{\"title\":\"序号\",\"name\":\"_seq\"},{\"title\":\"商品编号\",\"value\":\"{商品编号}\",\"name\":\"productCode\"},{\"title\":\"商品名称\",\"value\":\"{商品名称}\",\"name\":\"productName\"},{\"title\":\"商品SKU编号\",\"value\":\"{商品SKU编号}\",\"name\":\"skuCode\"},{\"title\":\"商品简码\",\"value\":\"{商品简码}\",\"name\":\"externalCode\"},{\"title\":\"收货数量\",\"value\":\"{收货数量}\",\"name\":\"receiveNum\"},{\"title\":\"采购价\",\"value\":\"{采购价}\",\"name\":\"purchasePrice\"},{\"title\":\"收货金额\",\"value\":\"{收货金额}\",\"name\":\"receiveAmount\"}],\"columns\":[{\"title\":\"序号\",\"name\":\"_seq\"},{\"title\":\"商品编号\",\"value\":\"{商品编号}\",\"name\":\"productCode\"},{\"title\":\"商品名称\",\"value\":\"{商品名称}\",\"name\":\"productName\"},{\"title\":\"商品SKU编号\",\"value\":\"{商品SKU编号}\",\"name\":\"skuCode\"},{\"title\":\"商品简码\",\"value\":\"{商品简码}\",\"name\":\"externalCode\"},{\"title\":\"收货数量\",\"value\":\"{收货数量}\",\"name\":\"receiveNum\"},{\"title\":\"采购价\",\"value\":\"{采购价}\",\"name\":\"purchasePrice\"},{\"title\":\"收货金额\",\"value\":\"{收货金额}\",\"name\":\"receiveAmount\"}],\"selectCol\":[\"_seq\",\"productCode\",\"productName\",\"skuCode\",\"externalCode\",\"receiveNum\",\"purchasePrice\",\"receiveAmount\"],\"name\":\"details\",\"style\":{\"zIndex\":0,\"Alignment\":\"left\",\"FontSize\":12,\"FontColor\":\"#000000\",\"borderColor\":\"#000000\",\"autoHeight\":true,\"BottomMargin\":20},\"uuid\":\"a54b8d97a637b64fd5f9ca417d7d5211716e\"},{\"type\":\"braid-page\",\"isEdit\":false,\"draggable\":true,\"resizable\":true,\"width\":97,\"height\":20,\"left\":1025,\"top\":770,\"title\":\"分页\",\"curPageStyle\":\"第##页\",\"splitPageStyle\":\"/\",\"totalPageStyle\":\"共##页\",\"name\":\"\",\"style\":{\"zIndex\":0,\"ItemType\":\"1\",\"autoHeight\":false,\"BottomMargin\":5,\"Alignment\":\"right\",\"FontSize\":12,\"FontColor\":\"#000000\"},\"uuid\":\"d6f62ce0a7931e438188be50bc350f99da7d\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":108,\"height\":24,\"left\":10,\"top\":108,\"title\":\"付款日期-标题\",\"value\":\"付款日期:\",\"name\":\"\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"right\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":0},\"uuid\":\"604209e64d1a984bbaabe0ad64ad77f5eeee\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":168,\"height\":24,\"left\":118,\"top\":108,\"title\":\"付款日期\",\"value\":\"{付款日期}\",\"name\":\"paymentDate\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"left\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":5},\"uuid\":\"e874b94582286747e2a8865a0ded60b4d639\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":108,\"height\":24,\"left\":286,\"top\":108,\"title\":\"实际到货日期-标题\",\"value\":\"实际到货日期:\",\"name\":\"\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"right\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":0},\"uuid\":\"6dd07e667962904ffc295c2ebc5e75c164ad\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":168,\"height\":24,\"left\":394,\"top\":108,\"title\":\"实际到货日期\",\"value\":\"{实际到货日期}\",\"name\":\"receiveDate\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"left\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":5},\"uuid\":\"572db42f6ec9644a9c4863c94af8b229e6e8\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":108,\"height\":24,\"left\":838,\"top\":84,\"title\":\"采购订单号-标题\",\"value\":\"采购订单号:\",\"name\":\"\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"right\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":0},\"uuid\":\"a4e29827b8e062405258d7f5e7bb535f9dd5\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":168,\"height\":24,\"left\":946,\"top\":84,\"title\":\"采购订单号\",\"value\":\"{采购订单号}\",\"name\":\"purchaseOrderCode\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"left\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":5},\"uuid\":\"e7681d4c03d9664ad96b96efc49bd124f871\"}],\"title\":\"采购收货单\",\"pageWidth\":210,\"pageHeight\":297,\"width\":1122,\"height\":793,\"pageDirection\":2}', '{\n \"code\": \"202501190000000003\",\n \"scCode\": \"1\",\n \"scName\": \"测试仓库\",\n \"supplierCode\": \"1\",\n \"supplierName\": \"测试供应商\",\n \"purchaserName\": \"\",\n \"paymentDate\": \"2025-02-19\",\n \"receiveDate\": \"2025-01-19\",\n \"purchaseOrderCode\": \"\",\n \"description\": \"\",\n \"createBy\": \"系统管理员\",\n \"createTime\": \"2025-01-19 21:39:08\",\n \"approveBy\": \"\",\n \"approveTime\": \"\",\n \"details\": [\n {\n \"productCode\": \"11\",\n \"productName\": \"商品222\",\n \"skuCode\": \"41\",\n \"externalCode\": \"51\",\n \"receiveNum\": 1,\n \"purchasePrice\": 121,\n \"receiveAmount\": 121\n }\n ]\n}', '系统管理员', '1', '2025-01-28 18:44:12', '系统管理员', '1', '2025-05-09 18:04:40'); +INSERT INTO `tbl_print_template` VALUES (3, '采购退货单', '{\"tempItems\":[{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":122,\"height\":14,\"left\":500,\"top\":5,\"title\":\"标题\",\"value\":\"采购退货单\",\"name\":\"\",\"style\":{\"zIndex\":0,\"FontSize\":14,\"FontColor\":\"#000000\",\"Bold\":\"1\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"center\",\"ItemType\":\"1\",\"bordered\":false,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":0,\"leftOffset\":0},\"uuid\":\"35205865ddd83246b7aa9b82addbc49b5a7e\"},{\"type\":\"braid-barcode\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":200,\"height\":40,\"left\":920,\"top\":5,\"title\":\"单号条码\",\"name\":\"code\",\"style\":{\"zIndex\":0,\"FontSize\":\"9\",\"ShowBarText\":\"1\",\"CodeType\":\"Code39\",\"ItemType\":\"1\"},\"value\":\"{单号}\",\"uuid\":\"027597a790715443beeae5d06cd8d1f06b60\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":108,\"height\":24,\"left\":10,\"top\":60,\"title\":\"仓库编号-标题\",\"value\":\"仓库编号:\",\"name\":\"\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"right\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":0},\"uuid\":\"387f44812bf5e84fc2a89b8689beb7ae95ff\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":168,\"height\":24,\"left\":118,\"top\":60,\"title\":\"仓库编号\",\"value\":\"{仓库编号}\",\"name\":\"scCode\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"left\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":5},\"uuid\":\"b7217c3c1571794c4428f5d5823bfb0a4a99\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":108,\"height\":24,\"left\":286,\"top\":60,\"title\":\"仓库名称-标题\",\"value\":\"仓库名称:\",\"name\":\"\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"right\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":0},\"uuid\":\"a400e796d4c955457bc819f8cf6c43d6c19a\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":168,\"height\":24,\"left\":394,\"top\":60,\"title\":\"仓库名称\",\"value\":\"{仓库名称}\",\"name\":\"scName\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"left\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":5},\"uuid\":\"7cf2034a2a4e1b443ffa3d5972bfc322a88e\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":108,\"height\":24,\"left\":562,\"top\":60,\"title\":\"供应商编号-标题\",\"value\":\"供应商编号:\",\"name\":\"\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"right\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":0},\"uuid\":\"09bc7fd608d8e641df48b4e94b47f05ff923\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":168,\"height\":24,\"left\":670,\"top\":60,\"title\":\"供应商编号\",\"value\":\"{供应商编号}\",\"name\":\"supplierCode\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"left\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":5},\"uuid\":\"4a08de3bd8296a4ac6ab9f2c5cab79f61584\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":108,\"height\":24,\"left\":838,\"top\":60,\"title\":\"供应商名称-标题\",\"value\":\"供应商名称:\",\"name\":\"\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"right\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":0},\"uuid\":\"2bcbd47062dffb4d0038afc6ac3e58455eab\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":168,\"height\":24,\"left\":946,\"top\":60,\"title\":\"供应商名称\",\"value\":\"{供应商名称}\",\"name\":\"supplierName\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"left\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":5},\"uuid\":\"c39584ca3946284d908bd758d6dad5a70517\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":108,\"height\":24,\"left\":10,\"top\":84,\"title\":\"采购员-标题\",\"value\":\"采购员:\",\"name\":\"\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"right\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":0},\"uuid\":\"4c9ba4c9e0da3443d2097761f206563a6e31\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":168,\"height\":24,\"left\":118,\"top\":84,\"title\":\"采购员\",\"value\":\"{采购员}\",\"name\":\"purchaserName\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"left\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":5},\"uuid\":\"a4508027b5bd034c440a063e59b7ee0cc297\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":108,\"height\":24,\"left\":286,\"top\":84,\"title\":\"操作人-标题\",\"value\":\"操作人:\",\"name\":\"\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"right\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":0},\"uuid\":\"09debe4c6886374dbdd847de695a364339aa\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":168,\"height\":24,\"left\":394,\"top\":84,\"title\":\"操作人\",\"value\":\"{操作人}\",\"name\":\"createBy\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"left\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":5},\"uuid\":\"aea91c8a37984b4d90e8545fa84a823a9e2b\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":108,\"height\":24,\"left\":562,\"top\":84,\"title\":\"操作时间-标题\",\"value\":\"操作时间:\",\"name\":\"\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"right\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":0},\"uuid\":\"b80a43b94128624c56a97c3e88689b6af8d6\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":168,\"height\":24,\"left\":670,\"top\":84,\"title\":\"操作时间\",\"value\":\"{操作时间}\",\"name\":\"createTime\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"left\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":5},\"uuid\":\"89d3b43387c17e44f798ef2bf220d26bf3e3\"},{\"type\":\"braid-table\",\"isEdit\":0,\"draggable\":true,\"resizable\":true,\"width\":1104,\"height\":60,\"left\":10,\"top\":142,\"title\":\"退货商品明细\",\"value\":\"{details}\",\"defaultValue\":[],\"tabelHtml\":\"\",\"columnsAttr\":[{\"title\":\"序号\",\"name\":\"_seq\"},{\"title\":\"商品编号\",\"value\":\"{商品编号}\",\"name\":\"productCode\"},{\"title\":\"商品名称\",\"value\":\"{商品名称}\",\"name\":\"productName\"},{\"title\":\"商品SKU编号\",\"value\":\"{商品SKU编号}\",\"name\":\"skuCode\"},{\"title\":\"商品简码\",\"value\":\"{商品简码}\",\"name\":\"externalCode\"},{\"title\":\"退货数量\",\"value\":\"{退货数量}\",\"name\":\"returnNum\"},{\"title\":\"退货价\",\"value\":\"{退货价}\",\"name\":\"purchasePrice\"},{\"title\":\"退货金额\",\"value\":\"{退货金额}\",\"name\":\"returnAmount\"}],\"columns\":[{\"title\":\"序号\",\"name\":\"_seq\"},{\"title\":\"商品编号\",\"value\":\"{商品编号}\",\"name\":\"productCode\"},{\"title\":\"商品名称\",\"value\":\"{商品名称}\",\"name\":\"productName\"},{\"title\":\"商品SKU编号\",\"value\":\"{商品SKU编号}\",\"name\":\"skuCode\"},{\"title\":\"商品简码\",\"value\":\"{商品简码}\",\"name\":\"externalCode\"},{\"title\":\"退货数量\",\"value\":\"{退货数量}\",\"name\":\"returnNum\"},{\"title\":\"退货价\",\"value\":\"{退货价}\",\"name\":\"purchasePrice\"},{\"title\":\"退货金额\",\"value\":\"{退货金额}\",\"name\":\"returnAmount\"}],\"selectCol\":[\"_seq\",\"productCode\",\"productName\",\"skuCode\",\"externalCode\",\"returnNum\",\"purchasePrice\",\"returnAmount\"],\"name\":\"details\",\"style\":{\"zIndex\":0,\"Alignment\":\"left\",\"FontSize\":12,\"FontColor\":\"#000000\",\"borderColor\":\"#000000\",\"autoHeight\":true,\"BottomMargin\":20},\"uuid\":\"a54b8d97a637b64fd5f9ca417d7d5211716e\"},{\"type\":\"braid-page\",\"isEdit\":false,\"draggable\":true,\"resizable\":true,\"width\":97,\"height\":20,\"left\":1025,\"top\":770,\"title\":\"分页\",\"curPageStyle\":\"第##页\",\"splitPageStyle\":\"/\",\"totalPageStyle\":\"共##页\",\"name\":\"\",\"style\":{\"zIndex\":0,\"ItemType\":\"1\",\"autoHeight\":false,\"BottomMargin\":5,\"Alignment\":\"right\",\"FontSize\":12,\"FontColor\":\"#000000\"},\"uuid\":\"d6f62ce0a7931e438188be50bc350f99da7d\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":108,\"height\":24,\"left\":10,\"top\":108,\"title\":\"付款日期-标题\",\"value\":\"付款日期:\",\"name\":\"\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"right\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":0},\"uuid\":\"604209e64d1a984bbaabe0ad64ad77f5eeee\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":168,\"height\":24,\"left\":118,\"top\":108,\"title\":\"付款日期\",\"value\":\"{付款日期}\",\"name\":\"paymentDate\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"left\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":5},\"uuid\":\"e874b94582286747e2a8865a0ded60b4d639\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":108,\"height\":24,\"left\":838,\"top\":84,\"title\":\"采购收货单号-标题\",\"value\":\"采购收货单号:\",\"name\":\"\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"right\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":0},\"uuid\":\"a4e29827b8e062405258d7f5e7bb535f9dd5\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":168,\"height\":24,\"left\":946,\"top\":84,\"title\":\"采购收货单号\",\"value\":\"{采购收货单号}\",\"name\":\"receiveSheetCode\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"left\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":5},\"uuid\":\"e7681d4c03d9664ad96b96efc49bd124f871\"}],\"title\":\"采购退货单\",\"pageWidth\":210,\"pageHeight\":297,\"width\":1122,\"height\":793,\"pageDirection\":2}', '{\n \"code\": \"202501190000000005\",\n \"scCode\": \"1\",\n \"scName\": \"测试仓库\",\n \"supplierCode\": \"1\",\n \"supplierName\": \"测试供应商\",\n \"purchaserName\": \"\",\n \"paymentDate\": \"2025-02-19\",\n \"receiveSheetCode\": \"\",\n \"description\": \"\",\n \"createBy\": \"系统管理员\",\n \"createTime\": \"2025-01-19 21:51:18\",\n \"approveBy\": \"系统管理员\",\n \"approveTime\": \"2025-01-19 21:51:24\",\n \"details\": [\n {\n \"id\": \"1880976328979779584\",\n \"productId\": \"1738409214449160192\",\n \"productCode\": \"11\",\n \"productName\": \"商品222\",\n \"skuCode\": \"41\",\n \"externalCode\": \"51\",\n \"returnNum\": 1,\n \"purchasePrice\": 121,\n \"returnAmount\": 121\n }\n ]\n}', '系统管理员', '1', '2025-05-09 18:03:12', '系统管理员', '1', '2025-05-09 19:45:12'); +INSERT INTO `tbl_print_template` VALUES (4, '零售出库单', '{\"tempItems\":[{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":122,\"height\":14,\"left\":500,\"top\":5,\"title\":\"标题\",\"value\":\"零售出库单\",\"name\":\"\",\"style\":{\"zIndex\":0,\"FontSize\":14,\"FontColor\":\"#000000\",\"Bold\":\"1\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"center\",\"ItemType\":\"1\",\"bordered\":false,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":0,\"leftOffset\":0},\"uuid\":\"35205865ddd83246b7aa9b82addbc49b5a7e\"},{\"type\":\"braid-barcode\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":200,\"height\":40,\"left\":920,\"top\":5,\"title\":\"单号条码\",\"name\":\"code\",\"style\":{\"zIndex\":0,\"FontSize\":\"9\",\"ShowBarText\":\"1\",\"CodeType\":\"Code39\",\"ItemType\":\"1\"},\"value\":\"{单号}\",\"uuid\":\"027597a790715443beeae5d06cd8d1f06b60\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":108,\"height\":24,\"left\":10,\"top\":60,\"title\":\"仓库编号-标题\",\"value\":\"仓库编号:\",\"name\":\"\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"right\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":0},\"uuid\":\"387f44812bf5e84fc2a89b8689beb7ae95ff\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":168,\"height\":24,\"left\":118,\"top\":60,\"title\":\"仓库编号\",\"value\":\"{仓库编号}\",\"name\":\"scCode\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"left\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":5},\"uuid\":\"b7217c3c1571794c4428f5d5823bfb0a4a99\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":108,\"height\":24,\"left\":286,\"top\":60,\"title\":\"仓库名称-标题\",\"value\":\"仓库名称:\",\"name\":\"\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"right\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":0},\"uuid\":\"a400e796d4c955457bc819f8cf6c43d6c19a\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":168,\"height\":24,\"left\":394,\"top\":60,\"title\":\"仓库名称\",\"value\":\"{仓库名称}\",\"name\":\"scName\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"left\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":5},\"uuid\":\"7cf2034a2a4e1b443ffa3d5972bfc322a88e\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":108,\"height\":24,\"left\":562,\"top\":60,\"title\":\"会员编号-标题\",\"value\":\"会员编号:\",\"name\":\"\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"right\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":0},\"uuid\":\"09bc7fd608d8e641df48b4e94b47f05ff923\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":168,\"height\":24,\"left\":670,\"top\":60,\"title\":\"会员编号\",\"value\":\"{会员编号}\",\"name\":\"memberCode\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"left\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":5},\"uuid\":\"4a08de3bd8296a4ac6ab9f2c5cab79f61584\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":108,\"height\":24,\"left\":838,\"top\":60,\"title\":\"会员名称-标题\",\"value\":\"会员名称:\",\"name\":\"\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"right\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":0},\"uuid\":\"2bcbd47062dffb4d0038afc6ac3e58455eab\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":168,\"height\":24,\"left\":946,\"top\":60,\"title\":\"会员名称\",\"value\":\"{会员名称}\",\"name\":\"memberName\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"left\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":5},\"uuid\":\"c39584ca3946284d908bd758d6dad5a70517\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":108,\"height\":24,\"left\":10,\"top\":84,\"title\":\"销售员-标题\",\"value\":\"销售员:\",\"name\":\"\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"right\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":0},\"uuid\":\"4c9ba4c9e0da3443d2097761f206563a6e31\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":168,\"height\":24,\"left\":118,\"top\":84,\"title\":\"销售员\",\"value\":\"{销售员}\",\"name\":\"salerName\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"left\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":5},\"uuid\":\"a4508027b5bd034c440a063e59b7ee0cc297\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":108,\"height\":24,\"left\":286,\"top\":84,\"title\":\"操作人-标题\",\"value\":\"操作人:\",\"name\":\"\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"right\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":0},\"uuid\":\"09debe4c6886374dbdd847de695a364339aa\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":168,\"height\":24,\"left\":394,\"top\":84,\"title\":\"操作人\",\"value\":\"{操作人}\",\"name\":\"createBy\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"left\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":5},\"uuid\":\"aea91c8a37984b4d90e8545fa84a823a9e2b\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":108,\"height\":24,\"left\":562,\"top\":84,\"title\":\"操作时间-标题\",\"value\":\"操作时间:\",\"name\":\"\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"right\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":0},\"uuid\":\"b80a43b94128624c56a97c3e88689b6af8d6\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":168,\"height\":24,\"left\":670,\"top\":84,\"title\":\"操作时间\",\"value\":\"{操作时间}\",\"name\":\"createTime\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"left\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":5},\"uuid\":\"89d3b43387c17e44f798ef2bf220d26bf3e3\"},{\"type\":\"braid-table\",\"isEdit\":0,\"draggable\":true,\"resizable\":true,\"width\":1104,\"height\":60,\"left\":10,\"top\":118,\"title\":\"出库商品明细\",\"value\":\"{details}\",\"defaultValue\":[],\"tabelHtml\":\"\",\"columnsAttr\":[{\"title\":\"序号\",\"name\":\"_seq\"},{\"title\":\"商品编号\",\"value\":\"{商品编号}\",\"name\":\"productCode\"},{\"title\":\"商品名称\",\"value\":\"{商品名称}\",\"name\":\"productName\"},{\"title\":\"商品SKU编号\",\"value\":\"{商品SKU编号}\",\"name\":\"skuCode\"},{\"title\":\"商品简码\",\"value\":\"{商品简码}\",\"name\":\"externalCode\"},{\"title\":\"出库数量\",\"value\":\"{出库数量}\",\"name\":\"outNum\"},{\"title\":\"价格\",\"value\":\"{价格}\",\"name\":\"taxPrice\"},{\"title\":\"出库金额\",\"value\":\"{出库金额}\",\"name\":\"outAmount\"}],\"columns\":[{\"title\":\"序号\",\"name\":\"_seq\"},{\"title\":\"商品编号\",\"value\":\"{商品编号}\",\"name\":\"productCode\"},{\"title\":\"商品名称\",\"value\":\"{商品名称}\",\"name\":\"productName\"},{\"title\":\"商品SKU编号\",\"value\":\"{商品SKU编号}\",\"name\":\"skuCode\"},{\"title\":\"商品简码\",\"value\":\"{商品简码}\",\"name\":\"externalCode\"},{\"title\":\"出库数量\",\"value\":\"{出库数量}\",\"name\":\"outNum\"},{\"title\":\"价格\",\"value\":\"{价格}\",\"name\":\"taxPrice\"},{\"title\":\"出库金额\",\"value\":\"{出库金额}\",\"name\":\"outAmount\"}],\"selectCol\":[\"_seq\",\"productCode\",\"productName\",\"skuCode\",\"externalCode\",\"outNum\",\"taxPrice\",\"outAmount\"],\"name\":\"details\",\"style\":{\"zIndex\":0,\"Alignment\":\"left\",\"FontSize\":12,\"FontColor\":\"#000000\",\"borderColor\":\"#000000\",\"autoHeight\":true,\"BottomMargin\":20},\"uuid\":\"a54b8d97a637b64fd5f9ca417d7d5211716e\"},{\"type\":\"braid-page\",\"isEdit\":false,\"draggable\":true,\"resizable\":true,\"width\":97,\"height\":20,\"left\":1025,\"top\":770,\"title\":\"分页\",\"curPageStyle\":\"第##页\",\"splitPageStyle\":\"/\",\"totalPageStyle\":\"共##页\",\"name\":\"\",\"style\":{\"zIndex\":0,\"ItemType\":\"1\",\"autoHeight\":false,\"BottomMargin\":5,\"Alignment\":\"right\",\"FontSize\":12,\"FontColor\":\"#000000\"},\"uuid\":\"d6f62ce0a7931e438188be50bc350f99da7d\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":108,\"height\":24,\"left\":838,\"top\":84,\"title\":\"付款日期-标题\",\"value\":\"付款日期:\",\"name\":\"\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"right\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":0},\"uuid\":\"604209e64d1a984bbaabe0ad64ad77f5eeee\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":168,\"height\":24,\"left\":946,\"top\":84,\"title\":\"付款日期\",\"value\":\"{付款日期}\",\"name\":\"paymentDate\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"left\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":5},\"uuid\":\"e874b94582286747e2a8865a0ded60b4d639\"}],\"title\":\"零售出库单\",\"pageWidth\":210,\"pageHeight\":297,\"width\":1122,\"height\":793,\"pageDirection\":2}', '{\n \"code\": \"202501190000000004\",\n \"scCode\": \"1\",\n \"scName\": \"测试仓库\",\n \"memberCode\": \"1\",\n \"memberName\": \"测试会员\",\n \"salerName\": \"\",\n \"paymentDate\": \"2025-02-19\",\n \"description\": \"\",\n \"createBy\": \"系统管理员\",\n \"createTime\": \"2025-01-19 22:20:59\",\n \"approveBy\": \"系统管理员\",\n \"approveTime\": \"2025-01-19 22:21:23\",\n \"details\": [\n {\n \"productCode\": \"11\",\n \"productName\": \"商品222\",\n \"skuCode\": \"41\",\n \"externalCode\": \"51\",\n \"outNum\": 1,\n \"taxPrice\": 141,\n \"outAmount\": 141\n }\n ]\n}', '系统管理员', '1', '2025-05-09 19:54:59', '系统管理员', '1', '2025-05-09 20:03:51'); +INSERT INTO `tbl_print_template` VALUES (5, '零售退货单', '{\"tempItems\":[{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":122,\"height\":14,\"left\":500,\"top\":5,\"title\":\"标题\",\"value\":\"零售退货单\",\"name\":\"\",\"style\":{\"zIndex\":0,\"FontSize\":14,\"FontColor\":\"#000000\",\"Bold\":\"1\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"center\",\"ItemType\":\"1\",\"bordered\":false,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":0,\"leftOffset\":0},\"uuid\":\"35205865ddd83246b7aa9b82addbc49b5a7e\"},{\"type\":\"braid-barcode\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":200,\"height\":40,\"left\":920,\"top\":5,\"title\":\"单号条码\",\"name\":\"code\",\"style\":{\"zIndex\":0,\"FontSize\":\"9\",\"ShowBarText\":\"1\",\"CodeType\":\"Code39\",\"ItemType\":\"1\"},\"value\":\"{单号}\",\"uuid\":\"027597a790715443beeae5d06cd8d1f06b60\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":108,\"height\":24,\"left\":10,\"top\":60,\"title\":\"仓库编号-标题\",\"value\":\"仓库编号:\",\"name\":\"\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"right\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":0},\"uuid\":\"387f44812bf5e84fc2a89b8689beb7ae95ff\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":168,\"height\":24,\"left\":118,\"top\":60,\"title\":\"仓库编号\",\"value\":\"{仓库编号}\",\"name\":\"scCode\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"left\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":5},\"uuid\":\"b7217c3c1571794c4428f5d5823bfb0a4a99\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":108,\"height\":24,\"left\":286,\"top\":60,\"title\":\"仓库名称-标题\",\"value\":\"仓库名称:\",\"name\":\"\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"right\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":0},\"uuid\":\"a400e796d4c955457bc819f8cf6c43d6c19a\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":168,\"height\":24,\"left\":394,\"top\":60,\"title\":\"仓库名称\",\"value\":\"{仓库名称}\",\"name\":\"scName\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"left\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":5},\"uuid\":\"7cf2034a2a4e1b443ffa3d5972bfc322a88e\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":108,\"height\":24,\"left\":562,\"top\":60,\"title\":\"会员编号-标题\",\"value\":\"会员编号:\",\"name\":\"\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"right\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":0},\"uuid\":\"09bc7fd608d8e641df48b4e94b47f05ff923\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":168,\"height\":24,\"left\":670,\"top\":60,\"title\":\"会员编号\",\"value\":\"{会员编号}\",\"name\":\"memberCode\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"left\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":5},\"uuid\":\"4a08de3bd8296a4ac6ab9f2c5cab79f61584\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":108,\"height\":24,\"left\":838,\"top\":60,\"title\":\"会员名称-标题\",\"value\":\"会员名称:\",\"name\":\"\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"right\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":0},\"uuid\":\"2bcbd47062dffb4d0038afc6ac3e58455eab\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":168,\"height\":24,\"left\":946,\"top\":60,\"title\":\"会员名称\",\"value\":\"{会员名称}\",\"name\":\"memberName\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"left\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":5},\"uuid\":\"c39584ca3946284d908bd758d6dad5a70517\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":108,\"height\":24,\"left\":10,\"top\":84,\"title\":\"销售员-标题\",\"value\":\"销售员:\",\"name\":\"\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"right\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":0},\"uuid\":\"4c9ba4c9e0da3443d2097761f206563a6e31\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":168,\"height\":24,\"left\":118,\"top\":84,\"title\":\"销售员\",\"value\":\"{销售员}\",\"name\":\"salerName\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"left\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":5},\"uuid\":\"a4508027b5bd034c440a063e59b7ee0cc297\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":108,\"height\":24,\"left\":286,\"top\":84,\"title\":\"操作人-标题\",\"value\":\"操作人:\",\"name\":\"\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"right\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":0},\"uuid\":\"09debe4c6886374dbdd847de695a364339aa\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":168,\"height\":24,\"left\":394,\"top\":84,\"title\":\"操作人\",\"value\":\"{操作人}\",\"name\":\"createBy\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"left\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":5},\"uuid\":\"aea91c8a37984b4d90e8545fa84a823a9e2b\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":108,\"height\":24,\"left\":562,\"top\":84,\"title\":\"操作时间-标题\",\"value\":\"操作时间:\",\"name\":\"\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"right\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":0},\"uuid\":\"b80a43b94128624c56a97c3e88689b6af8d6\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":168,\"height\":24,\"left\":670,\"top\":84,\"title\":\"操作时间\",\"value\":\"{操作时间}\",\"name\":\"createTime\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"left\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":5},\"uuid\":\"89d3b43387c17e44f798ef2bf220d26bf3e3\"},{\"type\":\"braid-table\",\"isEdit\":0,\"draggable\":true,\"resizable\":true,\"width\":1104,\"height\":60,\"left\":10,\"top\":142,\"title\":\"退货商品明细\",\"value\":\"{details}\",\"defaultValue\":[],\"tabelHtml\":\"\",\"columnsAttr\":[{\"title\":\"序号\",\"name\":\"_seq\"},{\"title\":\"商品编号\",\"value\":\"{商品编号}\",\"name\":\"productCode\"},{\"title\":\"商品名称\",\"value\":\"{商品名称}\",\"name\":\"productName\"},{\"title\":\"商品SKU编号\",\"value\":\"{商品SKU编号}\",\"name\":\"skuCode\"},{\"title\":\"商品简码\",\"value\":\"{商品简码}\",\"name\":\"externalCode\"},{\"title\":\"退货数量\",\"value\":\"{退货数量}\",\"name\":\"returnNum\"},{\"title\":\"价格\",\"value\":\"{价格}\",\"name\":\"taxPrice\"},{\"title\":\"退货金额\",\"value\":\"{退货金额}\",\"name\":\"returnAmount\"}],\"columns\":[{\"title\":\"序号\",\"name\":\"_seq\"},{\"title\":\"商品编号\",\"value\":\"{商品编号}\",\"name\":\"productCode\"},{\"title\":\"商品名称\",\"value\":\"{商品名称}\",\"name\":\"productName\"},{\"title\":\"商品SKU编号\",\"value\":\"{商品SKU编号}\",\"name\":\"skuCode\"},{\"title\":\"商品简码\",\"value\":\"{商品简码}\",\"name\":\"externalCode\"},{\"title\":\"退货数量\",\"value\":\"{退货数量}\",\"name\":\"returnNum\"},{\"title\":\"价格\",\"value\":\"{价格}\",\"name\":\"taxPrice\"},{\"title\":\"退货金额\",\"value\":\"{退货金额}\",\"name\":\"returnAmount\"}],\"selectCol\":[\"_seq\",\"productCode\",\"productName\",\"skuCode\",\"externalCode\",\"returnNum\",\"taxPrice\",\"returnAmount\"],\"name\":\"details\",\"style\":{\"zIndex\":0,\"Alignment\":\"left\",\"FontSize\":12,\"FontColor\":\"#000000\",\"borderColor\":\"#000000\",\"autoHeight\":true,\"BottomMargin\":20},\"uuid\":\"a54b8d97a637b64fd5f9ca417d7d5211716e\"},{\"type\":\"braid-page\",\"isEdit\":false,\"draggable\":true,\"resizable\":true,\"width\":97,\"height\":20,\"left\":1025,\"top\":770,\"title\":\"分页\",\"curPageStyle\":\"第##页\",\"splitPageStyle\":\"/\",\"totalPageStyle\":\"共##页\",\"name\":\"\",\"style\":{\"zIndex\":0,\"ItemType\":\"1\",\"autoHeight\":false,\"BottomMargin\":5,\"Alignment\":\"right\",\"FontSize\":12,\"FontColor\":\"#000000\"},\"uuid\":\"d6f62ce0a7931e438188be50bc350f99da7d\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":108,\"height\":24,\"left\":10,\"top\":108,\"title\":\"付款日期-标题\",\"value\":\"付款日期:\",\"name\":\"\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"right\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":0},\"uuid\":\"604209e64d1a984bbaabe0ad64ad77f5eeee\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":168,\"height\":24,\"left\":118,\"top\":108,\"title\":\"付款日期\",\"value\":\"{付款日期}\",\"name\":\"paymentDate\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"left\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":5},\"uuid\":\"e874b94582286747e2a8865a0ded60b4d639\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":108,\"height\":24,\"left\":838,\"top\":84,\"title\":\"零售出库单号-标题\",\"value\":\"零售出库单号:\",\"name\":\"\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"right\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":0},\"uuid\":\"10488b69c261764f0e388a6607267aae769f\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":168,\"height\":24,\"left\":946,\"top\":84,\"title\":\"零售出库单号\",\"value\":\"{零售出库单号}\",\"name\":\"outSheetCode\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"left\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":5},\"uuid\":\"ba426c11fae59f4442a84d29ef5ab38c82ff\"}],\"title\":\"零售退货单\",\"pageWidth\":210,\"pageHeight\":297,\"width\":1122,\"height\":793,\"pageDirection\":2}', '{\n \"code\": \"202501190000000003\",\n \"scCode\": \"1\",\n \"scName\": \"测试仓库\",\n \"memberCode\": \"1\",\n \"memberName\": \"测试会员\",\n \"salerName\": \"\",\n \"paymentDate\": \"2025-02-19\",\n \"outSheetCode\": \"\",\n \"description\": \"\",\n \"createBy\": \"系统管理员\",\n \"createTime\": \"2025-01-19 22:28:28\",\n \"approveBy\": \"\",\n \"approveTime\": \"\",\n \"details\": [\n {\n \"productCode\": \"11\",\n \"productName\": \"商品222\",\n \"skuCode\": \"41\",\n \"externalCode\": \"51\",\n \"returnNum\": 1,\n \"taxPrice\": 141,\n \"returnAmount\": 141\n }\n ]\n}', '系统管理员', '1', '2025-05-09 20:54:00', '系统管理员', '1', '2025-05-09 21:03:49'); +INSERT INTO `tbl_print_template` VALUES (6, '销售订单', '{\"tempItems\":[{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":122,\"height\":14,\"left\":500,\"top\":5,\"title\":\"标题\",\"value\":\"销售订单\",\"name\":\"\",\"style\":{\"zIndex\":0,\"FontSize\":14,\"FontColor\":\"#000000\",\"Bold\":\"1\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"center\",\"ItemType\":\"1\",\"bordered\":false,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":0,\"leftOffset\":0},\"uuid\":\"35205865ddd83246b7aa9b82addbc49b5a7e\"},{\"type\":\"braid-barcode\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":200,\"height\":40,\"left\":920,\"top\":5,\"title\":\"单号条码\",\"name\":\"code\",\"style\":{\"zIndex\":0,\"FontSize\":\"9\",\"ShowBarText\":\"1\",\"CodeType\":\"Code39\",\"ItemType\":\"1\"},\"value\":\"{单号}\",\"uuid\":\"027597a790715443beeae5d06cd8d1f06b60\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":108,\"height\":24,\"left\":10,\"top\":60,\"title\":\"仓库编号-标题\",\"value\":\"仓库编号:\",\"name\":\"\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"right\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":0},\"uuid\":\"387f44812bf5e84fc2a89b8689beb7ae95ff\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":168,\"height\":24,\"left\":118,\"top\":60,\"title\":\"仓库编号\",\"value\":\"{仓库编号}\",\"name\":\"scCode\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"left\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":5},\"uuid\":\"b7217c3c1571794c4428f5d5823bfb0a4a99\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":108,\"height\":24,\"left\":286,\"top\":60,\"title\":\"仓库名称-标题\",\"value\":\"仓库名称:\",\"name\":\"\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"right\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":0},\"uuid\":\"a400e796d4c955457bc819f8cf6c43d6c19a\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":168,\"height\":24,\"left\":394,\"top\":60,\"title\":\"仓库名称\",\"value\":\"{仓库名称}\",\"name\":\"scName\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"left\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":5},\"uuid\":\"7cf2034a2a4e1b443ffa3d5972bfc322a88e\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":108,\"height\":24,\"left\":562,\"top\":60,\"title\":\"客户编号-标题\",\"value\":\"客户编号:\",\"name\":\"\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"right\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":0},\"uuid\":\"09bc7fd608d8e641df48b4e94b47f05ff923\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":168,\"height\":24,\"left\":670,\"top\":60,\"title\":\"客户编号\",\"value\":\"{客户编号}\",\"name\":\"customerCode\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"left\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":5},\"uuid\":\"4a08de3bd8296a4ac6ab9f2c5cab79f61584\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":108,\"height\":24,\"left\":838,\"top\":60,\"title\":\"客户名称-标题\",\"value\":\"客户名称:\",\"name\":\"\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"right\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":0},\"uuid\":\"2bcbd47062dffb4d0038afc6ac3e58455eab\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":168,\"height\":24,\"left\":946,\"top\":60,\"title\":\"客户名称\",\"value\":\"{客户名称}\",\"name\":\"customerName\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"left\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":5},\"uuid\":\"c39584ca3946284d908bd758d6dad5a70517\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":108,\"height\":24,\"left\":10,\"top\":84,\"title\":\"销售员-标题\",\"value\":\"销售员:\",\"name\":\"\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"right\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":0},\"uuid\":\"4c9ba4c9e0da3443d2097761f206563a6e31\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":168,\"height\":24,\"left\":118,\"top\":84,\"title\":\"销售员\",\"value\":\"{销售员}\",\"name\":\"salerName\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"left\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":5},\"uuid\":\"a4508027b5bd034c440a063e59b7ee0cc297\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":108,\"height\":24,\"left\":286,\"top\":84,\"title\":\"操作人-标题\",\"value\":\"操作人:\",\"name\":\"\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"right\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":0},\"uuid\":\"09debe4c6886374dbdd847de695a364339aa\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":168,\"height\":24,\"left\":394,\"top\":84,\"title\":\"操作人\",\"value\":\"{操作人}\",\"name\":\"createBy\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"left\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":5},\"uuid\":\"aea91c8a37984b4d90e8545fa84a823a9e2b\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":108,\"height\":24,\"left\":562,\"top\":84,\"title\":\"操作时间-标题\",\"value\":\"操作时间:\",\"name\":\"\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"right\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":0},\"uuid\":\"b80a43b94128624c56a97c3e88689b6af8d6\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":168,\"height\":24,\"left\":670,\"top\":84,\"title\":\"操作时间\",\"value\":\"{操作时间}\",\"name\":\"createTime\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"left\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":5},\"uuid\":\"89d3b43387c17e44f798ef2bf220d26bf3e3\"},{\"type\":\"braid-table\",\"isEdit\":0,\"draggable\":true,\"resizable\":true,\"width\":1104,\"height\":60,\"left\":10,\"top\":118,\"title\":\"销售商品明细\",\"value\":\"{details}\",\"defaultValue\":[],\"tabelHtml\":\"\",\"columnsAttr\":[{\"title\":\"序号\",\"name\":\"_seq\"},{\"title\":\"商品编号\",\"value\":\"{商品编号}\",\"name\":\"productCode\"},{\"title\":\"商品名称\",\"value\":\"{商品名称}\",\"name\":\"productName\"},{\"title\":\"商品SKU编号\",\"value\":\"{商品SKU编号}\",\"name\":\"skuCode\"},{\"title\":\"商品简码\",\"value\":\"{商品简码}\",\"name\":\"externalCode\"},{\"title\":\"销售数量\",\"value\":\"{销售数量}\",\"name\":\"orderNum\"},{\"title\":\"价格\",\"value\":\"{价格}\",\"name\":\"taxPrice\"},{\"title\":\"销售金额\",\"value\":\"{销售金额}\",\"name\":\"orderAmount\"}],\"columns\":[{\"title\":\"序号\",\"name\":\"_seq\"},{\"title\":\"商品编号\",\"value\":\"{商品编号}\",\"name\":\"productCode\"},{\"title\":\"商品名称\",\"value\":\"{商品名称}\",\"name\":\"productName\"},{\"title\":\"商品SKU编号\",\"value\":\"{商品SKU编号}\",\"name\":\"skuCode\"},{\"title\":\"商品简码\",\"value\":\"{商品简码}\",\"name\":\"externalCode\"},{\"title\":\"销售数量\",\"value\":\"{销售数量}\",\"name\":\"orderNum\"},{\"title\":\"价格\",\"value\":\"{价格}\",\"name\":\"taxPrice\"},{\"title\":\"销售金额\",\"value\":\"{销售金额}\",\"name\":\"orderAmount\"}],\"selectCol\":[\"_seq\",\"productCode\",\"productName\",\"skuCode\",\"externalCode\",\"orderNum\",\"taxPrice\",\"orderAmount\"],\"name\":\"details\",\"style\":{\"zIndex\":0,\"Alignment\":\"left\",\"FontSize\":12,\"FontColor\":\"#000000\",\"borderColor\":\"#000000\",\"autoHeight\":true,\"BottomMargin\":20},\"uuid\":\"a54b8d97a637b64fd5f9ca417d7d5211716e\"},{\"type\":\"braid-page\",\"isEdit\":false,\"draggable\":true,\"resizable\":true,\"width\":97,\"height\":20,\"left\":1025,\"top\":770,\"title\":\"分页\",\"curPageStyle\":\"第##页\",\"splitPageStyle\":\"/\",\"totalPageStyle\":\"共##页\",\"name\":\"\",\"style\":{\"zIndex\":0,\"ItemType\":\"1\",\"autoHeight\":false,\"BottomMargin\":5,\"Alignment\":\"right\",\"FontSize\":12,\"FontColor\":\"#000000\"},\"uuid\":\"d6f62ce0a7931e438188be50bc350f99da7d\"}],\"title\":\"零售出库单\",\"pageWidth\":210,\"pageHeight\":297,\"width\":1122,\"height\":793,\"pageDirection\":2}', '{\n \"code\": \"202501190000000003\",\n \"scCode\": \"1\",\n \"scName\": \"测试仓库\",\n \"customerCode\": \"1\",\n \"customerName\": \"测试客户\",\n \"salerName\": \"\",\n \"description\": \"\",\n \"createBy\": \"系统管理员\",\n \"createTime\": \"2025-01-19 22:08:46\",\n \"approveBy\": \"\",\n \"approveTime\": \"\",\n \"details\": [\n {\n \"productCode\": \"11\",\n \"productName\": \"商品222\",\n \"skuCode\": \"41\",\n \"externalCode\": \"51\",\n \"orderNum\": 1,\n \"taxPrice\": 131,\n \"orderAmount\": 131\n }\n ]\n}', '系统管理员', '1', '2025-05-09 22:34:50', '系统管理员', '1', '2025-05-09 22:35:00'); +INSERT INTO `tbl_print_template` VALUES (7, '销售出库单', '{\"tempItems\":[{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":122,\"height\":14,\"left\":500,\"top\":5,\"title\":\"标题\",\"value\":\"销售出库单\",\"name\":\"\",\"style\":{\"zIndex\":0,\"FontSize\":14,\"FontColor\":\"#000000\",\"Bold\":\"1\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"center\",\"ItemType\":\"1\",\"bordered\":false,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":0,\"leftOffset\":0},\"uuid\":\"35205865ddd83246b7aa9b82addbc49b5a7e\"},{\"type\":\"braid-barcode\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":200,\"height\":40,\"left\":920,\"top\":5,\"title\":\"单号条码\",\"name\":\"code\",\"style\":{\"zIndex\":0,\"FontSize\":\"9\",\"ShowBarText\":\"1\",\"CodeType\":\"Code39\",\"ItemType\":\"1\"},\"value\":\"{单号}\",\"uuid\":\"027597a790715443beeae5d06cd8d1f06b60\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":108,\"height\":24,\"left\":10,\"top\":60,\"title\":\"仓库编号-标题\",\"value\":\"仓库编号:\",\"name\":\"\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"right\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":0},\"uuid\":\"387f44812bf5e84fc2a89b8689beb7ae95ff\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":168,\"height\":24,\"left\":118,\"top\":60,\"title\":\"仓库编号\",\"value\":\"{仓库编号}\",\"name\":\"scCode\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"left\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":5},\"uuid\":\"b7217c3c1571794c4428f5d5823bfb0a4a99\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":108,\"height\":24,\"left\":286,\"top\":60,\"title\":\"仓库名称-标题\",\"value\":\"仓库名称:\",\"name\":\"\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"right\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":0},\"uuid\":\"a400e796d4c955457bc819f8cf6c43d6c19a\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":168,\"height\":24,\"left\":394,\"top\":60,\"title\":\"仓库名称\",\"value\":\"{仓库名称}\",\"name\":\"scName\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"left\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":5},\"uuid\":\"7cf2034a2a4e1b443ffa3d5972bfc322a88e\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":108,\"height\":24,\"left\":562,\"top\":60,\"title\":\"客户编号-标题\",\"value\":\"客户编号:\",\"name\":\"\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"right\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":0},\"uuid\":\"09bc7fd608d8e641df48b4e94b47f05ff923\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":168,\"height\":24,\"left\":670,\"top\":60,\"title\":\"客户编号\",\"value\":\"{客户编号}\",\"name\":\"customerCode\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"left\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":5},\"uuid\":\"4a08de3bd8296a4ac6ab9f2c5cab79f61584\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":108,\"height\":24,\"left\":838,\"top\":60,\"title\":\"客户名称-标题\",\"value\":\"客户名称:\",\"name\":\"\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"right\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":0},\"uuid\":\"2bcbd47062dffb4d0038afc6ac3e58455eab\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":168,\"height\":24,\"left\":946,\"top\":60,\"title\":\"客户名称\",\"value\":\"{客户名称}\",\"name\":\"customerName\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"left\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":5},\"uuid\":\"c39584ca3946284d908bd758d6dad5a70517\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":108,\"height\":24,\"left\":10,\"top\":84,\"title\":\"销售员-标题\",\"value\":\"销售员:\",\"name\":\"\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"right\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":0},\"uuid\":\"4c9ba4c9e0da3443d2097761f206563a6e31\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":168,\"height\":24,\"left\":118,\"top\":84,\"title\":\"销售员\",\"value\":\"{销售员}\",\"name\":\"salerName\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"left\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":5},\"uuid\":\"a4508027b5bd034c440a063e59b7ee0cc297\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":108,\"height\":24,\"left\":286,\"top\":84,\"title\":\"操作人-标题\",\"value\":\"操作人:\",\"name\":\"\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"right\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":0},\"uuid\":\"09debe4c6886374dbdd847de695a364339aa\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":168,\"height\":24,\"left\":394,\"top\":84,\"title\":\"操作人\",\"value\":\"{操作人}\",\"name\":\"createBy\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"left\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":5},\"uuid\":\"aea91c8a37984b4d90e8545fa84a823a9e2b\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":108,\"height\":24,\"left\":562,\"top\":84,\"title\":\"操作时间-标题\",\"value\":\"操作时间:\",\"name\":\"\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"right\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":0},\"uuid\":\"b80a43b94128624c56a97c3e88689b6af8d6\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":168,\"height\":24,\"left\":670,\"top\":84,\"title\":\"操作时间\",\"value\":\"{操作时间}\",\"name\":\"createTime\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"left\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":5},\"uuid\":\"89d3b43387c17e44f798ef2bf220d26bf3e3\"},{\"type\":\"braid-table\",\"isEdit\":0,\"draggable\":true,\"resizable\":true,\"width\":1104,\"height\":60,\"left\":10,\"top\":142,\"title\":\"出库商品明细\",\"value\":\"{details}\",\"defaultValue\":[],\"tabelHtml\":\"\",\"columnsAttr\":[{\"title\":\"序号\",\"name\":\"_seq\"},{\"title\":\"商品编号\",\"value\":\"{商品编号}\",\"name\":\"productCode\"},{\"title\":\"商品名称\",\"value\":\"{商品名称}\",\"name\":\"productName\"},{\"title\":\"商品SKU编号\",\"value\":\"{商品SKU编号}\",\"name\":\"skuCode\"},{\"title\":\"商品简码\",\"value\":\"{商品简码}\",\"name\":\"externalCode\"},{\"title\":\"出库数量\",\"value\":\"{出库数量}\",\"name\":\"outNum\"},{\"title\":\"价格\",\"value\":\"{价格}\",\"name\":\"taxPrice\"},{\"title\":\"出库金额\",\"value\":\"{出库金额}\",\"name\":\"outAmount\"}],\"columns\":[{\"title\":\"序号\",\"name\":\"_seq\"},{\"title\":\"商品编号\",\"value\":\"{商品编号}\",\"name\":\"productCode\"},{\"title\":\"商品名称\",\"value\":\"{商品名称}\",\"name\":\"productName\"},{\"title\":\"商品SKU编号\",\"value\":\"{商品SKU编号}\",\"name\":\"skuCode\"},{\"title\":\"商品简码\",\"value\":\"{商品简码}\",\"name\":\"externalCode\"},{\"title\":\"出库数量\",\"value\":\"{出库数量}\",\"name\":\"outNum\"},{\"title\":\"价格\",\"value\":\"{价格}\",\"name\":\"taxPrice\"},{\"title\":\"出库金额\",\"value\":\"{出库金额}\",\"name\":\"outAmount\"}],\"selectCol\":[\"_seq\",\"productCode\",\"productName\",\"skuCode\",\"externalCode\",\"outNum\",\"taxPrice\",\"outAmount\"],\"name\":\"details\",\"style\":{\"zIndex\":0,\"Alignment\":\"left\",\"FontSize\":12,\"FontColor\":\"#000000\",\"borderColor\":\"#000000\",\"autoHeight\":true,\"BottomMargin\":20},\"uuid\":\"a54b8d97a637b64fd5f9ca417d7d5211716e\"},{\"type\":\"braid-page\",\"isEdit\":false,\"draggable\":true,\"resizable\":true,\"width\":97,\"height\":20,\"left\":1025,\"top\":770,\"title\":\"分页\",\"curPageStyle\":\"第##页\",\"splitPageStyle\":\"/\",\"totalPageStyle\":\"共##页\",\"name\":\"\",\"style\":{\"zIndex\":0,\"ItemType\":\"1\",\"autoHeight\":false,\"BottomMargin\":5,\"Alignment\":\"right\",\"FontSize\":12,\"FontColor\":\"#000000\"},\"uuid\":\"d6f62ce0a7931e438188be50bc350f99da7d\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":108,\"height\":24,\"left\":10,\"top\":108,\"title\":\"付款日期-标题\",\"value\":\"付款日期:\",\"name\":\"\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"right\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":0},\"uuid\":\"604209e64d1a984bbaabe0ad64ad77f5eeee\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":168,\"height\":24,\"left\":118,\"top\":108,\"title\":\"付款日期\",\"value\":\"{付款日期}\",\"name\":\"paymentDate\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"left\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":5},\"uuid\":\"e874b94582286747e2a8865a0ded60b4d639\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":108,\"height\":24,\"left\":838,\"top\":84,\"title\":\"销售订单号-标题\",\"value\":\"销售订单号:\",\"name\":\"\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"right\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":0},\"uuid\":\"a4e29827b8e062405258d7f5e7bb535f9dd5\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":168,\"height\":24,\"left\":946,\"top\":84,\"title\":\"销售订单号\",\"value\":\"{销售订单号}\",\"name\":\"saleOrderCode\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"left\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":5},\"uuid\":\"e7681d4c03d9664ad96b96efc49bd124f871\"}],\"title\":\"销售出库单\",\"pageWidth\":210,\"pageHeight\":297,\"width\":1122,\"height\":793,\"pageDirection\":2}', '{\n \"code\": \"202501190000000004\",\n \"scCode\": \"1\",\n \"scName\": \"测试仓库\",\n \"customerCode\": \"1\",\n \"customerName\": \"测试客户\",\n \"salerName\": \"\",\n \"paymentDate\": \"2025-02-19\",\n \"saleOrderCode\": \"\",\n \"description\": \"\",\n \"createBy\": \"系统管理员\",\n \"createTime\": \"2025-01-19 22:09:55\",\n \"approveBy\": \"系统管理员\",\n \"approveTime\": \"2025-01-19 22:10:01\",\n \"details\": [\n {\n \"productCode\": \"11\",\n \"productName\": \"商品222\",\n \"skuCode\": \"41\",\n \"externalCode\": \"51\",\n \"outNum\": 1,\n \"taxPrice\": 131,\n \"outAmount\": 131\n }\n ]\n}', '系统管理员', '1', '2025-05-09 22:50:02', '系统管理员', '1', '2025-05-09 22:50:13'); +INSERT INTO `tbl_print_template` VALUES (8, '销售退货单', '{\"tempItems\":[{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":122,\"height\":14,\"left\":500,\"top\":5,\"title\":\"标题\",\"value\":\"销售退货单\",\"name\":\"\",\"style\":{\"zIndex\":0,\"FontSize\":14,\"FontColor\":\"#000000\",\"Bold\":\"1\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"center\",\"ItemType\":\"1\",\"bordered\":false,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":0,\"leftOffset\":0},\"uuid\":\"35205865ddd83246b7aa9b82addbc49b5a7e\"},{\"type\":\"braid-barcode\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":200,\"height\":40,\"left\":920,\"top\":5,\"title\":\"单号条码\",\"name\":\"code\",\"style\":{\"zIndex\":0,\"FontSize\":\"9\",\"ShowBarText\":\"1\",\"CodeType\":\"Code39\",\"ItemType\":\"1\"},\"value\":\"{单号}\",\"uuid\":\"027597a790715443beeae5d06cd8d1f06b60\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":108,\"height\":24,\"left\":10,\"top\":60,\"title\":\"仓库编号-标题\",\"value\":\"仓库编号:\",\"name\":\"\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"right\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":0},\"uuid\":\"387f44812bf5e84fc2a89b8689beb7ae95ff\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":168,\"height\":24,\"left\":118,\"top\":60,\"title\":\"仓库编号\",\"value\":\"{仓库编号}\",\"name\":\"scCode\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"left\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":5},\"uuid\":\"b7217c3c1571794c4428f5d5823bfb0a4a99\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":108,\"height\":24,\"left\":286,\"top\":60,\"title\":\"仓库名称-标题\",\"value\":\"仓库名称:\",\"name\":\"\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"right\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":0},\"uuid\":\"a400e796d4c955457bc819f8cf6c43d6c19a\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":168,\"height\":24,\"left\":394,\"top\":60,\"title\":\"仓库名称\",\"value\":\"{仓库名称}\",\"name\":\"scName\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"left\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":5},\"uuid\":\"7cf2034a2a4e1b443ffa3d5972bfc322a88e\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":108,\"height\":24,\"left\":562,\"top\":60,\"title\":\"客户编号-标题\",\"value\":\"客户编号:\",\"name\":\"\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"right\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":0},\"uuid\":\"09bc7fd608d8e641df48b4e94b47f05ff923\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":168,\"height\":24,\"left\":670,\"top\":60,\"title\":\"客户编号\",\"value\":\"{客户编号}\",\"name\":\"customerCode\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"left\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":5},\"uuid\":\"4a08de3bd8296a4ac6ab9f2c5cab79f61584\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":108,\"height\":24,\"left\":838,\"top\":60,\"title\":\"客户名称-标题\",\"value\":\"客户名称:\",\"name\":\"\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"right\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":0},\"uuid\":\"2bcbd47062dffb4d0038afc6ac3e58455eab\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":168,\"height\":24,\"left\":946,\"top\":60,\"title\":\"客户名称\",\"value\":\"{客户名称}\",\"name\":\"customerName\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"left\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":5},\"uuid\":\"c39584ca3946284d908bd758d6dad5a70517\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":108,\"height\":24,\"left\":10,\"top\":84,\"title\":\"销售员-标题\",\"value\":\"销售员:\",\"name\":\"\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"right\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":0},\"uuid\":\"4c9ba4c9e0da3443d2097761f206563a6e31\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":168,\"height\":24,\"left\":118,\"top\":84,\"title\":\"销售员\",\"value\":\"{销售员}\",\"name\":\"salerName\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"left\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":5},\"uuid\":\"a4508027b5bd034c440a063e59b7ee0cc297\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":108,\"height\":24,\"left\":286,\"top\":84,\"title\":\"操作人-标题\",\"value\":\"操作人:\",\"name\":\"\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"right\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":0},\"uuid\":\"09debe4c6886374dbdd847de695a364339aa\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":168,\"height\":24,\"left\":394,\"top\":84,\"title\":\"操作人\",\"value\":\"{操作人}\",\"name\":\"createBy\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"left\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":5},\"uuid\":\"aea91c8a37984b4d90e8545fa84a823a9e2b\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":108,\"height\":24,\"left\":562,\"top\":84,\"title\":\"操作时间-标题\",\"value\":\"操作时间:\",\"name\":\"\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"right\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":0},\"uuid\":\"b80a43b94128624c56a97c3e88689b6af8d6\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":168,\"height\":24,\"left\":670,\"top\":84,\"title\":\"操作时间\",\"value\":\"{操作时间}\",\"name\":\"createTime\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"left\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":5},\"uuid\":\"89d3b43387c17e44f798ef2bf220d26bf3e3\"},{\"type\":\"braid-table\",\"isEdit\":0,\"draggable\":true,\"resizable\":true,\"width\":1104,\"height\":60,\"left\":10,\"top\":142,\"title\":\"退货商品明细\",\"value\":\"{details}\",\"defaultValue\":[],\"tabelHtml\":\"\",\"columnsAttr\":[{\"title\":\"序号\",\"name\":\"_seq\"},{\"title\":\"商品编号\",\"value\":\"{商品编号}\",\"name\":\"productCode\"},{\"title\":\"商品名称\",\"value\":\"{商品名称}\",\"name\":\"productName\"},{\"title\":\"商品SKU编号\",\"value\":\"{商品SKU编号}\",\"name\":\"skuCode\"},{\"title\":\"商品简码\",\"value\":\"{商品简码}\",\"name\":\"externalCode\"},{\"title\":\"退货数量\",\"value\":\"{退货数量}\",\"name\":\"returnNum\"},{\"title\":\"价格\",\"value\":\"{价格}\",\"name\":\"taxPrice\"},{\"title\":\"退货金额\",\"value\":\"{退货金额}\",\"name\":\"returnAmount\"}],\"columns\":[{\"title\":\"序号\",\"name\":\"_seq\"},{\"title\":\"商品编号\",\"value\":\"{商品编号}\",\"name\":\"productCode\"},{\"title\":\"商品名称\",\"value\":\"{商品名称}\",\"name\":\"productName\"},{\"title\":\"商品SKU编号\",\"value\":\"{商品SKU编号}\",\"name\":\"skuCode\"},{\"title\":\"商品简码\",\"value\":\"{商品简码}\",\"name\":\"externalCode\"},{\"title\":\"退货数量\",\"value\":\"{退货数量}\",\"name\":\"returnNum\"},{\"title\":\"价格\",\"value\":\"{价格}\",\"name\":\"taxPrice\"},{\"title\":\"退货金额\",\"value\":\"{退货金额}\",\"name\":\"returnAmount\"}],\"selectCol\":[\"_seq\",\"productCode\",\"productName\",\"skuCode\",\"externalCode\",\"returnNum\",\"taxPrice\",\"returnAmount\"],\"name\":\"details\",\"style\":{\"zIndex\":0,\"Alignment\":\"left\",\"FontSize\":12,\"FontColor\":\"#000000\",\"borderColor\":\"#000000\",\"autoHeight\":true,\"BottomMargin\":20},\"uuid\":\"a54b8d97a637b64fd5f9ca417d7d5211716e\"},{\"type\":\"braid-page\",\"isEdit\":false,\"draggable\":true,\"resizable\":true,\"width\":97,\"height\":20,\"left\":1025,\"top\":770,\"title\":\"分页\",\"curPageStyle\":\"第##页\",\"splitPageStyle\":\"/\",\"totalPageStyle\":\"共##页\",\"name\":\"\",\"style\":{\"zIndex\":0,\"ItemType\":\"1\",\"autoHeight\":false,\"BottomMargin\":5,\"Alignment\":\"right\",\"FontSize\":12,\"FontColor\":\"#000000\"},\"uuid\":\"d6f62ce0a7931e438188be50bc350f99da7d\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":108,\"height\":24,\"left\":10,\"top\":108,\"title\":\"付款日期-标题\",\"value\":\"付款日期:\",\"name\":\"\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"right\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":0},\"uuid\":\"604209e64d1a984bbaabe0ad64ad77f5eeee\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":168,\"height\":24,\"left\":118,\"top\":108,\"title\":\"付款日期\",\"value\":\"{付款日期}\",\"name\":\"paymentDate\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"left\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":5},\"uuid\":\"e874b94582286747e2a8865a0ded60b4d639\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":108,\"height\":24,\"left\":838,\"top\":84,\"title\":\"销售出库单号-标题\",\"value\":\"销售出库单号:\",\"name\":\"\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"right\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":0},\"uuid\":\"10488b69c261764f0e388a6607267aae769f\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":168,\"height\":24,\"left\":946,\"top\":84,\"title\":\"销售出库单号\",\"value\":\"{销售出库单号}\",\"name\":\"outSheetCode\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"left\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":5},\"uuid\":\"ba426c11fae59f4442a84d29ef5ab38c82ff\"}],\"title\":\"销售退货单\",\"pageWidth\":210,\"pageHeight\":297,\"width\":1122,\"height\":793,\"pageDirection\":2}', '{\n \"code\": \"202501190000000003\",\n \"scCode\": \"1\",\n \"scName\": \"测试仓库\",\n \"customerCode\": \"1\",\n \"customerName\": \"测试客户\",\n \"salerName\": \"\",\n \"paymentDate\": \"2025-02-19\",\n \"outSheetCode\": \"\",\n \"description\": \"\",\n \"createBy\": \"系统管理员\",\n \"createTime\": \"2025-01-19 22:10:44\",\n \"approveBy\": \"\",\n \"approveTime\": \"\",\n \"details\": [\n {\n \"productCode\": \"11\",\n \"productName\": \"商品222\",\n \"skuCode\": \"41\",\n \"externalCode\": \"51\",\n \"returnNum\": 1,\n \"taxPrice\": 131,\n \"returnAmount\": 131\n }\n ]\n}', '系统管理员', '1', '2025-05-09 23:03:03', '系统管理员', '1', '2025-05-09 23:03:35'); + +-- ---------------------------- +-- Table structure for tbl_print_template_comp +-- ---------------------------- +DROP TABLE IF EXISTS `tbl_print_template_comp`; +CREATE TABLE `tbl_print_template_comp` ( + `id` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT 'ID', + `template_id` int(11) NOT NULL COMMENT '模板ID', + `comp_json` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '组件配置', + PRIMARY KEY (`id`) USING BTREE, + INDEX `template_id`(`template_id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '打印模板组件' ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Records of tbl_print_template_comp +-- ---------------------------- +INSERT INTO `tbl_print_template_comp` VALUES ('1', 0, '{\"type\":\"braid-txt\"}'); +INSERT INTO `tbl_print_template_comp` VALUES ('100', 1, '{\"type\":\"braid-table\",\"isEdit\":0,\"title\":\"采购商品明细\",\"name\":\"details\",\"value\":\"{details}\",\"style\":{},\"tabelHtml\":\"\",\"columnsAttr\":[{\"title\":\"序号\",\"name\":\"_seq\"},{\"title\":\"商品编号\",\"value\":\"{商品编号}\",\"name\":\"productCode\"},{\"title\":\"商品名称\",\"value\":\"{商品名称}\",\"name\":\"productName\"},{\"title\":\"商品SKU编号\",\"value\":\"{商品SKU编号}\",\"name\":\"skuCode\"},{\"title\":\"商品简码\",\"value\":\"{商品简码}\",\"name\":\"externalCode\"},{\"title\":\"采购数量\",\"value\":\"{采购数量}\",\"name\":\"purchaseNum\"},{\"title\":\"采购价\",\"value\":\"{采购价}\",\"name\":\"purchasePrice\"},{\"title\":\"采购金额\",\"value\":\"{采购金额}\",\"name\":\"purchaseAmount\"}],\"columns\":[]}'); +INSERT INTO `tbl_print_template_comp` VALUES ('101', 2, '{\"type\":\"braid-table\",\"isEdit\":0,\"title\":\"收货商品明细\",\"name\":\"details\",\"value\":\"{details}\",\"style\":{},\"tabelHtml\":\"\",\"columnsAttr\":[{\"title\":\"序号\",\"name\":\"_seq\"},{\"title\":\"商品编号\",\"value\":\"{商品编号}\",\"name\":\"productCode\"},{\"title\":\"商品名称\",\"value\":\"{商品名称}\",\"name\":\"productName\"},{\"title\":\"商品SKU编号\",\"value\":\"{商品SKU编号}\",\"name\":\"skuCode\"},{\"title\":\"商品简码\",\"value\":\"{商品简码}\",\"name\":\"externalCode\"},{\"title\":\"收货数量\",\"value\":\"{收货数量}\",\"name\":\"receiveNum\"},{\"title\":\"采购价\",\"value\":\"{采购价}\",\"name\":\"purchasePrice\"},{\"title\":\"收货金额\",\"value\":\"{收货金额}\",\"name\":\"receiveAmount\"}],\"columns\":[]}'); +INSERT INTO `tbl_print_template_comp` VALUES ('102', 3, '{\"type\":\"braid-table\",\"isEdit\":0,\"title\":\"退货商品明细\",\"name\":\"details\",\"value\":\"{details}\",\"style\":{},\"tabelHtml\":\"\",\"columnsAttr\":[{\"title\":\"序号\",\"name\":\"_seq\"},{\"title\":\"商品编号\",\"value\":\"{商品编号}\",\"name\":\"productCode\"},{\"title\":\"商品名称\",\"value\":\"{商品名称}\",\"name\":\"productName\"},{\"title\":\"商品SKU编号\",\"value\":\"{商品SKU编号}\",\"name\":\"skuCode\"},{\"title\":\"商品简码\",\"value\":\"{商品简码}\",\"name\":\"externalCode\"},{\"title\":\"退货数量\",\"value\":\"{退货数量}\",\"name\":\"returnNum\"},{\"title\":\"退货价\",\"value\":\"{退货价}\",\"name\":\"purchasePrice\"},{\"title\":\"退货金额\",\"value\":\"{退货金额}\",\"name\":\"returnAmount\"}],\"columns\":[]}'); +INSERT INTO `tbl_print_template_comp` VALUES ('103', 4, '{\"type\":\"braid-table\",\"isEdit\":0,\"title\":\"出库商品明细\",\"name\":\"details\",\"value\":\"{details}\",\"style\":{},\"tabelHtml\":\"\",\"columnsAttr\":[{\"title\":\"序号\",\"name\":\"_seq\"},{\"title\":\"商品编号\",\"value\":\"{商品编号}\",\"name\":\"productCode\"},{\"title\":\"商品名称\",\"value\":\"{商品名称}\",\"name\":\"productName\"},{\"title\":\"商品SKU编号\",\"value\":\"{商品SKU编号}\",\"name\":\"skuCode\"},{\"title\":\"商品简码\",\"value\":\"{商品简码}\",\"name\":\"externalCode\"},{\"title\":\"出库数量\",\"value\":\"{出库数量}\",\"name\":\"outNum\"},{\"title\":\"价格\",\"value\":\"{价格}\",\"name\":\"taxPrice\"},{\"title\":\"出库金额\",\"value\":\"{出库金额}\",\"name\":\"outAmount\"}],\"columns\":[]}'); +INSERT INTO `tbl_print_template_comp` VALUES ('104', 5, '{\"type\":\"braid-table\",\"isEdit\":0,\"title\":\"退货商品明细\",\"name\":\"details\",\"value\":\"{details}\",\"style\":{},\"tabelHtml\":\"\",\"columnsAttr\":[{\"title\":\"序号\",\"name\":\"_seq\"},{\"title\":\"商品编号\",\"value\":\"{商品编号}\",\"name\":\"productCode\"},{\"title\":\"商品名称\",\"value\":\"{商品名称}\",\"name\":\"productName\"},{\"title\":\"商品SKU编号\",\"value\":\"{商品SKU编号}\",\"name\":\"skuCode\"},{\"title\":\"商品简码\",\"value\":\"{商品简码}\",\"name\":\"externalCode\"},{\"title\":\"退货数量\",\"value\":\"{退货数量}\",\"name\":\"returnNum\"},{\"title\":\"价格\",\"value\":\"{价格}\",\"name\":\"taxPrice\"},{\"title\":\"退货金额\",\"value\":\"{退货金额}\",\"name\":\"returnAmount\"}],\"columns\":[]}'); +INSERT INTO `tbl_print_template_comp` VALUES ('105', 6, '{\"type\":\"braid-table\",\"isEdit\":0,\"title\":\"销售商品明细\",\"name\":\"details\",\"value\":\"{details}\",\"style\":{},\"tabelHtml\":\"\",\"columnsAttr\":[{\"title\":\"序号\",\"name\":\"_seq\"},{\"title\":\"商品编号\",\"value\":\"{商品编号}\",\"name\":\"productCode\"},{\"title\":\"商品名称\",\"value\":\"{商品名称}\",\"name\":\"productName\"},{\"title\":\"商品SKU编号\",\"value\":\"{商品SKU编号}\",\"name\":\"skuCode\"},{\"title\":\"商品简码\",\"value\":\"{商品简码}\",\"name\":\"externalCode\"},{\"title\":\"销售数量\",\"value\":\"{销售数量}\",\"name\":\"orderNum\"},{\"title\":\"价格\",\"value\":\"{价格}\",\"name\":\"taxPrice\"},{\"title\":\"销售金额\",\"value\":\"{销售金额}\",\"name\":\"orderAmount\"}],\"columns\":[]}'); +INSERT INTO `tbl_print_template_comp` VALUES ('106', 7, '{\"type\":\"braid-table\",\"isEdit\":0,\"title\":\"出库商品明细\",\"name\":\"details\",\"value\":\"{details}\",\"style\":{},\"tabelHtml\":\"\",\"columnsAttr\":[{\"title\":\"序号\",\"name\":\"_seq\"},{\"title\":\"商品编号\",\"value\":\"{商品编号}\",\"name\":\"productCode\"},{\"title\":\"商品名称\",\"value\":\"{商品名称}\",\"name\":\"productName\"},{\"title\":\"商品SKU编号\",\"value\":\"{商品SKU编号}\",\"name\":\"skuCode\"},{\"title\":\"商品简码\",\"value\":\"{商品简码}\",\"name\":\"externalCode\"},{\"title\":\"出库数量\",\"value\":\"{出库数量}\",\"name\":\"outNum\"},{\"title\":\"价格\",\"value\":\"{价格}\",\"name\":\"taxPrice\"},{\"title\":\"出库金额\",\"value\":\"{出库金额}\",\"name\":\"outAmount\"}],\"columns\":[]}'); +INSERT INTO `tbl_print_template_comp` VALUES ('107', 8, '{\"type\":\"braid-table\",\"isEdit\":0,\"title\":\"退货商品明细\",\"name\":\"details\",\"value\":\"{details}\",\"style\":{},\"tabelHtml\":\"\",\"columnsAttr\":[{\"title\":\"序号\",\"name\":\"_seq\"},{\"title\":\"商品编号\",\"value\":\"{商品编号}\",\"name\":\"productCode\"},{\"title\":\"商品名称\",\"value\":\"{商品名称}\",\"name\":\"productName\"},{\"title\":\"商品SKU编号\",\"value\":\"{商品SKU编号}\",\"name\":\"skuCode\"},{\"title\":\"商品简码\",\"value\":\"{商品简码}\",\"name\":\"externalCode\"},{\"title\":\"退货数量\",\"value\":\"{退货数量}\",\"name\":\"returnNum\"},{\"title\":\"价格\",\"value\":\"{价格}\",\"name\":\"taxPrice\"},{\"title\":\"退货金额\",\"value\":\"{退货金额}\",\"name\":\"returnAmount\"}],\"columns\":[]}'); +INSERT INTO `tbl_print_template_comp` VALUES ('2', 0, '{\"type\":\"braid-page\"}'); +INSERT INTO `tbl_print_template_comp` VALUES ('3', 0, '{\"type\":\"braid-react\"}'); +INSERT INTO `tbl_print_template_comp` VALUES ('4', 0, '{\"type\":\"braid-barcode\"}'); + -- ---------------------------- -- Table structure for tbl_product_stock -- ---------------------------- @@ -6268,7 +6329,7 @@ CREATE TABLE `tbl_product_stock_warning` ( `available` tinyint(1) NOT NULL DEFAULT 1 COMMENT '状态', PRIMARY KEY (`id`) USING BTREE, UNIQUE INDEX `sc_id`(`sc_id`, `product_id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '库存预警' ROW_FORMAT = Dynamic; +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '库存预警' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of tbl_product_stock_warning @@ -6283,7 +6344,7 @@ CREATE TABLE `tbl_product_stock_warning_notify` ( `notify_group_id` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '通知组ID', PRIMARY KEY (`id`) USING BTREE, UNIQUE INDEX `notify_group_id`(`notify_group_id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '库存预警通知组' ROW_FORMAT = Dynamic; +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '库存预警通知组' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of tbl_product_stock_warning_notify @@ -7075,7 +7136,7 @@ CREATE TABLE `tbl_security_upload_record` ( `create_by_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '创建人ID', `create_time` datetime NOT NULL COMMENT '创建时间', PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '安全上传记录' ROW_FORMAT = Dynamic; +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '安全上传记录' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of tbl_security_upload_record diff --git a/xingyun-api/src/main/resources/db/migration/tenant/V1.14__print_template.sql b/xingyun-api/src/main/resources/db/migration/tenant/V1.14__print_template.sql new file mode 100644 index 00000000..a4576fd0 --- /dev/null +++ b/xingyun-api/src/main/resources/db/migration/tenant/V1.14__print_template.sql @@ -0,0 +1,46 @@ +INSERT INTO `sys_menu` (`id`, `code`, `name`, `title`, `icon`, `component_type`, `component`, `request_param`, `parent_id`, `sys_module_id`, `path`, `no_cache`, `display`, `hidden`, `permission`, `is_special`, `available`, `description`, `create_by`, `create_by_id`, `create_time`, `update_by`, `update_by_id`, `update_time`) VALUES ('2000011', '2000011', 'PrintTemplate', '打印模板', NULL, 0, '/base-data/print-template/index', NULL, '2000', '15', '/print-template', 0, 1, 0, 'base-data:print-template:query', 1, 1, '', '系统管理员', '1', '2021-07-05 21:59:35', '系统管理员', '1', '2021-07-05 21:59:36'); +INSERT INTO `sys_menu` (`id`, `code`, `name`, `title`, `icon`, `component_type`, `component`, `request_param`, `parent_id`, `sys_module_id`, `path`, `no_cache`, `display`, `hidden`, `permission`, `is_special`, `available`, `description`, `create_by`, `create_by_id`, `create_time`, `update_by`, `update_by_id`, `update_time`) VALUES ('2000011001', '2000011001', '', '新增打印模板', NULL, 0, '', NULL, '2000011', '15', '', 0, 2, 0, 'base-data:print-template:add', 1, 1, '', '系统管理员', '1', '2021-05-12 22:50:27', '系统管理员', '1', '2021-07-04 00:34:23'); +INSERT INTO `sys_menu` (`id`, `code`, `name`, `title`, `icon`, `component_type`, `component`, `request_param`, `parent_id`, `sys_module_id`, `path`, `no_cache`, `display`, `hidden`, `permission`, `is_special`, `available`, `description`, `create_by`, `create_by_id`, `create_time`, `update_by`, `update_by_id`, `update_time`) VALUES ('2000011002', '2000011002', '', '修改打印模板', NULL, 0, '', NULL, '2000011', '15', '', 0, 2, 0, 'base-data:print-template:modify', 1, 1, '', '系统管理员', '1', '2021-05-12 23:23:33', '系统管理员', '1', '2021-07-04 00:34:23'); + +CREATE TABLE `tbl_print_template` ( + `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'ID', + `name` varchar(20) NOT NULL COMMENT '名称', + `template_json` longtext COMMENT 'JSON配置', + `demo_data` longtext COMMENT '示例数据', + `create_by` varchar(32) NOT NULL COMMENT '创建人', + `create_by_id` varchar(32) NOT NULL COMMENT '创建人ID', + `create_time` datetime NOT NULL COMMENT '创建时间', + `update_by` varchar(32) NOT NULL COMMENT '修改人', + `update_by_id` varchar(32) NOT NULL COMMENT '修改人ID', + `update_time` datetime NOT NULL COMMENT '修改时间', + PRIMARY KEY (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8mb4 COMMENT='打印模板'; + +CREATE TABLE `tbl_print_template_comp` ( + `id` varchar(20) NOT NULL COMMENT 'ID', + `template_id` int(11) NOT NULL COMMENT '模板ID', + `comp_json` longtext NOT NULL COMMENT '组件配置', + PRIMARY KEY (`id`), + KEY `template_id` (`template_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='打印模板组件'; + +INSERT INTO `tbl_print_template` (`id`, `name`, `template_json`, `demo_data`, `create_by`, `create_by_id`, `create_time`, `update_by`, `update_by_id`, `update_time`) VALUES (1, '采购订单', '{\"tempItems\":[{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":122,\"height\":14,\"left\":500,\"top\":5,\"title\":\"标题\",\"value\":\"采购订单\",\"name\":\"\",\"style\":{\"zIndex\":0,\"FontSize\":14,\"FontColor\":\"#000000\",\"Bold\":\"1\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"center\",\"ItemType\":\"1\",\"bordered\":false,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":0,\"leftOffset\":0},\"uuid\":\"35205865ddd83246b7aa9b82addbc49b5a7e\"},{\"type\":\"braid-barcode\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":200,\"height\":40,\"left\":920,\"top\":5,\"title\":\"单号条码\",\"name\":\"code\",\"style\":{\"zIndex\":0,\"FontSize\":\"9\",\"ShowBarText\":\"1\",\"CodeType\":\"Code39\",\"ItemType\":\"1\"},\"value\":\"{单号}\",\"uuid\":\"027597a790715443beeae5d06cd8d1f06b60\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":108,\"height\":24,\"left\":10,\"top\":60,\"title\":\"仓库编号-标题\",\"value\":\"仓库编号:\",\"name\":\"\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"right\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":0},\"uuid\":\"387f44812bf5e84fc2a89b8689beb7ae95ff\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":168,\"height\":24,\"left\":118,\"top\":60,\"title\":\"仓库编号\",\"value\":\"{仓库编号}\",\"name\":\"scCode\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"left\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":5},\"uuid\":\"b7217c3c1571794c4428f5d5823bfb0a4a99\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":108,\"height\":24,\"left\":286,\"top\":60,\"title\":\"仓库名称-标题\",\"value\":\"仓库名称:\",\"name\":\"\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"right\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":0},\"uuid\":\"a400e796d4c955457bc819f8cf6c43d6c19a\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":168,\"height\":24,\"left\":394,\"top\":60,\"title\":\"仓库名称\",\"value\":\"{仓库名称}\",\"name\":\"scName\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"left\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":5},\"uuid\":\"7cf2034a2a4e1b443ffa3d5972bfc322a88e\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":108,\"height\":24,\"left\":562,\"top\":60,\"title\":\"供应商编号-标题\",\"value\":\"供应商编号:\",\"name\":\"\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"right\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":0},\"uuid\":\"09bc7fd608d8e641df48b4e94b47f05ff923\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":168,\"height\":24,\"left\":670,\"top\":60,\"title\":\"供应商编号\",\"value\":\"{供应商编号}\",\"name\":\"supplierCode\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"left\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":5},\"uuid\":\"4a08de3bd8296a4ac6ab9f2c5cab79f61584\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":108,\"height\":24,\"left\":838,\"top\":60,\"title\":\"供应商名称-标题\",\"value\":\"供应商名称:\",\"name\":\"\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"right\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":0},\"uuid\":\"2bcbd47062dffb4d0038afc6ac3e58455eab\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":168,\"height\":24,\"left\":946,\"top\":60,\"title\":\"供应商名称\",\"value\":\"{供应商名称}\",\"name\":\"supplierName\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"left\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":5},\"uuid\":\"c39584ca3946284d908bd758d6dad5a70517\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":108,\"height\":24,\"left\":10,\"top\":84,\"title\":\"采购员-标题\",\"value\":\"采购员:\",\"name\":\"\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"right\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":0},\"uuid\":\"4c9ba4c9e0da3443d2097761f206563a6e31\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":168,\"height\":24,\"left\":118,\"top\":84,\"title\":\"采购员\",\"value\":\"{采购员}\",\"name\":\"purchaserName\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"left\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":5},\"uuid\":\"a4508027b5bd034c440a063e59b7ee0cc297\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":108,\"height\":24,\"left\":286,\"top\":84,\"title\":\"操作人-标题\",\"value\":\"操作人:\",\"name\":\"\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"right\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":0},\"uuid\":\"09debe4c6886374dbdd847de695a364339aa\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":168,\"height\":24,\"left\":394,\"top\":84,\"title\":\"操作人\",\"value\":\"{操作人}\",\"name\":\"createBy\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"left\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":5},\"uuid\":\"aea91c8a37984b4d90e8545fa84a823a9e2b\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":108,\"height\":24,\"left\":562,\"top\":84,\"title\":\"操作时间-标题\",\"value\":\"操作时间:\",\"name\":\"\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"right\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":0},\"uuid\":\"b80a43b94128624c56a97c3e88689b6af8d6\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":168,\"height\":24,\"left\":670,\"top\":84,\"title\":\"操作时间\",\"value\":\"{操作时间}\",\"name\":\"createTime\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"left\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":5},\"uuid\":\"89d3b43387c17e44f798ef2bf220d26bf3e3\"},{\"type\":\"braid-table\",\"isEdit\":0,\"draggable\":true,\"resizable\":true,\"width\":1104,\"height\":60,\"left\":10,\"top\":118,\"title\":\"采购商品明细\",\"value\":\"{details}\",\"defaultValue\":[],\"tabelHtml\":\"\",\"columnsAttr\":[{\"title\":\"序号\",\"name\":\"_seq\"},{\"title\":\"商品编号\",\"value\":\"{商品编号}\",\"name\":\"productCode\"},{\"title\":\"商品名称\",\"value\":\"{商品名称}\",\"name\":\"productName\"},{\"title\":\"商品SKU编号\",\"value\":\"{商品SKU编号}\",\"name\":\"skuCode\"},{\"title\":\"商品简码\",\"value\":\"{商品简码}\",\"name\":\"externalCode\"},{\"title\":\"采购数量\",\"value\":\"{采购数量}\",\"name\":\"purchaseNum\"},{\"title\":\"采购价\",\"value\":\"{采购价}\",\"name\":\"purchasePrice\"},{\"title\":\"采购金额\",\"value\":\"{采购金额}\",\"name\":\"purchaseAmount\"}],\"columns\":[{\"title\":\"序号\",\"name\":\"_seq\"},{\"title\":\"商品编号\",\"value\":\"{商品编号}\",\"name\":\"productCode\"},{\"title\":\"商品名称\",\"value\":\"{商品名称}\",\"name\":\"productName\"},{\"title\":\"商品SKU编号\",\"value\":\"{商品SKU编号}\",\"name\":\"skuCode\"},{\"title\":\"商品简码\",\"value\":\"{商品简码}\",\"name\":\"externalCode\"},{\"title\":\"采购数量\",\"value\":\"{采购数量}\",\"name\":\"purchaseNum\"},{\"title\":\"采购价\",\"value\":\"{采购价}\",\"name\":\"purchasePrice\"},{\"title\":\"采购金额\",\"value\":\"{采购金额}\",\"name\":\"purchaseAmount\"}],\"selectCol\":[\"_seq\",\"productCode\",\"productName\",\"skuCode\",\"externalCode\",\"purchaseNum\",\"purchasePrice\",\"purchaseAmount\"],\"name\":\"details\",\"style\":{\"zIndex\":0,\"Alignment\":\"left\",\"FontSize\":12,\"FontColor\":\"#000000\",\"borderColor\":\"#000000\",\"autoHeight\":true,\"BottomMargin\":20},\"uuid\":\"a54b8d97a637b64fd5f9ca417d7d5211716e\"},{\"type\":\"braid-page\",\"isEdit\":false,\"draggable\":true,\"resizable\":true,\"width\":97,\"height\":20,\"left\":1025,\"top\":770,\"title\":\"分页\",\"curPageStyle\":\"第##页\",\"splitPageStyle\":\"/\",\"totalPageStyle\":\"共##页\",\"name\":\"\",\"style\":{\"zIndex\":0,\"ItemType\":\"1\",\"autoHeight\":false,\"BottomMargin\":5,\"Alignment\":\"right\",\"FontSize\":12,\"FontColor\":\"#000000\"},\"uuid\":\"d6f62ce0a7931e438188be50bc350f99da7d\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":108,\"height\":24,\"left\":838,\"top\":84,\"title\":\"预计到货日期-标题\",\"value\":\"预计到货日期:\",\"name\":\"\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"right\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":0},\"uuid\":\"604209e64d1a984bbaabe0ad64ad77f5eeee\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":168,\"height\":24,\"left\":946,\"top\":84,\"title\":\"预计到货日期\",\"value\":\"{预计到货日期}\",\"name\":\"expectArriveDate\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"left\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":5},\"uuid\":\"e874b94582286747e2a8865a0ded60b4d639\"}],\"title\":\"采购订单\",\"pageWidth\":210,\"pageHeight\":297,\"width\":1122,\"height\":793,\"pageDirection\":2}', '{\n \"code\": \"202503220000000002\",\n \"scCode\": \"1\",\n \"scName\": \"测试仓库\",\n \"supplierCode\": \"1\",\n \"supplierName\": \"测试供应商\",\n \"purchaserName\": \"\",\n \"expectArriveDate\": \"2025-04-22\",\n \"description\": \"\",\n \"createBy\": \"系统管理员\",\n \"createTime\": \"2025-03-22 08:04:30\",\n \"approveBy\": \"\",\n \"approveTime\": \"\",\n \"details\": [\n {\n \"productCode\": \"11\",\n \"productName\": \"商品222\",\n \"skuCode\": \"41\",\n \"externalCode\": \"51\",\n \"purchaseNum\": 1,\n \"purchasePrice\": 121,\n \"purchaseAmount\": 121\n }\n ]\n}', '系统管理员', '1', '2025-01-28 18:41:35', '系统管理员', '1', '2025-05-09 19:49:08'); +INSERT INTO `tbl_print_template` (`id`, `name`, `template_json`, `demo_data`, `create_by`, `create_by_id`, `create_time`, `update_by`, `update_by_id`, `update_time`) VALUES (2, '采购收货单', '{\"tempItems\":[{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":122,\"height\":14,\"left\":500,\"top\":5,\"title\":\"标题\",\"value\":\"采购收货单\",\"name\":\"\",\"style\":{\"zIndex\":0,\"FontSize\":14,\"FontColor\":\"#000000\",\"Bold\":\"1\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"center\",\"ItemType\":\"1\",\"bordered\":false,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":0,\"leftOffset\":0},\"uuid\":\"35205865ddd83246b7aa9b82addbc49b5a7e\"},{\"type\":\"braid-barcode\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":200,\"height\":40,\"left\":920,\"top\":5,\"title\":\"单号条码\",\"name\":\"code\",\"style\":{\"zIndex\":0,\"FontSize\":\"9\",\"ShowBarText\":\"1\",\"CodeType\":\"Code39\",\"ItemType\":\"1\"},\"value\":\"{单号}\",\"uuid\":\"027597a790715443beeae5d06cd8d1f06b60\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":108,\"height\":24,\"left\":10,\"top\":60,\"title\":\"仓库编号-标题\",\"value\":\"仓库编号:\",\"name\":\"\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"right\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":0},\"uuid\":\"387f44812bf5e84fc2a89b8689beb7ae95ff\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":168,\"height\":24,\"left\":118,\"top\":60,\"title\":\"仓库编号\",\"value\":\"{仓库编号}\",\"name\":\"scCode\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"left\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":5},\"uuid\":\"b7217c3c1571794c4428f5d5823bfb0a4a99\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":108,\"height\":24,\"left\":286,\"top\":60,\"title\":\"仓库名称-标题\",\"value\":\"仓库名称:\",\"name\":\"\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"right\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":0},\"uuid\":\"a400e796d4c955457bc819f8cf6c43d6c19a\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":168,\"height\":24,\"left\":394,\"top\":60,\"title\":\"仓库名称\",\"value\":\"{仓库名称}\",\"name\":\"scName\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"left\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":5},\"uuid\":\"7cf2034a2a4e1b443ffa3d5972bfc322a88e\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":108,\"height\":24,\"left\":562,\"top\":60,\"title\":\"供应商编号-标题\",\"value\":\"供应商编号:\",\"name\":\"\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"right\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":0},\"uuid\":\"09bc7fd608d8e641df48b4e94b47f05ff923\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":168,\"height\":24,\"left\":670,\"top\":60,\"title\":\"供应商编号\",\"value\":\"{供应商编号}\",\"name\":\"supplierCode\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"left\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":5},\"uuid\":\"4a08de3bd8296a4ac6ab9f2c5cab79f61584\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":108,\"height\":24,\"left\":838,\"top\":60,\"title\":\"供应商名称-标题\",\"value\":\"供应商名称:\",\"name\":\"\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"right\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":0},\"uuid\":\"2bcbd47062dffb4d0038afc6ac3e58455eab\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":168,\"height\":24,\"left\":946,\"top\":60,\"title\":\"供应商名称\",\"value\":\"{供应商名称}\",\"name\":\"supplierName\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"left\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":5},\"uuid\":\"c39584ca3946284d908bd758d6dad5a70517\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":108,\"height\":24,\"left\":10,\"top\":84,\"title\":\"采购员-标题\",\"value\":\"采购员:\",\"name\":\"\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"right\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":0},\"uuid\":\"4c9ba4c9e0da3443d2097761f206563a6e31\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":168,\"height\":24,\"left\":118,\"top\":84,\"title\":\"采购员\",\"value\":\"{采购员}\",\"name\":\"purchaserName\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"left\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":5},\"uuid\":\"a4508027b5bd034c440a063e59b7ee0cc297\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":108,\"height\":24,\"left\":286,\"top\":84,\"title\":\"操作人-标题\",\"value\":\"操作人:\",\"name\":\"\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"right\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":0},\"uuid\":\"09debe4c6886374dbdd847de695a364339aa\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":168,\"height\":24,\"left\":394,\"top\":84,\"title\":\"操作人\",\"value\":\"{操作人}\",\"name\":\"createBy\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"left\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":5},\"uuid\":\"aea91c8a37984b4d90e8545fa84a823a9e2b\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":108,\"height\":24,\"left\":562,\"top\":84,\"title\":\"操作时间-标题\",\"value\":\"操作时间:\",\"name\":\"\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"right\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":0},\"uuid\":\"b80a43b94128624c56a97c3e88689b6af8d6\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":168,\"height\":24,\"left\":670,\"top\":84,\"title\":\"操作时间\",\"value\":\"{操作时间}\",\"name\":\"createTime\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"left\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":5},\"uuid\":\"89d3b43387c17e44f798ef2bf220d26bf3e3\"},{\"type\":\"braid-table\",\"isEdit\":0,\"draggable\":true,\"resizable\":true,\"width\":1104,\"height\":60,\"left\":10,\"top\":142,\"title\":\"收货商品明细\",\"value\":\"{details}\",\"defaultValue\":[],\"tabelHtml\":\"\",\"columnsAttr\":[{\"title\":\"序号\",\"name\":\"_seq\"},{\"title\":\"商品编号\",\"value\":\"{商品编号}\",\"name\":\"productCode\"},{\"title\":\"商品名称\",\"value\":\"{商品名称}\",\"name\":\"productName\"},{\"title\":\"商品SKU编号\",\"value\":\"{商品SKU编号}\",\"name\":\"skuCode\"},{\"title\":\"商品简码\",\"value\":\"{商品简码}\",\"name\":\"externalCode\"},{\"title\":\"收货数量\",\"value\":\"{收货数量}\",\"name\":\"receiveNum\"},{\"title\":\"采购价\",\"value\":\"{采购价}\",\"name\":\"purchasePrice\"},{\"title\":\"收货金额\",\"value\":\"{收货金额}\",\"name\":\"receiveAmount\"}],\"columns\":[{\"title\":\"序号\",\"name\":\"_seq\"},{\"title\":\"商品编号\",\"value\":\"{商品编号}\",\"name\":\"productCode\"},{\"title\":\"商品名称\",\"value\":\"{商品名称}\",\"name\":\"productName\"},{\"title\":\"商品SKU编号\",\"value\":\"{商品SKU编号}\",\"name\":\"skuCode\"},{\"title\":\"商品简码\",\"value\":\"{商品简码}\",\"name\":\"externalCode\"},{\"title\":\"收货数量\",\"value\":\"{收货数量}\",\"name\":\"receiveNum\"},{\"title\":\"采购价\",\"value\":\"{采购价}\",\"name\":\"purchasePrice\"},{\"title\":\"收货金额\",\"value\":\"{收货金额}\",\"name\":\"receiveAmount\"}],\"selectCol\":[\"_seq\",\"productCode\",\"productName\",\"skuCode\",\"externalCode\",\"receiveNum\",\"purchasePrice\",\"receiveAmount\"],\"name\":\"details\",\"style\":{\"zIndex\":0,\"Alignment\":\"left\",\"FontSize\":12,\"FontColor\":\"#000000\",\"borderColor\":\"#000000\",\"autoHeight\":true,\"BottomMargin\":20},\"uuid\":\"a54b8d97a637b64fd5f9ca417d7d5211716e\"},{\"type\":\"braid-page\",\"isEdit\":false,\"draggable\":true,\"resizable\":true,\"width\":97,\"height\":20,\"left\":1025,\"top\":770,\"title\":\"分页\",\"curPageStyle\":\"第##页\",\"splitPageStyle\":\"/\",\"totalPageStyle\":\"共##页\",\"name\":\"\",\"style\":{\"zIndex\":0,\"ItemType\":\"1\",\"autoHeight\":false,\"BottomMargin\":5,\"Alignment\":\"right\",\"FontSize\":12,\"FontColor\":\"#000000\"},\"uuid\":\"d6f62ce0a7931e438188be50bc350f99da7d\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":108,\"height\":24,\"left\":10,\"top\":108,\"title\":\"付款日期-标题\",\"value\":\"付款日期:\",\"name\":\"\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"right\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":0},\"uuid\":\"604209e64d1a984bbaabe0ad64ad77f5eeee\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":168,\"height\":24,\"left\":118,\"top\":108,\"title\":\"付款日期\",\"value\":\"{付款日期}\",\"name\":\"paymentDate\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"left\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":5},\"uuid\":\"e874b94582286747e2a8865a0ded60b4d639\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":108,\"height\":24,\"left\":286,\"top\":108,\"title\":\"实际到货日期-标题\",\"value\":\"实际到货日期:\",\"name\":\"\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"right\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":0},\"uuid\":\"6dd07e667962904ffc295c2ebc5e75c164ad\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":168,\"height\":24,\"left\":394,\"top\":108,\"title\":\"实际到货日期\",\"value\":\"{实际到货日期}\",\"name\":\"receiveDate\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"left\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":5},\"uuid\":\"572db42f6ec9644a9c4863c94af8b229e6e8\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":108,\"height\":24,\"left\":838,\"top\":84,\"title\":\"采购订单号-标题\",\"value\":\"采购订单号:\",\"name\":\"\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"right\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":0},\"uuid\":\"a4e29827b8e062405258d7f5e7bb535f9dd5\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":168,\"height\":24,\"left\":946,\"top\":84,\"title\":\"采购订单号\",\"value\":\"{采购订单号}\",\"name\":\"purchaseOrderCode\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"left\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":5},\"uuid\":\"e7681d4c03d9664ad96b96efc49bd124f871\"}],\"title\":\"采购收货单\",\"pageWidth\":210,\"pageHeight\":297,\"width\":1122,\"height\":793,\"pageDirection\":2}', '{\n \"code\": \"202501190000000003\",\n \"scCode\": \"1\",\n \"scName\": \"测试仓库\",\n \"supplierCode\": \"1\",\n \"supplierName\": \"测试供应商\",\n \"purchaserName\": \"\",\n \"paymentDate\": \"2025-02-19\",\n \"receiveDate\": \"2025-01-19\",\n \"purchaseOrderCode\": \"\",\n \"description\": \"\",\n \"createBy\": \"系统管理员\",\n \"createTime\": \"2025-01-19 21:39:08\",\n \"approveBy\": \"\",\n \"approveTime\": \"\",\n \"details\": [\n {\n \"productCode\": \"11\",\n \"productName\": \"商品222\",\n \"skuCode\": \"41\",\n \"externalCode\": \"51\",\n \"receiveNum\": 1,\n \"purchasePrice\": 121,\n \"receiveAmount\": 121\n }\n ]\n}', '系统管理员', '1', '2025-01-28 18:44:12', '系统管理员', '1', '2025-05-09 18:04:40'); +INSERT INTO `tbl_print_template` (`id`, `name`, `template_json`, `demo_data`, `create_by`, `create_by_id`, `create_time`, `update_by`, `update_by_id`, `update_time`) VALUES (3, '采购退货单', '{\"tempItems\":[{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":122,\"height\":14,\"left\":500,\"top\":5,\"title\":\"标题\",\"value\":\"采购退货单\",\"name\":\"\",\"style\":{\"zIndex\":0,\"FontSize\":14,\"FontColor\":\"#000000\",\"Bold\":\"1\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"center\",\"ItemType\":\"1\",\"bordered\":false,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":0,\"leftOffset\":0},\"uuid\":\"35205865ddd83246b7aa9b82addbc49b5a7e\"},{\"type\":\"braid-barcode\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":200,\"height\":40,\"left\":920,\"top\":5,\"title\":\"单号条码\",\"name\":\"code\",\"style\":{\"zIndex\":0,\"FontSize\":\"9\",\"ShowBarText\":\"1\",\"CodeType\":\"Code39\",\"ItemType\":\"1\"},\"value\":\"{单号}\",\"uuid\":\"027597a790715443beeae5d06cd8d1f06b60\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":108,\"height\":24,\"left\":10,\"top\":60,\"title\":\"仓库编号-标题\",\"value\":\"仓库编号:\",\"name\":\"\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"right\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":0},\"uuid\":\"387f44812bf5e84fc2a89b8689beb7ae95ff\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":168,\"height\":24,\"left\":118,\"top\":60,\"title\":\"仓库编号\",\"value\":\"{仓库编号}\",\"name\":\"scCode\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"left\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":5},\"uuid\":\"b7217c3c1571794c4428f5d5823bfb0a4a99\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":108,\"height\":24,\"left\":286,\"top\":60,\"title\":\"仓库名称-标题\",\"value\":\"仓库名称:\",\"name\":\"\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"right\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":0},\"uuid\":\"a400e796d4c955457bc819f8cf6c43d6c19a\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":168,\"height\":24,\"left\":394,\"top\":60,\"title\":\"仓库名称\",\"value\":\"{仓库名称}\",\"name\":\"scName\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"left\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":5},\"uuid\":\"7cf2034a2a4e1b443ffa3d5972bfc322a88e\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":108,\"height\":24,\"left\":562,\"top\":60,\"title\":\"供应商编号-标题\",\"value\":\"供应商编号:\",\"name\":\"\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"right\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":0},\"uuid\":\"09bc7fd608d8e641df48b4e94b47f05ff923\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":168,\"height\":24,\"left\":670,\"top\":60,\"title\":\"供应商编号\",\"value\":\"{供应商编号}\",\"name\":\"supplierCode\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"left\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":5},\"uuid\":\"4a08de3bd8296a4ac6ab9f2c5cab79f61584\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":108,\"height\":24,\"left\":838,\"top\":60,\"title\":\"供应商名称-标题\",\"value\":\"供应商名称:\",\"name\":\"\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"right\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":0},\"uuid\":\"2bcbd47062dffb4d0038afc6ac3e58455eab\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":168,\"height\":24,\"left\":946,\"top\":60,\"title\":\"供应商名称\",\"value\":\"{供应商名称}\",\"name\":\"supplierName\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"left\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":5},\"uuid\":\"c39584ca3946284d908bd758d6dad5a70517\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":108,\"height\":24,\"left\":10,\"top\":84,\"title\":\"采购员-标题\",\"value\":\"采购员:\",\"name\":\"\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"right\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":0},\"uuid\":\"4c9ba4c9e0da3443d2097761f206563a6e31\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":168,\"height\":24,\"left\":118,\"top\":84,\"title\":\"采购员\",\"value\":\"{采购员}\",\"name\":\"purchaserName\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"left\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":5},\"uuid\":\"a4508027b5bd034c440a063e59b7ee0cc297\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":108,\"height\":24,\"left\":286,\"top\":84,\"title\":\"操作人-标题\",\"value\":\"操作人:\",\"name\":\"\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"right\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":0},\"uuid\":\"09debe4c6886374dbdd847de695a364339aa\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":168,\"height\":24,\"left\":394,\"top\":84,\"title\":\"操作人\",\"value\":\"{操作人}\",\"name\":\"createBy\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"left\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":5},\"uuid\":\"aea91c8a37984b4d90e8545fa84a823a9e2b\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":108,\"height\":24,\"left\":562,\"top\":84,\"title\":\"操作时间-标题\",\"value\":\"操作时间:\",\"name\":\"\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"right\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":0},\"uuid\":\"b80a43b94128624c56a97c3e88689b6af8d6\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":168,\"height\":24,\"left\":670,\"top\":84,\"title\":\"操作时间\",\"value\":\"{操作时间}\",\"name\":\"createTime\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"left\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":5},\"uuid\":\"89d3b43387c17e44f798ef2bf220d26bf3e3\"},{\"type\":\"braid-table\",\"isEdit\":0,\"draggable\":true,\"resizable\":true,\"width\":1104,\"height\":60,\"left\":10,\"top\":142,\"title\":\"退货商品明细\",\"value\":\"{details}\",\"defaultValue\":[],\"tabelHtml\":\"\",\"columnsAttr\":[{\"title\":\"序号\",\"name\":\"_seq\"},{\"title\":\"商品编号\",\"value\":\"{商品编号}\",\"name\":\"productCode\"},{\"title\":\"商品名称\",\"value\":\"{商品名称}\",\"name\":\"productName\"},{\"title\":\"商品SKU编号\",\"value\":\"{商品SKU编号}\",\"name\":\"skuCode\"},{\"title\":\"商品简码\",\"value\":\"{商品简码}\",\"name\":\"externalCode\"},{\"title\":\"退货数量\",\"value\":\"{退货数量}\",\"name\":\"returnNum\"},{\"title\":\"退货价\",\"value\":\"{退货价}\",\"name\":\"purchasePrice\"},{\"title\":\"退货金额\",\"value\":\"{退货金额}\",\"name\":\"returnAmount\"}],\"columns\":[{\"title\":\"序号\",\"name\":\"_seq\"},{\"title\":\"商品编号\",\"value\":\"{商品编号}\",\"name\":\"productCode\"},{\"title\":\"商品名称\",\"value\":\"{商品名称}\",\"name\":\"productName\"},{\"title\":\"商品SKU编号\",\"value\":\"{商品SKU编号}\",\"name\":\"skuCode\"},{\"title\":\"商品简码\",\"value\":\"{商品简码}\",\"name\":\"externalCode\"},{\"title\":\"退货数量\",\"value\":\"{退货数量}\",\"name\":\"returnNum\"},{\"title\":\"退货价\",\"value\":\"{退货价}\",\"name\":\"purchasePrice\"},{\"title\":\"退货金额\",\"value\":\"{退货金额}\",\"name\":\"returnAmount\"}],\"selectCol\":[\"_seq\",\"productCode\",\"productName\",\"skuCode\",\"externalCode\",\"returnNum\",\"purchasePrice\",\"returnAmount\"],\"name\":\"details\",\"style\":{\"zIndex\":0,\"Alignment\":\"left\",\"FontSize\":12,\"FontColor\":\"#000000\",\"borderColor\":\"#000000\",\"autoHeight\":true,\"BottomMargin\":20},\"uuid\":\"a54b8d97a637b64fd5f9ca417d7d5211716e\"},{\"type\":\"braid-page\",\"isEdit\":false,\"draggable\":true,\"resizable\":true,\"width\":97,\"height\":20,\"left\":1025,\"top\":770,\"title\":\"分页\",\"curPageStyle\":\"第##页\",\"splitPageStyle\":\"/\",\"totalPageStyle\":\"共##页\",\"name\":\"\",\"style\":{\"zIndex\":0,\"ItemType\":\"1\",\"autoHeight\":false,\"BottomMargin\":5,\"Alignment\":\"right\",\"FontSize\":12,\"FontColor\":\"#000000\"},\"uuid\":\"d6f62ce0a7931e438188be50bc350f99da7d\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":108,\"height\":24,\"left\":10,\"top\":108,\"title\":\"付款日期-标题\",\"value\":\"付款日期:\",\"name\":\"\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"right\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":0},\"uuid\":\"604209e64d1a984bbaabe0ad64ad77f5eeee\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":168,\"height\":24,\"left\":118,\"top\":108,\"title\":\"付款日期\",\"value\":\"{付款日期}\",\"name\":\"paymentDate\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"left\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":5},\"uuid\":\"e874b94582286747e2a8865a0ded60b4d639\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":108,\"height\":24,\"left\":838,\"top\":84,\"title\":\"采购收货单号-标题\",\"value\":\"采购收货单号:\",\"name\":\"\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"right\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":0},\"uuid\":\"a4e29827b8e062405258d7f5e7bb535f9dd5\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":168,\"height\":24,\"left\":946,\"top\":84,\"title\":\"采购收货单号\",\"value\":\"{采购收货单号}\",\"name\":\"receiveSheetCode\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"left\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":5},\"uuid\":\"e7681d4c03d9664ad96b96efc49bd124f871\"}],\"title\":\"采购退货单\",\"pageWidth\":210,\"pageHeight\":297,\"width\":1122,\"height\":793,\"pageDirection\":2}', '{\n \"code\": \"202501190000000005\",\n \"scCode\": \"1\",\n \"scName\": \"测试仓库\",\n \"supplierCode\": \"1\",\n \"supplierName\": \"测试供应商\",\n \"purchaserName\": \"\",\n \"paymentDate\": \"2025-02-19\",\n \"receiveSheetCode\": \"\",\n \"description\": \"\",\n \"createBy\": \"系统管理员\",\n \"createTime\": \"2025-01-19 21:51:18\",\n \"approveBy\": \"系统管理员\",\n \"approveTime\": \"2025-01-19 21:51:24\",\n \"details\": [\n {\n \"id\": \"1880976328979779584\",\n \"productId\": \"1738409214449160192\",\n \"productCode\": \"11\",\n \"productName\": \"商品222\",\n \"skuCode\": \"41\",\n \"externalCode\": \"51\",\n \"returnNum\": 1,\n \"purchasePrice\": 121,\n \"returnAmount\": 121\n }\n ]\n}', '系统管理员', '1', '2025-05-09 18:03:12', '系统管理员', '1', '2025-05-09 19:45:12'); +INSERT INTO `tbl_print_template` (`id`, `name`, `template_json`, `demo_data`, `create_by`, `create_by_id`, `create_time`, `update_by`, `update_by_id`, `update_time`) VALUES (4, '零售出库单', '{\"tempItems\":[{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":122,\"height\":14,\"left\":500,\"top\":5,\"title\":\"标题\",\"value\":\"零售出库单\",\"name\":\"\",\"style\":{\"zIndex\":0,\"FontSize\":14,\"FontColor\":\"#000000\",\"Bold\":\"1\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"center\",\"ItemType\":\"1\",\"bordered\":false,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":0,\"leftOffset\":0},\"uuid\":\"35205865ddd83246b7aa9b82addbc49b5a7e\"},{\"type\":\"braid-barcode\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":200,\"height\":40,\"left\":920,\"top\":5,\"title\":\"单号条码\",\"name\":\"code\",\"style\":{\"zIndex\":0,\"FontSize\":\"9\",\"ShowBarText\":\"1\",\"CodeType\":\"Code39\",\"ItemType\":\"1\"},\"value\":\"{单号}\",\"uuid\":\"027597a790715443beeae5d06cd8d1f06b60\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":108,\"height\":24,\"left\":10,\"top\":60,\"title\":\"仓库编号-标题\",\"value\":\"仓库编号:\",\"name\":\"\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"right\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":0},\"uuid\":\"387f44812bf5e84fc2a89b8689beb7ae95ff\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":168,\"height\":24,\"left\":118,\"top\":60,\"title\":\"仓库编号\",\"value\":\"{仓库编号}\",\"name\":\"scCode\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"left\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":5},\"uuid\":\"b7217c3c1571794c4428f5d5823bfb0a4a99\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":108,\"height\":24,\"left\":286,\"top\":60,\"title\":\"仓库名称-标题\",\"value\":\"仓库名称:\",\"name\":\"\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"right\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":0},\"uuid\":\"a400e796d4c955457bc819f8cf6c43d6c19a\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":168,\"height\":24,\"left\":394,\"top\":60,\"title\":\"仓库名称\",\"value\":\"{仓库名称}\",\"name\":\"scName\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"left\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":5},\"uuid\":\"7cf2034a2a4e1b443ffa3d5972bfc322a88e\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":108,\"height\":24,\"left\":562,\"top\":60,\"title\":\"会员编号-标题\",\"value\":\"会员编号:\",\"name\":\"\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"right\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":0},\"uuid\":\"09bc7fd608d8e641df48b4e94b47f05ff923\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":168,\"height\":24,\"left\":670,\"top\":60,\"title\":\"会员编号\",\"value\":\"{会员编号}\",\"name\":\"memberCode\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"left\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":5},\"uuid\":\"4a08de3bd8296a4ac6ab9f2c5cab79f61584\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":108,\"height\":24,\"left\":838,\"top\":60,\"title\":\"会员名称-标题\",\"value\":\"会员名称:\",\"name\":\"\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"right\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":0},\"uuid\":\"2bcbd47062dffb4d0038afc6ac3e58455eab\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":168,\"height\":24,\"left\":946,\"top\":60,\"title\":\"会员名称\",\"value\":\"{会员名称}\",\"name\":\"memberName\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"left\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":5},\"uuid\":\"c39584ca3946284d908bd758d6dad5a70517\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":108,\"height\":24,\"left\":10,\"top\":84,\"title\":\"销售员-标题\",\"value\":\"销售员:\",\"name\":\"\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"right\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":0},\"uuid\":\"4c9ba4c9e0da3443d2097761f206563a6e31\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":168,\"height\":24,\"left\":118,\"top\":84,\"title\":\"销售员\",\"value\":\"{销售员}\",\"name\":\"salerName\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"left\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":5},\"uuid\":\"a4508027b5bd034c440a063e59b7ee0cc297\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":108,\"height\":24,\"left\":286,\"top\":84,\"title\":\"操作人-标题\",\"value\":\"操作人:\",\"name\":\"\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"right\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":0},\"uuid\":\"09debe4c6886374dbdd847de695a364339aa\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":168,\"height\":24,\"left\":394,\"top\":84,\"title\":\"操作人\",\"value\":\"{操作人}\",\"name\":\"createBy\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"left\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":5},\"uuid\":\"aea91c8a37984b4d90e8545fa84a823a9e2b\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":108,\"height\":24,\"left\":562,\"top\":84,\"title\":\"操作时间-标题\",\"value\":\"操作时间:\",\"name\":\"\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"right\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":0},\"uuid\":\"b80a43b94128624c56a97c3e88689b6af8d6\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":168,\"height\":24,\"left\":670,\"top\":84,\"title\":\"操作时间\",\"value\":\"{操作时间}\",\"name\":\"createTime\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"left\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":5},\"uuid\":\"89d3b43387c17e44f798ef2bf220d26bf3e3\"},{\"type\":\"braid-table\",\"isEdit\":0,\"draggable\":true,\"resizable\":true,\"width\":1104,\"height\":60,\"left\":10,\"top\":118,\"title\":\"出库商品明细\",\"value\":\"{details}\",\"defaultValue\":[],\"tabelHtml\":\"\",\"columnsAttr\":[{\"title\":\"序号\",\"name\":\"_seq\"},{\"title\":\"商品编号\",\"value\":\"{商品编号}\",\"name\":\"productCode\"},{\"title\":\"商品名称\",\"value\":\"{商品名称}\",\"name\":\"productName\"},{\"title\":\"商品SKU编号\",\"value\":\"{商品SKU编号}\",\"name\":\"skuCode\"},{\"title\":\"商品简码\",\"value\":\"{商品简码}\",\"name\":\"externalCode\"},{\"title\":\"出库数量\",\"value\":\"{出库数量}\",\"name\":\"outNum\"},{\"title\":\"价格\",\"value\":\"{价格}\",\"name\":\"taxPrice\"},{\"title\":\"出库金额\",\"value\":\"{出库金额}\",\"name\":\"outAmount\"}],\"columns\":[{\"title\":\"序号\",\"name\":\"_seq\"},{\"title\":\"商品编号\",\"value\":\"{商品编号}\",\"name\":\"productCode\"},{\"title\":\"商品名称\",\"value\":\"{商品名称}\",\"name\":\"productName\"},{\"title\":\"商品SKU编号\",\"value\":\"{商品SKU编号}\",\"name\":\"skuCode\"},{\"title\":\"商品简码\",\"value\":\"{商品简码}\",\"name\":\"externalCode\"},{\"title\":\"出库数量\",\"value\":\"{出库数量}\",\"name\":\"outNum\"},{\"title\":\"价格\",\"value\":\"{价格}\",\"name\":\"taxPrice\"},{\"title\":\"出库金额\",\"value\":\"{出库金额}\",\"name\":\"outAmount\"}],\"selectCol\":[\"_seq\",\"productCode\",\"productName\",\"skuCode\",\"externalCode\",\"outNum\",\"taxPrice\",\"outAmount\"],\"name\":\"details\",\"style\":{\"zIndex\":0,\"Alignment\":\"left\",\"FontSize\":12,\"FontColor\":\"#000000\",\"borderColor\":\"#000000\",\"autoHeight\":true,\"BottomMargin\":20},\"uuid\":\"a54b8d97a637b64fd5f9ca417d7d5211716e\"},{\"type\":\"braid-page\",\"isEdit\":false,\"draggable\":true,\"resizable\":true,\"width\":97,\"height\":20,\"left\":1025,\"top\":770,\"title\":\"分页\",\"curPageStyle\":\"第##页\",\"splitPageStyle\":\"/\",\"totalPageStyle\":\"共##页\",\"name\":\"\",\"style\":{\"zIndex\":0,\"ItemType\":\"1\",\"autoHeight\":false,\"BottomMargin\":5,\"Alignment\":\"right\",\"FontSize\":12,\"FontColor\":\"#000000\"},\"uuid\":\"d6f62ce0a7931e438188be50bc350f99da7d\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":108,\"height\":24,\"left\":838,\"top\":84,\"title\":\"付款日期-标题\",\"value\":\"付款日期:\",\"name\":\"\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"right\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":0},\"uuid\":\"604209e64d1a984bbaabe0ad64ad77f5eeee\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":168,\"height\":24,\"left\":946,\"top\":84,\"title\":\"付款日期\",\"value\":\"{付款日期}\",\"name\":\"paymentDate\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"left\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":5},\"uuid\":\"e874b94582286747e2a8865a0ded60b4d639\"}],\"title\":\"零售出库单\",\"pageWidth\":210,\"pageHeight\":297,\"width\":1122,\"height\":793,\"pageDirection\":2}', '{\n \"code\": \"202501190000000004\",\n \"scCode\": \"1\",\n \"scName\": \"测试仓库\",\n \"memberCode\": \"1\",\n \"memberName\": \"测试会员\",\n \"salerName\": \"\",\n \"paymentDate\": \"2025-02-19\",\n \"description\": \"\",\n \"createBy\": \"系统管理员\",\n \"createTime\": \"2025-01-19 22:20:59\",\n \"approveBy\": \"系统管理员\",\n \"approveTime\": \"2025-01-19 22:21:23\",\n \"details\": [\n {\n \"productCode\": \"11\",\n \"productName\": \"商品222\",\n \"skuCode\": \"41\",\n \"externalCode\": \"51\",\n \"outNum\": 1,\n \"taxPrice\": 141,\n \"outAmount\": 141\n }\n ]\n}', '系统管理员', '1', '2025-05-09 19:54:59', '系统管理员', '1', '2025-05-09 20:03:51'); +INSERT INTO `tbl_print_template` (`id`, `name`, `template_json`, `demo_data`, `create_by`, `create_by_id`, `create_time`, `update_by`, `update_by_id`, `update_time`) VALUES (5, '零售退货单', '{\"tempItems\":[{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":122,\"height\":14,\"left\":500,\"top\":5,\"title\":\"标题\",\"value\":\"零售退货单\",\"name\":\"\",\"style\":{\"zIndex\":0,\"FontSize\":14,\"FontColor\":\"#000000\",\"Bold\":\"1\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"center\",\"ItemType\":\"1\",\"bordered\":false,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":0,\"leftOffset\":0},\"uuid\":\"35205865ddd83246b7aa9b82addbc49b5a7e\"},{\"type\":\"braid-barcode\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":200,\"height\":40,\"left\":920,\"top\":5,\"title\":\"单号条码\",\"name\":\"code\",\"style\":{\"zIndex\":0,\"FontSize\":\"9\",\"ShowBarText\":\"1\",\"CodeType\":\"Code39\",\"ItemType\":\"1\"},\"value\":\"{单号}\",\"uuid\":\"027597a790715443beeae5d06cd8d1f06b60\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":108,\"height\":24,\"left\":10,\"top\":60,\"title\":\"仓库编号-标题\",\"value\":\"仓库编号:\",\"name\":\"\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"right\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":0},\"uuid\":\"387f44812bf5e84fc2a89b8689beb7ae95ff\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":168,\"height\":24,\"left\":118,\"top\":60,\"title\":\"仓库编号\",\"value\":\"{仓库编号}\",\"name\":\"scCode\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"left\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":5},\"uuid\":\"b7217c3c1571794c4428f5d5823bfb0a4a99\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":108,\"height\":24,\"left\":286,\"top\":60,\"title\":\"仓库名称-标题\",\"value\":\"仓库名称:\",\"name\":\"\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"right\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":0},\"uuid\":\"a400e796d4c955457bc819f8cf6c43d6c19a\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":168,\"height\":24,\"left\":394,\"top\":60,\"title\":\"仓库名称\",\"value\":\"{仓库名称}\",\"name\":\"scName\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"left\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":5},\"uuid\":\"7cf2034a2a4e1b443ffa3d5972bfc322a88e\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":108,\"height\":24,\"left\":562,\"top\":60,\"title\":\"会员编号-标题\",\"value\":\"会员编号:\",\"name\":\"\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"right\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":0},\"uuid\":\"09bc7fd608d8e641df48b4e94b47f05ff923\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":168,\"height\":24,\"left\":670,\"top\":60,\"title\":\"会员编号\",\"value\":\"{会员编号}\",\"name\":\"memberCode\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"left\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":5},\"uuid\":\"4a08de3bd8296a4ac6ab9f2c5cab79f61584\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":108,\"height\":24,\"left\":838,\"top\":60,\"title\":\"会员名称-标题\",\"value\":\"会员名称:\",\"name\":\"\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"right\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":0},\"uuid\":\"2bcbd47062dffb4d0038afc6ac3e58455eab\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":168,\"height\":24,\"left\":946,\"top\":60,\"title\":\"会员名称\",\"value\":\"{会员名称}\",\"name\":\"memberName\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"left\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":5},\"uuid\":\"c39584ca3946284d908bd758d6dad5a70517\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":108,\"height\":24,\"left\":10,\"top\":84,\"title\":\"销售员-标题\",\"value\":\"销售员:\",\"name\":\"\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"right\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":0},\"uuid\":\"4c9ba4c9e0da3443d2097761f206563a6e31\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":168,\"height\":24,\"left\":118,\"top\":84,\"title\":\"销售员\",\"value\":\"{销售员}\",\"name\":\"salerName\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"left\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":5},\"uuid\":\"a4508027b5bd034c440a063e59b7ee0cc297\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":108,\"height\":24,\"left\":286,\"top\":84,\"title\":\"操作人-标题\",\"value\":\"操作人:\",\"name\":\"\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"right\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":0},\"uuid\":\"09debe4c6886374dbdd847de695a364339aa\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":168,\"height\":24,\"left\":394,\"top\":84,\"title\":\"操作人\",\"value\":\"{操作人}\",\"name\":\"createBy\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"left\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":5},\"uuid\":\"aea91c8a37984b4d90e8545fa84a823a9e2b\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":108,\"height\":24,\"left\":562,\"top\":84,\"title\":\"操作时间-标题\",\"value\":\"操作时间:\",\"name\":\"\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"right\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":0},\"uuid\":\"b80a43b94128624c56a97c3e88689b6af8d6\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":168,\"height\":24,\"left\":670,\"top\":84,\"title\":\"操作时间\",\"value\":\"{操作时间}\",\"name\":\"createTime\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"left\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":5},\"uuid\":\"89d3b43387c17e44f798ef2bf220d26bf3e3\"},{\"type\":\"braid-table\",\"isEdit\":0,\"draggable\":true,\"resizable\":true,\"width\":1104,\"height\":60,\"left\":10,\"top\":142,\"title\":\"退货商品明细\",\"value\":\"{details}\",\"defaultValue\":[],\"tabelHtml\":\"\",\"columnsAttr\":[{\"title\":\"序号\",\"name\":\"_seq\"},{\"title\":\"商品编号\",\"value\":\"{商品编号}\",\"name\":\"productCode\"},{\"title\":\"商品名称\",\"value\":\"{商品名称}\",\"name\":\"productName\"},{\"title\":\"商品SKU编号\",\"value\":\"{商品SKU编号}\",\"name\":\"skuCode\"},{\"title\":\"商品简码\",\"value\":\"{商品简码}\",\"name\":\"externalCode\"},{\"title\":\"退货数量\",\"value\":\"{退货数量}\",\"name\":\"returnNum\"},{\"title\":\"价格\",\"value\":\"{价格}\",\"name\":\"taxPrice\"},{\"title\":\"退货金额\",\"value\":\"{退货金额}\",\"name\":\"returnAmount\"}],\"columns\":[{\"title\":\"序号\",\"name\":\"_seq\"},{\"title\":\"商品编号\",\"value\":\"{商品编号}\",\"name\":\"productCode\"},{\"title\":\"商品名称\",\"value\":\"{商品名称}\",\"name\":\"productName\"},{\"title\":\"商品SKU编号\",\"value\":\"{商品SKU编号}\",\"name\":\"skuCode\"},{\"title\":\"商品简码\",\"value\":\"{商品简码}\",\"name\":\"externalCode\"},{\"title\":\"退货数量\",\"value\":\"{退货数量}\",\"name\":\"returnNum\"},{\"title\":\"价格\",\"value\":\"{价格}\",\"name\":\"taxPrice\"},{\"title\":\"退货金额\",\"value\":\"{退货金额}\",\"name\":\"returnAmount\"}],\"selectCol\":[\"_seq\",\"productCode\",\"productName\",\"skuCode\",\"externalCode\",\"returnNum\",\"taxPrice\",\"returnAmount\"],\"name\":\"details\",\"style\":{\"zIndex\":0,\"Alignment\":\"left\",\"FontSize\":12,\"FontColor\":\"#000000\",\"borderColor\":\"#000000\",\"autoHeight\":true,\"BottomMargin\":20},\"uuid\":\"a54b8d97a637b64fd5f9ca417d7d5211716e\"},{\"type\":\"braid-page\",\"isEdit\":false,\"draggable\":true,\"resizable\":true,\"width\":97,\"height\":20,\"left\":1025,\"top\":770,\"title\":\"分页\",\"curPageStyle\":\"第##页\",\"splitPageStyle\":\"/\",\"totalPageStyle\":\"共##页\",\"name\":\"\",\"style\":{\"zIndex\":0,\"ItemType\":\"1\",\"autoHeight\":false,\"BottomMargin\":5,\"Alignment\":\"right\",\"FontSize\":12,\"FontColor\":\"#000000\"},\"uuid\":\"d6f62ce0a7931e438188be50bc350f99da7d\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":108,\"height\":24,\"left\":10,\"top\":108,\"title\":\"付款日期-标题\",\"value\":\"付款日期:\",\"name\":\"\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"right\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":0},\"uuid\":\"604209e64d1a984bbaabe0ad64ad77f5eeee\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":168,\"height\":24,\"left\":118,\"top\":108,\"title\":\"付款日期\",\"value\":\"{付款日期}\",\"name\":\"paymentDate\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"left\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":5},\"uuid\":\"e874b94582286747e2a8865a0ded60b4d639\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":108,\"height\":24,\"left\":838,\"top\":84,\"title\":\"零售出库单号-标题\",\"value\":\"零售出库单号:\",\"name\":\"\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"right\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":0},\"uuid\":\"10488b69c261764f0e388a6607267aae769f\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":168,\"height\":24,\"left\":946,\"top\":84,\"title\":\"零售出库单号\",\"value\":\"{零售出库单号}\",\"name\":\"outSheetCode\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"left\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":5},\"uuid\":\"ba426c11fae59f4442a84d29ef5ab38c82ff\"}],\"title\":\"零售退货单\",\"pageWidth\":210,\"pageHeight\":297,\"width\":1122,\"height\":793,\"pageDirection\":2}', '{\n \"code\": \"202501190000000003\",\n \"scCode\": \"1\",\n \"scName\": \"测试仓库\",\n \"memberCode\": \"1\",\n \"memberName\": \"测试会员\",\n \"salerName\": \"\",\n \"paymentDate\": \"2025-02-19\",\n \"outSheetCode\": \"\",\n \"description\": \"\",\n \"createBy\": \"系统管理员\",\n \"createTime\": \"2025-01-19 22:28:28\",\n \"approveBy\": \"\",\n \"approveTime\": \"\",\n \"details\": [\n {\n \"productCode\": \"11\",\n \"productName\": \"商品222\",\n \"skuCode\": \"41\",\n \"externalCode\": \"51\",\n \"returnNum\": 1,\n \"taxPrice\": 141,\n \"returnAmount\": 141\n }\n ]\n}', '系统管理员', '1', '2025-05-09 20:54:00', '系统管理员', '1', '2025-05-09 21:03:49'); +INSERT INTO `tbl_print_template` (`id`, `name`, `template_json`, `demo_data`, `create_by`, `create_by_id`, `create_time`, `update_by`, `update_by_id`, `update_time`) VALUES (6, '销售订单', '{\"tempItems\":[{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":122,\"height\":14,\"left\":500,\"top\":5,\"title\":\"标题\",\"value\":\"销售订单\",\"name\":\"\",\"style\":{\"zIndex\":0,\"FontSize\":14,\"FontColor\":\"#000000\",\"Bold\":\"1\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"center\",\"ItemType\":\"1\",\"bordered\":false,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":0,\"leftOffset\":0},\"uuid\":\"35205865ddd83246b7aa9b82addbc49b5a7e\"},{\"type\":\"braid-barcode\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":200,\"height\":40,\"left\":920,\"top\":5,\"title\":\"单号条码\",\"name\":\"code\",\"style\":{\"zIndex\":0,\"FontSize\":\"9\",\"ShowBarText\":\"1\",\"CodeType\":\"Code39\",\"ItemType\":\"1\"},\"value\":\"{单号}\",\"uuid\":\"027597a790715443beeae5d06cd8d1f06b60\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":108,\"height\":24,\"left\":10,\"top\":60,\"title\":\"仓库编号-标题\",\"value\":\"仓库编号:\",\"name\":\"\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"right\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":0},\"uuid\":\"387f44812bf5e84fc2a89b8689beb7ae95ff\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":168,\"height\":24,\"left\":118,\"top\":60,\"title\":\"仓库编号\",\"value\":\"{仓库编号}\",\"name\":\"scCode\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"left\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":5},\"uuid\":\"b7217c3c1571794c4428f5d5823bfb0a4a99\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":108,\"height\":24,\"left\":286,\"top\":60,\"title\":\"仓库名称-标题\",\"value\":\"仓库名称:\",\"name\":\"\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"right\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":0},\"uuid\":\"a400e796d4c955457bc819f8cf6c43d6c19a\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":168,\"height\":24,\"left\":394,\"top\":60,\"title\":\"仓库名称\",\"value\":\"{仓库名称}\",\"name\":\"scName\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"left\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":5},\"uuid\":\"7cf2034a2a4e1b443ffa3d5972bfc322a88e\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":108,\"height\":24,\"left\":562,\"top\":60,\"title\":\"客户编号-标题\",\"value\":\"客户编号:\",\"name\":\"\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"right\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":0},\"uuid\":\"09bc7fd608d8e641df48b4e94b47f05ff923\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":168,\"height\":24,\"left\":670,\"top\":60,\"title\":\"客户编号\",\"value\":\"{客户编号}\",\"name\":\"customerCode\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"left\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":5},\"uuid\":\"4a08de3bd8296a4ac6ab9f2c5cab79f61584\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":108,\"height\":24,\"left\":838,\"top\":60,\"title\":\"客户名称-标题\",\"value\":\"客户名称:\",\"name\":\"\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"right\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":0},\"uuid\":\"2bcbd47062dffb4d0038afc6ac3e58455eab\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":168,\"height\":24,\"left\":946,\"top\":60,\"title\":\"客户名称\",\"value\":\"{客户名称}\",\"name\":\"customerName\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"left\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":5},\"uuid\":\"c39584ca3946284d908bd758d6dad5a70517\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":108,\"height\":24,\"left\":10,\"top\":84,\"title\":\"销售员-标题\",\"value\":\"销售员:\",\"name\":\"\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"right\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":0},\"uuid\":\"4c9ba4c9e0da3443d2097761f206563a6e31\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":168,\"height\":24,\"left\":118,\"top\":84,\"title\":\"销售员\",\"value\":\"{销售员}\",\"name\":\"salerName\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"left\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":5},\"uuid\":\"a4508027b5bd034c440a063e59b7ee0cc297\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":108,\"height\":24,\"left\":286,\"top\":84,\"title\":\"操作人-标题\",\"value\":\"操作人:\",\"name\":\"\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"right\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":0},\"uuid\":\"09debe4c6886374dbdd847de695a364339aa\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":168,\"height\":24,\"left\":394,\"top\":84,\"title\":\"操作人\",\"value\":\"{操作人}\",\"name\":\"createBy\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"left\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":5},\"uuid\":\"aea91c8a37984b4d90e8545fa84a823a9e2b\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":108,\"height\":24,\"left\":562,\"top\":84,\"title\":\"操作时间-标题\",\"value\":\"操作时间:\",\"name\":\"\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"right\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":0},\"uuid\":\"b80a43b94128624c56a97c3e88689b6af8d6\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":168,\"height\":24,\"left\":670,\"top\":84,\"title\":\"操作时间\",\"value\":\"{操作时间}\",\"name\":\"createTime\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"left\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":5},\"uuid\":\"89d3b43387c17e44f798ef2bf220d26bf3e3\"},{\"type\":\"braid-table\",\"isEdit\":0,\"draggable\":true,\"resizable\":true,\"width\":1104,\"height\":60,\"left\":10,\"top\":118,\"title\":\"销售商品明细\",\"value\":\"{details}\",\"defaultValue\":[],\"tabelHtml\":\"\",\"columnsAttr\":[{\"title\":\"序号\",\"name\":\"_seq\"},{\"title\":\"商品编号\",\"value\":\"{商品编号}\",\"name\":\"productCode\"},{\"title\":\"商品名称\",\"value\":\"{商品名称}\",\"name\":\"productName\"},{\"title\":\"商品SKU编号\",\"value\":\"{商品SKU编号}\",\"name\":\"skuCode\"},{\"title\":\"商品简码\",\"value\":\"{商品简码}\",\"name\":\"externalCode\"},{\"title\":\"销售数量\",\"value\":\"{销售数量}\",\"name\":\"orderNum\"},{\"title\":\"价格\",\"value\":\"{价格}\",\"name\":\"taxPrice\"},{\"title\":\"销售金额\",\"value\":\"{销售金额}\",\"name\":\"orderAmount\"}],\"columns\":[{\"title\":\"序号\",\"name\":\"_seq\"},{\"title\":\"商品编号\",\"value\":\"{商品编号}\",\"name\":\"productCode\"},{\"title\":\"商品名称\",\"value\":\"{商品名称}\",\"name\":\"productName\"},{\"title\":\"商品SKU编号\",\"value\":\"{商品SKU编号}\",\"name\":\"skuCode\"},{\"title\":\"商品简码\",\"value\":\"{商品简码}\",\"name\":\"externalCode\"},{\"title\":\"销售数量\",\"value\":\"{销售数量}\",\"name\":\"orderNum\"},{\"title\":\"价格\",\"value\":\"{价格}\",\"name\":\"taxPrice\"},{\"title\":\"销售金额\",\"value\":\"{销售金额}\",\"name\":\"orderAmount\"}],\"selectCol\":[\"_seq\",\"productCode\",\"productName\",\"skuCode\",\"externalCode\",\"orderNum\",\"taxPrice\",\"orderAmount\"],\"name\":\"details\",\"style\":{\"zIndex\":0,\"Alignment\":\"left\",\"FontSize\":12,\"FontColor\":\"#000000\",\"borderColor\":\"#000000\",\"autoHeight\":true,\"BottomMargin\":20},\"uuid\":\"a54b8d97a637b64fd5f9ca417d7d5211716e\"},{\"type\":\"braid-page\",\"isEdit\":false,\"draggable\":true,\"resizable\":true,\"width\":97,\"height\":20,\"left\":1025,\"top\":770,\"title\":\"分页\",\"curPageStyle\":\"第##页\",\"splitPageStyle\":\"/\",\"totalPageStyle\":\"共##页\",\"name\":\"\",\"style\":{\"zIndex\":0,\"ItemType\":\"1\",\"autoHeight\":false,\"BottomMargin\":5,\"Alignment\":\"right\",\"FontSize\":12,\"FontColor\":\"#000000\"},\"uuid\":\"d6f62ce0a7931e438188be50bc350f99da7d\"}],\"title\":\"零售出库单\",\"pageWidth\":210,\"pageHeight\":297,\"width\":1122,\"height\":793,\"pageDirection\":2}', '{\n \"code\": \"202501190000000003\",\n \"scCode\": \"1\",\n \"scName\": \"测试仓库\",\n \"customerCode\": \"1\",\n \"customerName\": \"测试客户\",\n \"salerName\": \"\",\n \"description\": \"\",\n \"createBy\": \"系统管理员\",\n \"createTime\": \"2025-01-19 22:08:46\",\n \"approveBy\": \"\",\n \"approveTime\": \"\",\n \"details\": [\n {\n \"productCode\": \"11\",\n \"productName\": \"商品222\",\n \"skuCode\": \"41\",\n \"externalCode\": \"51\",\n \"orderNum\": 1,\n \"taxPrice\": 131,\n \"orderAmount\": 131\n }\n ]\n}', '系统管理员', '1', '2025-05-09 22:34:50', '系统管理员', '1', '2025-05-09 22:35:00'); +INSERT INTO `tbl_print_template` (`id`, `name`, `template_json`, `demo_data`, `create_by`, `create_by_id`, `create_time`, `update_by`, `update_by_id`, `update_time`) VALUES (7, '销售出库单', '{\"tempItems\":[{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":122,\"height\":14,\"left\":500,\"top\":5,\"title\":\"标题\",\"value\":\"销售出库单\",\"name\":\"\",\"style\":{\"zIndex\":0,\"FontSize\":14,\"FontColor\":\"#000000\",\"Bold\":\"1\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"center\",\"ItemType\":\"1\",\"bordered\":false,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":0,\"leftOffset\":0},\"uuid\":\"35205865ddd83246b7aa9b82addbc49b5a7e\"},{\"type\":\"braid-barcode\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":200,\"height\":40,\"left\":920,\"top\":5,\"title\":\"单号条码\",\"name\":\"code\",\"style\":{\"zIndex\":0,\"FontSize\":\"9\",\"ShowBarText\":\"1\",\"CodeType\":\"Code39\",\"ItemType\":\"1\"},\"value\":\"{单号}\",\"uuid\":\"027597a790715443beeae5d06cd8d1f06b60\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":108,\"height\":24,\"left\":10,\"top\":60,\"title\":\"仓库编号-标题\",\"value\":\"仓库编号:\",\"name\":\"\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"right\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":0},\"uuid\":\"387f44812bf5e84fc2a89b8689beb7ae95ff\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":168,\"height\":24,\"left\":118,\"top\":60,\"title\":\"仓库编号\",\"value\":\"{仓库编号}\",\"name\":\"scCode\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"left\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":5},\"uuid\":\"b7217c3c1571794c4428f5d5823bfb0a4a99\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":108,\"height\":24,\"left\":286,\"top\":60,\"title\":\"仓库名称-标题\",\"value\":\"仓库名称:\",\"name\":\"\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"right\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":0},\"uuid\":\"a400e796d4c955457bc819f8cf6c43d6c19a\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":168,\"height\":24,\"left\":394,\"top\":60,\"title\":\"仓库名称\",\"value\":\"{仓库名称}\",\"name\":\"scName\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"left\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":5},\"uuid\":\"7cf2034a2a4e1b443ffa3d5972bfc322a88e\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":108,\"height\":24,\"left\":562,\"top\":60,\"title\":\"客户编号-标题\",\"value\":\"客户编号:\",\"name\":\"\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"right\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":0},\"uuid\":\"09bc7fd608d8e641df48b4e94b47f05ff923\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":168,\"height\":24,\"left\":670,\"top\":60,\"title\":\"客户编号\",\"value\":\"{客户编号}\",\"name\":\"customerCode\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"left\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":5},\"uuid\":\"4a08de3bd8296a4ac6ab9f2c5cab79f61584\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":108,\"height\":24,\"left\":838,\"top\":60,\"title\":\"客户名称-标题\",\"value\":\"客户名称:\",\"name\":\"\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"right\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":0},\"uuid\":\"2bcbd47062dffb4d0038afc6ac3e58455eab\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":168,\"height\":24,\"left\":946,\"top\":60,\"title\":\"客户名称\",\"value\":\"{客户名称}\",\"name\":\"customerName\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"left\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":5},\"uuid\":\"c39584ca3946284d908bd758d6dad5a70517\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":108,\"height\":24,\"left\":10,\"top\":84,\"title\":\"销售员-标题\",\"value\":\"销售员:\",\"name\":\"\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"right\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":0},\"uuid\":\"4c9ba4c9e0da3443d2097761f206563a6e31\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":168,\"height\":24,\"left\":118,\"top\":84,\"title\":\"销售员\",\"value\":\"{销售员}\",\"name\":\"salerName\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"left\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":5},\"uuid\":\"a4508027b5bd034c440a063e59b7ee0cc297\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":108,\"height\":24,\"left\":286,\"top\":84,\"title\":\"操作人-标题\",\"value\":\"操作人:\",\"name\":\"\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"right\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":0},\"uuid\":\"09debe4c6886374dbdd847de695a364339aa\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":168,\"height\":24,\"left\":394,\"top\":84,\"title\":\"操作人\",\"value\":\"{操作人}\",\"name\":\"createBy\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"left\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":5},\"uuid\":\"aea91c8a37984b4d90e8545fa84a823a9e2b\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":108,\"height\":24,\"left\":562,\"top\":84,\"title\":\"操作时间-标题\",\"value\":\"操作时间:\",\"name\":\"\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"right\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":0},\"uuid\":\"b80a43b94128624c56a97c3e88689b6af8d6\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":168,\"height\":24,\"left\":670,\"top\":84,\"title\":\"操作时间\",\"value\":\"{操作时间}\",\"name\":\"createTime\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"left\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":5},\"uuid\":\"89d3b43387c17e44f798ef2bf220d26bf3e3\"},{\"type\":\"braid-table\",\"isEdit\":0,\"draggable\":true,\"resizable\":true,\"width\":1104,\"height\":60,\"left\":10,\"top\":142,\"title\":\"出库商品明细\",\"value\":\"{details}\",\"defaultValue\":[],\"tabelHtml\":\"\",\"columnsAttr\":[{\"title\":\"序号\",\"name\":\"_seq\"},{\"title\":\"商品编号\",\"value\":\"{商品编号}\",\"name\":\"productCode\"},{\"title\":\"商品名称\",\"value\":\"{商品名称}\",\"name\":\"productName\"},{\"title\":\"商品SKU编号\",\"value\":\"{商品SKU编号}\",\"name\":\"skuCode\"},{\"title\":\"商品简码\",\"value\":\"{商品简码}\",\"name\":\"externalCode\"},{\"title\":\"出库数量\",\"value\":\"{出库数量}\",\"name\":\"outNum\"},{\"title\":\"价格\",\"value\":\"{价格}\",\"name\":\"taxPrice\"},{\"title\":\"出库金额\",\"value\":\"{出库金额}\",\"name\":\"outAmount\"}],\"columns\":[{\"title\":\"序号\",\"name\":\"_seq\"},{\"title\":\"商品编号\",\"value\":\"{商品编号}\",\"name\":\"productCode\"},{\"title\":\"商品名称\",\"value\":\"{商品名称}\",\"name\":\"productName\"},{\"title\":\"商品SKU编号\",\"value\":\"{商品SKU编号}\",\"name\":\"skuCode\"},{\"title\":\"商品简码\",\"value\":\"{商品简码}\",\"name\":\"externalCode\"},{\"title\":\"出库数量\",\"value\":\"{出库数量}\",\"name\":\"outNum\"},{\"title\":\"价格\",\"value\":\"{价格}\",\"name\":\"taxPrice\"},{\"title\":\"出库金额\",\"value\":\"{出库金额}\",\"name\":\"outAmount\"}],\"selectCol\":[\"_seq\",\"productCode\",\"productName\",\"skuCode\",\"externalCode\",\"outNum\",\"taxPrice\",\"outAmount\"],\"name\":\"details\",\"style\":{\"zIndex\":0,\"Alignment\":\"left\",\"FontSize\":12,\"FontColor\":\"#000000\",\"borderColor\":\"#000000\",\"autoHeight\":true,\"BottomMargin\":20},\"uuid\":\"a54b8d97a637b64fd5f9ca417d7d5211716e\"},{\"type\":\"braid-page\",\"isEdit\":false,\"draggable\":true,\"resizable\":true,\"width\":97,\"height\":20,\"left\":1025,\"top\":770,\"title\":\"分页\",\"curPageStyle\":\"第##页\",\"splitPageStyle\":\"/\",\"totalPageStyle\":\"共##页\",\"name\":\"\",\"style\":{\"zIndex\":0,\"ItemType\":\"1\",\"autoHeight\":false,\"BottomMargin\":5,\"Alignment\":\"right\",\"FontSize\":12,\"FontColor\":\"#000000\"},\"uuid\":\"d6f62ce0a7931e438188be50bc350f99da7d\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":108,\"height\":24,\"left\":10,\"top\":108,\"title\":\"付款日期-标题\",\"value\":\"付款日期:\",\"name\":\"\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"right\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":0},\"uuid\":\"604209e64d1a984bbaabe0ad64ad77f5eeee\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":168,\"height\":24,\"left\":118,\"top\":108,\"title\":\"付款日期\",\"value\":\"{付款日期}\",\"name\":\"paymentDate\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"left\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":5},\"uuid\":\"e874b94582286747e2a8865a0ded60b4d639\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":108,\"height\":24,\"left\":838,\"top\":84,\"title\":\"销售订单号-标题\",\"value\":\"销售订单号:\",\"name\":\"\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"right\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":0},\"uuid\":\"a4e29827b8e062405258d7f5e7bb535f9dd5\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":168,\"height\":24,\"left\":946,\"top\":84,\"title\":\"销售订单号\",\"value\":\"{销售订单号}\",\"name\":\"saleOrderCode\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"left\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":5},\"uuid\":\"e7681d4c03d9664ad96b96efc49bd124f871\"}],\"title\":\"销售出库单\",\"pageWidth\":210,\"pageHeight\":297,\"width\":1122,\"height\":793,\"pageDirection\":2}', '{\n \"code\": \"202501190000000004\",\n \"scCode\": \"1\",\n \"scName\": \"测试仓库\",\n \"customerCode\": \"1\",\n \"customerName\": \"测试客户\",\n \"salerName\": \"\",\n \"paymentDate\": \"2025-02-19\",\n \"saleOrderCode\": \"\",\n \"description\": \"\",\n \"createBy\": \"系统管理员\",\n \"createTime\": \"2025-01-19 22:09:55\",\n \"approveBy\": \"系统管理员\",\n \"approveTime\": \"2025-01-19 22:10:01\",\n \"details\": [\n {\n \"productCode\": \"11\",\n \"productName\": \"商品222\",\n \"skuCode\": \"41\",\n \"externalCode\": \"51\",\n \"outNum\": 1,\n \"taxPrice\": 131,\n \"outAmount\": 131\n }\n ]\n}', '系统管理员', '1', '2025-05-09 22:50:02', '系统管理员', '1', '2025-05-09 22:50:13'); +INSERT INTO `tbl_print_template` (`id`, `name`, `template_json`, `demo_data`, `create_by`, `create_by_id`, `create_time`, `update_by`, `update_by_id`, `update_time`) VALUES (8, '销售退货单', '{\"tempItems\":[{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":122,\"height\":14,\"left\":500,\"top\":5,\"title\":\"标题\",\"value\":\"销售退货单\",\"name\":\"\",\"style\":{\"zIndex\":0,\"FontSize\":14,\"FontColor\":\"#000000\",\"Bold\":\"1\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"center\",\"ItemType\":\"1\",\"bordered\":false,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":0,\"leftOffset\":0},\"uuid\":\"35205865ddd83246b7aa9b82addbc49b5a7e\"},{\"type\":\"braid-barcode\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":200,\"height\":40,\"left\":920,\"top\":5,\"title\":\"单号条码\",\"name\":\"code\",\"style\":{\"zIndex\":0,\"FontSize\":\"9\",\"ShowBarText\":\"1\",\"CodeType\":\"Code39\",\"ItemType\":\"1\"},\"value\":\"{单号}\",\"uuid\":\"027597a790715443beeae5d06cd8d1f06b60\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":108,\"height\":24,\"left\":10,\"top\":60,\"title\":\"仓库编号-标题\",\"value\":\"仓库编号:\",\"name\":\"\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"right\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":0},\"uuid\":\"387f44812bf5e84fc2a89b8689beb7ae95ff\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":168,\"height\":24,\"left\":118,\"top\":60,\"title\":\"仓库编号\",\"value\":\"{仓库编号}\",\"name\":\"scCode\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"left\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":5},\"uuid\":\"b7217c3c1571794c4428f5d5823bfb0a4a99\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":108,\"height\":24,\"left\":286,\"top\":60,\"title\":\"仓库名称-标题\",\"value\":\"仓库名称:\",\"name\":\"\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"right\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":0},\"uuid\":\"a400e796d4c955457bc819f8cf6c43d6c19a\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":168,\"height\":24,\"left\":394,\"top\":60,\"title\":\"仓库名称\",\"value\":\"{仓库名称}\",\"name\":\"scName\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"left\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":5},\"uuid\":\"7cf2034a2a4e1b443ffa3d5972bfc322a88e\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":108,\"height\":24,\"left\":562,\"top\":60,\"title\":\"客户编号-标题\",\"value\":\"客户编号:\",\"name\":\"\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"right\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":0},\"uuid\":\"09bc7fd608d8e641df48b4e94b47f05ff923\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":168,\"height\":24,\"left\":670,\"top\":60,\"title\":\"客户编号\",\"value\":\"{客户编号}\",\"name\":\"customerCode\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"left\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":5},\"uuid\":\"4a08de3bd8296a4ac6ab9f2c5cab79f61584\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":108,\"height\":24,\"left\":838,\"top\":60,\"title\":\"客户名称-标题\",\"value\":\"客户名称:\",\"name\":\"\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"right\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":0},\"uuid\":\"2bcbd47062dffb4d0038afc6ac3e58455eab\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":168,\"height\":24,\"left\":946,\"top\":60,\"title\":\"客户名称\",\"value\":\"{客户名称}\",\"name\":\"customerName\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"left\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":5},\"uuid\":\"c39584ca3946284d908bd758d6dad5a70517\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":108,\"height\":24,\"left\":10,\"top\":84,\"title\":\"销售员-标题\",\"value\":\"销售员:\",\"name\":\"\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"right\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":0},\"uuid\":\"4c9ba4c9e0da3443d2097761f206563a6e31\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":168,\"height\":24,\"left\":118,\"top\":84,\"title\":\"销售员\",\"value\":\"{销售员}\",\"name\":\"salerName\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"left\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":5},\"uuid\":\"a4508027b5bd034c440a063e59b7ee0cc297\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":108,\"height\":24,\"left\":286,\"top\":84,\"title\":\"操作人-标题\",\"value\":\"操作人:\",\"name\":\"\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"right\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":0},\"uuid\":\"09debe4c6886374dbdd847de695a364339aa\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":168,\"height\":24,\"left\":394,\"top\":84,\"title\":\"操作人\",\"value\":\"{操作人}\",\"name\":\"createBy\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"left\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":5},\"uuid\":\"aea91c8a37984b4d90e8545fa84a823a9e2b\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":108,\"height\":24,\"left\":562,\"top\":84,\"title\":\"操作时间-标题\",\"value\":\"操作时间:\",\"name\":\"\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"right\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":0},\"uuid\":\"b80a43b94128624c56a97c3e88689b6af8d6\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":168,\"height\":24,\"left\":670,\"top\":84,\"title\":\"操作时间\",\"value\":\"{操作时间}\",\"name\":\"createTime\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"left\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":5},\"uuid\":\"89d3b43387c17e44f798ef2bf220d26bf3e3\"},{\"type\":\"braid-table\",\"isEdit\":0,\"draggable\":true,\"resizable\":true,\"width\":1104,\"height\":60,\"left\":10,\"top\":142,\"title\":\"退货商品明细\",\"value\":\"{details}\",\"defaultValue\":[],\"tabelHtml\":\"\",\"columnsAttr\":[{\"title\":\"序号\",\"name\":\"_seq\"},{\"title\":\"商品编号\",\"value\":\"{商品编号}\",\"name\":\"productCode\"},{\"title\":\"商品名称\",\"value\":\"{商品名称}\",\"name\":\"productName\"},{\"title\":\"商品SKU编号\",\"value\":\"{商品SKU编号}\",\"name\":\"skuCode\"},{\"title\":\"商品简码\",\"value\":\"{商品简码}\",\"name\":\"externalCode\"},{\"title\":\"退货数量\",\"value\":\"{退货数量}\",\"name\":\"returnNum\"},{\"title\":\"价格\",\"value\":\"{价格}\",\"name\":\"taxPrice\"},{\"title\":\"退货金额\",\"value\":\"{退货金额}\",\"name\":\"returnAmount\"}],\"columns\":[{\"title\":\"序号\",\"name\":\"_seq\"},{\"title\":\"商品编号\",\"value\":\"{商品编号}\",\"name\":\"productCode\"},{\"title\":\"商品名称\",\"value\":\"{商品名称}\",\"name\":\"productName\"},{\"title\":\"商品SKU编号\",\"value\":\"{商品SKU编号}\",\"name\":\"skuCode\"},{\"title\":\"商品简码\",\"value\":\"{商品简码}\",\"name\":\"externalCode\"},{\"title\":\"退货数量\",\"value\":\"{退货数量}\",\"name\":\"returnNum\"},{\"title\":\"价格\",\"value\":\"{价格}\",\"name\":\"taxPrice\"},{\"title\":\"退货金额\",\"value\":\"{退货金额}\",\"name\":\"returnAmount\"}],\"selectCol\":[\"_seq\",\"productCode\",\"productName\",\"skuCode\",\"externalCode\",\"returnNum\",\"taxPrice\",\"returnAmount\"],\"name\":\"details\",\"style\":{\"zIndex\":0,\"Alignment\":\"left\",\"FontSize\":12,\"FontColor\":\"#000000\",\"borderColor\":\"#000000\",\"autoHeight\":true,\"BottomMargin\":20},\"uuid\":\"a54b8d97a637b64fd5f9ca417d7d5211716e\"},{\"type\":\"braid-page\",\"isEdit\":false,\"draggable\":true,\"resizable\":true,\"width\":97,\"height\":20,\"left\":1025,\"top\":770,\"title\":\"分页\",\"curPageStyle\":\"第##页\",\"splitPageStyle\":\"/\",\"totalPageStyle\":\"共##页\",\"name\":\"\",\"style\":{\"zIndex\":0,\"ItemType\":\"1\",\"autoHeight\":false,\"BottomMargin\":5,\"Alignment\":\"right\",\"FontSize\":12,\"FontColor\":\"#000000\"},\"uuid\":\"d6f62ce0a7931e438188be50bc350f99da7d\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":108,\"height\":24,\"left\":10,\"top\":108,\"title\":\"付款日期-标题\",\"value\":\"付款日期:\",\"name\":\"\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"right\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":0},\"uuid\":\"604209e64d1a984bbaabe0ad64ad77f5eeee\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":168,\"height\":24,\"left\":118,\"top\":108,\"title\":\"付款日期\",\"value\":\"{付款日期}\",\"name\":\"paymentDate\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"left\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":5},\"uuid\":\"e874b94582286747e2a8865a0ded60b4d639\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":108,\"height\":24,\"left\":838,\"top\":84,\"title\":\"销售出库单号-标题\",\"value\":\"销售出库单号:\",\"name\":\"\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"right\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":0},\"uuid\":\"10488b69c261764f0e388a6607267aae769f\"},{\"type\":\"braid-txt\",\"isEdit\":1,\"draggable\":true,\"resizable\":true,\"width\":168,\"height\":24,\"left\":946,\"top\":84,\"title\":\"销售出库单号\",\"value\":\"{销售出库单号}\",\"name\":\"outSheetCode\",\"style\":{\"zIndex\":0,\"FontSize\":12,\"FontColor\":\"#000000\",\"Bold\":\"0\",\"Italic\":\"0\",\"Underline\":\"0\",\"Alignment\":\"left\",\"ItemType\":\"1\",\"bordered\":true,\"intLineStyle\":0,\"intLineWidth\":1,\"topOffset\":4,\"leftOffset\":5},\"uuid\":\"ba426c11fae59f4442a84d29ef5ab38c82ff\"}],\"title\":\"销售退货单\",\"pageWidth\":210,\"pageHeight\":297,\"width\":1122,\"height\":793,\"pageDirection\":2}', '{\n \"code\": \"202501190000000003\",\n \"scCode\": \"1\",\n \"scName\": \"测试仓库\",\n \"customerCode\": \"1\",\n \"customerName\": \"测试客户\",\n \"salerName\": \"\",\n \"paymentDate\": \"2025-02-19\",\n \"outSheetCode\": \"\",\n \"description\": \"\",\n \"createBy\": \"系统管理员\",\n \"createTime\": \"2025-01-19 22:10:44\",\n \"approveBy\": \"\",\n \"approveTime\": \"\",\n \"details\": [\n {\n \"productCode\": \"11\",\n \"productName\": \"商品222\",\n \"skuCode\": \"41\",\n \"externalCode\": \"51\",\n \"returnNum\": 1,\n \"taxPrice\": 131,\n \"returnAmount\": 131\n }\n ]\n}', '系统管理员', '1', '2025-05-09 23:03:03', '系统管理员', '1', '2025-05-09 23:03:35'); +INSERT INTO `tbl_print_template_comp` (`id`, `template_id`, `comp_json`) VALUES ('1', 0, '{\"type\":\"braid-txt\"}'); +INSERT INTO `tbl_print_template_comp` (`id`, `template_id`, `comp_json`) VALUES ('100', 1, '{\"type\":\"braid-table\",\"isEdit\":0,\"title\":\"采购商品明细\",\"name\":\"details\",\"value\":\"{details}\",\"style\":{},\"tabelHtml\":\"\",\"columnsAttr\":[{\"title\":\"序号\",\"name\":\"_seq\"},{\"title\":\"商品编号\",\"value\":\"{商品编号}\",\"name\":\"productCode\"},{\"title\":\"商品名称\",\"value\":\"{商品名称}\",\"name\":\"productName\"},{\"title\":\"商品SKU编号\",\"value\":\"{商品SKU编号}\",\"name\":\"skuCode\"},{\"title\":\"商品简码\",\"value\":\"{商品简码}\",\"name\":\"externalCode\"},{\"title\":\"采购数量\",\"value\":\"{采购数量}\",\"name\":\"purchaseNum\"},{\"title\":\"采购价\",\"value\":\"{采购价}\",\"name\":\"purchasePrice\"},{\"title\":\"采购金额\",\"value\":\"{采购金额}\",\"name\":\"purchaseAmount\"}],\"columns\":[]}'); +INSERT INTO `tbl_print_template_comp` (`id`, `template_id`, `comp_json`) VALUES ('101', 2, '{\"type\":\"braid-table\",\"isEdit\":0,\"title\":\"收货商品明细\",\"name\":\"details\",\"value\":\"{details}\",\"style\":{},\"tabelHtml\":\"\",\"columnsAttr\":[{\"title\":\"序号\",\"name\":\"_seq\"},{\"title\":\"商品编号\",\"value\":\"{商品编号}\",\"name\":\"productCode\"},{\"title\":\"商品名称\",\"value\":\"{商品名称}\",\"name\":\"productName\"},{\"title\":\"商品SKU编号\",\"value\":\"{商品SKU编号}\",\"name\":\"skuCode\"},{\"title\":\"商品简码\",\"value\":\"{商品简码}\",\"name\":\"externalCode\"},{\"title\":\"收货数量\",\"value\":\"{收货数量}\",\"name\":\"receiveNum\"},{\"title\":\"采购价\",\"value\":\"{采购价}\",\"name\":\"purchasePrice\"},{\"title\":\"收货金额\",\"value\":\"{收货金额}\",\"name\":\"receiveAmount\"}],\"columns\":[]}'); +INSERT INTO `tbl_print_template_comp` (`id`, `template_id`, `comp_json`) VALUES ('102', 3, '{\"type\":\"braid-table\",\"isEdit\":0,\"title\":\"退货商品明细\",\"name\":\"details\",\"value\":\"{details}\",\"style\":{},\"tabelHtml\":\"\",\"columnsAttr\":[{\"title\":\"序号\",\"name\":\"_seq\"},{\"title\":\"商品编号\",\"value\":\"{商品编号}\",\"name\":\"productCode\"},{\"title\":\"商品名称\",\"value\":\"{商品名称}\",\"name\":\"productName\"},{\"title\":\"商品SKU编号\",\"value\":\"{商品SKU编号}\",\"name\":\"skuCode\"},{\"title\":\"商品简码\",\"value\":\"{商品简码}\",\"name\":\"externalCode\"},{\"title\":\"退货数量\",\"value\":\"{退货数量}\",\"name\":\"returnNum\"},{\"title\":\"退货价\",\"value\":\"{退货价}\",\"name\":\"purchasePrice\"},{\"title\":\"退货金额\",\"value\":\"{退货金额}\",\"name\":\"returnAmount\"}],\"columns\":[]}'); +INSERT INTO `tbl_print_template_comp` (`id`, `template_id`, `comp_json`) VALUES ('103', 4, '{\"type\":\"braid-table\",\"isEdit\":0,\"title\":\"出库商品明细\",\"name\":\"details\",\"value\":\"{details}\",\"style\":{},\"tabelHtml\":\"\",\"columnsAttr\":[{\"title\":\"序号\",\"name\":\"_seq\"},{\"title\":\"商品编号\",\"value\":\"{商品编号}\",\"name\":\"productCode\"},{\"title\":\"商品名称\",\"value\":\"{商品名称}\",\"name\":\"productName\"},{\"title\":\"商品SKU编号\",\"value\":\"{商品SKU编号}\",\"name\":\"skuCode\"},{\"title\":\"商品简码\",\"value\":\"{商品简码}\",\"name\":\"externalCode\"},{\"title\":\"出库数量\",\"value\":\"{出库数量}\",\"name\":\"outNum\"},{\"title\":\"价格\",\"value\":\"{价格}\",\"name\":\"taxPrice\"},{\"title\":\"出库金额\",\"value\":\"{出库金额}\",\"name\":\"outAmount\"}],\"columns\":[]}'); +INSERT INTO `tbl_print_template_comp` (`id`, `template_id`, `comp_json`) VALUES ('104', 5, '{\"type\":\"braid-table\",\"isEdit\":0,\"title\":\"退货商品明细\",\"name\":\"details\",\"value\":\"{details}\",\"style\":{},\"tabelHtml\":\"\",\"columnsAttr\":[{\"title\":\"序号\",\"name\":\"_seq\"},{\"title\":\"商品编号\",\"value\":\"{商品编号}\",\"name\":\"productCode\"},{\"title\":\"商品名称\",\"value\":\"{商品名称}\",\"name\":\"productName\"},{\"title\":\"商品SKU编号\",\"value\":\"{商品SKU编号}\",\"name\":\"skuCode\"},{\"title\":\"商品简码\",\"value\":\"{商品简码}\",\"name\":\"externalCode\"},{\"title\":\"退货数量\",\"value\":\"{退货数量}\",\"name\":\"returnNum\"},{\"title\":\"价格\",\"value\":\"{价格}\",\"name\":\"taxPrice\"},{\"title\":\"退货金额\",\"value\":\"{退货金额}\",\"name\":\"returnAmount\"}],\"columns\":[]}'); +INSERT INTO `tbl_print_template_comp` (`id`, `template_id`, `comp_json`) VALUES ('105', 6, '{\"type\":\"braid-table\",\"isEdit\":0,\"title\":\"销售商品明细\",\"name\":\"details\",\"value\":\"{details}\",\"style\":{},\"tabelHtml\":\"\",\"columnsAttr\":[{\"title\":\"序号\",\"name\":\"_seq\"},{\"title\":\"商品编号\",\"value\":\"{商品编号}\",\"name\":\"productCode\"},{\"title\":\"商品名称\",\"value\":\"{商品名称}\",\"name\":\"productName\"},{\"title\":\"商品SKU编号\",\"value\":\"{商品SKU编号}\",\"name\":\"skuCode\"},{\"title\":\"商品简码\",\"value\":\"{商品简码}\",\"name\":\"externalCode\"},{\"title\":\"销售数量\",\"value\":\"{销售数量}\",\"name\":\"orderNum\"},{\"title\":\"价格\",\"value\":\"{价格}\",\"name\":\"taxPrice\"},{\"title\":\"销售金额\",\"value\":\"{销售金额}\",\"name\":\"orderAmount\"}],\"columns\":[]}'); +INSERT INTO `tbl_print_template_comp` (`id`, `template_id`, `comp_json`) VALUES ('106', 7, '{\"type\":\"braid-table\",\"isEdit\":0,\"title\":\"出库商品明细\",\"name\":\"details\",\"value\":\"{details}\",\"style\":{},\"tabelHtml\":\"\",\"columnsAttr\":[{\"title\":\"序号\",\"name\":\"_seq\"},{\"title\":\"商品编号\",\"value\":\"{商品编号}\",\"name\":\"productCode\"},{\"title\":\"商品名称\",\"value\":\"{商品名称}\",\"name\":\"productName\"},{\"title\":\"商品SKU编号\",\"value\":\"{商品SKU编号}\",\"name\":\"skuCode\"},{\"title\":\"商品简码\",\"value\":\"{商品简码}\",\"name\":\"externalCode\"},{\"title\":\"出库数量\",\"value\":\"{出库数量}\",\"name\":\"outNum\"},{\"title\":\"价格\",\"value\":\"{价格}\",\"name\":\"taxPrice\"},{\"title\":\"出库金额\",\"value\":\"{出库金额}\",\"name\":\"outAmount\"}],\"columns\":[]}'); +INSERT INTO `tbl_print_template_comp` (`id`, `template_id`, `comp_json`) VALUES ('107', 8, '{\"type\":\"braid-table\",\"isEdit\":0,\"title\":\"退货商品明细\",\"name\":\"details\",\"value\":\"{details}\",\"style\":{},\"tabelHtml\":\"\",\"columnsAttr\":[{\"title\":\"序号\",\"name\":\"_seq\"},{\"title\":\"商品编号\",\"value\":\"{商品编号}\",\"name\":\"productCode\"},{\"title\":\"商品名称\",\"value\":\"{商品名称}\",\"name\":\"productName\"},{\"title\":\"商品SKU编号\",\"value\":\"{商品SKU编号}\",\"name\":\"skuCode\"},{\"title\":\"商品简码\",\"value\":\"{商品简码}\",\"name\":\"externalCode\"},{\"title\":\"退货数量\",\"value\":\"{退货数量}\",\"name\":\"returnNum\"},{\"title\":\"价格\",\"value\":\"{价格}\",\"name\":\"taxPrice\"},{\"title\":\"退货金额\",\"value\":\"{退货金额}\",\"name\":\"returnAmount\"}],\"columns\":[]}'); +INSERT INTO `tbl_print_template_comp` (`id`, `template_id`, `comp_json`) VALUES ('2', 0, '{\"type\":\"braid-page\"}'); +INSERT INTO `tbl_print_template_comp` (`id`, `template_id`, `comp_json`) VALUES ('3', 0, '{\"type\":\"braid-react\"}'); +INSERT INTO `tbl_print_template_comp` (`id`, `template_id`, `comp_json`) VALUES ('4', 0, '{\"type\":\"braid-barcode\"}'); diff --git a/xingyun-basedata/src/main/java/com/lframework/xingyun/basedata/bo/print/GetPrintTemplateBo.java b/xingyun-basedata/src/main/java/com/lframework/xingyun/basedata/bo/print/GetPrintTemplateBo.java new file mode 100644 index 00000000..eeccea11 --- /dev/null +++ b/xingyun-basedata/src/main/java/com/lframework/xingyun/basedata/bo/print/GetPrintTemplateBo.java @@ -0,0 +1,31 @@ +package com.lframework.xingyun.basedata.bo.print; + +import com.lframework.starter.web.bo.BaseBo; +import com.lframework.xingyun.basedata.entity.PrintTemplate; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class GetPrintTemplateBo extends BaseBo { + + /** + * ID + */ + @ApiModelProperty("ID") + private Integer id; + + /** + * 名称 + */ + @ApiModelProperty("名称") + private String name; + + public GetPrintTemplateBo() { + + } + + public GetPrintTemplateBo(PrintTemplate dto) { + + super(dto); + } +} diff --git a/xingyun-basedata/src/main/java/com/lframework/xingyun/basedata/bo/print/GetPrintTemplateCompSettingBo.java b/xingyun-basedata/src/main/java/com/lframework/xingyun/basedata/bo/print/GetPrintTemplateCompSettingBo.java new file mode 100644 index 00000000..dd6556dd --- /dev/null +++ b/xingyun-basedata/src/main/java/com/lframework/xingyun/basedata/bo/print/GetPrintTemplateCompSettingBo.java @@ -0,0 +1,43 @@ +package com.lframework.xingyun.basedata.bo.print; + +import com.lframework.starter.web.bo.BaseBo; +import com.lframework.starter.web.utils.JsonUtil; +import com.lframework.xingyun.basedata.entity.PrintTemplateComp; +import io.swagger.annotations.ApiModelProperty; +import java.util.Map; +import lombok.Data; + +@Data +public class GetPrintTemplateCompSettingBo extends BaseBo { + + /** + * ID + */ + @ApiModelProperty("ID") + private String id; + + /** + * 组件配置 + */ + @ApiModelProperty("组件配置") + private Map compJson; + + public GetPrintTemplateCompSettingBo() { + + } + + public GetPrintTemplateCompSettingBo(PrintTemplateComp dto) { + + super(dto); + } + + @Override + public BaseBo convert(PrintTemplateComp dto) { + return super.convert(dto, GetPrintTemplateCompSettingBo::getCompJson); + } + + @Override + protected void afterInit(PrintTemplateComp dto) { + this.compJson = JsonUtil.parseMap(dto.getCompJson(), String.class, Object.class); + } +} diff --git a/xingyun-basedata/src/main/java/com/lframework/xingyun/basedata/bo/print/GetPrintTemplateSettingBo.java b/xingyun-basedata/src/main/java/com/lframework/xingyun/basedata/bo/print/GetPrintTemplateSettingBo.java new file mode 100644 index 00000000..7cd657fa --- /dev/null +++ b/xingyun-basedata/src/main/java/com/lframework/xingyun/basedata/bo/print/GetPrintTemplateSettingBo.java @@ -0,0 +1,71 @@ +package com.lframework.xingyun.basedata.bo.print; + +import com.lframework.starter.common.utils.StringUtil; +import com.lframework.starter.web.bo.BaseBo; +import com.lframework.starter.web.utils.ApplicationUtil; +import com.lframework.starter.web.utils.JsonUtil; +import com.lframework.xingyun.basedata.entity.PrintTemplate; +import com.lframework.xingyun.basedata.service.print.PrintTemplateCompService; +import io.swagger.annotations.ApiModelProperty; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; +import lombok.Data; + +@Data +public class GetPrintTemplateSettingBo extends BaseBo { + + /** + * ID + */ + @ApiModelProperty("ID") + private Integer id; + + /** + * JSON配置 + */ + @ApiModelProperty("JSON配置") + private Map templateJson; + + /** + * 示例数据 + */ + @ApiModelProperty("示例数据") + private Map demoData; + + /** + * 附加组件配置 + */ + @ApiModelProperty("附加组件配置") + private List> compJsonList; + + public GetPrintTemplateSettingBo() { + + } + + public GetPrintTemplateSettingBo(PrintTemplate dto) { + + super(dto); + } + + @Override + public BaseBo convert(PrintTemplate dto) { + return super.convert(dto, GetPrintTemplateSettingBo::getTemplateJson, + GetPrintTemplateSettingBo::getDemoData); + } + + @Override + protected void afterInit(PrintTemplate dto) { + this.templateJson = JsonUtil.parseMap(dto.getTemplateJson(), String.class, Object.class); + + if (!StringUtil.isBlank(dto.getDemoData())) { + this.demoData = JsonUtil.parseMap(dto.getDemoData(), String.class, Object.class); + } + + PrintTemplateCompService printTemplateCompService = ApplicationUtil.getBean( + PrintTemplateCompService.class); + List compJsonList = printTemplateCompService.getCompJsonByTemplateId(dto.getId()); + this.compJsonList = compJsonList.stream() + .map(t -> JsonUtil.parseMap(t, String.class, Object.class)).collect(Collectors.toList()); + } +} diff --git a/xingyun-basedata/src/main/java/com/lframework/xingyun/basedata/bo/print/QueryPrintTemplateBo.java b/xingyun-basedata/src/main/java/com/lframework/xingyun/basedata/bo/print/QueryPrintTemplateBo.java new file mode 100644 index 00000000..e19eaf59 --- /dev/null +++ b/xingyun-basedata/src/main/java/com/lframework/xingyun/basedata/bo/print/QueryPrintTemplateBo.java @@ -0,0 +1,60 @@ +package com.lframework.xingyun.basedata.bo.print; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.lframework.starter.common.constants.StringPool; +import com.lframework.starter.web.bo.BaseBo; +import com.lframework.xingyun.basedata.entity.PrintTemplate; +import io.swagger.annotations.ApiModelProperty; +import java.time.LocalDateTime; +import lombok.Data; + +@Data +public class QueryPrintTemplateBo extends BaseBo { + + /** + * ID + */ + @ApiModelProperty("ID") + private Integer id; + + /** + * 名称 + */ + @ApiModelProperty("名称") + private String name; + + /** + * 创建人 + */ + @ApiModelProperty("创建人") + private String createBy; + + /** + * 创建时间 + */ + @ApiModelProperty("创建时间") + @JsonFormat(pattern = StringPool.DATE_TIME_PATTERN) + private LocalDateTime createTime; + + /** + * 修改人 + */ + @ApiModelProperty("修改人") + private String updateBy; + + /** + * 修改时间 + */ + @ApiModelProperty("修改时间") + @JsonFormat(pattern = StringPool.DATE_TIME_PATTERN) + private LocalDateTime updateTime; + + public QueryPrintTemplateBo() { + + } + + public QueryPrintTemplateBo(PrintTemplate dto) { + + super(dto); + } +} diff --git a/xingyun-basedata/src/main/java/com/lframework/xingyun/basedata/controller/PrintTemplateController.java b/xingyun-basedata/src/main/java/com/lframework/xingyun/basedata/controller/PrintTemplateController.java new file mode 100644 index 00000000..b9a95d08 --- /dev/null +++ b/xingyun-basedata/src/main/java/com/lframework/xingyun/basedata/controller/PrintTemplateController.java @@ -0,0 +1,187 @@ +package com.lframework.xingyun.basedata.controller; + +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.lframework.starter.common.exceptions.impl.DefaultClientException; +import com.lframework.starter.common.utils.CollectionUtil; +import com.lframework.starter.web.annotations.security.HasPermission; +import com.lframework.starter.web.controller.DefaultBaseController; +import com.lframework.starter.web.resp.InvokeResult; +import com.lframework.starter.web.resp.InvokeResultBuilder; +import com.lframework.starter.web.resp.PageResult; +import com.lframework.starter.web.utils.PageResultUtil; +import com.lframework.xingyun.basedata.bo.print.GetPrintTemplateBo; +import com.lframework.xingyun.basedata.bo.print.GetPrintTemplateCompSettingBo; +import com.lframework.xingyun.basedata.bo.print.GetPrintTemplateSettingBo; +import com.lframework.xingyun.basedata.bo.print.QueryPrintTemplateBo; +import com.lframework.xingyun.basedata.entity.PrintTemplate; +import com.lframework.xingyun.basedata.entity.PrintTemplateComp; +import com.lframework.xingyun.basedata.service.print.PrintTemplateCompService; +import com.lframework.xingyun.basedata.service.print.PrintTemplateService; +import com.lframework.xingyun.basedata.vo.print.CreatePrintTemplateVo; +import com.lframework.xingyun.basedata.vo.print.QueryPrintTemplateVo; +import com.lframework.xingyun.basedata.vo.print.UpdatePrintTemplateDemoDataVo; +import com.lframework.xingyun.basedata.vo.print.UpdatePrintTemplateSettingVo; +import com.lframework.xingyun.basedata.vo.print.UpdatePrintTemplateVo; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiOperation; +import java.util.ArrayList; +import java.util.List; +import java.util.stream.Collectors; +import javax.validation.Valid; +import javax.validation.constraints.NotNull; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.PutMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + * 打印模板 + * + * @author zmj + */ +@Api(tags = "打印模板") +@Validated +@RestController +@RequestMapping("/basedata/print/template") +public class PrintTemplateController extends DefaultBaseController { + + @Autowired + private PrintTemplateService printTemplateService; + + @Autowired + private PrintTemplateCompService printTemplateCompService; + + /** + * 查询列表 + */ + @ApiOperation("查询列表") + @HasPermission({"base-data:print-template:query"}) + @GetMapping("/query") + public InvokeResult> query(@Valid QueryPrintTemplateVo vo) { + + PageResult pageResult = printTemplateService.query(getPageIndex(vo), + getPageSize(vo), vo); + + List datas = pageResult.getDatas(); + List results = null; + + if (!CollectionUtil.isEmpty(datas)) { + results = datas.stream().map(QueryPrintTemplateBo::new).collect(Collectors.toList()); + } + + return InvokeResultBuilder.success(PageResultUtil.rebuild(pageResult, results)); + } + + /** + * 根据ID查询 + */ + @ApiOperation("根据ID查询") + @ApiImplicitParam(value = "ID", name = "id", paramType = "query", required = true) + @HasPermission({"base-data:print-template:query"}) + @GetMapping + public InvokeResult get(@NotNull(message = "ID不能为空!") Integer id) { + + PrintTemplate data = printTemplateService.findById(id); + if (data == null) { + throw new DefaultClientException("打印模板不存在!"); + } + + GetPrintTemplateBo result = new GetPrintTemplateBo(data); + + return InvokeResultBuilder.success(result); + } + + /** + * 新增 + */ + @ApiOperation("新增") + @HasPermission({"base-data:print-template:add"}) + @PostMapping + public InvokeResult create(@Valid CreatePrintTemplateVo vo) { + + printTemplateService.create(vo); + + return InvokeResultBuilder.success(); + } + + /** + * 修改 + */ + @ApiOperation("修改") + @HasPermission({"base-data:print-template:modify"}) + @PutMapping + public InvokeResult update(@Valid UpdatePrintTemplateVo vo) { + + printTemplateService.update(vo); + + return InvokeResultBuilder.success(); + } + + /** + * 查询设置 + */ + @ApiOperation("查询设置") + @ApiImplicitParam(value = "ID", name = "id", paramType = "query", required = true) + @GetMapping("/setting") + public InvokeResult getSetting( + @NotNull(message = "ID不能为空!") Integer id) { + + PrintTemplate data = printTemplateService.findById(id); + if (data == null) { + throw new DefaultClientException("打印模板不存在!"); + } + + GetPrintTemplateSettingBo result = new GetPrintTemplateSettingBo(data); + + return InvokeResultBuilder.success(result); + } + + /** + * 保存设置 + */ + @ApiOperation("保存设置") + @HasPermission({"base-data:print-template:modify"}) + @PutMapping("/setting") + public InvokeResult updateSetting(@Valid UpdatePrintTemplateSettingVo vo) { + + printTemplateService.updateSetting(vo); + + return InvokeResultBuilder.success(); + } + + @ApiOperation("设置示例数据") + @HasPermission({"base-data:print-template:modify"}) + @PutMapping("/setting/demo") + public InvokeResult updateDemoData(@Valid UpdatePrintTemplateDemoDataVo vo) { + + printTemplateService.updateDemoData(vo); + + return InvokeResultBuilder.success(); + } + + /** + * 查询组件设置 + */ + @ApiOperation("查询组件设置") + @ApiImplicitParam(value = "ID", name = "id", paramType = "query", required = true) + @HasPermission({"base-data:print-template:modify"}) + @GetMapping("/setting/comp") + public InvokeResult> getCompSetting( + @NotNull(message = "ID不能为空!") Integer id) { + List datas = new ArrayList<>(); + datas.addAll(printTemplateCompService.list(Wrappers.lambdaQuery(PrintTemplateComp.class) + .eq(PrintTemplateComp::getTemplateId, 0))); + datas.addAll(printTemplateCompService.list(Wrappers.lambdaQuery(PrintTemplateComp.class) + .eq(PrintTemplateComp::getTemplateId, id))); + + List results = datas.stream() + .map(GetPrintTemplateCompSettingBo::new).collect( + Collectors.toList()); + + return InvokeResultBuilder.success(results); + } +} diff --git a/xingyun-basedata/src/main/java/com/lframework/xingyun/basedata/entity/PrintTemplate.java b/xingyun-basedata/src/main/java/com/lframework/xingyun/basedata/entity/PrintTemplate.java new file mode 100644 index 00000000..32e85d63 --- /dev/null +++ b/xingyun-basedata/src/main/java/com/lframework/xingyun/basedata/entity/PrintTemplate.java @@ -0,0 +1,84 @@ +package com.lframework.xingyun.basedata.entity; + +import com.baomidou.mybatisplus.annotation.FieldFill; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lframework.starter.web.dto.BaseDto; +import com.lframework.starter.web.entity.BaseEntity; +import java.time.LocalDateTime; +import lombok.Data; + +/** + *

+ * + *

+ * + * @author zmj + * @since 2025-01-28 + */ +@Data +@TableName("tbl_print_template") +public class PrintTemplate extends BaseEntity implements BaseDto { + + public static final String CACHE_NAME = "PrintTemplate"; + private static final long serialVersionUID = 1L; + + /** + * ID + */ + @TableId(type = IdType.AUTO) + private Integer id; + + /** + * 名称 + */ + private String name; + + /** + * JSON配置 + */ + private String templateJson; + + /** + * 示例数据 + */ + private String demoData; + + /** + * 创建人ID 新增时赋值 + */ + @TableField(fill = FieldFill.INSERT) + private String createById; + + /** + * 创建人 新增时赋值 + */ + @TableField(fill = FieldFill.INSERT) + private String createBy; + + /** + * 创建时间 新增时赋值 + */ + @TableField(fill = FieldFill.INSERT) + private LocalDateTime createTime; + + /** + * 修改人 新增和修改时赋值 + */ + @TableField(fill = FieldFill.INSERT_UPDATE) + private String updateBy; + + /** + * 修改人ID 新增和修改时赋值 + */ + @TableField(fill = FieldFill.INSERT_UPDATE) + private String updateById; + + /** + * 修改时间 新增和修改时赋值 + */ + @TableField(fill = FieldFill.INSERT_UPDATE) + private LocalDateTime updateTime; +} diff --git a/xingyun-basedata/src/main/java/com/lframework/xingyun/basedata/entity/PrintTemplateComp.java b/xingyun-basedata/src/main/java/com/lframework/xingyun/basedata/entity/PrintTemplateComp.java new file mode 100644 index 00000000..ef5cf13f --- /dev/null +++ b/xingyun-basedata/src/main/java/com/lframework/xingyun/basedata/entity/PrintTemplateComp.java @@ -0,0 +1,42 @@ +package com.lframework.xingyun.basedata.entity; + +import com.baomidou.mybatisplus.annotation.FieldFill; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.lframework.starter.web.dto.BaseDto; +import com.lframework.starter.web.entity.BaseEntity; +import java.time.LocalDateTime; +import lombok.Data; + +/** + *

+ * + *

+ * + * @author zmj + * @since 2025-01-28 + */ +@Data +@TableName("tbl_print_template_comp") +public class PrintTemplateComp extends BaseEntity implements BaseDto { + + public static final String CACHE_NAME = "PrintTemplateComp"; + private static final long serialVersionUID = 1L; + + /** + * ID + */ + private String id; + + /** + * 模板ID + */ + private Integer templateId; + + /** + * 组件配置 + */ + private String compJson; +} diff --git a/xingyun-basedata/src/main/java/com/lframework/xingyun/basedata/impl/print/PrintTemplateCompServiceImpl.java b/xingyun-basedata/src/main/java/com/lframework/xingyun/basedata/impl/print/PrintTemplateCompServiceImpl.java new file mode 100644 index 00000000..6603896d --- /dev/null +++ b/xingyun-basedata/src/main/java/com/lframework/xingyun/basedata/impl/print/PrintTemplateCompServiceImpl.java @@ -0,0 +1,27 @@ +package com.lframework.xingyun.basedata.impl.print; + +import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.lframework.starter.web.impl.BaseMpServiceImpl; +import com.lframework.xingyun.basedata.entity.PrintTemplateComp; +import com.lframework.xingyun.basedata.mappers.PrintTemplateCompMapper; +import com.lframework.xingyun.basedata.service.print.PrintTemplateCompService; +import java.util.List; +import java.util.stream.Collectors; +import org.springframework.stereotype.Service; + +@Service +public class PrintTemplateCompServiceImpl extends + BaseMpServiceImpl implements + PrintTemplateCompService { + + @Override + public List getCompJsonByTemplateId(Integer templateId) { + + Wrapper queryWrapper = Wrappers.lambdaQuery(PrintTemplateComp.class) + .eq(PrintTemplateComp::getTemplateId, templateId); + List datas = getBaseMpMapper().selectList(queryWrapper); + + return datas.stream().map(PrintTemplateComp::getCompJson).collect(Collectors.toList()); + } +} diff --git a/xingyun-basedata/src/main/java/com/lframework/xingyun/basedata/impl/print/PrintTemplateServiceImpl.java b/xingyun-basedata/src/main/java/com/lframework/xingyun/basedata/impl/print/PrintTemplateServiceImpl.java new file mode 100644 index 00000000..6317a6ad --- /dev/null +++ b/xingyun-basedata/src/main/java/com/lframework/xingyun/basedata/impl/print/PrintTemplateServiceImpl.java @@ -0,0 +1,134 @@ +package com.lframework.xingyun.basedata.impl.print; + +import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.github.pagehelper.PageInfo; +import com.lframework.starter.common.exceptions.impl.DefaultClientException; +import com.lframework.starter.common.utils.Assert; +import com.lframework.starter.web.impl.BaseMpServiceImpl; +import com.lframework.starter.web.resp.PageResult; +import com.lframework.starter.web.utils.PageHelperUtil; +import com.lframework.starter.web.utils.PageResultUtil; +import com.lframework.xingyun.basedata.entity.PrintTemplate; +import com.lframework.xingyun.basedata.enums.BaseDataOpLogType; +import com.lframework.xingyun.basedata.mappers.PrintTemplateMapper; +import com.lframework.xingyun.basedata.service.print.PrintTemplateService; +import com.lframework.xingyun.basedata.vo.print.CreatePrintTemplateVo; +import com.lframework.xingyun.basedata.vo.print.QueryPrintTemplateVo; +import com.lframework.xingyun.basedata.vo.print.UpdatePrintTemplateDemoDataVo; +import com.lframework.xingyun.basedata.vo.print.UpdatePrintTemplateSettingVo; +import com.lframework.xingyun.basedata.vo.print.UpdatePrintTemplateVo; +import com.lframework.xingyun.core.annotations.OpLog; +import java.io.Serializable; +import java.util.List; +import org.springframework.cache.annotation.CacheEvict; +import org.springframework.cache.annotation.Cacheable; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +@Service +public class PrintTemplateServiceImpl extends + BaseMpServiceImpl implements + PrintTemplateService { + + @Override + public PageResult query(Integer pageIndex, Integer pageSize, + QueryPrintTemplateVo vo) { + Assert.greaterThanZero(pageIndex); + Assert.greaterThanZero(pageSize); + + PageHelperUtil.startPage(pageIndex, pageSize); + List datas = this.query(vo); + + return PageResultUtil.convert(new PageInfo<>(datas)); + } + + @Override + public List query(QueryPrintTemplateVo vo) { + return getBaseMapper().query(vo); + } + + @Override + public PrintTemplate findById(Integer id) { + return getById(id); + } + + @OpLog(type = BaseDataOpLogType.BASE_DATA, name = "新增打印模板,名称:{}", params = {"#vo.name"}) + @Transactional(rollbackFor = Exception.class) + @Override + public Integer create(CreatePrintTemplateVo vo) { + Wrapper checkNameWrapper = Wrappers.lambdaQuery(PrintTemplate.class) + .eq(PrintTemplate::getName, vo.getName()); + if (getBaseMapper().selectCount(checkNameWrapper) > 0) { + throw new DefaultClientException("名称重复,请重新输入!"); + } + + PrintTemplate data = new PrintTemplate(); + data.setName(vo.getName()); + + getBaseMapper().insert(data); + + return data.getId(); + } + + @OpLog(type = BaseDataOpLogType.BASE_DATA, name = "修改打印模板,ID:{},名称:{}", params = { + "#vo.id", "#vo.name"}) + @Transactional(rollbackFor = Exception.class) + @Override + public void update(UpdatePrintTemplateVo vo) { + Wrapper checkNameWrapper = Wrappers.lambdaQuery(PrintTemplate.class) + .eq(PrintTemplate::getName, vo.getName()).ne(PrintTemplate::getId, vo.getId()); + if (getBaseMapper().selectCount(checkNameWrapper) > 0) { + throw new DefaultClientException("名称重复,请重新输入!"); + } + + PrintTemplate data = getById(vo.getId()); + if (data == null) { + throw new DefaultClientException("打印模板不存在!"); + } + + Wrapper updateWrapper = Wrappers.lambdaUpdate(PrintTemplate.class) + .eq(PrintTemplate::getId, vo.getId()).set(PrintTemplate::getName, vo.getName()); + + getBaseMapper().update(updateWrapper); + } + + @OpLog(type = BaseDataOpLogType.BASE_DATA, name = "修改打印模板设置,ID:{}", params = { + "#vo.id"}, autoSaveParams = true) + @Transactional(rollbackFor = Exception.class) + @Override + public void updateSetting(UpdatePrintTemplateSettingVo vo) { + PrintTemplate data = getById(vo.getId()); + if (data == null) { + throw new DefaultClientException("打印模板不存在!"); + } + + Wrapper updateWrapper = Wrappers.lambdaUpdate(PrintTemplate.class) + .eq(PrintTemplate::getId, vo.getId()) + .set(PrintTemplate::getTemplateJson, vo.getTemplateJson()); + + getBaseMapper().update(updateWrapper); + } + + @OpLog(type = BaseDataOpLogType.BASE_DATA, name = "修改打印模板示例数据,ID:{}", params = { + "#vo.id"}, autoSaveParams = true) + @Transactional(rollbackFor = Exception.class) + @Override + public void updateDemoData(UpdatePrintTemplateDemoDataVo vo) { + PrintTemplate data = getById(vo.getId()); + if (data == null) { + throw new DefaultClientException("打印模板不存在!"); + } + + Wrapper updateWrapper = Wrappers.lambdaUpdate(PrintTemplate.class) + .eq(PrintTemplate::getId, vo.getId()) + .set(PrintTemplate::getDemoData, vo.getDemoData()); + + getBaseMapper().update(updateWrapper); + } + + @Override + public void cleanCacheByKey(Serializable key) { + + } +} diff --git a/xingyun-basedata/src/main/java/com/lframework/xingyun/basedata/mappers/PrintTemplateCompMapper.java b/xingyun-basedata/src/main/java/com/lframework/xingyun/basedata/mappers/PrintTemplateCompMapper.java new file mode 100644 index 00000000..daae2703 --- /dev/null +++ b/xingyun-basedata/src/main/java/com/lframework/xingyun/basedata/mappers/PrintTemplateCompMapper.java @@ -0,0 +1,16 @@ +package com.lframework.xingyun.basedata.mappers; + +import com.lframework.starter.web.mapper.BaseMapper; +import com.lframework.xingyun.basedata.entity.PrintTemplateComp; + +/** + *

+ * 打印模板组件 Mapper 接口 + *

+ * + * @author zmj + * @since 2025-01-28 + */ +public interface PrintTemplateCompMapper extends BaseMapper { + +} diff --git a/xingyun-basedata/src/main/java/com/lframework/xingyun/basedata/mappers/PrintTemplateMapper.java b/xingyun-basedata/src/main/java/com/lframework/xingyun/basedata/mappers/PrintTemplateMapper.java new file mode 100644 index 00000000..166dd83c --- /dev/null +++ b/xingyun-basedata/src/main/java/com/lframework/xingyun/basedata/mappers/PrintTemplateMapper.java @@ -0,0 +1,31 @@ +package com.lframework.xingyun.basedata.mappers; + +import com.lframework.starter.web.mapper.BaseMapper; +import com.lframework.xingyun.basedata.entity.PrintTemplate; +import com.lframework.xingyun.basedata.vo.print.QueryPrintTemplateVo; +import com.lframework.xingyun.core.annotations.sort.Sort; +import com.lframework.xingyun.core.annotations.sort.Sorts; +import java.util.List; +import org.apache.ibatis.annotations.Param; + +/** + *

+ * 打印模板 Mapper 接口 + *

+ * + * @author zmj + * @since 2025-01-28 + */ +public interface PrintTemplateMapper extends BaseMapper { + + /** + * 查询列表 + * + * @param vo + * @return + */ + @Sorts({ + @Sort(value = "name", alias = "tb", autoParse = true), + }) + List query(@Param("vo") QueryPrintTemplateVo vo); +} diff --git a/xingyun-basedata/src/main/java/com/lframework/xingyun/basedata/service/print/PrintTemplateCompService.java b/xingyun-basedata/src/main/java/com/lframework/xingyun/basedata/service/print/PrintTemplateCompService.java new file mode 100644 index 00000000..8e31f91c --- /dev/null +++ b/xingyun-basedata/src/main/java/com/lframework/xingyun/basedata/service/print/PrintTemplateCompService.java @@ -0,0 +1,11 @@ +package com.lframework.xingyun.basedata.service.print; + +import com.lframework.starter.web.service.BaseMpService; +import com.lframework.xingyun.basedata.entity.PrintTemplateComp; + +import java.util.List; + +public interface PrintTemplateCompService extends BaseMpService { + + List getCompJsonByTemplateId(Integer templateId); +} diff --git a/xingyun-basedata/src/main/java/com/lframework/xingyun/basedata/service/print/PrintTemplateService.java b/xingyun-basedata/src/main/java/com/lframework/xingyun/basedata/service/print/PrintTemplateService.java new file mode 100644 index 00000000..df23dd63 --- /dev/null +++ b/xingyun-basedata/src/main/java/com/lframework/xingyun/basedata/service/print/PrintTemplateService.java @@ -0,0 +1,66 @@ +package com.lframework.xingyun.basedata.service.print; + +import com.lframework.starter.web.resp.PageResult; +import com.lframework.starter.web.service.BaseMpService; +import com.lframework.xingyun.basedata.entity.PrintTemplate; +import com.lframework.xingyun.basedata.vo.print.CreatePrintTemplateVo; +import com.lframework.xingyun.basedata.vo.print.QueryPrintTemplateVo; +import com.lframework.xingyun.basedata.vo.print.UpdatePrintTemplateDemoDataVo; +import com.lframework.xingyun.basedata.vo.print.UpdatePrintTemplateSettingVo; +import com.lframework.xingyun.basedata.vo.print.UpdatePrintTemplateVo; +import java.util.List; + +public interface PrintTemplateService extends BaseMpService { + + /** + * 查询列表 + * + * @return + */ + PageResult query(Integer pageIndex, Integer pageSize, QueryPrintTemplateVo vo); + + /** + * 查询列表 + * + * @param vo + * @return + */ + List query(QueryPrintTemplateVo vo); + + /** + * 根据ID查询 + * + * @param id + * @return + */ + PrintTemplate findById(Integer id); + + /** + * 创建 + * + * @param vo + * @return + */ + Integer create(CreatePrintTemplateVo vo); + + /** + * 修改 + * + * @param vo + */ + void update(UpdatePrintTemplateVo vo); + + /** + * 保存设置 + * + * @param vo + */ + void updateSetting(UpdatePrintTemplateSettingVo vo); + + /** + * 保存示例数据 + * + * @param vo + */ + void updateDemoData(UpdatePrintTemplateDemoDataVo vo); +} diff --git a/xingyun-basedata/src/main/java/com/lframework/xingyun/basedata/vo/print/CreatePrintTemplateVo.java b/xingyun-basedata/src/main/java/com/lframework/xingyun/basedata/vo/print/CreatePrintTemplateVo.java new file mode 100644 index 00000000..6421489d --- /dev/null +++ b/xingyun-basedata/src/main/java/com/lframework/xingyun/basedata/vo/print/CreatePrintTemplateVo.java @@ -0,0 +1,20 @@ +package com.lframework.xingyun.basedata.vo.print; + +import com.lframework.starter.web.vo.BaseVo; +import io.swagger.annotations.ApiModelProperty; +import java.io.Serializable; +import javax.validation.constraints.NotBlank; +import lombok.Data; + +@Data +public class CreatePrintTemplateVo implements BaseVo, Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 名称 + */ + @ApiModelProperty(value = "名称", required = true) + @NotBlank(message = "请输入名称!") + private String name; +} diff --git a/xingyun-basedata/src/main/java/com/lframework/xingyun/basedata/vo/print/QueryPrintTemplateVo.java b/xingyun-basedata/src/main/java/com/lframework/xingyun/basedata/vo/print/QueryPrintTemplateVo.java new file mode 100644 index 00000000..17aa3368 --- /dev/null +++ b/xingyun-basedata/src/main/java/com/lframework/xingyun/basedata/vo/print/QueryPrintTemplateVo.java @@ -0,0 +1,19 @@ +package com.lframework.xingyun.basedata.vo.print; + +import com.lframework.starter.web.vo.BaseVo; +import com.lframework.starter.web.vo.SortPageVo; +import io.swagger.annotations.ApiModelProperty; +import java.io.Serializable; +import lombok.Data; + +@Data +public class QueryPrintTemplateVo extends SortPageVo implements BaseVo, Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 名称 + */ + @ApiModelProperty("名称") + private String name; +} diff --git a/xingyun-basedata/src/main/java/com/lframework/xingyun/basedata/vo/print/UpdatePrintTemplateDemoDataVo.java b/xingyun-basedata/src/main/java/com/lframework/xingyun/basedata/vo/print/UpdatePrintTemplateDemoDataVo.java new file mode 100644 index 00000000..b3335246 --- /dev/null +++ b/xingyun-basedata/src/main/java/com/lframework/xingyun/basedata/vo/print/UpdatePrintTemplateDemoDataVo.java @@ -0,0 +1,28 @@ +package com.lframework.xingyun.basedata.vo.print; + +import com.lframework.starter.web.vo.BaseVo; +import io.swagger.annotations.ApiModelProperty; +import java.io.Serializable; +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; +import lombok.Data; + +@Data +public class UpdatePrintTemplateDemoDataVo implements BaseVo, Serializable { + + private static final long serialVersionUID = 1L; + + /** + * ID + */ + @ApiModelProperty(value = "ID", required = true) + @NotNull(message = "ID不能为空!") + private Integer id; + + /** + * 示例数据 + */ + @ApiModelProperty(value = "示例数据", required = true) + @NotBlank(message = "示例数据不能为空!") + private String demoData; +} diff --git a/xingyun-basedata/src/main/java/com/lframework/xingyun/basedata/vo/print/UpdatePrintTemplateSettingVo.java b/xingyun-basedata/src/main/java/com/lframework/xingyun/basedata/vo/print/UpdatePrintTemplateSettingVo.java new file mode 100644 index 00000000..6afa6936 --- /dev/null +++ b/xingyun-basedata/src/main/java/com/lframework/xingyun/basedata/vo/print/UpdatePrintTemplateSettingVo.java @@ -0,0 +1,28 @@ +package com.lframework.xingyun.basedata.vo.print; + +import com.lframework.starter.web.vo.BaseVo; +import io.swagger.annotations.ApiModelProperty; +import java.io.Serializable; +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; +import lombok.Data; + +@Data +public class UpdatePrintTemplateSettingVo implements BaseVo, Serializable { + + private static final long serialVersionUID = 1L; + + /** + * ID + */ + @ApiModelProperty(value = "ID", required = true) + @NotNull(message = "ID不能为空!") + private Integer id; + + /** + * 模板配置 + */ + @ApiModelProperty(value = "模板配置", required = true) + @NotBlank(message = "模板配置不能为空!") + private String templateJson; +} diff --git a/xingyun-basedata/src/main/java/com/lframework/xingyun/basedata/vo/print/UpdatePrintTemplateVo.java b/xingyun-basedata/src/main/java/com/lframework/xingyun/basedata/vo/print/UpdatePrintTemplateVo.java new file mode 100644 index 00000000..eb9f608f --- /dev/null +++ b/xingyun-basedata/src/main/java/com/lframework/xingyun/basedata/vo/print/UpdatePrintTemplateVo.java @@ -0,0 +1,28 @@ +package com.lframework.xingyun.basedata.vo.print; + +import com.lframework.starter.web.vo.BaseVo; +import io.swagger.annotations.ApiModelProperty; +import java.io.Serializable; +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; +import lombok.Data; + +@Data +public class UpdatePrintTemplateVo implements BaseVo, Serializable { + + private static final long serialVersionUID = 1L; + + /** + * ID + */ + @ApiModelProperty(value = "ID", required = true) + @NotNull(message = "ID不能为空!") + private Integer id; + + /** + * 名称 + */ + @ApiModelProperty(value = "名称", required = true) + @NotBlank(message = "请输入名称!") + private String name; +} diff --git a/xingyun-basedata/src/main/resources/mappers/print/PrintTemplateMapper.xml b/xingyun-basedata/src/main/resources/mappers/print/PrintTemplateMapper.xml new file mode 100644 index 00000000..5837fc44 --- /dev/null +++ b/xingyun-basedata/src/main/resources/mappers/print/PrintTemplateMapper.xml @@ -0,0 +1,21 @@ + + + + + + SELECT + tb.* + FROM tbl_print_template AS tb + + + diff --git a/xingyun-export/src/main/java/com/lframework/xingyun/export/listeners/mq/ExportTaskListener.java b/xingyun-export/src/main/java/com/lframework/xingyun/export/listeners/mq/ExportTaskListener.java index dad03f2f..0bdd78d0 100644 --- a/xingyun-export/src/main/java/com/lframework/xingyun/export/listeners/mq/ExportTaskListener.java +++ b/xingyun-export/src/main/java/com/lframework/xingyun/export/listeners/mq/ExportTaskListener.java @@ -106,7 +106,7 @@ public class ExportTaskListener { .in(ExportTask::getStatus, ExportTaskStatus.CREATED, ExportTaskStatus.EXPORTING) .ne(ExportTask::getId, task.getId()); if (exportTaskService.count(checkWrapper) > 0) { - throw new DefaultClientException("导出任务重复,请勿重新导出。"); + throw new DefaultClientException("导出任务重复,请勿重复导出。"); } ExportTaskHandler exportTaskHandler = new ExportTaskHandler(task.getId(), diff --git a/xingyun-sc/src/main/java/com/lframework/xingyun/sc/bo/purchase/PrintPurchaseOrderBo.java b/xingyun-sc/src/main/java/com/lframework/xingyun/sc/bo/purchase/PrintPurchaseOrderBo.java index 3defc5a6..7486e57f 100644 --- a/xingyun-sc/src/main/java/com/lframework/xingyun/sc/bo/purchase/PrintPurchaseOrderBo.java +++ b/xingyun-sc/src/main/java/com/lframework/xingyun/sc/bo/purchase/PrintPurchaseOrderBo.java @@ -6,7 +6,6 @@ import com.lframework.starter.common.utils.DateUtil; import com.lframework.starter.common.utils.NumberUtil; import com.lframework.starter.common.utils.StringUtil; import com.lframework.starter.web.bo.BaseBo; -import com.lframework.starter.web.bo.BasePrintDataBo; import com.lframework.starter.web.utils.ApplicationUtil; import com.lframework.xingyun.basedata.entity.StoreCenter; import com.lframework.xingyun.basedata.entity.Supplier; @@ -24,7 +23,7 @@ import java.util.stream.Collectors; import lombok.Data; @Data -public class PrintPurchaseOrderBo extends BasePrintDataBo { +public class PrintPurchaseOrderBo extends BaseBo { /** * 单号 diff --git a/xingyun-sc/src/main/java/com/lframework/xingyun/sc/bo/purchase/receive/PrintReceiveSheetBo.java b/xingyun-sc/src/main/java/com/lframework/xingyun/sc/bo/purchase/receive/PrintReceiveSheetBo.java index 0b0782a2..10561996 100644 --- a/xingyun-sc/src/main/java/com/lframework/xingyun/sc/bo/purchase/receive/PrintReceiveSheetBo.java +++ b/xingyun-sc/src/main/java/com/lframework/xingyun/sc/bo/purchase/receive/PrintReceiveSheetBo.java @@ -6,7 +6,6 @@ import com.lframework.starter.common.utils.DateUtil; import com.lframework.starter.common.utils.NumberUtil; import com.lframework.starter.common.utils.StringUtil; import com.lframework.starter.web.bo.BaseBo; -import com.lframework.starter.web.bo.BasePrintDataBo; import com.lframework.starter.web.utils.ApplicationUtil; import com.lframework.xingyun.basedata.entity.StoreCenter; import com.lframework.xingyun.basedata.entity.Supplier; @@ -25,7 +24,7 @@ import java.util.stream.Collectors; import lombok.Data; @Data -public class PrintReceiveSheetBo extends BasePrintDataBo { +public class PrintReceiveSheetBo extends BaseBo { /** * 单号 diff --git a/xingyun-sc/src/main/java/com/lframework/xingyun/sc/bo/purchase/returned/PrintPurchaseReturnBo.java b/xingyun-sc/src/main/java/com/lframework/xingyun/sc/bo/purchase/returned/PrintPurchaseReturnBo.java index 0e26a618..c645c96e 100644 --- a/xingyun-sc/src/main/java/com/lframework/xingyun/sc/bo/purchase/returned/PrintPurchaseReturnBo.java +++ b/xingyun-sc/src/main/java/com/lframework/xingyun/sc/bo/purchase/returned/PrintPurchaseReturnBo.java @@ -6,7 +6,6 @@ import com.lframework.starter.common.utils.DateUtil; import com.lframework.starter.common.utils.NumberUtil; import com.lframework.starter.common.utils.StringUtil; import com.lframework.starter.web.bo.BaseBo; -import com.lframework.starter.web.bo.BasePrintDataBo; import com.lframework.starter.web.utils.ApplicationUtil; import com.lframework.xingyun.basedata.entity.StoreCenter; import com.lframework.xingyun.basedata.entity.Supplier; @@ -26,7 +25,7 @@ import java.util.stream.Collectors; import lombok.Data; @Data -public class PrintPurchaseReturnBo extends BasePrintDataBo { +public class PrintPurchaseReturnBo extends BaseBo { /** * 单号 diff --git a/xingyun-sc/src/main/java/com/lframework/xingyun/sc/bo/retail/out/PrintRetailOutSheetBo.java b/xingyun-sc/src/main/java/com/lframework/xingyun/sc/bo/retail/out/PrintRetailOutSheetBo.java index e409b9fa..7865069c 100644 --- a/xingyun-sc/src/main/java/com/lframework/xingyun/sc/bo/retail/out/PrintRetailOutSheetBo.java +++ b/xingyun-sc/src/main/java/com/lframework/xingyun/sc/bo/retail/out/PrintRetailOutSheetBo.java @@ -6,7 +6,6 @@ import com.lframework.starter.common.utils.DateUtil; import com.lframework.starter.common.utils.NumberUtil; import com.lframework.starter.common.utils.StringUtil; import com.lframework.starter.web.bo.BaseBo; -import com.lframework.starter.web.bo.BasePrintDataBo; import com.lframework.starter.web.utils.ApplicationUtil; import com.lframework.xingyun.basedata.entity.Member; import com.lframework.xingyun.basedata.entity.StoreCenter; @@ -24,7 +23,7 @@ import java.util.stream.Collectors; import lombok.Data; @Data -public class PrintRetailOutSheetBo extends BasePrintDataBo { +public class PrintRetailOutSheetBo extends BaseBo { /** * 单号 diff --git a/xingyun-sc/src/main/java/com/lframework/xingyun/sc/bo/retail/returned/PrintRetailReturnBo.java b/xingyun-sc/src/main/java/com/lframework/xingyun/sc/bo/retail/returned/PrintRetailReturnBo.java index 89418493..6b2c490e 100644 --- a/xingyun-sc/src/main/java/com/lframework/xingyun/sc/bo/retail/returned/PrintRetailReturnBo.java +++ b/xingyun-sc/src/main/java/com/lframework/xingyun/sc/bo/retail/returned/PrintRetailReturnBo.java @@ -6,7 +6,6 @@ import com.lframework.starter.common.utils.DateUtil; import com.lframework.starter.common.utils.NumberUtil; import com.lframework.starter.common.utils.StringUtil; import com.lframework.starter.web.bo.BaseBo; -import com.lframework.starter.web.bo.BasePrintDataBo; import com.lframework.starter.web.utils.ApplicationUtil; import com.lframework.xingyun.basedata.entity.Member; import com.lframework.xingyun.basedata.entity.StoreCenter; @@ -25,7 +24,7 @@ import java.util.stream.Collectors; import lombok.Data; @Data -public class PrintRetailReturnBo extends BasePrintDataBo { +public class PrintRetailReturnBo extends BaseBo { /** * 单号 diff --git a/xingyun-sc/src/main/java/com/lframework/xingyun/sc/bo/sale/PrintSaleOrderBo.java b/xingyun-sc/src/main/java/com/lframework/xingyun/sc/bo/sale/PrintSaleOrderBo.java index c68842ef..aea7c275 100644 --- a/xingyun-sc/src/main/java/com/lframework/xingyun/sc/bo/sale/PrintSaleOrderBo.java +++ b/xingyun-sc/src/main/java/com/lframework/xingyun/sc/bo/sale/PrintSaleOrderBo.java @@ -6,7 +6,6 @@ import com.lframework.starter.common.utils.DateUtil; import com.lframework.starter.common.utils.NumberUtil; import com.lframework.starter.common.utils.StringUtil; import com.lframework.starter.web.bo.BaseBo; -import com.lframework.starter.web.bo.BasePrintDataBo; import com.lframework.starter.web.utils.ApplicationUtil; import com.lframework.xingyun.basedata.entity.Customer; import com.lframework.xingyun.basedata.entity.StoreCenter; @@ -24,7 +23,7 @@ import java.util.stream.Collectors; import lombok.Data; @Data -public class PrintSaleOrderBo extends BasePrintDataBo { +public class PrintSaleOrderBo extends BaseBo { /** * 单号 diff --git a/xingyun-sc/src/main/java/com/lframework/xingyun/sc/bo/sale/out/PrintSaleOutSheetBo.java b/xingyun-sc/src/main/java/com/lframework/xingyun/sc/bo/sale/out/PrintSaleOutSheetBo.java index 206d1e5b..913b649a 100644 --- a/xingyun-sc/src/main/java/com/lframework/xingyun/sc/bo/sale/out/PrintSaleOutSheetBo.java +++ b/xingyun-sc/src/main/java/com/lframework/xingyun/sc/bo/sale/out/PrintSaleOutSheetBo.java @@ -6,7 +6,6 @@ import com.lframework.starter.common.utils.DateUtil; import com.lframework.starter.common.utils.NumberUtil; import com.lframework.starter.common.utils.StringUtil; import com.lframework.starter.web.bo.BaseBo; -import com.lframework.starter.web.bo.BasePrintDataBo; import com.lframework.starter.web.utils.ApplicationUtil; import com.lframework.xingyun.basedata.entity.Customer; import com.lframework.xingyun.basedata.entity.StoreCenter; @@ -25,7 +24,7 @@ import java.util.stream.Collectors; import lombok.Data; @Data -public class PrintSaleOutSheetBo extends BasePrintDataBo { +public class PrintSaleOutSheetBo extends BaseBo { /** * 单号 diff --git a/xingyun-sc/src/main/java/com/lframework/xingyun/sc/bo/sale/returned/PrintSaleReturnBo.java b/xingyun-sc/src/main/java/com/lframework/xingyun/sc/bo/sale/returned/PrintSaleReturnBo.java index dd2de75d..fd1f714d 100644 --- a/xingyun-sc/src/main/java/com/lframework/xingyun/sc/bo/sale/returned/PrintSaleReturnBo.java +++ b/xingyun-sc/src/main/java/com/lframework/xingyun/sc/bo/sale/returned/PrintSaleReturnBo.java @@ -6,7 +6,6 @@ import com.lframework.starter.common.utils.DateUtil; import com.lframework.starter.common.utils.NumberUtil; import com.lframework.starter.common.utils.StringUtil; import com.lframework.starter.web.bo.BaseBo; -import com.lframework.starter.web.bo.BasePrintDataBo; import com.lframework.starter.web.utils.ApplicationUtil; import com.lframework.xingyun.basedata.entity.Customer; import com.lframework.xingyun.basedata.entity.StoreCenter; @@ -26,7 +25,7 @@ import java.util.stream.Collectors; import lombok.Data; @Data -public class PrintSaleReturnBo extends BasePrintDataBo { +public class PrintSaleReturnBo extends BaseBo { /** * 单号 diff --git a/xingyun-sc/src/main/java/com/lframework/xingyun/sc/controller/purchase/PurchaseOrderController.java b/xingyun-sc/src/main/java/com/lframework/xingyun/sc/controller/purchase/PurchaseOrderController.java index 7e6b1684..54469af3 100644 --- a/xingyun-sc/src/main/java/com/lframework/xingyun/sc/controller/purchase/PurchaseOrderController.java +++ b/xingyun-sc/src/main/java/com/lframework/xingyun/sc/controller/purchase/PurchaseOrderController.java @@ -10,7 +10,6 @@ import com.lframework.starter.web.resp.InvokeResultBuilder; import com.lframework.starter.web.resp.PageResult; import com.lframework.starter.web.utils.ExcelUtil; import com.lframework.starter.web.utils.PageResultUtil; -import com.lframework.xingyun.core.bo.print.A4ExcelPortraitPrintBo; import com.lframework.xingyun.core.utils.ExportTaskUtil; import com.lframework.xingyun.sc.bo.purchase.GetPurchaseOrderBo; import com.lframework.xingyun.sc.bo.purchase.PrintPurchaseOrderBo; @@ -77,7 +76,7 @@ public class PurchaseOrderController extends DefaultBaseController { @ApiImplicitParam(value = "ID", name = "id", paramType = "query", required = true) @HasPermission({"purchase:order:query"}) @GetMapping("/print") - public InvokeResult> print( + public InvokeResult print( @NotBlank(message = "订单ID不能为空!") String id) { PurchaseOrderFullDto data = purchaseOrderService.getDetail(id); @@ -87,10 +86,7 @@ public class PurchaseOrderController extends DefaultBaseController { PrintPurchaseOrderBo result = new PrintPurchaseOrderBo(data); - A4ExcelPortraitPrintBo printResult = new A4ExcelPortraitPrintBo<>( - "print/purchase-order.ftl", result); - - return InvokeResultBuilder.success(printResult); + return InvokeResultBuilder.success(result); } /** diff --git a/xingyun-sc/src/main/java/com/lframework/xingyun/sc/controller/purchase/PurchaseReturnController.java b/xingyun-sc/src/main/java/com/lframework/xingyun/sc/controller/purchase/PurchaseReturnController.java index 941f4ab9..4e5f9d57 100644 --- a/xingyun-sc/src/main/java/com/lframework/xingyun/sc/controller/purchase/PurchaseReturnController.java +++ b/xingyun-sc/src/main/java/com/lframework/xingyun/sc/controller/purchase/PurchaseReturnController.java @@ -7,7 +7,6 @@ import com.lframework.starter.web.resp.InvokeResult; import com.lframework.starter.web.resp.InvokeResultBuilder; import com.lframework.starter.web.resp.PageResult; import com.lframework.starter.web.utils.PageResultUtil; -import com.lframework.xingyun.core.bo.print.A4ExcelPortraitPrintBo; import com.lframework.xingyun.core.utils.ExportTaskUtil; import com.lframework.xingyun.sc.bo.purchase.returned.GetPurchaseReturnBo; import com.lframework.xingyun.sc.bo.purchase.returned.PrintPurchaseReturnBo; @@ -60,16 +59,14 @@ public class PurchaseReturnController extends DefaultBaseController { @ApiImplicitParam(value = "ID", name = "id", paramType = "query", required = true) @HasPermission({"purchase:return:query"}) @GetMapping("/print") - public InvokeResult> print( + public InvokeResult print( @NotBlank(message = "退单ID不能为空!") String id) { PurchaseReturnFullDto data = purchaseReturnService.getDetail(id); PrintPurchaseReturnBo result = new PrintPurchaseReturnBo(data); - A4ExcelPortraitPrintBo printResult = new A4ExcelPortraitPrintBo<>( - "print/purchase-return.ftl", result); - return InvokeResultBuilder.success(printResult); + return InvokeResultBuilder.success(result); } /** diff --git a/xingyun-sc/src/main/java/com/lframework/xingyun/sc/controller/purchase/ReceiveSheetController.java b/xingyun-sc/src/main/java/com/lframework/xingyun/sc/controller/purchase/ReceiveSheetController.java index d10fa631..fff384b7 100644 --- a/xingyun-sc/src/main/java/com/lframework/xingyun/sc/controller/purchase/ReceiveSheetController.java +++ b/xingyun-sc/src/main/java/com/lframework/xingyun/sc/controller/purchase/ReceiveSheetController.java @@ -9,7 +9,6 @@ import com.lframework.starter.web.resp.InvokeResultBuilder; import com.lframework.starter.web.resp.PageResult; import com.lframework.starter.web.utils.ExcelUtil; import com.lframework.starter.web.utils.PageResultUtil; -import com.lframework.xingyun.core.bo.print.A4ExcelPortraitPrintBo; import com.lframework.xingyun.core.utils.ExportTaskUtil; import com.lframework.xingyun.sc.bo.purchase.receive.GetPaymentDateBo; import com.lframework.xingyun.sc.bo.purchase.receive.GetReceiveSheetBo; @@ -79,17 +78,14 @@ public class ReceiveSheetController extends DefaultBaseController { @ApiImplicitParam(value = "ID", name = "id", paramType = "query", required = true) @HasPermission({"purchase:receive:query"}) @GetMapping("/print") - public InvokeResult> print( + public InvokeResult print( @NotBlank(message = "订单ID不能为空!") String id) { ReceiveSheetFullDto data = receiveSheetService.getDetail(id); PrintReceiveSheetBo result = new PrintReceiveSheetBo(data); - A4ExcelPortraitPrintBo printResult = new A4ExcelPortraitPrintBo( - "print/receive-sheet.ftl", result); - - return InvokeResultBuilder.success(printResult); + return InvokeResultBuilder.success(result); } /** diff --git a/xingyun-sc/src/main/java/com/lframework/xingyun/sc/controller/retail/RetailOutSheetController.java b/xingyun-sc/src/main/java/com/lframework/xingyun/sc/controller/retail/RetailOutSheetController.java index 0f151eb3..98715770 100644 --- a/xingyun-sc/src/main/java/com/lframework/xingyun/sc/controller/retail/RetailOutSheetController.java +++ b/xingyun-sc/src/main/java/com/lframework/xingyun/sc/controller/retail/RetailOutSheetController.java @@ -9,7 +9,6 @@ import com.lframework.starter.web.resp.InvokeResult; import com.lframework.starter.web.resp.InvokeResultBuilder; import com.lframework.starter.web.resp.PageResult; import com.lframework.starter.web.utils.PageResultUtil; -import com.lframework.xingyun.core.bo.print.A4ExcelPortraitPrintBo; import com.lframework.xingyun.core.utils.ExportTaskUtil; import com.lframework.xingyun.sc.bo.purchase.receive.GetPaymentDateBo; import com.lframework.xingyun.sc.bo.retail.RetailProductBo; @@ -72,7 +71,7 @@ public class RetailOutSheetController extends DefaultBaseController { @ApiImplicitParam(value = "ID", name = "id", paramType = "query", required = true) @HasPermission({"retail:out:query"}) @GetMapping("/print") - public InvokeResult> print( + public InvokeResult print( @NotBlank(message = "订单ID不能为空!") String id) { RetailOutSheetFullDto data = retailOutSheetService.getDetail(id); @@ -81,10 +80,8 @@ public class RetailOutSheetController extends DefaultBaseController { } PrintRetailOutSheetBo result = new PrintRetailOutSheetBo(data); - A4ExcelPortraitPrintBo printResult = new A4ExcelPortraitPrintBo<>( - "print/retail-out-sheet.ftl", result); - return InvokeResultBuilder.success(printResult); + return InvokeResultBuilder.success(result); } /** diff --git a/xingyun-sc/src/main/java/com/lframework/xingyun/sc/controller/retail/RetailReturnController.java b/xingyun-sc/src/main/java/com/lframework/xingyun/sc/controller/retail/RetailReturnController.java index ddd6d01e..24f54771 100644 --- a/xingyun-sc/src/main/java/com/lframework/xingyun/sc/controller/retail/RetailReturnController.java +++ b/xingyun-sc/src/main/java/com/lframework/xingyun/sc/controller/retail/RetailReturnController.java @@ -8,7 +8,6 @@ import com.lframework.starter.web.resp.InvokeResult; import com.lframework.starter.web.resp.InvokeResultBuilder; import com.lframework.starter.web.resp.PageResult; import com.lframework.starter.web.utils.PageResultUtil; -import com.lframework.xingyun.core.bo.print.A4ExcelPortraitPrintBo; import com.lframework.xingyun.core.utils.ExportTaskUtil; import com.lframework.xingyun.sc.bo.retail.returned.GetRetailReturnBo; import com.lframework.xingyun.sc.bo.retail.returned.PrintRetailReturnBo; @@ -61,7 +60,7 @@ public class RetailReturnController extends DefaultBaseController { @ApiImplicitParam(value = "ID", name = "id", paramType = "query", required = true) @HasPermission({"retail:return:query"}) @GetMapping("/print") - public InvokeResult> print( + public InvokeResult print( @NotBlank(message = "退单ID不能为空!") String id) { RetailReturnFullDto data = retailReturnService.getDetail(id); @@ -71,10 +70,7 @@ public class RetailReturnController extends DefaultBaseController { PrintRetailReturnBo result = new PrintRetailReturnBo(data); - A4ExcelPortraitPrintBo printResult = new A4ExcelPortraitPrintBo<>( - "print/retail-return.ftl", result); - - return InvokeResultBuilder.success(printResult); + return InvokeResultBuilder.success(result); } /** diff --git a/xingyun-sc/src/main/java/com/lframework/xingyun/sc/controller/sale/SaleOrderController.java b/xingyun-sc/src/main/java/com/lframework/xingyun/sc/controller/sale/SaleOrderController.java index d8c7c190..d4036b35 100644 --- a/xingyun-sc/src/main/java/com/lframework/xingyun/sc/controller/sale/SaleOrderController.java +++ b/xingyun-sc/src/main/java/com/lframework/xingyun/sc/controller/sale/SaleOrderController.java @@ -9,7 +9,6 @@ import com.lframework.starter.web.resp.InvokeResult; import com.lframework.starter.web.resp.InvokeResultBuilder; import com.lframework.starter.web.resp.PageResult; import com.lframework.starter.web.utils.PageResultUtil; -import com.lframework.xingyun.core.bo.print.A4ExcelPortraitPrintBo; import com.lframework.xingyun.core.utils.ExportTaskUtil; import com.lframework.xingyun.sc.bo.sale.GetSaleOrderBo; import com.lframework.xingyun.sc.bo.sale.PrintSaleOrderBo; @@ -70,7 +69,7 @@ public class SaleOrderController extends DefaultBaseController { @ApiImplicitParam(value = "ID", name = "id", paramType = "query", required = true) @HasPermission({"sale:order:query"}) @GetMapping("/print") - public InvokeResult> print( + public InvokeResult print( @NotBlank(message = "订单ID不能为空!") String id) { SaleOrderFullDto data = saleOrderService.getDetail(id); @@ -80,11 +79,7 @@ public class SaleOrderController extends DefaultBaseController { PrintSaleOrderBo result = new PrintSaleOrderBo(data); - A4ExcelPortraitPrintBo printResult = new A4ExcelPortraitPrintBo<>( - "print/sale-order.ftl", - result); - - return InvokeResultBuilder.success(printResult); + return InvokeResultBuilder.success(result); } /** diff --git a/xingyun-sc/src/main/java/com/lframework/xingyun/sc/controller/sale/SaleOutSheetController.java b/xingyun-sc/src/main/java/com/lframework/xingyun/sc/controller/sale/SaleOutSheetController.java index 829f8166..fc9e30a3 100644 --- a/xingyun-sc/src/main/java/com/lframework/xingyun/sc/controller/sale/SaleOutSheetController.java +++ b/xingyun-sc/src/main/java/com/lframework/xingyun/sc/controller/sale/SaleOutSheetController.java @@ -8,7 +8,6 @@ import com.lframework.starter.web.resp.InvokeResult; import com.lframework.starter.web.resp.InvokeResultBuilder; import com.lframework.starter.web.resp.PageResult; import com.lframework.starter.web.utils.PageResultUtil; -import com.lframework.xingyun.core.bo.print.A4ExcelPortraitPrintBo; import com.lframework.xingyun.core.utils.ExportTaskUtil; import com.lframework.xingyun.sc.bo.purchase.receive.GetPaymentDateBo; import com.lframework.xingyun.sc.bo.sale.out.GetSaleOutSheetBo; @@ -67,7 +66,7 @@ public class SaleOutSheetController extends DefaultBaseController { @ApiImplicitParam(value = "ID", name = "id", paramType = "query", required = true) @HasPermission({"sale:out:query"}) @GetMapping("/print") - public InvokeResult> print( + public InvokeResult print( @NotBlank(message = "订单ID不能为空!") String id) { SaleOutSheetFullDto data = saleOutSheetService.getDetail(id); @@ -77,10 +76,7 @@ public class SaleOutSheetController extends DefaultBaseController { PrintSaleOutSheetBo result = new PrintSaleOutSheetBo(data); - A4ExcelPortraitPrintBo printResult = new A4ExcelPortraitPrintBo<>( - "print/sale-out-sheet.ftl", result); - - return InvokeResultBuilder.success(printResult); + return InvokeResultBuilder.success(result); } /** diff --git a/xingyun-sc/src/main/java/com/lframework/xingyun/sc/controller/sale/SaleReturnController.java b/xingyun-sc/src/main/java/com/lframework/xingyun/sc/controller/sale/SaleReturnController.java index 9fc53e4c..0518d783 100644 --- a/xingyun-sc/src/main/java/com/lframework/xingyun/sc/controller/sale/SaleReturnController.java +++ b/xingyun-sc/src/main/java/com/lframework/xingyun/sc/controller/sale/SaleReturnController.java @@ -8,7 +8,6 @@ import com.lframework.starter.web.resp.InvokeResult; import com.lframework.starter.web.resp.InvokeResultBuilder; import com.lframework.starter.web.resp.PageResult; import com.lframework.starter.web.utils.PageResultUtil; -import com.lframework.xingyun.core.bo.print.A4ExcelPortraitPrintBo; import com.lframework.xingyun.core.utils.ExportTaskUtil; import com.lframework.xingyun.sc.bo.sale.returned.GetSaleReturnBo; import com.lframework.xingyun.sc.bo.sale.returned.PrintSaleReturnBo; @@ -61,7 +60,7 @@ public class SaleReturnController extends DefaultBaseController { @ApiImplicitParam(value = "ID", name = "id", paramType = "query", required = true) @HasPermission({"sale:return:query"}) @GetMapping("/print") - public InvokeResult> print( + public InvokeResult print( @NotBlank(message = "退单ID不能为空!") String id) { SaleReturnFullDto data = saleReturnService.getDetail(id); @@ -72,10 +71,7 @@ public class SaleReturnController extends DefaultBaseController { PrintSaleReturnBo result = new PrintSaleReturnBo(data); - A4ExcelPortraitPrintBo printResult = new A4ExcelPortraitPrintBo( - "print/sale-return.ftl", result); - - return InvokeResultBuilder.success(printResult); + return InvokeResultBuilder.success(result); } /** -- Gitee From e914ed9fd034d1452b97ea5b4211a7cd5536a1a3 Mon Sep 17 00:00:00 2001 From: lframework Date: Sat, 10 May 2025 00:16:19 +0800 Subject: [PATCH 06/25] =?UTF-8?q?=E9=9D=9E=E7=AE=A1=E7=90=86=E5=91=98?= =?UTF-8?q?=E4=B8=8D=E5=85=81=E8=AE=B8=E7=BB=99=E7=AE=A1=E7=90=86=E5=91=98?= =?UTF-8?q?=E6=8E=88=E6=9D=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../system/SysUserRoleController.java | 16 ++++++--- .../impl/system/SysUserRoleServiceImpl.java | 33 ++++++++++++++++--- 2 files changed, 40 insertions(+), 9 deletions(-) diff --git a/xingyun-sys/src/main/java/com/lframework/xingyun/template/inner/controller/system/SysUserRoleController.java b/xingyun-sys/src/main/java/com/lframework/xingyun/template/inner/controller/system/SysUserRoleController.java index 329696dd..c8205f44 100644 --- a/xingyun-sys/src/main/java/com/lframework/xingyun/template/inner/controller/system/SysUserRoleController.java +++ b/xingyun-sys/src/main/java/com/lframework/xingyun/template/inner/controller/system/SysUserRoleController.java @@ -2,16 +2,18 @@ package com.lframework.xingyun.template.inner.controller.system; import com.lframework.starter.common.utils.CollectionUtil; import com.lframework.starter.common.utils.StringUtil; +import com.lframework.starter.web.annotations.security.HasPermission; +import com.lframework.starter.web.components.security.SecurityConstants; +import com.lframework.starter.web.components.security.SecurityUtil; +import com.lframework.starter.web.controller.DefaultBaseController; +import com.lframework.starter.web.resp.InvokeResult; +import com.lframework.starter.web.resp.InvokeResultBuilder; import com.lframework.xingyun.template.inner.bo.system.user.QueryUserRoleBo; import com.lframework.xingyun.template.inner.entity.SysRole; import com.lframework.xingyun.template.inner.service.system.SysRoleService; import com.lframework.xingyun.template.inner.service.system.SysUserRoleService; import com.lframework.xingyun.template.inner.vo.system.role.QuerySysRoleVo; import com.lframework.xingyun.template.inner.vo.system.user.SysUserRoleSettingVo; -import com.lframework.starter.web.annotations.security.HasPermission; -import com.lframework.starter.web.controller.DefaultBaseController; -import com.lframework.starter.web.resp.InvokeResult; -import com.lframework.starter.web.resp.InvokeResultBuilder; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; @@ -59,6 +61,12 @@ public class SysUserRoleController extends DefaultBaseController { sysRoleVo.setAvailable(Boolean.TRUE); List allRole = sysRoleService.query(sysRoleVo); if (!CollectionUtil.isEmpty(allRole)) { + if (!SecurityUtil.getCurrentUser().isAdmin()) { + allRole = allRole.stream() + .filter(t -> !SecurityConstants.PERMISSION_ADMIN_NAME.equals(t.getPermission())) + .collect( + Collectors.toList()); + } results = allRole.stream().map(QueryUserRoleBo::new).collect(Collectors.toList()); if (!StringUtil.isBlank(userId)) { diff --git a/xingyun-sys/src/main/java/com/lframework/xingyun/template/inner/impl/system/SysUserRoleServiceImpl.java b/xingyun-sys/src/main/java/com/lframework/xingyun/template/inner/impl/system/SysUserRoleServiceImpl.java index 914335c0..1646a57d 100644 --- a/xingyun-sys/src/main/java/com/lframework/xingyun/template/inner/impl/system/SysUserRoleServiceImpl.java +++ b/xingyun-sys/src/main/java/com/lframework/xingyun/template/inner/impl/system/SysUserRoleServiceImpl.java @@ -5,19 +5,24 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.lframework.starter.common.exceptions.impl.DefaultClientException; import com.lframework.starter.common.utils.CollectionUtil; import com.lframework.starter.common.utils.ObjectUtil; +import com.lframework.starter.web.components.security.SecurityConstants; +import com.lframework.starter.web.components.security.SecurityUtil; +import com.lframework.starter.web.impl.BaseMpServiceImpl; +import com.lframework.starter.web.utils.IdUtil; import com.lframework.xingyun.core.annotations.OpLog; +import com.lframework.xingyun.core.enums.DefaultOpLogType; +import com.lframework.xingyun.template.inner.entity.SysRole; +import com.lframework.xingyun.template.inner.entity.SysUser; import com.lframework.xingyun.template.inner.entity.SysUserRole; import com.lframework.xingyun.template.inner.mappers.system.SysUserRoleMapper; -import com.lframework.xingyun.template.inner.entity.SysRole; -import com.lframework.xingyun.core.enums.DefaultOpLogType; -import com.lframework.starter.web.impl.BaseMpServiceImpl; import com.lframework.xingyun.template.inner.service.system.SysRoleService; import com.lframework.xingyun.template.inner.service.system.SysUserRoleService; +import com.lframework.xingyun.template.inner.service.system.SysUserService; import com.lframework.xingyun.template.inner.vo.system.user.SysUserRoleSettingVo; -import com.lframework.starter.web.utils.IdUtil; import java.util.HashSet; import java.util.List; import java.util.Set; +import java.util.stream.Collectors; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -30,7 +35,11 @@ public class SysUserRoleServiceImpl extends @Autowired private SysRoleService sysRoleService; - @OpLog(type = DefaultOpLogType.SYSTEM, name = "用户授权角色,用户ID:{},角色ID:{}", params = {"#vo.userIds", + @Autowired + private SysUserService sysUserService; + + @OpLog(type = DefaultOpLogType.SYSTEM, name = "用户授权角色,用户ID:{},角色ID:{}", params = { + "#vo.userIds", "#vo.roleIds"}, loopFormat = true) @Transactional(rollbackFor = Exception.class) @Override @@ -51,6 +60,20 @@ public class SysUserRoleServiceImpl extends Wrapper deleteWrapper = Wrappers.lambdaQuery(SysUserRole.class) .eq(SysUserRole::getUserId, userId); + if (!SecurityUtil.getCurrentUser().isAdmin()) { + List checkList = this.list(deleteWrapper); + if (!CollectionUtil.isEmpty(checkList)) { + List roleList = sysRoleService.listByIds( + checkList.stream().map(SysUserRole::getRoleId) + .collect(Collectors.toList())); + if (roleList.stream() + .anyMatch(t -> SecurityConstants.PERMISSION_ADMIN_NAME.equals(t.getPermission()))) { + SysUser user = sysUserService.findById(userId); + throw new DefaultClientException( + "用户【" + user.getName() + "】的权限为管理员,非管理员用户无法为管理员用户授权!"); + } + } + } getBaseMapper().delete(deleteWrapper); if (!CollectionUtil.isEmpty(roleIds)) { -- Gitee From dfac37ee73813aef9893c3c2a6702858f1fc477d Mon Sep 17 00:00:00 2001 From: lframework Date: Sat, 10 May 2025 15:42:51 +0800 Subject: [PATCH 07/25] =?UTF-8?q?j-form=E4=BD=BF=E7=94=A8=E8=BE=B9?= =?UTF-8?q?=E6=A1=86=E6=A0=B7=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- xingyun-sys/src/main/resources/templates/index.vue.ftl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/xingyun-sys/src/main/resources/templates/index.vue.ftl b/xingyun-sys/src/main/resources/templates/index.vue.ftl index 5a045194..f2cca328 100644 --- a/xingyun-sys/src/main/resources/templates/index.vue.ftl +++ b/xingyun-sys/src/main/resources/templates/index.vue.ftl @@ -22,7 +22,7 @@ <#if query?? && queryParams??>