关于推荐库位 java前端与SQL语句后面的结合
-----------------------------------------------------------------------------------
select a1.id,a1.name,a1.sort,a1.type,a3.value - (a1.nums/a2.nums)*100 as nums,a3.value,a1.nums,a2.nums,a1.packageNum
from (
select swr.id,swr.name,swr.sort,srscm.area_id as type,count(swl.id) as nums,ifnull(sum(swl.package_num),0) packageNum
from sys_warehouse_roadway swr
join sys_warehouse_location swl on swr.id = swl.roadway_id
and swl.status = 1 and swl.delete_status = 0 and swl.package_num > 0
join sys_recommend_store_code_mapping srscm on srscm.area_id = swr.area_id
where swr.status = 1 AND swr.delete_status = 0 and swr.name='A10'
GROUP BY swr.id,swr.name,swr.sort,srscm.area_id
) a1,
(
select swr.id,swr.name,swr.sort,srscm.area_id as type,count(1) as nums
from sys_warehouse_roadway swr
left join sys_warehouse_location swl on swr.id = swl.roadway_id and swl.status = 1 and swl.delete_status = 0
left join sys_recommend_store_code_mapping srscm on srscm.area_id = swr.area_id
where swr.status = 1 AND swr.delete_status = 0 and swr.name='A10'
GROUP BY swr.id,swr.name,swr.sort,srscm.area_id
) a2,
(
select * from sys_key_value skv where skv.key = 'RecommandStorePercent'
) a3
where a1.id = a2.id
-- -------------------------------------------------------------------------------------
select swr.id,swr.name,swr.sort as type,count(swl.id) as nums,ifnull(sum(swl.package_num),0) packageNum
from sys_warehouse_roadway swr
left join sys_warehouse_location swl on swr.id = swl.roadway_id
and swl.status = 1 and swl.delete_status = 0 and swl.package_num > 0
where swr.status = 1 AND swr.delete_status = 0
GROUP BY swr.id,swr.name,swr.sort
select swr.id,swr.name,swr.sort,count(1) as nums,count(swl.id) as nums2
from sys_warehouse_roadway swr
left join sys_warehouse_location swl on swr.id = swl.roadway_id and swl.status = 1 and swl.delete_status = 0
where swr.status = 1 AND swr.delete_status = 0
GROUP BY swr.id,swr.name,swr.sort
-- --巷道是通过(包裹类型 国家等决定选取那个巷道).
-- --说明:1.首先统计巷道下包裹库存率在80%以下的巷道 (swl.package_num>0 查询此巷道下的有包裹的库位(swl.package_num>0)数/ 此巷道下的总库位数)
---选择库位:(在库位表 根据库位包裹数的升序 查到最少包裹巷道的库位)
select swl.id,swl.name from sys_warehouse_location swl
where swl.roadway_id = #{roadWayId} and swl.status = 1
ORDER BY swl.package_num
LIMIT 1
-------------------------------------------------------------------------在JaVA 里面的写法
// 过滤巷道是否饱和
List<RoadWayInfoRecommendDTO> baoheList = roadWayInfoList.stream().filter(a -> a.getNums() > 0).collect(Collectors.toList());
//记录日志
logDTO.setRequest("a.getNums() > 0,过滤掉已经饱和的巷道");
logDTO.setResponse("过滤已经饱和的巷道" + JSONObject.toJSON(baoheList));
recommendStoreCodeManager.insertRecommendStoreCodeLog(logDTO);
List<RoadWayInfoRecommendDTO> serchList = new ArrayList<>();
if (CollectionUtils.isNotEmpty(baoheList)) {
// 未饱和
ListUtils.sort(baoheList, "nums", true);
ListUtils.sort(baoheList, "sort", true);
serchList = baoheList;
} else {
// 已饱和
ListUtils.sort(roadWayInfoList, "packageNum", true);
serchList = roadWayInfoList;
}
long roadwayId = serchList.get(0).getId();
// 获取开始时间
startTime = System.currentTimeMillis();
LocationInfoRecommendDTO randomLocationInfo = recommendDAO.getRandomLocation(roadwayId, 0);
// 获取结束时间
endTime = System.currentTimeMillis();
runTime = (endTime - startTime) + "ms";
logDTO.setRequest("首单根据巷道获取任意库位查询时间");
logDTO.setResponse(runTime);
recommendStoreCodeManager.insertRecommendStoreCodeLog(logDTO);
if (randomLocationInfo == null) {
message = "根据巷道" + roadwayId + "未获取到任意库位";
logDTO.setRequest("{\"roadwayId\":\"" + roadwayId + "\"}");
logDTO.setResponse(message);
recommendStoreCodeManager.insertRecommendStoreCodeLog(logDTO);
response.setSucess(false);
response.setMessage(message);
response.setRecommendStoreCode("");
return response;
}
//记录日志
logDTO.setRequest("{\"roadwayId\":\"" + roadwayId + "\"}");
logDTO.setResponse("根据巷道,获取库位信息" + JSONObject.toJSON(randomLocationInfo));
recommendStoreCodeManager.insertRecommendStoreCodeLog(logDTO);
response.setSucess(true);
response.setRecommendStoreCode(randomLocationInfo.getName());
response.setMessage("");
return response;
-----------------------------------------------------------------
关于推荐库位 java前端与SQL语句后面的结合的更多相关文章
- java中的sql语句中如果有like怎么写
我先是在SQL server中写了如下语句: 这样是顺利执行的,可是我把这句话复制到Java代码中打出来却报错了, 刚开始我还以为是前端没有传回来值,待我一句一句打印发现,它提示我rs没有next.到 ...
- java中写sql语句的小小细节
来源于:http://www.cnblogs.com/reine98/p/6180472.html 看如下一条sql语句 1 2 3 4 5 6 String sql="SELECT * F ...
- Java 实现对Sql语句解析
原文地址:http://www.cnblogs.com/zcftech/archive/2013/06/10/3131286.html 最近要实现一个简易的数据库系统,除了要考虑如何高效的存储和访问数 ...
- java/jsp执行sql语句的方式
首先给出sql驱动包 引入sql包 import java.sql.*;//java <%@ page import="java.sql.*"%>//jsp 连接mys ...
- java动态拼接sql语句并且执行时给sql语句的参数赋值
问题 在这里举一个例子,比如我要做一个多条件模糊查询,用户输入的时候有可能输入一个条件,也有可能输入两个条件,这时执行查询的sql语句就不确定了,但可以用动态拼接sql语句来解决这个问题. 解决方法 ...
- mysql 遍历所有的库并根据表和sql语句备份
建库.用户语句 create database test_hb; create user ' test_hb'@'%' identified by '123456'; grant all privil ...
- JAVA程序中SQL语句无法传递中文参数
vi /etc/my.cnf [mysqld]# The default character set that will be used when a new schema or table is# ...
- 查看SQL语句的真实执行计划
DBMS_XPLAN包中display_cursor函数不同于display函数,display_cursor用于显示SQL语句的真实的执行计划,在大多数情况下,显示真实的执行计划有助于更好的分析SQ ...
- SQL语句备份和还原数据库
1,使用SQL最简单备份,还原数据库 1 /* 备份 */ 2 backup database Test to disk='D:/Test.bak' 3 /* 还原 */ 4 restore data ...
随机推荐
- LeetCode_Search in Rotated Sorted Array
题目: Suppose a sorted array is rotated at some pivot unknown to you beforehand. (i.e., 0 1 2 4 5 6 7 ...
- 介绍importlib
Python将importlib作为标准库提供.它旨在提供Pythonimport语法和(__import__()函数)的实现.另外,importlib提供了开发者可以创建自己的对象(即importe ...
- Spark Standalone Mode 单机启动Spark -- 分布式计算系统spark学习(一)
spark是个啥? Spark是一个通用的并行计算框架,由UCBerkeley的AMP实验室开发. Spark和Hadoop有什么不同呢? Spark是基于map reduce算法实现的分布式计算,拥 ...
- 利用ssh的私钥登录Linux server
[https://blog.csdn.net/hello0370/article/details/41650513] 1.创建一个private key的文件,我使用vim编辑器,创建vi my_pr ...
- supervisor配置与应用
1.简介 supervisor 是一款基于Python的进程管理工具,可以很方便的管理服务器上部署的应用程序.supervisor的功能如下: a. 启动.重启.关闭包括但不限于python进程. b ...
- centOS7下安装laravel + composer
1.wget https://dl.laravel-china.org/composer.phar -O /usr/local/bin/composer chmod a+x /usr/local/bi ...
- 百度NLP三面
首先,面试官根据项目经验进行提问,主要是自然语言处理相关的问题:然后写代码题,字符串处理和数字运算居多:再者是一些语言基础知识,百度用的linux平台,C++和python居多.下面列出我面试中的一些 ...
- C++学习笔记-隐式成员函数
通过一个例子来复习C++操作符重载及隐式成员函数.MyString类模仿标准string类,简单的实现了构造一个字符串.字符串比较.取单个字符等功能.如下: #ifndef MYSTRING_H_ # ...
- Linux系统——文件和目录权限
文件及目录权限(七进制表示) r 读权限(4),允许查看文件内容 w 写权限(2),允许修改文件内容 x 可执行权限(1),允许运行程序 - 无权限(0) 属主:拥有该文件的用户账号 属组:拥有该 ...
- [转]美国最大婚恋交友网站eHarmony的机器学习实践
转自:http://www.csdn.net/article/2015-03-19/2824267 上周,我去洛杉矶参加了一个机器学习的meetup,一位主讲是eHarmony公司(美国最大的婚恋交友 ...