波次自动下发配置,
parent
1e2d1ab989
commit
811d96064b
|
|
@ -16,8 +16,8 @@
|
|||
# $Id: log4j.properties,v 1.3 2010/06/01 09:25:32 peng.lei Exp $
|
||||
|
||||
log4j.rootCategory=INFO,stdout,R
|
||||
log4j.logger.org.hibernate.SQL=DEBUG
|
||||
log4j.logger.org.hibernate.type.descriptor.sql.BasicBinder=TRACE
|
||||
#log4j.logger.org.hibernate.SQL=DEBUG
|
||||
#log4j.logger.org.hibernate.type.descriptor.sql.BasicBinder=TRACE
|
||||
|
||||
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
|
||||
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
|
||||
|
|
|
|||
|
|
@ -11,7 +11,9 @@ import java.nio.file.Paths;
|
|||
import java.security.MessageDigest;
|
||||
import java.security.NoSuchAlgorithmException;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.time.DayOfWeek;
|
||||
import java.time.LocalDate;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Calendar;
|
||||
import java.util.Date;
|
||||
|
|
@ -48,14 +50,42 @@ public class PostTest {
|
|||
// }fe80::2db:5cff:feea:c24f%wlan0
|
||||
// String str= getMacByIP("192.168.2.88");
|
||||
// "10-12-04".substring(2, 3);
|
||||
Date date=new Date();
|
||||
Calendar calendar = Calendar.getInstance();
|
||||
calendar.setTime(date);
|
||||
int month = calendar.get(Calendar.MONTH)+1;
|
||||
int year=calendar.get(Calendar.YEAR);
|
||||
logger.info("date---"+date);
|
||||
logger.info("month---"+month);
|
||||
logger.info("year---"+year);
|
||||
// Date date=new Date();
|
||||
//
|
||||
// SimpleDateFormat hms = new SimpleDateFormat("HH:mm");
|
||||
//
|
||||
// String s=hms.format(date);
|
||||
// logger.info("date--11-"+s);
|
||||
//
|
||||
//
|
||||
// Calendar calendar = Calendar.getInstance();
|
||||
// calendar.setTime(date);
|
||||
// int month = calendar.get(Calendar.MONTH)+1;
|
||||
// int year=calendar.get(Calendar.YEAR);
|
||||
// logger.info("date---"+date);
|
||||
// logger.info("month---"+month);
|
||||
// logger.info("year---"+year);
|
||||
|
||||
// 获取当前日期
|
||||
LocalDate today = LocalDate.now();
|
||||
|
||||
// 获取当前是周几
|
||||
DayOfWeek dayOfWeek = today.getDayOfWeek();
|
||||
|
||||
System.out.println("今天是: " + today);
|
||||
System.out.println("今天是周: " + dayOfWeek);
|
||||
|
||||
// 检查是否为工作日(周一到周五)
|
||||
if (dayOfWeek != DayOfWeek.SATURDAY && dayOfWeek != DayOfWeek.SUNDAY) {
|
||||
System.out.println("今天是工作日,执行任务...");
|
||||
// 这里放置需要在工作日执行的代码
|
||||
|
||||
} else {
|
||||
System.out.println("今天是周末,不执行任务。");
|
||||
}
|
||||
|
||||
|
||||
|
||||
// String ts="10-11-02";
|
||||
// logger.info(ts.substring(6, 2));
|
||||
// String input = "hello123456";
|
||||
|
|
|
|||
|
|
@ -36,7 +36,7 @@
|
|||
<!-- 下发agv任务 -->
|
||||
<!-- <ref bean="autoAutoBigTaskTrigger"/> -->
|
||||
<!-- 定时播种墙各种下发任务 -->
|
||||
<!-- <ref bean="createSeedWallTrigger"/> -->
|
||||
<ref bean="createSeedWallTrigger"/>
|
||||
<!-- 货架区返库 -->
|
||||
<!-- <ref bean="autoReturnHjTrigger"/> -->
|
||||
<!-- 立库任务下发 出库-->
|
||||
|
|
@ -45,10 +45,24 @@
|
|||
<!-- <ref bean="autoInLibraryTaskTrigger"/> -->
|
||||
<!-- 有效期料号发送邮件-->
|
||||
<!-- <ref bean="wmsSendEamilTrigger"/> -->
|
||||
|
||||
<!-- 自动创建波次-->
|
||||
<!-- <ref bean="autoWaveDocTrigger"/> -->
|
||||
</list>
|
||||
</property>
|
||||
</bean>
|
||||
<!-- 自动创建波次 -->
|
||||
<bean id="autoWaveDoc" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
|
||||
<property name="targetObject" ref="waveDocManager"/>
|
||||
<property name="targetMethod" value="newAutomaticWaveDoc"/>
|
||||
<property name="concurrent" value="false" />
|
||||
</bean>
|
||||
<bean id="autoWaveDocTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">
|
||||
<property name="jobDetail" ref="autoWaveDoc"/>
|
||||
<property name="cronExpression">
|
||||
<value> 0 0/01 * * * ? </value>
|
||||
</property>
|
||||
</bean>
|
||||
|
||||
<!-- 下发agv任务 -->
|
||||
<bean id="autoAutoBigTask" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
|
||||
<property name="targetObject" ref="itemJobLauncher"/>
|
||||
|
|
|
|||
|
|
@ -266,7 +266,7 @@ public class QueryAction extends AbstractAction implements ApplicationContextAwa
|
|||
}
|
||||
|
||||
public TableConfig buildGrid(TableConfig tableConfig) {
|
||||
log.info("------------------------------------------------------------------------------------------------开始查询------------------------------------------------------------------------------------------------: ");
|
||||
// log.info("------------------------------------------------------------------------------------------------开始查询------------------------------------------------------------------------------------------------: ");
|
||||
Object controlResult = actionControlTurnExcute(tableConfig.getPageId(), new Object[]{tableConfig});
|
||||
if (controlResult != null) {
|
||||
return (TableConfig) controlResult;
|
||||
|
|
|
|||
|
|
@ -0,0 +1,66 @@
|
|||
package com.dev.swms.server.model.TaskRemind;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
import com.dev.energy.server.model.Entity;
|
||||
|
||||
public class TaskRemind extends Entity{
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
private static final long serialVersionUID = -189880164514947907L;
|
||||
private Long userId;//用户id
|
||||
private String title;//标题
|
||||
private String content;//推送内容
|
||||
private String status;//状态
|
||||
private String createName;
|
||||
private Date createTime;
|
||||
private Date remindTime;//推送时间
|
||||
|
||||
public Long getUserId() {
|
||||
return userId;
|
||||
}
|
||||
public void setUserId(Long userId) {
|
||||
this.userId = userId;
|
||||
}
|
||||
public String getTitle() {
|
||||
return title;
|
||||
}
|
||||
public void setTitle(String title) {
|
||||
this.title = title;
|
||||
}
|
||||
public String getContent() {
|
||||
return content;
|
||||
}
|
||||
public void setContent(String content) {
|
||||
this.content = content;
|
||||
}
|
||||
public String getStatus() {
|
||||
return status;
|
||||
}
|
||||
public void setStatus(String status) {
|
||||
this.status = status;
|
||||
}
|
||||
public String getCreateName() {
|
||||
return createName;
|
||||
}
|
||||
public void setCreateName(String createName) {
|
||||
this.createName = createName;
|
||||
}
|
||||
public Date getCreateTime() {
|
||||
return createTime;
|
||||
}
|
||||
public void setCreateTime(Date createTime) {
|
||||
this.createTime = createTime;
|
||||
}
|
||||
public Date getRemindTime() {
|
||||
return remindTime;
|
||||
}
|
||||
public void setRemindTime(Date remindTime) {
|
||||
this.remindTime = remindTime;
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,33 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE hibernate-mapping PUBLIC
|
||||
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
|
||||
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
|
||||
|
||||
<hibernate-mapping>
|
||||
<class name="com.dev.swms.server.model.TaskRemind.TaskRemind"
|
||||
table="Task_Remind">
|
||||
<id name="id" column="ID" type="long">
|
||||
<generator class="native">
|
||||
<param name="sequence">wms_Task_Remind</param>
|
||||
<param name="parameters">START WITH 1000</param>
|
||||
</generator>
|
||||
</id>
|
||||
<property name="userId" type="long">
|
||||
<column name="userId" length="50" />
|
||||
</property>
|
||||
<property name="title" type="string">
|
||||
<column name="title" length="100" />
|
||||
</property>
|
||||
<property name="content" type="string">
|
||||
<column name="content" length="500" />
|
||||
</property>
|
||||
<property name="status" type="string">
|
||||
<column name="status" length="50" />
|
||||
</property>
|
||||
<property name="createName" type="string">
|
||||
<column name="createName" length="100" />
|
||||
</property>
|
||||
<property name="createTime" type="timestamp" column="createTime" />
|
||||
<property name="remindTime" type="timestamp" column="remindTime" />
|
||||
</class>
|
||||
</hibernate-mapping>
|
||||
|
|
@ -76,6 +76,7 @@ public class CountPlan extends Entity {
|
|||
private int finishNo;//完成行数
|
||||
private boolean beWarehous;//是否入库
|
||||
private boolean beOutbound;//是否出库
|
||||
// private boolean bebarCode;//是否序列号
|
||||
|
||||
|
||||
public boolean isBeWarehous() {
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@ public class PlantLocation extends Entity{
|
|||
private String description;
|
||||
/**位置大楼*/
|
||||
private String locFloor;
|
||||
/**是否入库登记*/
|
||||
/**是否不良品入库登记*/
|
||||
private boolean beRegister=false;
|
||||
/**是否优先入波*/
|
||||
private boolean bePriorityWave=false;
|
||||
|
|
|
|||
|
|
@ -0,0 +1,224 @@
|
|||
package com.dev.swms.server.model.shipping;
|
||||
|
||||
import com.dev.energy.server.model.Entity;
|
||||
|
||||
public class AutomaticWaveDoc extends Entity{
|
||||
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
private static final long serialVersionUID = 6557962882061079762L;
|
||||
private int hour1=0;//小时
|
||||
private int minute1=0;//分钟
|
||||
private Boolean beEnabled1=false;//是否启用
|
||||
private int hour2=0;//小时
|
||||
private int minute2=0;//分钟
|
||||
private Boolean beEnabled2=false;//是否下发CRS
|
||||
private int hour3=0;//小时
|
||||
private int minute3=0;//分钟
|
||||
private Boolean beEnabled3=false;//是否启用
|
||||
private int hour4=0;//小时
|
||||
private int minute4=0;//分钟
|
||||
private Boolean beEnabled4=false;//是否启用
|
||||
private int hour5=0;//小时
|
||||
private int minute5=0;//分钟
|
||||
private Boolean beEnabled5=false;//是否启用
|
||||
private int hour6=0;//小时
|
||||
private int minute6=0;//分钟
|
||||
private Boolean beEnabled6=false;//是否启用
|
||||
private int hour7=0;//小时
|
||||
private int minute7=0;//分钟
|
||||
private Boolean beEnabled7=false;//是否启用
|
||||
private int hour8=0;//小时
|
||||
private int minute8=0;//分钟
|
||||
private Boolean beEnabled8=false;//是否启用
|
||||
private int hour9=0;//小时
|
||||
private int minute9=0;//分钟
|
||||
private Boolean beEnabled9=false;//是否启用
|
||||
private int hour10=0;//小时
|
||||
private int minute10=0;//分钟
|
||||
private Boolean beEnabled10=false;//是否启用
|
||||
public int getHour1() {
|
||||
return hour1;
|
||||
}
|
||||
public void setHour1(int hour1) {
|
||||
this.hour1 = hour1;
|
||||
}
|
||||
public int getMinute1() {
|
||||
return minute1;
|
||||
}
|
||||
public void setMinute1(int minute1) {
|
||||
this.minute1 = minute1;
|
||||
}
|
||||
public Boolean getBeEnabled1() {
|
||||
return beEnabled1;
|
||||
}
|
||||
public void setBeEnabled1(Boolean beEnabled1) {
|
||||
this.beEnabled1 = beEnabled1;
|
||||
}
|
||||
public int getHour2() {
|
||||
return hour2;
|
||||
}
|
||||
public void setHour2(int hour2) {
|
||||
this.hour2 = hour2;
|
||||
}
|
||||
public int getMinute2() {
|
||||
return minute2;
|
||||
}
|
||||
public void setMinute2(int minute2) {
|
||||
this.minute2 = minute2;
|
||||
}
|
||||
public Boolean getBeEnabled2() {
|
||||
return beEnabled2;
|
||||
}
|
||||
public void setBeEnabled2(Boolean beEnabled2) {
|
||||
this.beEnabled2 = beEnabled2;
|
||||
}
|
||||
public int getHour3() {
|
||||
return hour3;
|
||||
}
|
||||
public void setHour3(int hour3) {
|
||||
this.hour3 = hour3;
|
||||
}
|
||||
public int getMinute3() {
|
||||
return minute3;
|
||||
}
|
||||
public void setMinute3(int minute3) {
|
||||
this.minute3 = minute3;
|
||||
}
|
||||
public Boolean getBeEnabled3() {
|
||||
return beEnabled3;
|
||||
}
|
||||
public void setBeEnabled3(Boolean beEnabled3) {
|
||||
this.beEnabled3 = beEnabled3;
|
||||
}
|
||||
public int getHour4() {
|
||||
return hour4;
|
||||
}
|
||||
public void setHour4(int hour4) {
|
||||
this.hour4 = hour4;
|
||||
}
|
||||
public int getMinute4() {
|
||||
return minute4;
|
||||
}
|
||||
public void setMinute4(int minute4) {
|
||||
this.minute4 = minute4;
|
||||
}
|
||||
public Boolean getBeEnabled4() {
|
||||
return beEnabled4;
|
||||
}
|
||||
public void setBeEnabled4(Boolean beEnabled4) {
|
||||
this.beEnabled4 = beEnabled4;
|
||||
}
|
||||
public int getHour5() {
|
||||
return hour5;
|
||||
}
|
||||
public void setHour5(int hour5) {
|
||||
this.hour5 = hour5;
|
||||
}
|
||||
public int getMinute5() {
|
||||
return minute5;
|
||||
}
|
||||
public void setMinute5(int minute5) {
|
||||
this.minute5 = minute5;
|
||||
}
|
||||
public Boolean getBeEnabled5() {
|
||||
return beEnabled5;
|
||||
}
|
||||
public void setBeEnabled5(Boolean beEnabled5) {
|
||||
this.beEnabled5 = beEnabled5;
|
||||
}
|
||||
public int getHour6() {
|
||||
return hour6;
|
||||
}
|
||||
public void setHour6(int hour6) {
|
||||
this.hour6 = hour6;
|
||||
}
|
||||
public int getMinute6() {
|
||||
return minute6;
|
||||
}
|
||||
public void setMinute6(int minute6) {
|
||||
this.minute6 = minute6;
|
||||
}
|
||||
public Boolean getBeEnabled6() {
|
||||
return beEnabled6;
|
||||
}
|
||||
public void setBeEnabled6(Boolean beEnabled6) {
|
||||
this.beEnabled6 = beEnabled6;
|
||||
}
|
||||
public int getHour7() {
|
||||
return hour7;
|
||||
}
|
||||
public void setHour7(int hour7) {
|
||||
this.hour7 = hour7;
|
||||
}
|
||||
public int getMinute7() {
|
||||
return minute7;
|
||||
}
|
||||
public void setMinute7(int minute7) {
|
||||
this.minute7 = minute7;
|
||||
}
|
||||
public Boolean getBeEnabled7() {
|
||||
return beEnabled7;
|
||||
}
|
||||
public void setBeEnabled7(Boolean beEnabled7) {
|
||||
this.beEnabled7 = beEnabled7;
|
||||
}
|
||||
public int getHour8() {
|
||||
return hour8;
|
||||
}
|
||||
public void setHour8(int hour8) {
|
||||
this.hour8 = hour8;
|
||||
}
|
||||
public int getMinute8() {
|
||||
return minute8;
|
||||
}
|
||||
public void setMinute8(int minute8) {
|
||||
this.minute8 = minute8;
|
||||
}
|
||||
public Boolean getBeEnabled8() {
|
||||
return beEnabled8;
|
||||
}
|
||||
public void setBeEnabled8(Boolean beEnabled8) {
|
||||
this.beEnabled8 = beEnabled8;
|
||||
}
|
||||
public int getHour9() {
|
||||
return hour9;
|
||||
}
|
||||
public void setHour9(int hour9) {
|
||||
this.hour9 = hour9;
|
||||
}
|
||||
public int getMinute9() {
|
||||
return minute9;
|
||||
}
|
||||
public void setMinute9(int minute9) {
|
||||
this.minute9 = minute9;
|
||||
}
|
||||
public Boolean getBeEnabled9() {
|
||||
return beEnabled9;
|
||||
}
|
||||
public void setBeEnabled9(Boolean beEnabled9) {
|
||||
this.beEnabled9 = beEnabled9;
|
||||
}
|
||||
public int getHour10() {
|
||||
return hour10;
|
||||
}
|
||||
public void setHour10(int hour10) {
|
||||
this.hour10 = hour10;
|
||||
}
|
||||
public int getMinute10() {
|
||||
return minute10;
|
||||
}
|
||||
public void setMinute10(int minute10) {
|
||||
this.minute10 = minute10;
|
||||
}
|
||||
public Boolean getBeEnabled10() {
|
||||
return beEnabled10;
|
||||
}
|
||||
public void setBeEnabled10(Boolean beEnabled10) {
|
||||
this.beEnabled10 = beEnabled10;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
|
@ -93,7 +93,7 @@ public class PickTicketDetail extends AbstractMoveDocDetail {
|
|||
private String strBill12;//机台号
|
||||
private String strBill13; //receiver
|
||||
private String strBill14; //SAP指定序列号值
|
||||
private String strBill15; //加急入库标记(1)
|
||||
private String strBill15; //加急入库标记(1)是否指定
|
||||
private String strBill16; //交接位置
|
||||
private String strBill17; //备注
|
||||
private String strBill18; //申请人
|
||||
|
|
|
|||
|
|
@ -0,0 +1,45 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE hibernate-mapping PUBLIC
|
||||
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
|
||||
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
|
||||
<hibernate-mapping>
|
||||
<class name="com.dev.swms.server.model.shipping.AutomaticWaveDoc" table="Automatic_Wave_Doc">
|
||||
<id name="id" column="ID" type="long">
|
||||
<generator class="native">
|
||||
<param name="sequence">wms_Automatic_Wave_Doc</param>
|
||||
<param name="parameters">START WITH 1000</param>
|
||||
</generator>
|
||||
</id>
|
||||
<property name="hour1" type="int" column="hour1" />
|
||||
<property name="minute1" type="int" column="minute1" />
|
||||
<property name="beEnabled1" type="boolean" column="be_Enabled1" />
|
||||
<property name="hour2" type="int" column="hour2" />
|
||||
<property name="minute2" type="int" column="minute2" />
|
||||
<property name="beEnabled2" type="boolean" column="be_Enabled2" />
|
||||
<property name="hour3" type="int" column="hour3" />
|
||||
<property name="minute3" type="int" column="minute3" />
|
||||
<property name="beEnabled3" type="boolean" column="be_Enabled3" />
|
||||
<property name="hour4" type="int" column="hour4" />
|
||||
<property name="minute4" type="int" column="minute4" />
|
||||
<property name="beEnabled4" type="boolean" column="be_Enabled4" />
|
||||
<property name="hour5" type="int" column="hour5" />
|
||||
<property name="minute5" type="int" column="minute5" />
|
||||
<property name="beEnabled5" type="boolean" column="be_Enabled5" />
|
||||
<property name="hour6" type="int" column="hour6" />
|
||||
<property name="minute6" type="int" column="minute6" />
|
||||
<property name="beEnabled6" type="boolean" column="be_Enabled6" />
|
||||
<property name="hour7" type="int" column="hour7" />
|
||||
<property name="minute7" type="int" column="minute7" />
|
||||
<property name="beEnabled7" type="boolean" column="be_Enabled7" />
|
||||
<property name="hour8" type="int" column="hour8" />
|
||||
<property name="minute8" type="int" column="minute8" />
|
||||
<property name="beEnabled8" type="boolean" column="be_Enabled8" />
|
||||
<property name="hour9" type="int" column="hour9" />
|
||||
<property name="minute9" type="int" column="minute9" />
|
||||
<property name="beEnabled9" type="boolean" column="be_Enabled9" />
|
||||
<property name="hour10" type="int" column="hour10" />
|
||||
<property name="minute10" type="int" column="minute10" />
|
||||
<property name="beEnabled10" type="boolean" column="be_Enabled10" />
|
||||
</class>
|
||||
|
||||
</hibernate-mapping>
|
||||
|
|
@ -7,6 +7,7 @@ import org.springframework.transaction.annotation.Transactional;
|
|||
import com.dev.energy.server.service.BaseManager;
|
||||
import com.dev.swms.server.model.base.Location;
|
||||
import com.dev.swms.server.model.base.ShiXiao;
|
||||
import com.dev.swms.server.model.shipping.AutomaticWaveDoc;
|
||||
|
||||
@Transactional(readOnly = true)
|
||||
public interface ShiXiaoManager extends BaseManager{
|
||||
|
|
@ -27,4 +28,9 @@ public interface ShiXiaoManager extends BaseManager{
|
|||
@Transactional
|
||||
void deleteStock(List<Long> ids);
|
||||
|
||||
|
||||
//新增
|
||||
@Transactional
|
||||
void addAutomaticWaveDoc(AutomaticWaveDoc aw);
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,11 +2,13 @@ package com.dev.swms.server.service.base.pojo;
|
|||
|
||||
import java.util.List;
|
||||
|
||||
import com.dev.energy.server.exception.BusinessException;
|
||||
import com.dev.energy.server.service.pojo.DefaultBaseManager;
|
||||
import com.dev.energy.server.service.security.UserManager;
|
||||
import com.dev.energy.server.util.LocalizedMessage;
|
||||
import com.dev.swms.server.model.base.ShiXiao;
|
||||
import com.dev.swms.server.model.inventory.Stock;
|
||||
import com.dev.swms.server.model.shipping.AutomaticWaveDoc;
|
||||
import com.dev.swms.server.model.shipping.SeedWall;
|
||||
import com.dev.swms.server.service.base.ShiXiaoManager;
|
||||
import com.dev.swms.server.service.interfaceLog.WmsOperationHisManager;
|
||||
|
|
@ -70,4 +72,20 @@ public class DefaultShiXiaoManager extends DefaultBaseManager implements ShiXiao
|
|||
|
||||
}
|
||||
|
||||
public void addAutomaticWaveDoc(AutomaticWaveDoc shixiao) {
|
||||
String acttiveName="修改";
|
||||
if(shixiao.isNew()) {
|
||||
acttiveName="新建";
|
||||
}
|
||||
if(shixiao.getHour1()<0||shixiao.getHour1()>=24) {
|
||||
throw new BusinessException("小时值输入错误,"+shixiao.getHour1());
|
||||
}
|
||||
if(shixiao.getMinute1()<0||shixiao.getMinute1()>=60) {
|
||||
throw new BusinessException("分钟值输入错误,"+shixiao.getMinute1());
|
||||
}
|
||||
commonDao.store(shixiao);
|
||||
wmsOperationHisManager.storeOperationHis(shixiao.getId(),shixiao.getHour1()+"", null,"", "波次执行时间", acttiveName,null,
|
||||
null,0, 0,0, 0, "", "WMS");
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -186,7 +186,8 @@ public class DefaultQueryAppManager extends DefaultBaseManager implements QueryA
|
|||
+ "(case when item.default_Warehouse_Area_ID is not NULL then item.default_Warehouse_Area_ID ELSE z.id END) as z_id,"
|
||||
+ "item.volume,ad.BE_MARK_WEIGHT as beMarkWeight,item.FEE_TYPE,"
|
||||
+ " item.be_Extend1,item.be_Extend2,asn.BILL_TYPE_ID,ad.strBill11,ad.bf_qty ,z.name as z_name,"
|
||||
+ "z1.name as z1_name, item.be_Image_File as be_Image_File,bt.NAME as bt_name "
|
||||
+ "z1.name as z1_name, item.be_Image_File as be_Image_File,bt.NAME as bt_name,"
|
||||
+ "asn.sourceType as sourceType "
|
||||
+ " from ASN_DETAIL ad "
|
||||
+ " left join ASN asn on asn.id=ad.ASN_ID "
|
||||
+ " left join ITEM item on item.id=ad.ITEM_ID "
|
||||
|
|
@ -323,9 +324,12 @@ public class DefaultQueryAppManager extends DefaultBaseManager implements QueryA
|
|||
obj.put("z_id", arrier[i++]==null?"":arrier[i-1]);
|
||||
String zxmx="";
|
||||
String billCode= arrier[26]==null?"":arrier[26].toString();//单据类型
|
||||
logger.info("单据类型:"+billCode);
|
||||
String sourceType=arrier[27]==null?"":arrier[27].toString();//SAP移位类型
|
||||
double volume=Double.parseDouble(arrier[15].toString());
|
||||
if(volume<=0&&!billCode.equals("移位单")&&!billCode.equals("转库单")){
|
||||
if(volume<=0&&!billCode.equals("移位单")&&!billCode.equals("转库单")
|
||||
&&!sourceType.equals("531")&&!sourceType.equals("Z66")
|
||||
&&!sourceType.equals("301")&&!sourceType.equals("311")
|
||||
&&!sourceType.equals("542")&&!sourceType.equals("315")){
|
||||
zxmx="是";
|
||||
}else{
|
||||
zxmx="否";
|
||||
|
|
@ -3810,6 +3814,7 @@ public class DefaultQueryAppManager extends DefaultBaseManager implements QueryA
|
|||
if(taskId>0){
|
||||
Task task=this.load(Task.class, taskId);
|
||||
ItemKey ik=this.load(ItemKey.class, task.getItemKey().getId());
|
||||
|
||||
Item item=this.load(Item.class, ik.getItem().getId());
|
||||
Location srcLoc =this.load(Location.class, task.getSrcLoc().getId());
|
||||
WarehouseArea zone=this.load(WarehouseArea.class, srcLoc.getZone().getId());
|
||||
|
|
@ -3842,6 +3847,13 @@ public class DefaultQueryAppManager extends DefaultBaseManager implements QueryA
|
|||
}
|
||||
data=array.toString();
|
||||
status = "1";
|
||||
List<String> socode= commonDao.findByQuery("select p.code from PlantLocation p where p.beRegister=1 ");
|
||||
if(ik.getLotInfo().getPropC2()!=null&&socode.size()>0
|
||||
&&socode.contains(ik.getLotInfo().getPropC2())) {
|
||||
status="0";
|
||||
msg=ik.getLotInfo().getPropC2()+"不能换库位拣货";
|
||||
data="[]";
|
||||
}
|
||||
}else{
|
||||
status = "2";
|
||||
msg = "找不到相应记录!";
|
||||
|
|
|
|||
|
|
@ -178,7 +178,7 @@ public interface InventoryManager extends BaseManager{
|
|||
|
||||
@Transactional
|
||||
void manualMove(Long srcInventoryId, Long destLocationId,
|
||||
double quantity, Long workerId);
|
||||
double quantity, Long workerId,String ncr);
|
||||
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -791,12 +791,48 @@ public class DefaultInventoryManager extends DefaultBaseManager implements Inven
|
|||
// locationManager.kuwei(list);
|
||||
}
|
||||
public void manualMove(Long srcInventoryId, Long destLocationId,
|
||||
double quantity, Long workerId) {
|
||||
double quantity, Long workerId,String ncr) {
|
||||
Inventory srcInv=commonDao.load(Inventory.class, srcInventoryId);
|
||||
Location deslocation=commonDao.load(Location.class, destLocationId);
|
||||
Location strlocation=commonDao.load(Location.class, srcInv.getLocation().getId());
|
||||
ItemKey itemKey=commonDao.load(ItemKey.class, srcInv.getItemKey().getId());
|
||||
Item item=commonDao.load(Item.class, itemKey.getItem().getId());
|
||||
boolean beNcr=false;//是否不良品
|
||||
double NCRqty=quantity;
|
||||
|
||||
//验证不良品库存
|
||||
if(itemKey.getLotInfo()!=null&&itemKey.getLotInfo().getPropC2()!=null
|
||||
&&itemKey.getLotInfo().getPropC2().length()>0) {
|
||||
String hqls="select p.id from PlantLocation p where p.code='"+itemKey.getLotInfo().getPropC2()+"'"
|
||||
+ " and p.beRegister=1 ";
|
||||
List<Long> listplan= commonDao.findByQuery(hqls);
|
||||
if(listplan.size()>0) {
|
||||
if(ncr==null||ncr.equals("")) {
|
||||
throw new BusinessException("不良品LOC需要输入NCR");
|
||||
}
|
||||
String wsql="select sum(r.receivedQuantity-r.shippedQuantity) from ReceivingInventory r where r.itemKey.item.id= "
|
||||
+ item.getId()+" and r.location.id="+strlocation.getId()
|
||||
+" and r.strBill1='"+ncr+"' and r.receivedQuantity>r.shippedQuantity ";
|
||||
if(srcInv.getBarCode()!=null&&srcInv.getBarCode().length()>0) {
|
||||
wsql+=" and r.barCode='"+srcInv.getBarCode()+"'";
|
||||
}
|
||||
List<Double> rdsqty=commonDao.findByQuery(wsql);
|
||||
if(rdsqty.size()>0) {
|
||||
double qys=0;
|
||||
if(rdsqty.get(0)!=null) {
|
||||
qys=rdsqty.get(0);
|
||||
}
|
||||
if(quantity>qys) {
|
||||
throw new BusinessException(ncr+",NCR库存数"+qys);
|
||||
}
|
||||
}else {
|
||||
throw new BusinessException(ncr+",NCR号输入错误");
|
||||
}
|
||||
}
|
||||
beNcr=true;
|
||||
}
|
||||
|
||||
|
||||
if(srcInv.getStatus().equals("待上架")) {
|
||||
throw new BusinessException("待上架库存不能移位!");
|
||||
}
|
||||
|
|
@ -986,9 +1022,53 @@ public class DefaultInventoryManager extends DefaultBaseManager implements Inven
|
|||
itemKey, srcInv.getStorageDate(),
|
||||
srcInv.getSOI(), quantity, null, srcInv.getStatus(), srcInv.getId(), "移位",
|
||||
null,workerId,srcInv.getBarCode(),srcInv.getLocation(),null,null);
|
||||
|
||||
//不良品LOC移位
|
||||
if(beNcr) {
|
||||
if(ncr!=null&&!ncr.equals("")) {
|
||||
String wsql=" from ReceivingInventory r where r.itemKey.item.id= "
|
||||
+item.getId()+" and r.location.id="+strlocation.getId()
|
||||
+" and r.strBill1='"+ncr+"' and r.receivedQuantity>r.shippedQuantity"
|
||||
+ " ";
|
||||
if(srcInv.getBarCode()!=null&&srcInv.getBarCode().length()>0) {
|
||||
wsql+=" and r.barCode='"+srcInv.getBarCode()+"'";
|
||||
}
|
||||
List<ReceivingInventory> rdsqty=commonDao.findByQuery(wsql);
|
||||
if(rdsqty.size()>0) {
|
||||
for(ReceivingInventory rd:rdsqty) {
|
||||
double ncrql=rd.getReceivedQuantity()-rd.getShippedQuantity();
|
||||
if(ncrql<=NCRqty) {
|
||||
rd.setLocation(deslocation);
|
||||
NCRqty=NCRqty-ncrql;
|
||||
}else {
|
||||
rd.setReceivedQuantity(rd.getReceivedQuantity()-NCRqty);
|
||||
ReceivingInventory r = EntityFactory.getEntity(ReceivingInventory.class);
|
||||
r.setLocation(deslocation);
|
||||
r.setItemKey(rd.getItemKey());
|
||||
r.setReceivedQuantity(NCRqty);
|
||||
r.setReceiveDate(rd.getReceiveDate());
|
||||
r.setOperator(rd.getOperator());
|
||||
r.setReceivedQuantityMU(r.getReceivedQuantity());
|
||||
r.setStrBill1(rd.getStrBill1());
|
||||
r.setStrBill2(rd.getStrBill2());
|
||||
r.setStrBill3(rd.getStrBill3());
|
||||
r.setBarCode(rd.getBarCode());
|
||||
commonDao.store(r);
|
||||
}
|
||||
commonDao.store(rd);
|
||||
if(NCRqty<=0) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
private Stock getStockWithNew(Location location, String lp, PackageUnit unit, double quantity) {
|
||||
Stock stock = null;
|
||||
if (!StringUtils.isEmpty(lp)) {
|
||||
|
|
|
|||
|
|
@ -1582,7 +1582,7 @@ public class DefaultAutoAllocator extends DefaultBaseManager implements AutoAllo
|
|||
Task task = EntityFactory.getEntity(Task.class);
|
||||
task.setPickTicketDetail(ptd);
|
||||
Item item=commonDao.load(Item.class, ptd.getItem().getId());
|
||||
task.setBillCode(getSubWorkOrer(ptd.getPickTicket().getCode(),inventory.getLocation().getZone(),item));
|
||||
task.setBillCode(getSubWorkOrer(ptd.getPickTicket().getId(),ptd.getPickTicket().getCode(),inventory.getLocation().getZone(),item));
|
||||
task.setCode(TimeNumberUtils.getTaskCode());
|
||||
task.setType(TaskType.MV_PICKTICKET);
|
||||
task.setItemKey(inventory.getItemKey());
|
||||
|
|
@ -1653,7 +1653,7 @@ public class DefaultAutoAllocator extends DefaultBaseManager implements AutoAllo
|
|||
task.setPickTicketDetail(ptd);
|
||||
|
||||
Item item=commonDao.load(Item.class, ptd.getItem().getId());
|
||||
task.setBillCode(getSubWorkOrer(ptd.getPickTicket().getCode(),inventory.getLocation().getZone(),item));
|
||||
task.setBillCode(getSubWorkOrer(ptd.getPickTicket().getId(),ptd.getPickTicket().getCode(),inventory.getLocation().getZone(),item));
|
||||
|
||||
task.setCode(TimeNumberUtils.getTaskCode());
|
||||
task.setType(TaskType.MV_PICKTICKET);
|
||||
|
|
@ -1678,11 +1678,13 @@ public class DefaultAutoAllocator extends DefaultBaseManager implements AutoAllo
|
|||
|
||||
|
||||
}
|
||||
public String getSubWorkOrer(String picktickCode,WarehouseArea warehouseArea,Item item){
|
||||
public String getSubWorkOrer(Long pid,String picktickCode,WarehouseArea warehouseArea,Item item){
|
||||
String code="";
|
||||
if(warehouseArea.getId()==1765) {
|
||||
if(item.getGoodType()!=null&&item.getGoodType().equals("大件")) {
|
||||
Long count= (Long) commonDao.findByQuery(" select max(t.id) from Task t where t.billCode like '"+picktickCode+"-%' and t.srcLoc.zone.id="+warehouseArea.getId()+
|
||||
Long count= (Long) commonDao.findByQuery(" select max(t.id) from Task t where "
|
||||
+ "t.pickTicketDetail.pickTicket.id="+pid+" and t.billCode like '"+picktickCode+"-%' "
|
||||
+ " and t.srcLoc.zone.id="+warehouseArea.getId()+
|
||||
" and t.planQuantity>t.movedQuantityMU and t.itemKey.item.goodType='大件' ").get(0);
|
||||
if(count!=null&&count.longValue()>0){
|
||||
Task t=this.load(Task.class,count);
|
||||
|
|
@ -1691,24 +1693,27 @@ public class DefaultAutoAllocator extends DefaultBaseManager implements AutoAllo
|
|||
code=bussinessCodeManager.getCodeForYmd(picktickCode+"-", 2);
|
||||
}
|
||||
}else {
|
||||
Long count= (Long) commonDao.findByQuery(" select max(t.id) from Task t where t.billCode like '"+picktickCode+"-%' and t.srcLoc.zone.id="+warehouseArea.getId()+
|
||||
Long count= (Long) commonDao.findByQuery(" select max(t.id) from Task t where "
|
||||
+ " t.pickTicketDetail.pickTicket.id="+pid+" and t.billCode like '"+picktickCode+"-%' "
|
||||
+ "and t.srcLoc.zone.id="+warehouseArea.getId()+
|
||||
" and t.planQuantity>t.movedQuantityMU and t.itemKey.item.goodType<>'大件' ").get(0);
|
||||
if(count!=null&&count.longValue()>0){
|
||||
Task t=this.load(Task.class,count);
|
||||
code=t.getBillCode();
|
||||
}else{
|
||||
|
||||
code=bussinessCodeManager.getCodeForYmd(picktickCode+"-", 2);
|
||||
}
|
||||
}
|
||||
}else {
|
||||
Long count= (Long) commonDao.findByQuery(" select max(t.id) from Task t where t.billCode like '"+picktickCode+"-%' and t.srcLoc.zone.id="+warehouseArea.getId()+
|
||||
Long count= (Long) commonDao.findByQuery(" select max(t.id) from Task t "
|
||||
+ "where t.pickTicketDetail.pickTicket.id="+pid
|
||||
+ " and t.billCode like '"+picktickCode+"-%' "
|
||||
+ "and t.srcLoc.zone.id="+warehouseArea.getId()+
|
||||
" and t.planQuantity>t.movedQuantityMU ").get(0);
|
||||
if(count!=null&&count.longValue()>0){
|
||||
Task t=this.load(Task.class,count);
|
||||
code=t.getBillCode();
|
||||
}else{
|
||||
|
||||
code=bussinessCodeManager.getCodeForYmd(picktickCode+"-", 2);
|
||||
}
|
||||
}
|
||||
|
|
@ -2394,7 +2399,8 @@ public class DefaultAutoAllocator extends DefaultBaseManager implements AutoAllo
|
|||
}else {
|
||||
//工单发料,可发LOC配置信息
|
||||
String bsql=" from BillTypeConfig b where b.billType.id="+pt.getBillType().getId();
|
||||
if(ptd.getNewLotInfo().getPropC9()!=null&&!ptd.getNewLotInfo().getPropC9().equals("")) {
|
||||
if(ptd.getNewLotInfo()!=null&&ptd.getNewLotInfo().getPropC9()!=null
|
||||
&&!ptd.getNewLotInfo().getPropC9().equals("")) {
|
||||
bsql+=" and b.plantCode='"+ptd.getNewLotInfo().getPropC9()+"'";
|
||||
}
|
||||
List<BillTypeConfig> bts=commonDao.findByQuery(bsql);
|
||||
|
|
@ -2506,7 +2512,7 @@ public class DefaultAutoAllocator extends DefaultBaseManager implements AutoAllo
|
|||
task.setPickTicketDetail(ptd);
|
||||
|
||||
Item item=commonDao.load(Item.class, ptd.getItem().getId());
|
||||
task.setBillCode(getSubWorkOrer(ptd.getPickTicket().getCode(),inventory.getLocation().getZone(),item));
|
||||
task.setBillCode(getSubWorkOrer(ptd.getPickTicket().getId(),ptd.getPickTicket().getCode(),inventory.getLocation().getZone(),item));
|
||||
|
||||
task.setCode(TimeNumberUtils.getTaskCode());
|
||||
task.setType(TaskType.MV_PICKTICKET);
|
||||
|
|
@ -3132,7 +3138,7 @@ public class DefaultAutoAllocator extends DefaultBaseManager implements AutoAllo
|
|||
Task task = EntityFactory.getEntity(Task.class);
|
||||
task.setPickTicketDetail(ptd);
|
||||
Item item=commonDao.load(Item.class, ptd.getItem().getId());
|
||||
task.setBillCode(getSubWorkOrer(ptd.getPickTicket().getCode(),inventory.getLocation().getZone(),item));
|
||||
task.setBillCode(getSubWorkOrer(ptd.getPickTicket().getId(),ptd.getPickTicket().getCode(),inventory.getLocation().getZone(),item));
|
||||
//单个子任务数量
|
||||
if(qty>0) {
|
||||
List<Integer> tas=commonDao.findByQuery("select t.hs from PickTicketTaskView t where t.pickTicket.id="+ptd.getPickTicket().getId()
|
||||
|
|
@ -3427,7 +3433,7 @@ public class DefaultAutoAllocator extends DefaultBaseManager implements AutoAllo
|
|||
task.setPickTicketDetail(ptd);
|
||||
|
||||
Item item=commonDao.load(Item.class, ptd.getItem().getId());
|
||||
task.setBillCode(getSubWorkOrer(ptd.getPickTicket().getCode(),inventory.getLocation().getZone(),item));
|
||||
task.setBillCode(getSubWorkOrer(ptd.getPickTicket().getId(),ptd.getPickTicket().getCode(),inventory.getLocation().getZone(),item));
|
||||
//单个子任务数量
|
||||
if(qty>0) {
|
||||
List<Integer> tas=commonDao.findByQuery("select t.hs from PickTicketTaskView t where t.pickTicket.id="+ptd.getPickTicket().getId()
|
||||
|
|
@ -3560,7 +3566,11 @@ public class DefaultAutoAllocator extends DefaultBaseManager implements AutoAllo
|
|||
pt.setStatus(PickTicketStatus.CHECK);
|
||||
commonDao.store(pt);
|
||||
}
|
||||
if(UserHolder.getUser()!=null) {
|
||||
t.setStrBill1(UserHolder.getUser().getName());
|
||||
}else {
|
||||
t.setStrBill1("系统自动");
|
||||
}
|
||||
t.setDateBill1(new Date());
|
||||
t.setAgvStatus(1);//1=可以分配分拨墙并下发AGV
|
||||
t.setYc_qty(t.getPlanQuantityMU());
|
||||
|
|
@ -4111,8 +4121,7 @@ public class DefaultAutoAllocator extends DefaultBaseManager implements AutoAllo
|
|||
Task task = EntityFactory.getEntity(Task.class);
|
||||
task.setPickTicketDetail(ptd);
|
||||
Item item=commonDao.load(Item.class, ptd.getItem().getId());
|
||||
task.setBillCode(getSubWorkOrer(ptd.getPickTicket().getCode(),inventory.getLocation().getZone(),item));
|
||||
|
||||
task.setBillCode(getSubWorkOrer(ptd.getPickTicket().getId(),ptd.getPickTicket().getCode(),inventory.getLocation().getZone(),item));
|
||||
task.setCode(TimeNumberUtils.getTaskCode());
|
||||
task.setType(TaskType.MV_PICKTICKET);
|
||||
task.setItemKey(inventory.getItemKey());
|
||||
|
|
|
|||
|
|
@ -336,7 +336,7 @@ public interface WaveDocManager extends BaseManager {
|
|||
void hotWaveDoc(Date date1,Date date2 ,Integer lxqQty,Integer longtiem,Integer hjqQty,Integer lkqQty,boolean ddq,String pickCode
|
||||
,boolean ddq1,boolean ddq2,boolean ddq3,boolean ddq4,boolean ddq5,boolean ddq6,boolean ddq7,boolean ddq8,boolean ddq9,Integer taskqty,boolean beUrgent);
|
||||
|
||||
void newHotWaveDoc(Date date1,Date date2 ,Integer lxqQty,Integer longtiem,Integer hjqQty,Integer lkqQty,boolean ddq,String pickCode
|
||||
WaveDoc newHotWaveDoc(Date date1,Date date2 ,Integer lxqQty,Integer longtiem,Integer hjqQty,Integer lkqQty,boolean ddq,String pickCode
|
||||
,boolean ddq1,boolean ddq2,boolean ddq3,boolean ddq4,boolean ddq5,boolean ddq6,boolean ddq7,boolean ddq8,boolean ddq9,Integer taskqty,boolean beUrgent);
|
||||
|
||||
@Transactional
|
||||
|
|
@ -349,8 +349,8 @@ public interface WaveDocManager extends BaseManager {
|
|||
void alloteWaveDoc(long waveDocId,boolean lx1,boolean lx2,boolean lx3,boolean lx4,boolean lx5,boolean lx6,boolean lx7,boolean lx8,boolean lx9,boolean lx10,boolean lx11,boolean lx12,boolean lx13,boolean lx14,boolean lx15,boolean hj1,boolean hj2,boolean hj3,boolean hj4,boolean hj5,boolean hj6,boolean hj7,boolean lk1,boolean lk2,boolean lk3,boolean lk4,boolean lk5);
|
||||
|
||||
|
||||
|
||||
|
||||
//定时任务自动创建
|
||||
void newAutomaticWaveDoc();
|
||||
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2887,7 +2887,7 @@ public class DefaultPickTicketManager extends DefaultBaseManager implements Pick
|
|||
Task task = EntityFactory.getEntity(Task.class);
|
||||
task.setPickTicketDetail(ptd);
|
||||
Item item=commonDao.load(Item.class, ptd.getItem().getId());
|
||||
task.setBillCode(getSubWorkOrer(ptd.getPickTicket().getCode(),inventory.getLocation().getZone(),item));
|
||||
task.setBillCode(getSubWorkOrer(ptd.getPickTicket().getId(),ptd.getPickTicket().getCode(),inventory.getLocation().getZone(),item));
|
||||
|
||||
task.setCode(TimeNumberUtils.getTaskCode());
|
||||
task.setType(TaskType.MV_PICKTICKET);
|
||||
|
|
@ -2910,11 +2910,14 @@ public class DefaultPickTicketManager extends DefaultBaseManager implements Pick
|
|||
|
||||
}
|
||||
|
||||
public String getSubWorkOrer(String picktickCode,WarehouseArea warehouseArea,Item item){
|
||||
public String getSubWorkOrer(Long pid,String picktickCode,WarehouseArea warehouseArea,Item item){
|
||||
String code="";
|
||||
if(warehouseArea.getId()==1765) {
|
||||
if(item.getGoodType()!=null&&item.getGoodType().equals("大件")) {
|
||||
Long count= (Long) commonDao.findByQuery(" select max(t.id) from Task t where t.billCode like '"+picktickCode+"-%' and t.srcLoc.zone.id="+warehouseArea.getId()+
|
||||
Long count= (Long) commonDao.findByQuery(" select max(t.id) from Task t "
|
||||
+ "where t.pickTicketDetail.pickTicket.id="+pid
|
||||
+ " and t.billCode like '"+picktickCode+"-%' "
|
||||
+ "and t.srcLoc.zone.id="+warehouseArea.getId()+
|
||||
" and t.planQuantity>t.movedQuantityMU and t.itemKey.item.goodType='大件' ").get(0);
|
||||
if(count!=null&&count.longValue()>0){
|
||||
Task t=this.load(Task.class,count);
|
||||
|
|
@ -2924,7 +2927,10 @@ public class DefaultPickTicketManager extends DefaultBaseManager implements Pick
|
|||
code=bussinessCodeManager.getCodeForYmd(picktickCode+"-", 2);
|
||||
}
|
||||
}else {
|
||||
Long count= (Long) commonDao.findByQuery(" select max(t.id) from Task t where t.billCode like '"+picktickCode+"-%' and t.srcLoc.zone.id="+warehouseArea.getId()+
|
||||
Long count= (Long) commonDao.findByQuery(" select max(t.id) from Task t "
|
||||
+ "where t.pickTicketDetail.pickTicket.id="+pid
|
||||
+ " and t.billCode like '"+picktickCode+"-%' "
|
||||
+ "and t.srcLoc.zone.id="+warehouseArea.getId()+
|
||||
" and t.planQuantity>t.movedQuantityMU and t.itemKey.item.goodType<>'大件' ").get(0);
|
||||
if(count!=null&&count.longValue()>0){
|
||||
Task t=this.load(Task.class,count);
|
||||
|
|
@ -2935,7 +2941,10 @@ public class DefaultPickTicketManager extends DefaultBaseManager implements Pick
|
|||
}
|
||||
}
|
||||
}else {
|
||||
Long count= (Long) commonDao.findByQuery(" select max(t.id) from Task t where t.billCode like '"+picktickCode+"-%' and t.srcLoc.zone.id="+warehouseArea.getId()+
|
||||
Long count= (Long) commonDao.findByQuery(" select max(t.id) from Task t "
|
||||
+ "where t.pickTicketDetail.pickTicket.id="+pid
|
||||
+ " and t.billCode like '"+picktickCode+"-%' "
|
||||
+ " and t.srcLoc.zone.id="+warehouseArea.getId()+
|
||||
" and t.planQuantity>t.movedQuantityMU ").get(0);
|
||||
if(count!=null&&count.longValue()>0){
|
||||
Task t=this.load(Task.class,count);
|
||||
|
|
@ -4429,6 +4438,10 @@ public class DefaultPickTicketManager extends DefaultBaseManager implements Pick
|
|||
if(list1.size()>0) {
|
||||
PlantLocation p=list1.get(0);
|
||||
if(p.isBeRegister()) {
|
||||
if(sqr==null||sqr.equals("")) {
|
||||
throw new BusinessException(sqr+"不良品需要输入NCR");
|
||||
}
|
||||
|
||||
String sql=" from ReceivingInventory r where r.itemKey.item.id="+ik.getItem().getId()
|
||||
+" and r.itemKey.lotInfo.propC2='"+ik.getLotInfo().getPropC2()+"' "
|
||||
+" and r.location.id="+task.getSrcLoc().getId()+" and r.strBill1='"+sqr+"'"
|
||||
|
|
@ -4451,6 +4464,7 @@ public class DefaultPickTicketManager extends DefaultBaseManager implements Pick
|
|||
if(qty>=pickQty) {
|
||||
r.setShippedQuantity(r.getShippedQuantity()+pickQty);
|
||||
r.setPickDate(new Date());
|
||||
|
||||
commonDao.store(r);
|
||||
pickQty=0;
|
||||
}else {
|
||||
|
|
@ -7085,13 +7099,19 @@ public class DefaultPickTicketManager extends DefaultBaseManager implements Pick
|
|||
@Override
|
||||
public void updateWorker(long taskId, long workerId,String targetArea) {
|
||||
Task task = commonDao.load(Task.class, taskId);
|
||||
|
||||
if(workerId>0) {
|
||||
Worker w = commonDao.load(Worker.class, workerId);
|
||||
task.setWorker1(w);
|
||||
if(task.getAgvStatus()==0) {
|
||||
List<Task> tids=new ArrayList<Task>();
|
||||
tids.add(task);
|
||||
boolean SAPstatus= interfaceReqManager.wmsSapZhuantaihuichuang(tids, 0,"",1);//状态回传
|
||||
if(!SAPstatus) {
|
||||
task.setAgvStatus(1);
|
||||
}
|
||||
}
|
||||
}
|
||||
if(targetArea!=null&&targetArea.length()>0) {
|
||||
task.setEndRegion(targetArea);
|
||||
}
|
||||
|
|
@ -7705,7 +7725,7 @@ public class DefaultPickTicketManager extends DefaultBaseManager implements Pick
|
|||
Task task = EntityFactory.getEntity(Task.class);
|
||||
task.setPickTicketDetail(ptd);
|
||||
Item item=commonDao.load(Item.class, ptd.getItem().getId());
|
||||
task.setBillCode(getSubWorkOrer(ptd.getPickTicket().getCode(),inventory.getLocation().getZone(),item));
|
||||
task.setBillCode(getSubWorkOrer(ptd.getPickTicket().getId(),ptd.getPickTicket().getCode(),inventory.getLocation().getZone(),item));
|
||||
task.setCode(TimeNumberUtils.getTaskCode());
|
||||
task.setType(TaskType.MV_PICKTICKET);
|
||||
task.setItemKey(inventory.getItemKey());
|
||||
|
|
@ -7799,10 +7819,9 @@ public class DefaultPickTicketManager extends DefaultBaseManager implements Pick
|
|||
unQty -= allocateQty;
|
||||
ptd.setAllocatedQuantity(ptd.getAllocatedQuantity()+ allocateQty);
|
||||
commonDao.store(ptd);
|
||||
|
||||
Task task = EntityFactory.getEntity(Task.class);
|
||||
task.setPickTicketDetail(ptd);
|
||||
task.setBillCode(getSubWorkOrer(ptd.getPickTicket().getCode(),inventory.getLocation().getZone(),item));
|
||||
task.setBillCode(getSubWorkOrer(ptd.getPickTicket().getId(),ptd.getPickTicket().getCode(),inventory.getLocation().getZone(),item));
|
||||
|
||||
task.setCode(TimeNumberUtils.getTaskCode());
|
||||
task.setType(TaskType.MV_PICKTICKET);
|
||||
|
|
@ -8702,11 +8721,21 @@ public class DefaultPickTicketManager extends DefaultBaseManager implements Pick
|
|||
Integer lxqQty,Integer hjqQty,Integer lkqQty,boolean ddq,String pickCode,Integer taskqty,Integer logic) {
|
||||
WaveDoc waveDoc=EntityFactory.getEntity(WaveDoc.class);
|
||||
waveDoc.setCode(TimeNumberUtils.getwaveDocCode());
|
||||
if(WarehouseHolder.getWarehouse()!=null) {
|
||||
waveDoc.setWarehouse(WarehouseHolder.getWarehouse());
|
||||
}else {
|
||||
waveDoc.setWarehouse(commonDao.load(Warehouse.class, 1L));
|
||||
}
|
||||
|
||||
waveDoc.setStatus(WaveDocStatus.OPEN);
|
||||
waveDoc.setCreateDate(new Date());
|
||||
waveDoc.setQuantity(waveDoc.getQuantity());
|
||||
if(UserHolder.getUser()!=null) {
|
||||
waveDoc.setUserName(UserHolder.getUser().getName());
|
||||
}else {
|
||||
waveDoc.setUserName("自动");
|
||||
}
|
||||
|
||||
waveDoc.setUpdateTime(new Date());
|
||||
waveDoc.setBePopular(ddq);
|
||||
waveDoc.setLkqQty(lkqQty);
|
||||
|
|
@ -8754,11 +8783,20 @@ public class DefaultPickTicketManager extends DefaultBaseManager implements Pick
|
|||
Integer hjqQty,Integer lkqQty,boolean ddq,String pickCode,Integer taskqty,Integer logic) {
|
||||
WaveDoc waveDoc=EntityFactory.getEntity(WaveDoc.class);
|
||||
waveDoc.setCode(TimeNumberUtils.getwaveDocCode());
|
||||
if(WarehouseHolder.getWarehouse()!=null) {
|
||||
waveDoc.setWarehouse(WarehouseHolder.getWarehouse());
|
||||
}else {
|
||||
waveDoc.setWarehouse(commonDao.load(Warehouse.class, 1L));
|
||||
}
|
||||
|
||||
waveDoc.setStatus(WaveDocStatus.OPEN);
|
||||
waveDoc.setCreateDate(new Date());
|
||||
waveDoc.setQuantity(waveDoc.getQuantity());
|
||||
if(UserHolder.getUser()!=null) {
|
||||
waveDoc.setUserName(UserHolder.getUser().getName());
|
||||
}else {
|
||||
waveDoc.setUserName("系统自动");
|
||||
}
|
||||
waveDoc.setUpdateTime(new Date());
|
||||
waveDoc.setBePopular(ddq);
|
||||
waveDoc.setLkqQty(lkqQty);
|
||||
|
|
|
|||
|
|
@ -5,6 +5,9 @@ import org.apache.log4j.Logger;
|
|||
import java.math.BigInteger;
|
||||
import java.text.ParseException;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.time.DayOfWeek;
|
||||
import java.time.LocalDate;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.Collections;
|
||||
|
|
@ -54,6 +57,7 @@ import com.dev.swms.server.model.rules.CompanyWorkRule;
|
|||
import com.dev.swms.server.model.rules.SortRule;
|
||||
import com.dev.swms.server.model.rules.WaveRule;
|
||||
import com.dev.swms.server.model.rules.WorkModel;
|
||||
import com.dev.swms.server.model.shipping.AutomaticWaveDoc;
|
||||
import com.dev.swms.server.model.shipping.CageInfo;
|
||||
import com.dev.swms.server.model.shipping.PickTicket;
|
||||
import com.dev.swms.server.model.shipping.PickTicketDetail;
|
||||
|
|
@ -68,6 +72,7 @@ import com.dev.swms.server.service.interfaceLog.JdbcManager;
|
|||
import com.dev.swms.server.service.inventory.InventoryManager;
|
||||
import com.dev.swms.server.service.picking.allocate.AutoAllocator;
|
||||
import com.dev.swms.server.service.sequence.BussinessCodeManager;
|
||||
import com.dev.swms.server.service.shipping.NewWaveManager;
|
||||
import com.dev.swms.server.service.shipping.PickTicketManager;
|
||||
import com.dev.swms.server.service.shipping.WaveDocManager;
|
||||
import com.dev.swms.server.utils.DateUtil;
|
||||
|
|
@ -94,16 +99,19 @@ public class DefaultWaveDocManager extends DefaultBaseManager implements
|
|||
protected final ItemManager itemManager;
|
||||
protected final BussinessCodeManager bussinessCodeManager;
|
||||
protected final JdbcManager jdbcManager;
|
||||
protected final NewWaveManager newWaveManager;
|
||||
protected static Date hotWaveDate=new Date();//波次创建,判断不能同时新建
|
||||
protected static boolean hotWave=true;//波次创建,判断不能同时新建
|
||||
public DefaultWaveDocManager(PickTicketManager pickTicketManager, AutoAllocator autoAllocator,
|
||||
InventoryManager inventoryManager, ItemManager itemManager,BussinessCodeManager bussinessCodeManager,JdbcManager jdbcManager) {
|
||||
InventoryManager inventoryManager, ItemManager itemManager,
|
||||
BussinessCodeManager bussinessCodeManager,JdbcManager jdbcManager,NewWaveManager newWaveManager) {
|
||||
this.pickTicketManager = pickTicketManager;
|
||||
this.autoAllocator = autoAllocator;
|
||||
this.inventoryManager = inventoryManager;
|
||||
this.itemManager=itemManager;
|
||||
this.bussinessCodeManager = bussinessCodeManager;
|
||||
this.jdbcManager = jdbcManager;
|
||||
this.newWaveManager = newWaveManager;
|
||||
}
|
||||
@SuppressWarnings("unchecked")
|
||||
public void createWaveDoc() {
|
||||
|
|
@ -2712,7 +2720,7 @@ public class DefaultWaveDocManager extends DefaultBaseManager implements
|
|||
|
||||
}
|
||||
|
||||
public void newHotWaveDoc(Date date1,Date date2 ,Integer longtiem,Integer lxqQty,Integer hjqQty,Integer lkqQty,boolean ddq,String pickCode
|
||||
public WaveDoc newHotWaveDoc(Date date1,Date date2 ,Integer longtiem,Integer lxqQty,Integer hjqQty,Integer lkqQty,boolean ddq,String pickCode
|
||||
,boolean ddq1,boolean ddq2,boolean ddq3,boolean ddq4,boolean ddq5,boolean ddq6,boolean ddq7,boolean ddq8,boolean ddq9,Integer taskQty,boolean beUrgent) {
|
||||
|
||||
Date date=new Date();
|
||||
|
|
@ -2947,6 +2955,8 @@ public class DefaultWaveDocManager extends DefaultBaseManager implements
|
|||
}
|
||||
hotWave=true;
|
||||
hotWaveDate=DateUtil.formatStrToDateYMD("2023-02-02");
|
||||
return waveDoc;
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -4208,4 +4218,110 @@ public class DefaultWaveDocManager extends DefaultBaseManager implements
|
|||
autoAllocator.initiandcallAGV(waveDocId, lxq, hjq, lkq);//任务分配工作站
|
||||
}
|
||||
}
|
||||
|
||||
public void newAutomaticWaveDoc() {
|
||||
// 获取当前日期
|
||||
LocalDate today = LocalDate.now();
|
||||
// 获取当前是周几
|
||||
DayOfWeek dayOfWeek = today.getDayOfWeek();
|
||||
if (dayOfWeek != DayOfWeek.SATURDAY && dayOfWeek != DayOfWeek.SUNDAY) {
|
||||
System.out.println("今天是工作日,执行任务...");
|
||||
Date date=new Date();
|
||||
// 格式化时间
|
||||
SimpleDateFormat hms = new SimpleDateFormat("HH:mm");
|
||||
String s=hms.format(date);
|
||||
logger.info("------自动创建波次------"+s);
|
||||
String hql=" from AutomaticWaveDoc aw where aw.beEnabled1=true order by aw.hour1 ";
|
||||
List<AutomaticWaveDoc> list=commonDao.findByQuery(hql);
|
||||
if(list.size()>0) {
|
||||
for(AutomaticWaveDoc aw:list) {
|
||||
String htiem="";
|
||||
if(aw.getHour1()<10) {
|
||||
htiem="0"+aw.getHour1();
|
||||
}else {
|
||||
htiem=""+aw.getHour1();
|
||||
}
|
||||
if(aw.getMinute1()<10) {
|
||||
htiem=htiem+":0"+aw.getMinute1();
|
||||
}else {
|
||||
htiem=htiem+":"+aw.getMinute1();
|
||||
}
|
||||
logger.info("------自动创建波次2----------------------"+htiem);
|
||||
if(s.equals(htiem)) {
|
||||
//查询料箱区还有多少任务未执行,超过300就不创建波次
|
||||
String hqlhs=" select t.id from Task t where t.srcLoc.zone.id=1763 "
|
||||
+ " and t.planQuantity>0 and t.movedQuantityMU=0"
|
||||
+ " and t.agvStatus='1' ";
|
||||
List<Long> tasklist= commonDao.findByQuery(hqlhs);
|
||||
logger.info("------自动创建波次2----------------------"+tasklist.size());
|
||||
if(tasklist.size()<=300) {
|
||||
// 格式化时间
|
||||
SimpleDateFormat yms = new SimpleDateFormat("yyyy-MM-dd");
|
||||
Date date1=new Date();
|
||||
Date date2= new Date();
|
||||
try {
|
||||
date1 = yms.parse("2025-01-01");
|
||||
date2=yms.parse("2025-12-31");
|
||||
} catch (ParseException e) {
|
||||
// TODO 自动生成的 catch 块
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
Integer lxqQty=10;
|
||||
Integer longtiem=2;
|
||||
Integer hjqQty=2;
|
||||
Integer lkqQty=1;
|
||||
Integer taskqty=30;
|
||||
//创建波次
|
||||
hotWaveDoc( date1, date2 , lxqQty, longtiem, hjqQty, lkqQty,true,null
|
||||
,true,true,true,true,true,true,true,true,true, taskqty,false);
|
||||
String wahql="select id from WaveDoc w where w.status='OPEN' "
|
||||
+ " and w.userName='自动' order by id desc ";
|
||||
logger.info("------自动创建波次3----------------------");
|
||||
|
||||
List<Long> wids= commonDao.findByQuery(wahql);
|
||||
if(wids.size()>0) {
|
||||
long waveDocId=wids.get(0);
|
||||
boolean lx1=false;boolean lx2=true;
|
||||
boolean lx3=true;boolean lx4=true;
|
||||
boolean lx5=true;boolean lx6=true;
|
||||
boolean lx7=true;boolean lx8=true;
|
||||
boolean lx9=true;boolean lx10=true;
|
||||
boolean lx11=true;
|
||||
boolean lx12=true;boolean lx13=false;
|
||||
boolean lx14=false;boolean lx15=false;
|
||||
boolean hj1=false;boolean hj2=false;
|
||||
boolean hj3=true; boolean hj4=true;
|
||||
boolean hj5=false;boolean hj6=false;boolean hj7=false;
|
||||
boolean lk1=false;boolean lk2=true;boolean lk3=false;
|
||||
boolean lk4=false;boolean lk5=false;
|
||||
logger.info("------自动创建波次4---------------------");
|
||||
//是否下发CRS
|
||||
if(aw.getBeEnabled2()) {
|
||||
//分配工作站
|
||||
newWaveManager.alloteWaveDoc( waveDocId, lx1, lx2, lx3,
|
||||
lx4, lx5, lx6, lx7, lx8,
|
||||
lx9, lx10, lx11, lx12, lx13,
|
||||
lx14, lx15, hj1, hj2, hj3,
|
||||
hj4, hj5, hj6, hj7, lk1,
|
||||
lk2, lk3, lk4, lk5);
|
||||
List<Long> swids=new ArrayList<Long>();
|
||||
swids.add(waveDocId);
|
||||
logger.info("------自动创建波次5---------------------");
|
||||
autoAllocator.taskIssuedAgv(swids);//下发
|
||||
}
|
||||
logger.info("------自动创建波次6----------------------");
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
} else {
|
||||
System.out.println("今天是周末,不执行任务。");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1058,9 +1058,14 @@ public class ASNReceiveServlet extends HttpServlet {
|
|||
if(ASNDetails.size()>0){
|
||||
ASNDetail ad=ASNDetails.get(0);
|
||||
ASN asn=commonDao.load(ASN.class, ad.getAsn().getId());
|
||||
BillType bt=commonDao.load(BillType.class, asn.getBillType().getId());
|
||||
// BillType bt=commonDao.load(BillType.class, asn.getBillType().getId());
|
||||
Item item=commonDao.load(Item.class, ad.getItem().getId());
|
||||
if(!bt.getName().equals("移位单")&&!bt.getName().equals("转库单")) {
|
||||
if(asn.getSourceType()!=null&&!asn.getSourceType().equals("531")
|
||||
&&!asn.getSourceType().equals("Z66")
|
||||
&&!asn.getSourceType().equals("301")
|
||||
&&!asn.getSourceType().equals("311")
|
||||
&&!asn.getSourceType().equals("542")
|
||||
&&!asn.getSourceType().equals("315")) {
|
||||
if(item.getVolume()<=0) {
|
||||
status = "2";
|
||||
msg = "料号没测量,请先测量! ";
|
||||
|
|
@ -1138,7 +1143,6 @@ public class ASNReceiveServlet extends HttpServlet {
|
|||
}
|
||||
|
||||
}else{
|
||||
// logger.info(asnDetailId+"--整理1--+"+new Date());
|
||||
Worker w= commonDao.load(Worker.class, userId);
|
||||
List<String> result = Arrays.asList(asnDetailId.split(","));
|
||||
double quantity=0;
|
||||
|
|
@ -1152,8 +1156,12 @@ public class ASNReceiveServlet extends HttpServlet {
|
|||
sqt=ad.getLotInfo().getPropC2();
|
||||
}
|
||||
ASN asn=commonDao.load(ASN.class, ad.getAsn().getId());
|
||||
BillType bt=commonDao.load(BillType.class, asn.getBillType().getId());
|
||||
if(!bt.getName().equals("移位单")&&!bt.getName().equals("转库单")) {
|
||||
if(asn.getSourceType()!=null&&!asn.getSourceType().equals("531")
|
||||
&&!asn.getSourceType().equals("Z66")
|
||||
&&!asn.getSourceType().equals("301")
|
||||
&&!asn.getSourceType().equals("311")
|
||||
&&!asn.getSourceType().equals("542")
|
||||
&&!asn.getSourceType().equals("315")) {
|
||||
if(item.getVolume()<=0) {
|
||||
status = "2";
|
||||
msg = item.getCode()+"料号没测量,请先测量! ";
|
||||
|
|
@ -1678,6 +1686,9 @@ public class ASNReceiveServlet extends HttpServlet {
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
//不良品LOC查询判断
|
||||
/**2025-09-23注释
|
||||
if(ncrCode!=null&&!ncrCode.equals("")) {
|
||||
List<Inventory> Inventorys=commonDao.findByQuery(" from Inventory inv where inv.id in ("+invIds.toString()+") ");
|
||||
ItemKey ik=null;
|
||||
|
|
@ -1719,8 +1730,6 @@ public class ASNReceiveServlet extends HttpServlet {
|
|||
String wsql="select sum(r.receivedQuantity-r.shippedQuantity) from ReceivingInventory r where r.itemKey.item.id= "
|
||||
+ ik.getItem().getId()+" and r.location.id="+lc.getId()
|
||||
+" and r.strBill1='"+ncrCode+"' and r.receivedQuantity>r.shippedQuantity ";
|
||||
|
||||
|
||||
List<Double> rdsqty=commonDao.findByQuery(wsql);
|
||||
if(rdsqty.size()>0) {
|
||||
double qys=rdsqty.get(0);
|
||||
|
|
@ -1736,6 +1745,7 @@ public class ASNReceiveServlet extends HttpServlet {
|
|||
|
||||
}
|
||||
}
|
||||
*/
|
||||
}
|
||||
if (flag==1) {
|
||||
if(serials!=null&&serials.length()>0){
|
||||
|
|
@ -1777,7 +1787,7 @@ public class ASNReceiveServlet extends HttpServlet {
|
|||
}
|
||||
InventoryManager inventoryManager = (InventoryManager) ac.getBean("inventoryManager");
|
||||
|
||||
inventoryManager.manualMove(inv.getId(), locId, inv.getQuantity()-inv.getQueuedQuantity(), userId);
|
||||
inventoryManager.manualMove(inv.getId(), locId, inv.getQuantity()-inv.getQueuedQuantity(), userId,ncrCode);
|
||||
|
||||
if(inv.getStatus()!=null&&inv.getStatus().equals("整理中")) {
|
||||
try {
|
||||
|
|
@ -1812,6 +1822,8 @@ public class ASNReceiveServlet extends HttpServlet {
|
|||
msg=serial+"不在这个库位上";
|
||||
}
|
||||
}
|
||||
/**2025-09-23注释
|
||||
//不良品移位
|
||||
if(status.equals("1")&&ncrCode!=null&&!ncrCode.equals("")) {
|
||||
for(String serial:result){
|
||||
String wsql=" from ReceivingInventory r where r.itemKey.item.id= "
|
||||
|
|
@ -1827,7 +1839,7 @@ public class ASNReceiveServlet extends HttpServlet {
|
|||
}
|
||||
|
||||
}
|
||||
|
||||
*/
|
||||
|
||||
}else{
|
||||
double Qty=0;
|
||||
|
|
@ -1839,7 +1851,7 @@ public class ASNReceiveServlet extends HttpServlet {
|
|||
List<Inventory> Inventorys2=commonDao.findByQuery(" from Inventory inv where inv.location.id = "+invs.getLocation().getId()+" and inv.quantity>0 ");
|
||||
for(Inventory insdt:Inventorys2) {
|
||||
InventoryManager inventoryManager = (InventoryManager) ac.getBean("inventoryManager");
|
||||
inventoryManager.manualMove(insdt.getId(), locId, insdt.getQuantity()-insdt.getQueuedQuantity(), userId);
|
||||
inventoryManager.manualMove(insdt.getId(), locId, insdt.getQuantity()-insdt.getQueuedQuantity(), userId,ncrCode);
|
||||
status="1";
|
||||
msg="操作成功!";
|
||||
}
|
||||
|
|
@ -1888,7 +1900,7 @@ public class ASNReceiveServlet extends HttpServlet {
|
|||
}
|
||||
}
|
||||
InventoryManager inventoryManager = (InventoryManager) ac.getBean("inventoryManager");
|
||||
inventoryManager.manualMove(inv.getId(), locId, inv.getQuantity()-inv.getQueuedQuantity(), userId);
|
||||
inventoryManager.manualMove(inv.getId(), locId, inv.getQuantity()-inv.getQueuedQuantity(), userId,ncrCode);
|
||||
if(inv.getStatus()!=null&&inv.getStatus().equals("整理中")) {
|
||||
try {
|
||||
//刷新新的容器库位
|
||||
|
|
@ -1945,7 +1957,7 @@ public class ASNReceiveServlet extends HttpServlet {
|
|||
}
|
||||
InventoryManager inventoryManager = (InventoryManager) ac.getBean("inventoryManager");
|
||||
|
||||
inventoryManager.manualMove(inv.getId(), locId,qty1, userId);
|
||||
inventoryManager.manualMove(inv.getId(), locId,qty1, userId,ncrCode);
|
||||
|
||||
if(inv.getStatus()!=null&&inv.getStatus().equals("整理中")) {
|
||||
try {
|
||||
|
|
@ -1981,6 +1993,9 @@ public class ASNReceiveServlet extends HttpServlet {
|
|||
|
||||
}
|
||||
}
|
||||
|
||||
//不良品移位
|
||||
/**2025-09-23注释
|
||||
if(status.equals("1")&&ncrCode!=null&&!ncrCode.equals("")) {
|
||||
String wsql=" from ReceivingInventory r where r.itemKey.item.id= "
|
||||
+ ik1.getItem().getId()+" and r.location.id="+lc1.getId()
|
||||
|
|
@ -2011,12 +2026,9 @@ public class ASNReceiveServlet extends HttpServlet {
|
|||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
*/
|
||||
|
||||
}else{
|
||||
msg="未找到相应记录!";
|
||||
|
|
@ -2333,7 +2345,13 @@ public class ASNReceiveServlet extends HttpServlet {
|
|||
WarehouseArea zone=commonDao.load(WarehouseArea.class, srcLoc.getZone().getId());
|
||||
ItemKey ik=commonDao.load(ItemKey.class, task.getItemKey().getId());
|
||||
Item item=commonDao.load(Item.class, ik.getItem().getId());
|
||||
|
||||
List<String> socode=commonDao.findByQuery("select p.code from PlantLocation p where p.beRegister=1 ");
|
||||
if(ik.getLotInfo().getPropC2()!=null
|
||||
&&socode.contains(ik.getLotInfo().getPropC2())) {
|
||||
status="0";
|
||||
msg=ik.getLotInfo().getPropC2()+"不能换库位拣货";
|
||||
break;
|
||||
}
|
||||
Inventory inv=commonDao.load(Inventory.class, invId);
|
||||
Location invLoc=commonDao.load(Location.class, inv.getLocation().getId());
|
||||
WarehouseArea invzone=commonDao.load(WarehouseArea.class, invLoc.getZone().getId());
|
||||
|
|
|
|||
|
|
@ -414,13 +414,14 @@ public class PickingServlet extends HttpServlet {
|
|||
JSONArray array=new JSONArray();
|
||||
String status = "0";
|
||||
String msg = "";
|
||||
String data = "";
|
||||
String data = "[]";
|
||||
try {
|
||||
if (userId > 0) {
|
||||
if (warehouseId > 0) {
|
||||
// List<String> result = Arrays.asList(taskIds.split(","));
|
||||
|
||||
String sql="select t.pickTicketDetail.strBill14 from Task t where t.id in("+taskIds+")"
|
||||
String sql="select t.barCode from "
|
||||
+ " Task t where t.id in("+taskIds+") and t.pickTicketDetail.strBill15='1' "
|
||||
+ " ";
|
||||
List<String> ts=commonDao.findByQuery(sql);
|
||||
if(ts.size()>0) {
|
||||
|
|
@ -438,7 +439,7 @@ public class PickingServlet extends HttpServlet {
|
|||
|
||||
}else {
|
||||
msg="";
|
||||
status="0";
|
||||
status="1";
|
||||
}
|
||||
} else {
|
||||
msg = "无仓库信息!";
|
||||
|
|
|
|||
|
|
@ -1232,4 +1232,9 @@
|
|||
<value>com/dev/swms/server/model/base/materialFactory.hbm.xml</value>
|
||||
</constructor-arg>
|
||||
</bean>
|
||||
<bean id="automaticWaveDocHibernateMappingResource" class="com.dev.energy.server.dao.hibernate.HibernateMappingResource">
|
||||
<constructor-arg>
|
||||
<value>com/dev/swms/server/model/shipping/automaticWaveDoc.hbm.xml</value>
|
||||
</constructor-arg>
|
||||
</bean>
|
||||
</beans>
|
||||
|
|
@ -578,6 +578,9 @@
|
|||
<constructor-arg index="5">
|
||||
<ref bean="jdbcManager" />
|
||||
</constructor-arg>
|
||||
<constructor-arg index="6">
|
||||
<ref bean="newWaveManager" />
|
||||
</constructor-arg>
|
||||
</bean>
|
||||
</property>
|
||||
</bean>
|
||||
|
|
|
|||
|
|
@ -230,14 +230,14 @@ t.CREATE_TIME<'2025-04-01' AND
|
|||
t.MOVED_QUANTITY_MU>0
|
||||
GROUP BY i.id)
|
||||
|
||||
|
||||
update ITEM set SALE_TIME =(select count(DISTINCT t.BILLCODE+lc.CODE+i.CODE)
|
||||
//刷新热度值
|
||||
update ITEM set heat_Six_Months =(select count(DISTINCT t.BILLCODE+lc.CODE+i.CODE)
|
||||
from task t
|
||||
left join ITEM_KEY ik on ik.id=t.ITEM_KEY_ID
|
||||
left join item i on i.id=ik.ITEM_ID
|
||||
left join LOCATION lc on lc.id=t.SRC_LOC_ID
|
||||
where t.CREATE_TIME>='2025-06-01' AND
|
||||
t.CREATE_TIME<'2025-07-01' AND ITEM.id=i.id and
|
||||
where t.operate_TIME>='2025-03-01' AND
|
||||
t.operate_TIME<'2025-09-01' AND ITEM.id=i.id and
|
||||
t.MOVED_QUANTITY_MU>0 and t.TYPE='MV_PICKTICKET'
|
||||
GROUP BY i.id)
|
||||
|
||||
|
|
@ -245,12 +245,19 @@ where ITEM.id in(select i1.id
|
|||
from task t1
|
||||
left join ITEM_KEY ik1 on ik1.id=t1.ITEM_KEY_ID
|
||||
left join item i1 on i1.id=ik1.ITEM_ID
|
||||
where t1.CREATE_TIME>='2025-06-01' AND
|
||||
t1.CREATE_TIME<'2025-07-01' AND
|
||||
where t1.operate_TIME>='2025-03-01' AND
|
||||
t1.operate_TIME<'2025-09-01' AND
|
||||
t1.MOVED_QUANTITY_MU>0 and t1.TYPE='MV_PICKTICKET'
|
||||
GROUP BY i1.id);
|
||||
|
||||
update ITEM set SALE_TIME=1 where SALE_TIME is null;
|
||||
|
||||
UPDATE ITEM SET SALE_TIME=1 WHERE heat_Six_Months IS NULL;
|
||||
GO
|
||||
UPDATE ITEM SET heat_Three_Months=1 WHERE heat_Three_Months IS NULL;
|
||||
GO
|
||||
UPDATE ITEM SET heat_Six_Months=1 WHERE heat_Six_Months IS NULL;
|
||||
|
||||
|
||||
|
||||
|
||||
------20250709更新工厂序列号表
|
||||
|
|
@ -555,7 +562,7 @@ item.volume as 体积 ,
|
|||
left join position p on p.id=item.POSITION_ID
|
||||
|
||||
---------------2025-08-30
|
||||
ALTER TABLE Receiving_Inventory add pick_Date DATE NULL;
|
||||
ALTER TABLE Receiving_Inventory add pick_Date datetime NULL;
|
||||
GO
|
||||
|
||||
|
||||
|
|
@ -566,3 +573,52 @@ update item set volume=0 where volume>0 and be_Image_File=0;
|
|||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
----------2025-09-10
|
||||
CREATE TABLE [dbo].[Automatic_Wave_Doc] (
|
||||
[ID] numeric(19) IDENTITY(1,1) NOT NULL,
|
||||
[hour1] int NULL,
|
||||
[minute1] int NULL,
|
||||
[be_Enabled1] tinyint NULL,
|
||||
[hour2] int NULL,
|
||||
[minute2] int NULL,
|
||||
[be_Enabled2] tinyint NULL,
|
||||
[hour3] int NULL,
|
||||
[minute3] int NULL,
|
||||
[be_Enabled3] tinyint NULL,
|
||||
[hour4] int NULL,
|
||||
[minute4] int NULL,
|
||||
[be_Enabled4] tinyint NULL,
|
||||
[hour5] int NULL,
|
||||
[minute5] int NULL,
|
||||
[be_Enabled5] tinyint NULL,
|
||||
[hour6] int NULL,
|
||||
[minute6] int NULL,
|
||||
[be_Enabled6] tinyint NULL,
|
||||
[hour7] int NULL,
|
||||
[minute7] int NULL,
|
||||
[be_Enabled7] tinyint NULL,
|
||||
[hour8] int NULL,
|
||||
[minute8] int NULL,
|
||||
[be_Enabled8] tinyint NULL,
|
||||
[hour9] int NULL,
|
||||
[minute9] int NULL,
|
||||
[be_Enabled9] tinyint NULL,
|
||||
[hour10] int NULL,
|
||||
[minute10] int NULL,
|
||||
[be_Enabled10] tinyint NULL,
|
||||
CONSTRAINT [PK__Automati__3214EC27832C79F0] PRIMARY KEY CLUSTERED ([ID])
|
||||
WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)
|
||||
ON [PRIMARY]
|
||||
)
|
||||
ON [PRIMARY]
|
||||
GO
|
||||
|
||||
ALTER TABLE [dbo].[Automatic_Wave_Doc] SET (LOCK_ESCALATION = TABLE)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,110 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<pages>
|
||||
<editPage id="editAutomaticWaveDocPage" title="波次执行时间"
|
||||
entityClass="com.dev.swms.server.model.shipping.AutomaticWaveDoc" width="500"
|
||||
height="310">
|
||||
<inputUIs>
|
||||
<hidden id="aw.id" reserve="false" />
|
||||
<text id="aw.hour1" title="时间(时)" row="1" col="1" width="73"
|
||||
readOnly="false" required="true" reserve="false" forceOverride="false"
|
||||
inVisible="false" length="100" trimSpace="true" isPrecision="true" />
|
||||
<text id="aw.minute1" title="时间(分)" row="1" col="2" width="73"
|
||||
readOnly="false" required="true" reserve="false" forceOverride="false"
|
||||
inVisible="false" length="100" trimSpace="true" isPrecision="true" />
|
||||
<checkbox id="aw.beEnabled1" title="是否开启" row="1" col="3" defaultValue="false"
|
||||
span="1" readOnly="false" required="false" reserve="false" forceOverride="true" inVisible="false" />
|
||||
<checkbox id="aw.beEnabled2" title="是否下发RCS" row="1" col="3" defaultValue="false"
|
||||
span="1" readOnly="false" required="false" reserve="false" forceOverride="true" inVisible="false" />
|
||||
<!-- <text id="aw.hour2" title="时间(时)" row="2" col="1" width="173" -->
|
||||
<!-- readOnly="false" required="true" reserve="false" forceOverride="false" -->
|
||||
<!-- inVisible="false" length="100" trimSpace="true" isPrecision="true" /> -->
|
||||
<!-- <text id="aw.minute2" title="时间(分)" row="2" col="2" width="173" -->
|
||||
<!-- readOnly="false" required="true" reserve="false" forceOverride="false" -->
|
||||
<!-- inVisible="false" length="100" trimSpace="true" isPrecision="true" /> -->
|
||||
<!-- <checkbox id="aw.beEnabled2" title="是否开启" row="2" col="3" defaultValue="false" -->
|
||||
<!-- span="1" readOnly="false" required="false" reserve="false" forceOverride="true" inVisible="false" /> -->
|
||||
<!-- <text id="aw.hour3" title="时间(时)" row="3" col="1" width="173" -->
|
||||
<!-- readOnly="false" required="true" reserve="false" forceOverride="false" -->
|
||||
<!-- inVisible="false" length="100" trimSpace="true" isPrecision="true" /> -->
|
||||
<!-- <text id="aw.minute3" title="时间(分)" row="3" col="2" width="173" -->
|
||||
<!-- readOnly="false" required="true" reserve="false" forceOverride="false" -->
|
||||
<!-- inVisible="false" length="100" trimSpace="true" isPrecision="true" /> -->
|
||||
<!-- <checkbox id="aw.beEnabled3" title="是否开启" row="3" col="3" defaultValue="false" -->
|
||||
<!-- span="1" readOnly="false" required="false" reserve="false" forceOverride="true" inVisible="false" /> -->
|
||||
<!-- <text id="aw.hour4" title="时间(时)" row="4" col="1" width="173" -->
|
||||
<!-- readOnly="false" required="true" reserve="false" forceOverride="false" -->
|
||||
<!-- inVisible="false" length="100" trimSpace="true" isPrecision="true" /> -->
|
||||
<!-- <text id="aw.minute4" title="时间(分)" row="4" col="2" width="173" -->
|
||||
<!-- readOnly="false" required="true" reserve="false" forceOverride="false" -->
|
||||
<!-- inVisible="false" length="100" trimSpace="true" isPrecision="true" /> -->
|
||||
<!-- <checkbox id="aw.beEnabled4" title="是否开启" row="4" col="3" defaultValue="false" -->
|
||||
<!-- span="1" readOnly="false" required="false" reserve="false" forceOverride="true" inVisible="false" /> -->
|
||||
<!-- <text id="aw.hour5" title="时间(时)" row="5" col="1" width="173" -->
|
||||
<!-- readOnly="false" required="true" reserve="false" forceOverride="false" -->
|
||||
<!-- inVisible="false" length="100" trimSpace="true" isPrecision="true" /> -->
|
||||
<!-- <text id="aw.minute5" title="时间(分)" row="5" col="2" width="173" -->
|
||||
<!-- readOnly="false" required="true" reserve="false" forceOverride="false" -->
|
||||
<!-- inVisible="false" length="100" trimSpace="true" isPrecision="true" /> -->
|
||||
<!-- <checkbox id="aw.beEnabled5" title="是否开启" row="5" col="3" defaultValue="false" -->
|
||||
<!-- span="1" readOnly="false" required="false" reserve="false" forceOverride="true" inVisible="false" /> -->
|
||||
<!-- <text id="aw.hour6" title="时间(时)" row="6" col="1" width="173" -->
|
||||
<!-- readOnly="false" required="true" reserve="false" forceOverride="false" -->
|
||||
<!-- inVisible="false" length="100" trimSpace="true" isPrecision="true" /> -->
|
||||
<!-- <text id="aw.minute6" title="时间(分)" row="6" col="2" width="173" -->
|
||||
<!-- readOnly="false" required="true" reserve="false" forceOverride="false" -->
|
||||
<!-- inVisible="false" length="100" trimSpace="true" isPrecision="true" /> -->
|
||||
<!-- <checkbox id="aw.beEnabled6" title="是否开启" row="6" col="3" defaultValue="false" -->
|
||||
<!-- span="1" readOnly="false" required="false" reserve="false" forceOverride="true" inVisible="false" /> -->
|
||||
<!-- <text id="aw.hour7" title="时间(时)" row="7" col="1" width="173" -->
|
||||
<!-- readOnly="false" required="true" reserve="false" forceOverride="false" -->
|
||||
<!-- inVisible="false" length="100" trimSpace="true" isPrecision="true" /> -->
|
||||
<!-- <text id="aw.minute7" title="时间(分)" row="7" col="2" width="173" -->
|
||||
<!-- readOnly="false" required="true" reserve="false" forceOverride="false" -->
|
||||
<!-- inVisible="false" length="100" trimSpace="true" isPrecision="true" /> -->
|
||||
<!-- <checkbox id="aw.beEnabled7" title="是否开启" row="7" col="3" defaultValue="false" -->
|
||||
<!-- span="1" readOnly="false" required="false" reserve="false" forceOverride="true" inVisible="false" /> -->
|
||||
<!-- <text id="aw.hour8" title="时间(时)" row="8" col="1" width="173" -->
|
||||
<!-- readOnly="false" required="true" reserve="false" forceOverride="false" -->
|
||||
<!-- inVisible="false" length="100" trimSpace="true" isPrecision="true" /> -->
|
||||
<!-- <text id="aw.minute8" title="时间(分)" row="8" col="2" width="173" -->
|
||||
<!-- readOnly="false" required="true" reserve="false" forceOverride="false" -->
|
||||
<!-- inVisible="false" length="100" trimSpace="true" isPrecision="true" /> -->
|
||||
<!-- <checkbox id="aw.beEnabled8" title="是否开启" row="8" col="3" defaultValue="false" -->
|
||||
<!-- span="1" readOnly="false" required="false" reserve="false" forceOverride="true" inVisible="false" /> -->
|
||||
<!-- <text id="aw.hour9" title="时间(时)" row="9" col="1" width="173" -->
|
||||
<!-- readOnly="false" required="true" reserve="false" forceOverride="false" -->
|
||||
<!-- inVisible="false" length="100" trimSpace="true" isPrecision="true" /> -->
|
||||
<!-- <text id="aw.minute9" title="时间(分)" row="9" col="2" width="173" -->
|
||||
<!-- readOnly="false" required="true" reserve="false" forceOverride="false" -->
|
||||
<!-- inVisible="false" length="100" trimSpace="true" isPrecision="true" /> -->
|
||||
<!-- <checkbox id="aw.beEnabled9" title="是否开启" row="9" col="3" defaultValue="false" -->
|
||||
<!-- span="1" readOnly="false" required="false" reserve="false" forceOverride="true" inVisible="false" /> -->
|
||||
<!-- <text id="aw.hour10" title="时间(时)" row="10" col="1" width="173" -->
|
||||
<!-- readOnly="false" required="true" reserve="false" forceOverride="false" -->
|
||||
<!-- inVisible="false" length="100" trimSpace="true" isPrecision="true" /> -->
|
||||
<!-- <text id="aw.minute10" title="时间(分)" row="10" col="2" width="173" -->
|
||||
<!-- readOnly="false" required="true" reserve="false" forceOverride="false" -->
|
||||
<!-- inVisible="false" length="100" trimSpace="true" isPrecision="true" /> -->
|
||||
<!-- <checkbox id="aw.beEnabled10" title="是否开启" row="10" col="3" defaultValue="false" -->
|
||||
<!-- span="1" readOnly="false" required="false" reserve="false" forceOverride="true" inVisible="false" /> -->
|
||||
|
||||
</inputUIs>
|
||||
<buttons>
|
||||
<commit id="save" title="save" enableType="none" invisible="false">
|
||||
<mappings>
|
||||
<mapping id="wa" className="com.dev.swms.server.model.shipping.AutomaticWaveDoc" />
|
||||
</mappings>
|
||||
<actions>
|
||||
<action managerName="shiXiaoManager" methodName="addAutomaticWaveDoc"
|
||||
parameter="wa" />
|
||||
</actions>
|
||||
<forwards>
|
||||
<forward name="refreshParent" newEnabled="true"
|
||||
editEnabled="true" />
|
||||
<forward name="resetWindow" newEnabled="true" editEnabled="false" />
|
||||
</forwards>
|
||||
</commit>
|
||||
</buttons>
|
||||
</editPage>
|
||||
</pages>
|
||||
|
|
@ -0,0 +1,132 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<pages>
|
||||
<maintainPage id="maintainAutomaticWaveDocPage" title="波次执行时间" autoQuery="false">
|
||||
<search>
|
||||
<inputUIs>
|
||||
<!-- <list id="shixiao.locationStorage.id" title="工作站" row="0" col="1"
|
||||
span="1" width="120" readOnly="false" required="false" reserve="false" forceOverride="true"
|
||||
> <hql><![CDATA[select locationStorage.id, locationStorage.name from LocationStorage
|
||||
locationStorage where 1=1 ]]></hql> </list> -->
|
||||
</inputUIs>
|
||||
|
||||
</search>
|
||||
<datasource type="hql"><![CDATA[ SELECT
|
||||
aw.id,
|
||||
aw.hour1,
|
||||
aw.minute1,
|
||||
aw.beEnabled1,
|
||||
aw.beEnabled2
|
||||
|
||||
FROM AutomaticWaveDoc aw
|
||||
where 1=1
|
||||
/~shixiao.warehouseArea.id: and warehouseArea.id = {shixiao.warehouseArea.id} ~/
|
||||
/~shixiao.disabled: and shixiao.disabled = {shixiao.disabled} ~/
|
||||
/~shixiao.locationStorage.id : and locationStorage.id = {shixiao.locationStorage.id}~/
|
||||
order by aw.hour1 ]]></datasource>
|
||||
<columns>
|
||||
<column id="aw.id" title="序号" visible="false"
|
||||
horizonAlign="center" verticalAlign="middle" />
|
||||
<!-- <column id="locationStorage.name" title="工作站号" visible="true" width="120"
|
||||
horizonAlign="center" /> -->
|
||||
<column id="aw.hour1" title="时间(时)" visible="true" width="70"
|
||||
horizonAlign="center" />
|
||||
<column id="aw.minute1" title="时间(分)" visible="true" width="80"
|
||||
horizonAlign="center" verticalAlign="middle" />
|
||||
<column id="aw.beEnabled1" title="是否开启" visible="true"
|
||||
width="80" horizonAlign="center" verticalAlign="middle"
|
||||
format="booleanFormat" formatParam="disabled" />
|
||||
<column id="aw.beEnabled2" title="是否下发RCS" visible="true"
|
||||
width="80" horizonAlign="center" verticalAlign="middle"
|
||||
format="booleanFormat" formatParam="disabled" />
|
||||
<!-- <column id="aw.hour2" title="2阶段时间(时)" visible="true" width="70" -->
|
||||
<!-- horizonAlign="center" /> -->
|
||||
<!-- <column id="aw.minute2" title="2阶段时间(分)" visible="true" width="80" -->
|
||||
<!-- horizonAlign="center" verticalAlign="middle" /> -->
|
||||
<!-- <column id="aw.beEnabled2" title="2阶是否开启" visible="true" -->
|
||||
<!-- width="80" horizonAlign="center" verticalAlign="middle" -->
|
||||
<!-- format="booleanFormat" formatParam="disabled" /> -->
|
||||
<!-- <column id="aw.hour3" title="3阶段时间(时)" visible="true" width="70" -->
|
||||
<!-- horizonAlign="center" /> -->
|
||||
<!-- <column id="aw.minute3" title="3阶段时间(分)" visible="true" width="80" -->
|
||||
<!-- horizonAlign="center" verticalAlign="middle" /> -->
|
||||
<!-- <column id="aw.beEnabled3" title="3阶是否开启" visible="true" -->
|
||||
<!-- width="80" horizonAlign="center" verticalAlign="middle" -->
|
||||
<!-- format="booleanFormat" formatParam="disabled" /> -->
|
||||
<!-- <column id="aw.hour4" title="4阶段时间(时)" visible="true" width="70" -->
|
||||
<!-- horizonAlign="center" /> -->
|
||||
<!-- <column id="aw.minute4" title="4阶段时间(分)" visible="true" width="80" -->
|
||||
<!-- horizonAlign="center" verticalAlign="middle" /> -->
|
||||
<!-- <column id="aw.beEnabled4" title="4阶是否开启" visible="true" -->
|
||||
<!-- width="80" horizonAlign="center" verticalAlign="middle" -->
|
||||
<!-- format="booleanFormat" formatParam="disabled" /> -->
|
||||
<!-- <column id="aw.hour5" title="5阶段时间(时)" visible="true" width="70" -->
|
||||
<!-- horizonAlign="center" /> -->
|
||||
<!-- <column id="aw.minute5" title="5阶段时间(分)" visible="true" width="80" -->
|
||||
<!-- horizonAlign="center" verticalAlign="middle" /> -->
|
||||
<!-- <column id="aw.beEnabled5" title="5阶是否开启" visible="true" -->
|
||||
<!-- width="80" horizonAlign="center" verticalAlign="middle" -->
|
||||
<!-- format="booleanFormat" formatParam="disabled" /> -->
|
||||
<!-- <column id="aw.hour6" title="6阶段时间(时)" visible="true" width="70" -->
|
||||
<!-- horizonAlign="center" /> -->
|
||||
<!-- <column id="aw.minute6" title="6阶段时间(分)" visible="true" width="80" -->
|
||||
<!-- horizonAlign="center" verticalAlign="middle" /> -->
|
||||
<!-- <column id="aw.beEnabled6" title="6阶是否开启" visible="true" -->
|
||||
<!-- width="80" horizonAlign="center" verticalAlign="middle" -->
|
||||
<!-- format="booleanFormat" formatParam="disabled" /> -->
|
||||
<!-- <column id="aw.hour7" title="7阶段时间(时)" visible="true" width="70" -->
|
||||
<!-- horizonAlign="center" /> -->
|
||||
<!-- <column id="aw.minute7" title="7阶段时间(分)" visible="true" width="80" -->
|
||||
<!-- horizonAlign="center" verticalAlign="middle" /> -->
|
||||
<!-- <column id="aw.beEnabled7" title="7阶是否开启" visible="true" -->
|
||||
<!-- width="80" horizonAlign="center" verticalAlign="middle" -->
|
||||
<!-- format="booleanFormat" formatParam="disabled" /> -->
|
||||
<!-- <column id="aw.hour8" title="8阶段时间(时)" visible="true" width="70" -->
|
||||
<!-- horizonAlign="center" /> -->
|
||||
<!-- <column id="aw.minute8" title="8阶段时间(分)" visible="true" width="80" -->
|
||||
<!-- horizonAlign="center" verticalAlign="middle" /> -->
|
||||
<!-- <column id="aw.beEnabled8" title="8阶是否开启" visible="true" -->
|
||||
<!-- width="80" horizonAlign="center" verticalAlign="middle" -->
|
||||
<!-- format="booleanFormat" formatParam="disabled" /> -->
|
||||
<!-- <column id="aw.hour9" title="98阶段时间(时)" visible="true" width="70" -->
|
||||
<!-- horizonAlign="center" /> -->
|
||||
<!-- <column id="aw.minute9" title="9阶段时间(分)" visible="true" width="80" -->
|
||||
<!-- horizonAlign="center" verticalAlign="middle" /> -->
|
||||
<!-- <column id="aw.beEnabled9" title="9阶是否开启" visible="true" -->
|
||||
<!-- width="80" horizonAlign="center" verticalAlign="middle" -->
|
||||
<!-- format="booleanFormat" formatParam="disabled" /> -->
|
||||
<!-- <column id="aw.hour10" title="10阶段时间(时)" visible="true" width="70" -->
|
||||
<!-- horizonAlign="center" /> -->
|
||||
<!-- <column id="aw.minute10" title="10阶段时间(分)" visible="true" width="80" -->
|
||||
<!-- horizonAlign="center" verticalAlign="middle" /> -->
|
||||
<!-- <column id="aw.beEnabled10" title="10阶是否开启" visible="true" -->
|
||||
<!-- width="80" horizonAlign="center" verticalAlign="middle" -->
|
||||
<!-- format="booleanFormat" formatParam="disabled" /> -->
|
||||
</columns>
|
||||
|
||||
<buttons>
|
||||
<popup id="new" title="new" enableType="none" invisible="false"
|
||||
containId="false" pageId="editAutomaticWaveDocPage" />
|
||||
<popup id="modify" title="modify" enableType="single"
|
||||
invisible="false" containId="true" pageId="editAutomaticWaveDocPage" />
|
||||
|
||||
<!-- <commit id="delete" title="删除" enableType="multi" -->
|
||||
<!-- invisible="false" confirmMessage="editItemDetailPage.confirm.delete"> -->
|
||||
<!-- <mappings> -->
|
||||
<!-- <mapping id="ids" className="list" /> -->
|
||||
<!-- </mappings> -->
|
||||
<!-- <actions> -->
|
||||
<!-- <action managerName="shiXiaoManager" methodName="deleteStock" -->
|
||||
<!-- parameter="ids" /> -->
|
||||
<!-- </actions> -->
|
||||
<!-- <forwards> -->
|
||||
<!-- <forward name="refreshWindow" newEnabled="true" -->
|
||||
<!-- editEnabled="true" /> -->
|
||||
<!-- </forwards> -->
|
||||
<!-- </commit> -->
|
||||
|
||||
</buttons>
|
||||
</maintainPage>
|
||||
</pages>
|
||||
|
||||
|
||||
|
||||
|
|
@ -30,7 +30,7 @@
|
|||
round(signFile.width,2),
|
||||
round(signFile.height,2),
|
||||
round(signFile.weight,2),
|
||||
round(signFile.volume,6),
|
||||
cast(signFile.volume as string),
|
||||
signFile.packNumber,
|
||||
signFile.remark,
|
||||
'look',
|
||||
|
|
|
|||
|
|
@ -4,7 +4,6 @@
|
|||
<maintainPage id="maintainShiXiaoPage" title="库区作业时效管理"
|
||||
autoQuery="false">
|
||||
<search>
|
||||
|
||||
<inputUIs>
|
||||
<!-- <list id="shixiao.locationStorage.id" title="工作站" row="0" col="1"
|
||||
span="1" width="120" readOnly="false" required="false" reserve="false" forceOverride="true"
|
||||
|
|
|
|||
|
|
@ -72,7 +72,15 @@
|
|||
<text id="inventory.propC3" title="特殊标记" row="5" col="2"
|
||||
readOnly="false" required="false" reserve="false" forceOverride="false"
|
||||
inVisible="false" trimSpace="true" />
|
||||
<text id="inventory.propC5" title="供应商代码" row="6" col="1"
|
||||
<list id="inventory.propC9" title="工厂" row="6" col="1"
|
||||
span="1" width="120px" readOnly="false" required="false" reserve="false"
|
||||
forceOverride="false" manualEditable="true">
|
||||
<hql><![CDATA[ select carrierType.code,
|
||||
carrierType.code
|
||||
from PlantInfo as carrierType where 1=1 and carrierType.disabled=false
|
||||
order by carrierType.code]]></hql>
|
||||
</list>
|
||||
<text id="inventory.propC5" title="供应商代码" row="6" col="2"
|
||||
readOnly="false" required="false" reserve="false" forceOverride="false"
|
||||
inVisible="false" trimSpace="true" />
|
||||
<booleanList id="inventory.singleItem" title="是否批次号管理" row="7" col="1" span="1" readOnly="false"
|
||||
|
|
@ -143,6 +151,7 @@
|
|||
/~inventory.propC2: AND (inventory.propC2) LIKE ({inventory.propC2})~/
|
||||
/~inventory.propC3: AND (inventory.propC3) LIKE ({inventory.propC3})~/
|
||||
/~inventory.propC5: AND (inventory.propC5) LIKE ({inventory.propC5})~/
|
||||
/~inventory.propC9: AND (inventory.propC9) LIKE ({inventory.propC9})~/
|
||||
/~inventory.status: AND (inventory.status) LIKE ({inventory.status})~/
|
||||
/~inventory.kqName: and inventory.zone.id = {inventory.kqName}~/
|
||||
/~pickTicketDetail.location.id: and inventory.location.id = {pickTicketDetail.location.id}~/
|
||||
|
|
|
|||
|
|
@ -20,7 +20,11 @@
|
|||
row="2" col="1" readOnly="true" required="false" reserve="false"
|
||||
forceOverride="false" inVisible="false" trimSpace="true"
|
||||
isPrecision="true" />
|
||||
<text id="inventory.itemKeyInventory.itemKey.lotInfo.propC1" title="itemKey.content"
|
||||
<text id="inventory.itemKey.lotInfo.propC2" title="LOC"
|
||||
row="2" col="2" span="1" readOnly="true" required="false"
|
||||
reserve="false" forceOverride="false" inVisible="false" trimSpace="true"
|
||||
isPrecision="true" />
|
||||
<text id="inventory.itemKey.lotInfo.propC1" title="itemKey.content"
|
||||
row="3" col="1" span="2" width="300" readOnly="true" required="false"
|
||||
reserve="false" forceOverride="false" inVisible="false" trimSpace="true"
|
||||
isPrecision="true" />
|
||||
|
|
@ -69,6 +73,11 @@
|
|||
<visibleExpression><![CDATA[(${fullLPMove}=='false')]]></visibleExpression>
|
||||
</text>
|
||||
|
||||
<text id="ncr" title="NRC号" row="12" col="2"
|
||||
readOnly="false" required="false" reserve="false" forceOverride="true"
|
||||
inVisible="false" trimSpace="true" isPrecision="true">
|
||||
</text>
|
||||
|
||||
<remote id="worker" title="moveInventoryPage.worker" row="10"
|
||||
span="2" readOnly="false" required="false" reserve="false"
|
||||
forceOverride="true" inVisible="false" manualEditable="true"
|
||||
|
|
@ -87,10 +96,11 @@
|
|||
<mapping id="destLocationId" className="long" />
|
||||
<mapping id="quantity" className="double" />
|
||||
<mapping id="worker" className="long" />
|
||||
<mapping id="ncr" className="string" />
|
||||
</mappings>
|
||||
<actions>
|
||||
<action managerName="inventoryManager" methodName="manualMove"
|
||||
parameter="inventory.id,destLocationId,quantity,worker" />
|
||||
parameter="inventory.id,destLocationId,quantity,worker,ncr" />
|
||||
</actions>
|
||||
<forwards>
|
||||
<forward name="refreshParent" newEnabled="true"
|
||||
|
|
|
|||
|
|
@ -24,6 +24,7 @@
|
|||
<menuItem title="容器类型管理" pageId="maintainContainerTypePage"/>
|
||||
<menuItem title="容器/热度值管理" pageId="maintainStockPage"/>
|
||||
<menuItem title="库区作业时效管理" pageId="maintainShiXiaoPage"/>
|
||||
<menuItem title="波次执行时间" pageId="maintainAutomaticWaveDocPage"/>
|
||||
<menuItem title="分拨墙管理" pageId="maintainSeedWallPage"/>
|
||||
<menuItem title="货主管理" pageId="maintainOrganizationPage"/>
|
||||
<menuItem title="账号管理" pageId="maintainWorkerPage"/>
|
||||
|
|
|
|||
|
|
@ -36,10 +36,12 @@ maintainPlantInfoTypePage=\u5de5\u5382\u4fe1\u606f
|
|||
#maintainPlantLocationPage
|
||||
maintainPlantLocationPage=\u5e93\u5b58\u5730
|
||||
maintainSapOutTypePage=SAP\u7c7b\u578b
|
||||
|
||||
#maintainUVPage=UV\u5165\u5e93
|
||||
maintainhuojiadaorenPage='\u8d27\u67b6\u5230\u4eba\u4e0a\u67b6'
|
||||
maintainShiXiaoPage='\u5de5\u4f5c\u7ad9\u65f6\u6548\u7ba1\u7406'
|
||||
maintainPersonnelPage='\u4eba\u5458\u4fe1\u606f'
|
||||
maintainAutomaticWaveDocPage=\u6ce2\u6b21\u6267\u884c\u65f6\u95f4
|
||||
#maintainContainerPage='\u4f60\u597d\u5440'
|
||||
maintainzhijianPage='\u8d28\u68c0\u7ba1\u7406'
|
||||
maintainOutStorageListPage=\u5176\u4ed6\u51fa\u5e93\u660e\u7ec6
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@
|
|||
locationTypes.name,
|
||||
locationTypes.name
|
||||
From LocationTypes locationTypes
|
||||
where 1=1 and upper(locationTypes.name) like '%料箱%' and locationTypes.id !=1]]></hql>
|
||||
where 1=1 and locationTypes.name like '%料箱%' and locationTypes.id !=1]]></hql>
|
||||
</list>
|
||||
<list id="stockType" title="容器状态" row="4" col="2"
|
||||
span="1" width="120px" readOnly="false" required="false" reserve="false"
|
||||
|
|
|
|||
|
|
@ -98,9 +98,9 @@
|
|||
horizonAlign="left" width="130"/>
|
||||
<column id="inventory.itemKey.propC1" width="100"
|
||||
title="maintainInventoryPage.itemKeyId" visible="true" horizonAlign="left" />
|
||||
<column id="inventory.barCode" width="80"
|
||||
<column id="inventory.barCode" width="130"
|
||||
title="序列号" visible="true" horizonAlign="left" />
|
||||
<column id="inventory.itemKey.propC2" width="100"
|
||||
<column id="inventory.itemKey.propC2" width="80"
|
||||
title="LOC" visible="true" horizonAlign="left" />
|
||||
<column id="inventory.itemKey.propC3" width="100"
|
||||
title="特殊标记" visible="true" horizonAlign="left" />
|
||||
|
|
|
|||
|
|
@ -87,13 +87,13 @@
|
|||
horizonAlign="left" width="130"/>
|
||||
<column id="inventory.itemKey.propC1" width="100"
|
||||
title="maintainInventoryPage.itemKeyId" visible="true" horizonAlign="left" />
|
||||
<column id="inventory.barCode" width="80"
|
||||
<column id="inventory.barCode" width="130"
|
||||
title="序列号" visible="true" horizonAlign="left" />
|
||||
<column id="rd.strBill1" width="100"
|
||||
<column id="rd.strBill1" width="130"
|
||||
title="NCR" visible="true" horizonAlign="left" />
|
||||
<column id="inventory.itemKey.propC2" width="100"
|
||||
<column id="inventory.itemKey.propC2" width="60"
|
||||
title="LOC" visible="true" horizonAlign="left" />
|
||||
<column id="inventory.itemKey.propC3" width="100"
|
||||
<column id="inventory.itemKey.propC3" width="50"
|
||||
title="特殊标记" visible="true" horizonAlign="left" />
|
||||
<column id="inventory.itemKey.propC5" width="100"
|
||||
title="特殊库存" visible="true" horizonAlign="left" />
|
||||
|
|
|
|||
|
|
@ -212,6 +212,7 @@
|
|||
itemKey.lotInfo.propC3,
|
||||
itemKey.lotInfo.propC5,
|
||||
itemKey.lotInfo.propC9,
|
||||
itemKey.lotInfo.propD2,
|
||||
pickTicket.equatedQuantity,
|
||||
t.barCode,
|
||||
pickTicketDetail.strBill12,
|
||||
|
|
@ -358,6 +359,7 @@
|
|||
<column id="itemKey.lotInfo.propC3" title="特殊标记" visible="true" horizonAlign="center" />
|
||||
<column id="itemKey.lotInfo.propC5" title="供应商" visible="true" horizonAlign="center" />
|
||||
<column id="itemKey.lotInfo.propC9" title="工厂" visible="true" horizonAlign="center" />
|
||||
<column id="itemKey.lotInfo.propD2" title="到期日" visible="true" horizonAlign="center" />
|
||||
<column id="pickTicket.equatedQuantity" title="加急标记" visible="true" horizonAlign="center" />
|
||||
<column id="t.barCode" title="序列号" visible="true" horizonAlign="center" />
|
||||
<column id="pickTicketDetail.strBill12" title="机台号" visible="true" horizonAlign="center" />
|
||||
|
|
|
|||
|
|
@ -23,24 +23,24 @@
|
|||
<value>com.microsoft.sqlserver.jdbc.SQLServerDriver</value>
|
||||
</property>
|
||||
<property name="url">
|
||||
<!-- <value>jdbc:sqlserver://localhost:1433;DatabaseName=zwtest</value> -->
|
||||
<!-- <value>jdbc:sqlserver://192.168.2.88:1433;DatabaseName=zwlgtest</value> -->
|
||||
<value>jdbc:sqlserver://47.103.100.52:1433;DatabaseName=lgtest</value>
|
||||
<!-- <value>jdbc:sqlserver://10.1.119.75:1433;DatabaseName=zwlgtest</value> -->
|
||||
<!-- 正式环境地址 -->
|
||||
<!-- <value>jdbc:sqlserver://10.1.96.105:1433;DatabaseName=LD_WMSDB</value> -->
|
||||
<value>jdbc:sqlserver://192.168.56.133:1433;DatabaseName=LD_WMSDB</value>
|
||||
<!-- <value>jdbc:sqlserver://192.168.56.133:1433;DatabaseName=LD_WMSDB</value> -->
|
||||
</property>
|
||||
<property name="username">
|
||||
<!-- <value>WMSDB</value> -->
|
||||
<value>WMSDB</value>
|
||||
<!-- <value>sa</value> -->
|
||||
<!-- <value>wmsdb</value> -->
|
||||
<value>liu</value>
|
||||
<!-- <value>liu</value> -->
|
||||
</property>
|
||||
<property name="password">
|
||||
<!-- <value>AmecDDbb32A</value> -->
|
||||
<!-- <value>HPwd12#$</value> -->
|
||||
<!-- <value>Amecadmin1!</value> -->
|
||||
<!-- <value>WmsYc@5688</value> -->
|
||||
<value>123456</value>
|
||||
<!-- <value>Amec8888!</value> -->
|
||||
<value>WmsYc@5688</value>
|
||||
<!-- <value>123456</value> -->
|
||||
</property>
|
||||
<property name="maxActive">
|
||||
<value>500</value>
|
||||
|
|
|
|||
Loading…
Reference in New Issue