diff --git a/api-admin/src/main/java/com/glxp/sale/admin/config/HdSchemaExecutor.java b/api-admin/src/main/java/com/glxp/sale/admin/config/HdSchemaExecutor.java new file mode 100644 index 0000000..f93f1bd --- /dev/null +++ b/api-admin/src/main/java/com/glxp/sale/admin/config/HdSchemaExecutor.java @@ -0,0 +1,81 @@ +package com.glxp.sale.admin.config; + +import cn.hutool.core.io.IORuntimeException; +import cn.hutool.core.io.IoUtil; +import cn.hutool.core.lang.UUID; +import com.glxp.sale.admin.dao.param.DbVersionDao; +import com.glxp.sale.admin.entity.param.DbVersionEntity; +import com.glxp.sale.admin.entity.param.SchemaData; +import lombok.extern.slf4j.Slf4j; +import org.springframework.boot.ApplicationArguments; +import org.springframework.boot.ApplicationRunner; +import org.springframework.core.annotation.Order; +import org.springframework.stereotype.Component; + +import javax.annotation.Resource; +import java.io.InputStream; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +@Order(1) +@Component +@Slf4j +public class HdSchemaExecutor implements ApplicationRunner { + + @Resource + DbVersionDao hdCommonDao; + + private List schema = new ArrayList<>(); + + @Override + public void run(ApplicationArguments args) throws Exception { + //初始版本列表 + buildSchemas(); + //定义sql文件路径 + String basePath = "schemas/"; + //非版本控制,初始化脚本 + ClassLoader loader = this.getClass().getClassLoader(); + //通过流的方式获取项目路径下的文件 + InputStream inputStream = loader.getResourceAsStream(basePath + "init.sql"); + //获取文件内容 + String sql = IoUtil.readUtf8(inputStream); + try { + //判断版本表是否存在 + int count = hdCommonDao.selectTableExist("hd_version"); + if (count == 0) { + hdCommonDao.updateSql(sql); + } + for (SchemaData schemaData : schema) { + //查询版本记录是否存在 + count = hdCommonDao.selectVersion(schemaData.getVersion()); + if (count == 0) { + log.info("--------------执行数据脚本,版本:" + schemaData.getVersion()); + //获取对应sql脚本 + inputStream = loader.getResourceAsStream(basePath + schemaData.getFileName()); + sql = IoUtil.readUtf8(inputStream); + hdCommonDao.updateSql(sql); + DbVersionEntity entity = new DbVersionEntity(); + entity.setId(UUID.randomUUID().toString()); + entity.setVersion(schemaData.getVersion()); + entity.setCreated(new Date()); + entity.setRemark(schemaData.getFileName()); + //写入版本记录 + hdCommonDao.insertVersion(entity); + } + } + + } catch (IORuntimeException e) { + e.printStackTrace(); + } finally { + //关闭流 + inputStream.close(); + } + } + + public void buildSchemas() { + schema.add(new SchemaData("v2.1", "schema_v2.1.sql")); +// schema.add(new SchemaData("v2.2", "schema_v2.2.sql")); +// schema.add(new SchemaData("v2.3", "schema_v2.3.sql")); + } +} \ No newline at end of file diff --git a/api-admin/src/main/java/com/glxp/sale/admin/controller/basic/SpsSyncExportStatusController.java b/api-admin/src/main/java/com/glxp/sale/admin/controller/basic/SpsSyncExportStatusController.java index aa569c8..6571198 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/controller/basic/SpsSyncExportStatusController.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/controller/basic/SpsSyncExportStatusController.java @@ -77,6 +77,9 @@ public class SpsSyncExportStatusController { @PostMapping("/spssync/basic/udiinfo/updateStatus") public BaseResponse updateStatus(@RequestBody BasicExportStatusEntity basicExportStatusEntity) { + if (StrUtil.isEmpty(basicExportStatusEntity.getReceiveStatus())) { + basicExportStatusEntity.setEndTime(new Date()); + } basicExportStatusEntity.setEndTime(new Date()); basicExportStatusEntity.setUpdateTime(new Date()); boolean b = basicExportService.updateExportStatus(basicExportStatusEntity); diff --git a/api-admin/src/main/java/com/glxp/sale/admin/controller/basic/UdiInfoController.java b/api-admin/src/main/java/com/glxp/sale/admin/controller/basic/UdiInfoController.java index a9900c5..c92d9c1 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/controller/basic/UdiInfoController.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/controller/basic/UdiInfoController.java @@ -86,7 +86,7 @@ public class UdiInfoController { BeanUtils.copyProperties(filterUdiInfoRequest, productInfoFilterRequest); if (StrUtil.isNotEmpty(nameCode)) { productInfoFilterRequest.setNameCode(nameCode); - }else { + } else { productInfoFilterRequest.setDiType("1"); } try { @@ -201,6 +201,70 @@ public class UdiInfoController { } } + + //校验UDI完整性 + @AuthRuleAnnotation("") + @GetMapping("udidl/device/vailUdiCode") + public BaseResponse vailUdiCode(String udiCode) { + + if (StrUtil.isEmpty(udiCode)) { + return ResultVOUtils.error(500, "查询条件不能为空!"); + } + UdiEntity udiEntity = FilterUdiUtils.getUdi(udiCode); + if (udiEntity == null) { + return ResultVOUtils.error(500, "UDI码格式错误!"); + } else { + if (StrUtil.isNotEmpty(udiEntity.getUdi())) { + ProductInfoFilterRequest productInfoFilterRequest = new ProductInfoFilterRequest(); + productInfoFilterRequest.setNameCode(udiEntity.getUdi()); + List productInfoEntityList = productInfoService.filterProductInfo(productInfoFilterRequest); + if (CollUtil.isEmpty(productInfoEntityList)) { + return ResultVOUtils.error(500, "未查询到该UDI码国家库产品信息!"); + } else { + ProductInfoEntity productInfoEntity = productInfoEntityList.get(0); + String lostMsg = ""; + boolean checkSuccess = true; + if ("是".equals(productInfoEntity.getScbssfbhph()) && StrUtil.isEmpty(udiEntity.getBatchNo())) { + checkSuccess = false; + lostMsg = lostMsg + ",批次号"; + } + if ("是".equals(productInfoEntity.getScbssfbhscrq()) && StrUtil.isEmpty(udiEntity.getProduceDate())) { + checkSuccess = false; + lostMsg = lostMsg + ",生产日期"; + } + + if ("是".equals(productInfoEntity.getScbssfbhsxrq()) && StrUtil.isEmpty(udiEntity.getExpireDate())) { + checkSuccess = false; + lostMsg = lostMsg + ",失效日期"; + } + if (("是".equals(productInfoEntity.getScbssfbhxlh()) && StrUtil.isEmpty(udiEntity.getSerialNo())) + ) { + checkSuccess = false; + lostMsg = lostMsg + ",序列号"; + } + if (StrUtil.isNotEmpty(udiEntity.getSerialNo()) && udiEntity.getSerialNo().length() > 20) { + return ResultVOUtils.error(504, "序列号超出20位!"); + } + if (StrUtil.isNotEmpty(udiEntity.getBatchNo()) && udiEntity.getBatchNo().length() > 20) { + return ResultVOUtils.error(504, "批次号超出20位!"); + } + if (StrUtil.isEmpty(udiEntity.getSerialNo()) && StrUtil.isEmpty(udiEntity.getBatchNo())) { + checkSuccess = false; + } + if (checkSuccess) { + return ResultVOUtils.success(productInfoEntity); + } else { + return ResultVOUtils.error(500, "UDI码格式错误,缺少" + lostMsg.substring(1)); + } + } + } else { + return ResultVOUtils.error(500, "UDI码格式错误!"); + } + } + + } + + @AuthRuleAnnotation("") @GetMapping("udiwms/udiinfo/dlLastVersionByDi") public BaseResponse dlLastVersionByDi(FilterUdiInfoRequest filterUdiInfoRequest) { diff --git a/api-admin/src/main/java/com/glxp/sale/admin/controller/inout/OrderController.java b/api-admin/src/main/java/com/glxp/sale/admin/controller/inout/OrderController.java index 0906626..0e7c876 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/controller/inout/OrderController.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/controller/inout/OrderController.java @@ -7,6 +7,7 @@ import com.alibaba.fastjson.JSONObject; import com.github.pagehelper.PageInfo; import com.glxp.sale.admin.annotation.AuthRuleAnnotation; import com.glxp.sale.admin.constant.ConstantStatus; +import com.glxp.sale.admin.constant.ConstantType; import com.glxp.sale.admin.controller.inout.utils.DataTransUtil; import com.glxp.sale.admin.dao.inout.CodesTempDao; import com.glxp.sale.admin.dao.inout.OrderDao; @@ -21,11 +22,13 @@ import com.glxp.sale.admin.entity.inventory.InvWarehouseEntity; import com.glxp.sale.admin.entity.param.SystemParamConfigEntity; import com.glxp.sale.admin.entity.udid.UdiEntity; import com.glxp.sale.admin.req.basic.BasicEntrustRecRequest; +import com.glxp.sale.admin.req.basic.BussinessTypeFilterRequest; import com.glxp.sale.admin.req.inout.*; import com.glxp.sale.admin.req.inventory.FilterInvBusUserRequest; import com.glxp.sale.admin.req.inventory.FilterInvUserRequest; import com.glxp.sale.admin.req.inventory.FilterInvWarehouseRequest; import com.glxp.sale.admin.res.PageSimpleResponse; +import com.glxp.sale.admin.res.basic.BussinessTypResponse; import com.glxp.sale.admin.res.inout.OrderEditRequest; import com.glxp.sale.admin.service.auth.AuthAdminService; import com.glxp.sale.admin.service.auth.CustomerService; @@ -783,6 +786,56 @@ public class OrderController { return ResultVOUtils.success(); } + + @AuthRuleAnnotation("") + @GetMapping("/udiwms/inout/order/filterPreInChange") + public BaseResponse filterPreInChange(String billNo, String code) { + + + if (StrUtil.isEmpty(code) && StrUtil.isEmpty(billNo)) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL); + } + List orderEntities = new ArrayList<>(); + + if (StrUtil.isNotEmpty(code)) { + + //查询预验收单据类型 + BussinessTypeFilterRequest bussinessTypeFilterRequest = new BussinessTypeFilterRequest(); + bussinessTypeFilterRequest.setPreIn(true); + bussinessTypeFilterRequest.setMainAction(ConstantType.TYPE_PUT); + List bussinessTypResponses = bussinessTypeService.filterJoinList(bussinessTypeFilterRequest); + + List actions = new ArrayList<>(); + if (CollUtil.isNotEmpty(bussinessTypResponses)) { + for (BussinessTypResponse bussinessTypResponse : bussinessTypResponses) { + actions.add(bussinessTypResponse.getAction()); + } + WarehouseQueryRequest warehouseQueryRequest = new WarehouseQueryRequest(); + warehouseQueryRequest.setCode(code); + warehouseQueryRequest.setActions(actions); + List warehouseEntityList = codesService.findAllByOrderId(warehouseQueryRequest); + if (CollUtil.isNotEmpty(warehouseEntityList)) { + for (WarehouseEntity warehouseEntity : warehouseEntityList) { + List temps = orderService.filterPreInChange(warehouseEntity.getOrderId()); + if (CollUtil.isNotEmpty(temps)) + orderEntities.addAll(temps); + + } + } + } + + + } else { + orderEntities = orderService.filterPreInChange(billNo); + } + + PageInfo pageInfo = new PageInfo<>(orderEntities); + PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); + pageSimpleResponse.setTotal(pageInfo.getTotal()); + pageSimpleResponse.setList(orderEntities); + return ResultVOUtils.success(pageSimpleResponse); + } + /** * 根据扫码单据号查询单据信息 * diff --git a/api-admin/src/main/java/com/glxp/sale/admin/controller/inout/utils/CheckOrderUtils.java b/api-admin/src/main/java/com/glxp/sale/admin/controller/inout/utils/CheckOrderUtils.java index 09acdbf..4f47725 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/controller/inout/utils/CheckOrderUtils.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/controller/inout/utils/CheckOrderUtils.java @@ -42,10 +42,10 @@ public class CheckOrderUtils { @Resource BussinessOriginTypeService bussinessOriginTypeService; - public void check(String orderId, List vailOrderEntities) { + public void check(String orderId, List vailOrderEntities) { //被校验业务单据明细 FilterErpOrderRequest filterErpOrderRequest = new FilterErpOrderRequest(); filterErpOrderRequest.setOrderId(orderId); - List myErpOrders = orderDetailService.filterAllMyErpOrder(filterErpOrderRequest); + List myErpOrders = orderDetailService.filterAllMyErpOrder(filterErpOrderRequest); //扫码单据业务明细 OrderEntity orderEntity = orderService.findById(orderId); String errMsg = null; BussinessTypeEntity bussinessTypeEntity = bussinessTypeService.findBTByAction(orderEntity.getAction()); diff --git a/api-admin/src/main/java/com/glxp/sale/admin/dao/param/DbVersionDao.java b/api-admin/src/main/java/com/glxp/sale/admin/dao/param/DbVersionDao.java new file mode 100644 index 0000000..8db85b4 --- /dev/null +++ b/api-admin/src/main/java/com/glxp/sale/admin/dao/param/DbVersionDao.java @@ -0,0 +1,24 @@ +package com.glxp.sale.admin.dao.param; + +import com.glxp.sale.admin.entity.param.DbVersionEntity; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Update; + +@Mapper +public interface DbVersionDao { + + int selectVersion(@Param("version") String version); + + //查询版本表是否存在 + int selectTableExist(@Param("tableName") String tableName); + + //新增版本 + int insertVersion(DbVersionEntity entity); + + //执行sql + @Update("${sql}") + void updateSql(@Param("sql") String sql); + + +} diff --git a/api-admin/src/main/java/com/glxp/sale/admin/entity/basic/BasicExportStatusEntity.java b/api-admin/src/main/java/com/glxp/sale/admin/entity/basic/BasicExportStatusEntity.java index ac13ff1..f2327fa 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/entity/basic/BasicExportStatusEntity.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/entity/basic/BasicExportStatusEntity.java @@ -16,4 +16,5 @@ public class BasicExportStatusEntity { private Date startTime; private Date endTime; private String remark; + private String receiveStatus; } diff --git a/api-admin/src/main/java/com/glxp/sale/admin/entity/inout/OrderEntity.java b/api-admin/src/main/java/com/glxp/sale/admin/entity/inout/OrderEntity.java index 141aeb4..5a232f3 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/entity/inout/OrderEntity.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/entity/inout/OrderEntity.java @@ -75,5 +75,6 @@ public class OrderEntity { private String preInBillNo; private String preOutBillNo; - + private String wzUploadStatus; + private String wzUploadResult; } diff --git a/api-admin/src/main/java/com/glxp/sale/admin/entity/param/DbVersionEntity.java b/api-admin/src/main/java/com/glxp/sale/admin/entity/param/DbVersionEntity.java new file mode 100644 index 0000000..d534348 --- /dev/null +++ b/api-admin/src/main/java/com/glxp/sale/admin/entity/param/DbVersionEntity.java @@ -0,0 +1,15 @@ +package com.glxp.sale.admin.entity.param; + +import lombok.Data; + +import java.util.Date; + +@Data +public class DbVersionEntity { + + private String id; + private String version; + private String remark; + private Date created; + +} diff --git a/api-admin/src/main/java/com/glxp/sale/admin/entity/param/SchemaData.java b/api-admin/src/main/java/com/glxp/sale/admin/entity/param/SchemaData.java new file mode 100644 index 0000000..25df2c2 --- /dev/null +++ b/api-admin/src/main/java/com/glxp/sale/admin/entity/param/SchemaData.java @@ -0,0 +1,22 @@ +package com.glxp.sale.admin.entity.param; + +import lombok.Data; + + +@Data +public class SchemaData { + /** + * 版本号 + */ + public String version; + + /** + * 文件名 + */ + public String fileName; + + public SchemaData(String version, String fileName) { + this.version = version; + this.fileName = fileName; + } +} \ No newline at end of file diff --git a/api-admin/src/main/java/com/glxp/sale/admin/req/basic/BasicExportStatusRequest.java b/api-admin/src/main/java/com/glxp/sale/admin/req/basic/BasicExportStatusRequest.java index d992117..c9e0581 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/req/basic/BasicExportStatusRequest.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/req/basic/BasicExportStatusRequest.java @@ -12,4 +12,5 @@ public class BasicExportStatusRequest extends ListPageRequest { private String idDatas; public Integer createType; private String syncTime; + private String receiveStatus; } diff --git a/api-admin/src/main/java/com/glxp/sale/admin/req/basic/BussinessTypeFilterRequest.java b/api-admin/src/main/java/com/glxp/sale/admin/req/basic/BussinessTypeFilterRequest.java index 92f1d1d..c9995f2 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/req/basic/BussinessTypeFilterRequest.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/req/basic/BussinessTypeFilterRequest.java @@ -26,4 +26,6 @@ public class BussinessTypeFilterRequest extends ListPageRequest { private String code; private String ids; private List actionList; + + private Boolean preIn; } diff --git a/api-admin/src/main/java/com/glxp/sale/admin/req/inout/WarehouseQueryRequest.java b/api-admin/src/main/java/com/glxp/sale/admin/req/inout/WarehouseQueryRequest.java index 9eccdba..ee685a5 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/req/inout/WarehouseQueryRequest.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/req/inout/WarehouseQueryRequest.java @@ -3,6 +3,8 @@ package com.glxp.sale.admin.req.inout; import com.glxp.sale.admin.req.ListPageRequest; import lombok.Data; +import java.util.List; + @Data public class WarehouseQueryRequest extends ListPageRequest { @@ -13,4 +15,6 @@ public class WarehouseQueryRequest extends ListPageRequest { private String orderId; private String nameCode; private String relId; + + List actions; } diff --git a/api-admin/src/main/java/com/glxp/sale/admin/service/inout/OrderService.java b/api-admin/src/main/java/com/glxp/sale/admin/service/inout/OrderService.java index 3d24ec3..a9dea03 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/service/inout/OrderService.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/service/inout/OrderService.java @@ -44,6 +44,8 @@ public interface OrderService { List filterList(OrderFilterRequest orderFilterRequest); + List filterPreInChange(String billNo); + OrderEntity findOne(OrderFilterRequest orderFilterRequest); OrderEntity findById(String orderId); diff --git a/api-admin/src/main/java/com/glxp/sale/admin/service/inout/impl/OrderServiceImpl.java b/api-admin/src/main/java/com/glxp/sale/admin/service/inout/impl/OrderServiceImpl.java index 950c28d..573fafd 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/service/inout/impl/OrderServiceImpl.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/service/inout/impl/OrderServiceImpl.java @@ -367,6 +367,44 @@ public class OrderServiceImpl implements OrderService { return getAllOrder(orderEntity); } + + @Override + public List filterPreInChange(String billNo) { + + List orderEntities = new ArrayList<>(); + String orderId = ""; + StockOrderEntity stockOrderEntity = stockOrderDao.selectByBillNo(billNo); + if (stockOrderEntity == null) { + orderId = billNo; + } else { + orderId = stockOrderEntity.getOrderIdFk(); + } + OrderEntity orderEntity = orderDao.selectByBillNo(orderId); + orderEntities.add(orderEntity); + if (StrUtil.isNotEmpty(orderEntity.getPreInBillNo())) { + String[] priInNo = orderEntity.getPreInBillNo().split(";"); + if (priInNo != null) { + for (int i = 0; i < priInNo.length; i++) { + OrderEntity temp = orderDao.selectByBillNo(priInNo[i]); + orderEntities.add(temp); + } + } + } + + if (StrUtil.isNotEmpty(orderEntity.getPreOutBillNo())) { + String[] priInNo = orderEntity.getPreOutBillNo().split(";"); + if (priInNo != null) { + for (int i = 0; i < priInNo.length; i++) { + OrderEntity temp = orderDao.selectByBillNo(priInNo[i]); + orderEntities.add(temp); + } + } + } + + return orderEntities; + } + + //通过源单据查询所有关联的单据数据 public void getLinkedOrderId(String id, Set orderIds) { List list = getOneOrderById(id); diff --git a/api-admin/src/main/resources/application-dev.properties b/api-admin/src/main/resources/application-dev.properties index d56cca5..f24124d 100644 --- a/api-admin/src/main/resources/application-dev.properties +++ b/api-admin/src/main/resources/application-dev.properties @@ -1,7 +1,7 @@ # \u751F\u4EA7\u73AF\u5883 server.port=9906 spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver -spring.datasource.jdbc-url=jdbc:mysql://127.0.0.1:3306/spms_wmd?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true +spring.datasource.jdbc-url=jdbc:mysql://127.0.0.1:3306/spms_wmd?allowMultiQueries=true&serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true spring.datasource.username=root spring.datasource.password=123456 spring.datasource.hikari.connection-timeout=60000 diff --git a/api-admin/src/main/resources/application-pro.properties b/api-admin/src/main/resources/application-pro.properties index 59b0825..5e9b5eb 100644 --- a/api-admin/src/main/resources/application-pro.properties +++ b/api-admin/src/main/resources/application-pro.properties @@ -1,7 +1,7 @@ # \u751F\u4EA7\u73AF\u5883 server.port=9987 spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver -spring.datasource.jdbc-url=jdbc:mysql://192.168.0.62:3306/spms?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true +spring.datasource.jdbc-url=jdbc:mysql://192.168.0.62:3306/spms?allowMultiQueries=true&serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true spring.datasource.username=root spring.datasource.password=Glxp@6066 spring.datasource.hikari.connection-timeout=60000 diff --git a/api-admin/src/main/resources/application-test1.properties b/api-admin/src/main/resources/application-test1.properties index 2cb3f40..55a1c9d 100644 --- a/api-admin/src/main/resources/application-test1.properties +++ b/api-admin/src/main/resources/application-test1.properties @@ -1,7 +1,7 @@ # \u751F\u4EA7\u73AF\u5883 server.port=9996 spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver -spring.datasource.jdbc-url=jdbc:mysql://192.168.0.66:3360/spms?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true +spring.datasource.jdbc-url=jdbc:mysql://192.168.0.66:3360/spms?allowMultiQueries=true&serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true spring.datasource.username=root spring.datasource.password=root spring.datasource.hikari.connection-timeout=60000 diff --git a/api-admin/src/main/resources/application-test2.properties b/api-admin/src/main/resources/application-test2.properties index 9174c7d..0cacb06 100644 --- a/api-admin/src/main/resources/application-test2.properties +++ b/api-admin/src/main/resources/application-test2.properties @@ -1,7 +1,7 @@ # \u751F\u4EA7\u73AF\u5883 server.port=9996 spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver -spring.datasource.jdbc-url=jdbc:mysql://192.168.0.66:3362/spms?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true +spring.datasource.jdbc-url=jdbc:mysql://192.168.0.66:3362/spms?allowMultiQueries=true&serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true spring.datasource.username=root spring.datasource.password=Glxp@6066 spring.datasource.hikari.connection-timeout=60000 diff --git a/api-admin/src/main/resources/mybatis/mapper/basic/BasicExportDao.xml b/api-admin/src/main/resources/mybatis/mapper/basic/BasicExportDao.xml index 757abca..53d1627 100644 --- a/api-admin/src/main/resources/mybatis/mapper/basic/BasicExportDao.xml +++ b/api-admin/src/main/resources/mybatis/mapper/basic/BasicExportDao.xml @@ -25,6 +25,11 @@ and #{syncTime} BETWEEN startTime and endTime + + + and receiveStatus = #{receiveStatus} + + ORDER BY updateTime DESC @@ -33,7 +38,7 @@ replace - INTO basic_export_status(id,idDatas,status,`type`,updateTime,scheduleType,startTime,endTime,remark) + INTO basic_export_status(id,idDatas,status,`type`,updateTime,scheduleType,startTime,endTime,remark,receiveStatus) values( #{id}, #{idDatas}, @@ -43,7 +48,8 @@ #{scheduleType}, #{startTime}, #{endTime}, - #{remark} + #{remark}, + #{receiveStatus} ) diff --git a/api-admin/src/main/resources/mybatis/mapper/inout/CodesDao.xml b/api-admin/src/main/resources/mybatis/mapper/inout/CodesDao.xml index 430f3f7..5612ab2 100644 --- a/api-admin/src/main/resources/mybatis/mapper/inout/CodesDao.xml +++ b/api-admin/src/main/resources/mybatis/mapper/inout/CodesDao.xml @@ -33,6 +33,13 @@ and relId =#{relId} + + and + `action` in + + #{id} + + ORDER BY actDate diff --git a/api-admin/src/main/resources/mybatis/mapper/param/DbVersionDao.xml b/api-admin/src/main/resources/mybatis/mapper/param/DbVersionDao.xml new file mode 100644 index 0000000..2401f9b --- /dev/null +++ b/api-admin/src/main/resources/mybatis/mapper/param/DbVersionDao.xml @@ -0,0 +1,26 @@ + + + + + + + + + + + + insert into db_version(id, version, remark, created) + values (uuid(), #{version}, #{remark}, #{created}) + + + + \ No newline at end of file diff --git a/api-admin/src/main/resources/schemas/init.sql b/api-admin/src/main/resources/schemas/init.sql new file mode 100644 index 0000000..a76e3fa --- /dev/null +++ b/api-admin/src/main/resources/schemas/init.sql @@ -0,0 +1,101 @@ +SET NAMES utf8mb4; +SET FOREIGN_KEY_CHECKS = 0; +DROP TABLE IF EXISTS `db_version`; +CREATE TABLE `db_version` ( + `id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL, + `version` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '版本号', + `created` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', + `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '数据版本' ROW_FORMAT = Dynamic; + +SET FOREIGN_KEY_CHECKS = 1; + + +/* 创建函数Pro_Temp_ColumnWork操作表字段 */ +DROP PROCEDURE IF EXISTS Pro_Temp_ColumnWork; +CREATE PROCEDURE `Pro_Temp_ColumnWork` ( TableName VARCHAR ( 50 ), ColumnName VARCHAR ( 50 ), SqlStr VARCHAR ( 4000 ), CType INT ) BEGIN + DECLARE +Rows1 INT; + + SET Rows1 = 0; +SELECT + COUNT(*) INTO Rows1 +FROM + INFORMATION_SCHEMA.COLUMNS +WHERE + table_schema = DATABASE () + AND upper( table_name )= TableName + AND upper( column_name )= ColumnName; +IF +( CType = 1 AND Rows1 <= 0 ) THEN + + SET SqlStr := CONCAT( 'ALTER TABLE ', TableName, ' ADD COLUMN ', ColumnName, ' ', SqlStr ); + + ELSEIF ( CType = 2 AND Rows1 > 0 ) THEN + + SET SqlStr := CONCAT( 'ALTER TABLE ', TableName, ' MODIFY ', ColumnName, ' ', SqlStr ); + + ELSEIF ( CType = 3 AND Rows1 > 0 ) THEN + + SET SqlStr := CONCAT( 'ALTER TABLE ', TableName, ' DROP COLUMN ', ColumnName ); +ELSE + SET SqlStr := ''; + +END IF; + IF +( SqlStr <> '' ) THEN + + SET @SQL1 = SqlStr; +PREPARE stmt1 + FROM + @SQL1; +EXECUTE stmt1; + +END IF; + +END; +/** 函数创建结束 **/ + +/*创建定义普通索引函数*/ +DROP PROCEDURE IF EXISTS Modify_index; + +CREATE PROCEDURE Modify_index ( + TableName VARCHAR ( 50 ), + ColumnNames VARCHAR ( 500 ), + idx_name VARCHAR ( 50 ), + idx_type VARCHAR ( 50 )) BEGIN + DECLARE +Rows1 int; + DECLARE +SqlStr VARCHAR(4000); + DECLARE +target_database VARCHAR ( 100 ); +SELECT DATABASE + () INTO target_database; + +SET Rows1 = 0; +SELECT + COUNT(*) INTO Rows1 +FROM + information_schema.statistics +WHERE + table_schema = DATABASE () + AND upper( table_name )= upper(TableName) + AND upper( index_name )= upper(idx_name); +IF Rows1<=0 THEN + SET SqlStr := CONCAT( 'alter table ', TableName, ' ADD INDEX ', idx_name, '(', ColumnNames, ') USING ', idx_type ); +END IF; + IF +( SqlStr <> '' ) THEN + + SET @SQL1 = SqlStr; +PREPARE stmt1 + FROM + @SQL1; +EXECUTE stmt1; + +END IF; + +END; +/*创建定义普通索引函数结束*/ diff --git a/api-admin/src/main/resources/schemas/schema_v2.1.sql b/api-admin/src/main/resources/schemas/schema_v2.1.sql new file mode 100644 index 0000000..587b80f --- /dev/null +++ b/api-admin/src/main/resources/schemas/schema_v2.1.sql @@ -0,0 +1,9 @@ + +-- 字段新增 (表名,字段名,字段类型,修改方式(1:新增,2:修改,3:删除) +CALL Pro_Temp_ColumnWork ('basic_export_status','receiveStatus','varchar(255) ', 1); +CALL Pro_Temp_ColumnWork ('io_order','wzUploadStatus','varchar(255) ', 1); +CALL Pro_Temp_ColumnWork ('io_order','wzUploadResult','varchar(255) ', 1); + + + +-- 创建表时必须 create table if not exists 表名 \ No newline at end of file