PLC增加调度
parent
c8c3f53ba5
commit
54720c6251
|
@ -310,12 +310,12 @@ public class MdBinController extends BaseController {
|
||||||
String endcom = req.getParameter("endcom");
|
String endcom = req.getParameter("endcom");
|
||||||
if ("diaodu".equals(type)) {//调度需要方式指令
|
if ("diaodu".equals(type)) {//调度需要方式指令
|
||||||
// 异步发送指令
|
// 异步发送指令
|
||||||
if(StringUtil.isEmpty(binFrom)){
|
if (StringUtil.isEmpty(binFrom)) {
|
||||||
j.setMsg("开始储位为空");
|
j.setMsg("开始储位为空");
|
||||||
j.setSuccess(false);
|
j.setSuccess(false);
|
||||||
return j;
|
return j;
|
||||||
}
|
}
|
||||||
if(StringUtil.isEmpty(binTo)){
|
if (StringUtil.isEmpty(binTo)) {
|
||||||
j.setMsg("结束储位为空");
|
j.setMsg("结束储位为空");
|
||||||
j.setSuccess(false);
|
j.setSuccess(false);
|
||||||
return j;
|
return j;
|
||||||
|
@ -324,7 +324,8 @@ public class MdBinController extends BaseController {
|
||||||
executor.execute(new Runnable() {
|
executor.execute(new Runnable() {
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
runagv(binFrom, binTo,startcom,midcom,endcom);
|
|
||||||
|
runagv(binFrom, binTo, startcom, midcom, endcom, type);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
|
@ -406,39 +407,38 @@ public class MdBinController extends BaseController {
|
||||||
return j;
|
return j;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void runagv(String binfrom, String binto, String startcom, String midcom, String endcom) {
|
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);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
List<MdBinEntity> mdblistfrom = systemService.findByProperty(MdBinEntity.class, "kuWeiBianMa", binfrom);
|
if (y0.equals("01")) {
|
||||||
List<MdBinEntity> mdblistto = systemService.findByProperty(MdBinEntity.class, "kuWeiBianMa", binto);
|
System.out.println("1,runx:" + xstepNum);
|
||||||
MdBinEntity mdBinEntityfrom = mdblistfrom.get(0);
|
wmsPlcController.run("", "runx", xstepNum);
|
||||||
MdBinEntity mdBinEntityto = mdblistto.get(0);
|
} else {
|
||||||
String x0 = mdBinEntityfrom.getXnode();
|
System.out.println("2,runy:" + ystepNum);
|
||||||
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);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
wmsPlcController.run("", "runy", ystepNum);
|
||||||
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){
|
// if(xStep>0 && yStep>0){
|
||||||
|
@ -447,24 +447,28 @@ public class MdBinController extends BaseController {
|
||||||
//
|
//
|
||||||
// wmsPlcController.run("","change",hxstepNum);
|
// wmsPlcController.run("","change",hxstepNum);
|
||||||
// }
|
// }
|
||||||
if(!"no".equals(midcom)&&StringUtil.isNotEmpty(midcom)){
|
if (!"no".equals(midcom) && StringUtil.isNotEmpty(midcom)) {
|
||||||
hxstepNum = "1";
|
hxstepNum = "1";
|
||||||
System.out.println("midcom,midcom:"+midcom);
|
System.out.println("midcom,midcom:" + midcom);
|
||||||
wmsPlcController.run("",midcom,hxstepNum);
|
wmsPlcController.run("", midcom, hxstepNum);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(y0.equals("01")){
|
if (y0.equals("01")) {
|
||||||
System.out.println("4,runy:"+ystepNum);
|
System.out.println("4,runy:" + ystepNum);
|
||||||
wmsPlcController.run("","runy",ystepNum);
|
wmsPlcController.run("", "runy", ystepNum);
|
||||||
}else{
|
} else {
|
||||||
System.out.println("5,runx:"+xstepNum);
|
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();
|
||||||
|
|
||||||
wmsPlcController.run("","runx",xstepNum);
|
|
||||||
}
|
|
||||||
if(!"no".equals(endcom)&&StringUtil.isNotEmpty(endcom)){
|
|
||||||
hxstepNum = "1";
|
|
||||||
System.out.println("endcom,endcom:"+endcom);
|
|
||||||
wmsPlcController.run("",endcom,hxstepNum);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,9 +1,11 @@
|
||||||
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;
|
||||||
|
@ -35,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;
|
||||||
|
@ -45,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;
|
||||||
|
@ -64,481 +71,493 @@ 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")
|
||||||
public class WmsPlcController extends BaseController {
|
public class WmsPlcController extends BaseController {
|
||||||
/**
|
/**
|
||||||
* Logger for this class
|
* Logger for this class
|
||||||
*/
|
*/
|
||||||
private static final Logger logger = Logger.getLogger(WmsPlcController.class);
|
private static final Logger logger = Logger.getLogger(WmsPlcController.class);
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private WmsPlcServiceI wmsPlcService;
|
private WmsPlcServiceI wmsPlcService;
|
||||||
@Autowired
|
@Autowired
|
||||||
private SystemService systemService;
|
private SystemService systemService;
|
||||||
@Autowired
|
@Autowired
|
||||||
private Validator validator;
|
private Validator validator;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* PLC指令列表 页面跳转
|
||||||
|
*
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@RequestMapping(params = "list")
|
||||||
|
public ModelAndView list(HttpServletRequest request) {
|
||||||
|
return new ModelAndView("com/zzjee/plc/wmsPlcList");
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* PLC指令列表 页面跳转
|
* easyui AJAX请求数据
|
||||||
*
|
*
|
||||||
* @return
|
* @param request
|
||||||
*/
|
* @param response
|
||||||
@RequestMapping(params = "list")
|
* @param dataGrid
|
||||||
public ModelAndView list(HttpServletRequest request) {
|
*/
|
||||||
return new ModelAndView("com/zzjee/plc/wmsPlcList");
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
@RequestMapping(params = "datagrid")
|
||||||
* easyui AJAX请求数据
|
public void datagrid(WmsPlcEntity wmsPlc, HttpServletRequest request, HttpServletResponse response, DataGrid dataGrid) {
|
||||||
*
|
CriteriaQuery cq = new CriteriaQuery(WmsPlcEntity.class, dataGrid);
|
||||||
* @param request
|
//查询条件组装器
|
||||||
* @param response
|
org.jeecgframework.core.extend.hqlsearch.HqlGenerateUtil.installHql(cq, wmsPlc, request.getParameterMap());
|
||||||
* @param dataGrid
|
try {
|
||||||
*/
|
//自定义追加查询条件
|
||||||
|
} catch (Exception e) {
|
||||||
|
throw new BusinessException(e.getMessage());
|
||||||
|
}
|
||||||
|
cq.add();
|
||||||
|
this.wmsPlcService.getDataGridReturn(cq, true);
|
||||||
|
TagUtil.datagrid(response, dataGrid);
|
||||||
|
}
|
||||||
|
|
||||||
@RequestMapping(params = "datagrid")
|
/**
|
||||||
public void datagrid(WmsPlcEntity wmsPlc,HttpServletRequest request, HttpServletResponse response, DataGrid dataGrid) {
|
* 删除PLC指令
|
||||||
CriteriaQuery cq = new CriteriaQuery(WmsPlcEntity.class, dataGrid);
|
*
|
||||||
//查询条件组装器
|
* @return
|
||||||
org.jeecgframework.core.extend.hqlsearch.HqlGenerateUtil.installHql(cq, wmsPlc, request.getParameterMap());
|
*/
|
||||||
try{
|
@RequestMapping(params = "doDel")
|
||||||
//自定义追加查询条件
|
@ResponseBody
|
||||||
}catch (Exception e) {
|
public AjaxJson doDel(WmsPlcEntity wmsPlc, HttpServletRequest request) {
|
||||||
throw new BusinessException(e.getMessage());
|
String message = null;
|
||||||
}
|
AjaxJson j = new AjaxJson();
|
||||||
cq.add();
|
wmsPlc = systemService.getEntity(WmsPlcEntity.class, wmsPlc.getId());
|
||||||
this.wmsPlcService.getDataGridReturn(cq, true);
|
message = "PLC指令删除成功";
|
||||||
TagUtil.datagrid(response, dataGrid);
|
try {
|
||||||
}
|
wmsPlcService.delete(wmsPlc);
|
||||||
|
systemService.addLog(message, Globals.Log_Type_DEL, Globals.Log_Leavel_INFO);
|
||||||
|
} catch (Exception e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
message = "PLC指令删除失败";
|
||||||
|
throw new BusinessException(e.getMessage());
|
||||||
|
}
|
||||||
|
j.setMsg(message);
|
||||||
|
return j;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 删除PLC指令
|
* 批量删除PLC指令
|
||||||
*
|
*
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
@RequestMapping(params = "doDel")
|
@RequestMapping(params = "dotoup")
|
||||||
@ResponseBody
|
@ResponseBody
|
||||||
public AjaxJson doDel(WmsPlcEntity wmsPlc, HttpServletRequest request) {
|
public AjaxJson dotoup(String ids, HttpServletRequest request) {
|
||||||
String message = null;
|
String message = null;
|
||||||
AjaxJson j = new AjaxJson();
|
AjaxJson j = new AjaxJson();
|
||||||
wmsPlc = systemService.getEntity(WmsPlcEntity.class, wmsPlc.getId());
|
message = "PLC指令执行成功";
|
||||||
message = "PLC指令删除成功";
|
try {
|
||||||
try{
|
for (String id : ids.split(",")) {
|
||||||
wmsPlcService.delete(wmsPlc);
|
run(id, "", "");
|
||||||
systemService.addLog(message, Globals.Log_Type_DEL, Globals.Log_Leavel_INFO);
|
}
|
||||||
}catch(Exception e){
|
} catch (Exception e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
message = "PLC指令删除失败";
|
message = "PLC指令执行失败";
|
||||||
throw new BusinessException(e.getMessage());
|
throw new BusinessException(e.getMessage());
|
||||||
}
|
}
|
||||||
j.setMsg(message);
|
j.setMsg(message);
|
||||||
return j;
|
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);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
}
|
||||||
* 批量删除PLC指令
|
public void run(String id, String comNo, String stepNum) {
|
||||||
*
|
System.out.println("id:" + id + ";comNo:" + comNo + ";stepNum:" + stepNum);
|
||||||
* @return
|
if (stepNum.equals("0")) {
|
||||||
*/
|
return;
|
||||||
@RequestMapping(params = "dotoup")
|
}
|
||||||
@ResponseBody
|
WmsPlcEntity wmsPlc = null;
|
||||||
public AjaxJson dotoup(String ids,HttpServletRequest request){
|
if (StringUtil.isNotEmpty(id)) {
|
||||||
String message = null;
|
wmsPlc = systemService.getEntity(WmsPlcEntity.class, id);
|
||||||
AjaxJson j = new AjaxJson();
|
}
|
||||||
message = "PLC指令执行成功";
|
if (StringUtil.isNotEmpty(comNo)) {
|
||||||
try{
|
|
||||||
for(String id:ids.split(",")){
|
String hql = "";
|
||||||
run(id,"","");
|
List<WmsPlcEntity> wmsPlcEntityList = new ArrayList<WmsPlcEntity>();
|
||||||
}
|
hql = "from WmsPlcEntity t where t.comNo = ? ";
|
||||||
}catch(Exception e){
|
wmsPlcEntityList = systemService.findHql(hql, comNo);
|
||||||
e.printStackTrace();
|
if (!CollectionUtils.isEmpty(wmsPlcEntityList)) {
|
||||||
message = "PLC指令执行失败";
|
wmsPlc = wmsPlcEntityList.get(0);
|
||||||
throw new BusinessException(e.getMessage());
|
}
|
||||||
}
|
}
|
||||||
j.setMsg(message);
|
if (wmsPlc != null) {
|
||||||
return j;
|
long start = System.currentTimeMillis();
|
||||||
}
|
|
||||||
|
SiemensPLCS siemensPLCS = SiemensPLCS.S200Smart;
|
||||||
|
SiemensS7Net siemensS7Net = null;
|
||||||
|
siemensS7Net = new SiemensS7Net(siemensPLCS);
|
||||||
|
siemensS7Net.setIpAddress(wmsPlc.getPlcIp());
|
||||||
|
siemensS7Net.setPort(Integer.parseInt(wmsPlc.getPlcPort()));
|
||||||
|
OperateResult connect = siemensS7Net.ConnectServer();
|
||||||
|
if (connect.IsSuccess) {
|
||||||
|
System.out.println("connect success");
|
||||||
|
} else {
|
||||||
|
System.out.println("connect error");
|
||||||
|
try {
|
||||||
|
siemensS7Net.ConnectClose();
|
||||||
|
} catch (Exception e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
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) {
|
||||||
|
System.out.println("指令:" + com);
|
||||||
|
try {
|
||||||
|
Thread.sleep(500);
|
||||||
|
} catch (Exception e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
String[] split = com.split(",");
|
||||||
|
String defaultAddress = split[1];
|
||||||
|
if (split[0].equals("boolean")) {
|
||||||
|
if (split[2].equals("false")) {
|
||||||
|
siemensS7Net.Write(defaultAddress, false);
|
||||||
|
} else {
|
||||||
|
siemensS7Net.Write(defaultAddress, true);
|
||||||
|
}
|
||||||
|
} else if (split[0].equals("float")) {
|
||||||
|
Float runfloat = Float.parseFloat(split[2]) * stepNumrun;
|
||||||
|
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);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//执行完指令等待时间
|
||||||
|
try {
|
||||||
|
Float sleeptime = Math.abs(stepNumrun * stepTime);
|
||||||
|
Thread.sleep(sleeptime.longValue());
|
||||||
|
} catch (Exception e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
|
||||||
|
long end = System.currentTimeMillis();
|
||||||
|
long times = end - start;
|
||||||
|
org.jeecgframework.core.util.LogUtil.info(wmsPlc.getComRemark() + "总耗时" + times + "毫秒" + comCons);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
public void run(String id,String comNo,String stepNum){
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 批量删除PLC指令
|
||||||
|
*
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@RequestMapping(params = "doBatchDel")
|
||||||
|
@ResponseBody
|
||||||
|
public AjaxJson doBatchDel(String ids, HttpServletRequest request) {
|
||||||
|
String message = null;
|
||||||
|
AjaxJson j = new AjaxJson();
|
||||||
|
message = "PLC指令删除成功";
|
||||||
|
try {
|
||||||
|
for (String id : ids.split(",")) {
|
||||||
|
WmsPlcEntity wmsPlc = systemService.getEntity(WmsPlcEntity.class,
|
||||||
|
id
|
||||||
|
);
|
||||||
|
wmsPlcService.delete(wmsPlc);
|
||||||
|
systemService.addLog(message, Globals.Log_Type_DEL, Globals.Log_Leavel_INFO);
|
||||||
|
}
|
||||||
|
} catch (Exception e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
message = "PLC指令删除失败";
|
||||||
|
throw new BusinessException(e.getMessage());
|
||||||
|
}
|
||||||
|
j.setMsg(message);
|
||||||
|
return j;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
System.out.println("id:"+id+";comNo:"+comNo+";stepNum:"+stepNum);
|
/**
|
||||||
if(stepNum.equals("0")){
|
* 添加PLC指令
|
||||||
return;
|
*
|
||||||
}
|
* @return
|
||||||
WmsPlcEntity wmsPlc = null ;
|
*/
|
||||||
if(StringUtil.isNotEmpty(id)){
|
@RequestMapping(params = "doAdd")
|
||||||
wmsPlc = systemService.getEntity(WmsPlcEntity.class,id);
|
@ResponseBody
|
||||||
}
|
public AjaxJson doAdd(WmsPlcEntity wmsPlc, HttpServletRequest request) {
|
||||||
if(StringUtil.isNotEmpty(comNo)){
|
String message = null;
|
||||||
|
AjaxJson j = new AjaxJson();
|
||||||
|
message = "PLC指令添加成功";
|
||||||
|
try {
|
||||||
|
wmsPlcService.save(wmsPlc);
|
||||||
|
systemService.addLog(message, Globals.Log_Type_INSERT, Globals.Log_Leavel_INFO);
|
||||||
|
} catch (Exception e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
message = "PLC指令添加失败";
|
||||||
|
throw new BusinessException(e.getMessage());
|
||||||
|
}
|
||||||
|
j.setMsg(message);
|
||||||
|
return j;
|
||||||
|
}
|
||||||
|
|
||||||
String hql = "";
|
/**
|
||||||
List<WmsPlcEntity> wmsPlcEntityList = new ArrayList<WmsPlcEntity>();
|
* 更新PLC指令
|
||||||
hql = "from WmsPlcEntity t where t.comNo = ? ";
|
*
|
||||||
wmsPlcEntityList = systemService.findHql(hql,comNo);
|
* @return
|
||||||
if(!CollectionUtils.isEmpty(wmsPlcEntityList)){
|
*/
|
||||||
wmsPlc = wmsPlcEntityList.get(0);
|
@RequestMapping(params = "doUpdate")
|
||||||
}
|
@ResponseBody
|
||||||
}
|
public AjaxJson doUpdate(WmsPlcEntity wmsPlc, HttpServletRequest request) {
|
||||||
if(wmsPlc != null){
|
String message = null;
|
||||||
long start = System.currentTimeMillis();
|
AjaxJson j = new AjaxJson();
|
||||||
|
message = "PLC指令更新成功";
|
||||||
SiemensPLCS siemensPLCS = SiemensPLCS.S200Smart;
|
WmsPlcEntity t = wmsPlcService.get(WmsPlcEntity.class, wmsPlc.getId());
|
||||||
SiemensS7Net siemensS7Net = null;
|
try {
|
||||||
siemensS7Net = new SiemensS7Net(siemensPLCS);
|
MyBeanUtils.copyBeanNotNull2Bean(wmsPlc, t);
|
||||||
siemensS7Net.setIpAddress(wmsPlc.getPlcIp());
|
wmsPlcService.saveOrUpdate(t);
|
||||||
siemensS7Net.setPort(Integer.parseInt(wmsPlc.getPlcPort()) );
|
systemService.addLog(message, Globals.Log_Type_UPDATE, Globals.Log_Leavel_INFO);
|
||||||
OperateResult connect = siemensS7Net.ConnectServer();
|
} catch (Exception e) {
|
||||||
if(connect.IsSuccess){
|
e.printStackTrace();
|
||||||
System.out.println("connect success");
|
message = "PLC指令更新失败";
|
||||||
}else{
|
throw new BusinessException(e.getMessage());
|
||||||
System.out.println("connect error");
|
}
|
||||||
try{
|
j.setMsg(message);
|
||||||
siemensS7Net.ConnectClose();
|
return j;
|
||||||
}catch (Exception e){
|
}
|
||||||
e.printStackTrace();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
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) {
|
|
||||||
System.out.println("指令:"+com);
|
|
||||||
try {
|
|
||||||
Thread.sleep(500);
|
|
||||||
}catch (Exception e){
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
|
||||||
String[] split = com.split(",");
|
|
||||||
String defaultAddress = split[1];
|
|
||||||
if(split[0].equals("boolean")){
|
|
||||||
if(split[2].equals("false")){
|
|
||||||
siemensS7Net.Write(defaultAddress,false);
|
|
||||||
}else{
|
|
||||||
siemensS7Net.Write(defaultAddress,true);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else if(split[0].equals("float")){
|
|
||||||
Float runfloat = Float.parseFloat(split[2]) * stepNumrun;
|
|
||||||
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);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
//执行完指令等待时间
|
|
||||||
try{
|
|
||||||
Float sleeptime = Math.abs(stepNumrun * stepTime) ;
|
|
||||||
Thread.sleep(sleeptime.longValue());
|
|
||||||
}catch (Exception e){
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
|
||||||
|
|
||||||
long end = System.currentTimeMillis();
|
|
||||||
long times = end - start;
|
|
||||||
org.jeecgframework.core.util.LogUtil.info(wmsPlc.getComRemark()+"总耗时" + times + "毫秒"+comCons);
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* PLC指令新增页面跳转
|
||||||
|
*
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@RequestMapping(params = "goAdd")
|
||||||
|
public ModelAndView goAdd(WmsPlcEntity wmsPlc, HttpServletRequest req) {
|
||||||
|
if (StringUtil.isNotEmpty(wmsPlc.getId())) {
|
||||||
|
wmsPlc = wmsPlcService.getEntity(WmsPlcEntity.class, wmsPlc.getId());
|
||||||
|
req.setAttribute("wmsPlcPage", wmsPlc);
|
||||||
|
}
|
||||||
|
return new ModelAndView("com/zzjee/plc/wmsPlc-add");
|
||||||
|
}
|
||||||
|
|
||||||
}
|
/**
|
||||||
/**
|
* PLC指令编辑页面跳转
|
||||||
* 批量删除PLC指令
|
*
|
||||||
*
|
* @return
|
||||||
* @return
|
*/
|
||||||
*/
|
@RequestMapping(params = "goUpdate")
|
||||||
@RequestMapping(params = "doBatchDel")
|
public ModelAndView goUpdate(WmsPlcEntity wmsPlc, HttpServletRequest req) {
|
||||||
@ResponseBody
|
if (StringUtil.isNotEmpty(wmsPlc.getId())) {
|
||||||
public AjaxJson doBatchDel(String ids,HttpServletRequest request){
|
wmsPlc = wmsPlcService.getEntity(WmsPlcEntity.class, wmsPlc.getId());
|
||||||
String message = null;
|
req.setAttribute("wmsPlcPage", wmsPlc);
|
||||||
AjaxJson j = new AjaxJson();
|
}
|
||||||
message = "PLC指令删除成功";
|
return new ModelAndView("com/zzjee/plc/wmsPlc-update");
|
||||||
try{
|
}
|
||||||
for(String id:ids.split(",")){
|
|
||||||
WmsPlcEntity wmsPlc = systemService.getEntity(WmsPlcEntity.class,
|
|
||||||
id
|
|
||||||
);
|
|
||||||
wmsPlcService.delete(wmsPlc);
|
|
||||||
systemService.addLog(message, Globals.Log_Type_DEL, Globals.Log_Leavel_INFO);
|
|
||||||
}
|
|
||||||
}catch(Exception e){
|
|
||||||
e.printStackTrace();
|
|
||||||
message = "PLC指令删除失败";
|
|
||||||
throw new BusinessException(e.getMessage());
|
|
||||||
}
|
|
||||||
j.setMsg(message);
|
|
||||||
return j;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 导入功能跳转
|
||||||
|
*
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@RequestMapping(params = "upload")
|
||||||
|
public ModelAndView upload(HttpServletRequest req) {
|
||||||
|
req.setAttribute("controller_name", "wmsPlcController");
|
||||||
|
return new ModelAndView("common/upload/pub_excel_upload");
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 添加PLC指令
|
* 导出excel
|
||||||
*
|
*
|
||||||
* @return
|
* @param request
|
||||||
*/
|
* @param response
|
||||||
@RequestMapping(params = "doAdd")
|
*/
|
||||||
@ResponseBody
|
@RequestMapping(params = "exportXls")
|
||||||
public AjaxJson doAdd(WmsPlcEntity wmsPlc, HttpServletRequest request) {
|
public String exportXls(WmsPlcEntity wmsPlc, HttpServletRequest request, HttpServletResponse response
|
||||||
String message = null;
|
, DataGrid dataGrid, ModelMap modelMap) {
|
||||||
AjaxJson j = new AjaxJson();
|
CriteriaQuery cq = new CriteriaQuery(WmsPlcEntity.class, dataGrid);
|
||||||
message = "PLC指令添加成功";
|
org.jeecgframework.core.extend.hqlsearch.HqlGenerateUtil.installHql(cq, wmsPlc, request.getParameterMap());
|
||||||
try{
|
List<WmsPlcEntity> wmsPlcs = this.wmsPlcService.getListByCriteriaQuery(cq, false);
|
||||||
wmsPlcService.save(wmsPlc);
|
modelMap.put(NormalExcelConstants.FILE_NAME, "PLC指令");
|
||||||
systemService.addLog(message, Globals.Log_Type_INSERT, Globals.Log_Leavel_INFO);
|
modelMap.put(NormalExcelConstants.CLASS, WmsPlcEntity.class);
|
||||||
}catch(Exception e){
|
modelMap.put(NormalExcelConstants.PARAMS, new ExportParams("PLC指令列表", "导出人:" + ResourceUtil.getSessionUserName().getRealName(),
|
||||||
e.printStackTrace();
|
"导出信息"));
|
||||||
message = "PLC指令添加失败";
|
modelMap.put(NormalExcelConstants.DATA_LIST, wmsPlcs);
|
||||||
throw new BusinessException(e.getMessage());
|
return NormalExcelConstants.JEECG_EXCEL_VIEW;
|
||||||
}
|
}
|
||||||
j.setMsg(message);
|
|
||||||
return j;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 更新PLC指令
|
* 导出excel 使模板
|
||||||
*
|
*
|
||||||
* @return
|
* @param request
|
||||||
*/
|
* @param response
|
||||||
@RequestMapping(params = "doUpdate")
|
*/
|
||||||
@ResponseBody
|
@RequestMapping(params = "exportXlsByT")
|
||||||
public AjaxJson doUpdate(WmsPlcEntity wmsPlc, HttpServletRequest request) {
|
public String exportXlsByT(WmsPlcEntity wmsPlc, HttpServletRequest request, HttpServletResponse response
|
||||||
String message = null;
|
, DataGrid dataGrid, ModelMap modelMap) {
|
||||||
AjaxJson j = new AjaxJson();
|
modelMap.put(NormalExcelConstants.FILE_NAME, "PLC指令");
|
||||||
message = "PLC指令更新成功";
|
modelMap.put(NormalExcelConstants.CLASS, WmsPlcEntity.class);
|
||||||
WmsPlcEntity t = wmsPlcService.get(WmsPlcEntity.class, wmsPlc.getId());
|
modelMap.put(NormalExcelConstants.PARAMS, new ExportParams("PLC指令列表", "导出人:" + ResourceUtil.getSessionUserName().getRealName(),
|
||||||
try {
|
"导出信息"));
|
||||||
MyBeanUtils.copyBeanNotNull2Bean(wmsPlc, t);
|
modelMap.put(NormalExcelConstants.DATA_LIST, new ArrayList());
|
||||||
wmsPlcService.saveOrUpdate(t);
|
return NormalExcelConstants.JEECG_EXCEL_VIEW;
|
||||||
systemService.addLog(message, Globals.Log_Type_UPDATE, Globals.Log_Leavel_INFO);
|
}
|
||||||
} catch (Exception e) {
|
|
||||||
e.printStackTrace();
|
|
||||||
message = "PLC指令更新失败";
|
|
||||||
throw new BusinessException(e.getMessage());
|
|
||||||
}
|
|
||||||
j.setMsg(message);
|
|
||||||
return j;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
@SuppressWarnings("unchecked")
|
||||||
|
@RequestMapping(params = "importExcel", method = RequestMethod.POST)
|
||||||
|
@ResponseBody
|
||||||
|
public AjaxJson importExcel(HttpServletRequest request, HttpServletResponse response) {
|
||||||
|
AjaxJson j = new AjaxJson();
|
||||||
|
|
||||||
/**
|
MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
|
||||||
* PLC指令新增页面跳转
|
Map<String, MultipartFile> fileMap = multipartRequest.getFileMap();
|
||||||
*
|
for (Map.Entry<String, MultipartFile> entity : fileMap.entrySet()) {
|
||||||
* @return
|
MultipartFile file = entity.getValue();// 获取上传文件对象
|
||||||
*/
|
ImportParams params = new ImportParams();
|
||||||
@RequestMapping(params = "goAdd")
|
params.setTitleRows(2);
|
||||||
public ModelAndView goAdd(WmsPlcEntity wmsPlc, HttpServletRequest req) {
|
params.setHeadRows(1);
|
||||||
if (StringUtil.isNotEmpty(wmsPlc.getId())) {
|
params.setNeedSave(true);
|
||||||
wmsPlc = wmsPlcService.getEntity(WmsPlcEntity.class, wmsPlc.getId());
|
try {
|
||||||
req.setAttribute("wmsPlcPage", wmsPlc);
|
List<WmsPlcEntity> listWmsPlcEntitys = ExcelImportUtil.importExcel(file.getInputStream(), WmsPlcEntity.class, params);
|
||||||
}
|
for (WmsPlcEntity wmsPlc : listWmsPlcEntitys) {
|
||||||
return new ModelAndView("com/zzjee/plc/wmsPlc-add");
|
wmsPlcService.save(wmsPlc);
|
||||||
}
|
}
|
||||||
/**
|
j.setMsg("文件导入成功!");
|
||||||
* PLC指令编辑页面跳转
|
} catch (Exception e) {
|
||||||
*
|
j.setMsg("文件导入失败!");
|
||||||
* @return
|
logger.error(ExceptionUtil.getExceptionMessage(e));
|
||||||
*/
|
} finally {
|
||||||
@RequestMapping(params = "goUpdate")
|
try {
|
||||||
public ModelAndView goUpdate(WmsPlcEntity wmsPlc, HttpServletRequest req) {
|
file.getInputStream().close();
|
||||||
if (StringUtil.isNotEmpty(wmsPlc.getId())) {
|
} catch (IOException e) {
|
||||||
wmsPlc = wmsPlcService.getEntity(WmsPlcEntity.class, wmsPlc.getId());
|
e.printStackTrace();
|
||||||
req.setAttribute("wmsPlcPage", wmsPlc);
|
}
|
||||||
}
|
}
|
||||||
return new ModelAndView("com/zzjee/plc/wmsPlc-update");
|
}
|
||||||
}
|
return j;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
@RequestMapping(method = RequestMethod.GET)
|
||||||
* 导入功能跳转
|
@ResponseBody
|
||||||
*
|
public List<WmsPlcEntity> list() {
|
||||||
* @return
|
List<WmsPlcEntity> listWmsPlcs = wmsPlcService.getList(WmsPlcEntity.class);
|
||||||
*/
|
return listWmsPlcs;
|
||||||
@RequestMapping(params = "upload")
|
}
|
||||||
public ModelAndView upload(HttpServletRequest req) {
|
|
||||||
req.setAttribute("controller_name","wmsPlcController");
|
|
||||||
return new ModelAndView("common/upload/pub_excel_upload");
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
@RequestMapping(value = "/{id}", method = RequestMethod.GET)
|
||||||
* 导出excel
|
@ResponseBody
|
||||||
*
|
public ResponseEntity<?> get(@PathVariable("id") String id) {
|
||||||
* @param request
|
WmsPlcEntity task = wmsPlcService.get(WmsPlcEntity.class, id);
|
||||||
* @param response
|
if (task == null) {
|
||||||
*/
|
return new ResponseEntity(HttpStatus.NOT_FOUND);
|
||||||
@RequestMapping(params = "exportXls")
|
}
|
||||||
public String exportXls(WmsPlcEntity wmsPlc,HttpServletRequest request,HttpServletResponse response
|
return new ResponseEntity(task, HttpStatus.OK);
|
||||||
, DataGrid dataGrid,ModelMap modelMap) {
|
}
|
||||||
CriteriaQuery cq = new CriteriaQuery(WmsPlcEntity.class, dataGrid);
|
|
||||||
org.jeecgframework.core.extend.hqlsearch.HqlGenerateUtil.installHql(cq, wmsPlc, request.getParameterMap());
|
|
||||||
List<WmsPlcEntity> wmsPlcs = this.wmsPlcService.getListByCriteriaQuery(cq,false);
|
|
||||||
modelMap.put(NormalExcelConstants.FILE_NAME,"PLC指令");
|
|
||||||
modelMap.put(NormalExcelConstants.CLASS,WmsPlcEntity.class);
|
|
||||||
modelMap.put(NormalExcelConstants.PARAMS,new ExportParams("PLC指令列表", "导出人:"+ResourceUtil.getSessionUserName().getRealName(),
|
|
||||||
"导出信息"));
|
|
||||||
modelMap.put(NormalExcelConstants.DATA_LIST,wmsPlcs);
|
|
||||||
return NormalExcelConstants.JEECG_EXCEL_VIEW;
|
|
||||||
}
|
|
||||||
/**
|
|
||||||
* 导出excel 使模板
|
|
||||||
*
|
|
||||||
* @param request
|
|
||||||
* @param response
|
|
||||||
*/
|
|
||||||
@RequestMapping(params = "exportXlsByT")
|
|
||||||
public String exportXlsByT(WmsPlcEntity wmsPlc,HttpServletRequest request,HttpServletResponse response
|
|
||||||
, DataGrid dataGrid,ModelMap modelMap) {
|
|
||||||
modelMap.put(NormalExcelConstants.FILE_NAME,"PLC指令");
|
|
||||||
modelMap.put(NormalExcelConstants.CLASS,WmsPlcEntity.class);
|
|
||||||
modelMap.put(NormalExcelConstants.PARAMS,new ExportParams("PLC指令列表", "导出人:"+ResourceUtil.getSessionUserName().getRealName(),
|
|
||||||
"导出信息"));
|
|
||||||
modelMap.put(NormalExcelConstants.DATA_LIST,new ArrayList());
|
|
||||||
return NormalExcelConstants.JEECG_EXCEL_VIEW;
|
|
||||||
}
|
|
||||||
|
|
||||||
@SuppressWarnings("unchecked")
|
@RequestMapping(method = RequestMethod.POST, consumes = MediaType.APPLICATION_JSON_VALUE)
|
||||||
@RequestMapping(params = "importExcel", method = RequestMethod.POST)
|
@ResponseBody
|
||||||
@ResponseBody
|
public ResponseEntity<?> create(@RequestBody WmsPlcEntity wmsPlc, UriComponentsBuilder uriBuilder) {
|
||||||
public AjaxJson importExcel(HttpServletRequest request, HttpServletResponse response) {
|
//调用JSR303 Bean Validator进行校验,如果出错返回含400错误码及json格式的错误信息.
|
||||||
AjaxJson j = new AjaxJson();
|
Set<ConstraintViolation<WmsPlcEntity>> failures = validator.validate(wmsPlc);
|
||||||
|
if (!failures.isEmpty()) {
|
||||||
|
return new ResponseEntity(BeanValidators.extractPropertyAndMessage(failures), HttpStatus.BAD_REQUEST);
|
||||||
|
}
|
||||||
|
|
||||||
MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
|
//保存
|
||||||
Map<String, MultipartFile> fileMap = multipartRequest.getFileMap();
|
try {
|
||||||
for (Map.Entry<String, MultipartFile> entity : fileMap.entrySet()) {
|
wmsPlcService.save(wmsPlc);
|
||||||
MultipartFile file = entity.getValue();// 获取上传文件对象
|
} catch (Exception e) {
|
||||||
ImportParams params = new ImportParams();
|
e.printStackTrace();
|
||||||
params.setTitleRows(2);
|
return new ResponseEntity(HttpStatus.NO_CONTENT);
|
||||||
params.setHeadRows(1);
|
}
|
||||||
params.setNeedSave(true);
|
//按照Restful风格约定,创建指向新任务的url, 也可以直接返回id或对象.
|
||||||
try {
|
String id = wmsPlc.getId();
|
||||||
List<WmsPlcEntity> listWmsPlcEntitys = ExcelImportUtil.importExcel(file.getInputStream(),WmsPlcEntity.class,params);
|
URI uri = uriBuilder.path("/rest/wmsPlcController/" + id).build().toUri();
|
||||||
for (WmsPlcEntity wmsPlc : listWmsPlcEntitys) {
|
HttpHeaders headers = new HttpHeaders();
|
||||||
wmsPlcService.save(wmsPlc);
|
headers.setLocation(uri);
|
||||||
}
|
|
||||||
j.setMsg("文件导入成功!");
|
|
||||||
} catch (Exception e) {
|
|
||||||
j.setMsg("文件导入失败!");
|
|
||||||
logger.error(ExceptionUtil.getExceptionMessage(e));
|
|
||||||
}finally{
|
|
||||||
try {
|
|
||||||
file.getInputStream().close();
|
|
||||||
} catch (IOException e) {
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return j;
|
|
||||||
}
|
|
||||||
|
|
||||||
@RequestMapping(method = RequestMethod.GET)
|
return new ResponseEntity(headers, HttpStatus.CREATED);
|
||||||
@ResponseBody
|
}
|
||||||
public List<WmsPlcEntity> list() {
|
|
||||||
List<WmsPlcEntity> listWmsPlcs=wmsPlcService.getList(WmsPlcEntity.class);
|
|
||||||
return listWmsPlcs;
|
|
||||||
}
|
|
||||||
|
|
||||||
@RequestMapping(value = "/{id}", method = RequestMethod.GET)
|
@RequestMapping(value = "/{id}", method = RequestMethod.PUT, consumes = MediaType.APPLICATION_JSON_VALUE)
|
||||||
@ResponseBody
|
public ResponseEntity<?> update(@RequestBody WmsPlcEntity wmsPlc) {
|
||||||
public ResponseEntity<?> get(@PathVariable("id") String id) {
|
//调用JSR303 Bean Validator进行校验,如果出错返回含400错误码及json格式的错误信息.
|
||||||
WmsPlcEntity task = wmsPlcService.get(WmsPlcEntity.class, id);
|
Set<ConstraintViolation<WmsPlcEntity>> failures = validator.validate(wmsPlc);
|
||||||
if (task == null) {
|
if (!failures.isEmpty()) {
|
||||||
return new ResponseEntity(HttpStatus.NOT_FOUND);
|
return new ResponseEntity(BeanValidators.extractPropertyAndMessage(failures), HttpStatus.BAD_REQUEST);
|
||||||
}
|
}
|
||||||
return new ResponseEntity(task, HttpStatus.OK);
|
|
||||||
}
|
|
||||||
|
|
||||||
@RequestMapping(method = RequestMethod.POST, consumes = MediaType.APPLICATION_JSON_VALUE)
|
//保存
|
||||||
@ResponseBody
|
try {
|
||||||
public ResponseEntity<?> create(@RequestBody WmsPlcEntity wmsPlc, UriComponentsBuilder uriBuilder) {
|
wmsPlcService.saveOrUpdate(wmsPlc);
|
||||||
//调用JSR303 Bean Validator进行校验,如果出错返回含400错误码及json格式的错误信息.
|
} catch (Exception e) {
|
||||||
Set<ConstraintViolation<WmsPlcEntity>> failures = validator.validate(wmsPlc);
|
e.printStackTrace();
|
||||||
if (!failures.isEmpty()) {
|
return new ResponseEntity(HttpStatus.NO_CONTENT);
|
||||||
return new ResponseEntity(BeanValidators.extractPropertyAndMessage(failures), HttpStatus.BAD_REQUEST);
|
}
|
||||||
}
|
|
||||||
|
|
||||||
//保存
|
//按Restful约定,返回204状态码, 无内容. 也可以返回200状态码.
|
||||||
try{
|
return new ResponseEntity(HttpStatus.NO_CONTENT);
|
||||||
wmsPlcService.save(wmsPlc);
|
}
|
||||||
} catch (Exception e) {
|
|
||||||
e.printStackTrace();
|
|
||||||
return new ResponseEntity(HttpStatus.NO_CONTENT);
|
|
||||||
}
|
|
||||||
//按照Restful风格约定,创建指向新任务的url, 也可以直接返回id或对象.
|
|
||||||
String id = wmsPlc.getId();
|
|
||||||
URI uri = uriBuilder.path("/rest/wmsPlcController/" + id).build().toUri();
|
|
||||||
HttpHeaders headers = new HttpHeaders();
|
|
||||||
headers.setLocation(uri);
|
|
||||||
|
|
||||||
return new ResponseEntity(headers, HttpStatus.CREATED);
|
@RequestMapping(value = "/{id}", method = RequestMethod.DELETE)
|
||||||
}
|
@ResponseStatus(HttpStatus.NO_CONTENT)
|
||||||
|
public void delete(@PathVariable("id") String id) {
|
||||||
@RequestMapping(value = "/{id}", method = RequestMethod.PUT, consumes = MediaType.APPLICATION_JSON_VALUE)
|
wmsPlcService.deleteEntityById(WmsPlcEntity.class, id);
|
||||||
public ResponseEntity<?> update(@RequestBody WmsPlcEntity wmsPlc) {
|
}
|
||||||
//调用JSR303 Bean Validator进行校验,如果出错返回含400错误码及json格式的错误信息.
|
|
||||||
Set<ConstraintViolation<WmsPlcEntity>> failures = validator.validate(wmsPlc);
|
|
||||||
if (!failures.isEmpty()) {
|
|
||||||
return new ResponseEntity(BeanValidators.extractPropertyAndMessage(failures), HttpStatus.BAD_REQUEST);
|
|
||||||
}
|
|
||||||
|
|
||||||
//保存
|
|
||||||
try{
|
|
||||||
wmsPlcService.saveOrUpdate(wmsPlc);
|
|
||||||
} catch (Exception e) {
|
|
||||||
e.printStackTrace();
|
|
||||||
return new ResponseEntity(HttpStatus.NO_CONTENT);
|
|
||||||
}
|
|
||||||
|
|
||||||
//按Restful约定,返回204状态码, 无内容. 也可以返回200状态码.
|
|
||||||
return new ResponseEntity(HttpStatus.NO_CONTENT);
|
|
||||||
}
|
|
||||||
|
|
||||||
@RequestMapping(value = "/{id}", method = RequestMethod.DELETE)
|
|
||||||
@ResponseStatus(HttpStatus.NO_CONTENT)
|
|
||||||
public void delete(@PathVariable("id") String id) {
|
|
||||||
wmsPlcService.deleteEntityById(WmsPlcEntity.class, id);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -54,6 +54,7 @@
|
||||||
<%-- <span style="vertical-align:middle;display:-moz-inline-box;display:inline-block;width: 90px;text-align:right;">--%>
|
<%-- <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('zhengxiang')">加载储位</button> </span>
|
||||||
<button onclick="chaxun('diaodu')">调度</button> </span>
|
<button onclick="chaxun('diaodu')">调度</button> </span>
|
||||||
|
<button onclick="chaxun('diaoduu')">U型调度</button> </span>
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
Loading…
Reference in New Issue