lptwms/conf/hhwms/test.java

363 lines
12 KiB
Java
Raw Permalink Normal View History

2024-08-03 17:52:03 +08:00
package hhwms;
import java.math.BigDecimal;
import java.math.BigInteger;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Date;
import java.util.LinkedList;
import java.util.List;
import java.util.Random;
import org.apache.commons.lang.StringUtils;
import org.hibernate.Query;
import org.hibernate.Session;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
import com.dev.energy.server.model.EntityFactory;
import com.dev.energy.server.model.security.User;
import com.dev.swms.server.model.base.LocationStorage;
import com.dev.swms.server.model.base.Warehouse;
import com.dev.swms.server.model.base.WarehouseAreaStatus;
import com.dev.swms.server.model.shipping.PickTicket;
import com.dev.swms.server.model.shipping.SeedWall;
import com.dev.swms.server.model.shipping.WaveDoc;
import com.dev.swms.server.model.shipping.WaveDocStatus;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
public class test {
public static void main(String[] args) {
/* String json="["
+ "{'entryId':'entry-board-201912300001','workOrder':'workOrder-board-201912300001','skuType':'board','skuId':'sku-board-0001','amount':'100','unit':'件','lineName':'line0001','sendTime':'2019-12-30 15:15:14'},"
+ "{'entryId':'entry-board-201912300002','workOrder':'workOrder-board-201912300001','skuType':'board','skuId':'sku-board-0001','amount':'100','unit':'件','lineName':'line0001','sendTime':'2019-12-30 15:15:14'}"
+ "]";
String json1="["
+ "{'orderId':'entry-board-201912300001','workOrder':'workOrder-board-201912300001','skuType':'board','skuId':'sku-board-0001','amount':'100','unit':'件','lineName':'line0001','sendTime':'2019-12-30 15:15:14'},"
+ "{'orderId':'entry-board-201912300003','workOrder':'workOrder-board-201912300001','skuType':'board','skuId':'sku-board-0001','amount':'100','unit':'件','lineName':'line0001','sendTime':'2019-12-30 15:15:14'}"
+ "]";
//storeInbardown(json);
storeInbardown(json1);
returnInbardown();*/
/*String s = new SimpleDateFormat("yyMMdd").format(new Date());
System.out.println(s);
StringBuilder str=new StringBuilder();
str.append(s);
Random random=new Random();
//随机生du成数字并添加zhi到字符串
// for(int i=0;i<8;i++){
// str.append(random.nextInt(10));
// }
int min=10000000;
int max=99999999;
int sum = random.nextInt(max)%(max-min+1) + min;
str.append(sum);
System.out.println(str);*/
/*List<Integer> list = new ArrayList<>();
list.add(1);
list.add(2);
list.add(3);
list.add(4);
list.add(5);
list.add(32);
list.add(100);
list.add(500);
System.out.println(list.subList(0,6));*/
/*SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String date1="2022-06-24 22:05:10";
String date2="2022-06-24 22:05:15";
Date d1=null;
Date d2=null;
try {
d1 = sdf.parse(date1);
d2 = sdf.parse(date2);
long t1=d1.getTime();
long t2=d2.getTime();
long mill=t2-t1;
int total=(int)(mill/1000);
System.out.println(total);
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}*/
/* List<String> gzz=new ArrayList<String>();
gzz.add("001");
gzz.add("002");
gzz.add("003");
gzz.add("004");
gzz.add("005");
gzz.add("006");
gzz.add("007");
gzz.add("008");
int k=0;
int j=0;
for(int i=0;i<138;i++){
k++;
if(k==11){
k=1;
j++;
if(j==gzz.size()){
j=0;
}
}
System.out.println((i+1)+"任务"+gzz.get(j)+"工作站");
}*/
/*returnMove();*/
/*List<String> list = new ArrayList<>();
LinkedList<String> list2 = new LinkedList<>();
list.add("李四");
list.add("王五");
list.add("王");
list.add("张三");
for(String id:list){
if(id.equals("李四")){
list2.addLast(id);
}else if(id.equals("王五")){
list2.addLast(id);
}else{
list2.addFirst(id);
}
}
for(String id:list2){
System.out.println(id);
}*/
zz();
}
public static void zz(){
String a="123";
String b=a+1;
System.out.println(b);
}
public String spilt(String str) {
StringBuffer sb = new StringBuffer();
String[] temp = str.split(",");
for (int i = 0; i < temp.length; i++) {
if (!"".equals(temp[i]) && temp[i] != null)
sb.append("'" + temp[i] + "',");
}
String result = sb.toString();
String tp = result.substring(result.length() - 1, result.length());
if (",".equals(tp))
return result.substring(0, result.length() - 1);
else
return result;
}
private static int sequence = 0;
private static int length = 6;
public static synchronized String getLocalTrmSeqNum() {
sequence = sequence >= 999999 ? 1 : sequence + 1;
String datetime = new SimpleDateFormat("yyMMddHHmmss")
.format(new Date());
String s = Integer.toString(sequence);
return "Task"+datetime +addLeftZero(s, length);
}
public static String addLeftZero(String s, int length) {
// StringBuilder sb=new StringBuilder();
int old = s.length();
if (length > old) {
char[] c = new char[length];
char[] x = s.toCharArray();
if (x.length > length) {
throw new IllegalArgumentException(
"Numeric value is larger than intended length: " + s
+ " LEN " + length);
}
int lim = c.length - x.length;
for (int i = 0; i < lim; i++) {
c[i] = '0';
}
System.arraycopy(x, 0, c, lim, x.length);
return new String(c);
}
return s.substring(0, length);
}
public static void storeInbardown(String json) {
JSONArray jsonArray = JSONArray.fromObject(json);
for(int i = 0;i<jsonArray.size();i++) {
JSONObject jsonObject = JSONObject.fromObject(jsonArray.get(i).toString());
String entryId=(String) jsonObject.get("entryId");
String workOrder=(String) jsonObject.get("workOrder");
String skuType=(String) jsonObject.get("skuType");
String skuId=(String) jsonObject.get("skuId");
String amount=(String) jsonObject.get("amount");
String unit=(String) jsonObject.get("unit");
String sendTime=(String) jsonObject.get("sendTime");
String lineName=(String) jsonObject.get("lineName");
System.out.println(entryId);
}
}
public static void returnInbardown() {
JSONObject jsonObject = new JSONObject();
jsonObject.put("entryId", "entry-board-201912300001");
jsonObject.put("workOrder", "workOrder-board-201912300001");
jsonObject.put("skuType", "board");
jsonObject.put("skuId", "sku-board-0001");
jsonObject.put("amount", "100");
jsonObject.put("unit", "件");
jsonObject.put("lineName", "line0001");
jsonObject.put("stored", "100");
jsonObject.put("rejection", "0");
jsonObject.put("scrap", "0");
jsonObject.put("unqualified", "0");
jsonObject.put("sendTime", "2019-12-30 15:15:14");
jsonObject.put("finishTime", "2019-12-30 17:15:15");
System.out.println(jsonObject.toString());
}
public static void returnMove() {
JSONObject JSONObject=new JSONObject();
JSONArray containerJSONArray=new JSONArray();
JSONObject containerObject=new JSONObject();
containerObject.put("containerCode", "9001006593");//容器编码
containerObject.put("containerHotType", "C");//热度类型
containerObject.put("containerHotValue", "");//热度数值
containerJSONArray.add(containerObject);
JSONObject.put("containers", containerJSONArray);
JSONObject.put("warehouseId", 1);
System.out.println(JSONObject.toString());
}
/*public void addCreatewaveDoc(Integer count){
Session session = ((HibernateDaoSupport)this.commonDao).getSessionFactory().openSession();
try {
boolean bool=true;
String sql2="";
if(count==0){
sql2=" select "
+ " pick.ptIds "
+ " from( "
+ " select pt.id as ptIds,GROUP_CONCAT(CONCAT('',item.id)) as mx,count(*) as counts from pick_ticket_detail ptd "
+ " left join item item on item.id=ptd.ITEM_ID "
+ " left join pick_ticket pt on pt.id=ptd.PICK_TICKET_ID"
+ " left join wave_doc wd on wd.id=pt.wave_Doc_ID "
+ " where wd.id is null "
+ " group by pt.id "
+ " order by mx )pick "
+ " where pick.counts=1 ";
}else{
sql2=" select "
+ " pick.ptIds "
+ " from "
+ " (select pt.id as ptIds, item.code as wl,count(item.code) as number from pick_ticket_detail ptd "
+ " left join item item on item.id=ptd.ITEM_ID "
+ " left join pick_ticket pt on pt.id=ptd.PICK_TICKET_ID "
+ " left join wave_doc wd on wd.id=pt.wave_Doc_ID "
+ " where 1=1 "
+ " and wd.id is null "
+ " group by pt.id,item.code) pick "
+ " order by pick.number desc ";
}
Query query = session.createSQLQuery(sql2);
List<BigInteger> picks=query.list();
List<BigInteger> pickIds=removeDuplicate(picks);
List<Object[]> objs = commonDao.findByQuery("select count(sw.id),sw.locationStorage.description from SeedWall sw "
+ " where 1=1 "
+ " and sw.locationStorage.status='OCCUPY' "
+ " and sw.locationStorage.zone.name='工作站' "
+ " and sw.locationStorage.type='拣货' "
+ " and sw.locationStorage.disabled=0 "
+ " and sw.status='FREE'"
+ " group by sw.locationStorage.description");
if(pickIds.size()>0){
String pid=StringUtils.strip(pickIds.toString(),"[]");
int amount=pickIds.size();
List<PickTicket> ptds=commonDao.findByQuery(" from PickTicket pt where pt.id in ("+pid+") ");
for (int i = 0; i <objs.size(); i++) {
Object[] obj=objs.get(i);
Long sum=(Long)obj[0];
String name=(String)obj[1];
int number=0;
if(sum>pickIds.size()){
number=pickIds.size();
}else{
number=sum.intValue();
}
if (amount==0) {
continue;
}
WaveDoc waveDoc=null;
if (bool) {
String sql=" from SeedWall s "
+ " where 1=1 "
+ " and s.locationStorage.status='OCCUPY' "
+ " and s.locationStorage.disabled='false'"
+ " and s.locationStorage.description='"
+ name
+ "' "
+ " and s.locationStorage.type='拣货'"
+ " and s.status='FREE' "
+ " order by s.locationStorage.id, s.code";
List<SeedWall> sws=commonDao.findByQuery(sql);
waveDoc = EntityFactory.getEntity(WaveDoc.class);
String code =bussinessCodeManager.generateDayCode("BC", 3);
waveDoc.setCode(code);
Warehouse warehouse=this.load(Warehouse.class,1L);
User u=this.load(User.class,1L);
waveDoc.setWarehouse(warehouse);
waveDoc.setUserID(u.getId());
waveDoc.setUserName(u.getLoginName());
waveDoc.setCreateDate(new Date());
waveDoc.setStatus(WaveDocStatus.OPEN);
waveDoc.setQuantity(waveDoc.getOrderQuantity());
commonDao.store(waveDoc);
WaveDoc waveDocs=(WaveDoc) commonDao.findByQuery(" from WaveDoc where code='"+code+"' ").get(0);
for (int j = 0; j < number; j++) {
SeedWall s=sws.get(j);
LocationStorage ls=s.getLocationStorage();
String bzq=s.getCode();
PickTicket pt=ptds.get(j);
String newbzq=bzq.replace("-", "");
pt.setExecutePlanNo(newbzq);
pt.setWorker3(ls.getWorker3());
pt.setWaveDoc(waveDocs);
pt.setSeedWall(s);
pt.setShipToName(ls.getDescription());
s.setStatus(WarehouseAreaStatus.OCCUPY);
commonDao.store(s);
commonDao.store(pt);
amount=amount-1;
if (amount==0) {
break;
}
}
RefreshWaveDoc(waveDoc.getId());
refreshWaveDoc(waveDoc.getId());//对应的订单数量需要更新
}
}
}
} catch (Exception e) {
e.printStackTrace();
System.out.print("连接失败");
}finally{
session.close();
}
}*/
}