first commit

master
anthonywj 4 years ago
commit 898e1955da

25
.gitignore vendored

@ -0,0 +1,25 @@
/target/
!.mvn/wrapper/maven-wrapper.jar
### STS ###
.apt_generated
.classpath
.factorypath
.project
.settings
.springBeans
.sts4-cache
### IntelliJ IDEA ###
.idea
*.iws
*.iml
*.ipr
### NetBeans ###
/nbproject/private/
/build/
/nbbuild/
/dist/
/nbdist/
/.nb-gradle/

@ -0,0 +1,228 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>api</artifactId>
<groupId>com.glxp</groupId>
<version>0.0.1</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<packaging>war</packaging>
<artifactId>api-admin</artifactId>
<dependencies>
<!--引入公共模块,版本继承父级-->
<dependency>
<groupId>com.glxp</groupId>
<artifactId>api-common</artifactId>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
<scope>provided</scope>
</dependency>
<!--让配置文件有提示-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
<optional>true</optional>
</dependency>
<!--AOP拦截-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-aop</artifactId>
</dependency>
<!--Redis-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
<!--热启动-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<optional>true</optional>
</dependency>
<!--数据库相关-->
<!--MySQL-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.21</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>com.oracle</groupId>
<artifactId>ojdbc6</artifactId>
<version>11.2.0.4</version>
<scope>runtime</scope>
</dependency>
<!--连接池-->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>1.1.10</version>
</dependency>
<!--mybatis -->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.3.2</version>
</dependency>
<dependency>
<groupId>com.itfsw</groupId>
<artifactId>mybatis-generator-plugin</artifactId>
<version>1.3.8</version>
</dependency>
<!--分页插件-->
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper</artifactId>
<version>5.1.7</version>
</dependency>
<!--自动生成 GET SET-->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<!--JWT-->
<dependency>
<groupId>io.jsonwebtoken</groupId>
<artifactId>jjwt</artifactId>
<version>0.9.1</version>
</dependency>
<!--Json 操作-->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.xml.bind</groupId>
<artifactId>jaxb-api</artifactId>
<version>2.3.0</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.9.2</version>
</dependency>
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-autoconfigure</artifactId>
<version>1.2.5</version>
</dependency>
</dependencies>
<build>
<finalName>UDI_WMS_MC</finalName>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<!-- 5、添加插件指定jdk -->
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.8</source>
<target>1.8</target>
<fork>true</fork>
<!-- executable 可指定也可不用 -->
<!--<executable>C:\Program Files\Java\jdk1.8.0_191\bin\javac</executable>-->
</configuration>
</plugin>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<fork>true</fork><!-- 如果没有该项配置肯呢个devtools不会起作用即应用不会restart -->
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.4.2</version>
<configuration>
<skipTests>true</skipTests>
</configuration>
</plugin>
<plugin>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-maven-plugin</artifactId>
<version>1.4.0</version>
<configuration>
<configurationFile>src/main/resources/mybatis/configuration.xml</configurationFile>
<overwrite>true</overwrite>
<verbose>true</verbose>
</configuration>
<executions>
<execution>
<id>Generate MyBatis Artifacts</id>
<goals>
<goal>generate</goal>
</goals>
</execution>
</executions>
<dependencies>
<dependency>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-core</artifactId>
<version>1.4.0</version>
</dependency>
</dependencies>
</plugin>
</plugins>
</build>
</project>

@ -0,0 +1,25 @@
package com.glxp.api;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.servlet.ServletComponentScan;
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
@SpringBootApplication
@ServletComponentScan
public class ApiAdminApplication extends SpringBootServletInitializer {
public static void main(String[] args) {
SpringApplication.run(ApiAdminApplication.class, args);
}
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
return builder.sources(ApiAdminApplication.class);
}
}

@ -0,0 +1,17 @@
package com.glxp.api.admin.annotation;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
/**
* /
*/
//此注解只能修饰方法
@Target(ElementType.METHOD)
//当前注解如何去保持
@Retention(RetentionPolicy.RUNTIME)
public @interface AuthRuleAnnotation {
String value();
}

@ -0,0 +1,108 @@
package com.glxp.api.admin.aspect;
import com.glxp.api.admin.annotation.AuthRuleAnnotation;
import com.glxp.api.admin.exception.JsonException;
import com.glxp.api.admin.service.auth.AuthLoginService;
import com.glxp.api.common.enums.ResultEnum;
import com.glxp.api.admin.util.JwtUtils;
import io.jsonwebtoken.Claims;
import lombok.extern.slf4j.Slf4j;
import org.aspectj.lang.JoinPoint;
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Before;
import org.aspectj.lang.annotation.Pointcut;
import org.aspectj.lang.reflect.MethodSignature;
import org.springframework.stereotype.Component;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.lang.reflect.Method;
import java.util.List;
/**
* AOP
*/
@Aspect
@Component
@Slf4j
public class AuthorizeAspect {
@Resource
private AuthLoginService authLoginService;
@Pointcut("@annotation(com.glxp.api.admin.annotation.AuthRuleAnnotation)")
public void adminLoginVerify() {
}
/**
*
*
* @param joinPoint
*/
@Before("adminLoginVerify()")
public void doAdminAuthVerify(JoinPoint joinPoint) {
ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
if (attributes == null) {
throw new JsonException(ResultEnum.NOT_NETWORK);
}
HttpServletRequest request = attributes.getRequest();
String id = request.getHeader("ADMIN_ID");
String query = request.getQueryString();
Long adminId = null;
try {
adminId = Long.valueOf(id);
}catch (Exception e) {
throw new JsonException(ResultEnum.LOGIN_VERIFY_FALL);
}
String token = request.getHeader("ADMIN_TOKEN");
if (token == null) {
throw new JsonException(ResultEnum.LOGIN_VERIFY_FALL);
}
// 验证 token
Claims claims = JwtUtils.parse(token);
if (claims == null) {
throw new JsonException(ResultEnum.LOGIN_VERIFY_FALL);
}
Long jwtAdminId = Long.valueOf(claims.get("admin_id").toString());
if (adminId.compareTo(jwtAdminId) != 0) {
throw new JsonException(ResultEnum.LOGIN_VERIFY_FALL);
}
// 判断是否进行权限验证
MethodSignature signature = (MethodSignature) joinPoint.getSignature();
//从切面中获取当前方法
Method method = signature.getMethod();
//得到了方,提取出他的注解
AuthRuleAnnotation action = method.getAnnotation(AuthRuleAnnotation.class);
// 进行权限验证
// authRuleVerify(action.value(), adminId);
}
/**
*
*
* @param authRule
*/
private void authRuleVerify(String authRule, Long adminId) {
if (authRule != null && authRule.length() > 0) {
List<String> authRules = authLoginService.listRuleByAdminId(adminId);
// admin 为最高权限
for (String item : authRules) {
if (item.equals("admin") || item.equals(authRule)) {
return;
}
}
throw new JsonException(ResultEnum.AUTH_FAILED);
}
}
}

@ -0,0 +1,24 @@
package com.glxp.api.admin.config;
import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Configuration;
import org.springframework.stereotype.Component;
/**
*
*/
@Data
@Configuration
@Component
@ConfigurationProperties(prefix = "cors")
public class CorsConfig {
// 允许的域
private String allowedOrigins;
// 允许的方法
private String allowedMethods;
// 允许的头信息
private String allowedHeaders;
}

@ -0,0 +1,39 @@
package com.glxp.api.admin.config;
import org.springframework.beans.factory.annotation.Autowired;
import javax.servlet.*;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
//@WebFilter(urlPatterns = "/*", filterName = "corsFilter")
public class CorsFilter implements Filter {
@Autowired
private CorsConfig corsConfig;
@Override
public void destroy() {
}
@Override
public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain)
throws IOException, ServletException {
HttpServletResponse response = (HttpServletResponse) res;
response.setHeader("Access-Control-Allow-Origin", corsConfig.getAllowedOrigins());
response.setHeader("Access-Control-Allow-Methods", corsConfig.getAllowedMethods());
response.setHeader("Access-Control-Allow-Headers", corsConfig.getAllowedHeaders());
response.setHeader("Access-Control-Allow-Credentials", "true");
// response.setHeader("Access-Control-Allow-Origin", "*");
// response.setHeader("Access-Control-Allow-Methods", "Content-Type,ADMIN_ID,ADMIN_TOKEN");
// response.setHeader("Access-Control-Allow-Headers", "GET,POST");
chain.doFilter(req, res);
}
@Override
public void init(FilterConfig arg0) throws ServletException {
}
}

@ -0,0 +1,18 @@
package com.glxp.api.admin.config;
import com.alibaba.druid.support.http.WebStatFilter;
import javax.servlet.annotation.WebFilter;
import javax.servlet.annotation.WebInitParam;
/**
* ()
* druid
*/
@WebFilter(filterName = "druidWebStatFilter", urlPatterns = "/*",
initParams = {
@WebInitParam(name = "exclusions", value = "*.js,*.gif,*.jpg,*.bmp,*.png,*.css,*.ico,/druid/*")//忽略资源
}
)
public class DruidStatFilter extends WebStatFilter {
}

@ -0,0 +1,21 @@
package com.glxp.api.admin.config;
import com.alibaba.druid.support.http.StatViewServlet;
import javax.servlet.annotation.WebInitParam;
import javax.servlet.annotation.WebServlet;
/**
* druid ()
*/
@WebServlet(urlPatterns = "/druid/*", initParams={
@WebInitParam(name="allow",value="127.0.0.1"),// IP白名单 (没有配置或者为空,则允许所有访问)
@WebInitParam(name="deny",value="192.168.16.111"),// IP黑名单 (存在共同时deny优先于allow)
@WebInitParam(name="loginUsername",value="api"),// 用户名
@WebInitParam(name="loginPassword",value="api"),// 密码
@WebInitParam(name="resetEnable",value="true")// 禁用HTML页面上的“Reset All”功能
})
public class DruidStatViewServlet extends StatViewServlet {
private static final long serialVersionUID = 2359758657306626394L;
}

@ -0,0 +1,49 @@
package com.glxp.api.admin.config;
import org.apache.ibatis.session.SqlSessionFactory;
import org.mybatis.spring.SqlSessionFactoryBean;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.boot.jdbc.DataSourceBuilder;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Primary;
import org.springframework.core.io.support.PathMatchingResourcePatternResolver;
import org.springframework.jdbc.datasource.DataSourceTransactionManager;
import javax.sql.DataSource;
@Configuration
// 扫描 Mapper 接口并容器管理
@MapperScan(basePackages = MasterDataSourceConfig.PACKAGE, sqlSessionFactoryRef = "masterSqlSessionFactory")
public class MasterDataSourceConfig {
// 精确到 master 目录,以便跟其他数据源隔离
static final String PACKAGE = "com.glxp.api.admin.dao";
static final String MAPPER_LOCATION = "classpath:mybatis/mapper/*/*.xml";
@Bean(name = "masterDataSource")
@ConfigurationProperties(prefix = "spring.datasource")
@Primary
public DataSource masterDataSource() {
return DataSourceBuilder.create().build();
}
@Bean(name = "masterTransactionManager")
@Primary
public DataSourceTransactionManager masterTransactionManager() {
return new DataSourceTransactionManager(masterDataSource());
}
@Bean(name = "masterSqlSessionFactory")
@Primary
public SqlSessionFactory masterSqlSessionFactory(@Qualifier("masterDataSource") DataSource masterDataSource)
throws Exception {
final SqlSessionFactoryBean sessionFactory = new SqlSessionFactoryBean();
sessionFactory.setDataSource(masterDataSource);
sessionFactory.setMapperLocations(new PathMatchingResourcePatternResolver()
.getResources(MasterDataSourceConfig.MAPPER_LOCATION));
return sessionFactory.getObject();
}
}

@ -0,0 +1,34 @@
package com.glxp.api.admin.config;
import com.github.pagehelper.PageHelper;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import java.util.Properties;
@Configuration
public class PageHelperConfig {
/**
* pagehelper
*
* @return
*/
@Bean
public PageHelper getPageHelper() {
PageHelper pageHelper = new PageHelper();
Properties properties = new Properties();
properties.setProperty("offsetAsPageNum", "false");
properties.setProperty("rowBoundsWithCount", "false");
properties.setProperty("pageSizeZero", "true");
properties.setProperty("reasonable", "false");
properties.setProperty("supportMethodsArguments", "false");
properties.setProperty("returnPageInfo", "none");
properties.setProperty("autoDialect", "true");
properties.setProperty("autoRuntimeDialect", "true"); //处理多数据源数据库
System.out.println("配置多数据"+properties.getProperty("autoRuntimeDialect"));
pageHelper.setProperties(properties);
return pageHelper;
}
}

@ -0,0 +1,39 @@
package com.glxp.api.admin.config;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Configuration;
/**
*
*/
@Configuration
@ConfigurationProperties(prefix = "public-file")
public class PublicFileUrlConfig {
/**
*
*/
private static String uploadUrl;
public void setUploadUrl(String uploadUrl) {
PublicFileUrlConfig.uploadUrl = uploadUrl;
}
public static String getUploadUrl() {
return uploadUrl;
}
/**
*
*/
private static String domain;
public void setDomain(String domain) {
PublicFileUrlConfig.domain = domain;
}
public static String getDomain() {
return domain;
}
}

@ -0,0 +1,24 @@
package com.glxp.api.admin.config;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.CorsRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
@Configuration
public class WebMvcConfig implements WebMvcConfigurer {
@Override
public void addCorsMappings(CorsRegistry registry) {
//设置允许跨域的路径
registry.addMapping("/**")
//设置允许跨域请求的域名
.allowedOrigins("*")
//是否允许证书 不再默认开启
.allowCredentials(true)
//设置允许的方法
.allowedMethods("*")
//跨域允许时间
.maxAge(3600);
}
}

@ -0,0 +1,49 @@
package com.glxp.api.admin.constant;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class BussinessTypeUtils {
public static List<String> getBusssinessTypes() {
List<String> types = new ArrayList<>();
types.add(ConstantType.TYPE_PUT_PRODUCT);
types.add(ConstantType.TYPE_PUT_PURCHASE);
types.add(ConstantType.TYPE_PUT_RETURN);
types.add(ConstantType.TYPE_PUT_ALLOT);
types.add(ConstantType.TYPE_OUT_RETURN);
types.add(ConstantType.TYPE_OUT_DESTORY);
types.add(ConstantType.TYPE_OUT_STRAIGHT);
types.add(ConstantType.TYPE_OUT_REWORK);
types.add(ConstantType.TYPE_OUT_CHECK);
types.add(ConstantType.TYPE_CODE_REPLACE);
types.add(ConstantType.TYPE_CODE_DESTORY);
types.add(ConstantType.TYPE_STOCK_CHECK);
types.add(ConstantType.TYPE_OUT_SALE);
types.add(ConstantType.TYPE_OUT_ALLOT);
return types;
}
public static Map<String,String> getBusssinessTypeMap() {
Map<String,String> types = new HashMap<>();
types.put("生产入库", ConstantType.TYPE_PUT_PRODUCT);
types.put("采购入库", ConstantType.TYPE_PUT_PURCHASE);
types.put("退货入库", ConstantType.TYPE_PUT_RETURN);
types.put("调拨入库", ConstantType.TYPE_PUT_ALLOT);
types.put("退货出库", ConstantType.TYPE_OUT_RETURN);
types.put("销毁出库", ConstantType.TYPE_OUT_DESTORY);
types.put("直调出库", ConstantType.TYPE_OUT_STRAIGHT);
types.put("返工出库", ConstantType.TYPE_OUT_REWORK);
types.put("抽检出库", ConstantType.TYPE_OUT_CHECK);
types.put("码替换", ConstantType.TYPE_CODE_REPLACE);
types.put("码注销", ConstantType.TYPE_CODE_DESTORY);
types.put("盘点", ConstantType.TYPE_STOCK_CHECK);
types.put("销售出库", ConstantType.TYPE_OUT_SALE);
types.put("调拨出库", ConstantType.TYPE_OUT_ALLOT);
return types;
}
}

@ -0,0 +1,24 @@
package com.glxp.api.admin.constant;
public class ConstantStatus {
//订单状态
public static final Integer ORDER_STATUS_PROCESS = 1; //等待处理
public static final Integer ORDER_STATUS_CHECK = 2; //等待校验
public static final Integer ORDER_STATUS_FAIL = 3; //重码校验失败
public static final Integer ORDER_STATUS_SUCCESS = 4; //已校验
//ERP校验状态
public static final Integer ORDER_CHECK_SUCCESS = 1; //校验成功
public static final Integer ORDER_CHECK_FAIL = 0; //校验失败
//ERP订单上传状态
public static final Integer ORDER_EXPORT_UN = 0; //未导出
public static final Integer ORDER_EXPORT_ED = 1; //已导出
public static final Integer ORDER_EXPORT_FAIL = 2; //导出失败
//ERP订单签字状态
public static final Integer ORDER_SIGN_UN = 0; //未签字
public static final Integer ORDER_SIGN_ED = 1; //已签字
public static final Integer ORDER_SIGN_FAIL = 2; //签字失败
}

@ -0,0 +1,23 @@
package com.glxp.api.admin.constant;
public interface ConstantType {
String TYPE_PUT_PRODUCT = "ProduceWareHouseIn"; //生产入库
String TYPE_PUT_PURCHASE = "PurchaseWareHouseIn"; //采购入库
String TYPE_PUT_RETURN = "ReturnWareHouseIn"; //退货入库
String TYPE_PUT_ALLOT = "AllocateWareHouseIn"; //调拨入库
String TYPE_OUT_SALE = "SalesWareHouseOut"; //销售出库
String TYPE_OUT_RETURN = "ReturnWareHouseOut"; //退货出库
String TYPE_OUT_ALLOT = "AllocateWareHouseOut"; //调拨出库
String TYPE_OUT_DESTORY = "DestoryWareHouseOut"; //销毁出库
String TYPE_OUT_STRAIGHT = "DirectAllocateWareHouseOut"; //直调出库
String TYPE_OUT_REWORK = "ReworkWareHouseOut"; //返工出库
String TYPE_OUT_CHECK = "CheckWareHouseOut"; //盘点 抽检出库
String TYPE_CODE_REPLACE = "CodeReplace"; //码替换
String TYPE_CODE_DESTORY = "CodeDestory"; //码注销
String TYPE_STOCK_CHECK = "StockCheck"; //盘点
String TYPE_PUT = "WareHouseIn"; //出库
String TYPE_OUT = "WareHouseOut"; //入库
}

@ -0,0 +1,234 @@
package com.glxp.api.admin.controller.auth;
import com.github.pagehelper.PageInfo;
import com.glxp.api.admin.req.auth.AuthAdminQueryRequest;
import com.glxp.api.admin.req.auth.AuthAdminSaveRequest;
import com.glxp.api.admin.res.PageSimpleResponse;
import com.glxp.api.common.enums.ResultEnum;
import com.glxp.api.common.res.BaseResponse;
import com.glxp.api.common.util.ResultVOUtils;
import com.glxp.api.admin.annotation.AuthRuleAnnotation;
import com.glxp.api.admin.entity.auth.AuthAdmin;
import com.glxp.api.admin.entity.auth.AuthRole;
import com.glxp.api.admin.entity.auth.AuthRoleAdmin;
import com.glxp.api.admin.service.auth.AuthAdminService;
import com.glxp.api.admin.service.auth.AuthRoleAdminService;
import com.glxp.api.admin.service.auth.AuthRoleService;
import com.glxp.api.admin.util.PasswordUtils;
import com.glxp.api.admin.res.auth.AuthAdminRoleResponse;
import com.glxp.api.admin.res.auth.AuthAdminResponse;
import org.springframework.beans.BeanUtils;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import javax.validation.Valid;
import java.util.*;
import java.util.stream.Collectors;
/**
*
*/
@RestController
public class AuthAdminController {
@Resource
private AuthAdminService authAdminService;
@Resource
private AuthRoleService authRoleService;
@Resource
private AuthRoleAdminService authRoleAdminService;
/**
*
*/
@AuthRuleAnnotation("admin/auth/admin/index")
@GetMapping("/admin/auth/admin/index")
public BaseResponse index(@Valid AuthAdminQueryRequest authAdminQueryRequest,
BindingResult bindingResult) {
if (bindingResult.hasErrors()) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
}
if (authAdminQueryRequest.getRoleId() != null) {
List<AuthRoleAdmin> authRoleAdmins = authRoleAdminService.listByRoleId(authAdminQueryRequest.getRoleId());
List<Long> ids = new ArrayList<>();
if (authRoleAdmins != null && !authRoleAdmins.isEmpty()) {
ids = authRoleAdmins.stream().map(AuthRoleAdmin::getAdmin_id).collect(Collectors.toList());
}
authAdminQueryRequest.setIds(ids);
}
List<AuthAdmin> authAdmins = authAdminService.listAdminPage(authAdminQueryRequest);
List<AuthAdmin> authAdminList = new ArrayList<>();
for (AuthAdmin authAdmin : authAdmins) {
if (!authAdmin.getUserName().equals("admin")) {
authAdminList.add(authAdmin);
}
}
// 查询所有的权限
List<Long> adminIds = authAdminList.stream().map(AuthAdmin::getId).collect(Collectors.toList());
List<AuthRoleAdmin> authRoleAdminList = authRoleAdminService.listByAdminIdIn(adminIds);
// 视图列表
List<AuthAdminResponse> authAdminResponseList = authAdminList.stream().map(item -> {
AuthAdminResponse authAdminResponse = new AuthAdminResponse();
BeanUtils.copyProperties(item, authAdminResponse);
List<Long> roles = authRoleAdminList.stream()
.filter(authRoleAdmin -> authAdminResponse.getId().equals(authRoleAdmin.getAdmin_id()))
.map(AuthRoleAdmin::getRole_id)
.collect(Collectors.toList());
authAdminResponse.setRoles(roles);
return authAdminResponse;
}).collect(Collectors.toList());
PageInfo<AuthAdmin> authAdminPageInfo = new PageInfo<>(authAdminList);
PageSimpleResponse<AuthAdminResponse> authAdminPageSimpleResponse = new PageSimpleResponse<>();
authAdminPageSimpleResponse.setTotal(authAdminPageInfo.getTotal());
authAdminPageSimpleResponse.setList(authAdminResponseList);
return ResultVOUtils.success(authAdminPageSimpleResponse);
}
/**
*
*/
@AuthRuleAnnotation("admin/auth/admin/roleList")
@GetMapping("/admin/auth/admin/roleList")
public BaseResponse roleList(@RequestParam(value = "page", defaultValue = "1") Integer page,
@RequestParam(value = "limit", defaultValue = "100") Integer limit) {
List<AuthRole> authRoleList = authRoleService.listAuthAdminRolePage(page, limit, null);
PageInfo<AuthRole> pageInfo = new PageInfo<>(authRoleList);
PageSimpleResponse<AuthAdminRoleResponse> pageSimpleResponse = new PageSimpleResponse<>();
pageSimpleResponse.setTotal(pageInfo.getTotal());
List<AuthAdminRoleResponse> authAdminRoleResponses = authRoleList.stream().map(e -> {
AuthAdminRoleResponse authAdminRoleResponse = new AuthAdminRoleResponse();
BeanUtils.copyProperties(e, authAdminRoleResponse);
return authAdminRoleResponse;
}).collect(Collectors.toList());
pageSimpleResponse.setList(authAdminRoleResponses);
return ResultVOUtils.success(pageSimpleResponse);
}
/**
*
*
* @return
*/
@AuthRuleAnnotation("admin/auth/admin/save")
@PostMapping("/admin/auth/admin/save")
public BaseResponse save(@RequestBody @Valid AuthAdminSaveRequest authAdminSaveRequest,
BindingResult bindingResult) {
if (bindingResult.hasErrors()) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
}
// 检查是否存在相同名称的管理员
AuthAdmin byUserName = authAdminService.findByUserName(authAdminSaveRequest.getUserName());
if (byUserName != null) {
return ResultVOUtils.error(ResultEnum.DATA_REPEAT, "当前管理员已存在");
}
AuthAdmin authAdmin = new AuthAdmin();
BeanUtils.copyProperties(authAdminSaveRequest, authAdmin);
if (authAdmin.getPassWord() != null) {
authAdmin.setPassWord(PasswordUtils.authAdminPwd(authAdmin.getPassWord()));
}
boolean b = authAdminService.insertAuthAdmin(authAdmin);
authAdmin = authAdminService.findByUserName(authAdmin.getUserName());
if (!b) {
return ResultVOUtils.error(ResultEnum.NOT_NETWORK);
}
// 插入角色
if (authAdminSaveRequest.getRoles() != null) {
authRoleAdminService.insertRolesAdminIdAll(authAdminSaveRequest.getRoles(), authAdmin.getId());
}
Map<String, Long> res = new HashMap<>();
res.put("id", authAdmin.getId());
return ResultVOUtils.success(res);
}
/**
*
*
* @return
*/
@AuthRuleAnnotation("admin/auth/admin/edit")
@PostMapping("/admin/auth/admin/edit")
public BaseResponse edit(@RequestBody @Valid AuthAdminSaveRequest authAdminSaveRequest,
BindingResult bindingResult) {
if (bindingResult.hasErrors()) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
}
if (authAdminSaveRequest.getId() == null) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, "参数错误!");
}
// 检查是否存在除了当前管理员的其它名称的管理员
AuthAdmin byUserName = authAdminService.findByUserName(authAdminSaveRequest.getUserName());
if (byUserName != null && !authAdminSaveRequest.getId().equals(byUserName.getId())) {
return ResultVOUtils.error(ResultEnum.DATA_REPEAT, "当前管理员已存在");
}
AuthAdmin authAdmin = new AuthAdmin();
BeanUtils.copyProperties(authAdminSaveRequest, authAdmin);
if (authAdmin.getPassWord() != null) {
authAdmin.setPassWord(PasswordUtils.authAdminPwd(authAdmin.getPassWord()));
}
boolean b = authAdminService.updateAuthAdmin(authAdmin);
if (!b) {
return ResultVOUtils.error(ResultEnum.NOT_NETWORK);
}
// 修改角色
if (authAdminSaveRequest.getRoles() != null) {
// 先删除之前的
authRoleAdminService.deleteByAdminId(authAdmin.getId());
authRoleAdminService.insertRolesAdminIdAll(authAdminSaveRequest.getRoles(), authAdmin.getId());
}
return ResultVOUtils.success();
}
/**
*
*
* @return
*/
@AuthRuleAnnotation("admin/auth/admin/delete")
@PostMapping("/admin/auth/admin/delete")
public BaseResponse delete(@RequestBody AuthAdminSaveRequest authAdminSaveRequest) {
if (authAdminSaveRequest.getId() == null) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, "参数错误!");
}
boolean b = authAdminService.deleteById(authAdminSaveRequest.getId());
if (!b) {
return ResultVOUtils.error(ResultEnum.NOT_NETWORK);
}
// 先删除之前的角色
authRoleAdminService.deleteByAdminId(authAdminSaveRequest.getId());
return ResultVOUtils.success();
}
}

