diff --git a/newbiest-mm/pom.xml b/newbiest-mm/pom.xml index c73483ec8..3c25bcf2b 100644 --- a/newbiest-mm/pom.xml +++ b/newbiest-mm/pom.xml @@ -5,6 +5,12 @@ 4.0.0 mm + + + org.apache.httpcomponents + httpclient + + com.newbiest diff --git a/newbiest-mm/src/main/java/com/newbiest/mms/exception/MmsException.java b/newbiest-mm/src/main/java/com/newbiest/mms/exception/MmsException.java index 830abd81a..0a0e97d98 100644 --- a/newbiest-mm/src/main/java/com/newbiest/mms/exception/MmsException.java +++ b/newbiest-mm/src/main/java/com/newbiest/mms/exception/MmsException.java @@ -40,6 +40,10 @@ public class MmsException { public static final String MM_PRODUCT_IS_EXIST = "mm.product_is_exist"; public static final String MM_PRODUCT_IS_NOT_EXIST = "mm.product_is_not_exist"; - public static final String MM_RECEIVE_QTY_OVER_INCOMING_QTY = "mm_receive_qty_over_incoming_qty"; + public static final String MM_RECEIVE_QTY_OVER_INCOMING_QTY = "mm.receive_qty_over_incoming_qty"; + + public static final String MM_WORK_STATION_IS_NOT_EXIST = "mm.work_station_is_not_exist"; + public static final String MM_LBL_TEMPLATE_IS_NOT_EXIST = "mm.lbl_template_is_not_exist"; + public static final String MM_LBL_TEMPLATE_TYPE_IS_NOT_ALLOW = "mm.lbl_template_is_not_allow"; } diff --git a/newbiest-mm/src/main/java/com/newbiest/mms/model/LabelTemplate.java b/newbiest-mm/src/main/java/com/newbiest/mms/model/LabelTemplate.java new file mode 100644 index 000000000..4dac8af6e --- /dev/null +++ b/newbiest-mm/src/main/java/com/newbiest/mms/model/LabelTemplate.java @@ -0,0 +1,52 @@ +package com.newbiest.mms.model; + +import com.newbiest.base.model.NBBase; +import com.newbiest.base.threadlocal.ThreadLocalContext; +import lombok.Data; + +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.Table; +import javax.persistence.Transient; +import java.util.List; + +/** + * @author guoxunbo + * @date 4/6/21 2:22 PM + */ +@Entity +@Table(name="MMS_LBL_TEMPLATE") +@Data +public class LabelTemplate extends NBBase { + + public static final String TYPE_BARTENDER = "Bartender"; + public static final String TYPE_EXCEL = "Excel"; + + @Column(name="NAME") + private String name; + + @Column(name="DESCRIPTION") + private String description; + + @Column(name="TYPE") + private String type; + + /** + * 当type是Bartender的时候 + * 需要指定其IB的地址。如http://${remote_address}:10099/****** + * 当type是excel的时候,则为excel的Template的模板名称 + */ + @Column(name="DESTINATION") + private String destination; + + @Column(name="PRINT_COUNT") + private Integer printCount = 1; + + @Transient + private List labelTemplateParameterList; + + public String getBartenderDestination() { + return destination.replace("${remote_address}", ThreadLocalContext.getTransactionIp()); + } + +} diff --git a/newbiest-mm/src/main/java/com/newbiest/mms/model/LabelTemplateParameter.java b/newbiest-mm/src/main/java/com/newbiest/mms/model/LabelTemplateParameter.java new file mode 100644 index 000000000..bd38b2015 --- /dev/null +++ b/newbiest-mm/src/main/java/com/newbiest/mms/model/LabelTemplateParameter.java @@ -0,0 +1,28 @@ +package com.newbiest.mms.model; + +import com.newbiest.base.model.NBBase; +import lombok.Data; + +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.Table; + +/** + * @author guoxunbo + * @date 4/6/21 2:22 PM + */ +@Entity +@Table(name="MMS_LBL_TEMPLATE_PARA") +@Data +public class LabelTemplateParameter extends NBBase { + + @Column(name="LBL_TEMPLATE_RRN") + private String lblTemplateRrn; + + @Column(name="NAME") + private String name; + + @Column(name="DEFAULT_VALUE") + private String defaultValue; + +} diff --git a/newbiest-mm/src/main/java/com/newbiest/mms/model/WorkStation.java b/newbiest-mm/src/main/java/com/newbiest/mms/model/WorkStation.java new file mode 100644 index 000000000..9359af94d --- /dev/null +++ b/newbiest-mm/src/main/java/com/newbiest/mms/model/WorkStation.java @@ -0,0 +1,25 @@ +package com.newbiest.mms.model; + +import com.newbiest.base.model.NBBase; +import lombok.Data; + +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.Table; + +/** + * @author guoxunbo + * @date 4/6/21 2:18 PM + */ +@Entity +@Table(name="MMS_WORK_STATION") +@Data +public class WorkStation extends NBBase { + + @Column(name="IP_ADDRESS") + private String ipAddress; + + @Column(name = "PRINT_MACHINE_IP_ADDRESS") + private String printMachineIpAddress; + +} diff --git a/newbiest-mm/src/main/java/com/newbiest/mms/print/DefaultPrintStrategy.java b/newbiest-mm/src/main/java/com/newbiest/mms/print/DefaultPrintStrategy.java new file mode 100644 index 000000000..e258920ed --- /dev/null +++ b/newbiest-mm/src/main/java/com/newbiest/mms/print/DefaultPrintStrategy.java @@ -0,0 +1,114 @@ +package com.newbiest.mms.print; + +import com.google.common.collect.Maps; +import com.newbiest.base.exception.ClientParameterException; +import com.newbiest.base.utils.CollectionUtils; +import com.newbiest.base.utils.DateUtils; +import com.newbiest.base.utils.PropertyUtils; +import com.newbiest.base.utils.StringUtils; +import com.newbiest.mms.exception.MmsException; +import com.newbiest.mms.model.LabelTemplate; +import com.newbiest.mms.model.LabelTemplateParameter; +import lombok.extern.slf4j.Slf4j; +import org.apache.http.impl.client.CloseableHttpClient; +import org.apache.http.impl.client.HttpClientBuilder; +import org.springframework.http.HttpEntity; +import org.springframework.http.HttpHeaders; +import org.springframework.http.HttpMethod; +import org.springframework.http.client.HttpComponentsClientHttpRequestFactory; +import org.springframework.stereotype.Component; +import org.springframework.web.client.RestTemplate; + +import javax.annotation.PostConstruct; +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.List; +import java.util.Map; + +import static org.apache.http.impl.client.HttpClientBuilder.create; + +/** + * @author guoxunbo + * @date 4/6/21 3:07 PM + */ +@Component +@Slf4j +public class DefaultPrintStrategy implements IPrintStrategy { + + public static final int CONNECTION_TIME_OUT = 10; + + public static final int READ_TIME_OUT = 30; + + private RestTemplate restTemplate; + + @PostConstruct + public void init() { + CloseableHttpClient client = createHttpClient().build(); + HttpComponentsClientHttpRequestFactory requestFactory = new HttpComponentsClientHttpRequestFactory(client); + requestFactory.setConnectTimeout(CONNECTION_TIME_OUT * 1000); + requestFactory.setReadTimeout(READ_TIME_OUT * 1000); + restTemplate = new RestTemplate(requestFactory); + } + + protected HttpClientBuilder createHttpClient() { + return create().useSystemProperties().disableRedirectHandling().disableCookieManagement(); + } + + @Override + public void print(PrintContext printContext) { + LabelTemplate labelTemplate = printContext.getLabelTemplate(); + if (LabelTemplate.TYPE_BARTENDER.equals(labelTemplate.getType())) { + printWithBartender(printContext); + } else if (LabelTemplate.TYPE_EXCEL.equals(labelTemplate.getType())){ + //TODO 后续实现 + } else { + throw new ClientParameterException(MmsException.MM_LBL_TEMPLATE_TYPE_IS_NOT_ALLOW, labelTemplate.getType()); + } + } + + public Map buildParameters(PrintContext printContext) { + Map parameterMap = Maps.newHashMap(); + List labelTemplateParameters = printContext.getLabelTemplate().getLabelTemplateParameterList(); + if (CollectionUtils.isNotEmpty(labelTemplateParameters)) { + for (LabelTemplateParameter parameter : labelTemplateParameters) { + Object value = null; + if (printContext.getParameterMap().containsKey(parameter.getName())) { + value = parameterMap.get(parameter.getName()); + } else { + try { + value = PropertyUtils.getProperty(printContext.getBaseObject(), parameter.getName()); + if (value != null) { + if (value instanceof Date) { + SimpleDateFormat sdf = new SimpleDateFormat(DateUtils.DEFAULT_DATE_PATTERN); + value = sdf.format(value); + } + value = String.valueOf(value); + } else { + value = parameter.getDefaultValue(); + } + } catch (Exception e) { + // 此处异常不处理 + log.warn(e.getMessage(), e); + } + } + parameterMap.put(parameter.getName(), value); + } + } + parameterMap.put("printCount", printContext.getLabelTemplate().getPrintCount()); + return parameterMap; + } + + public void printWithBartender(PrintContext printContext) { + String destination = printContext.getLabelTemplate().getBartenderDestination(); + Map params = buildParameters(printContext); + + HttpHeaders headers = new HttpHeaders(); + HttpEntity entity = new HttpEntity(headers); + + HttpEntity responseEntity = restTemplate.exchange(destination, HttpMethod.GET, entity, byte[].class, params); + String response = new String(responseEntity.getBody(), StringUtils.getUtf8Charset()); + if (log.isDebugEnabled()) { + log.debug(String.format("Get response from bartender. Response is [%s]", response)); + } + } +} diff --git a/newbiest-mm/src/main/java/com/newbiest/mms/print/IPrintStrategy.java b/newbiest-mm/src/main/java/com/newbiest/mms/print/IPrintStrategy.java new file mode 100644 index 000000000..cc9410b96 --- /dev/null +++ b/newbiest-mm/src/main/java/com/newbiest/mms/print/IPrintStrategy.java @@ -0,0 +1,13 @@ +package com.newbiest.mms.print; + +/** + * @author guoxunbo + * @date 4/6/21 3:06 PM + */ + +public interface IPrintStrategy { + + void print(PrintContext printContext); + +} + diff --git a/newbiest-mm/src/main/java/com/newbiest/mms/print/PrintContext.java b/newbiest-mm/src/main/java/com/newbiest/mms/print/PrintContext.java new file mode 100644 index 000000000..72d848d64 --- /dev/null +++ b/newbiest-mm/src/main/java/com/newbiest/mms/print/PrintContext.java @@ -0,0 +1,23 @@ +package com.newbiest.mms.print; + +import com.google.common.collect.Maps; +import com.newbiest.mms.model.LabelTemplate; +import lombok.Data; + +import java.io.Serializable; +import java.util.Map; + +/** + * @author guoxunbo + * @date 4/6/21 3:12 PM + */ +@Data +public class PrintContext implements Serializable { + + private Object baseObject; + + private Map parameterMap = Maps.newHashMap(); + + private LabelTemplate labelTemplate; + +} diff --git a/newbiest-mm/src/main/java/com/newbiest/mms/repository/LabelTemplateParameterRepository.java b/newbiest-mm/src/main/java/com/newbiest/mms/repository/LabelTemplateParameterRepository.java new file mode 100644 index 000000000..ad273ec85 --- /dev/null +++ b/newbiest-mm/src/main/java/com/newbiest/mms/repository/LabelTemplateParameterRepository.java @@ -0,0 +1,16 @@ +package com.newbiest.mms.repository; + +import com.newbiest.base.exception.ClientException; +import com.newbiest.base.repository.custom.IRepository; +import com.newbiest.mms.model.LabelTemplateParameter; +import org.springframework.stereotype.Repository; + +import java.util.List; + + +@Repository +public interface LabelTemplateParameterRepository extends IRepository { + + List findByLblTemplateRrn(String lblTemplateRrn) throws ClientException; + +} diff --git a/newbiest-mm/src/main/java/com/newbiest/mms/repository/LabelTemplateRepository.java b/newbiest-mm/src/main/java/com/newbiest/mms/repository/LabelTemplateRepository.java new file mode 100644 index 000000000..050523c8d --- /dev/null +++ b/newbiest-mm/src/main/java/com/newbiest/mms/repository/LabelTemplateRepository.java @@ -0,0 +1,12 @@ +package com.newbiest.mms.repository; + +import com.newbiest.base.repository.custom.IRepository; +import com.newbiest.mms.model.DeliveryOrder; +import com.newbiest.mms.model.LabelTemplate; +import org.springframework.stereotype.Repository; + + +@Repository +public interface LabelTemplateRepository extends IRepository { + +} diff --git a/newbiest-mm/src/main/java/com/newbiest/mms/repository/WorkStationRepository.java b/newbiest-mm/src/main/java/com/newbiest/mms/repository/WorkStationRepository.java new file mode 100644 index 000000000..acb05ff54 --- /dev/null +++ b/newbiest-mm/src/main/java/com/newbiest/mms/repository/WorkStationRepository.java @@ -0,0 +1,15 @@ +package com.newbiest.mms.repository; + +import com.newbiest.base.exception.ClientException; +import com.newbiest.base.repository.custom.IRepository; +import com.newbiest.mms.model.LabelTemplate; +import com.newbiest.mms.model.WorkStation; +import org.springframework.stereotype.Repository; + + +@Repository +public interface WorkStationRepository extends IRepository { + + WorkStation findByIpAddress(String ipAddress) throws ClientException; + +} diff --git a/newbiest-mm/src/main/java/com/newbiest/mms/rest/materiallot/MaterialLotController.java b/newbiest-mm/src/main/java/com/newbiest/mms/rest/materiallot/MaterialLotController.java index d2e677973..14a2cc97f 100644 --- a/newbiest-mm/src/main/java/com/newbiest/mms/rest/materiallot/MaterialLotController.java +++ b/newbiest-mm/src/main/java/com/newbiest/mms/rest/materiallot/MaterialLotController.java @@ -10,6 +10,7 @@ import com.newbiest.mms.model.RawMaterial; import com.newbiest.mms.service.MmsService; import com.newbiest.base.msg.Request; +import com.newbiest.mms.service.PrintService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiOperation; @@ -32,6 +33,9 @@ public class MaterialLotController extends AbstractRestController { @Autowired MmsService mmsService; + @Autowired + PrintService printService; + @ApiOperation(value = "对物料批做操作", notes = "接收。消耗等") @ApiImplicitParam(name="request", value="request", required = true, dataType = "MaterialLotRequest") @RequestMapping(value = "/materialLotManage", method = RequestMethod.POST, produces = "application/json; charset=utf-8") @@ -54,6 +58,9 @@ public MaterialLotResponse execute(@RequestBody MaterialLotRequest request) thro } else if (MaterialLotRequest.ACTION_CONSUME.equals(actionType)) { materialLot = validationMaterialLot(materialLot); materialLot = mmsService.consumeMLot(materialLot, materialLotAction); + } else if (MaterialLotRequest.ACTION_PRINT_LABEL.equals(actionType)) { + materialLot = mmsService.getMLotByMLotId(materialLot.getMaterialLotId()); + printService.printMLot(materialLot); } else { throw new ClientException(Request.NON_SUPPORT_ACTION_TYPE + requestBody.getActionType()); } diff --git a/newbiest-mm/src/main/java/com/newbiest/mms/rest/materiallot/MaterialLotRequest.java b/newbiest-mm/src/main/java/com/newbiest/mms/rest/materiallot/MaterialLotRequest.java index e53e15803..c9952437f 100644 --- a/newbiest-mm/src/main/java/com/newbiest/mms/rest/materiallot/MaterialLotRequest.java +++ b/newbiest-mm/src/main/java/com/newbiest/mms/rest/materiallot/MaterialLotRequest.java @@ -14,6 +14,7 @@ public class MaterialLotRequest extends Request { public static final String ACTION_RECEIVE_2_WAREHOUSE = "Receive2Warehouse"; public static final String ACTION_CONSUME = "Consume"; + public static final String ACTION_PRINT_LABEL = "PrintLabel"; private MaterialLotRequestBody body; diff --git a/newbiest-mm/src/main/java/com/newbiest/mms/service/PrintService.java b/newbiest-mm/src/main/java/com/newbiest/mms/service/PrintService.java new file mode 100644 index 000000000..a34b42950 --- /dev/null +++ b/newbiest-mm/src/main/java/com/newbiest/mms/service/PrintService.java @@ -0,0 +1,12 @@ +package com.newbiest.mms.service; + +import com.newbiest.base.exception.ClientException; +import com.newbiest.mms.model.MaterialLot; + +/** + * @author guoxunbo + * @date 4/6/21 3:04 PM + */ +public interface PrintService { + void printMLot(MaterialLot materialLot) throws ClientException; +} diff --git a/newbiest-mm/src/main/java/com/newbiest/mms/service/impl/PrintServiceImpl.java b/newbiest-mm/src/main/java/com/newbiest/mms/service/impl/PrintServiceImpl.java new file mode 100644 index 000000000..9b2c87fa0 --- /dev/null +++ b/newbiest-mm/src/main/java/com/newbiest/mms/service/impl/PrintServiceImpl.java @@ -0,0 +1,85 @@ +package com.newbiest.mms.service.impl; + +import com.google.common.collect.Maps; +import com.newbiest.base.annotation.BaseJpaFilter; +import com.newbiest.base.exception.ClientException; +import com.newbiest.base.exception.ClientParameterException; +import com.newbiest.base.exception.ExceptionManager; +import com.newbiest.base.threadlocal.ThreadLocalContext; +import com.newbiest.mms.exception.MmsException; +import com.newbiest.mms.model.LabelTemplate; +import com.newbiest.mms.model.LabelTemplateParameter; +import com.newbiest.mms.model.MaterialLot; +import com.newbiest.mms.model.WorkStation; +import com.newbiest.mms.print.DefaultPrintStrategy; +import com.newbiest.mms.print.IPrintStrategy; +import com.newbiest.mms.print.PrintContext; +import com.newbiest.mms.repository.LabelTemplateParameterRepository; +import com.newbiest.mms.repository.LabelTemplateRepository; +import com.newbiest.mms.repository.WorkStationRepository; +import com.newbiest.mms.service.PrintService; +import lombok.Data; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.List; +import java.util.Map; + +/** + * @author guoxunbo + * @date 4/6/21 3:03 PM + */ +@Service +@Slf4j +@Transactional +@BaseJpaFilter +@Data +public class PrintServiceImpl implements PrintService { + + public static final String PRINT_MATERIAL_LOT = "printMLot"; + + @Autowired + WorkStationRepository workStationRepository; + + @Autowired + LabelTemplateRepository labelTemplateRepository; + + @Autowired + LabelTemplateParameterRepository labelTemplateParameterRepository; + + @Override + public void printMLot(MaterialLot materialLot) throws ClientException { + try { + String transactionIp = ThreadLocalContext.getTransactionIp(); + WorkStation workStation = workStationRepository.findByIpAddress(transactionIp); + if (workStation == null) { + throw new ClientParameterException(MmsException.MM_WORK_STATION_IS_NOT_EXIST, transactionIp); + } + LabelTemplate labelTemplate = labelTemplateRepository.findOneByName("PRINT_MATERIAL_LOT"); + if (labelTemplate == null) { + throw new ClientParameterException(MmsException.MM_LBL_TEMPLATE_IS_NOT_EXIST, transactionIp); + } + List parameterList = labelTemplateParameterRepository.findByLblTemplateRrn(labelTemplate.getObjectRrn()); + labelTemplate.setLabelTemplateParameterList(parameterList); + + PrintContext printContext = new PrintContext(); + printContext.setBaseObject(materialLot); + printContext.setLabelTemplate(labelTemplate); + + Map parameterMap = Maps.newHashMap(); + parameterMap.put("qty", materialLot.getCurrentQty()); + parameterMap.put("inDate", ""); + parameterMap.put("specification", materialLot.getMaterialDesc()); + printContext.setParameterMap(parameterMap); + + IPrintStrategy printStrategy = new DefaultPrintStrategy(); + printStrategy.print(printContext); + } catch (Exception e) { + throw ExceptionManager.handleException(e, log); + } + + } + +} diff --git a/newbiest-mm/src/main/resources/db/changelog/1.0.5/db.changelog-0.0.1.label_template.yaml b/newbiest-mm/src/main/resources/db/changelog/1.0.5/db.changelog-0.0.1.label_template.yaml new file mode 100644 index 000000000..c34fd731c --- /dev/null +++ b/newbiest-mm/src/main/resources/db/changelog/1.0.5/db.changelog-0.0.1.label_template.yaml @@ -0,0 +1,47 @@ +databaseChangeLog: + - changeSet: + id: create-mms-lbl-template-table + author: Xunbo Guo + comment: Create table MMS_LBL_TEMPLATE + changes: + - createTable: + tableName: MMS_LBL_TEMPLATE + remarks: Label Template Info + columns: + - column: + name: OBJECT_RRN + type: varchar(64) + constraints: + primaryKey: true + nullable: false + remarks: 主键 + - column: + name: ACTIVE_FLAG + type: varchar(1) + defaultValue: Y + remarks: 数据是否可用 + - column: + name: ORG_RRN + type: varchar(64) + defaultValueNumeric: 0 + remarks: 区域号 + - column: + name: NAME + type: varchar(64) + remarks: 名称 + - column: + name: DESCRIPTION + type: varchar(64) + remarks: 描述 + - column: + name: TYPE + type: varchar(64) + remarks: 类型.Bartender/Excel + - column: + name: DESTINATION + type: varchar(64) + remarks: 目标地址 + - column: + name: PRINT_COUNT + type: int + remarks: 打印数量 diff --git a/newbiest-mm/src/main/resources/db/changelog/1.0.5/db.changelog-0.0.1.label_template_para.yaml b/newbiest-mm/src/main/resources/db/changelog/1.0.5/db.changelog-0.0.1.label_template_para.yaml new file mode 100644 index 000000000..a7b2560d1 --- /dev/null +++ b/newbiest-mm/src/main/resources/db/changelog/1.0.5/db.changelog-0.0.1.label_template_para.yaml @@ -0,0 +1,39 @@ +databaseChangeLog: + - changeSet: + id: create-mms-lbl-template-para-table + author: Xunbo Guo + comment: Create table MMS_LBL_TEMPLATE_PARA + changes: + - createTable: + tableName: MMS_LBL_TEMPLATE_PARA + remarks: Label Template Parameter Info + columns: + - column: + name: OBJECT_RRN + type: varchar(64) + constraints: + primaryKey: true + nullable: false + remarks: 主键 + - column: + name: ACTIVE_FLAG + type: varchar(1) + defaultValue: Y + remarks: 数据是否可用 + - column: + name: ORG_RRN + type: varchar(64) + defaultValueNumeric: 0 + remarks: 区域号 + - column: + name: NAME + type: varchar(64) + remarks: 名称 + - column: + name: LBL_TEMPLATE_RRN + type: varchar(64) + remarks: 模板主键 + - column: + name: DEFAULT_VALUE + type: varchar(64) + remarks: 默认值 diff --git a/newbiest-mm/src/main/resources/db/changelog/1.0.5/db.changelog-0.0.1.work_station.yaml b/newbiest-mm/src/main/resources/db/changelog/1.0.5/db.changelog-0.0.1.work_station.yaml new file mode 100644 index 000000000..4caf4ec29 --- /dev/null +++ b/newbiest-mm/src/main/resources/db/changelog/1.0.5/db.changelog-0.0.1.work_station.yaml @@ -0,0 +1,35 @@ +databaseChangeLog: + - changeSet: + id: create-mms-work-station-table + author: Xunbo Guo + comment: Create table MMS_WORK_STATION + changes: + - createTable: + tableName: MMS_WORK_STATION + remarks: Work Station Info + columns: + - column: + name: OBJECT_RRN + type: varchar(64) + constraints: + primaryKey: true + nullable: false + remarks: 主键 + - column: + name: ACTIVE_FLAG + type: varchar(1) + defaultValue: Y + remarks: 数据是否可用 + - column: + name: ORG_RRN + type: varchar(64) + defaultValueNumeric: 0 + remarks: 区域号 + - column: + name: IP_ADDRESS + type: varchar(64) + remarks: 工作站IP地址 + - column: + name: PRINT_MACHINE_IP_ADDRESS + type: varchar(64) + remarks: 工作站绑定的打印机地址 diff --git a/newbiest-mm/src/main/resources/db/changelog/1.0.5/db.changelog-mms.yaml b/newbiest-mm/src/main/resources/db/changelog/1.0.5/db.changelog-mms.yaml index d29a66f29..eacaf62cd 100644 --- a/newbiest-mm/src/main/resources/db/changelog/1.0.5/db.changelog-mms.yaml +++ b/newbiest-mm/src/main/resources/db/changelog/1.0.5/db.changelog-mms.yaml @@ -14,4 +14,12 @@ databaseChangeLog: - include: file: db.changelog-0.0.2.material_lot_hold.yaml relativeToChangelogFile: true - + - include: + file: db.changelog-0.0.1.work_station.yaml + relativeToChangelogFile: true + - include: + file: db.changelog-0.0.1.label_template.yaml + relativeToChangelogFile: true + - include: + file: db.changelog-0.0.1.label_template_para.yaml + relativeToChangelogFile: true