lptwms/conf/hhwms/test.java

363 lines
12 KiB
Java
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

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();
}
}*/
}