@ -0,0 +1,133 @@
package com.glxp.api.admin.controller.auth;
import com.glxp.api.admin.annotation.AuthRuleAnnotation;
import com.glxp.api.admin.req.auth.AuthPermissionRuleSaveRequest;
import com.glxp.api.common.enums.ResultEnum;
import com.glxp.api.common.res.BaseResponse;
import com.glxp.api.common.util.ResultVOUtils;
import com.glxp.api.admin.entity.auth.AuthPermissionRule;
import com.glxp.api.admin.service.auth.AuthPermissionRuleService;
import com.glxp.api.admin.util.PermissionRuleTreeUtils;
import com.glxp.api.admin.res.auth.AuthPermissionRuleMergeResponse;
import org.springframework.beans.BeanUtils;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import javax.validation.Valid;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
*
*/
@RestController
public class AuthPermissionRuleController {
@Resource
private AuthPermissionRuleService authPermissionRuleService;
/**
*
* @return
*/
@AuthRuleAnnotation("admin/auth/permission_rule/index")
@GetMapping("/admin/auth/permission_rule/index")
public BaseResponse index() {
List<AuthPermissionRule> authPermissionRuleList = authPermissionRuleService.listAll();
List<AuthPermissionRuleMergeResponse> merge = PermissionRuleTreeUtils.merge(authPermissionRuleList,0L);
Map<String,Object> restMap = new HashMap<>();
restMap.put("list", merge);
return ResultVOUtils.success(restMap);
}
/**
*
* @param authPermissionRuleSaveRequest
* @param bindingResult
* @return
*/
@AuthRuleAnnotation("admin/auth/permission_rule/save")
@PostMapping("/admin/auth/permission_rule/save")
public BaseResponse save(@RequestBody @Valid AuthPermissionRuleSaveRequest authPermissionRuleSaveRequest,
BindingResult bindingResult) {
if (bindingResult.hasErrors()) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
}
if (authPermissionRuleSaveRequest.getPid() == null) {
authPermissionRuleSaveRequest.setPid(0L); // 默认设置
}
AuthPermissionRule authPermissionRule = new AuthPermissionRule();
BeanUtils.copyProperties(authPermissionRuleSaveRequest, authPermissionRule);
boolean b = authPermissionRuleService.insertAuthPermissionRule(authPermissionRule);
if (!b) {
return ResultVOUtils.error(ResultEnum.NOT_NETWORK);
}
Map<String, Long> res = new HashMap<>();
res.put("id", authPermissionRule.getId());
return ResultVOUtils.success(res);
}
/**
*
* @param authPermissionRuleSaveRequest
* @param bindingResult
* @return
*/
@AuthRuleAnnotation("admin/auth/permission_rule/edit")
@PostMapping("/admin/auth/permission_rule/edit")
public BaseResponse edit(@RequestBody @Valid AuthPermissionRuleSaveRequest authPermissionRuleSaveRequest,
BindingResult bindingResult) {
if (bindingResult.hasErrors()) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
}
if (authPermissionRuleSaveRequest.getId() == null) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL);
}
authPermissionRuleSaveRequest.setPid(null); // 不能修改父级 pid
AuthPermissionRule authPermissionRule = new AuthPermissionRule();
BeanUtils.copyProperties(authPermissionRuleSaveRequest, authPermissionRule);
boolean b = authPermissionRuleService.updateAuthPermissionRule(authPermissionRule);
if (!b) {
return ResultVOUtils.error(ResultEnum.NOT_NETWORK);
}
return ResultVOUtils.success();
}
/**
*
* @param authPermissionRuleSaveRequest
* @return
*/
@AuthRuleAnnotation("admin/auth/permission_rule/delete")
@PostMapping("/admin/auth/permission_rule/delete")
public BaseResponse delete(@RequestBody AuthPermissionRuleSaveRequest authPermissionRuleSaveRequest) {
if (authPermissionRuleSaveRequest.getId() == null) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL);
}
boolean b = authPermissionRuleService.deleteById(authPermissionRuleSaveRequest.getId());
if (!b) {
return ResultVOUtils.error(ResultEnum.NOT_NETWORK);
}
return ResultVOUtils.success();
}
}

@ -0,0 +1,224 @@
package com.glxp.api.admin.controller.auth;
import com.github.pagehelper.PageInfo;
import com.glxp.api.admin.req.auth.AuthRoleAuthRequest;
import com.glxp.api.admin.req.auth.AuthRoleQueryRequest;
import com.glxp.api.admin.req.auth.AuthRoleSaveRequest;
import com.glxp.api.admin.res.PageSimpleResponse;
import com.glxp.api.common.enums.ResultEnum;
import com.glxp.api.common.res.BaseResponse;
import com.glxp.api.common.util.ResultVOUtils;
import com.glxp.api.admin.annotation.AuthRuleAnnotation;
import com.glxp.api.admin.entity.auth.AuthPermission;
import com.glxp.api.admin.entity.auth.AuthPermissionRule;
import com.glxp.api.admin.entity.auth.AuthRole;
import com.glxp.api.admin.service.auth.AuthPermissionRuleService;
import com.glxp.api.admin.service.auth.AuthPermissionService;
import com.glxp.api.admin.service.auth.AuthRoleService;
import com.glxp.api.admin.util.PermissionRuleTreeUtils;
import com.glxp.api.admin.res.auth.AuthPermissionRuleMergeResponse;
import com.glxp.api.admin.res.auth.AuthRoleResponse;
import org.springframework.beans.BeanUtils;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import javax.validation.Valid;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
*
*/
@RestController
public class AuthRoleController {
@Resource
private AuthRoleService authRoleService;
@Resource
private AuthPermissionRuleService authPermissionRuleService;
@Resource
private AuthPermissionService authPermissionService;
/**
*
*/
@AuthRuleAnnotation("admin/auth/role/index")
@GetMapping("/admin/auth/role/index")
public BaseResponse index(@Valid AuthRoleQueryRequest authRoleQueryRequest,
BindingResult bindingResult) {
if (bindingResult.hasErrors()) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
}
List<AuthRole> authRoleList = authRoleService.listAdminPage(authRoleQueryRequest);
List<AuthRoleResponse> authRoleResponseList = authRoleList.stream().map(item -> {
AuthRoleResponse authRoleResponse = new AuthRoleResponse();
BeanUtils.copyProperties(item, authRoleResponse);
return authRoleResponse;
}).collect(Collectors.toList());
PageInfo<AuthRole> pageInfo = new PageInfo<>(authRoleList);
PageSimpleResponse<AuthRoleResponse> pageSimpleResponse = new PageSimpleResponse<>();
pageSimpleResponse.setTotal(pageInfo.getTotal());
pageSimpleResponse.setList(authRoleResponseList);
return ResultVOUtils.success(pageSimpleResponse);
}
/**
*
*
* @param id
* @return
*/
@AuthRuleAnnotation("admin/auth/role/authList")
@GetMapping("/admin/auth/role/authList")
public BaseResponse authList(@RequestParam("id") Long id) {
// 查询当前角色拥有的权限id
List<AuthPermission> authPermissionList = authPermissionService.listByRoleId(id);
List<Long> checkedKeys = authPermissionList.stream()
.map(AuthPermission::getPermissionRuleId)
.collect(Collectors.toList());
// 查询所有权限规则
List<AuthPermissionRule> authPermissionRuleList = authPermissionRuleService.listAll();
List<AuthPermissionRuleMergeResponse> merge = PermissionRuleTreeUtils.merge(authPermissionRuleList, 0L);
Map<String, Object> restMap = new HashMap<>();
restMap.put("list", merge);
restMap.put("checkedKeys", checkedKeys);
return ResultVOUtils.success(restMap);
}
@AuthRuleAnnotation("admin/auth/role/auth")
@PostMapping("/admin/auth/role/auth")
public BaseResponse auth(@RequestBody @Valid AuthRoleAuthRequest authRoleAuthRequest,
BindingResult bindingResult) {
if (bindingResult.hasErrors()) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
}
// 先删除之前的授权
authPermissionService.deleteByRoleId(authRoleAuthRequest.getRole_id());
List<AuthPermission> authPermissionList = authRoleAuthRequest.getAuth_rules().stream()
.map(aLong -> {
AuthPermission authPermission = new AuthPermission();
authPermission.setRoleId(authRoleAuthRequest.getRole_id());
authPermission.setPermissionRuleId(aLong);
authPermission.setType("admin");
return authPermission;
}).collect(Collectors.toList());
int i = authPermissionService.insertAuthPermissionAll(authPermissionList);
return ResultVOUtils.success();
}
/**
*
*
* @param authRoleSaveRequest
* @param bindingResult
* @return
*/
@AuthRuleAnnotation("admin/auth/role/save")
@PostMapping("/admin/auth/role/save")
public BaseResponse save(@RequestBody @Valid AuthRoleSaveRequest authRoleSaveRequest,
BindingResult bindingResult) {
if (bindingResult.hasErrors()) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
}
AuthRole byName = authRoleService.findByName(authRoleSaveRequest.getName());
if (byName != null) {
return ResultVOUtils.error(ResultEnum.DATA_REPEAT, "当前角色已存在");
}
AuthRole authRole = new AuthRole();
BeanUtils.copyProperties(authRoleSaveRequest, authRole);
boolean b = authRoleService.insertAuthRole(authRole);
if (!b) {
return ResultVOUtils.error(ResultEnum.NOT_NETWORK);
}
Map<String, Long> res = new HashMap<>();
res.put("id", authRole.getId());
return ResultVOUtils.success(res);
}
/**
*
*
* @param authRoleSaveRequest
* @param bindingResult
* @return
*/
@AuthRuleAnnotation("admin/auth/role/edit")
@PostMapping("/admin/auth/role/edit")
public BaseResponse edit(@RequestBody @Valid AuthRoleSaveRequest authRoleSaveRequest,
BindingResult bindingResult) {
if (bindingResult.hasErrors()) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
}
if (authRoleSaveRequest.getId() == null) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL);
}
// 检查是否存在当前角色
AuthRole byName = authRoleService.findByName(authRoleSaveRequest.getName());
if (byName != null && !authRoleSaveRequest.getId().equals(byName.getId())) {
return ResultVOUtils.error(ResultEnum.DATA_REPEAT, "当前角色已存在");
}
AuthRole authRole = new AuthRole();
BeanUtils.copyProperties(authRoleSaveRequest, authRole);
boolean b = authRoleService.updateAuthRole(authRole);
if (!b) {
return ResultVOUtils.error(ResultEnum.NOT_NETWORK);
}
return ResultVOUtils.success();
}
/**
*
*
* @param authRoleSaveRequest
* @return
*/
@AuthRuleAnnotation("admin/auth/role/delete")
@PostMapping("/admin/auth/role/delete")
public BaseResponse delete(@RequestBody AuthRoleSaveRequest authRoleSaveRequest) {
if (authRoleSaveRequest.getId() == null) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL);
}
boolean b = authRoleService.deleteById(authRoleSaveRequest.getId());
if (!b) {
return ResultVOUtils.error(ResultEnum.NOT_NETWORK);
}
//TODO 删除角色后先前授权的缓存不会消失
// 再删除之前的授权
authPermissionService.deleteByRoleId(authRoleSaveRequest.getId());
return ResultVOUtils.success();
}
}

@ -0,0 +1,152 @@
package com.glxp.api.admin.controller.auth;
import com.glxp.api.admin.req.auth.LoginRequest;
import com.glxp.api.admin.req.auth.UpdatePasswordRequest;
import com.glxp.api.common.enums.ResultEnum;
import com.glxp.api.common.res.BaseResponse;
import com.glxp.api.common.util.ResultVOUtils;
import com.glxp.api.admin.annotation.AuthRuleAnnotation;
import com.glxp.api.admin.entity.auth.AuthAdmin;
import com.glxp.api.admin.exception.JsonException;
import com.glxp.api.admin.service.auth.AuthAdminService;
import com.glxp.api.admin.service.auth.AuthLoginService;
import com.glxp.api.admin.util.PasswordUtils;
import com.glxp.api.admin.res.auth.LoginUserInfoResponse;
import com.glxp.api.admin.util.IpUtils;
import com.glxp.api.admin.util.JwtUtils;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;
import javax.servlet.http.HttpServletRequest;
import javax.validation.Valid;
import java.util.*;
/**
*
*/
@RestController
@Slf4j
public class LoginController {
@Autowired
private AuthLoginService authLoginService;
@Autowired
private AuthAdminService authAdminService;
/**
*
* @return
*/
@PostMapping(value = "/login")
public BaseResponse index(@RequestBody @Valid LoginRequest loginRequest,
BindingResult bindingResult,
HttpServletRequest request) {
if (bindingResult.hasErrors()) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
}
AuthAdmin authAdmin = authAdminService.findByUserName(loginRequest.getUsername());
if (authAdmin == null) {
throw new JsonException(ResultEnum.DATA_NOT, "用户名或密码错误");
}
if (!PasswordUtils.authAdminPwd(loginRequest.getPassword()).equals(authAdmin.getPassWord())) {
throw new JsonException(ResultEnum.DATA_NOT, "用户名或密码错误");
}
// 更新登录状态
AuthAdmin authAdminUp = new AuthAdmin();
authAdminUp.setId(authAdmin.getId());
authAdminUp.setLastLoginTime(new Date());
authAdminUp.setLastLoginIp(IpUtils.getIpAddr(request));
authAdminService.updateAuthAdmin(authAdminUp);
// 登录成功后获取权限,这里面会设置到缓存
authLoginService.listRuleByAdminId(authAdmin.getId());
Map<String, Object> claims = new HashMap<>();
claims.put("admin_id", authAdmin.getId());
String token = JwtUtils.createToken(claims, 86400L); // 一天后过期
Map<String, Object> map = new HashMap<>();
map.put("id", authAdmin.getId());
map.put("token", token);
return ResultVOUtils.success(map);
}
/**
*
* @return
*/
@AuthRuleAnnotation("")
@GetMapping("/admin/auth/login/userInfo")
public BaseResponse userInfo(HttpServletRequest request) {
String adminId = request.getHeader("ADMIN_ID");
Long id = Long.valueOf(adminId);
AuthAdmin authAdmin = authAdminService.findById(id);
List<String> authRules = authLoginService.listRuleByAdminId(authAdmin.getId());
LoginUserInfoResponse loginUserInfoResponse = new LoginUserInfoResponse();
BeanUtils.copyProperties(authAdmin, loginUserInfoResponse);
loginUserInfoResponse.setAuthRules(authRules);
return ResultVOUtils.success(loginUserInfoResponse);
}
/**
*
* @return
*/
@PostMapping("/admin/auth/login/out")
public BaseResponse out(){
return ResultVOUtils.success();
}
/**
*
* @return
*/
@AuthRuleAnnotation("") // 需要登录验证,但是不需要权限验证时,value 值填空字符串
@PostMapping("/admin/auth/login/password")
public BaseResponse password(@RequestBody @Valid UpdatePasswordRequest updatePasswordRequest,
BindingResult bindingResult) {
if (bindingResult.hasErrors()) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL.getCode(),
bindingResult.getFieldError().getDefaultMessage());
}
AuthAdmin authAdmin = authAdminService.findById(updatePasswordRequest.getAdminId());
if (authAdmin == null) {
throw new JsonException(ResultEnum.DATA_NOT);
}
String oldPwd = PasswordUtils.authAdminPwd(updatePasswordRequest.getOldPassword());
// 旧密码不对
if (authAdmin.getPassWord() != null
&& !authAdmin.getPassWord().equals(oldPwd)) {
throw new JsonException(ResultEnum.DATA_NOT, "旧密码匹配失败");
}
AuthAdmin authAdminUp = new AuthAdmin();
authAdminUp.setId(authAdmin.getId());
String newPwd = PasswordUtils.authAdminPwd(updatePasswordRequest.getNewPassword());
authAdminUp.setPassWord(newPwd);
boolean b = authAdminService.updateAuthAdmin(authAdminUp);
if (b) {
return ResultVOUtils.success();
}
return ResultVOUtils.error(ResultEnum.DATA_CHANGE);
}
}

@ -0,0 +1,181 @@
package com.glxp.api.admin.controller.basic;
import com.github.pagehelper.PageInfo;
import com.glxp.api.admin.res.basic.ErpUnitsResponse;
import com.glxp.api.admin.entity.basic.BasicUnitMaintainEntity;
import com.glxp.api.admin.entity.info.SystemParamConfigEntity;
import com.glxp.api.admin.httpclient.ErpBasicClient;
import com.glxp.api.admin.req.basic.BasicUnitMaintainFilterRequest;
import com.glxp.api.admin.req.basic.BasicUnitMaintainSaveRequest;
import com.glxp.api.admin.req.info.SystemParamConfigRequest;
import com.glxp.api.admin.req.inout.DeleteRequest;
import com.glxp.api.admin.req.receipt.CombineUnitRequest;
import com.glxp.api.admin.req.receipt.UnitMaintainFilterRequest;
import com.glxp.api.admin.res.PageSimpleResponse;
import com.glxp.api.admin.res.basic.BasicUnitMaintainResponse;
import com.glxp.api.admin.service.basic.BasicUnitMaintainService;
import com.glxp.api.admin.service.info.SystemParamConfigService;
import com.glxp.api.common.enums.ResultEnum;
import com.glxp.api.common.res.BaseResponse;
import com.glxp.api.common.util.ResultVOUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import javax.validation.Valid;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
*
*/
@RestController
public class BasicUnitMaintainController {
@Resource
private BasicUnitMaintainService basicUnitMaintainService;
@Autowired
private SystemParamConfigService systemParamConfigService;
@GetMapping("/udiwms/basic/unit/maintain/filter")
public BaseResponse filterBasicUnitMaintain(BasicUnitMaintainFilterRequest basicUnitMaintainFilterRequest,
BindingResult bindingResult) {
if (bindingResult.hasErrors()) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
}
List<BasicUnitMaintainEntity> basicUnitMaintainEntities;
basicUnitMaintainEntities = basicUnitMaintainService.filterList(basicUnitMaintainFilterRequest);
PageInfo<BasicUnitMaintainEntity> pageInfo = new PageInfo<>(basicUnitMaintainEntities);
PageSimpleResponse<BasicUnitMaintainEntity> pageSimpleResponse = new PageSimpleResponse<>();
pageSimpleResponse.setTotal(pageInfo.getTotal());
pageSimpleResponse.setList(basicUnitMaintainEntities);
SystemParamConfigEntity systemParamConfigEntityBUMErpId = systemParamConfigService.selectByParamKey("basic_unit_maintain_erp_id");
SystemParamConfigEntity systemParamConfigEntityBUMThirdId = systemParamConfigService.selectByParamKey("basic_unit_maintain_third_id");
Map<String, Object> rMap = new HashMap<>();
rMap.put("BUMErpIdValue",
systemParamConfigEntityBUMErpId != null && StringUtils.isNotBlank(systemParamConfigEntityBUMErpId.getParamValue()) ?
systemParamConfigEntityBUMErpId.getParamValue() : "0");
rMap.put("BUMThirdIdValue",
systemParamConfigEntityBUMThirdId != null && StringUtils.isNotBlank(systemParamConfigEntityBUMThirdId.getParamValue()) ?
systemParamConfigEntityBUMThirdId.getParamValue() : "0");
rMap.put("page", pageSimpleResponse);
return ResultVOUtils.success(rMap);
}
@PostMapping("/udiwms/basic/unit/maintain/save")
public BaseResponse save(@RequestBody @Valid BasicUnitMaintainSaveRequest basicUnitMaintainSaveRequest,
BindingResult bindingResult) {
if (bindingResult.hasErrors()) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
}
BasicUnitMaintainEntity basicUnitMaintainEntity = new BasicUnitMaintainEntity();
BeanUtils.copyProperties(basicUnitMaintainSaveRequest, basicUnitMaintainEntity);
boolean b = basicUnitMaintainService.insert(basicUnitMaintainEntity);
if (!b) {
return ResultVOUtils.error(ResultEnum.NOT_NETWORK);
}
return ResultVOUtils.success();
}
@PostMapping("/udiwms/basic/unit/maintain/update")
public BaseResponse update(@RequestBody BasicUnitMaintainSaveRequest basicUnitMaintainSaveRequest) {
basicUnitMaintainService.updateById(basicUnitMaintainSaveRequest);
return ResultVOUtils.success("修改成功");
}
@GetMapping("/udiwms/unit/download")
public BaseResponse downloadBasicUnit(BasicUnitMaintainFilterRequest basicUnitMaintainFilterRequest,
BindingResult bindingResult) {
if (bindingResult.hasErrors()) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
}
List<BasicUnitMaintainEntity> basicUnitMaintainEntities;
basicUnitMaintainEntities = basicUnitMaintainService.filterList(basicUnitMaintainFilterRequest);
List<BasicUnitMaintainResponse> basicUnitMaintainResponses = basicUnitMaintainEntities.stream().map(item ->
{
BasicUnitMaintainResponse basicUnitMaintainResponse = new BasicUnitMaintainResponse();
BeanUtils.copyProperties(item, basicUnitMaintainResponse);
return basicUnitMaintainResponse;
}).collect(Collectors.toList());
PageInfo<BasicUnitMaintainResponse> pageInfo;
pageInfo = new PageInfo<>(basicUnitMaintainResponses);
PageSimpleResponse<BasicUnitMaintainResponse> pageSimpleResponse = new PageSimpleResponse<>();
pageSimpleResponse.setTotal(pageInfo.getTotal());
pageSimpleResponse.setList(basicUnitMaintainResponses);
return ResultVOUtils.success(pageSimpleResponse);
}
@PostMapping("/udiwms/basic/unit/maintain/combine")
public BaseResponse combine(@RequestBody CombineUnitRequest combineRequest, BindingResult bindingResult) {
if (bindingResult.hasErrors()) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
}
List<ErpUnitsResponse> custmandocResponses = combineRequest.getCustmandocResponses();
if (custmandocResponses != null && custmandocResponses.size() > 0) {
for (ErpUnitsResponse custmandocResponse : custmandocResponses) {
BasicUnitMaintainEntity basicUnitMaintainEntity = new BasicUnitMaintainEntity();
basicUnitMaintainEntity.setErpId(custmandocResponse.getId());
basicUnitMaintainEntity.setName(custmandocResponse.getName());
basicUnitMaintainEntity.setSpell(custmandocResponse.getSpell());
basicUnitMaintainEntity.setAddr(custmandocResponse.getAddr());
basicUnitMaintainEntity.setCreditNo(custmandocResponse.getCreditNo());
basicUnitMaintainEntity.setContact(custmandocResponse.getContact());
basicUnitMaintainEntity.setMobile(custmandocResponse.getMobile());
basicUnitMaintainService.insertBasicUnitMaintain(basicUnitMaintainEntity);
}
}
return ResultVOUtils.success("选入成功");
}
@PostMapping("/udiwms/basic/unit/maintain/delete")
public BaseResponse deleteBasicUnitMaintain(@RequestBody DeleteRequest deleteRequest, BindingResult bindingResult) {
if (bindingResult.hasErrors()) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
}
String id = deleteRequest.getId();
basicUnitMaintainService.deleteById(id);
return ResultVOUtils.success("删除成功");
}
//查询ERP往来单位
@GetMapping("/udiwms/unitMaintain/filterErp")
public BaseResponse filterErp(UnitMaintainFilterRequest unitMaintainFilterRequest,
BindingResult bindingResult) {
if (bindingResult.hasErrors()) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
}
SystemParamConfigEntity systemParamConfigEntityBUMErpQuery = systemParamConfigService.selectByParamKey("basic_unit_maintain_erp_query");
if (systemParamConfigEntityBUMErpQuery == null)
return ResultVOUtils.error(500, "往来单位接口地址未定义");
BaseResponse<PageSimpleResponse<ErpUnitsResponse>> udiDlDeviceResponse =
new ErpBasicClient().getErpCrop(unitMaintainFilterRequest, systemParamConfigEntityBUMErpQuery.getParamValue());
return udiDlDeviceResponse;
}
}

