新火炬后端单体项目初始化代码
zhangherong
6 天以前 f45ac28c492886e2c55d915c83985db91ac4dfa5
art: WMS 服务端接口提供
已添加3个文件
已修改11个文件
已删除1个文件
267 ■■■■ 文件已修改
pom.xml 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/JeecgSystemApplication.java 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/config/Swagger2Config.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/base/controller/FactoryController.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/base/service/IFactoryService.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/base/service/impl/FactoryServiceImpl.java 18 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/wms/config/WebServiceClientConfig.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/wms/config/WebServiceServerConfig.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/wms/controller/WMSTestController.java 37 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/wms/dto/ReceiveMESScanItemListResponse.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/wms/dto/WSResponse.java 19 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/wms/request/ReceiveMESScanItemList.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/wms/request/WebServiceSendItem.java 70 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/wms/service/ReceiveWMSScanItemListService.java 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/wms/service/impl/ReceiveWMSScanItemListServiceImpl.java 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pom.xml
@@ -227,11 +227,11 @@
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web-services</artifactId>
        </dependency>
<!--        <dependency>-->
<!--            <groupId>org.apache.cxf</groupId>-->
<!--            <artifactId>cxf-spring-boot-starter-jaxws</artifactId>-->
<!--            <version>${cxf.version}</version>-->
<!--        </dependency>-->
        <dependency>
            <groupId>org.apache.cxf</groupId>
            <artifactId>cxf-spring-boot-starter-jaxws</artifactId>
            <version>${cxf.version}</version>
        </dependency>
        <!-- CXF webservice -->
        <dependency>
src/main/java/org/jeecg/JeecgSystemApplication.java
@@ -1,6 +1,7 @@
package org.jeecg;
import lombok.extern.slf4j.Slf4j;
import org.apache.cxf.spring.boot.autoconfigure.CxfAutoConfiguration;
import org.flowable.spring.boot.eventregistry.EventRegistryServicesAutoConfiguration;
import org.jeecg.common.util.oConvertUtils;
import org.springframework.boot.SpringApplication;
@@ -22,7 +23,8 @@
*/
@Slf4j
@SpringBootApplication(exclude = { DataSourceAutoConfiguration.class, MongoAutoConfiguration.class,
        ManagementWebSecurityAutoConfiguration.class, EventRegistryServicesAutoConfiguration.class})
        ManagementWebSecurityAutoConfiguration.class, EventRegistryServicesAutoConfiguration.class,
        CxfAutoConfiguration.class})
