Browse Source

仓库转储 sxm 2022-1-13

master
[li_she] 4 years ago
parent
commit
159c20a8b1
  1. 4
      src/main/java/com/gaotao/common/utils/SqlUtils.java
  2. 2
      src/main/java/com/gaotao/modules/pda/dao/impl/RollDaoImpl.java
  3. 3
      src/main/resources/mapper/finishedProduct/BoxLabelPrintDao.xml
  4. 81
      src/main/resources/static/pda/js/productwarehouse/packingout.js
  5. 124
      src/test/java/com/gaotao/RedisTest.java

4
src/main/java/com/gaotao/common/utils/SqlUtils.java

@ -2,10 +2,6 @@ package com.gaotao.common.utils;
import com.gaotao.common.exception.RRException;
import lombok.extern.slf4j.Slf4j;
import javax.servlet.http.HttpServletRequest;
import java.util.List;
import java.util.Map;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

2
src/main/java/com/gaotao/modules/pda/dao/impl/RollDaoImpl.java

@ -211,7 +211,7 @@ public class RollDaoImpl implements RollDao {
sql.append("WHERE");
sql.append(" PartNo = :partNo AND Site =:site AND Status_DB =:status_DB");
sql.append(" AND RollDate <= dateadd(DAY, CAST(dbo.get_sys_config_value('rollOutDateCheck') AS INT), ");
sql.append(" (SELECT MIN(RollDate) FROM C_RollInfo WHERE PartNo = #{partno} and Status_DB = 'I')) ");
sql.append(" (SELECT MIN(RollDate) FROM C_RollInfo WHERE PartNo = :partNo and Status_DB = 'I')) ");

3
src/main/resources/mapper/finishedProduct/BoxLabelPrintDao.xml

@ -11,7 +11,8 @@
<result column="quantity" jdbcType="DECIMAL" property="quantity" />
<result column="created_date" jdbcType="DATE" property="createdDate" />
<result column="produce_order_no" jdbcType="VARCHAR" property="produceOrderNo" />
<result column="remark " jdbcType="VARCHAR" property="remark" />
<result column="remark " jdbcType="VARCHAR"
property="remark" />
<result column="parameter1" jdbcType="VARCHAR" property="parameter1" />
<result column="parameter2" jdbcType="VARCHAR" property="parameter2" />
</resultMap>

81
src/main/resources/static/pda/js/productwarehouse/packingout.js

@ -41,29 +41,52 @@ function getPickingList() {
$("#roll_table").html('');
if (data.code == 0) {
pick = data.data;
var bool = true
if (pick) {
pick.forEach((item, index) => {
var str = '<tr id = ' + item.partNo + '>' +
'<th class="" style="text-align:center;background-color: #ffff;">' +
'<button onclick="boxingModal(\'' + item.orderNo + ',' + item.partNo + '\')" data-toggle="modal" style="padding: 3px 10px;">' +
'装箱</button>' +
'<th class="" style="text-align:center;background-color: #ffff;">' +
'<span>' + item.orderNo + '</span></th>' +
'<th class="" style="text-align:center;background-color: #ffff;">' +
'<span>' + item.partNo + '</span></th>' +
'<th class="" style="text-align:center;background-color: #ffff;">' +
'<span>' + item.orderQty + '</span></th>' +
'<th class="" style="text-align:center;background-color: #ffff;">' +
'<span>' + item.pickedQty + '</span></th>' +
'</tr>';
var str = ''
if (item.orderQty == item.pickedQty) {
if (partCss == item.partNo) {
bool = false
}
str = '<tr id = ' + item.partNo + '>' +
'<th class="" style="text-align:center;background-color: #4FE50FFF;">' +
'<button onclick="boxingModal(\'' + item.orderNo + ',' + item.partNo + '\')" data-toggle="modal" style="padding: 3px 10px;">' +
'装箱</button>' +
'<th class="" style="text-align:center;background-color: #4FE50FFF;">' +
'<span>' + item.orderNo + '</span></th>' +
'<th class="" style="text-align:center;background-color: #4FE50FFF;">' +
'<span>' + item.partNo + '</span></th>' +
'<th class="" style="text-align:center;background-color: #4FE50FFF;">' +
'<span>' + item.orderQty + '</span></th>' +
'<th class="" style="text-align:center;background-color: #4FE50FFF;">' +
'<span>' + item.pickedQty + '</span></th>' +
'</tr>';
} else {
str = '<tr id = ' + item.partNo + '>' +
'<th class="" style="text-align:center;background-color: #ffff;">' +
'<button onclick="boxingModal(\'' + item.orderNo + ',' + item.partNo + '\')" data-toggle="modal" style="padding: 3px 10px;">' +
'装箱</button>' +
'<th class="" style="text-align:center;background-color: #ffff;">' +
'<span>' + item.orderNo + '</span></th>' +
'<th class="" style="text-align:center;background-color: #ffff;">' +
'<span>' + item.partNo + '</span></th>' +
'<th class="" style="text-align:center;background-color: #ffff;">' +
'<span>' + item.orderQty + '</span></th>' +
'<th class="" style="text-align:center;background-color: #ffff;">' +
'<span>' + item.pickedQty + '</span></th>' +
'</tr>';
}
$("#roll_table").append(str);
})
$("#rollNo").focus();
if (data.msg != 'success'){
if (data.msg != 'success') {
layer.alert(data.msg);
}
if (partCss){
$('#'+partCss+ ' th').css("background-color","#99CC9AFF")
if (partCss && bool) {
$('#' + partCss + ' th').css("background-color", "#99CC9AFF")
}
} else {
layer.alert('该卷不存在');
@ -80,13 +103,14 @@ function getPickingList() {
if (data.code == 500) {
layer.alert(data.msg);
}
if (data.code == 300){
if (data.code == 300) {
layer.confirm(data.msg + '<br>是否前往拆箱页面', {
btn: ['确定', '取消']
// 按钮
}, ()=> {
window.location.href = "/pda/productwarehouse/boxingManage?menuId=188&token="+$.cookie("token")+"&superiorId=121"
},()=>{})
}, () => {
window.location.href = "/pda/productwarehouse/boxingManage?menuId=188&token=" + $.cookie("token") + "&superiorId=121"
}, () => {
})
}
if (data.code == 401) {
layer.alert('用户身份已过期');
@ -96,11 +120,8 @@ function getPickingList() {
error: function (data) {
}
});
}
function getRollInfo(rollNo) {
let roll = {
"rollNo": rollNo,
@ -118,8 +139,8 @@ function getRollInfo(rollNo) {
},
success: function (data) {
if (data.code == 0) {
if (lastTimeRoll){
if (lastTimeRoll.partno != data.roll.partno){
if (lastTimeRoll) {
if (lastTimeRoll.partno != data.roll.partno) {
layer.alert("友情提示: 本次扫描卷,料号与上次不是同一料号")
}
}
@ -218,10 +239,10 @@ function boxing() {
},
success: function (data) {
if (data.code == 0) {
if (data.sealingNumber == 0 ) {
if (data.sealingNumber == 0) {
layer.alert('请扫入卷再装箱');
} else {
pickingPrint(data.sealingNumber,data.boxNo)
pickingPrint(data.sealingNumber, data.boxNo)
}
}
if (data.code == 500) {
@ -310,7 +331,7 @@ function getPrintFile(customerId) {
}
// 装箱完成调用打印
function pickingPrint(pickingNumber,boxNo) {
function pickingPrint(pickingNumber, boxNo) {
var reoprt = $('#reoprtId').val();
console.log(reoprt)
var split = reoprt.split(":");
@ -326,7 +347,7 @@ function pickingPrint(pickingNumber,boxNo) {
partNo: partNo1,
pickingNumber: pickingNumber,
isCustomer: isCustomer,
boxNo:boxNo
boxNo: boxNo
}
$.ajax({
url: "/packing/printPacking",
@ -395,7 +416,7 @@ function delivery() {
}
// 打印卷标签
function print(val){
function print(val) {
var rollPrintList = val
if (rollPrintList.length <= 0) {
return;

124
src/test/java/com/gaotao/RedisTest.java

@ -1,8 +1,13 @@
package com.gaotao;
import cn.hutool.core.date.DateUtil;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.serializer.SerializerFeature;
import com.gaotao.common.utils.RandomUtil;
import com.gaotao.common.utils.RedisUtils;
import com.gaotao.modules.sys.entity.SysUserEntity;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang.builder.ToStringBuilder;
import org.junit.Test;
import org.junit.runner.RunWith;
@ -10,21 +15,120 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;
import java.util.HashMap;
import java.util.Map;
import java.util.concurrent.*;
import static cn.hutool.core.thread.ThreadUtil.sleep;
@RunWith(SpringRunner.class)
@SpringBootTest
@Slf4j
public class RedisTest {
@Autowired
private RedisUtils redisUtils;
@Autowired
private RedisUtils redisUtils;
@Test
public void contextLoads() {
String uuid = RandomUtil.getOrderNoByAtomic("1", "OC");
SysUserEntity user = new SysUserEntity();
user.setEmail("qqq@qq.com");
redisUtils.set("user", user);
System.out.println(ToStringBuilder.reflectionToString(redisUtils.get("user", SysUserEntity.class)));
}
@Test
public void thread() {
StringBuffer s1 = new StringBuffer();
StringBuffer s2 = new StringBuffer();
JSONObject jsonObject = new JSONObject();
jsonObject.put("大头",new JSONObject().put("fdsafdas","范德萨发大水"));
System.out.println(jsonObject);
@Test
public void contextLoads() {
String uuid = RandomUtil.getOrderNoByAtomic("1","OC");
SysUserEntity user = new SysUserEntity();
user.setEmail("qqq@qq.com");
redisUtils.set("user", user);
/**
*1corePoolSize核心线程数线程池中始终存活的线程数
* 2maximumPoolSize: 最大线程数线程池中允许的最大线程数
* 3keepAliveTime: 存活时间线程没有任务执行时最多保持多久时间会终止
* 4unit: 单位参数keepAliveTime的时间单位7种可选
* - TimeUnit.DAYS
* - TimeUnit.HOURS 小时
* - TimeUnit.MINUTES
* - TimeUnit.SECONDS
* - TimeUnit.MILLISECONDS 毫秒
* - TimeUnit.MICROSECONDS 微妙
* - TimeUnit.NANOSECONDS 纳秒
* 5workQueue: 一个阻塞队列用来存储等待执行的任务均为线程安全7种可选
* - ArrayBlockingQueue 一个由数组结构组成的有界阻塞队列
* - LinkedBlockingQueue 一个由链表结构组成的有界阻塞队列
* - SynchronousQueue 一个不存储元素的阻塞队列即直接提交给线程不保持它们
* - PriorityBlockingQueue 一个支持优先级排序的无界阻塞队列
* - DelayQueue 一个使用优先级队列实现的无界阻塞队列只有在延迟期满时才能从中提取元素
* - LinkedTransferQueue 一个由链表结构组成的无界阻塞队列与SynchronousQueue类似还含有非阻塞方法
* - LinkedBlockingDeque 一个由链表结构组成的双向阻塞队列
* 较常用的是LinkedBlockingQueue和Synchronous线程池的排队策略与BlockingQueue有关
* 6threadFactory: 线程工厂主要用来创建线程默及正常优先级非守护线程
* 7handler拒绝策略拒绝处理任务时的策略4种可选默认为AbortPolicy
* - AbortPolicy 拒绝并抛出异常
* - CallerRunsPolicy 重试提交当前的任务即再次调用运行该任务的execute()方法
* - DiscardOldestPolicy 抛弃队列头部最旧的一个任务并执行当前任务
* - DiscardPolicy 抛弃当前任务
*/
ExecutorService executorService = new ThreadPoolExecutor(2, 10,
1, TimeUnit.MINUTES, new ArrayBlockingQueue<>(5, true),
Executors.defaultThreadFactory(), new ThreadPoolExecutor.AbortPolicy());
executorService.execute(() -> {
// 获取线程名称,默认格式:pool-1-thread-1
synchronized (s1) {
s1.append("a");
s2.append("1");
try {
Thread.sleep(100);
} catch (InterruptedException e) {
e.printStackTrace();
}
synchronized (s2) {
System.out.println("s2执行中");
s1.append("b");
s2.append("2");
System.out.println(s1);
System.out.println(s2);
}
}
});
executorService.execute(() -> {
// 获取线程名称,默认格式:pool-1-thread-1
synchronized (s2) {
s1.append("c");
s2.append("3");
try {
Thread.sleep(100);
} catch (InterruptedException e) {
e.printStackTrace();
}
synchronized (s1) {
s1.append("d");
s2.append("4");
System.out.println(s1);
System.out.println(s2);
}
}
});
}
System.out.println(ToStringBuilder.reflectionToString(redisUtils.get("user", SysUserEntity.class)));
}
}
Loading…
Cancel
Save