@ -0,0 +1,93 @@
package com.glxp.api.admin.controller.basic;
import com.github.pagehelper.PageInfo;
import com.glxp.api.admin.constant.BussinessTypeUtils;
import com.glxp.api.admin.entity.basic.BussinessTypeEntity;
import com.glxp.api.admin.req.inout.DeleteRequest;
import com.glxp.api.admin.req.receipt.BussinessTypeFilterRequest;
import com.glxp.api.admin.res.PageSimpleResponse;
import com.glxp.api.admin.service.basic.BussinessTypeService;
import com.glxp.api.common.enums.ResultEnum;
import com.glxp.api.common.res.BaseResponse;
import com.glxp.api.common.util.ResultVOUtils;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import java.util.List;
import java.util.Map;
/**
*
*/
@RestController
public class BussinessTypeController {
@Resource
private BussinessTypeService bussinessTypeService;
@GetMapping("/udiwms/bussinessType/filter")
public BaseResponse filterBussinessType(BussinessTypeFilterRequest bussinessTypeFilterRequest,
BindingResult bindingResult) {
if (bindingResult.hasErrors()) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
}
List<BussinessTypeEntity> bussinessTypeEntities;
bussinessTypeEntities = bussinessTypeService.filterList(bussinessTypeFilterRequest);
PageInfo<BussinessTypeEntity> pageInfo;
pageInfo = new PageInfo<>(bussinessTypeEntities);
PageSimpleResponse<BussinessTypeEntity> pageSimpleResponse = new PageSimpleResponse<>();
pageSimpleResponse.setTotal(pageInfo.getTotal());
pageSimpleResponse.setList(bussinessTypeEntities);
return ResultVOUtils.success(pageSimpleResponse);
}
@PostMapping("/udiwms/bussinessType/delete")
public BaseResponse deleteBussinessType(@RequestBody DeleteRequest deleteRequest, BindingResult bindingResult) {
if (bindingResult.hasErrors()) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
}
String id = deleteRequest.getId();
bussinessTypeService.deleteById(id);
return ResultVOUtils.success("删除成功");
}
@PostMapping("/udiwms/bussinessType/update")
public BaseResponse updateBussinessType(@RequestBody BussinessTypeEntity bussinessTypeEntity,
BindingResult bindingResult) {
if (bindingResult.hasErrors()) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
}
if (bussinessTypeEntity != null) {
bussinessTypeService.updateBussinessType(bussinessTypeEntity);
} else {
ResultVOUtils.error(999, "参数错误");
}
return ResultVOUtils.success("更新成功");
}
@PostMapping("/udiwms/bussinessType/insert")
public BaseResponse insertBussinessType(@RequestBody BussinessTypeEntity bussinessTypeEntity, BindingResult bindingResult) {
if (bindingResult.hasErrors()) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
}
if (bussinessTypeEntity != null) {
bussinessTypeService.insertBussinessType(bussinessTypeEntity);
} else {
ResultVOUtils.error(999, "参数错误");
}
return ResultVOUtils.success("添加成功");
}
}

@ -0,0 +1,115 @@
package com.glxp.api.admin.controller.basic;
import com.alibaba.fastjson.JSONObject;
import com.glxp.api.admin.entity.basic.UdiInfoEntity;
import com.glxp.api.admin.entity.basic.UdiRelevanceEntity;
import com.glxp.api.admin.entity.info.SystemParamConfigEntity;
import com.glxp.api.admin.entity.basic.UdiEntity;
import com.glxp.api.admin.httpclient.ErpBasicClient;
import com.glxp.api.admin.req.basic.FilterErpGoodsRequest;
import com.glxp.api.admin.req.basic.FilterUdiInfoRequest;
import com.glxp.api.admin.req.info.SystemParamConfigRequest;
import com.glxp.api.admin.res.PageSimpleResponse;
import com.glxp.api.admin.res.basic.ErpProductsResponse;
import com.glxp.api.admin.service.basic.UdiInfoService;
import com.glxp.api.admin.service.basic.UdiRelevanceService;
import com.glxp.api.admin.service.info.SystemParamConfigService;
import com.glxp.api.admin.util.FilterUdiUtils;
import com.glxp.api.admin.util.HttpClient;
import com.glxp.api.common.enums.ResultEnum;
import com.glxp.api.common.res.BaseResponse;
import com.glxp.api.common.util.ResultVOUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
//基础信息维护
@RestController
public class UdiInfoController {
@Resource
UdiRelevanceService udiRelevanceService;
@Resource
UdiInfoService udiInfoService;
@Autowired
private SystemParamConfigService systemParamConfigService;
@Value("${UDI_SERVER_URL}")
private String udiUrl;
//获取同步库UDI信息
@GetMapping("udiwms/udiinfo/filterUdi")
public BaseResponse filterUdi(FilterUdiInfoRequest productInfoFilterRequest) {
String nameCode = null;
if (productInfoFilterRequest.getNameCode() != null) {
UdiEntity udiEntity = FilterUdiUtils.getUdi(productInfoFilterRequest.getNameCode());
if (udiEntity != null) {
nameCode = udiEntity.getUdi();
} else {
nameCode = productInfoFilterRequest.getNameCode();
}
}
Map<String, Object> paramMap = new HashMap<>(16);
paramMap.put("page", productInfoFilterRequest.getPage());
paramMap.put("limit", productInfoFilterRequest.getLimit());
paramMap.put("ylqxzcrbarmc", productInfoFilterRequest.getYlqxzcrbarmc());
paramMap.put("cpmctymc", productInfoFilterRequest.getCpmctymc());
paramMap.put("nameCode", nameCode);
paramMap.put("ggxh", productInfoFilterRequest.getGgxh());
paramMap.put("uuid", productInfoFilterRequest.getUuid());
String response = HttpClient.mipsGet(udiUrl + "/udidl/device/filterUdi", paramMap);
try {
BaseResponse<PageSimpleResponse<UdiInfoEntity>> udiDlDeviceResponse = (BaseResponse<PageSimpleResponse<UdiInfoEntity>>) JSONObject.parseObject(response, BaseResponse.class);
return udiDlDeviceResponse;
} catch (Exception e) {
e.printStackTrace();
return ResultVOUtils.error(500, "连接UDI数据下载服务出错");
}
}
//获取本地已维护UDI信息
@GetMapping("udiwms/udiinfo/local/filterByUuid")
public BaseResponse filterLocalByUuid(FilterUdiInfoRequest productInfoFilterRequest) {
List<UdiInfoEntity> udiInfoEntities = udiInfoService.filterAllUdiInfo(productInfoFilterRequest);
return ResultVOUtils.success(udiInfoEntities);
}
//获取ERP产品信息
@GetMapping("udiwms/udiinfo/erp/products")
public BaseResponse getErpProducts(FilterErpGoodsRequest filterErpGoodsRequest,
BindingResult bindingResult) {
if (bindingResult.hasErrors()) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
}
SystemParamConfigEntity systemParamConfigEntity = systemParamConfigService.selectByParamKey("erp_products_query");
if (systemParamConfigEntity == null) return ResultVOUtils.error(500, "ERP产品信息接口地址未定义");
ErpBasicClient erpBasicHttpClient = new ErpBasicClient();
BaseResponse<PageSimpleResponse<ErpProductsResponse>> udiDlDeviceResponse = erpBasicHttpClient.getErpProducts(filterErpGoodsRequest, systemParamConfigEntity.getParamValue());
if (udiDlDeviceResponse.getCode() == 20000) {
List<ErpProductsResponse> invmandocResponses = udiDlDeviceResponse.getData().getList();
for (ErpProductsResponse invmandocResponse : invmandocResponses) {
UdiRelevanceEntity udiRelevanceEntity = udiRelevanceService.selectByThirdId(invmandocResponse.getCode());
if (udiRelevanceEntity != null) {
invmandocResponse.setChecked(true);
} else {
invmandocResponse.setChecked(false);
}
}
}
return udiDlDeviceResponse;
}
}

@ -0,0 +1,228 @@
package com.glxp.api.admin.controller.basic;
import com.github.pagehelper.PageInfo;
import com.glxp.api.admin.entity.basic.UdiInfoEntity;
import com.glxp.api.admin.entity.basic.UdiRelevanceEntity;
import com.glxp.api.admin.entity.info.SystemParamConfigEntity;
import com.glxp.api.admin.entity.inout.WarehouseEntity;
import com.glxp.api.admin.httpclient.UdiDlHttpClient;
import com.glxp.api.admin.req.basic.CombineRequest;
import com.glxp.api.admin.req.basic.FilterUdiInfoRequest;
import com.glxp.api.admin.req.inout.DeleteRequest;
import com.glxp.api.admin.res.PageSimpleResponse;
import com.glxp.api.admin.res.basic.UdiRelevanceResponse;
import com.glxp.api.admin.service.basic.UdiInfoService;
import com.glxp.api.admin.service.basic.UdiRelevanceService;
import com.glxp.api.admin.service.info.SystemParamConfigService;
import com.glxp.api.admin.service.inout.CodesService;
import com.glxp.api.admin.thread.BasicUpdateproductService;
import com.glxp.api.admin.util.DateUtil;
import com.glxp.api.common.enums.ResultEnum;
import com.glxp.api.common.res.BaseResponse;
import com.glxp.api.common.util.ResultVOUtils;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import java.util.List;
@RestController
public class UdiRelevanceController {
@Value("${UDI_SERVER_URL}")
private String udiUrl;
@Resource
UdiRelevanceService udiRelevanceService;
@Resource
UdiInfoService udiInfoService;
@Resource
BasicUpdateproductService updateproductService;
@Resource
CodesService warehouseService;
@Resource
private SystemParamConfigService systemParamConfigService;
//客户端器械信息下载
@GetMapping("/udi/udirel/download")
public BaseResponse downloadProducts(FilterUdiInfoRequest filterUdiInfoRequest,
BindingResult bindingResult) {
if (bindingResult.hasErrors()) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
}
List<UdiRelevanceResponse> udiRelevanceResponses = null;
udiRelevanceResponses = udiRelevanceService.filterUdiRelevance(filterUdiInfoRequest);
PageInfo<UdiRelevanceResponse> pageInfo;
pageInfo = new PageInfo<>(udiRelevanceResponses);
PageSimpleResponse<UdiRelevanceResponse> pageSimpleResponse = new PageSimpleResponse<>();
pageSimpleResponse.setTotal(pageInfo.getTotal());
pageSimpleResponse.setList(udiRelevanceResponses);
return ResultVOUtils.success(pageSimpleResponse);
}
//器械信息维护首页
@GetMapping("/udi/udirel/filterUdi")
public BaseResponse filterUdiGp(FilterUdiInfoRequest filterUdiInfoRequest,
BindingResult bindingResult) {
if (bindingResult.hasErrors()) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
}
List<UdiRelevanceResponse> udiRelevanceResponses = null;
udiRelevanceResponses = udiRelevanceService.filterUdiGp(filterUdiInfoRequest);
if (udiRelevanceResponses != null && udiRelevanceResponses.size() > 0) {
for (UdiRelevanceResponse udiRelevanceResponse : udiRelevanceResponses) {
if (udiRelevanceResponse.getDiType() == 2 && udiRelevanceResponse.getIsUseDy() != 1) {
udiRelevanceResponse.setNameCode(udiRelevanceResponse.getSjcpbm());
}
}
}
PageInfo<UdiRelevanceResponse> pageInfo;
pageInfo = new PageInfo<>(udiRelevanceResponses);
PageSimpleResponse<UdiRelevanceResponse> pageSimpleResponse = new PageSimpleResponse<>();
pageSimpleResponse.setTotal(pageInfo.getTotal());
pageSimpleResponse.setList(udiRelevanceResponses);
return ResultVOUtils.success(pageSimpleResponse);
}
//更新下载ERP存货产品
@GetMapping("/udi/udirel/updateErp")
public BaseResponse updateErp() {
SystemParamConfigEntity systemParamConfigEntity = systemParamConfigService.selectByParamKey("erp_products_query");
String productUrl;
String onHandUrl;
if (systemParamConfigEntity == null)
return ResultVOUtils.error(500, "ERP产品信息接口地址未定义");
else
productUrl = systemParamConfigEntity.getParamValue();
systemParamConfigEntity = systemParamConfigService.selectByParamKey("erp_onhand_query");
if (systemParamConfigEntity == null)
return ResultVOUtils.error(500, "ERP现存量接口地址未定义");
else
onHandUrl = systemParamConfigEntity.getParamValue();
updateproductService.updateProduct(productUrl, onHandUrl);
return ResultVOUtils.success("后台已开启下载更新,请稍后刷新查看!");
}
//多选删除
@PostMapping("/udi/udirel/deleteAll")
public BaseResponse deleteAll(@RequestBody DeleteRequest deleteRequest, BindingResult bindingResult) {
if (bindingResult.hasErrors()) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
}
List<String> ids = deleteRequest.getIds();
udiRelevanceService.deleteByIds(ids);
return ResultVOUtils.success("删除成功");
}
@PostMapping("/udi/udirel/deleteById")
public BaseResponse deleteById(@RequestBody DeleteRequest deleteRequest, BindingResult bindingResult) {
if (bindingResult.hasErrors()) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
}
String ids = deleteRequest.getId();
UdiRelevanceEntity udiRelevanceEntity = udiRelevanceService.selectById(ids);
if (udiRelevanceEntity != null && udiRelevanceEntity.getUuid() != null) {
List<UdiRelevanceEntity> udiRelevanceEntities = udiRelevanceService.selectByUuid(udiRelevanceEntity.getUuid());
if (udiRelevanceEntities != null && !udiRelevanceEntities.isEmpty()) {
for (UdiRelevanceEntity udiRelevanceEntity1 : udiRelevanceEntities) {
List<UdiInfoEntity> udiInfoEntities = udiInfoService.findByUuids(udiRelevanceEntity1.getUuid());
if (udiInfoEntities != null && udiInfoEntities.size() > 0) {
for (int i = 0; i < udiInfoEntities.size(); i++) {
List<WarehouseEntity> warehouseEntityList = warehouseService.searchCode(udiInfoEntities.get(i).getNameCode());
if (warehouseEntityList != null && warehouseEntityList.size() > 0) {
return ResultVOUtils.error(500, "改产品已被" + warehouseEntityList.get(0).getOrderId() + "订单关联不能删除");
}
}
}
}
udiInfoService.deleteByUuid(udiRelevanceEntity.getUuid());
}
}
udiRelevanceService.deleteById(ids);
return ResultVOUtils.success("删除成功");
}
@PostMapping("/udi/udirel/update")
public BaseResponse updateRelevanceEntity(@RequestBody UdiRelevanceEntity udiRelevanceEntity, BindingResult bindingResult) {
if (bindingResult.hasErrors()) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
}
udiRelevanceEntity.setUpdateTime(DateUtil.getDateTime());
udiRelevanceService.updateUdiRelevance(udiRelevanceEntity);
return ResultVOUtils.success("更新成功");
}
//新增或修改关联
@PostMapping("/udi/udirel/revleance")
public BaseResponse revleanceUdi(@RequestBody CombineRequest combineRequest) {
List<String> keys = combineRequest.getKeys();
if (keys != null && keys.size() > 0) {
for (String key : keys) {
FilterUdiInfoRequest filterUdiInfoRequest = new FilterUdiInfoRequest();
filterUdiInfoRequest.setUuid(key);
List<UdiInfoEntity> udiInfoEntities = udiInfoService.filterAllUdiInfo(filterUdiInfoRequest);
UdiRelevanceEntity udiRelevanceEntity = new UdiRelevanceEntity();
if (udiInfoEntities == null || udiInfoEntities.isEmpty()) {
udiInfoEntities = new UdiDlHttpClient(udiUrl).getUdiByUuid(key);
if (udiInfoEntities != null) {
udiInfoService.insertUdiInfos(udiInfoEntities);
} else {
return ResultVOUtils.error(500, "连接UDI数据下载服务出错");
}
}
if (combineRequest.getRelId() != null) {
udiRelevanceEntity.setId(combineRequest.getRelId());
udiRelevanceEntity.setUuid(key);
udiRelevanceEntity.setUpdateTime(DateUtil.getDateTime());
udiRelevanceService.updateUdiRelevance(udiRelevanceEntity);
} else {
udiRelevanceEntity.setThirdId(combineRequest.getThirdId());
udiRelevanceEntity.setThirdName(combineRequest.getErpName());
udiRelevanceEntity.setUpdateTime(DateUtil.getDateTime());
udiRelevanceEntity.setUuid(key);
udiRelevanceService.insertUdiRelevance(udiRelevanceEntity);
}
}
}
return ResultVOUtils.success("合并成功");
}
//更换关联ERP产品
@PostMapping("/udi/udirel/modifyRel")
public BaseResponse modifyRel(@RequestBody CombineRequest combineRequest) {
UdiRelevanceEntity udiRelevanceEntity = new UdiRelevanceEntity();
udiRelevanceEntity.setId(combineRequest.getRelId());
udiRelevanceEntity.setThirdId(combineRequest.getThirdId());
udiRelevanceEntity.setThirdName(combineRequest.getErpName());
udiRelevanceEntity.setUpdateTime(DateUtil.getDateTime());
udiRelevanceService.updateUdiRelevance(udiRelevanceEntity);
return ResultVOUtils.success("更新成功");
}
//单独选入ERP产品
@PostMapping("/udi/udirel/addErp")
public BaseResponse addErp(@RequestBody CombineRequest combineRequest) {
SystemParamConfigEntity systemParamConfigEntity = systemParamConfigService.selectByParamKey("erp_products_query");
if (systemParamConfigEntity == null) return ResultVOUtils.error(500, "ERP产品信息接口地址未定义");
String url = systemParamConfigEntity.getParamValue();
updateproductService.addProduct(combineRequest.getThirdId(), combineRequest.getErpName(), url);
return ResultVOUtils.success("添加成功");
}
}

@ -0,0 +1,36 @@
package com.glxp.api.admin.controller.info;
import com.glxp.api.admin.entity.info.CompanyEntity;
import com.glxp.api.admin.service.info.CompanyService;
import com.glxp.api.common.res.BaseResponse;
import com.glxp.api.common.util.ResultVOUtils;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
@RestController
public class CompanyController {
@Resource
private CompanyService companyService;
@GetMapping("/warehouse/info/company")
public BaseResponse getCompanyInfo() {
CompanyEntity companyEntity = companyService.findCompany();
if (companyEntity != null) {
return ResultVOUtils.success(companyEntity);
}
return ResultVOUtils.error(500, "企业信息为空");
}
@PostMapping("/warehouse/info/modifyCompany")
public BaseResponse modifyCompany(@RequestBody CompanyEntity companyEntity) {
boolean b = companyService.modifyCompany(companyEntity);
return ResultVOUtils.success("修改成功");
}
}

@ -0,0 +1,39 @@
package com.glxp.api.admin.controller.info;
import com.glxp.api.admin.entity.info.SetupEntity;
import com.glxp.api.admin.req.info.FilterSetupRequest;
import com.glxp.api.admin.service.info.SetupService;
import com.glxp.api.common.res.BaseResponse;
import com.glxp.api.common.util.ResultVOUtils;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import java.util.List;
@RestController
public class SetupController {
@Resource
private SetupService setupService;
@GetMapping("/udi/info/setup")
public BaseResponse getCompanyInfo(FilterSetupRequest filterSetupRequest) {
filterSetupRequest.setId(1);
SetupEntity setupEntity = setupService.findSetup(filterSetupRequest);
if (setupEntity != null) {
return ResultVOUtils.success(setupEntity);
}
return ResultVOUtils.error(500, "设置信息为空");
}
@PostMapping("/udi/info/setup/modify")
public BaseResponse modifyCompany(@RequestBody SetupEntity setupEntity) {
setupEntity.setId(1);
setupService.modifySetup(setupEntity);
return ResultVOUtils.success("修改成功");
}
}

@ -0,0 +1,105 @@
package com.glxp.api.admin.controller.info;
import com.github.pagehelper.PageInfo;
import com.glxp.api.admin.annotation.AuthRuleAnnotation;
import com.glxp.api.admin.entity.info.SystemParamConfigEntity;
import com.glxp.api.admin.req.info.SystemParamConfigRequest;
import com.glxp.api.admin.req.info.SystemParamConfigSaveRequest;
import com.glxp.api.admin.res.PageSimpleResponse;
import com.glxp.api.admin.res.info.SystemParamConfigResponse;
import com.glxp.api.admin.service.info.SystemParamConfigService;
import com.glxp.api.common.enums.ResultEnum;
import com.glxp.api.common.res.BaseResponse;
import com.glxp.api.common.util.ResultVOUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import javax.validation.Valid;
import java.util.List;
import java.util.stream.Collectors;
@RestController
public class SystemParamConfigController {
@Resource
private SystemParamConfigService systemParamConfigService;
@AuthRuleAnnotation("system/param/config/list")
@GetMapping("/system/param/config/list")
public BaseResponse list(@Valid SystemParamConfigRequest systemParamConfigRequest,
BindingResult bindingResult) {
if (bindingResult.hasErrors()) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
}
systemParamConfigRequest.setParamStatus(1);
List<SystemParamConfigEntity> systemParamConfigEntityList = systemParamConfigService.queryPage(systemParamConfigRequest);
List<SystemParamConfigResponse> systemParamConfigResponseList = systemParamConfigEntityList.stream().map(item -> {
SystemParamConfigResponse systemParamConfigResponse = new SystemParamConfigResponse();
BeanUtils.copyProperties(item, systemParamConfigResponse);
return systemParamConfigResponse;
}).collect(Collectors.toList());
PageInfo<SystemParamConfigEntity> pageInfo = new PageInfo<>(systemParamConfigEntityList);
PageSimpleResponse<SystemParamConfigResponse> pageSimpleResponse = new PageSimpleResponse<>();
pageSimpleResponse.setTotal(pageInfo.getTotal());
pageSimpleResponse.setList(systemParamConfigResponseList);
return ResultVOUtils.success(pageSimpleResponse);
}
@GetMapping("/udiwms/sys/config/selectByKey")
public BaseResponse selectByKey(@Valid SystemParamConfigRequest systemParamConfigRequest,
BindingResult bindingResult) {
if (bindingResult.hasErrors()) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
}
SystemParamConfigEntity systemParamConfigEntity = systemParamConfigService.selectByParamKey(systemParamConfigRequest.getParamKey());
return ResultVOUtils.success(systemParamConfigEntity);
}
@AuthRuleAnnotation("system/param/config/save")
@PostMapping("/system/param/config/save")
public BaseResponse save(@RequestBody @Valid SystemParamConfigSaveRequest systemParamConfigSaveRequest,
BindingResult bindingResult) {
if (bindingResult.hasErrors()) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
}
SystemParamConfigEntity systemParamConfigEntity = new SystemParamConfigEntity();
BeanUtils.copyProperties(systemParamConfigSaveRequest, systemParamConfigEntity);
boolean b = systemParamConfigService.insert(systemParamConfigEntity);
if (!b) {
return ResultVOUtils.error(ResultEnum.NOT_NETWORK);
}
return ResultVOUtils.success();
}
@AuthRuleAnnotation("system/param/config/update")
@PostMapping("/system/param/config/update")
public BaseResponse update(@RequestBody SystemParamConfigSaveRequest systemParamConfigSaveRequest) {
// systemParamConfigSaveRequest.setId(1);
systemParamConfigService.updateById(systemParamConfigSaveRequest);
if (systemParamConfigSaveRequest.getParentId() == 0) {
SystemParamConfigSaveRequest systemParamConfigSaveRequest1 = new SystemParamConfigSaveRequest();
systemParamConfigSaveRequest1.setParentId(systemParamConfigSaveRequest.getId());
if (systemParamConfigSaveRequest.getParamValue().equals("1")) {
systemParamConfigSaveRequest1.setParamStatus(1);
} else {
systemParamConfigSaveRequest1.setParamStatus(0);
}
systemParamConfigService.updateParentId(systemParamConfigSaveRequest1);
}
return ResultVOUtils.success("修改成功");
}
}

