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. 33
      src/main/resources/static/pda/js/productwarehouse/packingout.js
  5. 104
      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 com.gaotao.common.exception.RRException;
import lombok.extern.slf4j.Slf4j; 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.Matcher;
import java.util.regex.Pattern; 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("WHERE");
sql.append(" PartNo = :partNo AND Site =:site AND Status_DB =:status_DB"); 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(" 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="quantity" jdbcType="DECIMAL" property="quantity" />
<result column="created_date" jdbcType="DATE" property="createdDate" /> <result column="created_date" jdbcType="DATE" property="createdDate" />
<result column="produce_order_no" jdbcType="VARCHAR" property="produceOrderNo" /> <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="parameter1" jdbcType="VARCHAR" property="parameter1" />
<result column="parameter2" jdbcType="VARCHAR" property="parameter2" /> <result column="parameter2" jdbcType="VARCHAR" property="parameter2" />
</resultMap> </resultMap>

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

@ -41,9 +41,29 @@ function getPickingList() {
$("#roll_table").html(''); $("#roll_table").html('');
if (data.code == 0) { if (data.code == 0) {
pick = data.data; pick = data.data;
var bool = true
if (pick) { if (pick) {
pick.forEach((item, index) => { pick.forEach((item, index) => {
var str = '<tr id = ' + item.partNo + '>' +
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;">' + '<th class="" style="text-align:center;background-color: #ffff;">' +
'<button onclick="boxingModal(\'' + item.orderNo + ',' + item.partNo + '\')" data-toggle="modal" style="padding: 3px 10px;">' + '<button onclick="boxingModal(\'' + item.orderNo + ',' + item.partNo + '\')" data-toggle="modal" style="padding: 3px 10px;">' +
'装箱</button>' + '装箱</button>' +
@ -56,13 +76,16 @@ function getPickingList() {
'<th class="" style="text-align:center;background-color: #ffff;">' + '<th class="" style="text-align:center;background-color: #ffff;">' +
'<span>' + item.pickedQty + '</span></th>' + '<span>' + item.pickedQty + '</span></th>' +
'</tr>'; '</tr>';
}
$("#roll_table").append(str); $("#roll_table").append(str);
}) })
$("#rollNo").focus(); $("#rollNo").focus();
if (data.msg != 'success') { if (data.msg != 'success') {
layer.alert(data.msg); layer.alert(data.msg);
} }
if (partCss){
if (partCss && bool) {
$('#' + partCss + ' th').css("background-color", "#99CC9AFF") $('#' + partCss + ' th').css("background-color", "#99CC9AFF")
} }
} else { } else {
@ -86,7 +109,8 @@ function getPickingList() {
// 按钮 // 按钮
}, () => { }, () => {
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) { if (data.code == 401) {
layer.alert('用户身份已过期'); layer.alert('用户身份已过期');
@ -96,11 +120,8 @@ function getPickingList() {
error: function (data) { error: function (data) {
} }
}); });
} }
function getRollInfo(rollNo) { function getRollInfo(rollNo) {
let roll = { let roll = {
"rollNo": rollNo, "rollNo": rollNo,

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

@ -1,8 +1,13 @@
package com.gaotao; 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.RandomUtil;
import com.gaotao.common.utils.RedisUtils; import com.gaotao.common.utils.RedisUtils;
import com.gaotao.modules.sys.entity.SysUserEntity; import com.gaotao.modules.sys.entity.SysUserEntity;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang.builder.ToStringBuilder; import org.apache.commons.lang.builder.ToStringBuilder;
import org.junit.Test; import org.junit.Test;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;
@ -10,8 +15,15 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest; import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner; 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) @RunWith(SpringRunner.class)
@SpringBootTest @SpringBootTest
@Slf4j
public class RedisTest { public class RedisTest {
@Autowired @Autowired
private RedisUtils redisUtils; private RedisUtils redisUtils;
@ -27,4 +39,96 @@ public class RedisTest {
System.out.println(ToStringBuilder.reflectionToString(redisUtils.get("user", SysUserEntity.class))); 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);
/**
*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);
}
}
});
}
}
Loading…
Cancel
Save