public class JeecgSystemApplication extends SpringBootServletInitializer {
    @Override
src/main/java/org/jeecg/config/Swagger2Config.java
@@ -173,6 +173,24 @@
                .groupName("MES模块");
    }
    @Bean(value = "defaultApiWMS")
    public Docket defaultApiWMS() {
        return new Docket(DocumentationType.SWAGGER_2)
                .apiInfo(apiInfo())
                .select()
                //此包路径下的类,才生成接口文档
                .apis(RequestHandlerSelectors.basePackage("org.jeecg.modules.wms"))
                //加了ApiOperation注解的类,才生成接口文档
                .apis(RequestHandlerSelectors.withClassAnnotation(RestController.class))
                .apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class))
                .paths(PathSelectors.any())
                .build()
                .securitySchemes(Collections.singletonList(securityScheme()))
                .securityContexts(securityContexts())
                .globalOperationParameters(setHeaderToken())
                .groupName("WMS模块");
    }
    /***
     * oauth2配置
     * éœ€è¦å¢žåŠ swagger授权回调地址
src/main/java/org/jeecg/modules/base/controller/FactoryController.java
@@ -222,9 +222,9 @@
     }
     @ApiOperation(value = "获取所有产线列表", notes = "获取所有产线列表")
     @GetMapping(value = "/queryProductionLineList")
     public Result<List<FactoryModel>> queryProductionLineList() {
         List<Factory> factoryList = factoryService.queryProductionLineList();
     @GetMapping(value = "/queryUserProductionLineList")
     public Result<List<FactoryModel>> queryUserProductionLineList() {
         List<Factory> factoryList = factoryService.queryUserProductionLineList();
         List<FactoryModel> factoryModels = factoryList.stream()
                 .map(factory -> new FactoryModel(factory.getId(), factory.getFactoryName()))
                 .collect(Collectors.toList());
src/main/java/org/jeecg/modules/base/service/IFactoryService.java
@@ -50,5 +50,5 @@
     * æŸ¥è¯¢æŸ¥è¯¢åˆ—表
     * @return
     */
    List<Factory> queryProductionLineList();
    List<Factory> queryUserProductionLineList();
}
src/main/java/org/jeecg/modules/base/service/impl/FactoryServiceImpl.java
@@ -6,7 +6,9 @@
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.toolkit.IdWorker;
import org.apache.commons.lang3.StringUtils;
import org.apache.shiro.SecurityUtils;
import org.jeecg.common.constant.CommonConstant;
import org.jeecg.common.system.vo.LoginUser;
import org.jeecg.common.util.oConvertUtils;
import org.jeecg.modules.base.entity.Factory;
import org.jeecg.modules.base.entity.UserFactory;
@@ -24,6 +26,7 @@
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
@@ -176,10 +179,21 @@
    }
    @Override
    public List<Factory> queryProductionLineList() {
    public List<Factory> queryUserProductionLineList() {
        //用户数据权限
        LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
        if (sysUser == null) {
            return Collections.emptyList();
        }
        String productionIds = sysUser.getProductionIds();
        if(StringUtils.isBlank(productionIds)){
            return Collections.emptyList();
        }
        List<String> list = Arrays.asList(productionIds.split(","));
        LambdaQueryWrapper<Factory> queryWrapper = new LambdaQueryWrapper<>();
        queryWrapper.eq(Factory::getDelFlag, CommonConstant.DEL_FLAG_0);
        queryWrapper.eq(Factory::getFactoryCategory, "PRODUCTION_LINE");
//        queryWrapper.eq(Factory::getFactoryCategory, "PRODUCTION_LINE");
        queryWrapper.in(Factory::getId, list);
        queryWrapper.orderByAsc(Factory::getSorter);
        return super.list(queryWrapper);
    }
src/main/java/org/jeecg/modules/wms/config/WebServiceClientConfig.java
ÎļþÒÑɾ³ý
src/main/java/org/jeecg/modules/wms/config/WebServiceServerConfig.java
@@ -5,7 +5,7 @@
import org.apache.cxf.jaxws.EndpointImpl;
import org.apache.cxf.transport.servlet.CXFServlet;
import org.jeecg.modules.wms.service.ReceiveWMSScanItemListService;
import org.springframework.beans.factory.annotation.Autowired;
import org.jeecg.modules.wms.service.impl.ReceiveWMSScanItemListServiceImpl;
import org.springframework.boot.web.servlet.ServletRegistrationBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@@ -15,25 +15,28 @@
@Configuration
public class WebServiceServerConfig {
    @Autowired
    private ReceiveWMSScanItemListService receiveWMSScanItemListService;
    @Bean(name = "cxfServer")
    @Bean(name = Bus.DEFAULT_BUS_ID)
    public Bus springBus() {
        return new SpringBus();
    }
    @Bean(name = "cxfServlet")  // æ³¨å…¥servlet bean name不能dispatcherServlet ,否则会覆盖dispatcherServlet
    public ServletRegistrationBean<CXFServlet> cxfServlet() {
        return new ServletRegistrationBean<CXFServlet>(new CXFServlet(), "/webservice/*");
        return new ServletRegistrationBean<>(new CXFServlet(), "/webservice/*");
    }
    @Bean
    public ReceiveWMSScanItemListService receiveWMSScanItemListService() {
        return new ReceiveWMSScanItemListServiceImpl();
    }
    @Bean
    public Endpoint endpoint() {
        // å‚数二,是SEI实现类对象
        Endpoint endpoint = new EndpointImpl(this.springBus(), receiveWMSScanItemListService);
        Endpoint endpoint = new EndpointImpl(this.springBus(), this.receiveWMSScanItemListService());
        // å‘布服务
        endpoint.publish("/userService");
        endpoint.publish("/ReceiveWMSScanItemList");
        return endpoint;
    }
}
src/main/java/org/jeecg/modules/wms/controller/WMSTestController.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,37 @@
package org.jeecg.modules.wms.controller;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.apache.cxf.jaxws.JaxWsProxyFactoryBean;
import org.jeecg.common.api.vo.Result;
import org.jeecg.modules.wms.dto.ReceiveMESScanItemListResponse;
import org.jeecg.modules.wms.request.ReceiveMESScanItemList;
import org.jeecg.modules.wms.service.ReceiveWMSScanItemListService;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@Api(tags = "WMS集成测试")
@RestController
@RequestMapping("/wms/client")
@Slf4j
public class WMSTestController {
    @Value("${webservice.url}")
    private String url;
    @Value("${webservice.namespace}")
    private String namespace;
    @ApiOperation(value = "WMS集成测试-接收WMS移库结果", notes = "WMS集成测试-接收WMS移库结果")
    @PostMapping("/testReceiveWMSScanItemList")
    public Result<?> testReceiveWMSScanItemList() {
        JaxWsProxyFactoryBean factory = new JaxWsProxyFactoryBean();
        factory.setAddress(url);
        factory.setServiceClass(ReceiveWMSScanItemListService.class);
        ReceiveWMSScanItemListService service = (ReceiveWMSScanItemListService) factory.create();
        ReceiveMESScanItemList request = new ReceiveMESScanItemList();
        ReceiveMESScanItemListResponse response = service.receiveWMSScanItemList(request);
        return Result.ok(response);
    }
}
src/main/java/org/jeecg/modules/wms/dto/ReceiveMESScanItemListResponse.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,19 @@
package org.jeecg.modules.wms.dto;
import lombok.Getter;
import lombok.Setter;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
import java.io.Serializable;
@Getter
@Setter
@XmlRootElement(name = "ReceiveMESScanItemListResponse")
@XmlAccessorType(XmlAccessType.FIELD)
public class ReceiveMESScanItemListResponse implements Serializable {
    @XmlElement(name = "WSResponse")
    private WSResponse wsResponse;
}
src/main/java/org/jeecg/modules/wms/dto/WSResponse.java
@@ -1,6 +1,19 @@
package org.jeecg.modules.wms.dto;
public class WSResponse {
    private String ErrorCode;
    private String ErrorDesc;
import lombok.Getter;
import lombok.Setter;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import java.io.Serializable;
@Getter
@Setter
@XmlAccessorType(XmlAccessType.FIELD)
public class WSResponse implements Serializable {
    @XmlElement(name = "ErrorCode")
    private String errorCode;
    @XmlElement(name = "ErrorDesc")
    private String errorDesc;
}
src/main/java/org/jeecg/modules/wms/request/ReceiveMESScanItemList.java
@@ -1,4 +1,19 @@
package org.jeecg.modules.wms.request;
public class ReceiveMESScanItemList {
import lombok.Getter;
import lombok.Setter;
import javax.xml.bind.annotation.*;
import java.io.Serializable;
import java.util.List;
@Getter
@Setter
@XmlRootElement(name = "ReceiveMESScanItemList")
@XmlAccessorType(XmlAccessType.FIELD)
public class ReceiveMESScanItemList implements Serializable {
    @XmlElementWrapper(name = "ArrayOfWebServiceSendItem")
    @XmlElement(name = "WebServiceSendItem")
    private List<WebServiceSendItem> items;
}
src/main/java/org/jeecg/modules/wms/request/WebServiceSendItem.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,70 @@
package org.jeecg.modules.wms.request;
import lombok.Getter;
import lombok.Setter;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import java.io.Serializable;
import java.math.BigDecimal;
@Getter
@Setter
@XmlAccessorType(XmlAccessType.FIELD)
public class WebServiceSendItem implements Serializable {
    /**工厂编码 */
    @XmlElement(name = "FactoryCode")
    private String factoryCode;
    /** ç‰©æ–™ç¼–码 */
    @XmlElement(name = "SkuCode")
    private String skuCode;
    /** é¢„留号 */
    @XmlElement(name = "ReservationOrder")
    private String reservationOrder;
    /** å¯¹é½æ–¹å¼ */
    @XmlElement(name = "Align")
    private String align;
    /** æ‰˜å· */
    @XmlElement(name = "Pallet")
    private String pallet;
    /** åŒ…装编码 */
    @XmlElement(name = "PackageNo")
    private String packageNo;
    /** æ‰¹æ¬¡å· */
    @XmlElement(name = "TrackLot")
    private String trackLot;
    /** ç³»åˆ—号 */
    @XmlElement(name = "Series")
    private String series;
    /** MES库存ID */
    @XmlElement(name = "MesStockID")
    private String mesStockID;
    /** æ•°é‡ */
    @XmlElement(name = "Quantity")
    private BigDecimal quantity;
    /** SAP批次号 */
    @XmlElement(name = "SapTrackLot")
    private String sapTrackLot;
    /** å‘送库存地 */
    @XmlElement(name = "Section")
    private String section;
    /** ç›®æ ‡åº“存地 */
    @XmlElement(name = "DestSection")
    private String destSection;
    /** ä¾›åº”商代码 */
    @XmlElement(name = "SupplierCode")
    private String supplierCode;
    /** ä¾›åº”商批次号 */
    @XmlElement(name = "SupplierTrackLot")
    private String supplierTrackLot;
    /** é˜¶æ®µID */
    @XmlElement(name = "StageID")
    private String stageID;
    /** å¤‡æ³¨ */
    @XmlElement(name = "Remark")
    private String remark;
    /** è®¢å•编码 */
    @XmlElement(name = "OrderCode")
    private String orderCode;
}
src/main/java/org/jeecg/modules/wms/service/ReceiveWMSScanItemListService.java
@@ -1,8 +1,16 @@
package org.jeecg.modules.wms.service;
import org.jeecg.modules.wms.dto.ReceiveMESScanItemListResponse;
import org.jeecg.modules.wms.request.ReceiveMESScanItemList;
import javax.jws.WebService;
@WebService
@WebService(name = "ReceiveWMSScanItemList", targetNamespace = "http://xhj008.server.webservice.com")
public interface ReceiveWMSScanItemListService {
    /**
     * æŽ¥æ”¶WMS移库信息
     * @param request
     * @return
     */
    ReceiveMESScanItemListResponse receiveWMSScanItemList(ReceiveMESScanItemList request);
}
src/main/java/org/jeecg/modules/wms/service/impl/ReceiveWMSScanItemListServiceImpl.java
@@ -1,14 +1,24 @@
package org.jeecg.modules.wms.service.impl;
import lombok.extern.slf4j.Slf4j;
import org.jeecg.common.aspect.annotation.ApiLog;
import org.jeecg.common.constant.ApiLogCategoryEnum;
import org.jeecg.modules.wms.dto.ReceiveMESScanItemListResponse;
import org.jeecg.modules.wms.request.ReceiveMESScanItemList;
import org.jeecg.modules.wms.service.ReceiveWMSScanItemListService;
import org.springframework.stereotype.Service;
import javax.jws.WebService;
@WebService(name = "ReceiveWMSScanItemListService",  targetNamespace = "http://xhj008.server.webservice.com")
@Slf4j
@Service
//@Service
@WebService(name = "ReceiveWMSScanItemListService",  targetNamespace = "http://xhj008.server.webservice.com", endpointInterface = "org.jeecg.modules.wms.service.ReceiveWMSScanItemListService")
public class ReceiveWMSScanItemListServiceImpl implements ReceiveWMSScanItemListService {
    @Override
    @ApiLog(apiName = "接收WMS的移库信息(ReceiveWMSScanItemList(MES)", apiCategory = ApiLogCategoryEnum.WMS)
    public ReceiveMESScanItemListResponse receiveWMSScanItemList(ReceiveMESScanItemList request) {
        return new ReceiveMESScanItemListResponse();
    }
}