@ -0,0 +1,260 @@
package com.glxp.api.admin.controller.inout;
import com.github.pagehelper.PageInfo;
import com.glxp.api.admin.constant.ConstantStatus;
import com.glxp.api.admin.controller.inout.utils.ContrastErpUtil;
import com.glxp.api.admin.controller.inout.utils.InoutUtils;
import com.glxp.api.admin.entity.info.SystemParamConfigEntity;
import com.glxp.api.admin.httpclient.ErpOrderClient;
import com.glxp.api.admin.entity.inout.OrderEntity;
import com.glxp.api.admin.entity.inout.WarehouseEntity;
import com.glxp.api.admin.entity.inout.ErpOrderEntity;
import com.glxp.api.admin.entity.inout.FilterErpOrderRequest;
import com.glxp.api.admin.req.inout.*;
import com.glxp.api.admin.res.PageSimpleResponse;
import com.glxp.api.admin.service.basic.UdiInfoService;
import com.glxp.api.admin.service.basic.UdiRelevanceService;
import com.glxp.api.admin.service.info.SystemParamConfigService;
import com.glxp.api.admin.service.inout.OrderDetailService;
import com.glxp.api.admin.service.inout.OrderService;
import com.glxp.api.admin.service.inout.CodesService;
import com.glxp.api.common.enums.ResultEnum;
import com.glxp.api.common.res.BaseResponse;
import com.glxp.api.common.util.ResultVOUtils;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import javax.validation.Valid;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
@RestController
public class OrderController {
@Resource
private OrderService orderService;
@Resource
private CodesService warehouseService;
@Resource
private OrderDetailService myErpOrderService;
@Resource
private UdiInfoService udiInfoService;
@Resource
private UdiRelevanceService udiRelevanceService;
@Resource
private SystemParamConfigService systemParamConfigService;
@Value("${UCLOD_SERVER_URL}")
private String ucloudUrl;
@GetMapping("udiwms/inout/order/error")
public BaseResponse listOrderError(OrderFilterRequest orderFilterRequest) {
orderFilterRequest.setStatus(ConstantStatus.ORDER_STATUS_FAIL);
List<OrderEntity> orderEntityList = orderService.filterList(orderFilterRequest);
PageInfo<OrderEntity> pageInfo;
pageInfo = new PageInfo<>(orderEntityList);
PageSimpleResponse<OrderEntity> pageSimpleResponse = new PageSimpleResponse<>();
pageSimpleResponse.setTotal(pageInfo.getTotal());
pageSimpleResponse.setList(orderEntityList);
return ResultVOUtils.success(pageSimpleResponse);
}
@GetMapping("udiwms/inout/order/repeat")
public BaseResponse listOrderRepeat(OrderQueryRequest orderQueryRequest) {
List<OrderEntity> orderEntityList = orderService.listOrderRepeat(orderQueryRequest);
PageInfo<OrderEntity> pageInfo;
pageInfo = new PageInfo<>(orderEntityList);
PageSimpleResponse<OrderEntity> pageSimpleResponse = new PageSimpleResponse<>();
pageSimpleResponse.setTotal(pageInfo.getTotal());
pageSimpleResponse.setList(orderEntityList);
return ResultVOUtils.success(pageSimpleResponse);
}
@PostMapping("udiwms/inout/order/delete")
public BaseResponse deleteOrder(@RequestBody DeleteRequest deleteRequest, BindingResult bindingResult) {
if (bindingResult.hasErrors()) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
}
String id = deleteRequest.getId();
orderService.deleteById(id);
myErpOrderService.deleteByOrderId(id);
return ResultVOUtils.success("删除成功");
}
@PostMapping("/udiwms/inout/order/updateUnit")
public BaseResponse updateUnit(@RequestBody @Valid OrderEntity orderEntity,
BindingResult bindingResult) {
if (bindingResult.hasErrors()) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
}
boolean b = orderService.updateUnit(orderEntity);
if (!b) {
return ResultVOUtils.error(ResultEnum.NOT_NETWORK);
}
b = warehouseService.updateUnit(orderEntity.getId(), orderEntity.getFromCorpId(), orderEntity.getFromCorp());
if (!b) {
return ResultVOUtils.error(ResultEnum.NOT_NETWORK);
}
return ResultVOUtils.success("添加成功");
}
@GetMapping("/udiwms/inout/order/filter")
public BaseResponse filterOrder(OrderFilterRequest orderFilterRequest,
BindingResult bindingResult) {
if (bindingResult.hasErrors()) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
}
List<OrderEntity> orderEntityList;
if (orderFilterRequest.getCode() != null && !orderFilterRequest.getCode().equals("")) {
List<WarehouseEntity> warehouseEntityList = warehouseService.findByCode(orderFilterRequest.getCode());
orderEntityList = orderService.filterListByCode(warehouseEntityList);
} else {
orderEntityList = orderService.filterList(orderFilterRequest);
}
PageInfo<OrderEntity> pageInfo;
pageInfo = new PageInfo<>(orderEntityList);
PageSimpleResponse<OrderEntity> pageSimpleResponse = new PageSimpleResponse<>();
pageSimpleResponse.setTotal(pageInfo.getTotal());
pageSimpleResponse.setList(orderEntityList);
return ResultVOUtils.success(pageSimpleResponse);
}
@GetMapping("/udiwms/inout/order/filterCode")
public BaseResponse filterOrderByCode(OrderFilterByCodeRequest orderFilterByCodeRequest,
BindingResult bindingResult) {
if (bindingResult.hasErrors()) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
}
List<WarehouseEntity> warehouseEntityList = warehouseService.findByCode(orderFilterByCodeRequest.getCode());
List<OrderEntity> orderEntityList = orderService.filterListByCode(warehouseEntityList);
PageInfo<OrderEntity> pageInfo;
pageInfo = new PageInfo<>(orderEntityList);
PageSimpleResponse<OrderEntity> pageSimpleResponse = new PageSimpleResponse<>();
pageSimpleResponse.setTotal(pageInfo.getTotal());
pageSimpleResponse.setList(orderEntityList);
return ResultVOUtils.success(pageSimpleResponse);
}
@PostMapping("/udiwms/inout/order/updateExportStatus")
public BaseResponse updateExportStatus(@RequestBody UpdateExportStatusRequest updateExportStatusRequest,
BindingResult bindingResult) {
if (bindingResult.hasErrors()) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
}
boolean b = orderService.updateExportStatus(updateExportStatusRequest.getOrderId(), updateExportStatusRequest.getExportStatus());
if (!b) {
return ResultVOUtils.error(ResultEnum.NOT_NETWORK);
}
return ResultVOUtils.success("更新成功");
}
@PostMapping("/warehouse/inout/order/mergeOrder")
public BaseResponse mergeOrder(@RequestBody OrderMergeRequest orderMergeRequest, BindingResult bindingResult) {
if (bindingResult.hasErrors()) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
}
List<String> orderList = orderMergeRequest.getOrderList();
SystemParamConfigEntity systemParamConfigEntity = systemParamConfigService.selectByParamKey("forbidSameErp");
if (systemParamConfigEntity == null || systemParamConfigEntity.getParamValue().equals("0")) {
List<ErpOrderEntity> mergeList = new ArrayList<>();
if (orderList != null && orderList.size() > 1) {
for (String orderId : orderList) {
FilterErpOrderRequest filterErpOrderRequest = new FilterErpOrderRequest();
filterErpOrderRequest.setOrderId(orderId);
List<ErpOrderEntity> erpOrderEntities = myErpOrderService.filterAllMyErpOrder(filterErpOrderRequest);
if (erpOrderEntities != null && erpOrderEntities.size() > 0) {
mergeList.addAll(erpOrderEntities);
}
myErpOrderService.deleteByOrderId(orderId);
}
String mainOrder = orderList.get(0);
for (int i = 1; i < orderList.size(); i++) {
warehouseService.updateOrderId(orderList.get(i), mainOrder);
orderService.deleteByOrderId(orderList.get(i));
}
OrderEntity mainOrderEntity = orderService.findById(mainOrder);
List<String> docids = getDocids(mergeList);
String docidStr = "";
if (docids != null && docids.size() > 0) {
for (String temp : docids) {
docidStr = docidStr + "," + temp;
}
docidStr = docidStr.substring(1);
}
mainOrderEntity.setErpFk(docidStr);
orderService.updateOrder(mainOrderEntity);
List<ErpOrderEntity> erpOrderEntities = new ErpOrderClient(ucloudUrl).getErpOrder(docids);
if (erpOrderEntities != null && erpOrderEntities.size() > 0) {
List<ErpOrderEntity> returnOrders = new ContrastErpUtil().transErp(erpOrderEntities, udiRelevanceService, mainOrder);
myErpOrderService.insertErpOrders(returnOrders);
List<WarehouseEntity> warehouseEntityList = warehouseService.findByReceiptId(mainOrder);
new ContrastErpUtil().contrastErp(udiInfoService, udiRelevanceService, myErpOrderService, orderService, warehouseEntityList, systemParamConfigService);
} else {
orderService.updateContrastStatus(mainOrder, "error");
orderService.updateRemark(mainOrder, "U8Cloud获取ERP单失败");
return ResultVOUtils.error(500, "U8Cloud获取ERP单失败");
}
} else {
return ResultVOUtils.error(ResultEnum.DATA_ERROR);
}
} else {
if (orderList != null && orderList.size() > 1) {
for (String orderId : orderList) {
FilterErpOrderRequest filterErpOrderRequest = new FilterErpOrderRequest();
filterErpOrderRequest.setOrderId(orderId);
List<ErpOrderEntity> erpOrderEntities = myErpOrderService.filterAllMyErpOrder(filterErpOrderRequest);
if (erpOrderEntities != null && erpOrderEntities.size() > 0) {
for (ErpOrderEntity erpOrderEntity : erpOrderEntities) {
if (erpOrderEntity.getErpOrderId() != null) {
return ResultVOUtils.error(500, "已校验过订单不能合并!");
}
}
}
myErpOrderService.deleteByOrderId(orderId);
}
String mainOrder = orderList.get(0);
for (int i = 1; i < orderList.size(); i++) {
warehouseService.updateOrderId(orderList.get(i), mainOrder);
orderService.deleteByOrderId(orderList.get(i));
}
new Thread(() -> {
List<WarehouseEntity> datas = warehouseService.findByReceiptId(mainOrder);
new InoutUtils().generateConstrastDetail(udiInfoService, udiRelevanceService, myErpOrderService, datas);
}).start();
}
}
return ResultVOUtils.success("合并成功,后台正在数据转换,请稍后刷新重试!");
}
public List<String> getDocids(List<ErpOrderEntity> mergeList) {
List<String> docids = new ArrayList<>();
Map<String, List<ErpOrderEntity>> mapErps = mergeList.stream().collect(Collectors.groupingBy(ErpOrderEntity::getErpOrderId));
for (String key : mapErps.keySet()) {
docids.add(key);
}
return docids;
}
}

@ -0,0 +1,266 @@
package com.glxp.api.admin.controller.inout;
import com.github.pagehelper.PageInfo;
import com.glxp.api.admin.constant.ConstantStatus;
import com.glxp.api.admin.controller.inout.utils.ContrastErpUtil;
import com.glxp.api.admin.entity.info.SystemParamConfigEntity;
import com.glxp.api.admin.entity.inout.ErpOrderEntity;
import com.glxp.api.admin.entity.inout.FilterErpOrderRequest;
import com.glxp.api.admin.httpclient.ErpOrderClient;
import com.glxp.api.admin.res.inout.PurchaseinResponse;
import com.glxp.api.admin.entity.inout.OrderEntity;
import com.glxp.api.admin.entity.inout.WarehouseEntity;
import com.glxp.api.admin.req.inout.*;
import com.glxp.api.admin.res.PageSimpleResponse;
import com.glxp.api.admin.service.basic.UdiInfoService;
import com.glxp.api.admin.service.basic.UdiRelevanceService;
import com.glxp.api.admin.service.info.SystemParamConfigService;
import com.glxp.api.admin.service.inout.OrderDetailService;
import com.glxp.api.admin.service.inout.OrderService;
import com.glxp.api.admin.service.inout.CodesService;
import com.glxp.api.admin.thread.InvDlErpStockService;
import com.glxp.api.admin.thread.IoTransInoutService;
import com.glxp.api.common.enums.ResultEnum;
import com.glxp.api.common.res.BaseResponse;
import com.glxp.api.common.util.ResultVOUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
@RestController
public class OrderDetailController {
@Resource
OrderDetailService myErpOrderService;
@Resource
UdiInfoService udiInfoService;
@Resource
CodesService warehouseService;
@Resource
OrderService orderService;
@Resource
private UdiRelevanceService udiRelevanceService;
@Resource
private InvDlErpStockService dlErpStockService;
@Resource
private IoTransInoutService transInoutService;
@Autowired
private SystemParamConfigService systemParamConfigService;
@GetMapping("/udiwms/erpOrder/filter")
public BaseResponse filterErpOrder(FilterOrderRequest filterErpOrderRequest,
BindingResult bindingResult) {
if (bindingResult.hasErrors()) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
}
SystemParamConfigEntity systemParamConfigEntity = systemParamConfigService.selectByParamKey("erp_order_query");
if (systemParamConfigEntity == null) {
return ResultVOUtils.error(500, "ERP出入库单据接口未定义");
}
return new ErpOrderClient(systemParamConfigEntity.getParamValue()).getErpOrderResponse(filterErpOrderRequest);
//
}
@GetMapping("/warehouse/getMyErpOrders")
public BaseResponse getMyErpOrders(FilterErpOrderRequest filterErpOrderRequest,
BindingResult bindingResult) {
if (bindingResult.hasErrors()) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
}
if (filterErpOrderRequest.getDocid() == null || filterErpOrderRequest.getDocid().equals("")) {
filterErpOrderRequest.setDocid("null");
}
List<ErpOrderEntity> erpInfoEntityList = myErpOrderService.filterMyErpDetailOrder(filterErpOrderRequest);
PageInfo<ErpOrderEntity> pageInfo;
pageInfo = new PageInfo<>(erpInfoEntityList);
PageSimpleResponse<ErpOrderEntity> pageSimpleResponse = new PageSimpleResponse<>();
pageSimpleResponse.setTotal(pageInfo.getTotal());
pageSimpleResponse.setList(erpInfoEntityList);
return ResultVOUtils.success(pageSimpleResponse);
}
@PostMapping("/warehouse/deleteErpOrder")
public BaseResponse deleteErpOrder(@RequestBody DeleteRequest deleteRequest, BindingResult bindingResult) {
if (bindingResult.hasErrors()) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
}
boolean b = myErpOrderService.deleteById(deleteRequest.getId());
if (b) {
return ResultVOUtils.success("删除成功");
} else {
return ResultVOUtils.error(500, "删除失败");
}
}
@GetMapping(value = "/warehouse/inout/order/detail")
public BaseResponse orderDetail(FilterErpOrderRequest filterErpOrderRequest,
BindingResult bindingResult) {
if (bindingResult.hasErrors()) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
}
if (filterErpOrderRequest.getOrderId() == null || filterErpOrderRequest.getOrderId().equals("")) {
filterErpOrderRequest.setOrderId("1");
}
filterErpOrderRequest.setPage(1);
filterErpOrderRequest.setLimit(100);
List<ErpOrderEntity> erpOrderEntities = myErpOrderService.filterMyErpOrder(filterErpOrderRequest);
return ResultVOUtils.success(erpOrderEntities);
}
@GetMapping(value = "/warehouse/inout/order/uploadOrder")
public BaseResponse uploadOrder(FilterErpOrderRequest filterErpOrderRequest,
BindingResult bindingResult) {
if (bindingResult.hasErrors()) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
}
if (filterErpOrderRequest.getOrderId() == null || filterErpOrderRequest.getOrderId().equals("")) {
return ResultVOUtils.error(500, "上传失败");
}
filterErpOrderRequest.setPage(1);
filterErpOrderRequest.setLimit(100);
List<ErpOrderEntity> erpOrderEntities = myErpOrderService.filterMyErpOrder(filterErpOrderRequest);
OrderFilterRequest orderFilterRequest = new OrderFilterRequest();
orderFilterRequest.setId(filterErpOrderRequest.getOrderId());
OrderEntity orderEntity = orderService.findOne(orderFilterRequest);
if (erpOrderEntities != null) {
for (int i = 0; i < erpOrderEntities.size(); i++) {
if (erpOrderEntities.get(i).getErpOrderId() == null) {
return ResultVOUtils.error(500, "批次号不匹配,请检查后修改!");
}
if (erpOrderEntities.get(i).getErpOrderId().contains(",")) {
return ResultVOUtils.error(500, "无法修改合并单据!");
}
if (erpOrderEntities.get(i).getCount() > erpOrderEntities.get(i).getErpCount()) {
return ResultVOUtils.error(500, "扫码数量大于实际数量,无法修改!");
}
}
}
SystemParamConfigEntity systemParamConfigEntity = systemParamConfigService.selectByParamKey("erp_order_modify");
if (systemParamConfigEntity == null)
return ResultVOUtils.error(500, "ERP出入库单据修改接口未定义");
String url = systemParamConfigEntity.getParamValue();
Map<String, List<ErpOrderEntity>> listMap = erpOrderEntities.stream().collect(Collectors.groupingBy(ErpOrderEntity::getErpOrderId));
BaseResponse baseResponse = new ErpOrderClient().postBill(listMap, orderEntity.getAction(), url);
if (baseResponse != null && baseResponse.getCode() == 20000) {
orderService.updateExportStatus(orderEntity.getId(), ConstantStatus.ORDER_EXPORT_ED);
return ResultVOUtils.success("修改成功");
} else {
if (baseResponse != null) {
return ResultVOUtils.error(500, baseResponse.getMessage());
}
return ResultVOUtils.error(500, "修改失败");
}
}
@GetMapping("/warehouse/dlErpStock1")
public BaseResponse dlErpStock() {
dlErpStockService.dlErpStock();
return ResultVOUtils.success("后台已自动更新,请稍后刷新查看!");
}
@PostMapping("/warehouse/selectErpOrder")
public BaseResponse selectErpOrder(@RequestBody ImportErpOrderRequest importErpOrderRequest, BindingResult bindingResult) {
if (bindingResult.hasErrors()) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
}
List<PurchaseinResponse> docids = importErpOrderRequest.getPurchaseinResponses();
String docidStr = "";
if (docids != null && docids.size() > 0) {
for (PurchaseinResponse temp : docids) {
docidStr = docidStr + "," + temp.getVbillcode();
}
docidStr = docidStr.substring(1);
}
List<ErpOrderEntity> erpOrderEntities = new ArrayList<>();
if (docids != null && docids.size() > 0) {
for (PurchaseinResponse purchaseinResponse : docids) {
for (PurchaseinResponse.SubPurchase subPurchase : purchaseinResponse.getSubPurchases()) {
ErpOrderEntity erpOrderEntity = new ErpOrderEntity();
erpOrderEntity.setErpOrderId(purchaseinResponse.getVbillcode());
erpOrderEntity.setCompanyid(purchaseinResponse.getProvider_code());
erpOrderEntity.setCompanyname(purchaseinResponse.getProvider_name());
erpOrderEntity.setCredate(purchaseinResponse.getDbilldate());
erpOrderEntity.setGoodsid(subPurchase.getInventory_code());
erpOrderEntity.setGoodsname(subPurchase.getInventory_name());
erpOrderEntity.setBatchNo(subPurchase.getVbatchcode());
erpOrderEntity.setErpCount(Math.abs(subPurchase.getDtlgoodsqty()));
erpOrderEntity.setReCount(Math.abs(subPurchase.getReCount()));
erpOrderEntity.setGoodsunit(subPurchase.getInvspec());
erpOrderEntities.add(erpOrderEntity);
}
}
}
if (erpOrderEntities != null && erpOrderEntities.size() > 0) {
ErpOrderEntity temp = erpOrderEntities.get(0);
for (int i = 0; i < erpOrderEntities.size(); i++) {
if (!temp.getCompanyname().equals(erpOrderEntities.get(i).getCompanyname())) {
return ResultVOUtils.error(500, "选择Erp订单往来单位不一致");
}
}
OrderFilterRequest orderFilterRequest = new OrderFilterRequest();
orderFilterRequest.setId(importErpOrderRequest.getOrderId());
OrderEntity orderEntity = orderService.findOne(orderFilterRequest);
ErpOrderEntity exitErp = new ContrastErpUtil().vailErpExit(myErpOrderService, erpOrderEntities, importErpOrderRequest.getOrderId());
if (exitErp != null) {
String errMsg = "所选ERP单" + exitErp.getErpOrderId() + "已被其他出入库单" + exitErp.getOrderIdFk() + "绑定";
orderEntity.setRemark(errMsg);
orderService.updateOrder(orderEntity);
return ResultVOUtils.error(500, errMsg);
} else {
orderEntity.setErpFk(docidStr);
orderService.updateOrder(orderEntity);
}
myErpOrderService.deleteByOrderId(importErpOrderRequest.getOrderId());
List<ErpOrderEntity> returnOrders = new ContrastErpUtil().transErp(erpOrderEntities, udiRelevanceService, importErpOrderRequest.getOrderId());
myErpOrderService.insertErpOrders(returnOrders);
List<WarehouseEntity> warehouseEntityList = warehouseService.findByReceiptId(importErpOrderRequest.getOrderId());
new ContrastErpUtil().contrastErp(udiInfoService, udiRelevanceService, myErpOrderService, orderService, warehouseEntityList, systemParamConfigService);
} else {
return ResultVOUtils.error(500, "ERP订单不能为空");
}
return ResultVOUtils.success("导入成功");
}
@PostMapping("/warehouse/repeatCheck")
public BaseResponse repeatCheck(@RequestBody FilterErpOrderRequest filterErpOrderRequest, BindingResult bindingResult) {
if (bindingResult.hasErrors()) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
}
OrderFilterRequest orderFilterRequest = new OrderFilterRequest();
orderFilterRequest.setId(filterErpOrderRequest.getOrderId());
OrderEntity orderEntity = orderService.findOne(orderFilterRequest);
transInoutService.repeatCheck(orderEntity.getId());
return ResultVOUtils.success("后台已开始校验,请稍后刷新重试!");
}
}

@ -0,0 +1,66 @@
package com.glxp.api.admin.controller.inout;
import com.github.pagehelper.PageInfo;
import com.glxp.api.admin.entity.inout.WarehouseEntity;
import com.glxp.api.admin.req.basic.FilterUdiInfoRequest;
import com.glxp.api.admin.req.inout.WarehouseQueryRequest;
import com.glxp.api.admin.res.PageSimpleResponse;
import com.glxp.api.admin.res.basic.UdiRelevanceResponse;
import com.glxp.api.admin.res.basic.UdiTraceResponse;
import com.glxp.api.admin.service.basic.UdiRelevanceService;
import com.glxp.api.admin.service.inout.CodesService;
import com.glxp.api.common.res.BaseResponse;
import com.glxp.api.common.util.ResultVOUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import java.util.List;
import java.util.stream.Collectors;
@RestController
public class UdiTraceController {
@Resource
private CodesService warehouseService;
@Resource
UdiRelevanceService udiRelevanceService;
@GetMapping("udiwarehouse/trace/filter")
public BaseResponse list(WarehouseQueryRequest warehouseQueryRequest) {
List<WarehouseEntity> warehouseEntityList = warehouseService.findByOrderId(warehouseQueryRequest);
if (warehouseEntityList != null && warehouseEntityList.size() > 0) {
WarehouseEntity warehouseEntity = warehouseEntityList.get(0);
String udi = warehouseEntity.getCode().substring(2, 16);
FilterUdiInfoRequest filterUdiInfoRequest = new FilterUdiInfoRequest();
filterUdiInfoRequest.setNameCode(udi);
List<UdiRelevanceResponse> udiRelevanceResponses = udiRelevanceService.filterUdiGp(filterUdiInfoRequest);
UdiRelevanceResponse udiRelevance = null;
if (udiRelevanceResponses != null && udiRelevanceResponses.size() > 0) {
udiRelevance = udiRelevanceResponses.get(0);
}
UdiRelevanceResponse finalUdiRelevance = udiRelevance;
List<UdiTraceResponse> udiTraceResponseList = warehouseEntityList.stream().map(item ->
{
UdiTraceResponse udiTraceResponse = new UdiTraceResponse();
BeanUtils.copyProperties(item, udiTraceResponse);
if(finalUdiRelevance!=null){
udiTraceResponse.setYlqxzcrbarmc(finalUdiRelevance.getYlqxzcrbarmc());
udiTraceResponse.setCpmctymc(finalUdiRelevance.getCpmctymc());
udiTraceResponse.setGgxh(finalUdiRelevance.getGgxh());
}
return udiTraceResponse;
}).collect(Collectors.toList());
PageInfo<UdiTraceResponse> pageInfo;
pageInfo = new PageInfo<>(udiTraceResponseList);
PageSimpleResponse<UdiTraceResponse> pageSimpleResponse = new PageSimpleResponse<>();
pageSimpleResponse.setTotal(pageInfo.getTotal());
pageSimpleResponse.setList(udiTraceResponseList);
return ResultVOUtils.success(pageSimpleResponse);
}else {
return ResultVOUtils.error(500,"未找到该条码!");
}
}
}

