新增拣货米数单位设置,加急交单吗配置,
parent
2c4cdf3563
commit
5e2f65926c
|
|
@ -135,7 +135,7 @@ public class Item extends Entity {
|
|||
private boolean beUnpacking=false;//是否最小包装
|
||||
|
||||
private boolean beWholeLine=false;//是否整行发料,不满足整行需要备注。
|
||||
|
||||
private Position position;//库位组
|
||||
|
||||
private Double multipleOrder=0d;//
|
||||
|
||||
|
|
@ -188,7 +188,15 @@ public class Item extends Entity {
|
|||
private Number largeHeight;
|
||||
|
||||
|
||||
public boolean isBeWholeLine() {
|
||||
public Position getPosition() {
|
||||
return position;
|
||||
}
|
||||
|
||||
public void setPosition(Position position) {
|
||||
this.position = position;
|
||||
}
|
||||
|
||||
public boolean isBeWholeLine() {
|
||||
return beWholeLine;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -61,6 +61,7 @@ public class Location extends VersionalEntity {
|
|||
private double dimension;//面积
|
||||
|
||||
private boolean beInventorys=false;//是否库存地(LOC)混放
|
||||
private boolean beUrgent=false;//加急交单位
|
||||
/** */
|
||||
private double usedRate;
|
||||
/** 过道 */
|
||||
|
|
@ -135,6 +136,12 @@ public class Location extends VersionalEntity {
|
|||
|
||||
|
||||
|
||||
public boolean isBeUrgent() {
|
||||
return beUrgent;
|
||||
}
|
||||
public void setBeUrgent(boolean beUrgent) {
|
||||
this.beUrgent = beUrgent;
|
||||
}
|
||||
public boolean isBeInventorys() {
|
||||
return beInventorys;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -6,6 +6,11 @@ import com.dev.energy.server.model.Entity;
|
|||
|
||||
public class WorkOrderAllocationInfo extends Entity{
|
||||
/**
|
||||
*
|
||||
*/
|
||||
private static final long serialVersionUID = 807304520483810163L;
|
||||
|
||||
/**
|
||||
* 工单的编号
|
||||
*/
|
||||
private String workOrderNumber;
|
||||
|
|
@ -121,7 +126,4 @@ public class WorkOrderAllocationInfo extends Entity{
|
|||
public void setAllocationDate(Date allocationDate) {
|
||||
this.allocationDate = allocationDate;
|
||||
}
|
||||
|
||||
// Getter 和 Setter 方法
|
||||
|
||||
}
|
||||
|
|
@ -177,6 +177,10 @@
|
|||
<property name="beExtend1" column="be_Extend1" type="boolean" />
|
||||
<property name="beExtend2" column="be_Extend2" type="boolean" />
|
||||
<property name="beUnpacking" column="BE_UNPACKING" type="boolean" />
|
||||
<many-to-one name="position" class="com.dev.swms.server.model.base.Position">
|
||||
<column name="POSITION_ID" />
|
||||
</many-to-one>
|
||||
|
||||
</class>
|
||||
<query name="getItemsCountByCompanyID">
|
||||
<![CDATA[SELECT COUNT(item) FROM Item item WHERE item.company.id = :companyId]]>
|
||||
|
|
|
|||
|
|
@ -134,7 +134,7 @@
|
|||
<many-to-one name="stock" class="com.dev.swms.server.model.inventory.Stock">
|
||||
<column name="stock" />
|
||||
</many-to-one>
|
||||
|
||||
<property name="beUrgent" column="be_Urgent" type="boolean" />
|
||||
|
||||
</class>
|
||||
</hibernate-mapping>
|
||||
|
|
@ -1,25 +1,37 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE hibernate-mapping PUBLIC
|
||||
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
|
||||
"http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
|
||||
<!DOCTYPE hibernate-mapping PUBLIC
|
||||
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
|
||||
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
|
||||
|
||||
<!-- Copyright (c) 2001-2005 dev Information Technology Co.,Ltd. All Rights
|
||||
Reserved. This software is the confidential and proprietary information of
|
||||
dev Information Technology Co.,Ltd. ("Confidential Information"). You shall
|
||||
not disclose such Confidential Information and shall use it only in accordance
|
||||
with the terms of the license agreement you entered into with dev. dev MAKES
|
||||
NO REPRESENTATIONS OR WARRANTIES ABOUT THE SUITABILITY OF THE SOFTWARE, EITHER
|
||||
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
|
||||
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR NON-INFRINGEMENT. dev
|
||||
SHALL NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING,
|
||||
MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS DERIVATIVES. -->
|
||||
<!-- $Id: city.hbm.xml,v 1.3 2009/02/24 06:47:28 yan.li Exp $ -->
|
||||
|
||||
<hibernate-mapping>
|
||||
<class name="com.dev.swms.server.model.base.WorkOrderAllocationInfo" table="WorkOrderAllocationInfo">
|
||||
<!-- 定义主键 -->
|
||||
<id name="id" column="ID" type="long">
|
||||
<class name="com.dev.swms.server.model.base.WorkOrderAllocationInfo" table="WorkOrderAllocationInfo">
|
||||
<id name="id" column="ID" type="long">
|
||||
<generator class="native">
|
||||
<param name="sequence">seq_wms_WorkOrderAllocationInfo</param>
|
||||
<param name="sequence">wms_WorkOrderAllocationInfo</param>
|
||||
<param name="parameters">START WITH 1000</param>
|
||||
</generator>
|
||||
</id>
|
||||
<!-- 映射其他字段 -->
|
||||
<property name="workOrderNumber" column="WorkOrderNumber" type="string"/>
|
||||
<property name="workOrderNumber" column="WorkOrderNumber" type="string" length="100"/>
|
||||
<property name="lineNumber" column="LineNumber" type="integer"/>
|
||||
<property name="materialNumber" column="MaterialNumber" type="string"/>
|
||||
<property name="materialNumber" column="MaterialNumber" type="string" length="100"/>
|
||||
<property name="quantity" column="Quantity" type="integer"/>
|
||||
<property name="remarks" column="Remarks" type="string"/>
|
||||
<property name="locationNumber" column="LocationNumber" type="string"/>
|
||||
<property name="factory" column="Factory" type="string"/>
|
||||
<property name="loc" column="LOC" type="string"/>
|
||||
<property name="locationNumber" column="LocationNumber" type="string" length="100"/>
|
||||
<property name="factory" column="Factory" type="string" length="100"/>
|
||||
<property name="loc" column="LOC" type="string" length="100"/>
|
||||
<property name="allocationDate" column="AllocationDate" type="date"/>
|
||||
</class>
|
||||
</hibernate-mapping>
|
||||
</class>
|
||||
|
||||
</hibernate-mapping>
|
||||
|
|
@ -2298,7 +2298,7 @@ public class DefaultAgvTaskManager extends DefaultBaseManager implements AgvTask
|
|||
DateUtil.formatDateYMDToStr(day)+"' group by CONVERT(varchar(100), agv.createTime, 23) ";
|
||||
List<Long> list=commonDao.findByQuery(hql);
|
||||
if(list.size()>0) {
|
||||
h=list.get(0)-1;
|
||||
h=list.get(0)-10;
|
||||
}
|
||||
}
|
||||
for(Long id:ids) {
|
||||
|
|
@ -2307,9 +2307,13 @@ public class DefaultAgvTaskManager extends DefaultBaseManager implements AgvTask
|
|||
if(agv.isBeIssue()&&agv.getStatus().equals(STATUS.ATCALL)) {
|
||||
if(agv.getJobPriorityType()>0&&agv.getJobPriority()>200) {
|
||||
break;
|
||||
// agv.setJobPriorityType(1L);
|
||||
// agv.setJobPriority(1000L+agv.getJobPriority());
|
||||
}else {
|
||||
agv.setJobPriorityType(1L);
|
||||
agv.setJobPriority(h);
|
||||
}
|
||||
agv.setJobPriorityType(1L);
|
||||
agv.setJobPriority(h);
|
||||
|
||||
String str = interfaceReqManager.doWmsReqAgv(ApiURL.eoutAGV,agv.yxjAGVJSON(agv),agv.getRobotJobId());
|
||||
try {
|
||||
JSONObject jsonStr = JSONObject.fromObject(URLDecoder.decode(str,"UTF-8"));
|
||||
|
|
|
|||
|
|
@ -146,6 +146,8 @@ public class DefaultItemManager extends DefaultBaseManager implements
|
|||
i.setBeUnpacking(item.isBeUnpacking());
|
||||
i.setDefaultWarehouseArea(item.getDefaultWarehouseArea());
|
||||
i.setSmallUnit(item.getSmallUnit());
|
||||
i.setBeWholeLine(item.isBeWholeLine());
|
||||
i.setPosition(item.getPosition());
|
||||
double a=length*width*height;
|
||||
// if(i.getPackNumber()>0) {
|
||||
// i.setVolume(a/i.getPackNumber());
|
||||
|
|
|
|||
|
|
@ -369,7 +369,7 @@ public class DefaultStockManager extends DefaultBaseManager implements StockMana
|
|||
List<Object[]> stocks=new ArrayList<Object[]>();
|
||||
List<Stock> lStocks=new ArrayList<Stock>();
|
||||
StringBuffer sbsql1=new StringBuffer();
|
||||
sbsql1.append(" select *from "
|
||||
sbsql1.append(" select * from "
|
||||
+" (select COUNT(loc.STATUS) as num,s.ID from LOCATION loc "
|
||||
+" right join STOCK s on s.ID=loc.stock "
|
||||
+" left join containerType ct on s.containerType=ct.ID "
|
||||
|
|
|
|||
|
|
@ -150,6 +150,9 @@ public class DefaultInterfaceRespManager extends DefaultBaseManager implements I
|
|||
eitem.setShipRules(shipRules);
|
||||
}
|
||||
eitem.setUnit(unit);
|
||||
if(unit.equals("MR")||unit.equals("MM")||unit.equals("FT")) {
|
||||
eitem.setBeWholeLine(true);
|
||||
}
|
||||
// eitem.setGoodType("小件");
|
||||
if (warehouseAreas.size()>0) {
|
||||
eitem.setWarehouseArea(warehouseAreas.get(0));
|
||||
|
|
@ -2566,6 +2569,8 @@ public class DefaultInterfaceRespManager extends DefaultBaseManager implements I
|
|||
String strBill8=pickTicket.has("ZOUTWMS") ? pickTicket.getString("ZOUTWMS") : ""; //是否出WMS仓 X表示”是“;空表示”否”
|
||||
String planQuantity=pickTicket.has("ZCHWMG") ? pickTicket.getString("ZCHWMG") : ""; //数量
|
||||
String ZDLK=pickTicket.has("ZDLK") ? pickTicket.getString("ZDLK") : ""; //是否解K false/true
|
||||
String PROPC3=pickTicket.has("PROPC3") ? pickTicket.getString("PROPC3") : ""; //K
|
||||
String PROPC5=pickTicket.has("STRBILL4") ? pickTicket.getString("STRBILL4") : ""; //供应商
|
||||
Warehouse warehouse=this.load(Warehouse.class, 1L);
|
||||
Item item=null;
|
||||
List<Item> Items = commonDao.findByQuery(" from Item item where item.code=:code",
|
||||
|
|
@ -2619,6 +2624,8 @@ public class DefaultInterfaceRespManager extends DefaultBaseManager implements I
|
|||
NewLotInfo newLotInfo=new NewLotInfo();
|
||||
newLotInfo.setPropC2(swaCode);
|
||||
newLotInfo.setPropC9(strBill9);//发货工厂
|
||||
newLotInfo.setPropC3(PROPC3);//
|
||||
newLotInfo.setPropC5(PROPC5);//
|
||||
newLotInfo.setPropL1(propL1);
|
||||
newLotInfo.setPropL2(propL2);
|
||||
newLotInfo.setPropL3(propL3);
|
||||
|
|
|
|||
|
|
@ -3547,6 +3547,12 @@ public class DefaultQueryAppManager extends DefaultBaseManager implements QueryA
|
|||
Double invQuantity= (Double) commonDao.findByQuery("select IsNULL(sum(ROUND(inv.quantity,3)),0) from Inventory inv "
|
||||
+ "where inv.quantity>0 and inv.location.id="+loc.getId()+" and inv.itemKey.item.code='"+item.getCode()+"' ").get(0);
|
||||
obj.put("invQuantity", invQuantity+" "+item.getUnit());
|
||||
if(thb.getPropC2()!=null) {
|
||||
Double invLocQuantity= (Double) commonDao.findByQuery("select IsNULL(sum(ROUND(inv.quantity,3)),0) from Inventory inv "
|
||||
+ "where inv.quantity>0 and inv.location.id="+loc.getId()+" and inv.itemKey.item.code='"+item.getCode()+"'"
|
||||
+ " and inv.itemKey.lotInfo.propC2='"+thb.getPropC2()+"'").get(0);
|
||||
obj.put("invQuantity"," 库位库存"+ invQuantity+" , "+thb.getPropC2()+"库存"+invLocQuantity+" "+item.getUnit());
|
||||
}
|
||||
data=obj.toString();
|
||||
status = "1";
|
||||
|
||||
|
|
@ -4251,7 +4257,7 @@ public class DefaultQueryAppManager extends DefaultBaseManager implements QueryA
|
|||
}
|
||||
sql1.append(" and s.containerType = 16 "
|
||||
+ " and s.agvFlag=1 and s.ENABLED=0 "
|
||||
+ "group by s.id order by count(s.id) desc");
|
||||
+ "group by s.id order by count(s.id) desc ,max(s.SALE_TIME) ");
|
||||
stocks=jdbcManager.getObjects(sql1.toString());
|
||||
}else if (stocks.size()<1) {
|
||||
List<Object> ids = jdbcManager.getObjects("select id from stock where LP in ("+LP+")");
|
||||
|
|
|
|||
|
|
@ -43,6 +43,7 @@ import com.dev.swms.server.model.base.TurnOverMode;
|
|||
import com.dev.swms.server.model.base.Warehouse;
|
||||
import com.dev.swms.server.model.base.WarehouseArea;
|
||||
import com.dev.swms.server.model.base.WarehouseAreaStatus;
|
||||
import com.dev.swms.server.model.base.WorkOrderAllocationInfo;
|
||||
import com.dev.swms.server.model.base.Worker;
|
||||
import com.dev.swms.server.model.delivery.UrgentOrder;
|
||||
import com.dev.swms.server.model.inventory.AgvTask;
|
||||
|
|
@ -2416,7 +2417,7 @@ public class DefaultAutoAllocator extends DefaultBaseManager implements AutoAllo
|
|||
if(ptd.getItem().getIsBOM()) {
|
||||
hql1+=" and CONVERT(varchar(100), i.itemKey.lotInfo.propD2, 23)>='"+DateUtil.formatDateYMDToStr(new Date())+"' ";
|
||||
}
|
||||
//排序
|
||||
|
||||
|
||||
List<Inventory> Inventorys = commonDao.findByQuery(
|
||||
hql1+hql2,new String[] { "id" },new Object[] { ptd.getItem().getId() });
|
||||
|
|
@ -2451,13 +2452,22 @@ public class DefaultAutoAllocator extends DefaultBaseManager implements AutoAllo
|
|||
}
|
||||
for (Inventory inventory : Inventorys) {
|
||||
int j = 0;
|
||||
//未分配数量
|
||||
if (unQty == 0) {
|
||||
break;
|
||||
}
|
||||
allocateQty = inventory.getQuantity()- inventory.getQueuedQuantity();//可分配数量
|
||||
//可分配数量
|
||||
allocateQty = inventory.getQuantity()- inventory.getQueuedQuantity();
|
||||
if (allocateQty == 0) {
|
||||
continue;
|
||||
}
|
||||
//判断料号是不是整行库存发料
|
||||
if(ptd.getItem().isBeWholeLine()&&unQty>allocateQty) {
|
||||
//保存跳过记录
|
||||
saveWorkOrderAllocationInfo(inventory, ptd, unQty, allocateQty);
|
||||
continue;
|
||||
}
|
||||
|
||||
if (unQty < allocateQty) {
|
||||
allocateQty = unQty;
|
||||
}
|
||||
|
|
@ -3074,7 +3084,12 @@ public class DefaultAutoAllocator extends DefaultBaseManager implements AutoAllo
|
|||
if (allocateQty == 0) {
|
||||
continue;
|
||||
}
|
||||
|
||||
//判断料号是不是整行库存发料
|
||||
if(ptd.getItem().isBeWholeLine()&&unQty>allocateQty) {
|
||||
//保存跳过记录
|
||||
saveWorkOrderAllocationInfo(inventory, ptd, unQty, allocateQty);
|
||||
continue;
|
||||
}
|
||||
if (unQty < allocateQty) {
|
||||
allocateQty = unQty;
|
||||
}
|
||||
|
|
@ -3816,8 +3831,27 @@ public class DefaultAutoAllocator extends DefaultBaseManager implements AutoAllo
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//判断料号是不是整行库存发料,报错跳过库存行的记录。
|
||||
public void saveWorkOrderAllocationInfo(Inventory inventory,PickTicketDetail ptd,
|
||||
double unQty,double allocateQty) {
|
||||
WorkOrderAllocationInfo woa=new WorkOrderAllocationInfo();
|
||||
woa.setWorkOrderNumber(ptd.getPickTicket().getCode());
|
||||
if(ptd.getLineNumber()!=null) {
|
||||
try {
|
||||
woa.setLineNumber(Integer.parseInt(ptd.getLineNumber()));
|
||||
}catch (Exception e) {
|
||||
|
||||
}
|
||||
}
|
||||
woa.setMaterialNumber(ptd.getItem().getCode());
|
||||
woa.setQuantity((int)unQty);
|
||||
woa.setLocationNumber(inventory.getLocation().getCode());
|
||||
woa.setFactory(inventory.getItemKey().getLotInfo().getPropC9());
|
||||
woa.setLoc(inventory.getItemKey().getLotInfo().getPropC2());
|
||||
woa.setAllocationDate(new Date());
|
||||
woa.setRemarks("库存数量:"+allocateQty);
|
||||
commonDao.store(woa);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -2205,9 +2205,7 @@ public class DefaultMoveDocManager extends DefaultBaseManager implements MoveDoc
|
|||
List<ReceivedRecord> receivedRecords = commonDao.findByQuery(
|
||||
" from ReceivedRecord rrd where rrd.beMoved=0 and rrd.srcLP.LP=:code and rrd.locationStorage is null",
|
||||
new String[] { "code" }, new Object[] { st.getLP() });
|
||||
List<Long> inventorys = commonDao.findByQuery(
|
||||
"select inv.id from Inventory inv where inv.location.stock.id=:code and inv.quantity>0 ",
|
||||
new String[] { "code" }, new Object[] { st.getId() });
|
||||
|
||||
|
||||
if (receivedRecords.size()>0) {
|
||||
for (ReceivedRecord rd : receivedRecords) {
|
||||
|
|
@ -2217,6 +2215,17 @@ public class DefaultMoveDocManager extends DefaultBaseManager implements MoveDoc
|
|||
}
|
||||
|
||||
ASNDetail ad = this.load(ASNDetail.class, rd.getAsnDetail().getId());
|
||||
if(ad!=null&&ad.getLotInfo()!=null&&ad.getLotInfo().getPropC2()!=null
|
||||
&&ad.getLotInfo().getPropC2().length()>0) {
|
||||
List<PlantLocation> listPlan=commonDao.findByQuery(" from PlantLocation p"
|
||||
+ " where p.code='"+ad.getLotInfo().getPropC2()+"' ");
|
||||
if(listPlan.size()>0) {
|
||||
PlantLocation pl=listPlan.get(0);
|
||||
if(pl.isBeRegister()) {
|
||||
throw new BusinessException(ad.getLotInfo().getPropC2()+"不良品库存,不能入库立库");
|
||||
}
|
||||
}
|
||||
}
|
||||
Item item = this.load(Item.class, ad.getItem().getId());
|
||||
ASN asn = this.load(ASN.class, ad.getAsn().getId());
|
||||
BillType bt=commonDao.load(BillType.class, asn.getBillType().getId());
|
||||
|
|
@ -2230,12 +2239,7 @@ public class DefaultMoveDocManager extends DefaultBaseManager implements MoveDoc
|
|||
if(adids.size()>adids1.size()) {
|
||||
throw new BusinessException("未整理完成,不能入库,单号:"+ad.getStrBill7());
|
||||
}
|
||||
// if(asn.getExpectedQuantity()>asn.getReceivedQuantity()) {
|
||||
// throw new BusinessException("未整理完成,不能入库,单号:"+asn.getCode());
|
||||
// }
|
||||
Stock stock = commonDao.load(Stock.class, rd.getSrcLP().getId());
|
||||
// stock.setLocationStorage(locationStorage);
|
||||
// commonDao.store(stock);
|
||||
rd.setLocationStorage(locationStorage);
|
||||
List<Inventory> invs = commonDao.findByQuery(" from Inventory inv where inv.receivedRecordId="
|
||||
+ rd.getId() + ")");
|
||||
|
|
@ -2343,14 +2347,16 @@ public class DefaultMoveDocManager extends DefaultBaseManager implements MoveDoc
|
|||
this.commonDao.store(rd);
|
||||
}
|
||||
|
||||
}else if(inventorys.size()>0) {
|
||||
}else {
|
||||
List<Long> inventorys = commonDao.findByQuery(
|
||||
"select inv.id from Inventory inv where inv.location.stock.id=:code and inv.quantity>0 ",
|
||||
new String[] { "code" }, new Object[] { st.getId() });
|
||||
if(inventorys.size()>0) {
|
||||
logger.info(st.getLP()+"有库存信息");
|
||||
locationStorage.setStatus(WarehouseAreaStatus.OCCUPY);
|
||||
this.commonDao.store(locationStorage);
|
||||
// st.setLocationStorage(locationStorage);
|
||||
// commonDao.store(st);
|
||||
|
||||
}else {
|
||||
}else {
|
||||
LibraryTask t=EntityFactory.getEntity(LibraryTask.class);
|
||||
t.setMes("没有整理数据");
|
||||
t.setFromCellCode(ssk);
|
||||
|
|
@ -2358,6 +2364,7 @@ public class DefaultMoveDocManager extends DefaultBaseManager implements MoveDoc
|
|||
commonDao.store(t);
|
||||
interfaceReqManager.receiveLEDinfo(t);
|
||||
throw new BusinessException("没有整理数据");
|
||||
}
|
||||
}
|
||||
}
|
||||
public void putAwayFor6(Stock st, Long lsId,String ssk) {
|
||||
|
|
@ -2503,7 +2510,7 @@ public class DefaultMoveDocManager extends DefaultBaseManager implements MoveDoc
|
|||
//第二优先浅位空闲,深有货品
|
||||
public LocationStorage findLocationStorageFor7(Stock st) {
|
||||
//查询深浅都是空闲
|
||||
|
||||
synchronized (DefaultMoveDocManager.class) {
|
||||
//查询有任务的库位
|
||||
String sql5=" select loc3.relevanceCode from LocationStorage loc3 where "
|
||||
+ " (loc3.name in( select t1.toCellCode from LibraryTask t1 "
|
||||
|
|
@ -2571,6 +2578,7 @@ public class DefaultMoveDocManager extends DefaultBaseManager implements MoveDoc
|
|||
} else {
|
||||
return ls.get(0);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void finishLibraryTask(List<Long> ids) {
|
||||
|
|
@ -4050,36 +4058,11 @@ public class DefaultMoveDocManager extends DefaultBaseManager implements MoveDoc
|
|||
//入库获取目标点位,第一优先级两个都空闲的,放深
|
||||
//第二优先浅位空闲,深有货品
|
||||
public LocationStorage moveLocationStorageFor8(LocationStorage st) {
|
||||
synchronized (DefaultMoveDocManager.class) {
|
||||
//查询深浅都是空闲
|
||||
String sql1="select loc.relevanceCode from LocationStorage loc where loc.status='FREE' and loc.disabled=false "
|
||||
+ " and loc.type='存储点' group by loc.relevanceCode having count(*)>=2 ";
|
||||
|
||||
// //查询浅位是空闲,优先深位没有任务的空闲浅位
|
||||
// String sql2="select loc.relevanceCode from LocationStorage loc where ((loc.status='FREE' and loc.sqType=1) "
|
||||
// + " or (loc.status='OCCUPY' and loc.sqType=2)) "
|
||||
// + " and loc.disabled=false "
|
||||
// + " and loc.type='存储点' ";
|
||||
// //深位有任务的关联号
|
||||
// String sql3=" select loc.relevanceCode from LocationStorage loc1 where "
|
||||
// + " loc.name not in( select toCellCode from LibraryTask t "
|
||||
// + " where t.status in('NONCHECKED','ATCALL','ATWAIT','ATWORK')) "
|
||||
// + " and loc.name not in( select fromCellCode from LibraryTask t "
|
||||
// + " where t.status in('NONCHECKED','ATCALL','ATWAIT','ATWORK')) "
|
||||
// + " and loc.disabled=false "
|
||||
// + " and loc.type='存储点' ";
|
||||
|
||||
//查询浅位是空闲,优先深位没有任务的空闲浅位
|
||||
// String sql2="select loc2.relevanceCode from LocationStorage loc2 where loc2.status='FREE' and loc2.sqType=1 "
|
||||
// + " and loc2.disabled=false "
|
||||
// + " and loc2.type='存储点' ";
|
||||
//深位有任务的关联号
|
||||
// String sql3=" select loc1.relevanceCode from LocationStorage loc1 where "
|
||||
// + " loc1.name not in( select t.toCellCode from LibraryTask t "
|
||||
// + " where t.status in('NONCHECKED','ATCALL','ATWAIT','ATWORK')) "
|
||||
// + " and loc1.name not in( select t1.fromCellCode from LibraryTask t1 "
|
||||
// + " where t1.status in('NONCHECKED','ATCALL','ATWAIT','ATWORK')) "
|
||||
// + " and loc1.disabled=false "
|
||||
// + " and loc1.type='存储点' ";
|
||||
|
||||
//查询有任务的库位
|
||||
String sql5=" select loc3.relevanceCode from LocationStorage loc3 where "
|
||||
+ " (loc3.name in( select t1.toCellCode from LibraryTask t1 "
|
||||
|
|
@ -4089,12 +4072,8 @@ public class DefaultMoveDocManager extends DefaultBaseManager implements MoveDoc
|
|||
+ " and loc3.disabled=false "
|
||||
+ " and loc3.type='存储点' ";
|
||||
|
||||
// sql2=sql2+" and loc2.relevanceCode not in("+sql5+") ";
|
||||
//立库有坐标点位的托盘
|
||||
String sql4=" select s2.locationStorage.id from Stock s2 where s2.locationStorage.id is not null and s2.LP like 'Y00%' ";
|
||||
|
||||
|
||||
|
||||
String sql = " from LocationStorage l where l.warehouseArea.id=1766 "
|
||||
+ " and l.type='存储点' and l.status='" + WarehouseAreaStatus.FREE + "' "
|
||||
+ " and l.disabled=false and l.id not in("+sql4+")";
|
||||
|
|
@ -4141,6 +4120,7 @@ public class DefaultMoveDocManager extends DefaultBaseManager implements MoveDoc
|
|||
} else {
|
||||
return ls.get(0);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public boolean queryTask(String str){
|
||||
|
|
|
|||
|
|
@ -9745,8 +9745,7 @@ public class DefaultPickTicketManager extends DefaultBaseManager implements Pick
|
|||
if(ptd.getSOI()!=null&&
|
||||
(ptd.getSOI().equals("U")
|
||||
||ptd.getSOI().equals("X"))
|
||||
&&(dstLoc.getCode().indexOf("1FEM")==-1 &&
|
||||
dstLoc.getCode().indexOf("2FEM")==-1)) {
|
||||
&&(!dstLoc.isBeUrgent())) {
|
||||
throw new BusinessException("该地位不是加急交接点");
|
||||
}
|
||||
}
|
||||
|
|
@ -10148,7 +10147,7 @@ public class DefaultPickTicketManager extends DefaultBaseManager implements Pick
|
|||
}
|
||||
}
|
||||
|
||||
public synchronized String printLocationCodePick(String code, Long workerId,Long wid) {
|
||||
public synchronized String printLocationCodePick(String code, Long workerId,Long wid) {
|
||||
String data="";
|
||||
JSONObject obj = new JSONObject();
|
||||
if(code!=null&&code.length()>2) {
|
||||
|
|
@ -10185,6 +10184,7 @@ public class DefaultPickTicketManager extends DefaultBaseManager implements Pick
|
|||
|
||||
data=obj.toString();
|
||||
return data;
|
||||
|
||||
}
|
||||
|
||||
public void reprintPrintTask(String barCode,Long pId,int nuber,Long workerId) {
|
||||
|
|
@ -10324,6 +10324,7 @@ public class DefaultPickTicketManager extends DefaultBaseManager implements Pick
|
|||
if(pt!=null) {
|
||||
refreshOrderQuantity(pt);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -458,7 +458,7 @@ public class ASNReceiveServlet extends HttpServlet {
|
|||
//PDA扫描料号
|
||||
String taskId =json.has("taskId")?json.getString("taskId"):"";
|
||||
String jhItem =json.has("jhItem")?json.getString("jhItem"):"";
|
||||
synchronized (lock) {
|
||||
synchronized (QueryAppManager.class) {
|
||||
resultJson=app.scanpickItemCode(taskId,jhItem,workerId, wId);
|
||||
}
|
||||
}else if("picking".equals(methodType)){
|
||||
|
|
@ -505,7 +505,7 @@ public class ASNReceiveServlet extends HttpServlet {
|
|||
jdbcManager.saveExceptionLog("任务号:"+taskId+"料号:"+itemCode+
|
||||
"数量:"+quantity+"子任务:"+billCode+",原因:"+e.getMessage());
|
||||
resultJson.put("status", "0");
|
||||
resultJson.put("msg", "拣货失败,联系运维人员!"+e.getMessage());
|
||||
resultJson.put("msg", "拣货失败,"+e.getMessage());
|
||||
resultJson.put("data", "");
|
||||
}
|
||||
}else if("skip".equals(methodType)){
|
||||
|
|
@ -773,7 +773,7 @@ public class ASNReceiveServlet extends HttpServlet {
|
|||
jdbcManager.saveExceptionLog("任务号:"+taskid+"料号:"+itemCode+
|
||||
"工作站:"+lsCode+"数量:"+quantity+"子任务:"+billCocd+" 库位:"+srcLoc+",原因:"+e.getMessage());
|
||||
resultJson.put("status", "0");
|
||||
resultJson.put("msg", "拣货失败,联系运维人员"+e.getMessage());
|
||||
resultJson.put("msg", "拣货失败,"+e.getMessage());
|
||||
resultJson.put("data", "");
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -232,7 +232,9 @@ public class PickingServlet extends HttpServlet {
|
|||
}else if("printLocationCode".equals(methodType)){
|
||||
//获取容器号
|
||||
String location_code =json.has("location_code")?json.getString("location_code"):"";
|
||||
synchronized (QueryAppManager.class) {
|
||||
resultJson=this.printLocationCode(location_code,workerId, wId);
|
||||
}
|
||||
}
|
||||
|
||||
logger.info("======"+resultJson.toString());
|
||||
|
|
|
|||
|
|
@ -1217,9 +1217,9 @@
|
|||
<value>com/dev/swms/server/model/base/sapOutType.hbm.xml</value>
|
||||
</constructor-arg>
|
||||
</bean>
|
||||
<!-- <bean id="workOrderAllocationInfoHibernateMappingResource" class="com.dev.energy.server.dao.hibernate.HibernateMappingResource"> -->
|
||||
<!-- <constructor-arg> -->
|
||||
<!-- <value>com/dev/swms/server/model/base/workOrderAllocationInfo.hbm.xml</value> -->
|
||||
<!-- </constructor-arg> -->
|
||||
<!-- </bean> -->
|
||||
<bean id="workOrderAllocationInfoHibernateMappingResource" class="com.dev.energy.server.dao.hibernate.HibernateMappingResource">
|
||||
<constructor-arg>
|
||||
<value>com/dev/swms/server/model/base/workOrderAllocationInfo.hbm.xml</value>
|
||||
</constructor-arg>
|
||||
</bean>
|
||||
</beans>
|
||||
|
|
@ -42,4 +42,18 @@ GO
|
|||
ALTER TABLE ASN_DETAIL add PROP_LC5 varchar(50) COLLATE Chinese_PRC_CI_AS NULL;
|
||||
GO
|
||||
ALTER TABLE ASN_DETAIL add PROP_LC6 varchar(50) COLLATE Chinese_PRC_CI_AS NULL;
|
||||
GO
|
||||
GO
|
||||
|
||||
|
||||
------------2025-04-08
|
||||
ALTER TABLE ITEM add POSITION_ID numeric(19) NULL;
|
||||
GO
|
||||
ALTER TABLE ITEM
|
||||
ADD CONSTRAINT FK_Item_POSITION_ID FOREIGN KEY (POSITION_ID)
|
||||
REFERENCES [POSITION](ID);
|
||||
GO
|
||||
|
||||
ALTER TABLE LOCATION add be_Urgent tinyint NULL;
|
||||
GO
|
||||
update LOCATION set be_Urgent=0 where be_Urgent is null;
|
||||
GO
|
||||
|
|
|
|||
|
|
@ -101,7 +101,16 @@
|
|||
where 1=1
|
||||
]]></hql>
|
||||
</list>
|
||||
|
||||
<list id="item.position.id" title="上架库位组" row="7" col="4"
|
||||
span="1" width="120" readOnly="false" required="false" reserve="false"
|
||||
forceOverride="true" >
|
||||
<hql><![CDATA[ SELECT
|
||||
position.id,
|
||||
position.name From Position position
|
||||
where 1=1
|
||||
]]></hql>
|
||||
</list>
|
||||
<booleanList id="item.beWholeLine" title="是否整行发料" row="8" col="1" span="1" readOnly="false" required="true" reserve="false" forceOverride="true" inVisible="false"/>
|
||||
</inputUIs>
|
||||
<buttons>
|
||||
<commit id="save" title="save" enableType="none">
|
||||
|
|
|
|||
|
|
@ -84,6 +84,7 @@
|
|||
<text id="location.sortIndex" title="location.sortIndex" row="10" col="1" span="1" readOnly="false" required="true" reserve="false" forceOverride="true" inVisible="false" validator="integerRequired" trimSpace="true" isPrecision="true" defaultValue="0"/> -->
|
||||
<booleanList id="location.mixLot" title="location.mixLot" defaultValue="false" row="6" col="2" span="1" readOnly="false" required="true" reserve="true" forceOverride="true" inVisible="false"/>
|
||||
<booleanList id="location.beInventorys" title="是否库存(LOC)混放" defaultValue="false" row="7" col="1" span="1" readOnly="false" required="true" reserve="true" forceOverride="true" inVisible="false"/>
|
||||
<booleanList id="location.beUrgent" title="是否加急交单位" defaultValue="false" row="7" col="1" span="1" readOnly="false" required="true" reserve="true" forceOverride="true" inVisible="false"/>
|
||||
</inputUIs>
|
||||
<buttons>
|
||||
<commit id="save" title="save" enableType="none" invisible="false">
|
||||
|
|
|
|||
|
|
@ -82,6 +82,8 @@
|
|||
item.beWeight,
|
||||
item.beInv,
|
||||
item.beSAPItem,
|
||||
item.beWholeLine,
|
||||
item.position.name,
|
||||
item.saleTime,
|
||||
item.strExtend1,
|
||||
item.strExtend2,
|
||||
|
|
@ -89,6 +91,7 @@
|
|||
from Item item
|
||||
left join item.warehouseArea warehouseArea
|
||||
left join item.defaultWarehouseArea
|
||||
left join item.position
|
||||
where 1=1
|
||||
/~item.code: and item.code like {item.code} ~/
|
||||
/~item.warehouseArea.id: and item.warehouseArea.id = {item.warehouseArea.id} ~/
|
||||
|
|
@ -168,6 +171,10 @@
|
|||
horizonAlign="center" />
|
||||
<column id="item.beSAPItem" title="是否SAP料号" visible="true" format="booleanFormat"
|
||||
horizonAlign="center" />
|
||||
<column id="item.beWholeLine" title="是否米数整行发料" visible="true" format="booleanFormat"
|
||||
horizonAlign="center" />
|
||||
<column id="item.position.name" title="库位组" visible="true"
|
||||
horizonAlign="center" />
|
||||
<column id="item.saleTime" title="热度值" visible="true"
|
||||
horizonAlign="center" />
|
||||
<column id="item.strExtend1" title="备注" visible="true"
|
||||
|
|
|
|||
|
|
@ -92,6 +92,7 @@
|
|||
location.mixItem,
|
||||
location.mixLot,
|
||||
location.beInventorys,
|
||||
location.beUrgent,
|
||||
location.inLock,
|
||||
location.outLock,
|
||||
location.disabled
|
||||
|
|
@ -155,6 +156,8 @@
|
|||
formatParam="mixLot" />
|
||||
<column id="location.beInventorys" title="是否库存(LOC)混放" visible="true"
|
||||
horizonAlign="center" format="booleanFormat"/>
|
||||
<column id="location.beUrgent" title="是否加急交单位" visible="true"
|
||||
horizonAlign="center" format="booleanFormat"/>
|
||||
<column id="location.inLock" title="入库锁" visible="true"
|
||||
horizonAlign="center"
|
||||
/>
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
<pages>
|
||||
<maintainPage id="maintainWorkOrderAllocationPage" title="工单分配信息查询页面" autoQuery="false">
|
||||
<maintainPage id="maintainWorkOrderAllocationPage" title="未满足整行拣货" autoQuery="false">
|
||||
<search>
|
||||
<inputUIs>
|
||||
<!-- 工单号查询输入 -->
|
||||
|
|
@ -36,7 +36,7 @@
|
|||
/~materialNumber: and workOrder.materialNumber like {materialNumber} ~/
|
||||
/~beginDate: AND CONVERT(varchar(100), workOrder.allocationDate, 23) = {beginDate} ~/
|
||||
/~endDate: or (CONVERT(varchar(100), workOrder.allocationDate, 23)>= {beginDate} and CONVERT(varchar(100), workOrder.allocationDate, 23)<= {endDate}) ~/
|
||||
]]></datasource>
|
||||
order by workOrder.id desc ]]></datasource>
|
||||
<columns>
|
||||
<!-- 隐藏 ID 列 -->
|
||||
<column id="workOrder.id" title="ID" visible="false" horizonAlign="center" verticalAlign="middle" />
|
||||
|
|
@ -47,7 +47,7 @@
|
|||
<!-- 料号列 -->
|
||||
<column id="workOrder.materialNumber" title="料号" visible="true" horizonAlign="center" verticalAlign="middle" />
|
||||
<!-- 数量列 -->
|
||||
<column id="workOrder.quantity" title="数量" visible="true" horizonAlign="center" verticalAlign="middle" />
|
||||
<column id="workOrder.quantity" title="需求数量" visible="true" horizonAlign="center" verticalAlign="middle" />
|
||||
<!-- 备注列 -->
|
||||
<column id="workOrder.remarks" title="备注" visible="true" horizonAlign="center" verticalAlign="middle" />
|
||||
<!-- 库位编号列 -->
|
||||
|
|
@ -57,7 +57,7 @@
|
|||
<!-- LOC 列 -->
|
||||
<column id="workOrder.loc" title="LOC" visible="true" horizonAlign="center" verticalAlign="middle" />
|
||||
<!-- 日期列 -->
|
||||
<column id="workOrder.allocationDate" title="日期" visible="true" horizonAlign="center" verticalAlign="middle" format="dateFormat" />
|
||||
<column id="workOrder.allocationDate" title="创建日期" visible="true" horizonAlign="center" verticalAlign="middle" format="dateFormat" />
|
||||
</columns>
|
||||
</maintainPage>
|
||||
</pages>
|
||||
|
|
@ -148,7 +148,7 @@
|
|||
<menuItem title="波次" pageId="maintainWaveDocPage"/>
|
||||
<menuItem title="插单" pageId="maintainPickTicketInsertPage"/>
|
||||
<menuItem title="中止" pageId="maintainPickTicketStopPage"/>
|
||||
<menuItem title="工单分配信息" pageId="maintainWorkOrderAllocationPage"/>
|
||||
<menuItem title="未满足整行拣货" pageId="maintainWorkOrderAllocationPage"/>
|
||||
|
||||
</menuItem>
|
||||
<menuItem title="其他出库管理" dir="receiving6">
|
||||
|
|
|
|||
|
|
@ -180,6 +180,7 @@
|
|||
pickTicketDetail.strBill12,
|
||||
t.inventoryStatus,
|
||||
t.strBill10,
|
||||
t.ncrCode,
|
||||
pickTicketDetail.lineNumber,
|
||||
t.smallUnit,
|
||||
pickTicket.updateTime,
|
||||
|
|
@ -325,6 +326,7 @@
|
|||
<column id="pickTicketDetail.strBill12" title="机台号" visible="true" horizonAlign="center" />
|
||||
<column id="t.inventoryStatus" title="库存状态" visible="true" horizonAlign="center" />
|
||||
<column id="t.strBill10" title="退料标记" visible="true" horizonAlign="center" />
|
||||
<column id="t.ncrCode" title="NCR号" visible="true" horizonAlign="center" />
|
||||
<column id="pickTicketDetail.lineNumber" title="项号" visible="true" horizonAlign="center" />
|
||||
<column id="t.smallUnit" title="包装" visible="true" horizonAlign="center" />
|
||||
<column id="pickTicket.updateTime1" title="创建日期" visible="true"
|
||||
|
|
|
|||
Loading…
Reference in New Issue