cez 2023-01-24 16:00:39 +08:00
commit 25f4aaf0da
15 changed files with 2305 additions and 12080 deletions

View File

@ -1,21 +1,21 @@
JEEWMSQQ交流群335607153 有任何问题可以加群交流 JEEWMSQQ交流群335607153 有任何问题可以加群交流 基于JEECG-BOOT开发的前后端分离版本于20221111日发布届时欢迎大家多多提意见
**智能制造产品JEEMES已经开源** (https://gitee.com/erzhongxmu/jeemes) 欢迎大家STAR **智能制造产品JEEMES已经开源** (https://gitee.com/erzhongxmu/jeemes) 欢迎大家STAR
测试系统地址 http://47.113.229.131:9080/wms 用户名test 密码123456 本地启动的用户名admin 密码llg123 测试系统地址 http://47.113.229.131:9080/jeewms 用户名test 密码123456 本地启动的用户名admin 密码llg123
android app也已经开源近期更新会比较频繁 app开源地址 https://gitee.com/erzhongxmu/jeewmsapp和https://gitee.com/erzhongxmu/jeewmsapp-uni正在测试完善 android app也已经开源近期更新会比较频繁 app开源地址 https://gitee.com/erzhongxmu/JeeWMSapp-uni
大家看到了star一下谢谢本团队会持续更新一直开源 大家看到了star一下谢谢本团队会持续更新一直开源
欢迎喜欢的朋友一起来优化功能。
开源不易,如果大家需要购买华为云可以通过我们的专属链接,优惠多多 [华为云服务器优惠购买](https://account.huaweicloud.com/obmgr/invitation/invitation.html?bpName=0000000100000002F529029E50A53299E1C24B9DC20691B285756AA52DA030F9E7013E8FF7E22C3EFF074BF9586E43C07842F8F96D38EC45878383D1D406B2F7341FC7D6635CED56&inviteCode=0000000100000002FC491B524CF3FDCE52F12DFD3BB98C8AB2DD5D05BA2CCD464D69E4293D91369A&bindType=1&isDefault=1) 开源不易,如果大家需要购买华为云可以通过我们的专属链接,优惠多多 [华为云服务器优惠购买](https://account.huaweicloud.com/obmgr/invitation/invitation.html?bpName=0000000100000002F529029E50A53299E1C24B9DC20691B285756AA52DA030F9E7013E8FF7E22C3EFF074BF9586E43C07842F8F96D38EC45878383D1D406B2F7341FC7D6635CED56&inviteCode=0000000100000002FC491B524CF3FDCE52F12DFD3BB98C8AB2DD5D05BA2CCD464D69E4293D91369A&bindType=1&isDefault=1)
一、项目简介: 一、项目简介:
jeewms在经过多家公司上线运行后,为了降低物流仓储企业的信息化成本,决定全面开源 JeeWMS在经过多家公司上线运行后,为了降低物流仓储企业的信息化成本,决定全面开源
此产品。针对有特殊信息化需求的企业,提供高性价比的实施服务。 此产品。针对有特殊信息化需求的企业,提供高性价比的实施服务。
产品特点: 产品特点:
1、适用范围第三方物流仓储企业冷链仓库自营仓储等。 1、适用范围第三方物流仓储企业冷链仓库自营仓储等。
2、技术特点基于JAVA的WEB后台基于ANDROID开发的PDA系统。 2、技术特点基于JAVA的WEB后台基于UNIAPP开发的PDA系统。
3、功能特点涵盖订单管理系统OMS仓储管理系统WMS计费管理系统BMS现场作业系统RF第三方接口模块 3、功能特点涵盖订单管理系统OMS仓储管理系统WMS计费管理系统BMS现场作业系统RF第三方接口模块
4、接口支持已经对接SAP ECCSAP HANA 数据库用友U8百胜E3UAS。 4、接口支持已经对接SAP ECCSAP HANA 数据库用友U8百胜E3UAS。
@ -53,7 +53,7 @@ android app也已经开源近期更新会比较频繁 app开源地址 https:
5、主要技术 5、主要技术
开发语言JAVA。 开发语言JAVA。
6、技术架构 6、技术架构
基础架构基于jeecg。技术架构为SpringMVC+Hibernat+Minidao(类Mybatis)+Easyui(UI库)+ Jquery + Boostrap + Ehcache + Redis + Ztree等基础架构 基础架构基于jeecg。技术架构为SpringMVC+Hibernat+Minidao(类Mybatis)+Easyui(UI库)+ Jquery + Bootstrap + Ehcache + Redis + Ztree等基础架构
四、技术支持: 四、技术支持:

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -806,7 +806,7 @@
<dependency> <dependency>
<groupId>org.jsoup</groupId> <groupId>org.jsoup</groupId>
<artifactId>jsoup</artifactId> <artifactId>jsoup</artifactId>
<version>1.8.3</version> <version>1.15.3</version>
</dependency> </dependency>
<!-- google 工具类 --> <!-- google 工具类 -->
<dependency> <dependency>

View File

@ -1,4 +1,5 @@
package com.zzjee.md.controller; package com.zzjee.md.controller;
import java.io.IOException; import java.io.IOException;
import java.net.URI; import java.net.URI;
import java.util.ArrayList; import java.util.ArrayList;
@ -6,15 +7,19 @@ import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Set; import java.util.Set;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import javax.validation.ConstraintViolation; import javax.validation.ConstraintViolation;
import javax.validation.Validator; import javax.validation.Validator;
import com.zzjee.plc.controller.WmsPlcController;
import com.zzjee.rfid.entity.RfidBuseEntity; import com.zzjee.rfid.entity.RfidBuseEntity;
import com.zzjee.wmutil.wmUtil; import com.zzjee.wmutil.wmUtil;
import org.apache.log4j.Logger; import org.apache.log4j.Logger;
import org.apache.xmlbeans.impl.xb.xsdschema.Public;
import org.jeecgframework.core.beanvalidator.BeanValidators; import org.jeecgframework.core.beanvalidator.BeanValidators;
import org.jeecgframework.core.common.controller.BaseController; import org.jeecgframework.core.common.controller.BaseController;
import org.jeecgframework.core.common.exception.BusinessException; import org.jeecgframework.core.common.exception.BusinessException;
@ -32,6 +37,7 @@ import org.jeecgframework.poi.excel.entity.ImportParams;
import org.jeecgframework.poi.excel.entity.vo.NormalExcelConstants; import org.jeecgframework.poi.excel.entity.vo.NormalExcelConstants;
import org.jeecgframework.tag.core.easyui.TagUtil; import org.jeecgframework.tag.core.easyui.TagUtil;
import org.jeecgframework.web.system.service.SystemService; import org.jeecgframework.web.system.service.SystemService;
import org.omg.CORBA.PUBLIC_MEMBER;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpHeaders; import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpStatus; import org.springframework.http.HttpStatus;
@ -58,12 +64,11 @@ import net.sf.json.JSONArray;
import net.sf.json.JSONObject; import net.sf.json.JSONObject;
/** /**
* @author erzhongxmu
* @version V1.0
* @Title: Controller * @Title: Controller
* @Description: * @Description:
* @author erzhongxmu
* @date 2017-08-15 23:17:02 * @date 2017-08-15 23:17:02
* @version V1.0
*
*/ */
@Controller @Controller
@RequestMapping("/mdBinController") @RequestMapping("/mdBinController")
@ -79,7 +84,9 @@ public class MdBinController extends BaseController {
private SystemService systemService; private SystemService systemService;
@Autowired @Autowired
private Validator validator; private Validator validator;
@Autowired
private WmsPlcController wmsPlcController;
ExecutorService executor = Executors.newFixedThreadPool(8);
/** /**
@ -91,10 +98,17 @@ public class MdBinController extends BaseController {
public ModelAndView list(HttpServletRequest request) { public ModelAndView list(HttpServletRequest request) {
return new ModelAndView("com/zzjee/md/mdBinList"); return new ModelAndView("com/zzjee/md/mdBinList");
} }
@RequestMapping(params = "listc") @RequestMapping(params = "listc")
public ModelAndView listc(HttpServletRequest request) { public ModelAndView listc(HttpServletRequest request) {
return new ModelAndView("com/zzjee/md/mdavabinlist"); return new ModelAndView("com/zzjee/md/mdavabinlist");
} }
@RequestMapping(params = "listagv")
public ModelAndView listagv(HttpServletRequest request) {
return new ModelAndView("com/zzjee/md/mdbinagvlist");
}
/** /**
* easyui AJAX * easyui AJAX
* *
@ -151,6 +165,7 @@ public class MdBinController extends BaseController {
j.setMsg(message); j.setMsg(message);
return j; return j;
} }
/** /**
* *
* *
@ -249,7 +264,6 @@ public class MdBinController extends BaseController {
} }
} else { } else {
jsonParts.put("xnode", resultt.get(i).get("xnode")); jsonParts.put("xnode", resultt.get(i).get("xnode"));
@ -283,7 +297,180 @@ public class MdBinController extends BaseController {
return j; return j;
} }
@RequestMapping(params = "getbinallagv")
@ResponseBody
public AjaxJson getbinallagv(HttpServletRequest req) {
AjaxJson j = new AjaxJson();
String hangshu = req.getParameter("hangshu");
String type = req.getParameter("type");
String binFrom = req.getParameter("binid");
String binTo = req.getParameter("des");
String startcom = req.getParameter("startcom");
String midcom = req.getParameter("midcom");
String endcom = req.getParameter("endcom");
if ("diaodu".equals(type)||"diaoduu".equals(type)) {//调度需要方式指令
// 异步发送指令
if (StringUtil.isEmpty(binFrom)&&"diaodu".equals(type)) {
j.setMsg("开始储位为空");
j.setSuccess(false);
return j;
}
if (StringUtil.isEmpty(binTo)&&"diaodu".equals(type)) {
j.setMsg("结束储位为空");
j.setSuccess(false);
return j;
}
try {
executor.execute(new Runnable() {
@Override
public void run() {
runagv(binFrom, binTo, startcom, midcom, endcom, type);
}
});
} catch (Exception e) {
}
}
try {
j.setObj(0);
String tsql = "select * "
+ " from wv_bin_all ws where 1 = 1 ";
if (!StringUtil.isEmpty(req.getParameter("binstore"))) {
tsql = tsql + " and ws.bin_store like '%" + req.getParameter("binstore") + "%' ";
}
if (!StringUtil.isEmpty(req.getParameter("cengshu"))) {
tsql = tsql + " and ws.znode like '%" + req.getParameter("cengshu") + "%' ";
}
System.out.print(tsql);
List<Map<String, Object>> resultt = systemService
.findForJdbc(tsql);
// list = this.tSSmsService.getMsgsList(curUser,curDate);
//将List转换成JSON存储
JSONArray result = new JSONArray();
if (resultt != null && resultt.size() > 0) {
for (int i = 0; i < resultt.size(); i++) {
JSONObject jsonParts = new JSONObject();
jsonParts.put("bin_store", resultt.get(i).get("bin_store"));
jsonParts.put("binid", resultt.get(i).get("binid"));
jsonParts.put("des", resultt.get(i).get("des"));
jsonParts.put("tincount", resultt.get(i).get("tincount"));
try {
if ("fanxiang".equals(type)) {
try {
int hangshuint = Integer.parseInt(hangshu);
int xnode = Integer.parseInt(resultt.get(i).get("xnode").toString());
jsonParts.put("xnode", hangshuint + 1 - xnode);
} catch (Exception e) {
}
} else {
jsonParts.put("xnode", resultt.get(i).get("xnode"));
}
jsonParts.put("xnode", resultt.get(i).get("xnode"));
jsonParts.put("ynode", resultt.get(i).get("ynode"));
jsonParts.put("znode", resultt.get(i).get("znode"));
jsonParts.put("colour", resultt.get(i).get("colour"));
} catch (Exception e) {
}
result.add(jsonParts);
}
j.setObj(resultt.size());
Map<String, Object> attrs = new HashMap<String, Object>();
attrs.put("messageList", result);
// String tip = MutiLangUtil.getMutiLangInstance().getLang("message.tip");
// attrs.put("tip", tip);
// String seeAll = MutiLangUtil.getMutiLangInstance().getLang("message.seeAll");
// attrs.put("seeAll", seeAll);
j.setAttributes(attrs);
}
} catch (Exception e) {
j.setSuccess(false);
}
return j;
}
public void runagv(String binfrom, String binto, String startcom, String midcom, String endcom, String type) {
if ("diaodu".equals(type)) {
List<MdBinEntity> mdblistfrom = systemService.findByProperty(MdBinEntity.class, "kuWeiBianMa", binfrom);
List<MdBinEntity> mdblistto = systemService.findByProperty(MdBinEntity.class, "kuWeiBianMa", binto);
MdBinEntity mdBinEntityfrom = mdblistfrom.get(0);
MdBinEntity mdBinEntityto = mdblistto.get(0);
String x0 = mdBinEntityfrom.getXnode();
String x1 = mdBinEntityto.getXnode();
int xStep = Integer.parseInt(x1) - Integer.parseInt(x0);
String y0 = mdBinEntityfrom.getYnode();
String y1 = mdBinEntityto.getYnode();
int yStep = Integer.parseInt(y1) - Integer.parseInt(y0);
String xstepNum = "1";
String ystepNum = "1";
String hxstepNum = "1";
xstepNum = Integer.toString(xStep);
ystepNum = Integer.toString(yStep);
if (!"no".equals(startcom) && StringUtil.isNotEmpty(startcom)) {
hxstepNum = "1";
System.out.println("startcom,startcom:" + startcom);
wmsPlcController.run("", startcom, hxstepNum);
}
if (y0.equals("01")) {
System.out.println("1,runx:" + xstepNum);
wmsPlcController.run("", "runx", xstepNum);
} else {
System.out.println("2,runy:" + ystepNum);
wmsPlcController.run("", "runy", ystepNum);
}
// if(xStep>0 && yStep>0){
// hxstepNum = "1";
// System.out.println("3,change:"+hxstepNum);
//
// wmsPlcController.run("","change",hxstepNum);
// }
if (!"no".equals(midcom) && StringUtil.isNotEmpty(midcom)) {
hxstepNum = "1";
System.out.println("midcom,midcom:" + midcom);
wmsPlcController.run("", midcom, hxstepNum);
}
if (y0.equals("01")) {
System.out.println("4,runy:" + ystepNum);
wmsPlcController.run("", "runy", ystepNum);
} else {
System.out.println("5,runx:" + xstepNum);
wmsPlcController.run("", "runx", xstepNum);
}
if (!"no".equals(endcom) && StringUtil.isNotEmpty(endcom)) {
hxstepNum = "1";
System.out.println("endcom,endcom:" + endcom);
wmsPlcController.run("", endcom, hxstepNum);
}
} else {
wmsPlcController.runu();
}
}
/** /**
* *
@ -400,6 +587,7 @@ public class MdBinController extends BaseController {
} }
return new ModelAndView("com/zzjee/md/mdBin-add"); return new ModelAndView("com/zzjee/md/mdBin-add");
} }
/** /**
* *
* *
@ -444,6 +632,7 @@ public class MdBinController extends BaseController {
modelMap.put(NormalExcelConstants.DATA_LIST, mdBins); modelMap.put(NormalExcelConstants.DATA_LIST, mdBins);
return NormalExcelConstants.JEECG_EXCEL_VIEW; return NormalExcelConstants.JEECG_EXCEL_VIEW;
} }
/** /**
* excel 使 * excel 使
* *

View File

@ -1,19 +1,24 @@
package com.zzjee.plc.controller; package com.zzjee.plc.controller;
import HslCommunication.Core.Types.OperateResult; import HslCommunication.Core.Types.OperateResult;
import HslCommunication.Profinet.Siemens.SiemensPLCS; import HslCommunication.Profinet.Siemens.SiemensPLCS;
import HslCommunication.Profinet.Siemens.SiemensS7Net; import HslCommunication.Profinet.Siemens.SiemensS7Net;
import com.zzjee.plc.entity.WmsPlcEntity; import com.zzjee.plc.entity.WmsPlcEntity;
import com.zzjee.plc.service.WmsPlcServiceI; import com.zzjee.plc.service.WmsPlcServiceI;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import com.zzjee.wm.entity.WmToMoveGoodsEntity;
import org.apache.log4j.Logger; import org.apache.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller; import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap; import org.springframework.ui.ModelMap;
import org.springframework.util.CollectionUtils;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.servlet.ModelAndView; import org.springframework.web.servlet.ModelAndView;
@ -32,6 +37,7 @@ import org.jeecgframework.web.system.service.SystemService;
import org.jeecgframework.core.util.MyBeanUtils; import org.jeecgframework.core.util.MyBeanUtils;
import java.io.OutputStream; import java.io.OutputStream;
import org.jeecgframework.core.util.BrowserUtils; import org.jeecgframework.core.util.BrowserUtils;
import org.jeecgframework.poi.excel.ExcelExportUtil; import org.jeecgframework.poi.excel.ExcelExportUtil;
import org.jeecgframework.poi.excel.ExcelImportUtil; import org.jeecgframework.poi.excel.ExcelImportUtil;
@ -42,12 +48,16 @@ import org.jeecgframework.poi.excel.entity.vo.NormalExcelConstants;
import org.jeecgframework.poi.excel.entity.vo.TemplateExcelConstants; import org.jeecgframework.poi.excel.entity.vo.TemplateExcelConstants;
import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.jeecgframework.core.util.ResourceUtil; import org.jeecgframework.core.util.ResourceUtil;
import java.io.IOException; import java.io.IOException;
import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.multipart.MultipartHttpServletRequest; import org.springframework.web.multipart.MultipartHttpServletRequest;
import java.util.Map; import java.util.Map;
import java.util.HashMap; import java.util.HashMap;
import org.jeecgframework.core.util.ExceptionUtil; import org.jeecgframework.core.util.ExceptionUtil;
import org.springframework.http.ResponseEntity; import org.springframework.http.ResponseEntity;
@ -61,20 +71,21 @@ import org.springframework.web.bind.annotation.ResponseStatus;
import org.springframework.http.HttpHeaders; import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpStatus; import org.springframework.http.HttpStatus;
import org.jeecgframework.core.beanvalidator.BeanValidators; import org.jeecgframework.core.beanvalidator.BeanValidators;
import java.util.Set; import java.util.Set;
import javax.validation.ConstraintViolation; import javax.validation.ConstraintViolation;
import javax.validation.Validator; import javax.validation.Validator;
import java.net.URI; import java.net.URI;
import org.springframework.http.MediaType; import org.springframework.http.MediaType;
import org.springframework.web.util.UriComponentsBuilder; import org.springframework.web.util.UriComponentsBuilder;
/** /**
* @author onlineGenerator
* @version V1.0
* @Title: Controller * @Title: Controller
* @Description: PLC * @Description: PLC
* @author onlineGenerator
* @date 2022-09-12 18:33:25 * @date 2022-09-12 18:33:25
* @version V1.0
*
*/ */
@Controller @Controller
@RequestMapping("/wmsPlcController") @RequestMapping("/wmsPlcController")
@ -92,7 +103,6 @@ public class WmsPlcController extends BaseController {
private Validator validator; private Validator validator;
/** /**
* PLC * PLC
* *
@ -163,9 +173,56 @@ public class WmsPlcController extends BaseController {
message = "PLC指令执行成功"; message = "PLC指令执行成功";
try { try {
for (String id : ids.split(",")) { for (String id : ids.split(",")) {
WmsPlcEntity wmsPlc = systemService.getEntity(WmsPlcEntity.class, run(id, "", "");
id }
); } catch (Exception e) {
e.printStackTrace();
message = "PLC指令执行失败";
throw new BusinessException(e.getMessage());
}
j.setMsg(message);
return j;
}
public void runu() {
WmsPlcEntity wmsPlc = null;
String hql = "";
List<WmsPlcEntity> wmsPlcEntityList = new ArrayList<WmsPlcEntity>();
hql = "from WmsPlcEntity t where t.comNo = ? ";
wmsPlcEntityList = systemService.findHql(hql, "runu");
if (!CollectionUtils.isEmpty(wmsPlcEntityList)) {
wmsPlc = wmsPlcEntityList.get(0);
}
String[] coms = wmsPlc.getComCons().split(";");
for (String com : coms) {
String comid[] = com.split(",");
String comno = comid[0];
String comstep = comid[1];
run("", comno, comstep);
}
}
public void run(String id, String comNo, String stepNum) {
System.out.println("id:" + id + ";comNo:" + comNo + ";stepNum:" + stepNum);
if (stepNum.equals("0")) {
return;
}
WmsPlcEntity wmsPlc = null;
if (StringUtil.isNotEmpty(id)) {
wmsPlc = systemService.getEntity(WmsPlcEntity.class, id);
}
if (StringUtil.isNotEmpty(comNo)) {
String hql = "";
List<WmsPlcEntity> wmsPlcEntityList = new ArrayList<WmsPlcEntity>();
hql = "from WmsPlcEntity t where t.comNo = ? ";
wmsPlcEntityList = systemService.findHql(hql, comNo);
if (!CollectionUtils.isEmpty(wmsPlcEntityList)) {
wmsPlc = wmsPlcEntityList.get(0);
}
}
if (wmsPlc != null) {
long start = System.currentTimeMillis();
SiemensPLCS siemensPLCS = SiemensPLCS.S200Smart; SiemensPLCS siemensPLCS = SiemensPLCS.S200Smart;
SiemensS7Net siemensS7Net = null; SiemensS7Net siemensS7Net = null;
siemensS7Net = new SiemensS7Net(siemensPLCS); siemensS7Net = new SiemensS7Net(siemensPLCS);
@ -176,9 +233,32 @@ public class WmsPlcController extends BaseController {
System.out.println("connect success"); System.out.println("connect success");
} else { } else {
System.out.println("connect error"); System.out.println("connect error");
try {
siemensS7Net.ConnectClose();
} catch (Exception e) {
e.printStackTrace();
} }
String[] coms = wmsPlc.getComCons().split(";"); }
String comCons = wmsPlc.getComCons();
String query01 = wmsPlc.getQuery01();
String query02 = wmsPlc.getQuery02();
Float stepNumrun = Float.valueOf("1");
if (StringUtil.isNotEmpty(stepNum)) {
stepNumrun = Float.parseFloat(stepNum);
} else {
stepNumrun = Float.parseFloat(wmsPlc.getSetpNum());
}
Float stepTime = Float.parseFloat(wmsPlc.getSetpTime());
comCons = StringUtils.replace(comCons, "{query01}", query01);
comCons = StringUtils.replace(comCons, "{query02}", query02);
String[] coms = comCons.split(";");
for (String com : coms) { for (String com : coms) {
System.out.println("指令:" + com);
try {
Thread.sleep(500);
} catch (Exception e) {
e.printStackTrace();
}
String[] split = com.split(","); String[] split = com.split(",");
String defaultAddress = split[1]; String defaultAddress = split[1];
if (split[0].equals("boolean")) { if (split[0].equals("boolean")) {
@ -187,23 +267,44 @@ public class WmsPlcController extends BaseController {
} else { } else {
siemensS7Net.Write(defaultAddress, true); siemensS7Net.Write(defaultAddress, true);
} }
} } else if (split[0].equals("float")) {
else if(split[0].equals("float")){ Float runfloat = Float.parseFloat(split[2]) * stepNumrun;
siemensS7Net.Write(defaultAddress,Float.parseFloat(split[2])); System.out.println("runfloat" + Math.abs(runfloat));
siemensS7Net.Write(defaultAddress, Math.abs(runfloat));
} else if (split[0].equals("-float")) {
Float runfloat = Float.parseFloat(split[2]) * stepNumrun;
System.out.println("runfloat" + runfloat);
siemensS7Net.Write(defaultAddress, runfloat);
} else if (split[0].equals("int")) {
Float runfloat = Float.parseFloat(split[2]) * stepNumrun;
Float abs = Math.abs(runfloat);
int runint = abs.intValue();
System.out.println("runint" + runint);
siemensS7Net.Write(defaultAddress, runint);
} else if (split[0].equals("-int")) {
Float runfloat = Float.parseFloat(split[2]) * stepNumrun;
int runint = runfloat.intValue();
System.out.println("runint" + runint);
siemensS7Net.Write(defaultAddress, runint);
} }
} }
//执行完指令等待时间 //执行完指令等待时间
Thread.sleep(Long.parseLong(wmsPlc.getComTime())); try {
} Float sleeptime = Math.abs(stepNumrun * stepTime);
Thread.sleep(sleeptime.longValue());
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
message = "PLC指令执行失败";
throw new BusinessException(e.getMessage());
} }
j.setMsg(message);
return j; long end = System.currentTimeMillis();
long times = end - start;
org.jeecgframework.core.util.LogUtil.info(wmsPlc.getComRemark() + "总耗时" + times + "毫秒" + comCons);
} }
}
/** /**
* PLC * PLC
* *
@ -295,6 +396,7 @@ public class WmsPlcController extends BaseController {
} }
return new ModelAndView("com/zzjee/plc/wmsPlc-add"); return new ModelAndView("com/zzjee/plc/wmsPlc-add");
} }
/** /**
* PLC * PLC
* *
@ -339,6 +441,7 @@ public class WmsPlcController extends BaseController {
modelMap.put(NormalExcelConstants.DATA_LIST, wmsPlcs); modelMap.put(NormalExcelConstants.DATA_LIST, wmsPlcs);
return NormalExcelConstants.JEECG_EXCEL_VIEW; return NormalExcelConstants.JEECG_EXCEL_VIEW;
} }
/** /**
* excel 使 * excel 使
* *

View File

@ -22,7 +22,7 @@ import org.jeecgframework.poi.excel.annotation.Excel;
* @Title: Entity * @Title: Entity
* @Description: PLC * @Description: PLC
* @author onlineGenerator * @author onlineGenerator
* @date 2022-09-12 18:33:25 * @date 2022-10-22 10:15:15
* @version V1.0 * @version V1.0
* *
*/ */
@ -30,7 +30,7 @@ import org.jeecgframework.poi.excel.annotation.Excel;
@Table(name = "wms_plc", schema = "") @Table(name = "wms_plc", schema = "")
@SuppressWarnings("serial") @SuppressWarnings("serial")
public class WmsPlcEntity implements java.io.Serializable { public class WmsPlcEntity implements java.io.Serializable {
/**主键*/ /**id*/
private String id; private String id;
/**创建人名称*/ /**创建人名称*/
private String createName; private String createName;
@ -74,10 +74,25 @@ public class WmsPlcEntity implements java.io.Serializable {
/**备用1*/ /**备用1*/
@Excel(name="备用1") @Excel(name="备用1")
private String remark1; private String remark1;
/**指令编号*/
@Excel(name="指令编号")
private String comNo;
/**单步参数1*/
@Excel(name="单步参数1")
private String query01;
/**单步参数2*/
@Excel(name="单步参数2")
private String query02;
/**单步时间*/
@Excel(name="单步时间")
private String setpTime;
/**步数*/
@Excel(name="步数")
private String setpNum;
/** /**
*: java.lang.String *: java.lang.String
*@return: java.lang.String *@return: java.lang.String id
*/ */
@Id @Id
@GeneratedValue(generator = "paymentableGenerator") @GeneratedValue(generator = "paymentableGenerator")
@ -89,7 +104,7 @@ public class WmsPlcEntity implements java.io.Serializable {
/** /**
*: java.lang.String *: java.lang.String
*@param: java.lang.String *@param: java.lang.String id
*/ */
public void setId(String id){ public void setId(String id){
this.id = id; this.id = id;
@ -130,7 +145,7 @@ public class WmsPlcEntity implements java.io.Serializable {
*: java.util.Date *: java.util.Date
*@return: java.util.Date *@return: java.util.Date
*/ */
@Column(name ="CREATE_DATE",nullable=true,length=20) @Column(name ="CREATE_DATE",nullable=true)
public Date getCreateDate(){ public Date getCreateDate(){
return this.createDate; return this.createDate;
} }
@ -178,7 +193,7 @@ public class WmsPlcEntity implements java.io.Serializable {
*: java.util.Date *: java.util.Date
*@return: java.util.Date *@return: java.util.Date
*/ */
@Column(name ="UPDATE_DATE",nullable=true,length=20) @Column(name ="UPDATE_DATE",nullable=true)
public Date getUpdateDate(){ public Date getUpdateDate(){
return this.updateDate; return this.updateDate;
} }
@ -338,7 +353,7 @@ public class WmsPlcEntity implements java.io.Serializable {
*: java.lang.String *: java.lang.String
*@return: java.lang.String *@return: java.lang.String
*/ */
@Column(name ="COM_CONS",nullable=true,length=32) @Column(name ="COM_CONS",nullable=true)
public String getComCons(){ public String getComCons(){
return this.comCons; return this.comCons;
} }
@ -366,4 +381,84 @@ public class WmsPlcEntity implements java.io.Serializable {
public void setRemark1(String remark1){ public void setRemark1(String remark1){
this.remark1 = remark1; this.remark1 = remark1;
} }
/**
*: java.lang.String
*@return: java.lang.String
*/
@Column(name ="COM_NO",nullable=true,length=32)
public String getComNo(){
return this.comNo;
}
/**
*: java.lang.String
*@param: java.lang.String
*/
public void setComNo(String comNo){
this.comNo = comNo;
}
/**
*: java.lang.String
*@return: java.lang.String 1
*/
@Column(name ="QUERY01",nullable=true,length=32)
public String getQuery01(){
return this.query01;
}
/**
*: java.lang.String
*@param: java.lang.String 1
*/
public void setQuery01(String query01){
this.query01 = query01;
}
/**
*: java.lang.String
*@return: java.lang.String 2
*/
@Column(name ="QUERY02",nullable=true,length=32)
public String getQuery02(){
return this.query02;
}
/**
*: java.lang.String
*@param: java.lang.String 2
*/
public void setQuery02(String query02){
this.query02 = query02;
}
/**
*: java.lang.String
*@return: java.lang.String
*/
@Column(name ="SETP_TIME",nullable=true,length=32)
public String getSetpTime(){
return this.setpTime;
}
/**
*: java.lang.String
*@param: java.lang.String
*/
public void setSetpTime(String setpTime){
this.setpTime = setpTime;
}
/**
*: java.lang.String
*@return: java.lang.String
*/
@Column(name ="SETP_NUM",nullable=true,length=32)
public String getSetpNum(){
return this.setpNum;
}
/**
*: java.lang.String
*@param: java.lang.String
*/
public void setSetpNum(String setpNum){
this.setpNum = setpNum;
}
} }

View File

@ -7,14 +7,7 @@ import java.io.IOException;
import java.io.InputStream; import java.io.InputStream;
import java.io.OutputStream; import java.io.OutputStream;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.ArrayList; import java.util.*;
import java.util.Collections;
import java.util.Date;
import java.util.HashMap;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import java.util.Set;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
@ -32,15 +25,7 @@ import org.jeecgframework.core.constant.Globals;
import org.jeecgframework.core.extend.hqlsearch.parse.ObjectParseUtil; import org.jeecgframework.core.extend.hqlsearch.parse.ObjectParseUtil;
import org.jeecgframework.core.extend.hqlsearch.parse.PageValueConvertRuleEnum; import org.jeecgframework.core.extend.hqlsearch.parse.PageValueConvertRuleEnum;
import org.jeecgframework.core.extend.hqlsearch.parse.vo.HqlRuleEnum; import org.jeecgframework.core.extend.hqlsearch.parse.vo.HqlRuleEnum;
import org.jeecgframework.core.util.JSONHelper; import org.jeecgframework.core.util.*;
import org.jeecgframework.core.util.ListUtils;
import org.jeecgframework.core.util.MutiLangSqlCriteriaUtil;
import org.jeecgframework.core.util.MutiLangUtil;
import org.jeecgframework.core.util.ResourceUtil;
import org.jeecgframework.core.util.SetListSort;
import org.jeecgframework.core.util.StringUtil;
import org.jeecgframework.core.util.YouBianCodeUtil;
import org.jeecgframework.core.util.oConvertUtils;
import org.jeecgframework.tag.core.easyui.TagUtil; import org.jeecgframework.tag.core.easyui.TagUtil;
import org.jeecgframework.tag.vo.datatable.SortDirection; import org.jeecgframework.tag.vo.datatable.SortDirection;
import org.jeecgframework.tag.vo.easyui.ComboTreeModel; import org.jeecgframework.tag.vo.easyui.ComboTreeModel;
@ -277,36 +262,6 @@ public class SystemController extends BaseController {
return new ModelAndView("system/type/typeListForTypegroup"); return new ModelAndView("system/type/typeListForTypegroup");
} }
// @RequestMapping(params = "typeGroupTree")
// @ResponseBody
// public List<ComboTree> typeGroupTree(HttpServletRequest request, HttpServletResponse response, DataGrid dataGrid) {
// CriteriaQuery cq = new CriteriaQuery(TSTypegroup.class);
// List<TSTypegroup> typeGroupList = systemService.getListByCriteriaQuery(cq, false);
// List<ComboTree> trees = new ArrayList<ComboTree>();
// for (TSTypegroup obj : typeGroupList) {
// ComboTree tree = new ComboTree();
// tree.setId(obj.getId());
// tree.setText(obj.getTypegroupname());
// List<TSType> types = obj.getTSTypes();
// if (types != null) {
// if (types.size() > 0) {
// //tree.setState("closed");
// List<ComboTree> children = new ArrayList<ComboTree>();
// for (TSType type : types) {
// ComboTree tree2 = new ComboTree();
// tree2.setId(type.getId());
// tree2.setText(type.getTypename());
// children.add(tree2);
// }
// tree.setChildren(children);
// }
// }
// //tree.setChecked(false);
// trees.add(tree);
// }
// return trees;
// }
@RequestMapping(params = "typeGridTree") @RequestMapping(params = "typeGridTree")
@ResponseBody @ResponseBody
@Deprecated // add-begin-end--Author:zhangguoming Date:20140928 for数据字典修改该方法启用数据字典不在已树结构展示了 @Deprecated // add-begin-end--Author:zhangguoming Date:20140928 for数据字典修改该方法启用数据字典不在已树结构展示了
@ -360,41 +315,6 @@ public class SystemController extends BaseController {
return treeGrids; return treeGrids;
} }
// private void assembleConditionForMutilLang(CriteriaQuery cq, String typegroupname, List<String> typegroupnameKeyList) {
// Map<String,String> typegroupnameMap = new HashMap<String, String>();
// for (String nameKey : typegroupnameKeyList) {
// String name = mutiLangService.getLang(nameKey);
// typegroupnameMap.put(nameKey, name);
// }
// List<String> tepegroupnameParamList = new ArrayList<String>();
// for (Map.Entry<String, String> entry : typegroupnameMap.entrySet()) {
// String key = entry.getKey();
// String value = entry.getValue();
// if (typegroupname.startsWith("*") && typegroupname.endsWith("*")) {
// if (value.contains(typegroupname)) {
// tepegroupnameParamList.add(key);
// }
// } else if(typegroupname.startsWith("*")) {
// if (value.endsWith(typegroupname.substring(1))) {
// tepegroupnameParamList.add(key);
// }
// } else if(typegroupname.endsWith("*")) {
// if (value.startsWith(typegroupname.substring(0, typegroupname.length() -1))) {
// tepegroupnameParamList.add(key);
// }
// } else {
// if (value.equals(typegroupname)) {
// tepegroupnameParamList.add(key);
// }
// }
// }
//
// if (tepegroupnameParamList.size() > 0) {
// cq.in("typegroupname", tepegroupnameParamList.toArray());
// cq.add();
// }
// }
/** /**
* IDG * IDG
* *
@ -1255,6 +1175,8 @@ public class SystemController extends BaseController {
MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request; MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
MultipartFile mf=multipartRequest.getFile("file");// 获取上传文件对象 MultipartFile mf=multipartRequest.getFile("file");// 获取上传文件对象
fileName = mf.getOriginalFilename();// 获取文件名 fileName = mf.getOriginalFilename();// 获取文件名
String fileExt = fileName.substring(fileName.lastIndexOf(".") + 1).toLowerCase();
// TODO: 2022/11/30 判断文件后缀
String savePath = file.getPath() + File.separator + fileName; String savePath = file.getPath() + File.separator + fileName;
File savefile = new File(savePath); File savefile = new File(savePath);
FileCopyUtils.copy(mf.getBytes(), savefile); FileCopyUtils.copy(mf.getBytes(), savefile);

View File

@ -0,0 +1,293 @@
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
<%@include file="/context/mytags.jsp" %>
<t:base type="jquery,easyui,tools,DatePicker"></t:base>
<div class="easyui-layout" fit="true">
<div style="padding:0px;border:0px">
<div style="float: left; padding-left: 0px;padding-top: 5px;">
<span style="vertical-align:middle;display:-moz-inline-box;display:inline-block;width: 55px;text-align:left;"
title="仓库">仓库: </span>
<input type="text" name="cangku" value="agv" style="width: 55px; height: 30px;">
</span>
<span style="vertical-align:middle;display:-moz-inline-box;display:inline-block;width: 55px;text-align:right;"
title="层数">层数: </span>
<input type="text" name="cengshu" value="01" style="width: 55px; height: 30px;">
</span>
<span style="vertical-align:middle;display:-moz-inline-box;display:inline-block;width: 55px;text-align:right;"
title="行数">行数: </span>
<input type="text" name="hangshu" value="03" style="width: 55px; height: 30px;">
</span>
<span style="vertical-align:middle;display:-moz-inline-box;display:inline-block;width: 55px;text-align:right;"
title="列数">列数: </span>
<input type="text" name="lieshu" value="03" style="width: 55px; height: 30px;">
</span>
</div>
<div name="searchColums" style="float: left; padding-left: 0px;padding-top: 5px;">
<span style="vertical-align:middle;display:-moz-inline-box;display:inline-block;width: 55px;text-align:left;"
title="开始">开始: </span>
<input type="text" id = "chuweiid" name="chuwei" style="width: 55px; height: 30px;">
</span>
<span style="vertical-align:middle;display:-moz-inline-box;display:inline-block;width: 55px;text-align:right;"
title="结束">结束: </span>
<input type="text" id = "desid" name="des" style="width: 55px; height: 30px;">
</span>
<span style="vertical-align:middle;display:-moz-inline-box;display:inline-block;width: 75px;text-align:right;"
title="开始指令">开始指令: </span>
<t:dictSelect id="startcom" field="startcom" type="list" extendJson="{class:'form-control'}"
dictTable="wms_plc" dictField="com_no" dictText="com_remark" hasLabel="false" ></t:dictSelect>
</span>
<span style="vertical-align:middle;display:-moz-inline-box;display:inline-block;width: 75px;text-align:right;"
title="中间指令">中间指令: </span>
<t:dictSelect id="midcom" field="midcom" type="list" extendJson="{class:'form-control'}"
dictTable="wms_plc" dictField="com_no" dictText="com_remark" hasLabel="false" ></t:dictSelect>
</span>
<span style="vertical-align:middle;display:-moz-inline-box;display:inline-block;width: 75px;text-align:right;"
title="结束指令">结束指令: </span>
<t:dictSelect id="endcom" field="endcom" type="list" extendJson="{class:'form-control'}"
dictTable="wms_plc" dictField="com_no" dictText="com_remark" hasLabel="false" ></t:dictSelect>
</span>
<%-- <span style="vertical-align:middle;display:-moz-inline-box;display:inline-block;width: 90px;text-align:right;">--%>
<button onclick="chaxun('zhengxiang')">加载储位</button> </span>
<button onclick="chaxun('diaodu')">调度</button> </span>
<button onclick="chaxun('diaoduu')">U型调度</button> </span>
</div>
</div>
<div id="bottom" style="margin-top:60px;border:2px">
</div>
</div>
<style type="text/css">
#bottom{
/*width: 1000px;*/
/*background: red;*/
/*width: 100%;*/
}
a.a01:link, a.a01:visited {
font-size: 12px;
font-family: verdana;
/*width: 90px;*/
margin: 1px;
color: #1A1A1A;
display: inline-table;
background-color: #FF4040;
}
a.a01:active, a.a01:hover {
font-size: 12px;
font-family: verdana;
/*width: 90px;*/
margin: 1px;
color: #1A1A1A;
display: inline-table;
}
a.a02:link, a.a01:visited {
font-size: 12px;
font-family: verdana;
/*width: 90px;*/
margin: 1px;
color: #1A1A1A;
display: inline-table;
background-color: #66CD00;
}
a.a02:active, a.a01:hover {
font-size: 12px;
font-family: verdana;
/*width: 90px;*/
margin: 1px;
color: #1A1A1A;
display: inline-table;
}
.all{
/*display: inline-block;*/
width: 160.5px;
height:160.5px;
line-height: 160.5px;
text-align: center;
margin-right: 1px;
margin-bottom: 1px;
}
#bottom{
display: flex;
flex-wrap: wrap;
margin: auto;
}
</style>
<script type="text/javascript">
function addtab(name) {
var binid = document.getElementById("chuweiid").value
if(!binid){
document.getElementById("chuweiid").value = name;
}else{
document.getElementById("desid").value =name;
}
}
$(document).ready(function () {
chaxun();
// $("#mvCusCostListtb").find("input[name='outtime_begin']").attr("class","Wdate").click(function(){WdatePicker({dateFmt:'yyyy-MM-dd'});});
// $("#mvCusCostListtb").find("input[name='outtime_end']").attr("class","Wdate").click(function(){WdatePicker({dateFmt:'yyyy-MM-dd'});});
});
function chaxun(type) {
var cangku;
var chuwei;
var des;
var startcom;
var midcom;
var endcom;
cangku = $('input[name="cangku"]').attr("value");
chuwei = $('input[name="chuwei"]').attr("value");
var hangshu = $('input[name="hangshu"]').attr("value") * 1;
var lieshu = $('input[name="lieshu"]').attr("value") * 1;
var cengshu = $('input[name="cengshu"]').attr("value");
des = $('input[name="des"]').attr("value");
startcom = 'no';
midcom = 'no';
endcom = 'no';
var countstartcom=$("#startcom option").length;
var countmidcom=$("#midcom option").length;
var countendcom=$("#endcom option").length;
for(var i=0;i<countstartcom;i++) {
if ($("#startcom").get(0).options[i].selected) {
startcom = $("#startcom").get(0).options[i].value;
}
}
for(var i=0;i<countmidcom;i++) {
if ($("#midcom").get(0).options[i].selected) {
midcom = $("#midcom").get(0).options[i].value;
}
}
for(var i=0;i<countendcom;i++) {
if ($("#endcom").get(0).options[i].selected) {
endcom = $("#endcom").get(0).options[i].value;
}
}
//加载消息
var url = "mdBinController.do?getbinallagv&binstore=" +
cangku +
"&binid=" + chuwei +
"&des=" + des+
"&cengshu=" + cengshu+
"&hangshu=" + hangshu+
"&type=" + type+
"&startcom=" + startcom+
"&midcom=" + midcom+
"&endcom=" + endcom;
$.ajax({
url: url,
type: "GET",
dataType: "JSON",
async: false,
success: function (data) {
if (data.success) {
var messageList = data.attributes.messageList;
var messageCount = data.obj;
var messageContent = "";
var tincount = 0;
if (messageList.length > 0) {
let num = hangshu * lieshu +1; // 行数乘以列数 计算一共有多少格子
let obj ={
bin_store: "",
binid: "",
colour: "white",
des: "",
tincount: "",
xnode: "",
ynode: "",
znode: "",
} ;// 创建一个空数字 用于填充空格子(因为空格子后台不返回 前端循环渲染需要填充数据)
let list = []; // 创建数组填充所有格子
//循环填充数组
for(let s = 0 ; s < num ; s ++){
list.push(obj);
}
for(let o = 0; o < messageList.length; o++){
if(messageList[o].ynode*1 == 1){
console.log(messageList[o].ynode*1 * messageList[o].xnode*1 )
list[messageList[o].ynode*1 * messageList[o].xnode*1 ] = messageList[o]
}
else{
console.log((messageList[o].ynode*1 - 1) * hangshu*1 + messageList[o].xnode*1)
list[(messageList[o].ynode*1 - 1) * hangshu*1 + messageList[o].xnode*1 ] = messageList[o]
}
}
// console.log(list)
//计算宽度
var width = 170.5 * hangshu*1
$("#bottom").css("width",width);
for (let i = 1; i < list.length; i++) {
messageContent += " <div class='all' href='javascript:void(0);' style='background:" +list[i].colour+"' id='" +list[i].binid+"' onclick='javascript:addtab(\"" + list[i].binid + "\")';return false;'>";
messageContent += list[i].binid+ " </div> ";
// tincount = list[i].tincount + 0;
// if (tincount > 0) {
// messageContent += " <a class='a01 all' href='javascript:void(0);' onclick='javascript:addtab(\"" + list[i].des + "\")';return false;'>";
// messageContent += list[i].binid + " </a> ";
//
// } else {
// messageContent += " <a class='a02 all' href='javascript:void(0);' >";
// messageContent += list[i].binid + " </a> ";
//
// }
}
// var aList = $('.all')
// console.log(aList)
// for (var i = 0; i < messageList.length; i++) {
// tincount = messageList[i].tincount + 0;
// if (tincount > 0) {
// messageContent += " <a class='a01' href='javascript:void(0);' onclick='javascript:addtab(\"" + messageList[i].des + "\")';return false;'>";
// messageContent += messageList[i].binid + " </a> ";
//
// } else {
// messageContent += " <a class='a02' href='javascript:void(0);' >";
// messageContent += messageList[i].binid + " </a> ";
//
// }
// }
}
$("#bottom").html(messageContent);
// console.dir(messageContent);
}
}
});
}
function print(id) {
if (begindate == "" || enddate == "") {
alert("开始或者结束日期不能为空");
} else {
var url = "mvCusCostController.do?doPrint&id=" + id + "&begindate=" + begindate + "&enddate=" + enddate;
window.open(url);
}
}
</script>

View File

@ -1,206 +1,222 @@
<%@ page language="java" import="java.util.*" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ page language="java" import="java.util.*" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@include file="/context/mytags.jsp"%> <%@include file="/context/mytags.jsp"%>
<!DOCTYPE html> <!DOCTYPE html>
<html lang="zh-CN"> <html>
<head> <head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>PLC指令</title> <title>PLC指令</title>
<meta name="description" content=""> <t:base type="jquery,easyui,tools,DatePicker"></t:base>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="online/template/ledefault/css/vendor.css">
<link rel="stylesheet" href="online/template/ledefault/css/bootstrap-theme.css">
<link rel="stylesheet" href="online/template/ledefault/css/bootstrap.css">
<link rel="stylesheet" href="online/template/ledefault/css/app.css">
<link rel="stylesheet" href="plug-in/Validform/css/metrole/style.css" type="text/css"/>
<link rel="stylesheet" href="plug-in/Validform/css/metrole/tablefrom.css" type="text/css"/>
<script type="text/javascript" src="plug-in/jquery/jquery-1.8.3.js"></script>
<script type="text/javascript" src="plug-in/tools/dataformat.js"></script>
<script type="text/javascript" src="plug-in/easyui/jquery.easyui.min.1.3.2.js"></script>
<script type="text/javascript" src="plug-in/easyui/locale/zh-cn.js"></script>
<script type="text/javascript" src="plug-in/tools/syUtil.js"></script>
<script type="text/javascript" src="plug-in/My97DatePicker/WdatePicker.js"></script>
<script type="text/javascript" src="plug-in/lhgDialog/lhgdialog.min.js"></script>
<script type="text/javascript" src="plug-in/tools/curdtools_zh-cn.js"></script>
<script type="text/javascript" src="plug-in/tools/easyuiextend.js"></script>
<script type="text/javascript" src="plug-in/Validform/js/Validform_v5.3.1_min_zh-cn.js"></script>
<script type="text/javascript" src="plug-in/Validform/js/Validform_Datatype_zh-cn.js"></script>
<script type="text/javascript" src="plug-in/Validform/js/datatype_zh-cn.js"></script>
<script type="text/javascript" src="plug-in/Validform/plugin/passwordStrength/passwordStrength-min.js"></script>
<script type="text/javascript" charset="utf-8" src="plug-in/ueditor/ueditor.config.js"></script>
<script type="text/javascript" charset="utf-8" src="plug-in/ueditor/ueditor.all.min.js"></script>
<script type="text/javascript"> <script type="text/javascript">
//编写自定义JS代码 //编写自定义JS代码
</script> </script>
</head> </head>
<body> <body>
<t:formvalid formid="formobj" dialog="true" usePlugin="password" layout="table" action="wmsPlcController.do?doAdd" >
<input id="id" name="id" type="hidden" value="${wmsPlcPage.id }"/>
<input id="createName" name="createName" type="hidden" value="${wmsPlcPage.createName }"/>
<input id="createBy" name="createBy" type="hidden" value="${wmsPlcPage.createBy }"/>
<input id="createDate" name="createDate" type="hidden" value="${wmsPlcPage.createDate }"/>
<input id="updateName" name="updateName" type="hidden" value="${wmsPlcPage.updateName }"/>
<input id="updateBy" name="updateBy" type="hidden" value="${wmsPlcPage.updateBy }"/>
<input id="updateDate" name="updateDate" type="hidden" value="${wmsPlcPage.updateDate }"/>
<input id="sysOrgCode" name="sysOrgCode" type="hidden" value="${wmsPlcPage.sysOrgCode }"/>
<input id="sysCompanyCode" name="sysCompanyCode" type="hidden" value="${wmsPlcPage.sysCompanyCode }"/>
<input id="bpmStatus" name="bpmStatus" type="hidden" value="${wmsPlcPage.bpmStatus }"/>
<table style="width: 600px;" cellpadding="0" cellspacing="1" class="formtable">
<tr>
<td align="right">
<label class="Validform_label">
PLCIP:
</label>
</td>
<td class="value">
<input id="plcIp" name="plcIp" type="text" style="width: 150px" class="inputxt"
<t:formvalid formid="formobj" dialog="true" usePlugin="password" layout="table" action="wmsPlcController.do?doAdd" tiptype="1" >
<input type="hidden" id="btn_sub" class="btn_sub"/>
<input type="hidden" id="id" name="id"/>
<div class="tab-wrapper">
<!-- tab -->
<ul class="nav nav-tabs">
<li role="presentation" class="active"><a href="javascript:void(0);">PLC指令</a></li>
</ul>
<!-- tab内容 -->
<div class="con-wrapper" id="con-wrapper1" style="display: block;">
<div class="row form-wrapper">
<div class="row show-grid">
<div class="col-xs-3 text-center">
<b>PLCIP</b>
</div>
<div class="col-xs-3">
<input id="plcIp" name="plcIp" type="text" class="form-control"
ignore="ignore" ignore="ignore"
/> />
<span class="Validform_checktip" style="float:left;height:0px;"></span> <span class="Validform_checktip"></span>
<label class="Validform_label" style="display: none">PLCIP</label> <label class="Validform_label" style="display: none;">PLCIP</label>
</div> </td>
</div> <tr>
<td align="right">
<label class="Validform_label">
PLC端口:
</label>
</td>
<td class="value">
<input id="plcPort" name="plcPort" type="text" style="width: 150px" class="inputxt"
<div class="row show-grid">
<div class="col-xs-3 text-center">
<b>PLC端口</b>
</div>
<div class="col-xs-3">
<input id="plcPort" name="plcPort" type="text" class="form-control"
ignore="ignore" ignore="ignore"
/> />
<span class="Validform_checktip" style="float:left;height:0px;"></span> <span class="Validform_checktip"></span>
<label class="Validform_label" style="display: none">PLC端口</label> <label class="Validform_label" style="display: none;">PLC端口</label>
</div> </td>
</div> </tr>
<tr>
<td align="right">
<label class="Validform_label">
PLC型号:
</label>
</td>
<td class="value">
<input id="plcType" name="plcType" type="text" style="width: 150px" class="inputxt"
<div class="row show-grid">
<div class="col-xs-3 text-center">
<b>PLC型号</b>
</div>
<div class="col-xs-3">
<input id="plcType" name="plcType" type="text" class="form-control"
ignore="ignore" ignore="ignore"
/> />
<span class="Validform_checktip" style="float:left;height:0px;"></span> <span class="Validform_checktip"></span>
<label class="Validform_label" style="display: none">PLC型号</label> <label class="Validform_label" style="display: none;">PLC型号</label>
</div> </td>
</div> <tr>
<td align="right">
<label class="Validform_label">
指令备注:
</label>
</td>
<td class="value">
<input id="comRemark" name="comRemark" type="text" style="width: 150px" class="inputxt"
<div class="row show-grid">
<div class="col-xs-3 text-center">
<b>指令备注:</b>
</div>
<div class="col-xs-3">
<input id="comRemark" name="comRemark" type="text" class="form-control"
ignore="ignore" ignore="ignore"
/> />
<span class="Validform_checktip" style="float:left;height:0px;"></span> <span class="Validform_checktip"></span>
<label class="Validform_label" style="display: none">指令备注</label> <label class="Validform_label" style="display: none;">指令备注</label>
</div> </td>
</div> </tr>
<tr>
<td align="right">
<label class="Validform_label">
执行时间:
</label>
</td>
<td class="value">
<input id="comTime" name="comTime" type="text" style="width: 150px" class="inputxt"
<div class="row show-grid">
<div class="col-xs-3 text-center">
<b>执行时间:</b>
</div>
<div class="col-xs-3">
<input id="comTime" name="comTime" type="text" class="form-control"
ignore="ignore" ignore="ignore"
/> />
<span class="Validform_checktip" style="float:left;height:0px;"></span> <span class="Validform_checktip"></span>
<label class="Validform_label" style="display: none">执行时间</label> <label class="Validform_label" style="display: none;">执行时间</label>
</div> </td>
</div> <tr>
<td align="right">
<label class="Validform_label">
执行顺序:
</label>
</td>
<td class="value">
<input id="comSeq" name="comSeq" type="text" style="width: 150px" class="inputxt"
<div class="row show-grid">
<div class="col-xs-3 text-center">
<b>执行顺序:</b>
</div>
<div class="col-xs-3">
<input id="comSeq" name="comSeq" type="text" class="form-control"
ignore="ignore" ignore="ignore"
/> />
<span class="Validform_checktip" style="float:left;height:0px;"></span> <span class="Validform_checktip"></span>
<label class="Validform_label" style="display: none">执行顺序</label> <label class="Validform_label" style="display: none;">执行顺序</label>
</div> </td>
</div> </tr>
<tr>
<td align="right">
<div class="row show-grid"> <label class="Validform_label">
<div class="col-xs-3 text-center"> 指令集:
<b>指令集:</b> </label>
</div> </td>
<div class="col-xs-3"> <td class="value">
<textarea id="comCons" class="form-control" rows="6" <textarea style="width:600px;" class="inputxt" rows="6" id="comCons" name="comCons"
ignore="ignore" ignore="ignore"
name="comCons"></textarea> ></textarea>
<span class="Validform_checktip" style="float:left;height:0px;"></span> <span class="Validform_checktip"></span>
<label class="Validform_label" style="display: none">指令集</label> <label class="Validform_label" style="display: none;">指令集</label>
</div> </td>
</div> <tr>
<td align="right">
<label class="Validform_label">
备用1:
</label>
</td>
<td class="value">
<input id="remark1" name="remark1" type="text" style="width: 150px" class="inputxt"
<div class="row show-grid">
<div class="col-xs-3 text-center">
<b>备用1</b>
</div>
<div class="col-xs-3">
<input id="remark1" name="remark1" type="text" class="form-control"
ignore="ignore" ignore="ignore"
/> />
<span class="Validform_checktip" style="float:left;height:0px;"></span> <span class="Validform_checktip"></span>
<label class="Validform_label" style="display: none">备用1</label> <label class="Validform_label" style="display: none;">备用1</label>
</div> </td>
</div> </tr>
<tr>
<td align="right">
<label class="Validform_label">
指令编号:
</label>
</td>
<td class="value">
<input id="comNo" name="comNo" type="text" style="width: 150px" class="inputxt"
ignore="ignore"
/>
<span class="Validform_checktip"></span>
<label class="Validform_label" style="display: none;">指令编号</label>
</td>
<tr>
<td align="right">
<label class="Validform_label">
单步参数1:
</label>
</td>
<td class="value">
<input id="query01" name="query01" type="text" style="width: 150px" class="inputxt"
ignore="ignore"
/>
<span class="Validform_checktip"></span>
<label class="Validform_label" style="display: none;">单步参数1</label>
</td>
</tr>
<tr>
<td align="right">
<label class="Validform_label">
单步参数2:
</label>
</td>
<td class="value">
<input id="query02" name="query02" type="text" style="width: 150px" class="inputxt"
ignore="ignore"
/>
<span class="Validform_checktip"></span>
<label class="Validform_label" style="display: none;">单步参数2</label>
</td>
<tr>
<td align="right">
<label class="Validform_label">
单步时间:
</label>
</td>
<td class="value">
<input id="setpTime" name="setpTime" type="text" style="width: 150px" class="inputxt"
<div class="row" id = "sub_tr" style="display: none;"> ignore="ignore"
<div class="col-xs-12 layout-header"> />
<div class="col-xs-6"></div> <span class="Validform_checktip"></span>
<div class="col-xs-6"><button type="button" onclick="neibuClick();" class="btn btn-default">提交</button></div> <label class="Validform_label" style="display: none;">单步时间</label>
</div> </td>
</div> </tr>
</div> <tr>
</div> <td align="right">
<label class="Validform_label">
步数:
</label>
</td>
<td class="value">
<input id="setpNum" name="setpNum" type="text" style="width: 150px" class="inputxt"
<div class="con-wrapper" id="con-wrapper2" style="display: block;"></div> ignore="ignore"
</div> />
<span class="Validform_checktip"></span>
<label class="Validform_label" style="display: none;">步数</label>
</td>
<td align="right">
<label class="Validform_label">
</label>
</td>
<td class="value">
</td>
</tr>
</table>
</t:formvalid> </t:formvalid>
<script type="text/javascript">
$(function(){
//查看模式情况下,删除和上传附件功能禁止使用
if(location.href.indexOf("load=detail")!=-1){
$(".jeecgDetail").hide();
}
if(location.href.indexOf("mode=read")!=-1){
//查看模式控件禁用
$("#formobj").find(":input").attr("disabled","disabled");
}
if(location.href.indexOf("mode=onbutton")!=-1){
//其他模式显示提交按钮
$("#sub_tr").show();
}
});
var neibuClickFlag = false;
function neibuClick() {
neibuClickFlag = true;
$('#btn_sub').trigger('click');
}
</script>
</body> </body>
<script src = "webpage/com/zzjee/plc/wmsPlc.js"></script> <script src = "webpage/com/zzjee/plc/wmsPlc.js"></script>
</html>

View File

@ -1,206 +1,210 @@
<%@ page language="java" import="java.util.*" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ page language="java" import="java.util.*" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@include file="/context/mytags.jsp"%> <%@include file="/context/mytags.jsp"%>
<!DOCTYPE html> <!DOCTYPE html>
<html lang="zh-CN"> <html>
<head> <head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>PLC指令</title> <title>PLC指令</title>
<meta name="description" content=""> <t:base type="jquery,easyui,tools,DatePicker"></t:base>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="online/template/ledefault/css/vendor.css">
<link rel="stylesheet" href="online/template/ledefault/css/bootstrap-theme.css">
<link rel="stylesheet" href="online/template/ledefault/css/bootstrap.css">
<link rel="stylesheet" href="online/template/ledefault/css/app.css">
<link rel="stylesheet" href="plug-in/Validform/css/metrole/style.css" type="text/css"/>
<link rel="stylesheet" href="plug-in/Validform/css/metrole/tablefrom.css" type="text/css"/>
<script type="text/javascript" src="plug-in/jquery/jquery-1.8.3.js"></script>
<script type="text/javascript" src="plug-in/tools/dataformat.js"></script>
<script type="text/javascript" src="plug-in/easyui/jquery.easyui.min.1.3.2.js"></script>
<script type="text/javascript" src="plug-in/easyui/locale/zh-cn.js"></script>
<script type="text/javascript" src="plug-in/tools/syUtil.js"></script>
<script type="text/javascript" src="plug-in/My97DatePicker/WdatePicker.js"></script>
<script type="text/javascript" src="plug-in/lhgDialog/lhgdialog.min.js"></script>
<script type="text/javascript" src="plug-in/tools/curdtools_zh-cn.js"></script>
<script type="text/javascript" src="plug-in/tools/easyuiextend.js"></script>
<script type="text/javascript" src="plug-in/Validform/js/Validform_v5.3.1_min_zh-cn.js"></script>
<script type="text/javascript" src="plug-in/Validform/js/Validform_Datatype_zh-cn.js"></script>
<script type="text/javascript" src="plug-in/Validform/js/datatype_zh-cn.js"></script>
<script type="text/javascript" src="plug-in/Validform/plugin/passwordStrength/passwordStrength-min.js"></script>
<script type="text/javascript" charset="utf-8" src="plug-in/ueditor/ueditor.config.js"></script>
<script type="text/javascript" charset="utf-8" src="plug-in/ueditor/ueditor.all.min.js"></script>
<script type="text/javascript"> <script type="text/javascript">
//编写自定义JS代码 //编写自定义JS代码
</script> </script>
</head> </head>
<body> <body>
<t:formvalid formid="formobj" dialog="true" usePlugin="password" layout="table" action="wmsPlcController.do?doUpdate" tiptype="1" > <t:formvalid formid="formobj" dialog="true" usePlugin="password" layout="table" action="wmsPlcController.do?doUpdate" >
<input type="hidden" id="btn_sub" class="btn_sub"/> <input id="id" name="id" type="hidden" value="${wmsPlcPage.id }">
<input type="hidden" name="id" value='${wmsPlcPage.id}' > <input id="createName" name="createName" type="hidden" value="${wmsPlcPage.createName }">
<input id="createBy" name="createBy" type="hidden" value="${wmsPlcPage.createBy }">
<input id="createDate" name="createDate" type="hidden" value="${wmsPlcPage.createDate }">
<div class="tab-wrapper"> <input id="updateName" name="updateName" type="hidden" value="${wmsPlcPage.updateName }">
<!-- tab --> <input id="updateBy" name="updateBy" type="hidden" value="${wmsPlcPage.updateBy }">
<ul class="nav nav-tabs"> <input id="updateDate" name="updateDate" type="hidden" value="${wmsPlcPage.updateDate }">
<li role="presentation" class="active"><a href="javascript:void(0);">PLC指令</a></li> <input id="sysOrgCode" name="sysOrgCode" type="hidden" value="${wmsPlcPage.sysOrgCode }">
</ul> <input id="sysCompanyCode" name="sysCompanyCode" type="hidden" value="${wmsPlcPage.sysCompanyCode }">
<!-- tab内容 --> <input id="bpmStatus" name="bpmStatus" type="hidden" value="${wmsPlcPage.bpmStatus }">
<div class="con-wrapper" id="con-wrapper1" style="display: block;"> <table style="width: 600px;" cellpadding="0" cellspacing="1" class="formtable">
<div class="row form-wrapper"> <tr>
<div class="row show-grid"> <td align="right">
<div class="col-xs-3 text-center"> <label class="Validform_label">
<b>PLCIP</b> PLCIP:
</div> </label>
<div class="col-xs-3"> </td>
<input id="plcIp" name="plcIp" type="text" class="form-control" <td class="value">
<input id="plcIp" name="plcIp" type="text" style="width: 150px" class="inputxt"
ignore="ignore" ignore="ignore"
value='${wmsPlcPage.plcIp}' /> value='${wmsPlcPage.plcIp}'>
<span class="Validform_checktip" style="float:left;height:0px;"></span> <span class="Validform_checktip"></span>
<label class="Validform_label" style="display: none">PLCIP</label> <label class="Validform_label" style="display: none;">PLCIP</label>
</div> </td>
</div> <tr>
<td align="right">
<label class="Validform_label">
<div class="row show-grid"> PLC端口:
<div class="col-xs-3 text-center"> </label>
<b>PLC端口</b> </td>
</div> <td class="value">
<div class="col-xs-3"> <input id="plcPort" name="plcPort" type="text" style="width: 150px" class="inputxt"
<input id="plcPort" name="plcPort" type="text" class="form-control"
ignore="ignore" ignore="ignore"
value='${wmsPlcPage.plcPort}' /> value='${wmsPlcPage.plcPort}'>
<span class="Validform_checktip" style="float:left;height:0px;"></span> <span class="Validform_checktip"></span>
<label class="Validform_label" style="display: none">PLC端口</label> <label class="Validform_label" style="display: none;">PLC端口</label>
</div> </td>
</div> </tr>
<tr>
<td align="right">
<div class="row show-grid"> <label class="Validform_label">
<div class="col-xs-3 text-center"> PLC型号:
<b>PLC型号</b> </label>
</div> </td>
<div class="col-xs-3"> <td class="value">
<input id="plcType" name="plcType" type="text" class="form-control" <input id="plcType" name="plcType" type="text" style="width: 150px" class="inputxt"
ignore="ignore" ignore="ignore"
value='${wmsPlcPage.plcType}' /> value='${wmsPlcPage.plcType}'>
<span class="Validform_checktip" style="float:left;height:0px;"></span> <span class="Validform_checktip"></span>
<label class="Validform_label" style="display: none">PLC型号</label> <label class="Validform_label" style="display: none;">PLC型号</label>
</div> </td>
</div> <tr>
<td align="right">
<label class="Validform_label">
<div class="row show-grid"> 指令备注:
<div class="col-xs-3 text-center"> </label>
<b>指令备注:</b> </td>
</div> <td class="value">
<div class="col-xs-3"> <input id="comRemark" name="comRemark" type="text" style="width: 150px" class="inputxt"
<input id="comRemark" name="comRemark" type="text" class="form-control"
ignore="ignore" ignore="ignore"
value='${wmsPlcPage.comRemark}' /> value='${wmsPlcPage.comRemark}'>
<span class="Validform_checktip" style="float:left;height:0px;"></span> <span class="Validform_checktip"></span>
<label class="Validform_label" style="display: none">指令备注</label> <label class="Validform_label" style="display: none;">指令备注</label>
</div> </td>
</div> </tr>
<tr>
<td align="right">
<div class="row show-grid"> <label class="Validform_label">
<div class="col-xs-3 text-center"> 执行时间:
<b>执行时间:</b> </label>
</div> </td>
<div class="col-xs-3"> <td class="value">
<input id="comTime" name="comTime" type="text" class="form-control" <input id="comTime" name="comTime" type="text" style="width: 150px" class="inputxt"
ignore="ignore" ignore="ignore"
value='${wmsPlcPage.comTime}' /> value='${wmsPlcPage.comTime}'>
<span class="Validform_checktip" style="float:left;height:0px;"></span> <span class="Validform_checktip"></span>
<label class="Validform_label" style="display: none">执行时间</label> <label class="Validform_label" style="display: none;">执行时间</label>
</div> </td>
</div> <tr>
<td align="right">
<label class="Validform_label">
<div class="row show-grid"> 执行顺序:
<div class="col-xs-3 text-center"> </label>
<b>执行顺序:</b> </td>
</div> <td class="value">
<div class="col-xs-3"> <input id="comSeq" name="comSeq" type="text" style="width: 150px" class="inputxt"
<input id="comSeq" name="comSeq" type="text" class="form-control"
ignore="ignore" ignore="ignore"
value='${wmsPlcPage.comSeq}' /> value='${wmsPlcPage.comSeq}'>
<span class="Validform_checktip" style="float:left;height:0px;"></span> <span class="Validform_checktip"></span>
<label class="Validform_label" style="display: none">执行顺序</label> <label class="Validform_label" style="display: none;">执行顺序</label>
</div> </td>
</div> </tr>
<tr>
<td align="right">
<div class="row show-grid"> <label class="Validform_label">
<div class="col-xs-3 text-center"> 指令集:
<b>指令集:</b> </label>
</div> </td>
<div class="col-xs-3"> <td class="value">
<textarea id="comCons" class="form-control" rows="6" <textarea id="comCons" style="width:600px;" class="inputxt" rows="6" name="comCons"
ignore="ignore" ignore="ignore"
name="comCons">${wmsPlcPage.comCons}</textarea> >${wmsPlcPage.comCons}</textarea>
<span class="Validform_checktip" style="float:left;height:0px;"></span> <span class="Validform_checktip"></span>
<label class="Validform_label" style="display: none">指令集</label> <label class="Validform_label" style="display: none;">指令集</label>
</div> </td>
</div> <tr>
<td align="right">
<label class="Validform_label">
<div class="row show-grid"> 备用1:
<div class="col-xs-3 text-center"> </label>
<b>备用1</b> </td>
</div> <td class="value">
<div class="col-xs-3"> <input id="remark1" name="remark1" type="text" style="width: 150px" class="inputxt"
<input id="remark1" name="remark1" type="text" class="form-control"
ignore="ignore" ignore="ignore"
value='${wmsPlcPage.remark1}' /> value='${wmsPlcPage.remark1}'>
<span class="Validform_checktip" style="float:left;height:0px;"></span> <span class="Validform_checktip"></span>
<label class="Validform_label" style="display: none">备用1</label> <label class="Validform_label" style="display: none;">备用1</label>
</div> </td>
</div> </tr>
<tr>
<td align="right">
<label class="Validform_label">
指令编号:
<div class="row" id = "sub_tr" style="display: none;"> </label>
<div class="col-xs-12 layout-header"> </td>
<div class="col-xs-6"></div> <td class="value">
<div class="col-xs-6"><button type="button" onclick="neibuClick();" class="btn btn-default">提交</button></div> <input id="comNo" name="comNo" type="text" style="width: 150px" class="inputxt"
</div> ignore="ignore"
</div> value='${wmsPlcPage.comNo}'>
</div> <span class="Validform_checktip"></span>
</div> <label class="Validform_label" style="display: none;">指令编号</label>
</td>
<div class="con-wrapper" id="con-wrapper2" style="display: block;"></div> <tr>
</div> <td align="right">
<label class="Validform_label">
单步参数1:
</label>
</td>
<td class="value">
<input id="query01" name="query01" type="text" style="width: 150px" class="inputxt"
ignore="ignore"
value='${wmsPlcPage.query01}'>
<span class="Validform_checktip"></span>
<label class="Validform_label" style="display: none;">单步参数1</label>
</td>
</tr>
<tr>
<td align="right">
<label class="Validform_label">
单步参数2:
</label>
</td>
<td class="value">
<input id="query02" name="query02" type="text" style="width: 150px" class="inputxt"
ignore="ignore"
value='${wmsPlcPage.query02}'>
<span class="Validform_checktip"></span>
<label class="Validform_label" style="display: none;">单步参数2</label>
</td>
<tr>
<td align="right">
<label class="Validform_label">
单步时间:
</label>
</td>
<td class="value">
<input id="setpTime" name="setpTime" type="text" style="width: 150px" class="inputxt"
ignore="ignore"
value='${wmsPlcPage.setpTime}'>
<span class="Validform_checktip"></span>
<label class="Validform_label" style="display: none;">单步时间</label>
</td>
</tr>
<tr>
<td align="right">
<label class="Validform_label">
步数:
</label>
</td>
<td class="value">
<input id="setpNum" name="setpNum" type="text" style="width: 150px" class="inputxt"
ignore="ignore"
value='${wmsPlcPage.setpNum}'>
<span class="Validform_checktip"></span>
<label class="Validform_label" style="display: none;">步数</label>
</td>
<td align="right">
<label class="Validform_label">
</label>
</td>
<td class="value">
</td>
</tr>
</table>
</t:formvalid> </t:formvalid>
<script type="text/javascript">
$(function(){
//查看模式情况下,删除和上传附件功能禁止使用
if(location.href.indexOf("load=detail")!=-1){
$(".jeecgDetail").hide();
}
if(location.href.indexOf("mode=read")!=-1){
//查看模式控件禁用
$("#formobj").find(":input").attr("disabled","disabled");
}
if(location.href.indexOf("mode=onbutton")!=-1){
//其他模式显示提交按钮
$("#sub_tr").show();
}
});
var neibuClickFlag = false;
function neibuClick() {
neibuClickFlag = true;
$('#btn_sub').trigger('click');
}
</script>
</body> </body>
<script src = "webpage/com/zzjee/plc/wmsPlc.js"></script> <script src = "webpage/com/zzjee/plc/wmsPlc.js"></script>
</html>

View File

@ -21,6 +21,10 @@ function commonUpload(callback){
} }
}); });
} }
function browseImages(inputId, Img) {// 图片管理器,可多个上传共用
}
function browseFiles(inputId, file) {// 文件管理器,可多个上传共用
}
function decode(value, id) {//value传入值,id接受值 function decode(value, id) {//value传入值,id接受值
var last = value.lastIndexOf("/"); var last = value.lastIndexOf("/");
var filename = value.substring(last + 1, value.length); var filename = value.substring(last + 1, value.length);

View File

@ -14,14 +14,19 @@
<t:dgCol title="所属部门" field="sysOrgCode" hidden="true" queryMode="single" width="120"></t:dgCol> <t:dgCol title="所属部门" field="sysOrgCode" hidden="true" queryMode="single" width="120"></t:dgCol>
<t:dgCol title="所属公司" field="sysCompanyCode" hidden="true" queryMode="single" width="120"></t:dgCol> <t:dgCol title="所属公司" field="sysCompanyCode" hidden="true" queryMode="single" width="120"></t:dgCol>
<t:dgCol title="流程状态" field="bpmStatus" hidden="true" queryMode="single" dictionary="bpm_status" width="120"></t:dgCol> <t:dgCol title="流程状态" field="bpmStatus" hidden="true" queryMode="single" dictionary="bpm_status" width="120"></t:dgCol>
<t:dgCol title="PLCIP" field="plcIp" query="true" queryMode="single" width="120"></t:dgCol> <t:dgCol title="PLCIP" field="plcIp" queryMode="group" width="120"></t:dgCol>
<t:dgCol title="PLC端口" field="plcPort" query="true" queryMode="single" width="120"></t:dgCol> <t:dgCol title="PLC端口" field="plcPort" queryMode="group" width="120"></t:dgCol>
<t:dgCol title="PLC型号" field="plcType" query="true" queryMode="single" width="120"></t:dgCol> <t:dgCol title="PLC型号" field="plcType" query="true" queryMode="group" width="120"></t:dgCol>
<t:dgCol title="指令备注" field="comRemark" query="true" queryMode="single" width="120"></t:dgCol> <t:dgCol title="指令备注" field="comRemark" query="true" queryMode="group" width="120"></t:dgCol>
<t:dgCol title="执行时间(毫秒)" field="comTime" queryMode="single" width="120"></t:dgCol> <t:dgCol title="执行时间" field="comTime" queryMode="group" width="120"></t:dgCol>
<t:dgCol title="执行顺序" field="comSeq" queryMode="single" width="120"></t:dgCol> <t:dgCol title="执行顺序" field="comSeq" queryMode="group" width="120"></t:dgCol>
<t:dgCol title="指令集" field="comCons" queryMode="single" width="120"></t:dgCol> <t:dgCol title="指令集" field="comCons" queryMode="group" width="120"></t:dgCol>
<t:dgCol title="备用1" field="remark1" queryMode="single" width="120"></t:dgCol> <t:dgCol title="备用1" field="remark1" queryMode="group" width="120"></t:dgCol>
<t:dgCol title="指令编号" field="comNo" query="true" queryMode="single" width="120"></t:dgCol>
<t:dgCol title="单步参数1" field="query01" queryMode="single" width="120"></t:dgCol>
<t:dgCol title="单步参数2" field="query02" queryMode="single" width="120"></t:dgCol>
<t:dgCol title="单步时间" field="setpTime" queryMode="single" width="120"></t:dgCol>
<t:dgCol title="步数" field="setpNum" queryMode="single" width="120"></t:dgCol>
<t:dgCol title="操作" field="opt" width="100"></t:dgCol> <t:dgCol title="操作" field="opt" width="100"></t:dgCol>
<t:dgDelOpt title="删除" url="wmsPlcController.do?doDel&id={id}" urlclass="ace_button" urlfont="fa-trash-o"/> <t:dgDelOpt title="删除" url="wmsPlcController.do?doDel&id={id}" urlclass="ace_button" urlfont="fa-trash-o"/>
<t:dgToolBar title="录入" icon="icon-add" url="wmsPlcController.do?goAdd" funname="add"></t:dgToolBar> <t:dgToolBar title="录入" icon="icon-add" url="wmsPlcController.do?goAdd" funname="add"></t:dgToolBar>

View File

@ -36,9 +36,9 @@
<%-- <t:dgToolBar title="批量删除" icon="icon-remove" url="wmToUpGoodsController.do?doBatchDel" funname="deleteALLSelect"></t:dgToolBar> --%> <%-- <t:dgToolBar title="批量删除" icon="icon-remove" url="wmToUpGoodsController.do?doBatchDel" funname="deleteALLSelect"></t:dgToolBar> --%>
<t:dgToolBar title="查看" icon="icon-search" url="wmToUpGoodsController.do?goUpdate" funname="detail"></t:dgToolBar> <t:dgToolBar title="查看" icon="icon-search" url="wmToUpGoodsController.do?goUpdate" funname="detail"></t:dgToolBar>
<t:dgToolBar title="导入库存" icon="icon-put" funname="ImportXls"></t:dgToolBar> <t:dgToolBar title="导入库存" icon="icon-put" funname="ImportXls"></t:dgToolBar>
<t:dgToolBar title="清空基础数据" icon="icon-put" funname="ImportXls"></t:dgToolBar> <%-- <t:dgToolBar title="清空基础数据" icon="icon-put" funname="ImportXls"></t:dgToolBar>--%>
<t:dgToolBar title="清空库存数据" icon="icon-put" funname="ImportXls"></t:dgToolBar> <%-- <t:dgToolBar title="清空库存数据" icon="icon-put" funname="ImportXls"></t:dgToolBar>--%>
<t:dgToolBar title="清空业务数据" icon="icon-put" funname="ImportXls"></t:dgToolBar> <%-- <t:dgToolBar title="清空业务数据" icon="icon-put" funname="ImportXls"></t:dgToolBar>--%>
<t:dgToolBar title="导出" icon="icon-putout" funname="ExportXls"></t:dgToolBar> <t:dgToolBar title="导出" icon="icon-putout" funname="ExportXls"></t:dgToolBar>
<t:dgToolBar title="模板下载" icon="icon-putout" funname="ExportXlsByT"></t:dgToolBar> <t:dgToolBar title="模板下载" icon="icon-putout" funname="ExportXlsByT"></t:dgToolBar>

View File

@ -59,44 +59,61 @@
<div class="position-relative"> <div class="position-relative">
<div id="login-box" class="login-box visible widget-box no-border"> <div id="login-box" class="login-box visible widget-box no-border">
<div class="widget-body"> <div class="widget-body">
<form id="loinForm" class="form-horizontal" check="loginController.do?checkuser" role="form" action="loginController.do?login" method="post"> <form id="loinForm" class="form-horizontal" check="loginController.do?checkuser"
role="form" action="loginController.do?login" method="post">
<div class="widget-main"> <div class="widget-main">
<div class="alert alert-warning alert-dismissible" role="alert" id="errMsgContiner"> <div class="alert alert-warning alert-dismissible" role="alert"
<button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">&times;</span></button> id="errMsgContiner">
<button type="button" class="close" data-dismiss="alert" aria-label="Close">
<span aria-hidden="true">&times;</span></button>
<div id="showErrMsg"></div> <div id="showErrMsg"></div>
</div> </div>
<h4 class="header blue lighter bigger"> <h4 class="header blue lighter bigger">
<i class="ace-icon fa fa-coffee green"></i> <i class="ace-icon fa fa-coffee green"></i>
用户登录 <t:mutiLang langKey="login.info"/>
</h4> </h4>
<div class="space-6"></div> <div class="space-6"></div>
<label class="block clearfix"> <label class="block clearfix">
<span class="block input-icon input-icon-right"> <span class="block input-icon input-icon-right">
<input type="text" name="userName" class="form-control" placeholder="请输入用户名" id="userName" value="admin"/> <input type="text" name="userName" class="form-control" id="userName"
value="admin"/>
<i class="ace-icon fa fa-user"></i> <i class="ace-icon fa fa-user"></i>
</span> </span>
</label> </label>
<label class="block clearfix"> <label class="block clearfix">
<span class="block input-icon input-icon-right"> <span class="block input-icon input-icon-right">
<input type="password" name="password" class="form-control" placeholder="请输入密码" id="password" value="llg123"/> <input type="password" name="password" class="form-control" id="password"
value="llg123"/>
<i class="ace-icon fa fa-lock"></i> <i class="ace-icon fa fa-lock"></i>
</span> </span>
</label> </label>
<label class="block clearfix"> <label class="block clearfix">
<div class="input-group"> <div class="input-group">
<input type="text" style="width:150px" name="randCode" class="form-control" placeholder="请输入验证码" id="randCode"/> <input type="text" style="width:150px" name="randCode"
<span class="input-group-addon" style="padding: 0px;"><img id="randCodeImage" src="randCodeImage" /></span> class="form-control" id="randCode"/>
<span class="input-group-addon" style="padding: 0px;"><img
id="randCodeImage" src="randCodeImage"/></span>
</div> </div>
</label> </label>
<div class="space"></div> <div class="space"></div>
<div class="clearfix"> <div class="clearfix">
<label class="inline"> <label class="inline">
<input type="checkbox" class="ace" id="on_off" name="remember" value="yes"/> <input type="checkbox" class="ace" id="on_off" name="remember"
<span class="lbl">记住用户名</span> value="yes"/>
<span class="lbl">
<t:mutiLang langKey="login.saveusername"/>
</span>
</label> </label>
<button type="button" id="but_login" onclick="checkUser()" class="width-35 pull-right btn btn-sm btn-primary"> <button type="button" id="but_login" onclick="checkUser()"
class="width-35 pull-right btn btn-sm btn-primary">
<i class="ace-icon fa fa-key"></i> <i class="ace-icon fa fa-key"></i>
<span class="bigger-110" >登录</span> <span class="bigger-110">
<t:mutiLang langKey="login.login"/>
</span>
</button> </button>
</div> </div>
<div class="space-4"></div> <div class="space-4"></div>
@ -107,7 +124,10 @@
<a href="#" class="forgot-password-link"> <a href="#" class="forgot-password-link">
语言 语言
<i class="ace-icon fa fa-arrow-right"></i> <i class="ace-icon fa fa-arrow-right"></i>
<t:dictSelect id="langCode" field="langCode" typeGroupCode="lang" hasLabel="false" extendJson="{style:'padding:2px; width:80px;'}" defaultVal="zh-cn"></t:dictSelect> <t:dictSelect id="langCode" field="langCode" typeGroupCode="lang"
hasLabel="false"
extendJson="{style:'padding:2px; width:80px;'}"
defaultVal="zh-cn"></t:dictSelect>
</a> </a>
</div> </div>
</div> </div>
@ -137,7 +157,6 @@
</div> </div>
<script type="text/javascript" src="plug-in/jquery/jquery-1.8.3.min.js"></script> <script type="text/javascript" src="plug-in/jquery/jquery-1.8.3.min.js"></script>
<script type="text/javascript" src="plug-in/jquery/jquery.cookie.js"></script> <script type="text/javascript" src="plug-in/jquery/jquery.cookie.js"></script>
<script type="text/javascript" src="plug-in/mutiLang/en.js"></script> <script type="text/javascript" src="plug-in/mutiLang/en.js"></script>
@ -150,6 +169,7 @@
optErrMsg(); optErrMsg();
}); });
$("#errMsgContiner").hide(); $("#errMsgContiner").hide();
function optErrMsg() { function optErrMsg() {
$("#showErrMsg").html(''); $("#showErrMsg").html('');
$("#errMsgContiner").hide(); $("#errMsgContiner").hide();
@ -169,6 +189,7 @@
} }
newLogin(); newLogin();
} }
//表单验证 //表单验证
function validForm() { function validForm() {
if ($.trim($("#userName").val()).length == 0) { if ($.trim($("#userName").val()).length == 0) {
@ -272,18 +293,21 @@
} }
}); });
} }
//登录提示消息显示 //登录提示消息显示
function showErrorMsg(msg) { function showErrorMsg(msg) {
$("#errMsgContiner").show(); $("#errMsgContiner").show();
$("#showErrMsg").html(msg); $("#showErrMsg").html(msg);
window.setTimeout(optErrMsg, 3000); window.setTimeout(optErrMsg, 3000);
} }
/** /**
* 刷新验证码 * 刷新验证码
*/ */
$('#randCodeImage').click(function () { $('#randCodeImage').click(function () {
reloadRandCodeImage(); reloadRandCodeImage();
}); });
function reloadRandCodeImage() { function reloadRandCodeImage() {
var date = new Date(); var date = new Date();
var img = document.getElementById("randCodeImage"); var img = document.getElementById("randCodeImage");
@ -296,6 +320,7 @@ function reloadRandCodeImage() {
$('#id-company-text').attr('class', 'blue'); $('#id-company-text').attr('class', 'blue');
e.preventDefault(); e.preventDefault();
} }
function lightStyle() { function lightStyle() {
$('body').attr('class', 'login-layout light-login'); $('body').attr('class', 'login-layout light-login');
$('#id-text2').attr('class', 'grey'); $('#id-text2').attr('class', 'grey');
@ -303,6 +328,7 @@ function reloadRandCodeImage() {
e.preventDefault(); e.preventDefault();
} }
function blurStyle() { function blurStyle() {
$('body').attr('class', 'login-layout blur-login'); $('body').attr('class', 'login-layout blur-login');
$('#id-text2').attr('class', 'white'); $('#id-text2').attr('class', 'white');
@ -310,9 +336,9 @@ function reloadRandCodeImage() {
e.preventDefault(); e.preventDefault();
} }
//设置cookie //设置cookie
function setCookie() function setCookie() {
{
if ($('#on_off').val() == '1') { if ($('#on_off').val() == '1') {
$("input[iscookie='true']").each(function () { $("input[iscookie='true']").each(function () {
$.cookie(this.name, $("#" + this.name).val(), "/", 24); $.cookie(this.name, $("#" + this.name).val(), "/", 24);
@ -325,9 +351,9 @@ function reloadRandCodeImage() {
}); });
} }
} }
//读取cookie //读取cookie
function getCookie() function getCookie() {
{
var COOKIE_NAME = $.cookie("COOKIE_NAME"); var COOKIE_NAME = $.cookie("COOKIE_NAME");
if (COOKIE_NAME != null) { if (COOKIE_NAME != null) {
$("input[iscookie='true']").each(function () { $("input[iscookie='true']").each(function () {
@ -341,9 +367,7 @@ function reloadRandCodeImage() {
}); });
$("#on_off").attr("checked", true); $("#on_off").attr("checked", true);
$("#on_off").val("1"); $("#on_off").val("1");
} } else {
else
{
$("#on_off").attr("checked", false); $("#on_off").attr("checked", false);
$("#on_off").val("0"); $("#on_off").val("0");
$("#randCode").focus(); $("#randCode").focus();