@ -0,0 +1,138 @@
package com.glxp.api.admin.controller.inout;
import com.github.pagehelper.PageInfo;
import com.glxp.api.admin.entity.inout.WarehouseEntity;
import com.glxp.api.admin.req.inout.*;
import com.glxp.api.admin.res.PageSimpleResponse;
import com.glxp.api.admin.res.inout.WarehouseResponse;
import com.glxp.api.admin.service.inout.CodesTempService;
import com.glxp.api.admin.service.inout.CodesService;
import com.glxp.api.admin.thread.IoTransInoutService;
import com.glxp.api.common.enums.ResultEnum;
import com.glxp.api.common.res.BaseResponse;
import com.glxp.api.common.util.ResultVOUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.List;
import java.util.stream.Collectors;
@RestController
public class WareHouseController {
@Resource
private CodesService warehouseService;
@Resource
private IoTransInoutService transInoutService;
@Resource
private CodesTempService codesTempService;
@PostMapping("/warehouse/inout/code/deleteCodes")
public BaseResponse deleteCodes(@RequestBody DeleteCodeRequest deleteCodeRequest, BindingResult bindingResult) {
if (bindingResult.hasErrors()) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
}
List<Long> codes = deleteCodeRequest.getCodes();
if (codes != null && codes.size() > 0) {
codesTempService.deleteCodesTemp(codes);
} else {
return ResultVOUtils.error(ResultEnum.DATA_ERROR);
}
return ResultVOUtils.success("删除成功");
}
@GetMapping("admin/warehouse/inout/findByNo")
public BaseResponse findByNo(WarehouseQueryRequest warehouseQueryRequest) {
List<WarehouseEntity> warehouseEntityList = warehouseService.findByNo(warehouseQueryRequest);
List<WarehouseResponse> warehouseResponses = warehouseEntityList.stream().map(item ->
{
WarehouseResponse warehouseResponse = new WarehouseResponse();
BeanUtils.copyProperties(item, warehouseResponse);
return warehouseResponse;
}).collect(Collectors.toList());
PageInfo<WarehouseEntity> pageInfo;
pageInfo = new PageInfo<>(warehouseEntityList);
PageSimpleResponse<WarehouseResponse> pageSimpleResponse = new PageSimpleResponse<>();
pageSimpleResponse.setTotal(pageInfo.getTotal());
pageSimpleResponse.setList(warehouseResponses);
return ResultVOUtils.success(pageSimpleResponse);
}
@GetMapping("admin/warehouse/inout/findByOrderId")
public BaseResponse findByOrderId(WarehouseQueryRequest warehouseQueryRequest) {
List<WarehouseEntity> warehouseEntityList = warehouseService.findByOrderId(warehouseQueryRequest);
List<WarehouseResponse> warehouseResponses = warehouseEntityList.stream().map(item ->
{
WarehouseResponse warehouseResponse = new WarehouseResponse();
BeanUtils.copyProperties(item, warehouseResponse);
return warehouseResponse;
}).collect(Collectors.toList());
PageInfo<WarehouseEntity> pageInfo;
pageInfo = new PageInfo<>(warehouseEntityList);
PageSimpleResponse<WarehouseResponse> pageSimpleResponse = new PageSimpleResponse<>();
pageSimpleResponse.setTotal(pageInfo.getTotal());
pageSimpleResponse.setList(warehouseResponses);
return ResultVOUtils.success(pageSimpleResponse);
}
@GetMapping("admin/warehouse/inout/findAllByOrderId")
public BaseResponse findAllByOrderId(WarehouseQueryRequest warehouseQueryRequest) {
List<WarehouseEntity> warehouseEntityList = warehouseService.findAllByOrderId(warehouseQueryRequest);
List<WarehouseResponse> warehouseResponses = warehouseEntityList.stream().map(item ->
{
WarehouseResponse warehouseResponse = new WarehouseResponse();
BeanUtils.copyProperties(item, warehouseResponse);
return warehouseResponse;
}).collect(Collectors.toList());
PageInfo<WarehouseEntity> pageInfo;
pageInfo = new PageInfo<>(warehouseEntityList);
PageSimpleResponse<WarehouseResponse> pageSimpleResponse = new PageSimpleResponse<>();
pageSimpleResponse.setTotal(pageInfo.getTotal());
pageSimpleResponse.setList(warehouseResponses);
return ResultVOUtils.success(pageSimpleResponse);
}
@GetMapping("admin/warehouse/inout/findErrorByOrderId")
public BaseResponse findErrorByOrderId(WarehouseQueryRequest warehouseQueryRequest) {
List<WarehouseEntity> warehousetempList = codesTempService.findByOrderId(warehouseQueryRequest);
PageInfo<WarehouseEntity> pageInfo;
pageInfo = new PageInfo<>(warehousetempList);
PageSimpleResponse<WarehouseEntity> pageSimpleResponse = new PageSimpleResponse<>();
pageSimpleResponse.setTotal(pageInfo.getTotal());
pageSimpleResponse.setList(warehousetempList);
return ResultVOUtils.success(pageSimpleResponse);
}
@PostMapping("warehouse/inout/postOrders")
public BaseResponse postOrders(@RequestBody PostOrderRequest postOrderRequest, BindingResult bindingResult) {
if (bindingResult.hasErrors()) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
}
try {
transInoutService.creatOrder(postOrderRequest);
} catch (Exception e) {
return ResultVOUtils.error(ResultEnum.NOT_NETWORK);
}
return ResultVOUtils.success("导入成功");
}
@PostMapping("/warehouse/inout/commit")
public BaseResponse commitOrder(@RequestBody CommitRequest commitRequest,
BindingResult bindingResult) {
if (bindingResult.hasErrors()) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
}
transInoutService.repeatCommit(commitRequest);
return ResultVOUtils.success("提交成功");
}
}

@ -0,0 +1,260 @@
package com.glxp.api.admin.controller.inout.utils;
import com.glxp.api.admin.constant.ConstantStatus;
import com.glxp.api.admin.entity.basic.UdiInfoEntity;
import com.glxp.api.admin.entity.basic.UdiRelevanceEntity;
import com.glxp.api.admin.entity.info.SystemParamConfigEntity;
import com.glxp.api.admin.entity.inout.OrderEntity;
import com.glxp.api.admin.entity.inout.WarehouseEntity;
import com.glxp.api.admin.entity.inout.ErpOrderEntity;
import com.glxp.api.admin.entity.inout.FilterErpOrderRequest;
import com.glxp.api.admin.req.basic.FilterUdiInfoRequest;
import com.glxp.api.admin.req.inout.OrderFilterRequest;
import com.glxp.api.admin.res.basic.UdiRelevanceResponse;
import com.glxp.api.admin.service.basic.UdiInfoService;
import com.glxp.api.admin.service.basic.UdiRelevanceService;
import com.glxp.api.admin.service.info.SystemParamConfigService;
import com.glxp.api.admin.service.inout.OrderDetailService;
import com.glxp.api.admin.service.inout.OrderService;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class ContrastErpUtil {
int erpTotalCount;
List<ErpOrderEntity> mErpOrderEntities;
String udiUrl = "";
public ContrastErpUtil() {
}
public ContrastErpUtil(String udiUrl) {
this.udiUrl = udiUrl;
}
public void contrastErp(UdiInfoService udiInfoService, UdiRelevanceService udiRelevanceService,
OrderDetailService myErpOrderService,
OrderService orderService,
List<WarehouseEntity> warehouseEntityList, SystemParamConfigService setupService) {
String orderIdFk = warehouseEntityList.get(0).getOrderId();
FilterErpOrderRequest filterErpOrderRequest = new FilterErpOrderRequest();
filterErpOrderRequest.setOrderId(orderIdFk);
mErpOrderEntities = myErpOrderService.filterAllMyErpOrder(filterErpOrderRequest);
if (mErpOrderEntities != null && mErpOrderEntities.size() > 0)
for (ErpOrderEntity erpOrderEntity : mErpOrderEntities) {
erpTotalCount = erpTotalCount + erpOrderEntity.getErpCount();
erpOrderEntity.setCount(0);
}
String errMsg = null;
String resultMsg = null;
List<WarehouseEntity> errorData = new ArrayList<>();
for (WarehouseEntity warehouseEntity : warehouseEntityList) {
UdiInfoEntity udiInfoEntity = new InoutUtils(udiUrl).getUdiInfo(udiInfoService, udiRelevanceService, warehouseEntity.getCode());
if (warehouseEntity.getCount() > 1) {
udiInfoEntity.setCount(warehouseEntity.getCount());
}
List<UdiRelevanceEntity> udiRelevanceEntities = udiRelevanceService.selectByUuid(udiInfoEntity.getUuid());
if (udiRelevanceEntities != null && udiRelevanceEntities.size() > 0) {
UdiRelevanceEntity udiRelevanceEntity = checkGoodsId(udiRelevanceEntities);
if (udiRelevanceEntity != null) {
udiInfoEntity.setThirdId(udiRelevanceEntity.getThirdId());
udiInfoEntity.setThirdName(udiRelevanceEntity.getThirdName());
udiInfoEntity.setWarehouseCode(warehouseEntity.getWarehouseCode());
errMsg = vaildErpOrder(warehouseEntityList, udiInfoEntity);
if (errMsg != null && (errMsg.equals("产品信息不匹配") || errMsg.equals("非此单产品批次号"))) {
errorData.add(warehouseEntity);
}
} else {
errMsg = "产品信息不匹配";
errorData.add(warehouseEntity);
}
} else {
errMsg = "产品信息未维护";
errorData.add(warehouseEntity);
}
if (resultMsg == null && errMsg != null) {
resultMsg = errMsg;
}
}
myErpOrderService.insertErpOrders(mErpOrderEntities);
OrderFilterRequest orderFilterRequest = new OrderFilterRequest();
orderFilterRequest.setId(orderIdFk);
OrderEntity orderEntity = orderService.findOne(orderFilterRequest);
ErpOrderEntity vailExitMsg = vailErpExit(myErpOrderService, mErpOrderEntities, orderIdFk);
SystemParamConfigEntity systemParamConfigEntity = setupService.selectByParamKey("forbidSameErp");
if (vailExitMsg != null && systemParamConfigEntity!=null && systemParamConfigEntity.getParamValue().equals("1")) {
errMsg = "所选ERP单" + vailExitMsg.getErpOrderId() + "已被其他出入库单" + vailExitMsg.getOrderIdFk() + "绑定!";
}
if (mErpOrderEntities != null && mErpOrderEntities.size() > 0)
for (ErpOrderEntity erpOrderEntity : mErpOrderEntities) {
if (erpOrderEntity.getErpCount() != erpOrderEntity.getCount()) {
errMsg = "所选ERP单" + erpOrderEntity.getErpOrderId() + "下" + erpOrderEntity.getGoodsname() + "数量不匹配";
}
}
if (errMsg != null) {
orderEntity.setContrastStatus(ConstantStatus.ORDER_CHECK_FAIL);
orderEntity.setRemark(errMsg);
} else {
orderEntity.setContrastStatus(ConstantStatus.ORDER_CHECK_SUCCESS);
}
orderService.updateOrder(orderEntity);
if (errorData.size() > 0) {
new InoutUtils(udiUrl).generateConstrastDetail(udiInfoService, udiRelevanceService, myErpOrderService, errorData);
}
}
public UdiRelevanceEntity checkGoodsId(List<UdiRelevanceEntity> udiRelevanceEntities) {
if (mErpOrderEntities.size() > 0) {
for (ErpOrderEntity erpOrderEntity : mErpOrderEntities) {
for (UdiRelevanceEntity udiRelevanceEntity : udiRelevanceEntities) {
if (erpOrderEntity.getGoodsid().equals(udiRelevanceEntity.getThirdId())) {
return udiRelevanceEntity;
}
}
}
}
return null;
}
public int getSelectedCount(List<WarehouseEntity> warehouseEntityList) {
int total = 0;
for (WarehouseEntity warehouseEntity : warehouseEntityList) {
total = total + warehouseEntity.getCount();
}
return total;
}
//验证产品ID,批次号,仓位号
public String vaildErpOrder(List<WarehouseEntity> warehouseEntityList, UdiInfoEntity udiInfoEntity) {
String errMsg = "产品信息不匹配";
if (mErpOrderEntities.size() > 0) {
for (ErpOrderEntity erpOrderEntity : mErpOrderEntities) {
errMsg = isPass(erpOrderEntity, udiInfoEntity);
if (errMsg == null) {
int erpCount = erpOrderEntity.getCount() + udiInfoEntity.getCount();
if (erpOrderEntity.getErpCount() != erpCount) {
erpOrderEntity.setCount(erpCount);
if (erpOrderEntity.getErpCount() != erpCount)
return "该" + udiInfoEntity.getBatchNo() + "批次号下" + udiInfoEntity.getCpmctymc() + "订单数目不匹配";
}
erpOrderEntity.setCount(erpCount);
return null;
}
}
}
if (errMsg == null && getSelectedCount(warehouseEntityList) + udiInfoEntity.getCount() != erpTotalCount) {
return "订单数目匹配失败";
}
return errMsg;
}
public String isPass(ErpOrderEntity erpOrderEntity, UdiInfoEntity udiInfoEntity) {
String errMsg = null;
if (erpOrderEntity.getBatchNo().equals(udiInfoEntity.getBatchNo())) {
if (erpOrderEntity.getGoodsid().equals(udiInfoEntity.getThirdId())) {
if (erpOrderEntity.getWarehouseCode() != null && udiInfoEntity.getWarehouseCode() != null) {
if (erpOrderEntity.getWarehouseCode().equals(udiInfoEntity.getWarehouseCode())) {
return null;
} else
errMsg = "仓位号不匹配";
} else
return null;
} else
errMsg = "产品信息不匹配";
} else {
errMsg = "非此单产品批次号";
}
return errMsg;
}
public List<ErpOrderEntity> transErp(List<ErpOrderEntity> erpOrderEntities, UdiRelevanceService udiRelevanceService, String orderFk) {
List<ErpOrderEntity> returnOrders = new ArrayList<>();
Map<String, ErpOrderEntity> filterMap = new HashMap<>();
if (erpOrderEntities != null && erpOrderEntities.size() > 0) {
for (ErpOrderEntity erpOrderEntity : erpOrderEntities) {
FilterUdiInfoRequest filterUdiInfoRequest = new FilterUdiInfoRequest();
filterUdiInfoRequest.setThirdId(erpOrderEntity.getGoodsid());
filterUdiInfoRequest.setPage(1);
filterUdiInfoRequest.setLimit(100);
List<UdiRelevanceResponse> udiRelevanceResponses = udiRelevanceService.filterUdiRelevance(filterUdiInfoRequest);
if (udiRelevanceResponses != null && udiRelevanceResponses.size() > 0) {
UdiRelevanceResponse temp = udiRelevanceResponses.get(0);
erpOrderEntity.setCoName(temp.getCpmctymc());
erpOrderEntity.setAuthCode(temp.getZczbhhzbapzbh());
erpOrderEntity.setPackSpec(temp.getGgxh());
erpOrderEntity.setPackRatio(temp.getPackRatio());
erpOrderEntity.setProductCompany(temp.getYlqxzcrbarmc());
erpOrderEntity.setOrderIdFk(orderFk);
}
erpOrderEntity.setOrderIdFk(orderFk);
String key = erpOrderEntity.getBatchNo() + erpOrderEntity.getGoodsid() + erpOrderEntity.getWarehouseCode();
ErpOrderEntity filterTemp = filterMap.get(key);
if (filterTemp != null) {
filterTemp.setErpCount(filterTemp.getErpCount() + erpOrderEntity.getErpCount());
filterTemp.setErpOrderId(filterTemp.getErpOrderId() + "," + erpOrderEntity.getErpOrderId());
} else {
filterTemp = erpOrderEntity;
}
filterMap.put(key, filterTemp);
}
for (Map.Entry<String, ErpOrderEntity> entry : filterMap.entrySet()) {
returnOrders.add(entry.getValue());
}
}
return returnOrders;
}
public List<String> getDocids(List<ErpOrderEntity> erpOrderEntities) {
Map<String, String> filter = new HashMap<>();
List<String> docids = new ArrayList<>();
for (ErpOrderEntity erpOrderEntity : erpOrderEntities) {
if (erpOrderEntity.getErpOrderId().contains(",")) {
String[] dociArray = erpOrderEntity.getErpOrderId().split(",");
if (dociArray != null && dociArray.length > 0) {
for (int i = 0; i < dociArray.length; i++) {
filter.put(dociArray[i], dociArray[i]);
}
}
} else {
filter.put(erpOrderEntity.getErpOrderId(), erpOrderEntity.getErpOrderId());
}
}
for (String docid : filter.keySet()) {
docids.add(docid);
}
return docids;
}
//校验Erp单是否存在
public ErpOrderEntity vailErpExit(OrderDetailService myErpOrderService, List<ErpOrderEntity> erpOrderEntities, String orderId) {
if (erpOrderEntities != null && erpOrderEntities.size() > 0) {
FilterErpOrderRequest filterErpOrderRequest = new FilterErpOrderRequest();
filterErpOrderRequest.setOrderId(orderId);
List<ErpOrderEntity> docids = myErpOrderService.filterAllDocidE(filterErpOrderRequest);
List<String> bDocids = getDocids(erpOrderEntities);
if (docids != null && docids.size() > 0) {
for (ErpOrderEntity docid : docids) {
for (String temp : bDocids) {
if (docid.getErpOrderId() != null && docid.getErpOrderId().contains(temp)) {
return docid;
}
}
}
}
return null;
}
return null;
}
}

@ -0,0 +1,39 @@
package com.glxp.api.admin.controller.inout.utils;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
public class DataTransUtil {
public static String erpListToStr(List<String> erpIdList) {
if (erpIdList != null && erpIdList.size() > 0) {
List<String> erpIds = erpIdList.stream().distinct().collect(Collectors.toList());
String str = "";
for (String erpId : erpIds) {
str = "," + str;
}
return str.substring(1);
} else
return null;
}
public static String[] strToErpArray(String erpFk) {
if (erpFk != null && erpFk.length() > 0) {
return erpFk.split(",");
} else
return null;
}
public static List<String> strToErpList(String erpFk) {
if (erpFk != null && erpFk.length() > 0) {
String[] erpArray = erpFk.split(",");
List<String> erpList = new ArrayList<>();
for (int i = 0; i < erpArray.length; i++) {
erpList.add(erpArray[i]);
}
return erpList;
} else
return null;
}
}

@ -0,0 +1,226 @@
package com.glxp.api.admin.controller.inout.utils;
import com.glxp.api.admin.constant.ConstantType;
import com.glxp.api.admin.entity.info.SystemParamConfigEntity;
import com.glxp.api.admin.httpclient.UdiDlHttpClient;
import com.glxp.api.admin.entity.basic.UdiInfoEntity;
import com.glxp.api.admin.entity.basic.UdiRelevanceEntity;
import com.glxp.api.admin.entity.inout.WarehouseEntity;
import com.glxp.api.admin.entity.basic.UdiEntity;
import com.glxp.api.admin.entity.inout.ErpOrderEntity;
import com.glxp.api.admin.service.basic.UdiInfoService;
import com.glxp.api.admin.service.basic.UdiRelevanceService;
import com.glxp.api.admin.service.info.SystemParamConfigService;
import com.glxp.api.admin.service.inout.OrderDetailService;
import com.glxp.api.admin.service.inout.CodesService;
import com.glxp.api.admin.util.DateUtil;
import com.glxp.api.admin.util.FilterUdiUtils;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class InoutUtils {
String udiUrl = "";
public InoutUtils() {
}
public InoutUtils(String udiUrl) {
this.udiUrl = udiUrl;
}
public String filterCode(CodesService warehouseService, WarehouseEntity warehouseData, SystemParamConfigService setupService) {
List<WarehouseEntity> warehouseEntityList = warehouseService.findByCode(warehouseData.getCode());
if (warehouseEntityList == null || warehouseEntityList.size() == 0) { //数据库为null,可以添加
return nullVail(warehouseData, setupService);
}
List<WarehouseEntity> inList = new ArrayList<>();
List<WarehouseEntity> outList = new ArrayList<>();
if (warehouseEntityList != null && warehouseEntityList.size() > 0) {
for (int i = 0; i < warehouseEntityList.size(); i++) {
WarehouseEntity temp = warehouseEntityList.get(i);
if (temp.getAction().equals(ConstantType.TYPE_CODE_DESTORY)) { //过滤已销毁的
return getErrMsg(temp);
}
if (temp.getAction().equals(ConstantType.TYPE_STOCK_CHECK)) { //过滤已盘点
if (warehouseData.getAction().equals(ConstantType.TYPE_STOCK_CHECK)) {
return warehouseData.getCode() + "该码已盘点";
}
}
if (temp.getMainAction().equals(ConstantType.TYPE_OUT)) {
outList.add(temp);
} else if (temp.getMainAction().equals(ConstantType.TYPE_PUT)) {
inList.add(temp);
}
}
//如果序列号未null则不判断是否重码
UdiEntity udiEntity = FilterUdiUtils.getUdi(warehouseData.getCode());
if (udiEntity.getSerialNo() == null) {
return null;
}
//如果数据库存在1个出库则可以再录入1个入库;同理存在4个出库3个入库则可以再录入1个入库
if (outList.size() - inList.size() == 1) {
if (warehouseData.getMainAction().equals(ConstantType.TYPE_PUT)) {
return null;
}
} else if (inList.size() - outList.size() == 1) {
if (warehouseData.getMainAction().equals(ConstantType.TYPE_OUT)) {
return null;
}
} else if (inList.size() - outList.size() == 0) {
return nullVail(warehouseData, setupService);
} else {
return "订单:" + warehouseData.getOrderId() + "已存在" + warehouseData.getCode();
}
return warehouseData.getCode() + "条码重复";
}
return null;
}
public String nullVail(WarehouseEntity warehousetemp, SystemParamConfigService configService) {
if (warehousetemp.getAction().equals(ConstantType.TYPE_PUT_RETURN)) {
SystemParamConfigEntity systemParamConfigEntity = configService.selectByParamKey("isReturnWareHouseIn");
if (systemParamConfigEntity==null || "0".equals(systemParamConfigEntity.getParamValue())) {
return null;
} else {
return warehousetemp.getCode() + "不允许未销售出库可以退货入库";
}
} else if (warehousetemp.getAction().equals(ConstantType.TYPE_OUT_RETURN)) {
SystemParamConfigEntity systemParamConfigEntity = configService.selectByParamKey("isReturnWareHouseOut");
if (systemParamConfigEntity==null || "0".equals(systemParamConfigEntity.getParamValue())) {
return null;
} else {
return warehousetemp.getCode() + "不允许零库存退货出库";
}
} else if (warehousetemp.getAction().equals(ConstantType.TYPE_OUT_SALE)) {
SystemParamConfigEntity systemParamConfigEntity = configService.selectByParamKey("isSalesWareHouseOut");
if (systemParamConfigEntity==null || "0".equals(systemParamConfigEntity.getParamValue())) {
return null;
} else {
return warehousetemp.getCode() + "不允许零库存销售出库";
}
}
return null;
}
public String getErrMsg(WarehouseEntity warehousetemp) {
if (warehousetemp.getAction().equals(ConstantType.TYPE_PUT_PRODUCT)) {
return warehousetemp.getCode() + "已生产入库";
} else if (warehousetemp.getAction().equals(ConstantType.TYPE_PUT_PURCHASE)) {
return warehousetemp.getCode() + "已采购入库";
} else if (warehousetemp.getAction().equals(ConstantType.TYPE_PUT_RETURN)) {
return warehousetemp.getCode() + "已退货入库";
} else if (warehousetemp.getAction().equals(ConstantType.TYPE_PUT_ALLOT)) {
return warehousetemp.getCode() + "已调拨入库";
} else if (warehousetemp.getAction().equals(ConstantType.TYPE_OUT_SALE)) {
return warehousetemp.getCode() + "已销售出库";
} else if (warehousetemp.getAction().equals(ConstantType.TYPE_OUT_RETURN)) {
return warehousetemp.getCode() + "已退货出库";
} else if (warehousetemp.getAction().equals(ConstantType.TYPE_OUT_ALLOT)) {
return warehousetemp.getCode() + "已调拨出库";
} else if (warehousetemp.getAction().equals(ConstantType.TYPE_OUT_DESTORY)) {
return warehousetemp.getCode() + "已销毁出库";
} else if (warehousetemp.getAction().equals(ConstantType.TYPE_OUT_STRAIGHT)) {
return warehousetemp.getCode() + "已直调出库";
} else if (warehousetemp.getAction().equals(ConstantType.TYPE_OUT_REWORK)) {
return warehousetemp.getCode() + "已返工出库";
} else if (warehousetemp.getAction().equals(ConstantType.TYPE_OUT_CHECK)) {
return warehousetemp.getCode() + "已抽检出库";
} else if (warehousetemp.getAction().equals(ConstantType.TYPE_CODE_DESTORY)) {
return warehousetemp.getCode() + "已销毁";
}
return warehousetemp.getCode() + "出错";
}
public UdiInfoEntity getUdiInfo(UdiInfoService udiInfoService, UdiRelevanceService udiRelevanceService, String code) {
String prefix;
prefix = FilterUdiUtils.getDiStr(code);
UdiInfoEntity udiInfoEntity = udiInfoService.findByNameCode(prefix);
if (udiInfoEntity == null) {
List<UdiInfoEntity> froms = new UdiDlHttpClient(udiUrl).getUdiByDi(prefix);
if (froms != null && !froms.isEmpty()) {
udiInfoService.insertUdiInfos(froms);
udiInfoEntity = udiInfoService.findByNameCode(prefix);
UdiRelevanceEntity udiRelevanceEntity = new UdiRelevanceEntity();
udiRelevanceEntity.setUuid(udiInfoEntity.getUuid());
udiRelevanceEntity.setUpdateTime(DateUtil.getDateTime());
udiRelevanceService.insertUdiRelevance(udiRelevanceEntity);
} else {
udiInfoEntity = new UdiInfoEntity();
}
}
udiInfoEntity.setCode(code);
udiInfoEntity = FilterUdiUtils.transUdi(udiInfoEntity);
return udiInfoEntity;
}
public void generateConstrastDetail(UdiInfoService udiInfoService, UdiRelevanceService udiRelevanceService,
OrderDetailService myErpOrderService,
List<WarehouseEntity> warehouseEntityList) {
if (warehouseEntityList != null && warehouseEntityList.size() > 0) {
List<UdiInfoEntity> udiInfoEntities = new ArrayList<>();
for (WarehouseEntity warehouseEntity : warehouseEntityList) {
UdiInfoEntity udiInfoEntity = getUdiInfo(udiInfoService, udiRelevanceService, warehouseEntity.getCode());
if (udiInfoEntity != null) {
if (warehouseEntity.getCount() != null)
udiInfoEntity.setCount(warehouseEntity.getCount());
else {
udiInfoEntity.setCount(getActCount(udiInfoEntity));
}
udiInfoEntities.add(udiInfoEntity);
}
}
List<UdiInfoEntity> returnOrderDetail = new ArrayList<>();
Map<String, UdiInfoEntity> sortMaps = new HashMap<>();
for (UdiInfoEntity detailCodeEntity : udiInfoEntities) {
String key = detailCodeEntity.getNameCode();
UdiInfoEntity temp = sortMaps.get(key);
if (temp != null) {
detailCodeEntity.setCount(temp.getCount() + detailCodeEntity.getCount());
}
sortMaps.put(key, detailCodeEntity);
}
for (Map.Entry<String, UdiInfoEntity> entry : sortMaps.entrySet()) {
System.out.println("key = " + entry.getKey() + ", value = " + entry.getValue());
returnOrderDetail.add(entry.getValue());
}
List<ErpOrderEntity> erpOrderEntities = new ArrayList<>();
for (UdiInfoEntity erpDetailCodeEntity : returnOrderDetail) {
ErpOrderEntity erpOrderEntity = new ErpOrderEntity();
erpOrderEntity.setNameCode(erpDetailCodeEntity.getNameCode());
erpOrderEntity.setPackRatio(erpDetailCodeEntity.getPackRatio());
erpOrderEntity.setCoName(erpDetailCodeEntity.getCpmctymc());
erpOrderEntity.setBatchNo(erpDetailCodeEntity.getBatchNo());
erpOrderEntity.setCount(erpDetailCodeEntity.getCount());
erpOrderEntity.setOrderIdFk(warehouseEntityList.get(0).getOrderId());
erpOrderEntity.setProductCompany(erpDetailCodeEntity.getYlqxzcrbarmc());
erpOrderEntity.setAuthCode(erpDetailCodeEntity.getZczbhhzbapzbh());
erpOrderEntity.setPackSpec(erpDetailCodeEntity.getGgxh());
erpOrderEntities.add(erpOrderEntity);
}
if (!erpOrderEntities.isEmpty())
myErpOrderService.insertErpOrders(erpOrderEntities);
}
}
public int getActCount(UdiInfoEntity udiInfoBean) {
if (udiInfoBean != null) {
if (udiInfoBean.getZxxsbzbhsydysl() > 1) {
return udiInfoBean.getZxxsbzbhsydysl() * udiInfoBean.getBhzxxsbzsl();
} else {
return udiInfoBean.getBhzxxsbzsl();
}
}
return 1;
}
}

