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