@ -0,0 +1,4 @@
package com.glxp.api.admin.controller.inout.utils;
public class TransInoutUtil {
}

@ -0,0 +1,189 @@
package com.glxp.api.admin.controller.inventory;
import com.github.pagehelper.PageInfo;
import com.glxp.api.admin.constant.ConstantType;
import com.glxp.api.admin.entity.inout.OrderEntity;
import com.glxp.api.admin.entity.inout.StockCheckEntity;
import com.glxp.api.admin.entity.inout.ErpOrderEntity;
import com.glxp.api.admin.entity.inout.FilterErpOrderRequest;
import com.glxp.api.admin.req.inout.DeleteRequest;
import com.glxp.api.admin.req.inout.FilterStockCheckRequest;
import com.glxp.api.admin.req.inout.OrderFilterRequest;
import com.glxp.api.admin.res.PageSimpleResponse;
import com.glxp.api.admin.service.inout.OrderDetailService;
import com.glxp.api.admin.service.inout.OrderService;
import com.glxp.api.admin.service.inventory.InvOrderCheckService;
import com.glxp.api.admin.thread.InvImportStockService;
import com.glxp.api.admin.util.DateUtil;
import com.glxp.api.common.enums.ResultEnum;
import com.glxp.api.common.res.BaseResponse;
import com.glxp.api.common.util.ResultVOUtils;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
@RestController
public class InvCheckController {
@Resource
private OrderService orderService;
@Resource
private InvOrderCheckService stockCheckService;
@Resource
private InvImportStockService importStockService;
@Resource
private OrderDetailService myErpOrderService;
@GetMapping("/udiwarehouse/stockCheck/filter")
public BaseResponse filter(FilterStockCheckRequest filterStockCheckRequest,
BindingResult bindingResult) {
if (bindingResult.hasErrors()) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
}
List<StockCheckEntity> stockCheckEntities
= stockCheckService.filterStockCheck(filterStockCheckRequest);
PageInfo<StockCheckEntity> pageInfo;
pageInfo = new PageInfo<>(stockCheckEntities);
PageSimpleResponse<StockCheckEntity> pageSimpleResponse = new PageSimpleResponse<>();
pageSimpleResponse.setTotal(pageInfo.getTotal());
pageSimpleResponse.setList(stockCheckEntities);
return ResultVOUtils.success(pageSimpleResponse);
}
@GetMapping("/udiwarehouse/stockCheck/getDetail")
public BaseResponse getDetail(FilterStockCheckRequest filterStockCheckRequest,
BindingResult bindingResult) {
if (bindingResult.hasErrors()) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
}
List<String> orderIds = getOrderIds(filterStockCheckRequest.getId() + "");
List<ErpOrderEntity> erpOrderEntities = new ArrayList<>();
if (orderIds.size() > 0) {
FilterErpOrderRequest filterErpOrderRequest = new FilterErpOrderRequest();
filterErpOrderRequest.setPage(1);
filterErpOrderRequest.setLimit(100);
filterErpOrderRequest.setOrderIds(orderIds);
erpOrderEntities = myErpOrderService.findByStockCheck(filterErpOrderRequest);
if (isRepeat(erpOrderEntities)) {
Map<String, List<ErpOrderEntity>> groupBy = erpOrderEntities.stream().collect(Collectors.groupingBy(ErpOrderEntity::getNameCode));
for (List<ErpOrderEntity> combines : groupBy.values()) {
ErpOrderEntity erpOrderEntity = combines.get(0);
if (combines.size() > 1) {
for (int i = 1; i < combines.size(); i++) {
erpOrderEntity.setCount(erpOrderEntity.getCount() + combines.get(i).getCount());
myErpOrderService.deleteByPrimiyId(combines.get(i).getId() + "");
}
}
myErpOrderService.updateErpOrder(erpOrderEntity);
}
erpOrderEntities = myErpOrderService.findByStockCheck(filterErpOrderRequest);
}
}
PageInfo<ErpOrderEntity> pageInfo;
pageInfo = new PageInfo<>(erpOrderEntities);
PageSimpleResponse<ErpOrderEntity> pageSimpleResponse = new PageSimpleResponse<>();
pageSimpleResponse.setTotal(pageInfo.getTotal());
pageSimpleResponse.setList(erpOrderEntities);
return ResultVOUtils.success(pageSimpleResponse);
}
public List<String> getOrderIds(String checkId) {
OrderFilterRequest orderFilterRequest = new OrderFilterRequest();
orderFilterRequest.setAction(ConstantType.TYPE_STOCK_CHECK);
orderFilterRequest.setStockCheckFk(checkId + "");
List<OrderEntity> orderEntities = orderService.findAllOrders(orderFilterRequest);
List<String> orderIds = new ArrayList<>();
if (orderEntities != null) {
for (OrderEntity orderEntity : orderEntities) {
orderIds.add(orderEntity.getId());
}
}
return orderIds;
}
private boolean isRepeat(List<ErpOrderEntity> erpOrderEntities) {
List<String> stringList = erpOrderEntities.stream().map(ErpOrderEntity::getNameCode)
.collect(Collectors.toList());
long count = stringList.stream().distinct().count();
if (stringList.size() == count) {
return false;
} else {
return true;
}
}
@GetMapping("/udiwarehouse/stockCheck/checkErp")
public BaseResponse checkErp(FilterStockCheckRequest filterStockCheckRequest, BindingResult bindingResult) {
if (bindingResult.hasErrors()) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
}
importStockService.checkStock(filterStockCheckRequest);
return ResultVOUtils.success("后台已开启库存盘点校验,请稍后刷新查看");
}
@GetMapping("/udiwarehouse/stockCheck/create")
public BaseResponse createStockCheck() {
FilterStockCheckRequest filterStockCheckRequest = new FilterStockCheckRequest();
filterStockCheckRequest.setStatus("正在盘点");
List<StockCheckEntity> stockCheckEntities = stockCheckService.filterStockCheck(filterStockCheckRequest);
if (stockCheckEntities != null && stockCheckEntities.size() > 0) {
return ResultVOUtils.error(500, "当前有盘点单正在进行,无法创建新盘点单!");
}
StockCheckEntity stockCheckEntity = new StockCheckEntity();
stockCheckEntity.setActDate(DateUtil.getDateTime());
stockCheckEntity.setAction(ConstantType.TYPE_STOCK_CHECK);
stockCheckEntity.setStatus("正在盘点");
stockCheckService.insertStockCheck(stockCheckEntity);
return ResultVOUtils.success("创建成功");
}
@PostMapping("/udiwarehouse/stockCheck/finish")
public BaseResponse finishStockCheck(@RequestBody StockCheckEntity stockCheckEntity, BindingResult bindingResult) {
if (bindingResult.hasErrors()) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
}
stockCheckEntity.setEndTime(DateUtil.getDateTime());
stockCheckEntity.setStatus("盘点完成");
stockCheckService.updateStockCheck(stockCheckEntity);
return ResultVOUtils.success("更新成功");
}
@PostMapping("/udiwarehouse/stockCheck/delete")
public BaseResponse deleteStockCheck(@RequestBody DeleteRequest deleteRequest, BindingResult bindingResult) {
if (bindingResult.hasErrors()) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
}
stockCheckService.deleteById(deleteRequest.getId());
List<String> orderIds = getOrderIds(deleteRequest.getId() + "");
if (orderIds.size() > 0) {
for (String id : orderIds) {
orderService.deleteById(id);
myErpOrderService.deleteByOrderId(id);
}
}
return ResultVOUtils.success("删除成功");
}
}

@ -0,0 +1,115 @@
package com.glxp.api.admin.controller.inventory;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.TypeReference;
import com.glxp.api.admin.entity.basic.UdiRelevanceEntity;
import com.glxp.api.admin.entity.basic.UdiEntity;
import com.glxp.api.admin.req.basic.FilterUdiInfoRequest;
import com.glxp.api.admin.req.basic.UOnhandQueryRequest;
import com.glxp.api.admin.res.PageSimpleResponse;
import com.glxp.api.admin.res.basic.UOnhandQueryResponse;
import com.glxp.api.admin.res.basic.UdiRelevanceResponse;
import com.glxp.api.admin.service.basic.UdiRelevanceService;
import com.glxp.api.admin.util.FilterUdiUtils;
import com.glxp.api.admin.util.HttpClient;
import com.glxp.api.common.enums.ResultEnum;
import com.glxp.api.common.res.BaseResponse;
import com.glxp.api.common.util.ResultVOUtils;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@RestController
public class InvErpOnhandController {
@Value("${UCLOD_SERVER_URL}")
private String ucloudUrl;
@Resource
UdiRelevanceService udiRelevanceService;
@GetMapping("/warehouse/ucloud/onHand")
public BaseResponse getOnhand(UOnhandQueryRequest onhandQueryRequest,
BindingResult bindingResult) {
if (bindingResult.hasErrors()) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
}
if (onhandQueryRequest.getUdiCode() != null) {
UdiEntity udiEntity = FilterUdiUtils.getUdi(onhandQueryRequest.getUdiCode());
if (udiEntity != null) {
UdiRelevanceResponse udiRelevanceResponse = findByNamecode(udiEntity.getUdi());
if (udiRelevanceResponse != null) {
String thirdId = udiRelevanceResponse.getThirdId();
onhandQueryRequest.setInventory(thirdId);
onhandQueryRequest.setBatchcode(udiEntity.getBatchNo());
} else {
return ResultVOUtils.error(500, "产品信息未维护!");
}
} else {
return ResultVOUtils.error(500, "无效UDI码");
}
} else if (onhandQueryRequest.getNameCode() != null) {
UdiRelevanceResponse udiRelevanceResponse = findByNamecode(onhandQueryRequest.getNameCode());
onhandQueryRequest.setInventory(udiRelevanceResponse.getThirdId());
}
Map<String, Object> paramMap = new HashMap<>(16);
if (onhandQueryRequest.getBatchcode() != null && !onhandQueryRequest.getBatchcode().equals(""))
paramMap.put("batchcode", onhandQueryRequest.getBatchcode());
if (onhandQueryRequest.getWarehouse() != null && !onhandQueryRequest.getWarehouse().equals(""))
paramMap.put("warehouse", onhandQueryRequest.getWarehouse());
if (onhandQueryRequest.getIsGroupByBatchcode() != null && !onhandQueryRequest.getIsGroupByBatchcode().equals(""))
paramMap.put("isGroupByBatchcode", onhandQueryRequest.getIsGroupByBatchcode());
if (onhandQueryRequest.getNumcondition() != null && !onhandQueryRequest.getNumcondition().equals(""))
paramMap.put("numcondition", onhandQueryRequest.getNumcondition());
paramMap.put("inventory", onhandQueryRequest.getInventory());
String response = HttpClient.mipsGet(ucloudUrl + "/uclooud/basic/onhandQuery", paramMap);
try {
BaseResponse<PageSimpleResponse<UOnhandQueryResponse>> onHandsResponse =
JSONObject.parseObject(response, new TypeReference<BaseResponse<PageSimpleResponse<UOnhandQueryResponse>>>() {
});
List<UOnhandQueryResponse> invmandocResponses = onHandsResponse.getData().getList();
for (UOnhandQueryResponse invmandocResponse : invmandocResponses) {
UdiRelevanceEntity udiRelevanceEntity = udiRelevanceService.selectByThirdId(invmandocResponse.getCinventory_code());
if (udiRelevanceEntity != null) {
invmandocResponse.setChecked(true);
} else {
invmandocResponse.setChecked(false);
}
}
return onHandsResponse;
} catch (Exception e) {
e.printStackTrace();
return ResultVOUtils.error(500, "连接U8云下载服务出错");
}
}
public UdiRelevanceResponse findByNamecode(String udi) {
FilterUdiInfoRequest filterUdiInfoRequest = new FilterUdiInfoRequest();
filterUdiInfoRequest.setNameCode(udi);
List<UdiRelevanceResponse> udiRelevanceResponses = udiRelevanceService.filterUdiGp(filterUdiInfoRequest);
if (udiRelevanceResponses != null && udiRelevanceResponses.size() > 0) {
return udiRelevanceResponses.get(0);
} else {
return null;
}
}
}

@ -0,0 +1,208 @@
package com.glxp.api.admin.controller.inventory;
import com.github.pagehelper.PageInfo;
import com.glxp.api.admin.entity.info.SystemParamConfigEntity;
import com.glxp.api.admin.httpclient.ErpInvClient;
import com.glxp.api.admin.req.inventory.ErpOnhandRequest;
import com.glxp.api.admin.res.inout.PurchaseinResponse;
import com.glxp.api.admin.entity.basic.ErpStockEntity;
import com.glxp.api.admin.entity.basic.StockPrintEntity;
import com.glxp.api.admin.req.basic.FilterStockprintRequest;
import com.glxp.api.admin.req.basic.UpdatePrintStatusRequest;
import com.glxp.api.admin.req.inout.DeleteRequest;
import com.glxp.api.admin.req.inout.ImportErpOrderRequest;
import com.glxp.api.admin.res.PageSimpleResponse;
import com.glxp.api.admin.res.inventory.ErpOnHandResponse;
import com.glxp.api.admin.service.inventory.InvErpStockService;
import com.glxp.api.admin.service.inventory.InvStockPrintService;
import com.glxp.api.admin.service.info.SystemParamConfigService;
import com.glxp.api.admin.thread.InvDlErpStockService;
import com.glxp.api.admin.thread.InvImportStockService;
import com.glxp.api.common.enums.ResultEnum;
import com.glxp.api.common.res.BaseResponse;
import com.glxp.api.common.util.ResultVOUtils;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.List;
@RestController
public class InvPrintController {
@Resource
InvStockPrintService stockPrintService;
@Resource
InvImportStockService importStockService;
@Resource
private InvDlErpStockService dlErpStockService;
@Resource
private InvErpStockService erpStockService;
@Resource
private SystemParamConfigService systemParamConfigService;
@PostMapping("/udiwarehouse/stockPrint/filter")
public BaseResponse filterAll(@RequestBody FilterStockprintRequest stockprintRequest,
BindingResult bindingResult) {
if (bindingResult.hasErrors()) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
}
List<StockPrintEntity> stockPrintEntities
= stockPrintService.filterStockPrint(stockprintRequest);
PageInfo<StockPrintEntity> pageInfo;
pageInfo = new PageInfo<>(stockPrintEntities);
PageSimpleResponse<StockPrintEntity> pageSimpleResponse = new PageSimpleResponse<>();
pageSimpleResponse.setTotal(pageInfo.getTotal());
pageSimpleResponse.setList(stockPrintEntities);
return ResultVOUtils.success(pageSimpleResponse);
}
@GetMapping("/udiwarehouse/stockPrint/getFilter")
public BaseResponse getFilter(FilterStockprintRequest stockprintRequest,
BindingResult bindingResult) {
if (bindingResult.hasErrors()) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
}
List<StockPrintEntity> stockPrintEntities
= stockPrintService.filterStockPrint(stockprintRequest);
PageInfo<StockPrintEntity> pageInfo;
pageInfo = new PageInfo<>(stockPrintEntities);
PageSimpleResponse<StockPrintEntity> pageSimpleResponse = new PageSimpleResponse<>();
pageSimpleResponse.setTotal(pageInfo.getTotal());
pageSimpleResponse.setList(stockPrintEntities);
return ResultVOUtils.success(pageSimpleResponse);
}
@GetMapping("/udiwarehouse/stockPrint/filterNum")
public BaseResponse filterNum(FilterStockprintRequest stockprintRequest,
BindingResult bindingResult) {
if (bindingResult.hasErrors()) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
}
SystemParamConfigEntity systemParamConfigEntity = systemParamConfigService.selectByParamKey("erp_onhand_query");
String onHandUrl;
if (systemParamConfigEntity == null)
return ResultVOUtils.error(500, "ERP产品信息接口地址未定义");
else onHandUrl = systemParamConfigEntity.getParamValue();
List<StockPrintEntity> stockPrintEntities
= stockPrintService.filterStockPrint(stockprintRequest);
if (stockPrintEntities != null) {
for (StockPrintEntity stockPrintEntity : stockPrintEntities) {
ErpOnhandRequest erpOnhandRequest = new ErpOnhandRequest();
erpOnhandRequest.setInventoryCode(stockPrintEntity.getThirdId());
List<ErpOnHandResponse> erpOnHandResponses = new ErpInvClient().getOnHand(erpOnhandRequest, onHandUrl);
if (erpOnHandResponses != null && erpOnHandResponses.size() > 0) {
for (ErpOnHandResponse onhandQueryResponse : erpOnHandResponses) {
if (onhandQueryResponse.getBatchNo().equals(stockPrintEntity.getBatchNo()) && onhandQueryResponse.getWarehouseCode().equals(stockPrintEntity.getWarehouseCode())) {
stockPrintEntity.setNnum(onhandQueryResponse.getCount() + "");
break;
}
}
}
}
}
PageInfo<StockPrintEntity> pageInfo;
pageInfo = new PageInfo<>(stockPrintEntities);
PageSimpleResponse<StockPrintEntity> pageSimpleResponse = new PageSimpleResponse<>();
pageSimpleResponse.setTotal(pageInfo.getTotal());
pageSimpleResponse.setList(stockPrintEntities);
return ResultVOUtils.success(pageSimpleResponse);
}
@GetMapping("/udiwarehouse/stockPrint/import")
public BaseResponse importStock() {
importStockService.updateStock();
return ResultVOUtils.success("后台已开始自动更新,请稍后刷新查看");
}
@PostMapping("/udiwarehouse/stockPrint/update")
public BaseResponse updatePrintStatus(@RequestBody UpdatePrintStatusRequest updatePrintStatusRequest, BindingResult bindingResult) {
if (bindingResult.hasErrors()) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
}
List<String> ids = updatePrintStatusRequest.getIds();
if (ids != null && ids.size() > 0) {
stockPrintService.updatePrintStatus(ids);
} else {
return ResultVOUtils.error(500, "更新数据不能为空");
}
return ResultVOUtils.success("更新成功");
}
@PostMapping("/udiwarehouse/stockPrint/modify")
public BaseResponse updatePrintStatus(@RequestBody StockPrintEntity stockPrintEntity, BindingResult bindingResult) {
if (bindingResult.hasErrors()) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
}
if (stockPrintEntity.getProduceDate() == null) {
stockPrintEntity.setProduceDate("");
}
if (stockPrintEntity.getExpireDate() == null) {
stockPrintEntity.setExpireDate("");
}
if (stockPrintEntity.getBatchNo() == null) {
stockPrintEntity.setBatchNo("");
}
String udiCode = "#" + stockPrintEntity.getNameCode() + "#" + stockPrintEntity.getProduceDate() + "#" + stockPrintEntity.getExpireDate() +
"#" + stockPrintEntity.getBatchNo() + "#" + "#" + stockPrintEntity.getWarehouseCode();
stockPrintEntity.setUdiCode(udiCode);
stockPrintService.updateStockPrint(stockPrintEntity);
return ResultVOUtils.success("更新成功");
}
@PostMapping("/udiwarehouse/stockPrint/delete")
public BaseResponse deletePrintStatus(@RequestBody DeleteRequest deleteRequest, BindingResult bindingResult) {
if (bindingResult.hasErrors()) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
}
stockPrintService.deleteById(deleteRequest.getId());
return ResultVOUtils.success("删除成功");
}
@PostMapping("/warehouse/stockPrint/importErpStock")
public BaseResponse importErpStock(@RequestBody ImportErpOrderRequest importErpOrderRequest, BindingResult bindingResult) {
if (bindingResult.hasErrors()) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
}
List<PurchaseinResponse> docids = importErpOrderRequest.getPurchaseinResponses();
if (docids != null && docids.size() > 0) {
for (PurchaseinResponse purchaseinResponse : docids) {
List<ErpStockEntity> stockEntities = new ArrayList<>();
for (PurchaseinResponse.SubPurchase subPurchase : purchaseinResponse.getSubPurchases()) {
ErpStockEntity erpStockEntity = new ErpStockEntity();
erpStockEntity.setOrderId(purchaseinResponse.getVbillcode());
erpStockEntity.setExpirationDate(subPurchase.getDvalidate());
erpStockEntity.setCode(subPurchase.getInventory_code());
erpStockEntity.setBatchNo(subPurchase.getVbatchcode());
erpStockEntity.setName(subPurchase.getInventory_name());
erpStockEntity.setCount(subPurchase.getDtlgoodsqty() + "");
stockEntities.add(erpStockEntity);
}
erpStockService.insertErpStocks(stockEntities);
}
}
return ResultVOUtils.success("导入成功");
}
@GetMapping("/warehouse/stockPrint/dlErpStock")
public BaseResponse dlErpStock() {
dlErpStockService.dlErpStock();
return ResultVOUtils.success("后台已自动更新,请稍后刷新查看!");
}
}

@ -0,0 +1,60 @@
package com.glxp.api.admin.dao.auth;
import com.glxp.api.admin.req.auth.AuthAdminQueryRequest;
import com.glxp.api.admin.entity.auth.AuthAdmin;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
@Mapper
public interface AuthAdminDao {
/**
*
* @return
*/
List<AuthAdmin> listAdminPage(AuthAdminQueryRequest authAdminQueryRequest);
/**
* id
* @param id id
* @return
*/
AuthAdmin findById(Long id);
/**
* id password
* @param id id
* @return
*/
AuthAdmin findPwdById(Long id);
/**
* Name
* @param userName
* @return
*/
AuthAdmin findByUserName(String userName);
/**
*
* @param authAdmin
* @return
*/
boolean insertAuthAdmin(AuthAdmin authAdmin);
/**
*
* @param authAdmin
* @return
*/
boolean updateAuthAdmin(AuthAdmin authAdmin);
/**
*
* @param id
* @return
*/
boolean deleteById(Long id);
}

@ -0,0 +1,40 @@
package com.glxp.api.admin.dao.auth;
import com.glxp.api.admin.entity.auth.AuthPermission;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
@Mapper
public interface AuthPermissionDao {
/**
* roleIds
* @param roleIds id
* @return
*/
List<AuthPermission> listByRoleIdIn(List<Long> roleIds);
/**
* roleId
* @param roleId id
* @return
*/
List<AuthPermission> listByRoleId(Long roleId);
/**
*
* @param authPermissionList
* @return
*/
int insertAuthPermissionAll(List<AuthPermission> authPermissionList);
/**
* id
* @param roleId
* @return
*/
boolean deleteByRoleId(Long roleId);
}

@ -0,0 +1,61 @@
package com.glxp.api.admin.dao.auth;
import com.glxp.api.admin.entity.auth.AuthPermissionRule;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
@Mapper
public interface AuthPermissionRuleDao {
/**
* ids
* @param ids ids
* @return
*/
List<AuthPermissionRule> listByIdIn(List<Long> ids);
/**
*
* @param map
* @return
*/
List<AuthPermissionRule> listAll();
/**
* pid
* @param pid
* @return
*/
List<AuthPermissionRule> listByPid(Long pid);
/**
*
* @param name
* @return
*/
AuthPermissionRule findByName(String name);
/**
*
* @param authPermissionRule
* @return
*/
boolean insertAuthPermissionRule(AuthPermissionRule authPermissionRule);
/**
*
* @param authPermissionRule
* @return
*/
boolean updateAuthPermissionRule(AuthPermissionRule authPermissionRule);
/**
*
* @param id
* @return
*/
boolean deleteById(Long id);
}

@ -0,0 +1,47 @@
package com.glxp.api.admin.dao.auth;
import com.glxp.api.admin.entity.auth.AuthRoleAdmin;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
@Mapper
public interface AuthRoleAdminDao {
/**
* adminId
* @param adminId adminId
* @return
*/
List<AuthRoleAdmin> listByAdminId(Long adminId);
/**
* adminId
* @param adminIds adminIds
* @return
*/
List<AuthRoleAdmin> listByAdminIdIn(List<Long> adminIds);
/**
* role_id admin_id
* @param roleId roleId
* @return
*/
List<AuthRoleAdmin> listByRoleId(Long roleId);
/**
*
* @param authRoleAdminList
* @return
*/
int insertAuthRoleAdminAll(List<AuthRoleAdmin> authRoleAdminList);
/**
* adminId
* @param adminId
* @return
*/
boolean deleteByAdminId(Long adminId);
}

@ -0,0 +1,47 @@
package com.glxp.api.admin.dao.auth;
import com.glxp.api.admin.req.auth.AuthRoleQueryRequest;
import com.glxp.api.admin.entity.auth.AuthRole;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
@Mapper
public interface AuthRoleDao {
/**
*
* @return
*/
List<AuthRole> listAdminPage(AuthRoleQueryRequest authRoleQueryRequest);
/**
* id,name
* @return
*/
List<AuthRole> listAuthAdminRolePage(Integer status);
AuthRole findByName(String name);
/**
*
* @param authAdmin
* @return
*/
boolean insertAuthRole(AuthRole authAdmin);
/**
*
* @param authAdmin
* @return
*/
boolean updateAuthRole(AuthRole authAdmin);
/**
*
* @param id
* @return
*/
boolean deleteById(Long id);
}

@ -0,0 +1,24 @@
package com.glxp.api.admin.dao.basic;
import com.glxp.api.admin.entity.basic.BasicUnitMaintainEntity;
import com.glxp.api.admin.req.basic.BasicUnitMaintainFilterRequest;
import com.glxp.api.admin.req.basic.BasicUnitMaintainSaveRequest;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@Mapper
public interface BasicUnitMaintainDao {
List<BasicUnitMaintainEntity> filterList(BasicUnitMaintainFilterRequest basicUnitMaintainFilterRequest);
boolean insertBasicUnitMaintain(BasicUnitMaintainEntity basicUnitMaintainEntity);
boolean insert(BasicUnitMaintainEntity basicUnitMaintainEntity);
boolean updateById(BasicUnitMaintainSaveRequest basicUnitMaintainSaveRequest);
boolean deleteById(@Param("id") String id);
BasicUnitMaintainEntity selectById(@Param("id") String id);
}

@ -0,0 +1,22 @@
package com.glxp.api.admin.dao.basic;
import com.glxp.api.admin.entity.basic.BussinessTypeEntity;
import com.glxp.api.admin.req.receipt.BussinessTypeFilterRequest;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@Mapper
public interface BussinessTypeDao {
List<BussinessTypeEntity> filterList(BussinessTypeFilterRequest bussinessTypeFilterRequest);
boolean insertBussinessType(BussinessTypeEntity bussinessTypeEntity);
boolean updateBussinessType(BussinessTypeEntity bussinessTypeEntity);
boolean deleteById(@Param("id") String id);
}

@ -0,0 +1,32 @@
package com.glxp.api.admin.dao.basic;
import com.glxp.api.admin.entity.basic.UdiInfoEntity;
import com.glxp.api.admin.entity.inout.Unit;
import com.glxp.api.admin.req.basic.FilterUdiInfoRequest;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@Mapper
public interface UdiInfoDao {
List<UdiInfoEntity> filterUdiInfo(FilterUdiInfoRequest filterUdiInfoRequest);
UdiInfoEntity findByNameCode(@Param("nameCode") String nameCode);
UdiInfoEntity findByUuid(@Param("uuid") String uuid);
List<UdiInfoEntity> findByUuids(@Param("uuid") String uuid);
boolean insertUdiInfo(UdiInfoEntity udiInfoEntity);
boolean insertUdiInfos(@Param("udiInfoEntities") List<UdiInfoEntity> udiInfoEntities);
boolean updateUdiInfo(UdiInfoEntity udiInfoEntity);
boolean deleteById(@Param("id") String id);
boolean deleteByUuid(@Param("uuid") String uuid);
}

@ -0,0 +1,35 @@
package com.glxp.api.admin.dao.basic;
import com.glxp.api.admin.entity.basic.UdiInfoEntity;
import com.glxp.api.admin.entity.basic.UdiRelevanceEntity;
import com.glxp.api.admin.req.basic.FilterUdiInfoRequest;
import com.glxp.api.admin.res.basic.UdiRelevanceResponse;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@Mapper
public interface UdiRelevanceDao {
List<UdiRelevanceResponse> filterUdiRelevance(FilterUdiInfoRequest filterUdiInfoRequest);
List<UdiRelevanceResponse> filterUdiGp(FilterUdiInfoRequest filterUdiInfoRequest);
// UdiRelevanceResponse selectUdiByUUid
List<UdiRelevanceEntity> selectByUuid(@Param("uuid") String uuid);
UdiRelevanceEntity selectById(@Param("id") String id);
UdiRelevanceEntity selectByThirdId(@Param("thirdId")String thirdId);
boolean insertUdiRelevance(UdiRelevanceEntity udiRelevanceEntity);
boolean updateUdiRelevance(UdiRelevanceEntity udiRelevanceEntity);
boolean deleteById(@Param("id") String id);
boolean deleteByIds(@Param("ids") List<String> id);
boolean deleteByUuid(@Param("uuid") String uuid);
}

@ -0,0 +1,19 @@
package com.glxp.api.admin.dao.basic;
import com.glxp.api.admin.entity.basic.UnitMaintainEntity;
import com.glxp.api.admin.req.receipt.UnitMaintainFilterRequest;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@Mapper
public interface UnitMaintainDao {
List<UnitMaintainEntity> filterList(UnitMaintainFilterRequest unitMaintainFilterRequest);
boolean insertUnitMaintain(UnitMaintainEntity unitMaintainEntity);
boolean deleteById(@Param("id") String id);
UnitMaintainEntity selectById(@Param("id") String id);
}

@ -0,0 +1,14 @@
package com.glxp.api.admin.dao.info;
import com.glxp.api.admin.entity.info.CompanyEntity;
import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface CompanyDao {
CompanyEntity findCompany();
boolean modifyCompany(CompanyEntity companyEntity);
boolean insertCompany(CompanyEntity companyEntity);
}

@ -0,0 +1,18 @@
package com.glxp.api.admin.dao.info;
import com.glxp.api.admin.entity.info.ScheduledEntity;
import com.glxp.api.admin.req.udid.ScheduledRequest;
import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface ScheduledDao {
ScheduledEntity findScheduled(ScheduledRequest scheduledRequest);
boolean modifyScheduled(ScheduledEntity scheduledEntity);
boolean insertScheduled(ScheduledEntity scheduledEntity);
boolean deleteScheduled(String id);
}

@ -0,0 +1,18 @@
package com.glxp.api.admin.dao.info;
import com.glxp.api.admin.entity.info.SetupEntity;
import com.glxp.api.admin.req.info.FilterSetupRequest;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
@Mapper
public interface SetupDao {
SetupEntity findSetup(FilterSetupRequest filterSetupRequest);
boolean modifySetup(SetupEntity setupEntity);
boolean insertSetup(SetupEntity setupEntity);
}

@ -0,0 +1,27 @@
package com.glxp.api.admin.dao.info;
import com.glxp.api.admin.entity.info.SystemParamConfigEntity;
import com.glxp.api.admin.req.info.SystemParamConfigRequest;
import com.glxp.api.admin.req.info.SystemParamConfigSaveRequest;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@Mapper
public interface SystemParamConfigDao {
List<SystemParamConfigEntity> queryPage(SystemParamConfigRequest systemParamConfigRequest);
SystemParamConfigEntity findSystemParamConfig(SystemParamConfigRequest systemParamConfigRequest);
SystemParamConfigEntity selectByParamName(SystemParamConfigRequest systemParamConfigRequest);
SystemParamConfigEntity selectByParamKey(@Param("paramKey") String paramKey);
boolean updateById(SystemParamConfigSaveRequest systemParamConfigSaveRequest);
boolean updateParentId(SystemParamConfigSaveRequest systemParamConfigSaveRequest);
boolean insert(SystemParamConfigEntity systemParamConfigEntity);
}

@ -0,0 +1,37 @@
package com.glxp.api.admin.dao.inout;
import com.glxp.api.admin.entity.inout.WarehouseEntity;
import com.glxp.api.admin.req.inout.WarehouseQueryRequest;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@Mapper
public interface CodesDao {
List<WarehouseEntity> listWarehouse(WarehouseQueryRequest warehouseQueryRequest);
boolean insertWarehouse(WarehouseEntity warehouseEntity);
boolean insertWarehouses(@Param("warehouseEntities") List<WarehouseEntity> warehouseEntities);
List<WarehouseEntity> findByNo(WarehouseQueryRequest warehouseQueryRequest);
Integer isExit(WarehouseEntity warehouseEntity);
List<WarehouseEntity> findByOrderId(WarehouseQueryRequest warehouseQueryRequest);
List<WarehouseEntity> findByReceiptId(@Param("orderId") String orderId);
List<WarehouseEntity> findByCode(@Param("code") String code);
List<WarehouseEntity> searchCode(@Param("code") String code);
boolean updateOrderId(@Param("oldOrderId") String oldOrderId, @Param("newOrderId") String newOrderId);
boolean updateUnit(@Param("orderId") String orderId, @Param("fromCorpID") String fromCorpID, @Param("fromCorp") String fromCorp);
List<String> findCodesById(@Param("orderId") String orderId);
}

@ -0,0 +1,20 @@
package com.glxp.api.admin.dao.inout;
import com.glxp.api.admin.entity.inout.WarehouseEntity;
import com.glxp.api.admin.entity.inout.Warehousetemp;
import com.glxp.api.admin.req.inout.WarehouseQueryRequest;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@Mapper
public interface CodesTempDao {
int insertCodesTemp(@Param("codes") List<WarehouseEntity> warehouseEntities);
int deleteCodesTemp(@Param("codes") List<Long> warehouseEntities);
List<WarehouseEntity> findByOrderId(WarehouseQueryRequest warehouseQueryRequest);
}

@ -0,0 +1,50 @@
package com.glxp.api.admin.dao.inout;
import com.glxp.api.admin.entity.inout.OrderEntity;
import com.glxp.api.admin.entity.inout.WarehouseEntity;
import com.glxp.api.admin.req.inout.OrderFilterRequest;
import com.glxp.api.admin.req.inout.OrderQueryRequest;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@Mapper
public interface OrderDao {
List<OrderEntity> listOrder(OrderQueryRequest orderQueryRequest);
boolean insertOrder(OrderEntity orderEntity);
boolean updateOrder(OrderEntity orderEntity);
List<OrderEntity> listOrderError(OrderQueryRequest orderQueryRequest);
List<OrderEntity> listOrderRepeat(OrderQueryRequest orderQueryRequest);
boolean deleteByOrderId(@Param("orderId") String orderId);
boolean deleteById(@Param("id") String id);
boolean updateUnit(OrderEntity orderEntity);
boolean updateOrderStatus(@Param("orderId") String orderId, @Param("status") Integer status);
boolean updateExportStatus(@Param("orderId") String orderId, @Param("exportStatus") Integer exportStatus);
boolean updateContrastStatus(@Param("orderId") String orderId, @Param("contrastStatus") String contrastStatus);
boolean updateSignStatus(@Param("orderId") String orderId, @Param("signStatus") Integer signStatus);
boolean updateRemark(@Param("orderId") String orderId, @Param("remark") String remark);
List<OrderEntity> filterList(OrderFilterRequest orderFilterRequest);
List<OrderEntity> filterNoSort(OrderFilterRequest orderFilterRequest);
List<OrderEntity> filterListByCode(@Param("warehouseEntityList") List<WarehouseEntity> warehouseEntityList);
OrderEntity findOne(OrderFilterRequest orderFilterRequest);
}

@ -0,0 +1,43 @@
package com.glxp.api.admin.dao.inout;
import com.glxp.api.admin.entity.inout.ErpOrderEntity;
import com.glxp.api.admin.entity.inout.FilterErpOrderRequest;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@Mapper
public interface OrderDetailDao {
List<ErpOrderEntity> filterMyErpOrder(FilterErpOrderRequest filterErpOrderRequest);
List<ErpOrderEntity> findByStockCheck(@Param("orderids") List<String> orderids);
List<ErpOrderEntity> filterMyErpMainOrder(FilterErpOrderRequest filterErpOrderRequest);
List<ErpOrderEntity> filterMyErpDetailOrder(FilterErpOrderRequest filterErpOrderRequest);
List<ErpOrderEntity> findAllByDocids(@Param("docids") List<String> docids);
List<String> filterAllDocid(FilterErpOrderRequest filterErpOrderRequest);
List<ErpOrderEntity> filterAllDocidE(FilterErpOrderRequest filterErpOrderRequest);
boolean insertErpOrders(@Param("erpOrderEntities") List<ErpOrderEntity> erpOrderEntities);
boolean insertErpOrder(ErpOrderEntity erpOrderEntity);
boolean updateErpOrder(ErpOrderEntity erpOrderEntity);
boolean deleteById(@Param("id") String id);
boolean deleteByPrimiyId(@Param("id") String id);
Integer isExit(@Param("docid") String docid);
List<String> selectAllIds(@Param("docids") List<String> docids);
boolean deleteByOrderId(@Param("id") String id);
}

@ -0,0 +1,24 @@
package com.glxp.api.admin.dao.inventory;
import com.glxp.api.admin.entity.basic.ErpStockEntity;
import com.glxp.api.admin.req.basic.FilterStockprintRequest;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@Mapper
public interface InvErpStockDao {
ErpStockEntity findByCode(@Param("code") String code, @Param("batchNo") String batchNo);
boolean insertErpStock(ErpStockEntity stockPrintEntity);
boolean insertErpStocks(@Param("erpStockEntities") List<ErpStockEntity> erpStockEntities);
boolean updateErpStock(ErpStockEntity udiInfoEntity);
boolean deleteById(@Param("id") String id);
}

@ -0,0 +1,21 @@
package com.glxp.api.admin.dao.inventory;
import com.glxp.api.admin.entity.basic.StockPrintEntity;
import com.glxp.api.admin.entity.inout.StockCheckEntity;
import com.glxp.api.admin.req.basic.FilterStockprintRequest;
import com.glxp.api.admin.req.inout.FilterStockCheckRequest;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@Mapper
public interface InvOrderCheckDao {
List<StockCheckEntity> filterStockCheck(FilterStockCheckRequest filterStockCheckRequest);
boolean insertStockCheck(StockCheckEntity stockCheckEntity);
boolean updateStockCheck(StockCheckEntity stockCheckEntity);
boolean deleteById(@Param("id") String id);
}

@ -0,0 +1,32 @@
package com.glxp.api.admin.dao.inventory;
import com.glxp.api.admin.entity.basic.StockPrintEntity;
import com.glxp.api.admin.entity.basic.UdiInfoEntity;
import com.glxp.api.admin.req.basic.FilterStockprintRequest;
import com.glxp.api.admin.req.basic.FilterUdiInfoRequest;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@Mapper
public interface InvStockPrintDao {
List<StockPrintEntity> filterStockPrint(FilterStockprintRequest filterStockprintRequest);
StockPrintEntity findByNameCode(@Param("nameCode") String nameCode);
StockPrintEntity findByRlId(FilterStockprintRequest udiRlIdFk);
boolean insertStockPrint(StockPrintEntity stockPrintEntity);
boolean insertStockPrints(@Param("stockPrintEntities") List<StockPrintEntity> stockPrintEntities);
boolean updateStockPrint(StockPrintEntity udiInfoEntity);
boolean deleteById(@Param("id") String id);
boolean updatePrintStatus(@Param("ids") List<String> ids);
}

@ -0,0 +1,31 @@
package com.glxp.api.admin.entity.auth;
import lombok.Data;
import java.util.Date;
@Data
public class AuthAdmin {
// 主键
private Long id;
// 昵称
private String userName;
// 登录密码
private String passWord;
// 最后登录ip
private String lastLoginIp;
// 最后登录时间
private Date lastLoginTime;
// 创建时间
private Date createTime;
// 状态
private Integer userFlag;
private Date lastModifyTime;
private String comments;
private String employeeName;
private Integer CustomerId;
}

@ -0,0 +1,19 @@
package com.glxp.api.admin.entity.auth;
import lombok.Data;
/**
*
*/
@Data
public class AuthPermission {
private Long id;
private Long roleId;
private Long permissionRuleId;
private String type;
}

@ -0,0 +1,22 @@
package com.glxp.api.admin.entity.auth;
import lombok.Data;
import java.util.Date;
/**
*
*/
@Data
public class AuthPermissionRule {
private Long id;
private Long pid;
private String name;
private String title;
private Integer status;
private String condition;
private Integer listorder;
private Date createTime;
private Date updateTime;
}

@ -0,0 +1,21 @@
package com.glxp.api.admin.entity.auth;
import lombok.Data;
import java.util.Date;
/**
*
*/
@Data
public class AuthRole {
private Long id;
private String name;
private Long pid;
private Long status;
private String remark;
private Long listorder;
private Date createTime;
private Date updateTime;
}

@ -0,0 +1,14 @@
package com.glxp.api.admin.entity.auth;
import lombok.Data;
/**
*
*/
@Data
public class AuthRoleAdmin {
private Long id;
private Long role_id;
private Long admin_id;
}

@ -0,0 +1,20 @@
package com.glxp.api.admin.entity.basic;
import lombok.Data;
@Data
public class BasicUnitMaintainEntity {
private Integer id;
private String thirdId;
private String erpId;
private String name;
private String spell;
private String addr;
private String status;
private String type;
private String creditNo;
private String contact;
private String mobile;
}

@ -0,0 +1,14 @@
package com.glxp.api.admin.entity.basic;
import lombok.Data;
@Data
public class BussinessTypeEntity {
private Integer id;
private String action;
private String name;
private Boolean enable;
private String remark;
private String mainAction;
}

@ -0,0 +1,18 @@
package com.glxp.api.admin.entity.basic;
import lombok.Data;
@Data
public class ErpStockEntity {
private String id;
private String orderId;
private String code;
private String batchNo;
private String manufacturingDate;
private String expirationDate;
private String count;
private String remark;
private String name;
}

@ -0,0 +1,27 @@
package com.glxp.api.admin.entity.basic;
import lombok.Data;
@Data
public class StockPrintEntity {
private int id;
private String udiRlIdFk;
private String udiCode;
private String nameCode;
private String cpmctymc;
private String batchNo;
private String produceDate;
private String expireDate;
private String serialNo;
private String codeType;
private String thirdId;
private String thirdName;
private String printStatus;
private String ggxh;
private String ylqxzcrbarmc;
private String zczbhhzbapzbh;
private String warehouseName;
private String warehouseCode;
private String nnum;
}

@ -0,0 +1,65 @@
package com.glxp.api.admin.entity.basic;
/**
* @author
* @date 2020/9/22.
*/
public class UdiEntity {
private String batchNo;
private String produceDate;
private String expireDate;
private String serialNo;
private String udi;
public String getBatchNo() {
return batchNo;
}
public void setBatchNo(String batchNo) {
this.batchNo = batchNo;
}
public String getProduceDate() {
return produceDate;
}
public void setProduceDate(String produceDate) {
this.produceDate = produceDate;
}
public String getExpireDate() {
return expireDate;
}
public void setExpireDate(String expireDate) {
this.expireDate = expireDate;
}
public String getSerialNo() {
return serialNo;
}
public void setSerialNo(String serialNo) {
this.serialNo = serialNo;
}
public String getUdi() {
return udi;
}
public void setUdi(String udi) {
this.udi = udi;
}
@Override
public String toString() {
return "UdiEntity{" +
"batchNo='" + batchNo + '\'' +
", produceDate='" + produceDate + '\'' +
", expireDate='" + expireDate + '\'' +
", serialNo='" + serialNo + '\'' +
", udi='" + udi + '\'' +
'}';
}
}

@ -0,0 +1,337 @@
package com.glxp.api.admin.entity.basic;
import lombok.Data;
public class UdiInfoEntity {
private Integer id;
private String nameCode;
private String packRatio;
private String packLevel;
private Integer bhxjsl;
private Integer bhzxxsbzsl;
private Integer zxxsbzbhsydysl;
private String bhxjcpbm;
private String sjcpbm; //
private String bzcj;
private String addType;
private String deviceRecordKey;
private String cpmctymc;
private String cplb;
private String flbm;
private String ggxh;
private String qxlb;
private String tyshxydm;
private String ylqxzcrbarmc;
private String zczbhhzbapzbh;
private String ylqxzcrbarywmc;
private String sydycpbs;
private String uuid;
private int versionNumber;
private int diType;
private String thirdId;
private String thirdName;
//本地生成信息
private String batchNo;
private String produceDate;
private String expireDate;
private String serialNo;
private String udi;
private String code;
private Integer count;
private String warehouseCode;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getNameCode() {
return nameCode;
}
public void setNameCode(String nameCode) {
this.nameCode = nameCode;
}
public String getPackRatio() {
return packRatio;
}
public void setPackRatio(String packRatio) {
this.packRatio = packRatio;
}
public String getPackLevel() {
return packLevel;
}
public void setPackLevel(String packLevel) {
this.packLevel = packLevel;
}
public Integer getBhxjsl() {
if (bhxjsl == null || bhxjsl == 0) {
return 1;
}
return bhxjsl;
}
public void setBhxjsl(Integer bhxjsl) {
this.bhxjsl = bhxjsl;
}
public Integer getBhzxxsbzsl() {
if (bhzxxsbzsl == null || bhzxxsbzsl == 0) {
return 1;
}
return bhzxxsbzsl;
}
public void setBhzxxsbzsl(Integer bhzxxsbzsl) {
this.bhzxxsbzsl = bhzxxsbzsl;
}
public Integer getZxxsbzbhsydysl() {
if (zxxsbzbhsydysl == null || zxxsbzbhsydysl == 0) {
return 1;
}
return zxxsbzbhsydysl;
}
public void setZxxsbzbhsydysl(Integer zxxsbzbhsydysl) {
this.zxxsbzbhsydysl = zxxsbzbhsydysl;
}
public String getBhxjcpbm() {
return bhxjcpbm;
}
public void setBhxjcpbm(String bhxjcpbm) {
this.bhxjcpbm = bhxjcpbm;
}
public String getSjcpbm() {
return sjcpbm;
}
public void setSjcpbm(String sjcpbm) {
this.sjcpbm = sjcpbm;
}
public String getBzcj() {
return bzcj;
}
public void setBzcj(String bzcj) {
this.bzcj = bzcj;
}
public String getAddType() {
return addType;
}
public void setAddType(String addType) {
this.addType = addType;
}
public String getDeviceRecordKey() {
return deviceRecordKey;
}
public void setDeviceRecordKey(String deviceRecordKey) {
this.deviceRecordKey = deviceRecordKey;
}
public String getCpmctymc() {
return cpmctymc;
}
public void setCpmctymc(String cpmctymc) {
this.cpmctymc = cpmctymc;
}
public String getCplb() {
return cplb;
}
public void setCplb(String cplb) {
this.cplb = cplb;
}
public String getFlbm() {
return flbm;
}
public void setFlbm(String flbm) {
this.flbm = flbm;
}
public String getGgxh() {
return ggxh;
}
public void setGgxh(String ggxh) {
this.ggxh = ggxh;
}
public String getQxlb() {
return qxlb;
}
public void setQxlb(String qxlb) {
this.qxlb = qxlb;
}
public String getTyshxydm() {
return tyshxydm;
}
public void setTyshxydm(String tyshxydm) {
this.tyshxydm = tyshxydm;
}
public String getYlqxzcrbarmc() {
return ylqxzcrbarmc;
}
public void setYlqxzcrbarmc(String ylqxzcrbarmc) {
this.ylqxzcrbarmc = ylqxzcrbarmc;
}
public String getZczbhhzbapzbh() {
return zczbhhzbapzbh;
}
public void setZczbhhzbapzbh(String zczbhhzbapzbh) {
this.zczbhhzbapzbh = zczbhhzbapzbh;
}
public String getYlqxzcrbarywmc() {
return ylqxzcrbarywmc;
}
public void setYlqxzcrbarywmc(String ylqxzcrbarywmc) {
this.ylqxzcrbarywmc = ylqxzcrbarywmc;
}
public String getSydycpbs() {
return sydycpbs;
}
public void setSydycpbs(String sydycpbs) {
this.sydycpbs = sydycpbs;
}
public String getUuid() {
return uuid;
}
public void setUuid(String uuid) {
this.uuid = uuid;
}
public int getVersionNumber() {
return versionNumber;
}
public void setVersionNumber(int versionNumber) {
this.versionNumber = versionNumber;
}
public int getDiType() {
return diType;
}
public void setDiType(int diType) {
this.diType = diType;
}
public String getThirdId() {
return thirdId;
}
public void setThirdId(String thirdId) {
this.thirdId = thirdId;
}
public String getThirdName() {
return thirdName;
}
public void setThirdName(String thirdName) {
this.thirdName = thirdName;
}
public String getBatchNo() {
return batchNo;
}
public void setBatchNo(String batchNo) {
this.batchNo = batchNo;
}
public String getProduceDate() {
return produceDate;
}
public void setProduceDate(String produceDate) {
this.produceDate = produceDate;
}
public String getExpireDate() {
return expireDate;
}
public void setExpireDate(String expireDate) {
this.expireDate = expireDate;
}
public String getSerialNo() {
return serialNo;
}
public void setSerialNo(String serialNo) {
this.serialNo = serialNo;
}
public String getUdi() {
return udi;
}
public void setUdi(String udi) {
this.udi = udi;
}
public String getCode() {
return code;
}
public void setCode(String code) {
this.code = code;
}
public Integer getCount() {
if(count ==null)
return 1;
return count;
}
public void setCount(Integer count) {
this.count = count;
}
public String getWarehouseCode() {
return warehouseCode;
}
public void setWarehouseCode(String warehouseCode) {
this.warehouseCode = warehouseCode;
}
}

@ -0,0 +1,15 @@
package com.glxp.api.admin.entity.basic;
import lombok.Data;
@Data
public class UdiRelevanceEntity {
private String id;
private String thirdId;
private String thirdName;
private String uuid;
private Boolean isUseDy;
private String updateTime;
}

@ -0,0 +1,19 @@
package com.glxp.api.admin.entity.basic;
import lombok.Data;
@Data
public class UnitMaintainEntity {
private Integer id;
private String thirdId;
private String erpId;
private String name;
private String spell;
private String addr;
private String status;
private String type;
private String contact;
private String mobile;
private String creditNo;
}

@ -0,0 +1,16 @@
package com.glxp.api.admin.entity.info;
import lombok.Data;
@Data
public class CompanyEntity {
private String name; //企业名称
private String category; //企业类型
private String creditCode; //统一社会信用代码
private String addr; //住所地址
private String productAddr; //生产地址
private String classes; //企业类别 //企业类别1.生产企业2.流通企业3。医疗机构
private String appId;
private String appSecret;
}

@ -0,0 +1,10 @@
package com.glxp.api.admin.entity.info;
import lombok.Data;
@Data
public class MipsServiceEntity {
private String mipsName;
private String url;
private String remark;
}

@ -0,0 +1,12 @@
package com.glxp.api.admin.entity.info;
import lombok.Data;
@Data
public class ScheduledEntity {
private int id;
private String cronName;
private String cron;
private String customerId;
}

@ -0,0 +1,30 @@
package com.glxp.api.admin.entity.info;
import lombok.Data;
@Data
public class SetupEntity {
private int id;
private boolean erpSaleOutModify;
private boolean erpGetSaleOut;
private boolean erpSaleOutSign;
private boolean filterSaleOutSign;
private int erpGetSaleOutDay;
private boolean erpPruchaseModify;
private boolean erpGetPurchaseIn;
private boolean erpPruchaseSign;
private int erpGetPurchaseDay;
private boolean filterPurchaseSign;
private String remark;
private boolean forbidSameErp;
private boolean returnWareHouseOut;
private boolean salesWareHouseOut;
private boolean returnWareHouseIn;
private boolean updateErpData;
private boolean dlStockErp;
private Integer dlStockErpDay;
}

@ -0,0 +1,16 @@
package com.glxp.api.admin.entity.info;
import lombok.Data;
@Data
public class SystemParamConfigEntity {
private int id;
private int parentId;
private String paramName;
private String paramKey;
private String paramValue;
private int paramStatus;
private int paramType;
private String paramExplain;
}

@ -0,0 +1,21 @@
package com.glxp.api.admin.entity.inout;
import lombok.Data;
@Data
public class ErpDetailCodeEntity {
private String nameCode;
private String packRatio;
private String packSpec;
private String authCode;
private String coName;
private String unit;
private int bhzxxsbzsl;
private int zxxsbzbhsydysl;
private int isUseDy;
private String batchNo;
private String code;
private int count;
private String thirdProductNo;
}

@ -0,0 +1,58 @@
package com.glxp.api.admin.entity.inout;
import lombok.Data;
@Data
public class ErpOrderEntity {
/**
* companyid : 31443
* docid : 200959
* iodtlid : 1108752
* inoutid : 1064084
* credate : 2020-10-14 10:24:56.0
* goodsunit :
* goodsid : 26
* lotid : 84392
* goodsname : 120ml
* companyname :
* lotno : 1912198
* dtlgoodsqty : 4000
*/
private long id;
private String erpOrderId;
private String iodtlId;
private String inoutId;
private String companyid;
private String companyname;
private String goodsid;
private String goodsname;
private String goodsunit;
private String batchNoId;
private String batchNo;
private String credate;
private String warehouseCode;
private String productDate;
private String expireDate;
private int erpCount;
private int reCount;
private String nameCode;
private String productCompany;
private String coName;
private String authCode;
private String packSpec;
private String packRatio;
private int bhzxxsbzsl;
private int zxxsbzbhsydysl;
private String isDownload;
private String orderIdFk;
private String nameCodes;
private String status;
private int count;
}

@ -0,0 +1,23 @@
package com.glxp.api.admin.entity.inout;
import com.glxp.api.admin.req.ListPageRequest;
import lombok.Data;
import java.util.List;
@Data
public class FilterErpOrderRequest extends ListPageRequest {
private String docid;
private String goodsname;
private String companyname;
private String orderId;
private String orderIdFk;
private String startDate;
private String endDate;
private String billAction;
private String billcode;
private String fbillflag;
List<String> orderIds;
}

@ -0,0 +1,20 @@
package com.glxp.api.admin.entity.inout;
import lombok.Data;
@Data
public class MipsDrugEntity {
private String AuthorizedNo;
private String Type;
private String Spec;
private String PackUnit;
private String ProductCode;
private String ProductName;
private String ProductType;
private String PackageSpec;
private String PkgRatio;
private String ResCode;
private String CodeVersion;
private String CodeLevel;
}

@ -0,0 +1,34 @@
package com.glxp.api.admin.entity.inout;
import lombok.Data;
@Data
public class OrderDetailEntity {
private String id;
private String nameCode;
private String packRatio;
private String packLevel;
private int bhxjsl;
private int bhzxxsbzsl;
private String bhxjcpbm;
private String bzcj;
private String thirdProductNo;
private String addType;
private String deviceRecordKey;
private String type;
private String unit;
private String coName;
private String form;
private String formSpec;
private String packSpec;
private String authCode;
private String name;
private String uuid;
private int count;
private int zxxsbzbhsydysl;
private int isUseDy;
}

@ -0,0 +1,24 @@
package com.glxp.api.admin.entity.inout;
import lombok.Data;
@Data
public class OrderEntity {
private String id;
private String corpOrderId;
private String action;
private String actDate;
private String fromCorpId;
private String actor;
private String mainAction;
private String fromCorp;
private Integer status;
private String exportStatus;
private String fromType;
private Integer contrastStatus;
private String erpFk;
private String signStatus;
private String stockCheckFk;
private String remark;
}

@ -0,0 +1,17 @@
package com.glxp.api.admin.entity.inout;
import lombok.Data;
@Data
public class StockCheckEntity {
private int id;
private String action;
private String actDate;
private String status;
private String remark;
private String endTime;
private String whouse;
private String houseCard;
}

@ -0,0 +1,14 @@
package com.glxp.api.admin.entity.inout;
import lombok.Data;
@Data
public class Unit {
private String unitId;
private String name;
private String spell;
private String addr;
private String status;
private String type;
private Integer id;
}

@ -0,0 +1,24 @@
package com.glxp.api.admin.entity.inout;
import lombok.Data;
@Data
public class WarehouseEntity {
private Long id;
private String action;
private String mainAction;
private String code;
private String corpOrderId;
private String actor;
private String actDate;
private String fromCorpId;
private String fromCorp;
private String orderId;
private String batchNo;
private String produceDate;
private String expireDate;
private String serialNo;
private Integer count;
private String packageLevel;
private String warehouseCode;
}

@ -0,0 +1,192 @@
package com.glxp.api.admin.entity.inout;
public class Warehousetemp {
private Long id;
private String action;
private String mainaction;
private String code;
private String corporderid;
private String actor;
private String actdate;
private Integer wrongcode;
private String uppercorporderid;
private String fromcorpid;
private String fromcorp;
private String orderid;
private String batchno;
private String producedate;
private String expiredate;
private String serialno;
private String udi;
private Integer count;
private Integer type;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getAction() {
return action;
}
public void setAction(String action) {
this.action = action == null ? null : action.trim();
}
public String getMainaction() {
return mainaction;
}
public void setMainaction(String mainaction) {
this.mainaction = mainaction == null ? null : mainaction.trim();
}
public String getCode() {
return code;
}
public void setCode(String code) {
this.code = code == null ? null : code.trim();
}
public String getCorporderid() {
return corporderid;
}
public void setCorporderid(String corporderid) {
this.corporderid = corporderid == null ? null : corporderid.trim();
}
public String getActor() {
return actor;
}
public void setActor(String actor) {
this.actor = actor == null ? null : actor.trim();
}
public String getActdate() {
return actdate;
}
public void setActdate(String actdate) {
this.actdate = actdate == null ? null : actdate.trim();
}
public Integer getWrongcode() {
return wrongcode;
}
public void setWrongcode(Integer wrongcode) {
this.wrongcode = wrongcode;
}
public String getUppercorporderid() {
return uppercorporderid;
}
public void setUppercorporderid(String uppercorporderid) {
this.uppercorporderid = uppercorporderid == null ? null : uppercorporderid.trim();
}
public String getFromcorpid() {
return fromcorpid;
}
public void setFromcorpid(String fromcorpid) {
this.fromcorpid = fromcorpid == null ? null : fromcorpid.trim();
}
public String getFromcorp() {
return fromcorp;
}
public void setFromcorp(String fromcorp) {
this.fromcorp = fromcorp == null ? null : fromcorp.trim();
}
public String getOrderid() {
return orderid;
}
public void setOrderid(String orderid) {
this.orderid = orderid == null ? null : orderid.trim();
}
public String getBatchno() {
return batchno;
}
public void setBatchno(String batchno) {
this.batchno = batchno == null ? null : batchno.trim();
}
public String getProducedate() {
return producedate;
}
public void setProducedate(String producedate) {
this.producedate = producedate == null ? null : producedate.trim();
}
public String getExpiredate() {
return expiredate;
}
public void setExpiredate(String expiredate) {
this.expiredate = expiredate == null ? null : expiredate.trim();
}
public String getSerialno() {
return serialno;
}
public void setSerialno(String serialno) {
this.serialno = serialno == null ? null : serialno.trim();
}
public String getUdi() {
return udi;
}
public void setUdi(String udi) {
this.udi = udi == null ? null : udi.trim();
}
public Integer getCount() {
return count;
}
public void setCount(Integer count) {
this.count = count;
}
public Integer getType() {
return type;
}
public void setType(Integer type) {
this.type = type;
}
}

@ -0,0 +1,28 @@
package com.glxp.api.admin.exception;
import com.glxp.api.common.enums.ResultEnum;
import lombok.Getter;
/**
*
*/
@Getter
public class JsonException extends RuntimeException{
private Integer code;
public JsonException(ResultEnum resultEnum) {
super(resultEnum.getMessage());
this.code = resultEnum.getCode();
}
public JsonException(ResultEnum resultEnum, String message) {
super(message);
this.code = resultEnum.getCode();
}
public JsonException(Integer code, String message) {
super(message);
this.code = code;
}
}

@ -0,0 +1,33 @@
package com.glxp.api.admin.handler;
import com.glxp.api.admin.exception.JsonException;
import com.glxp.api.common.enums.ResultEnum;
import com.glxp.api.common.res.BaseResponse;
import com.glxp.api.common.util.ResultVOUtils;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.RestControllerAdvice;
/**
*
*/
@RestControllerAdvice
@Slf4j
public class GlobalExceptionHandler {
// 拦截API异常
@ExceptionHandler(value = JsonException.class)
public BaseResponse handlerJsonException(JsonException e) {
// 返回对应的错误信息
return ResultVOUtils.error(e.getCode(), e.getMessage());
}
// 拦截API异常
@ExceptionHandler(value = RuntimeException.class)
public BaseResponse handlerRuntimeException(RuntimeException e) {
log.error(e.getMessage());
// 返回对应的错误信息
return ResultVOUtils.error(ResultEnum.NOT_NETWORK);
}
}

@ -0,0 +1,61 @@
package com.glxp.api.admin.httpclient;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.TypeReference;
import com.glxp.api.admin.res.basic.ErpProductsResponse;
import com.glxp.api.admin.res.basic.ErpUnitsResponse;
import com.glxp.api.admin.req.basic.FilterErpGoodsRequest;
import com.glxp.api.admin.req.receipt.UnitMaintainFilterRequest;
import com.glxp.api.admin.res.PageSimpleResponse;
import com.glxp.api.admin.util.HttpClient;
import com.glxp.api.common.res.BaseResponse;
import com.glxp.api.common.util.ResultVOUtils;
import java.util.HashMap;
import java.util.Map;
/**
* ERP
*/
public class ErpBasicClient {
//获取往来单位
public BaseResponse<PageSimpleResponse<ErpUnitsResponse>> getErpCrop(UnitMaintainFilterRequest unitMaintainFilterRequest, String url) {
Map<String, Object> paramMap = new HashMap<>(16);
paramMap.put("unitId", unitMaintainFilterRequest.getUnitId());
paramMap.put("name", unitMaintainFilterRequest.getName());
paramMap.put("page", unitMaintainFilterRequest.getPage());
paramMap.put("limit", unitMaintainFilterRequest.getLimit());
String response = HttpClient.mipsGet(url, paramMap);
try {
BaseResponse<PageSimpleResponse<ErpUnitsResponse>> udiDlDeviceResponse = (BaseResponse<PageSimpleResponse<ErpUnitsResponse>>) JSONObject.parseObject(response, BaseResponse.class);
return udiDlDeviceResponse;
} catch (Exception e) {
e.printStackTrace();
return ResultVOUtils.error(500, "连接ERP服务出错");
}
}
//获取产品信息
public BaseResponse<PageSimpleResponse<ErpProductsResponse>> getErpProducts(FilterErpGoodsRequest filterErpGoodsRequest, String url) {
Map<String, Object> paramMap = new HashMap<>(16);
paramMap.put("code", filterErpGoodsRequest.getCode());
paramMap.put("name", filterErpGoodsRequest.getName());
paramMap.put("limit", filterErpGoodsRequest.getLimit());
paramMap.put("page", filterErpGoodsRequest.getPage());
String response = HttpClient.mipsGet(url, paramMap);
try {
BaseResponse<PageSimpleResponse<ErpProductsResponse>> udiDlDeviceResponse =
JSONObject.parseObject(response, new TypeReference<BaseResponse<PageSimpleResponse<ErpProductsResponse>>>() {
});
return udiDlDeviceResponse;
} catch (Exception e) {
e.printStackTrace();
return ResultVOUtils.error(500, "连接ERP服务出错");
}
}
}

@ -0,0 +1,39 @@
package com.glxp.api.admin.httpclient;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.TypeReference;
import com.glxp.api.admin.req.inventory.ErpOnhandRequest;
import com.glxp.api.admin.res.PageSimpleResponse;
import com.glxp.api.admin.res.inventory.ErpOnHandResponse;
import com.glxp.api.admin.util.HttpClient;
import com.glxp.api.common.res.BaseResponse;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class ErpInvClient {
public List<ErpOnHandResponse> getOnHand(ErpOnhandRequest onhandRequest, String url) {
Map<String, Object> paramMap = new HashMap<>(16);
if (onhandRequest.getBatchNo() != null && !onhandRequest.getBatchNo().equals(""))
paramMap.put("batchNo", onhandRequest.getBatchNo());
if (onhandRequest.getWarehouseCode() != null && !onhandRequest.getWarehouseCode().equals(""))
paramMap.put("warehouseCode", onhandRequest.getWarehouseCode());
if (onhandRequest.getInventoryCode() != null && !onhandRequest.getInventoryCode().equals(""))
paramMap.put("inventoryCode", onhandRequest.getInventoryCode());
String response = HttpClient.mipsGet(url, paramMap);
try {
BaseResponse<PageSimpleResponse<ErpOnHandResponse>> onHandsResponse =
JSONObject.parseObject(response, new TypeReference<BaseResponse<PageSimpleResponse<ErpOnHandResponse>>>() {
});
List<ErpOnHandResponse> erpOnHandResponses = onHandsResponse.getData().getList();
return erpOnHandResponses;
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
}

@ -0,0 +1,144 @@
package com.glxp.api.admin.httpclient;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.TypeReference;
import com.glxp.api.admin.entity.inout.ErpOrderEntity;
import com.glxp.api.admin.req.inout.ERPPostBillRequest;
import com.glxp.api.admin.req.inout.FilterOrderRequest;
import com.glxp.api.admin.req.inout.USignRequest;
import com.glxp.api.admin.res.PageSimpleResponse;
import com.glxp.api.admin.res.inout.ErpOrderResponse;
import com.glxp.api.admin.util.DateUtil;
import com.glxp.api.admin.util.HttpClient;
import com.glxp.api.common.res.BaseResponse;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* ERP
*/
public class ErpOrderClient {
private String url;
public ErpOrderClient() {
}
public ErpOrderClient(String url) {
this.url = url;
}
public List<ErpOrderEntity> getErpOrder(List<String> billCodes) {
List<ErpOrderEntity> erpOrderEntities = new ArrayList<>();
if (billCodes != null && billCodes.size() > 0) {
for (int i = 0; i < billCodes.size(); i++) {
ErpOrderEntity erpOrderEntity = getErpOrder(billCodes.get(i));
if (erpOrderEntity != null) {
erpOrderEntities.add(erpOrderEntity);
}
}
}
return erpOrderEntities;
}
public BaseResponse<PageSimpleResponse<ErpOrderResponse>> getErpOrderResponse(FilterOrderRequest filterOrderRequest) {
Map<String, Object> paramMap = new HashMap<>(16);
paramMap.put("billNo", filterOrderRequest.getBillNo());
paramMap.put("page", filterOrderRequest.getPage());
paramMap.put("limit", filterOrderRequest.getLimit());
paramMap.put("billAction", filterOrderRequest.getBillAction());
if (filterOrderRequest.getStartDate() == null || filterOrderRequest.getEndDate() == null) {
Map date = DateUtil.getDayTRange();
if (filterOrderRequest.getBillNo() != null) {
date = DateUtil.getYearTRange();
}
filterOrderRequest.setStartDate((String) date.get("startDate"));
filterOrderRequest.setEndDate((String) date.get("endDate"));
}
paramMap.put("startDate", filterOrderRequest.getStartDate());
paramMap.put("endDate", filterOrderRequest.getEndDate());
String response = "";
response = HttpClient.mipsGet(url, paramMap);
try {
BaseResponse<PageSimpleResponse<ErpOrderResponse>> responseBaseResponse =
JSONObject.parseObject(response, new TypeReference<BaseResponse<PageSimpleResponse<ErpOrderResponse>>>() {
});
return responseBaseResponse;
} catch (
Exception e) {
e.printStackTrace();
}
return null;
}
public List<ErpOrderEntity> getErpOrder(FilterOrderRequest filterOrderRequest) {
try {
BaseResponse<PageSimpleResponse<ErpOrderResponse>> responseBaseResponse = getErpOrderResponse(filterOrderRequest);
List<ErpOrderResponse> purchaseinResponseList = responseBaseResponse.getData().getList();
if (purchaseinResponseList != null && purchaseinResponseList.size() > 0) {
List<ErpOrderEntity> erpOrderEntities = new ArrayList<>();
for (ErpOrderResponse erpOrderResponse : purchaseinResponseList) {
for (ErpOrderResponse.SubErpOrder subPurchase : erpOrderResponse.getSubErpOrders()) {
ErpOrderEntity erpOrderEntity = new ErpOrderEntity();
erpOrderEntity.setErpOrderId(erpOrderResponse.getBillNo());
erpOrderEntity.setCompanyid(erpOrderResponse.getCorpId());
erpOrderEntity.setCompanyname(erpOrderResponse.getCorpName());
erpOrderEntity.setCredate(erpOrderResponse.getBilldate());
erpOrderEntity.setGoodsid(subPurchase.getProductId());
erpOrderEntity.setGoodsname(subPurchase.getProductName());
erpOrderEntity.setBatchNo(subPurchase.getBatchNo());
erpOrderEntity.setProductDate(subPurchase.getProductDate());
erpOrderEntity.setExpireDate(subPurchase.getExpireDate());
erpOrderEntity.setErpCount(Math.abs(subPurchase.getCount()));
erpOrderEntity.setReCount(Math.abs(subPurchase.getReCount()));
erpOrderEntity.setGoodsunit(subPurchase.getSpec());
erpOrderEntities.add(erpOrderEntity);
}
}
return erpOrderEntities;
}
} catch (
Exception e) {
e.printStackTrace();
}
return null;
}
public ErpOrderEntity getErpOrder(String billCode) {
FilterOrderRequest filterOrderRequest = new FilterOrderRequest();
filterOrderRequest.setPage(1);
filterOrderRequest.setLimit(1);
filterOrderRequest.setBillNo(billCode);
List<ErpOrderEntity> erpOrderEntities = getErpOrder(filterOrderRequest);
if (erpOrderEntities != null && erpOrderEntities.size() > 0) {
return erpOrderEntities.get(0);
}
return null;
}
public BaseResponse postBill(Map<String, List<ErpOrderEntity>> postMap, String billAction, String uploadUrl) {
ERPPostBillRequest erpPostBillRequest = new ERPPostBillRequest();
erpPostBillRequest.setPostMap(postMap);
erpPostBillRequest.setBillAction(billAction);
String response = HttpClient.uCloudPost(uploadUrl, erpPostBillRequest);
BaseResponse baseResponse =
JSONObject.parseObject(response, new TypeReference<BaseResponse>() {
});
return baseResponse;
}
public BaseResponse signBill(USignRequest signRequest, String url) {
String response = HttpClient.uCloudPost(url, signRequest);
BaseResponse baseResponse =
JSONObject.parseObject(response, new TypeReference<BaseResponse>() {
});
return baseResponse;
}
}

@ -0,0 +1,59 @@
package com.glxp.api.admin.httpclient;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.TypeReference;
import com.glxp.api.admin.entity.basic.UdiInfoEntity;
import com.glxp.api.admin.util.HttpClient;
import com.glxp.api.common.res.BaseResponse;
import com.glxp.api.common.util.ResultVOUtils;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
* UDI
*/
public class UdiDlHttpClient {
String udiUrl;
public UdiDlHttpClient(String udiUrl) {
this.udiUrl = udiUrl;
}
public List<UdiInfoEntity> getUdiByUuid(String uuid) {
Map<String, Object> paramMap = new HashMap<>(16);
paramMap.put("page", 1);
paramMap.put("limit", 100);
paramMap.put("uuid", uuid);
String response = HttpClient.mipsGet(udiUrl + "/udidl/device/filterByUuid", paramMap);
try {
BaseResponse<List<UdiInfoEntity>> udiDlDeviceResponse = (BaseResponse<List<UdiInfoEntity>>) JSONObject.parseObject(response, BaseResponse.class);
List<UdiInfoEntity> udiInfoEntities = udiDlDeviceResponse.getData();
return udiInfoEntities;
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
public List<UdiInfoEntity> getUdiByDi(String key) {
Map<String, Object> paramMap = new HashMap<>(16);
paramMap.put("page", 1);
paramMap.put("limit", 100);
paramMap.put("nameCode", key);
String response = HttpClient.mipsGet(udiUrl + "/udidl/device/filterByNameCode", paramMap);
try {
BaseResponse<List<UdiInfoEntity>> udiDlDeviceResponse =
JSONObject.parseObject(response, new TypeReference<BaseResponse<List<UdiInfoEntity>>>() {
});
List<UdiInfoEntity> udiInfoEntities = udiDlDeviceResponse.getData();
return udiInfoEntities;
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
}

@ -0,0 +1,23 @@
package com.glxp.api.admin.req;
import lombok.Data;
import javax.validation.constraints.Max;
import javax.validation.constraints.Min;
/**
*
*/
@Data
public class ListPageRequest {
@Min(message = "分页参数错误", value = 1)
private Integer page;
@Min(value = 1, message = "分页参数不能小于1")
@Max(value = 500, message = "分页参数不能大于50")
private Integer limit;
}

@ -0,0 +1,21 @@
package com.glxp.api.admin.req.auth;
import com.glxp.api.admin.req.ListPageRequest;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.List;
@EqualsAndHashCode(callSuper = true)
@Data
public class AuthAdminQueryRequest extends ListPageRequest {
private String userName;
private Integer userFlag;
private Long roleId;
private List<Long> ids;
}

@ -0,0 +1,38 @@
package com.glxp.api.admin.req.auth;
import lombok.Data;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.util.List;
/**
*
*/
@Data
public class AuthAdminSaveRequest {
// id
private Long id;
// 昵称
@NotEmpty(message = "请输入用户名")
private String userName;
// 登录密码
private String passWord;
// 状态
@NotNull(message = "请选择状态")
private Integer userFlag;
private String employeeName;
// 最后登录ip
private String lastLoginIp;
// 最后登录时间
private String lastLoginTime;
// 创建时间
private String createTime;
private String lastModifyTime;
private String comments;
// 角色ids
private List<Long> roles;
}

@ -0,0 +1,24 @@
package com.glxp.api.admin.req.auth;
import lombok.Data;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
/**
*
*/
@Data
public class AuthPermissionRuleSaveRequest {
private Long id;
private Long pid;
@NotEmpty(message = "请输入规则名称")
private String name;
@NotEmpty(message = "请输入规则标题")
private String title;
@NotNull(message = "请选择状态")
private Integer status;
private String condition;
private Integer listorder;
}

@ -0,0 +1,18 @@
package com.glxp.api.admin.req.auth;
import lombok.Data;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.util.List;
/**
*
*/
@Data
public class AuthRoleAuthRequest {
@NotNull(message = "请选择角色")
private Long role_id;
@NotEmpty(message = "请选择授权的权限规则")
private List<Long> auth_rules;
}

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save